[{"data":1,"prerenderedAt":210121},["ShallowReactive",2],{"application-flags":3,"navbar":7,"always-visible-banner":36,"navbar-about-highlight":108,"navbar-resource-highlight":182,"blog-topics":226,"trust-badges":656,"solution-nav":677,"fa-icon-solid-faUserSecret":800,"fa-icon-sharp-regular-faLaptopCode":804,"fa-icon-solid-faPlugCircleXmark":806,"fa-icon-sharp-regular-faPuzzlePiece":808,"fa-icon-solid-faFileCircleXmark":810,"fa-icon-solid-faGhost":813,"fa-icon-solid-faQrcode":816,"fa-icon-solid-faCookieBite":818,"fa-icon-sharp-regular-faFishingRod":820,"fa-icon-sharp-regular-faUserSecret":822,"fa-icon-sharp-regular-faRadar":824,"fa-icon-sharp-regular-faSatelliteDish":826,"fa-icon-sharp-regular-faShieldCheck":828,"fa-icon-sharp-regular-faBrainCircuit":830,"fa-icon-solid-faMobileScreenButton":832,"fa-icon-brands-faChrome":834,"fa-icon-solid-faDisplay":836,"fa-icon-solid-faFilter":838,"fa-icon-solid-faCloudArrowUp":840,"blog-topic-saas-security":842},[4],{"name":5,"enabled":6},"maintenanceMode",false,[8],{"createdDate":9,"id":10,"name":11,"modelId":12,"published":13,"meta":14,"query":22,"data":23,"variations":28,"lastUpdated":29,"firstPublished":30,"testRatio":31,"createdBy":32,"lastUpdatedBy":33,"folders":34,"rev":35},1742208588866,"1c7a4e423bf54ac1a328bb4063459ef2","Banner","1c6207a5f24948ab82d4a0b17f251193","published",{"breakpoints":15,"hasAutosaves":19,"kind":20,"lastPreviewUrl":21},{"medium":16,"small":17,"xsmall":18},768,640,320,true,"data","",[],{"link":24,"text":25,"type":26,"url":27},{},"Get our latest report analyzing browser attack techniques in 2026","web-banner","https://pushsecurity.com/resources/browser-attacks-report",{},1774258294825,1742208637545,1,"CydmZnOWU1XuAaLhEDCoYNM4Z8W2","jKjF9r5jcvXU8tzZEfFQm31Iyvr2",[],"j7ew2tin4q",{"createdBy":37,"createdDate":38,"data":39,"folders":94,"id":95,"lastUpdated":96,"lastUpdatedBy":97,"meta":98,"modelId":102,"name":103,"published":13,"query":104,"testRatio":31,"variations":105,"firstPublished":106,"stageModifiedSincePublish":6,"rev":107},"ST0tXQM8slWpFrmioqKHmENB2qe2",1774965361051,{"ctaText":40,"text":41,"url":21,"blocks":42,"state":90},"ewrererw","testrfesssssssssss",[43,70,78],{"@type":44,"@version":45,"id":46,"component":47,"responsiveStyles":60},"@builder.io/sdk:Element",2,"builder-ca12c06a52de41d7b8743da53118cd38",{"name":48,"tag":48,"options":49,"isRSC":59},"TopBannerContent",{"text":50,"ctaText":51,"url":52,"mainText":53,"cta":56},"New Webinar Series: Join John Hammond, Troy Hunt, and Matt Johansen for the State of Browser Attacks","Save Your Spot","https://pushsecurity.com/webinar/state-of-browser-security",{"content":54,"fontSize":55},"\u003Cp class=\"\">Do you know how much AI is in your workforce? Find out August 20th.\u003C/p>","text-base",{"content":57,"fontSize":55,"url":58},"\u003Cp class=\"\">Save your seat →\u003C/p>","https://pushsecurity.com/webinar/shadow-ai",null,{"large":61},{"display":62,"flexDirection":63,"position":64,"flexShrink":65,"boxSizing":66,"marginTop":67,"marginBottom":67,"fontSize":68,"fontWeight":69},"flex","column","relative","0","border-box",".56rem","1.125rem","700",{"@type":44,"@version":45,"id":71,"component":72,"responsiveStyles":76},"builder-a2e1f4b9f30b464bb814d7f5de5b0aa7",{"name":73,"options":74,"isRSC":59},"Custom Code",{"code":75,"scriptsClientOnly":6},"\u003Cstyle>\n  .top-banner.bg-web-orange{background:rgb(114, 79, 255);}\n\u003C/style>\n",{"large":77},{"display":62,"flexDirection":63,"position":64,"flexShrink":65,"boxSizing":66},{"id":79,"@type":44,"tagName":80,"properties":81,"responsiveStyles":85},"builder-pixel-k74nkzlquog","img",{"src":82,"aria-hidden":83,"alt":21,"role":84,"width":65,"height":65},"https://cdn.builder.io/api/v1/pixel?apiKey=f3a1111ff5be48cdbb123cd9f5795a05","true","presentation",{"large":86},{"height":65,"width":65,"display":87,"opacity":65,"overflow":88,"pointerEvents":89},"block","hidden","none",{"deviceSize":91,"location":92},"large",{"path":21,"query":93},{},[],"fd266d0172cc47429be7ad10f48c99ad",1786155414606,"kYgMv6WsbvfmlOUYqR2SFwGzw6e2",{"breakpoints":99,"hasAutosaves":6,"hasErrors":6,"hasLinks":6,"kind":100,"lastPreviewUrl":101},{"medium":16,"small":17,"xsmall":18},"component","https://pushsecurity.com/?builder.space=f3a1111ff5be48cdbb123cd9f5795a05&builder.user.permissions=read%2Ccreate%2Cpublish%2CeditDesigns%2CeditLayouts%2CeditLayers%2CeditContentPriority%2CeditFolders%2CcreateProjects%2CsendPullRequests%2CfusionHostingPublish&builder.user.role.name=Designer&builder.user.role.id=creator&builder.cachebust=true&builder.preview=always-visible-banner&builder.noCache=true&builder.allowTextEdit=true&__builder_editing__=true&builder.overrides.always-visible-banner=fd266d0172cc47429be7ad10f48c99ad&builder.overrides.fd266d0172cc47429be7ad10f48c99ad=fd266d0172cc47429be7ad10f48c99ad&builder.options.locale=Default","0678d178ec8b41efb8a23c09dba7874d","always visible banner",[],{},1774968080803,"1lcyl36j3gz",[109,145],{"createdBy":32,"createdDate":110,"data":111,"folders":134,"id":135,"lastUpdated":136,"lastUpdatedBy":32,"meta":137,"modelId":139,"name":140,"published":13,"query":141,"stageModifiedSincePublish":6,"testRatio":31,"variations":142,"firstPublished":143,"rev":144},1776247359804,{"link":112,"testimonial":113,"testimonialLink":133,"type":116},{},{"@type":114,"id":115,"model":116,"value":117},"@builder.io/core:Reference","f028f2b685bb47cd8bf9e82a26dd5a79","testimonial",{"query":118,"folders":119,"createdDate":120,"id":115,"name":121,"modelId":122,"published":13,"data":123,"variations":127,"lastUpdated":128,"firstPublished":129,"testRatio":31,"createdBy":37,"lastUpdatedBy":37,"meta":130,"rev":132},[],[],1735823466309,"We found Push to be more accurate when compared to competitors and the browser agent offered features that others couldn’t match.","42035571a56940ac98bff4544aa79aa5",{"author":124,"jobTitle":125,"quote":121,"image":126},"Jason Waits","\u003Cp>CISO at Inductive Automation\u003C/p>","https://cdn.builder.io/api/v1/image/assets%2Ff3a1111ff5be48cdbb123cd9f5795a05%2Ff04c0c0689ce4a89ac0f0708d78c0a07",{},1735910703862,1735823501152,{"kind":20,"lastPreviewUrl":21,"breakpoints":131,"hasAutosaves":19},{"small":17,"medium":16},"xal7chkxmdh","/customer-stories/inductive-automation",[],"9136a8f18b3b4a6ba29b8653a99372b1",1776247404986,{"breakpoints":138,"hasAutosaves":6,"kind":20,"lastPreviewUrl":21},{"medium":16,"small":17,"xsmall":18},"20d9eaa352304613b3d1a794b400703d","testimonial-inductive-automation",[],{},1776247404973,"5mqgwlt47hs",{"createdBy":32,"createdDate":146,"data":147,"folders":174,"id":175,"lastUpdated":176,"lastUpdatedBy":32,"meta":177,"modelId":139,"name":172,"published":13,"query":179,"stageModifiedSincePublish":6,"testRatio":31,"variations":180,"firstPublished":181,"rev":144},1776255761419,{"description":148,"image":149,"link":150,"testimonial":153,"title":172,"type":173},"Learn about the latest techniques being used in the wild.","https://cdn.builder.io/api/v1/image/assets%2Ff3a1111ff5be48cdbb123cd9f5795a05%2F7b4a5ebf81d64e8c9d7fc35f6c96c4a9",{"text":151,"url":152},"Download now","/resources/browser-attacks-report",{"@type":114,"id":154,"model":116,"value":155},"192acbb1f9ca4cac918c0ec435a8bae3",{"query":156,"folders":157,"createdDate":158,"id":154,"name":159,"modelId":122,"published":13,"data":160,"variations":166,"lastUpdated":167,"firstPublished":168,"testRatio":31,"createdBy":37,"lastUpdatedBy":32,"meta":169,"rev":171},[],[],1728981467463,"Push does for identity what CrowdStrike did for the endpoint",{"video":161,"jobTitle":162,"author":163,"qoute":21,"quote":164,"image":165},"https://cdn.builder.io/o/assets%2Ff3a1111ff5be48cdbb123cd9f5795a05%2F8b30e8ca50064058bbaef0f3c6164575%2Fcompressed?apiKey=f3a1111ff5be48cdbb123cd9f5795a05&token=8b30e8ca50064058bbaef0f3c6164575&alt=media&optimized=true","\u003Cp>Deputy CISO at Microsoft\u003C/p>\u003Cp>Former LinkedIn, Slack, Palantir\u003C/p>","Geoff Belknap","Push does for identity what CrowdStrike did for the endpoint.","https://cdn.builder.io/api/v1/image/assets%2Ff3a1111ff5be48cdbb123cd9f5795a05%2F748f0ad0a5064a00a13f4721fcc8dea1",{},1742902158597,1728981782923,{"kind":20,"lastPreviewUrl":21,"breakpoints":170,"hasAutosaves":19},{"small":17,"medium":16},"kg131t0jkvo","Report: 2026 Browser Attack Techniques","resource",[],"05a9322735fc427db12e2740e4302300",1776255810913,{"breakpoints":178,"hasAutosaves":6,"kind":20,"lastPreviewUrl":21},{"medium":16,"small":17,"xsmall":18},[],{},1776255810900,[183,205],{"createdBy":32,"createdDate":184,"data":185,"folders":195,"id":196,"lastUpdated":197,"lastUpdatedBy":32,"meta":198,"modelId":200,"name":172,"published":13,"query":201,"stageModifiedSincePublish":6,"testRatio":31,"variations":202,"firstPublished":203,"rev":204},1776256900280,{"description":148,"image":149,"link":186,"testimonial":187,"title":172,"type":173},{"text":151,"url":152},{"@type":114,"id":154,"model":116,"value":188},{"query":189,"folders":190,"createdDate":158,"id":154,"name":159,"modelId":122,"published":13,"data":191,"variations":192,"lastUpdated":167,"firstPublished":168,"testRatio":31,"createdBy":37,"lastUpdatedBy":32,"meta":193,"rev":171},[],[],{"video":161,"jobTitle":162,"author":163,"qoute":21,"quote":164,"image":165},{},{"kind":20,"lastPreviewUrl":21,"breakpoints":194,"hasAutosaves":19},{"small":17,"medium":16},[],"1f429607996e4e5fae8fe3f9b9610e55",1776256937553,{"breakpoints":199,"hasAutosaves":6,"kind":20,"lastPreviewUrl":21},{"medium":16,"small":17,"xsmall":18},"4829faa81e7c4ee8bd2d000e160e8d3c",[],{},1776256937540,"470xio0yv7r",{"createdBy":32,"createdDate":206,"data":207,"folders":217,"id":218,"lastUpdated":219,"lastUpdatedBy":32,"meta":220,"modelId":200,"name":222,"published":13,"query":223,"stageModifiedSincePublish":6,"testRatio":31,"variations":224,"firstPublished":225,"rev":204},1776256949234,{"link":208,"testimonial":209,"testimonialLink":133,"type":116},{},{"@type":114,"id":115,"model":116,"value":210},{"query":211,"folders":212,"createdDate":120,"id":115,"name":121,"modelId":122,"published":13,"data":213,"variations":214,"lastUpdated":128,"firstPublished":129,"testRatio":31,"createdBy":37,"lastUpdatedBy":37,"meta":215,"rev":132},[],[],{"author":124,"jobTitle":125,"quote":121,"image":126},{},{"kind":20,"lastPreviewUrl":21,"breakpoints":216,"hasAutosaves":19},{"small":17,"medium":16},[],"ce043785b71b4ece98eac811ecf4ba10",1776256974140,{"breakpoints":221,"hasAutosaves":6,"kind":20,"lastPreviewUrl":21},{"medium":16,"small":17,"xsmall":18},"inductive-automation",[],{},1776256974130,{"id":227,"extension":228,"items":229,"meta":653,"stem":654,"__hash__":655},"blogTopics/blogtopics.json","json",[230,239,247,256,265,274,283,292,301,310,319,328,337,346,355,363,372,381,390,399,408,417,426,435,443,452,461,470,479,488,497,506,514,523,532,540,549,558,566,575,584,593,602,611,619,628,637,645],{"sys":231,"faqItemsCollection":233,"name":235,"slug":236,"tier":31,"intro":237,"faqTitle":59,"postCount":238,"hasPage":19},{"id":232},"topic-ai",{"items":234},[],"AI","ai","AI is reshaping both sides of the security equation: employees adopt AI tools faster than security teams can track them, while attackers use AI to scale and automate campaigns. Shadow AI adoption may now outpace wider shadow SaaS, and attackers are already turning AI chatbot platforms into malware delivery channels. Push has researched the offensive potential of computer-using agents and now applies AI agents to its own threat hunting. This hub covers AI as risk, target, and defensive tool.",22,{"sys":240,"faqItemsCollection":242,"name":244,"slug":245,"tier":45,"intro":246,"faqTitle":59,"postCount":238,"hasPage":19},{"id":241},"topic-ai-attacks",{"items":243},[],"AI attacks","ai-attacks","AI attacks run in both directions: attackers using AI to scale phishing, malware delivery, and identity attacks, and AI platforms themselves becoming the attack surface. Push has researched how computer-using agents can automate identity attacks, and has seen the poisoned tenant technique it coined used against its own employees in the wild.",{"sys":248,"faqItemsCollection":250,"name":252,"slug":253,"tier":45,"intro":254,"faqTitle":59,"postCount":255,"hasPage":19},{"id":249},"topic-ai-governance",{"items":251},[],"AI governance","ai-governance","AI governance is how organizations set and enforce rules for workplace AI use — which tools are allowed, what data can enter them, and how to evidence it to regulators. With US, EU, and UK AI regulations converging on obligations most organizations can’t yet meet, Push’s research makes the case that enforcement starts in the browser, where AI tools are actually used.",9,{"sys":257,"faqItemsCollection":259,"name":261,"slug":262,"tier":45,"intro":263,"faqTitle":59,"postCount":264,"hasPage":19},{"id":258},"topic-aitm",{"items":260},[],"AiTM phishing","aitm","Adversary-in-the-middle (AiTM) phishing proxies a real login page through an attacker-controlled site, capturing credentials, MFA codes, and session tokens in real time to bypass multi-factor authentication. Push’s research into kits like Evilginx and Sneaky2FA documents how they evade URL- and signature-based detection — and why analyzing toolkit behavior in the browser catches attacks that blocklists miss.",77,{"sys":266,"faqItemsCollection":268,"name":270,"slug":271,"tier":45,"intro":272,"faqTitle":59,"postCount":273,"hasPage":6},{"id":267},"topic-bec",{"items":269},[],"BEC","bec","Business email compromise (BEC) turns a hijacked mailbox into a fraud tool: attackers use mail rules, auto-forwarding, and payment redirection to steal money while staying invisible to the account owner. Alongside a first-hand case study of a BEC attack that nearly cost an engineering firm millions, Push breaks down these mailbox persistence tricks and how to detect them.",3,{"sys":275,"faqItemsCollection":277,"name":279,"slug":280,"tier":31,"intro":281,"faqTitle":59,"postCount":282,"hasPage":19},{"id":276},"topic-browser-attacks",{"items":278},[],"Browser attacks","browser-attacks","Browser attacks target users through the web pages, sessions, and extensions they rely on every day — bypassing endpoint and network defenses that never see inside the browser. Techniques like AiTM phishing kits, ClickFix-style copy-paste attacks, OAuth consent abuse, malvertising, and browser sync abuse have become a leading path to account takeover. Push researchers analyze these attacks in the wild, from infiltrating criminal phishing panels to dissecting toolkits like ConsentFix and Sneaky2FA. Use this hub to track how the techniques evolve and how to defend against them.",118,{"sys":284,"faqItemsCollection":286,"name":288,"slug":289,"tier":45,"intro":290,"faqTitle":59,"postCount":291,"hasPage":19},{"id":285},"topic-browser-extensions",{"items":287},[],"Browser extensions","browser-extensions","Browser extensions cut both ways for security teams: malicious or compromised extensions are a growing attack vector, while an extension is also the lightest-weight way to deploy security controls into the browsers employees already use. These posts cover both sides — extension-borne risks like browser sync attacks and the limits of risk scoring, and how Push uses its extension to detect threats and block risky extensions.",30,{"sys":293,"faqItemsCollection":295,"name":297,"slug":298,"tier":31,"intro":299,"faqTitle":59,"postCount":300,"hasPage":19},{"id":294},"topic-browser-security",{"items":296},[],"Browser security","browser-security","Work now happens in the browser, making browser security — visibility and control at the point where users meet the web — a core layer of enterprise defense. Endpoint, network, and email tools miss attacks that unfold inside the browser session, from AiTM phishing to risky extensions and shadow SaaS. Push has published extensively on choosing between enterprise browsers and browser extensions, using browser telemetry, and making the business case for browser security. Start here for both strategy and hands-on guidance.",127,{"sys":302,"faqItemsCollection":304,"name":306,"slug":307,"tier":45,"intro":308,"faqTitle":59,"postCount":309,"hasPage":19},{"id":303},"topic-casb",{"items":305},[],"CASB","casb","Cloud access security brokers (CASBs) govern cloud app usage through API integrations and network proxies — an approach that works for sanctioned apps but struggles with the long tail of shadow SaaS employees adopt on their own. Because every SaaS signup happens in a browser, Push captures that adoption in real time at the point of login, and these posts cover what proxy-based discovery misses.",12,{"sys":311,"faqItemsCollection":313,"name":315,"slug":316,"tier":45,"intro":317,"faqTitle":59,"postCount":318,"hasPage":19},{"id":312},"topic-clickfix",{"items":314},[],"ClickFix","clickfix","ClickFix attacks trick users into copying and running malicious commands themselves — typically through fake CAPTCHA, error, or fix-it prompts — so malware executes without a download for security tools to scan. Push researchers track the technique’s evolution in the wild and identified the ConsentFix and InstallFix variants, which extend it to OAuth consent grants and fake install guides.",39,{"sys":320,"faqItemsCollection":322,"name":324,"slug":325,"tier":45,"intro":326,"faqTitle":59,"postCount":327,"hasPage":19},{"id":321},"topic-credential-phishing",{"items":323},[],"Credential phishing","credential-phishing","Credential phishing steals usernames and passwords through fake login pages impersonating the services employees use, handing attackers direct access to corporate accounts. Attackers don’t hack in — they log in. Push’s browser extension analyzes login pages as users actually see them, blocking cloned pages and stopping employees from entering company passwords on lookalike sites.",89,{"sys":329,"faqItemsCollection":331,"name":333,"slug":334,"tier":45,"intro":335,"faqTitle":59,"postCount":336,"hasPage":19},{"id":330},"topic-credential-stuffing",{"items":332},[],"Credential stuffing","credential-stuffing","Credential stuffing is an attack where criminals replay username-password pairs stolen from one breach against other services, exploiting password reuse to take over accounts. Major breaches have shown how far a single set of stolen credentials can travel. Push detects verified stolen credentials by comparing employee passwords against breach datasets and dark-web threat intelligence, eliminating false positives.",64,{"sys":338,"faqItemsCollection":340,"name":342,"slug":343,"tier":31,"intro":344,"faqTitle":59,"postCount":345,"hasPage":19},{"id":339},"topic-detection-and-response",{"items":341},[],"Detection & response","detection-and-response","Detection and response is being reshaped as attacks move into the browser, where EDR, SIEM, and network tools have limited visibility. Modern phishing kits evade signature-based detection, and most malicious pages have never been seen before — so technique-level, in-browser detection matters more than known-bad indicators. Push’s work here spans high-fidelity browser telemetry, session token theft detection, and agentic threat hunting, plus practical IR guidance for compromised SaaS accounts and malicious OAuth apps. These posts cover both the philosophy and the workflows.",101,{"sys":347,"faqItemsCollection":349,"name":351,"slug":352,"tier":45,"intro":353,"faqTitle":59,"postCount":354,"hasPage":19},{"id":348},"topic-detection-engineering",{"items":350},[],"Detection engineering","detection-engineering","Detection engineering turns threat research into reliable, high-fidelity detections — and as AI accelerates the churn of attacker infrastructure, indicator-based detection is collapsing in favor of technique-level approaches. Here you’ll find teardowns of AiTM kits, ClickFix pages, and malvertising campaigns, alongside Push’s own account of building an agentic threat hunting pipeline that turns hunts into shipped detections.",42,{"sys":356,"faqItemsCollection":358,"name":360,"slug":361,"tier":45,"intro":362,"faqTitle":59,"postCount":238,"hasPage":19},{"id":357},"topic-device-code-phishing",{"items":359},[],"Device code phishing","device-code-phishing","Device code phishing abuses the OAuth device authorization flow: attackers generate a legitimate sign-in code, trick the victim into entering it on the vendor’s real login page, and walk away with access tokens — no fake site or password capture required. Push research tracked a sharp spike in adoption during 2026 as attackers use the technique to sidestep standard access controls.",{"sys":364,"faqItemsCollection":366,"name":368,"slug":369,"tier":45,"intro":370,"faqTitle":59,"postCount":371,"hasPage":19},{"id":365},"topic-dlp",{"items":367},[],"DLP","dlp","Data loss prevention (DLP) is the practice of stopping sensitive data from leaving your control — a problem that has shifted from email and endpoints to the browser, where employees move data into SaaS and AI tools. Push applies controls at that point of use, from keeping corporate credentials out of personal password managers to governing what flows into unsanctioned apps.",15,{"sys":373,"faqItemsCollection":375,"name":377,"slug":378,"tier":45,"intro":379,"faqTitle":59,"postCount":380,"hasPage":19},{"id":374},"topic-edr",{"items":376},[],"EDR","edr","Endpoint detection and response (EDR) watches processes, files, and memory on the device — a vantage point that never sees the phishing pages, stolen sessions, and identity attacks playing out inside the browser. That’s not an EDR failure; attackers have simply moved where it can’t follow. These posts map that gap and show how Push pairs browser-level detection and response with endpoint security to close it.",24,{"sys":382,"faqItemsCollection":384,"name":386,"slug":387,"tier":45,"intro":388,"faqTitle":59,"postCount":389,"hasPage":19},{"id":383},"topic-enterprise-browser",{"items":385},[],"Enterprise browser","enterprise-browser","An enterprise browser is a standalone, security-hardened browser that organizations deploy in place of Chrome, Edge, or other defaults. The real buying question is whether replacing the browser beats securing the browsers employees already use — a trade-off these posts examine directly, alongside analysis of Omdia’s secure enterprise browser market report and Push’s framework for weighing full browsers against extension-based deployment.",6,{"sys":391,"faqItemsCollection":393,"name":395,"slug":396,"tier":45,"intro":397,"faqTitle":59,"postCount":398,"hasPage":19},{"id":392},"topic-ghost-logins",{"items":394},[],"Ghost logins","ghost-logins","Ghost logins are overlooked authentication routes into an account — like a password login lingering behind SSO, or a forgotten secondary auth method — that attackers exploit for account takeover and persistence. Push coined the term after research showing how these forgotten login paths let attackers sidestep the MFA and SSO controls guarding an account’s primary sign-in method.",48,{"sys":400,"faqItemsCollection":402,"name":404,"slug":405,"tier":45,"intro":406,"faqTitle":59,"postCount":407,"hasPage":19},{"id":401},"topic-identity-attacks",{"items":403},[],"Identity attacks","identity-attacks","Identity attacks target user accounts rather than infrastructure — phishing credentials, stealing sessions, abusing OAuth grants — because logging in is easier than hacking in. Identity-based techniques are now the leading cause of breaches. Push’s offensive research maps these techniques continuously, coining attacks like SAMLjacking and the poisoned tenant before they appeared in the wild.",56,{"sys":409,"faqItemsCollection":411,"name":413,"slug":414,"tier":31,"intro":415,"faqTitle":59,"postCount":416,"hasPage":19},{"id":410},"topic-identity-security",{"items":412},[],"Identity security","identity-security","Identity security is the practice of protecting workforce accounts, credentials, and sessions — the primary route attackers now use to breach organizations. Instead of hacking in, attackers log in: through phished credentials, stolen session tokens, MFA bypass, and forgotten ghost logins. Push’s research team documents these techniques continuously, from cross-IdP impersonation and SAMLjacking to analyses of major identity-driven breaches. This hub collects that research alongside practical guidance on MFA, SSO, and stopping account takeover.",154,{"sys":418,"faqItemsCollection":420,"name":422,"slug":423,"tier":45,"intro":424,"faqTitle":59,"postCount":425,"hasPage":19},{"id":419},"topic-infostealer",{"items":421},[],"Infostealer","infostealer","Infostealers are malware built to harvest saved passwords, cookies, and session tokens from infected devices, supplying the stolen credentials behind some of the most consequential breaches of recent years. Push traces the ecosystem trading this data and checks employee passwords against threat intel feeds, flagging verified stolen credentials before attackers can log in with them.",52,{"sys":427,"faqItemsCollection":429,"name":431,"slug":432,"tier":45,"intro":433,"faqTitle":59,"postCount":434,"hasPage":19},{"id":428},"topic-legitimate-service-abuse",{"items":430},[],"Legitimate service abuse","legitimate-service-abuse","Legitimate service abuse means staging attacks on trusted platforms — Google Ads, AI chatbot share pages, office.com links, Slack, SaaS tenants — so malicious content inherits the reputation of the service hosting it. Push research has documented the pattern repeatedly, from malvertising run through hijacked Google Ad Manager accounts to phishing links generated by Active Directory Federation Services.",28,{"sys":436,"faqItemsCollection":438,"name":440,"slug":441,"tier":45,"intro":442,"faqTitle":59,"postCount":291,"hasPage":19},{"id":437},"topic-malvertising",{"items":439},[],"Malvertising","malvertising","Malvertising uses paid search and display ads to put phishing pages and malware in front of users, often by impersonating trusted brands at the top of Google results. Push tracks these campaigns continuously — intercepting live attacks spoofing well-known brands — and has documented how criminals hijack Google Ads accounts to fund and run them.",{"sys":444,"faqItemsCollection":446,"name":448,"slug":449,"tier":45,"intro":450,"faqTitle":59,"postCount":451,"hasPage":19},{"id":445},"topic-malware-delivery",{"items":447},[],"Malware delivery","malware-delivery","Malware delivery has moved into the browser: rather than email attachments, attackers now rely on malvertising, fake install guides, and ClickFix-style copy-paste lures to get code running on endpoints. Push research on techniques like InstallFix maps the playbook, and in-browser detection of malicious copy and paste blocks these attacks before commands reach the endpoint.",13,{"sys":453,"faqItemsCollection":455,"name":457,"slug":458,"tier":45,"intro":459,"faqTitle":59,"postCount":460,"hasPage":19},{"id":454},"topic-mfa",{"items":456},[],"MFA","mfa","Multi-factor authentication (MFA) requires a second proof of identity beyond a password, and it remains one of the most effective controls against account takeover. Regulators from Cyber Essentials to NYDFS now mandate it across cloud services. Push enforces MFA in the browser on third-party apps — even those with no native enforcement option — and shows security teams where coverage gaps remain.",83,{"sys":462,"faqItemsCollection":464,"name":466,"slug":467,"tier":45,"intro":468,"faqTitle":59,"postCount":469,"hasPage":19},{"id":463},"topic-mfa-bypass",{"items":465},[],"MFA bypass","mfa-bypass","MFA bypass covers the techniques attackers use to defeat multi-factor authentication — AiTM phishing kits, consent phishing, device code phishing, and MFA downgrade attacks among them. None of these break the second factor; they route around it. Push researchers regularly get hands-on with phishing kits like Evilginx and Sneaky2FA, analyzing how these attacks work in the wild and how they evolve.",58,{"sys":471,"faqItemsCollection":473,"name":475,"slug":476,"tier":45,"intro":477,"faqTitle":59,"postCount":478,"hasPage":19},{"id":472},"topic-non-email-phishing",{"items":474},[],"Non-email phishing","non-email-phishing","Non-email phishing delivers malicious links through channels your secure email gateway never sees — social media messages, IM apps like Slack and Teams, search ads, and SMS. Push has intercepted live campaigns arriving via LinkedIn DMs, malvertising, and messaging platforms, which is why it detects phishing pages in the browser at the point of click, regardless of delivery channel.",51,{"sys":480,"faqItemsCollection":482,"name":484,"slug":485,"tier":45,"intro":486,"faqTitle":59,"postCount":487,"hasPage":19},{"id":481},"topic-oauth-abuse",{"items":483},[],"OAuth abuse","oauth-abuse","OAuth abuse is attackers exploiting app-to-app authorization — consent phishing, malicious OAuth apps, stolen tokens, and device code flows — to gain persistent access to cloud tenants without touching a password or MFA prompt. Push tracks these techniques continuously and discovered ConsentFix, a browser-native attack in the wild that pairs OAuth consent phishing with a ClickFix-style prompt.",70,{"sys":489,"faqItemsCollection":491,"name":493,"slug":494,"tier":45,"intro":495,"faqTitle":59,"postCount":496,"hasPage":19},{"id":490},"topic-passkeys",{"items":492},[],"Passkeys","passkeys","Passkeys are phishing-resistant credentials that replace passwords with cryptographic key pairs bound to a user’s device. They defeat conventional credential phishing, but attackers adapt: Push research has documented MFA downgrade, app-specific password phishing, and device code phishing being used in the wild to route around passkey-protected accounts. Deploying passkeys is step one; closing those fallback paths is step two.",21,{"sys":498,"faqItemsCollection":500,"name":502,"slug":503,"tier":45,"intro":504,"faqTitle":59,"postCount":505,"hasPage":19},{"id":499},"topic-password-security",{"items":501},[],"Password security","password-security","Password security is the practice of keeping workforce credentials strong, unique, and out of attackers’ hands — still a frontline defense while most SaaS logins depend on passwords. Expiration policies don’t fix weak or reused passwords; visibility does. Push observes real logins in the browser to flag weak, reused, and breached passwords and guide employees to reset them on any app.",79,{"sys":507,"faqItemsCollection":509,"name":511,"slug":512,"tier":45,"intro":513,"faqTitle":59,"postCount":318,"hasPage":19},{"id":508},"topic-phaas",{"items":510},[],"PhaaS","phaas","Phishing-as-a-service (PhaaS) platforms sell ready-made phishing kits, hosted infrastructure, and management panels on subscription, letting low-skill criminals run MFA-bypassing campaigns at scale. Kits like Evilginx, Tycoon2FA, Sneaky2FA, FlowerStorm, and EvilTokens each add their own evasion and session-theft capabilities, and new entrants appear regularly. Push researchers continuously get hands-on with these tools — investigating attacks in the wild, reverse-engineering kit behavior, and turning that research into detections.",{"sys":515,"faqItemsCollection":517,"name":519,"slug":520,"tier":31,"intro":521,"faqTitle":59,"postCount":522,"hasPage":19},{"id":516},"topic-phishing",{"items":518},[],"Phishing","phishing","Phishing remains the most common way attackers compromise business accounts — and it has moved far beyond suspicious emails. Modern campaigns use AiTM toolkits that bypass MFA, consent phishing against OAuth, device code phishing, and lures delivered through malvertising, LinkedIn, and Slack. Push detects and blocks these attacks in the browser, and its researchers publish teardowns of live campaigns and kits like Evilginx and Sneaky2FA. Read on for how phishing actually works today and what stops it.",91,{"sys":524,"faqItemsCollection":526,"name":528,"slug":529,"tier":45,"intro":530,"faqTitle":59,"postCount":531,"hasPage":19},{"id":525},"topic-public-breach",{"items":527},[],"Public breach","public-breach","Public breaches are the disclosed incidents that show how attacks actually unfold once the headlines fade. Push’s breach analyses keep finding identity at the entry point: stolen credentials, OAuth abuse, and missing MFA recur across the incidents analyzed here.",29,{"sys":533,"faqItemsCollection":535,"name":537,"slug":538,"tier":45,"intro":539,"faqTitle":59,"postCount":451,"hasPage":19},{"id":534},"topic-ransomware",{"items":536},[],"Ransomware","ransomware","Ransomware attacks increasingly begin with an identity, not an exploit: stolen credentials, MFA bypass, and help desk scams give operators their initial foothold. The analysis here follows that front end of the kill chain — how identity compromise leads to ransomware deployment, and the breaches driving regulators toward tighter MFA requirements.",{"sys":541,"faqItemsCollection":543,"name":545,"slug":546,"tier":31,"intro":547,"faqTitle":59,"postCount":548,"hasPage":19},{"id":542},"topic-saas-security",{"items":544},[],"SaaS security","saas-security","SaaS security means protecting the sprawl of cloud apps, accounts, and integrations your employees adopt — often without IT ever knowing. Shadow SaaS, risky OAuth grants, ghost logins, and unmanaged third-party access create attack paths traditional controls can’t see, as recent high-profile breaches have demonstrated. Building on the original SaaS attack matrix, Push continues to map SaaS-native attack techniques alongside practical guides for discovering and securing unsanctioned apps, and this hub gathers all of it.",96,{"sys":550,"faqItemsCollection":552,"name":554,"slug":555,"tier":45,"intro":556,"faqTitle":59,"postCount":557,"hasPage":6},{"id":551},"topic-security-training",{"items":553},[],"Security training","security-training","Security training aims to teach employees to recognize and avoid attacks — yet modern phishing routinely fools even seasoned security professionals. Push argues that training budgets work harder as real-time, in-browser intervention: guardrails and warnings at the moment of risk, rather than lessons employees must recall under pressure.",4,{"sys":559,"faqItemsCollection":561,"name":563,"slug":564,"tier":45,"intro":565,"faqTitle":59,"postCount":389,"hasPage":19},{"id":560},"topic-seo-poisoning",{"items":562},[],"SEO poisoning","seo-poisoning","SEO poisoning manipulates search engine results so malicious pages rank prominently for the software, tools, or services users are actively searching for, turning a routine search into an infection vector. It often pairs with malvertising and ClickFix-style payloads — Push has documented attackers abusing shared pages on legitimate AI chatbot domains to deliver malware from trusted infrastructure.",{"sys":567,"faqItemsCollection":569,"name":571,"slug":572,"tier":45,"intro":573,"faqTitle":59,"postCount":574,"hasPage":19},{"id":568},"topic-session-hijacking",{"items":570},[],"Session hijacking","session-hijacking","Session hijacking is the theft of an authenticated session — usually via stolen session cookies or tokens — letting attackers walk past passwords and MFA into a live account. AiTM phishing kits and infostealers have made it a mainstream attack technique across both criminal and targeted intrusions. Push’s browser agent detects session token theft by adding telemetry to the user agent string, creating a high-fidelity signal for security teams.",74,{"sys":576,"faqItemsCollection":578,"name":580,"slug":581,"tier":45,"intro":582,"faqTitle":59,"postCount":583,"hasPage":19},{"id":577},"topic-shadow-ai",{"items":579},[],"Shadow AI","shadow-ai","Shadow AI is employees’ unsanctioned use of AI tools at work, putting corporate data into chatbots and assistants that security teams never approved and can’t see. Push’s own browser telemetry shows AI adoption acting as a force multiplier for shadow IT — potentially now outscaling shadow SaaS — and this hub tracks that research, real-world breach examples, and practical controls.",20,{"sys":585,"faqItemsCollection":587,"name":589,"slug":590,"tier":45,"intro":591,"faqTitle":59,"postCount":592,"hasPage":19},{"id":586},"topic-shadow-saas",{"items":588},[],"Shadow SaaS","shadow-saas","Shadow SaaS is the cloud applications employees adopt for work without IT approval, each one creating unmanaged accounts, identities, and data outside your security controls. Push covers the problem end to end — from browser-based SaaS discovery to in-browser app banners and MFA enforcement — alongside breach analyses that show where unmanaged accounts lead.",75,{"sys":594,"faqItemsCollection":596,"name":598,"slug":599,"tier":45,"intro":600,"faqTitle":59,"postCount":601,"hasPage":19},{"id":595},"topic-siem",{"items":597},[],"SIEM","siem","A SIEM is only as good as the telemetry feeding it, and most log sources never see what happens inside the browser — where phishing, session token theft, and account takeover actually play out. Push streams browser-level detections and identity telemetry into SIEMs, and these posts show how that data improves detection fidelity and cuts alert fatigue.",19,{"sys":603,"faqItemsCollection":605,"name":607,"slug":608,"tier":45,"intro":609,"faqTitle":59,"postCount":610,"hasPage":19},{"id":604},"topic-social-engineering",{"items":606},[],"Social engineering","social-engineering","Social engineering is the manipulation of people — through phishing pages, help desk impersonation, vishing calls, and poisoned tenant invites — into handing over access that no exploit could take. Coverage here tracks how threat actors run these plays — drawing on Push’s ongoing investigation of live phishing infrastructure and criminal tooling.",59,{"sys":612,"faqItemsCollection":614,"name":616,"slug":617,"tier":31,"intro":618,"faqTitle":59,"postCount":557,"hasPage":6},{"id":613},"topic-supply-chain-security",{"items":615},[],"Supply chain security","supply-chain-security","Supply chain security extends beyond your own perimeter to the vendors, platforms, and browser extensions your organization depends on. A compromised third party can hand attackers legitimate access — as recent campaigns against SaaS providers have shown. Push’s research examines the browser-extension supply chain in particular: why extension risk scores fail to predict compromise, and how developers can harden extensions against takeover. These posts frame supply chain risk through a browser and identity lens.",{"sys":620,"faqItemsCollection":622,"name":624,"slug":625,"tier":45,"intro":626,"faqTitle":59,"postCount":627,"hasPage":19},{"id":621},"topic-swg",{"items":623},[],"SWG","swg","A secure web gateway (SWG) filters and inspects web traffic in transit, sitting in the network path between users and the internet. That position shows you the packet but not the session: Push’s research on AitM phishing kits documents how attackers break the signatures proxies rely on, and these posts explain why phishing detection is moving from the network path into the browser itself.",17,{"sys":629,"faqItemsCollection":631,"name":633,"slug":634,"tier":45,"intro":635,"faqTitle":59,"postCount":636,"hasPage":19},{"id":630},"topic-third-party-risk",{"items":632},[],"Third-party risk","third-party-risk","Third-party risk is the exposure your organization inherits from vendors, SaaS providers, and integrations that hold your data or access your tenants — a chain now extended one employee sign-up at a time. This hub collects Push’s breach analyses and guides for assessing OAuth integrations, managing browser extensions, and responding when a supplier is compromised.",44,{"sys":638,"faqItemsCollection":640,"name":642,"slug":643,"tier":31,"intro":644,"faqTitle":59,"postCount":398,"hasPage":19},{"id":639},"topic-threat-landscape",{"items":641},[],"Threat landscape","threat-landscape","The enterprise threat landscape is now defined by identity attacks: criminals log in with phished, stolen, or stuffed credentials rather than breaking infrastructure. Threat actors keep proving how effective help desk scams, MFA bypass, and session theft are against well-defended organizations. Drawing on breach analyses, annual phishing trend reviews, and in-the-wild campaign tracking, Push documents how attacker TTPs are shifting. This hub is where to follow those changes.",{"sys":646,"faqItemsCollection":648,"name":650,"slug":651,"tier":45,"intro":652,"faqTitle":59,"postCount":371,"hasPage":19},{"id":647},"topic-vishing",{"items":649},[],"Vishing","vishing","Vishing — voice phishing — uses phone calls to impersonate IT support, help desks, or employees, talking targets into password resets, MFA approvals, or opening attacker-controlled pages. Threat actors now routinely pair calls with AiTM phishing to hijack SSO accounts, a chain Push has analyzed across campaigns targeting hundreds of organizations.",{},"blogtopics","w0ITersBlkytyrxHNkTEFmGsSW5X9NfdbmeXV1u8bAo",[657,661,665,669,673],{"title":658,"logo":659,"createdDate":660},"SOC2","https://cdn.builder.io/api/v1/image/assets%2Ff3a1111ff5be48cdbb123cd9f5795a05%2Fb6727a5e00004d6e9e69fc3068b8b64c",1784291539953,{"title":662,"logo":663,"createdDate":664},"GDPR","https://cdn.builder.io/api/v1/image/assets%2Ff3a1111ff5be48cdbb123cd9f5795a05%2Ffe49f53211674deaa5a6640d929cdf42?format=webp",1784291672535,{"title":666,"logo":667,"createdDate":668},"Cyber essentials","https://cdn.builder.io/api/v1/image/assets%2Ff3a1111ff5be48cdbb123cd9f5795a05%2F53558c1045a342a7a28def960cd54ae7?format=webp",1784291702710,{"title":670,"logo":671,"createdDate":672},"ISO IEC 27001","https://cdn.builder.io/api/v1/image/assets%2Ff3a1111ff5be48cdbb123cd9f5795a05%2F578a404a61cf45db951a41fe3554d12d",1784291766222,{"title":674,"logo":675,"createdDate":676},"ISO IEC 27701","https://cdn.builder.io/api/v1/image/assets%2Ff3a1111ff5be48cdbb123cd9f5795a05%2Fbe219844b13242fbba531959579a753c",1784291858848,[678,730,775],{"id":679,"label":680,"text":21,"navIcon":681,"items":682},"stop-browser-based-attacks","Stop browser-based attacks","solid:faShieldHalved",[683,688,693,698,703,708,712,717,721,725],{"title":684,"text":685,"url":686,"navIcon":687},"Adversary-in-the-Middle","Detect and block AiTM proxies stealing session tokens.","/solution/stop-browser-based-attacks/adversary-in-the-middle-attacks","solid:faUserSecret",{"title":689,"text":690,"url":691,"navIcon":692},"ClickFix (+Fix variants)","Block attacks that trick users into running malicious code.","/solution/stop-browser-based-attacks/clickfix-fix-variants","sharp-regular:faLaptopCode",{"title":694,"text":695,"url":696,"navIcon":697},"Malicious OAuth integrations","Detect suspicious OAuth consent flows and stop persistent access.","/solution/stop-browser-based-attacks/malicious-oauth-integrations","solid:faPlugCircleXmark",{"title":699,"text":700,"url":701,"navIcon":702},"Malicious browser extensions","Shine a light on risky browser extensions.","/solution/stop-browser-based-attacks/malicious-browser-extensions","sharp-regular:faPuzzlePiece",{"title":704,"text":705,"url":706,"navIcon":707},"Malicious file downloads","Gain visibility into browser downloads and block malicious files.","/solution/stop-browser-based-attacks/malicious-file-downloads","solid:faFileCircleXmark",{"title":395,"text":709,"url":710,"navIcon":711},"Surface hidden login paths that bypass SSO and expose accounts.","/solution/stop-browser-based-attacks/ghost-logins","solid:faGhost",{"title":713,"text":714,"url":715,"navIcon":716},"Mobile phishing (QR & SMS)","Detect phishing links delivered via SMS and QR codes.","/solution/stop-browser-based-attacks/mobile-phishing-qr-code-sms","solid:faQrcode",{"title":333,"text":718,"url":719,"navIcon":720},"Identify reused and compromised credentials across SaaS logins.","/solution/stop-browser-based-attacks/credential-stuffing","custom:credentialStuffing",{"title":571,"text":722,"url":723,"navIcon":724},"Detect and block stolen session tokens before attackers get access.","/solution/stop-browser-based-attacks/session-hijacking","solid:faCookieBite",{"title":726,"text":727,"url":728,"navIcon":729},"Zero-day phishing","Detect phishing TTPs directly in the browser and stop credential theft.","/solution/stop-browser-based-attacks/zero-day-phishing","sharp-regular:faFishingRod",{"id":731,"label":732,"text":21,"navIcon":733,"items":734},"achieve-security-outcomes","Achieve security outcomes","solid:faCheckToSlot",[735,740,745,750,755,760,765,770],{"title":736,"text":737,"url":738,"navIcon":739},"Stop account takeover","Stop ATO with stolen credential and compromised token detection.","/solution/achieve-security-outcomes/stop-account-takeover","sharp-regular:faUserSecret",{"title":741,"text":742,"url":743,"navIcon":744},"Harden unmanaged identities","Harden access paths with visibility, detection, and guardrails.","/solution/achieve-security-outcomes/harden-unmanaged-identities","sharp-regular:faRadar",{"title":746,"text":747,"url":748,"navIcon":749},"Investigate browser-related incidents","Investigate and respond faster with unique browser telemetry.","/solution/achieve-security-outcomes/investigate-browser-related-incidents","sharp-regular:faSatelliteDish",{"title":751,"text":752,"url":753,"navIcon":754},"Secure shadow SaaS","See and control shadow SaaS in the browser.","/solution/achieve-security-outcomes/secure-shadow-saas","sharp-regular:faShieldCheck",{"title":756,"text":757,"url":758,"navIcon":759},"Secure AI","See and control AI apps in the browser.","/solution/achieve-security-outcomes/secure-ai","sharp-regular:faBrainCircuit",{"title":761,"text":762,"url":763,"navIcon":764},"Secure BYOD","Extend consistent browser-based protection to unmanaged devices.","/solution/achieve-security-outcomes/secure-bring-your-own-device","solid:faMobileScreenButton",{"title":766,"text":767,"url":768,"navIcon":769},"Secure Chromebooks","Secure browser activity on Chromebooks without endpoint agents.","/solution/achieve-security-outcomes/secure-chromebooks","brands:faChrome",{"title":771,"text":772,"url":773,"navIcon":774},"Investigate and stop data loss","Detect and prevent data loss across AI tools, apps, and sessions.","/solution/achieve-security-outcomes/investigate-and-stop-data-loss","custom:investigateAndStopDataLoss",{"id":776,"label":777,"text":21,"navIcon":778,"items":779},"tool-replacements","Tool replacements","solid:faScrewdriverWrench",[780,785,790,795],{"title":781,"text":782,"url":783,"navIcon":784},"Remote browser isolation","Detect attacks that look like normal browsing.","/solution/tool-replacements/remote-browser-isolation","solid:faDisplay",{"title":786,"text":787,"url":788,"navIcon":789},"Secure web gateways","Detect attacks inside the browser after SWGs allowed the connection.","/solution/tool-replacements/secure-web-gateways","solid:faFilter",{"title":791,"text":792,"url":793,"navIcon":794},"Cloud access security broker","Catch browser-based identity threats in real time, not after the fact.","/solution/tool-replacements/cloud-access-security-broker","solid:faCloudArrowUp",{"title":796,"text":797,"url":798,"navIcon":799},"Security awareness training","Block real phishing instead of training users on simulations.","/solution/tool-replacements/security-awareness-training","custom:securityAwareness",{"w":801,"h":802,"d":803},448,512,"M171-16c-36.4 0-57.8 58.3-68.3 112L72 96c-13.3 0-24 10.7-24 24s10.7 24 24 24l24 0 0 32c0 17 3.3 33.2 9.3 48l-9.3 0 0 0-20.5 0c-15.2 0-27.5 12.3-27.5 27.5 0 3 .5 5.9 1.4 8.7l28.9 86.6C40.2 379.6 16 428.1 16 482.3 16 498.7 29.3 512 45.7 512l356.6 0c16.4 0 29.7-13.3 29.7-29.7 0-54.2-24.2-102.7-62.3-135.4l28.9-86.6c.9-2.8 1.4-5.7 1.4-8.7 0-15.2-12.3-27.5-27.5-27.5l-20.5 0 0 0-9.3 0c6-14.8 9.3-31 9.3-48l0-32 24 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-30.7 0c-10.4-53.7-31.9-112-68.3-112-9.6 0-19 3.9-27.5 8.2-8.2 4.1-18.4 7.8-25.5 7.8s-17.3-3.7-25.5-7.8C190-12.1 180.6-16 171-16zm93.7 484.4l-24.8-70.9 27.9-32.5c2.7-3.2 4.2-7.2 4.2-11.4 0-9.7-7.8-17.5-17.5-17.5l-61 0c-9.7 0-17.5 7.8-17.5 17.5 0 4.2 1.5 8.2 4.2 11.4l27.9 32.5-24.8 70.9-57-180.4 35.7 0c18.4 10.2 39.5 16 62 16s43.6-5.8 62-16l35.7 0-57 180.4zM224 256c-34.7 0-64.2-22.1-75.3-53 5.7 3.2 12.3 5 19.3 5l12.4 0c16.5 0 31.1-10.6 36.3-26.2 2.3-7 12.2-7 14.5 0 5.2 15.6 19.9 26.2 36.3 26.2l12.4 0c7 0 13.6-1.8 19.3-5-11.1 30.9-40.6 53-75.3 53z",{"w":17,"h":802,"d":805},"M112 80l416 0 0 224 48 0 0-272-512 0 0 272 48 0 0-224zM48 404.1l0-4.1 544 0 0 4.1-27.9 27.9-488.2 0-27.9-27.9zM592 352l-592 0 0 72 56 56 528 0 56-56 0-72-48 0zM281 169l17-17-33.9-33.9c-6.1 6.1-27.8 27.8-65 65l-17 17c6.1 6.1 27.8 27.8 65 65l17 17 33.9-33.9c-9-9-25-25-48-48l31-31zM393 135l-17-17-33.9 33.9c9 9 25 25 48 48-23 23-39 39-48 48L376 281.9c6.1-6.1 27.8-27.8 65-65l17-17c-6.1-6.1-27.8-27.8-65-65z",{"w":17,"h":802,"d":807},"M192-32c17.7 0 32 14.3 32 32l0 96 128 0 0-96c0-17.7 14.3-32 32-32s32 14.3 32 32l0 96 64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l0 48.7c-98.6 8.1-176 90.7-176 191.3 0 27.3 5.7 53.3 16 76.9l0 3.1c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-66.7C165.2 398.1 96 319.1 96 224l0-64c-17.7 0-32-14.3-32-32S78.3 96 96 96l64 0 0-96c0-17.7 14.3-32 32-32zM496 256a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm59.3 107.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-36.7 36.7-36.7-36.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l36.7 36.7-36.7 36.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l36.7-36.7 36.7 36.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-36.7-36.7 36.7-36.7z",{"w":802,"h":802,"d":809},"M201.1 57.3c-7 5.3-9.1 10.7-9.1 14.7 0 4.5 2.8 11.2 12.4 16.9l11.6 7 0 48.1-168 0 0 60.5c7.4-2.9 15.5-4.5 24-4.5 43.1 0 72 39.4 72 80s-28.9 80-72 80c-8.5 0-16.6-1.6-24-4.5l0 108.5 108.5 0c-2.9-7.4-4.5-15.5-4.5-24 0-43.1 39.4-72 80-72s80 28.9 80 72c0 8.5-1.6 16.6-4.5 24l60.5 0 0-168 48.1 0 7 11.6c5.8 9.6 12.4 12.4 16.9 12.4 4 0 9.5-2.1 14.7-9.1s9.3-17.9 9.3-30.9-4-23.8-9.3-30.9-10.7-9.1-14.7-9.1c-4.5 0-11.2 2.8-16.9 12.4l-7 11.6-48.1 0 0-120-120 0 0-48.1 11.6-7c9.6-5.8 12.4-12.4 12.4-16.9 0-4-2.1-9.5-9.1-14.7S245 48 232 48 208.2 52 201.1 57.3zM172.3 18.9C188.5 6.8 209.6 0 232 0S275.5 6.8 291.7 18.9 320 49.5 320 72c0 8.6-1.8 16.7-4.9 24l100.9 0 0 100.9c7.3-3.1 15.4-4.9 24-4.9 22.5 0 41 12.2 53.1 28.3s18.9 37.3 18.9 59.7-6.8 43.5-18.9 59.7-30.6 28.3-53.1 28.3c-8.6 0-16.7-1.8-24-4.9l0 148.9-168 0 0-49.3 8.2-7.2c5.4-4.7 7.8-10.3 7.8-15.5 0-9.9-10.7-24-32-24s-32 14.1-32 24c0 5.3 2.4 10.8 7.8 15.5l8.2 7.2 0 49.3-216 0 0-216 49.3 0 7.2 8.2c4.7 5.4 10.3 7.8 15.5 7.8 9.9 0 24-10.7 24-32s-14.1-32-24-32c-5.3 0-10.8 2.4-15.5 7.8L49.3 264 0 264 0 96 148.9 96c-3.1-7.3-4.9-15.4-4.9-24 0-22.5 12.2-41 28.3-53.1z",{"w":811,"h":802,"d":812},576,"M96 0C60.7 0 32 28.7 32 64l0 384c0 35.3 28.7 64 64 64l180 0c-22.7-31.5-36-70.2-36-112 0-100.6 77.4-183.2 176-191.3l0-38.1c0-17-6.7-33.3-18.7-45.3L290.7 18.7C278.7 6.7 262.5 0 245.5 0L96 0zM357.5 176L264 176c-13.3 0-24-10.7-24-24L240 58.5 357.5 176zM432 544a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm59.3-180.7l-36.7 36.7 36.7 36.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-36.7-36.7-36.7 36.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l36.7-36.7-36.7-36.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0l36.7 36.7 36.7-36.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z",{"w":814,"h":802,"d":815},384,"M40.1 467.1l-11.2 9C25.7 478.6 21.8 480 17.8 480 8 480 0 472 0 462.2L0 192C0 86 86 0 192 0S384 86 384 192l0 270.2c0 9.8-8 17.8-17.8 17.8-4 0-7.9-1.4-11.1-3.9l-11.2-9c-13.4-10.7-32.8-9-44.1 3.9L269.3 506c-3.3 3.8-8.2 6-13.3 6s-9.9-2.2-13.3-6l-26.6-30.5c-12.7-14.6-35.4-14.6-48.2 0L141.3 506c-3.3 3.8-8.2 6-13.3 6s-9.9-2.2-13.3-6L84.2 471c-11.3-12.9-30.7-14.6-44.1-3.9zM160 192a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm96 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64z",{"w":801,"h":802,"d":817},"M64 160l64 0 0-64-64 0 0 64zM0 80C0 53.5 21.5 32 48 32l96 0c26.5 0 48 21.5 48 48l0 96c0 26.5-21.5 48-48 48l-96 0c-26.5 0-48-21.5-48-48L0 80zM64 416l64 0 0-64-64 0 0 64zM0 336c0-26.5 21.5-48 48-48l96 0c26.5 0 48 21.5 48 48l0 96c0 26.5-21.5 48-48 48l-96 0c-26.5 0-48-21.5-48-48l0-96zM320 96l0 64 64 0 0-64-64 0zM304 32l96 0c26.5 0 48 21.5 48 48l0 96c0 26.5-21.5 48-48 48l-96 0c-26.5 0-48-21.5-48-48l0-96c0-26.5 21.5-48 48-48zM288 352a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm0 64c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm96 32c0-17.7 14.3-32 32-32s32 14.3 32 32-14.3 32-32 32-32-14.3-32-32zm32-96a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm-32 32a32 32 0 1 1 -64 0 32 32 0 1 1 64 0z",{"w":802,"h":802,"d":819},"M257.5 27.6c-.8-5.4-4.9-9.8-10.3-10.6-22.1-3.1-44.6 .9-64.4 11.4l-74 39.5C89.1 78.4 73.2 94.9 63.4 115L26.7 190.6c-9.8 20.1-13 42.9-9.1 64.9l14.5 82.8c3.9 22.1 14.6 42.3 30.7 57.9l60.3 58.4c16.1 15.6 36.6 25.6 58.7 28.7l83 11.7c22.1 3.1 44.6-.9 64.4-11.4l74-39.5c19.7-10.5 35.6-27 45.4-47.2l36.7-75.5c9.8-20.1 13-42.9 9.1-64.9-.9-5.3-5.3-9.3-10.6-10.1-51.5-8.2-92.8-47.1-104.5-97.4-1.8-7.6-8-13.4-15.7-14.6-54.6-8.7-97.7-52-106.2-106.8zM208 144a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM144 336a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm224-64a32 32 0 1 1 0 64 32 32 0 1 1 0-64z",{"w":801,"h":802,"d":821},"M284.6 0l91.4 0 0 160-48 0 0-112-36.6 0-203.4 58.1 0 181.9 40 0 0 224-128 0 0-224 40 0 0-218.1 17.4-5 224-64 3.2-.9zM80 336l-32 0 0 128 32 0 0-128zm176 8c0-76.8 64-136 96-152 32 16 96 75.2 96 152 0 32-16 80-64 112l32 40 0 16-128 0 0-16 32-40c-48-32-64-80-64-112zm128-32a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z",{"w":801,"h":802,"d":823},"M144-16l-48 112-48 0 0 48 48 0 0 32c0 17 3.3 33.2 9.3 48l-73.3 0 0 32 5.3 16 26.7 80-64 160 51.7 0 56.9-142.2 6.5-16.3c-1-3.1-10.1-30.3-27.2-81.5l51.4 0c22.6 19.9 52.2 32 84.7 32s62.1-12.1 84.7-32l51.4 0c-17.1 51.2-26.1 78.4-27.2 81.5l6.5 16.3 56.9 142.2 51.7 0-64-160 26.7-80 5.3-16 0-32-73.3 0c6-14.8 9.3-31 9.3-48l0-32 48 0 0-48-48 0-48-112-32 0-48 32-48-32-32 0zm80 272c-32.8 0-61-19.7-73.3-48l57.3 0 16-40 16 40 57.3 0c-12.3 28.3-40.5 48-73.3 48zm17.5 139.6l30.5-35.6 0-24-96 0 0 24 30.5 35.6-46.5 116.4 128 0-46.5-116.4z",{"w":802,"h":802,"d":825},"M497.4 49l17-17-33.9-33.9C473.6 4.9 453.3 25.2 419.7 58.8 375.4 22.1 318.5 0 256.4 0 115.1 0 .4 114.6 .4 256s114.6 256 256 256 256-114.6 256-256l-48 0c0 114.9-93.1 208-208 208s-208-93.1-208-208 93.1-208 208-208c48.8 0 93.7 16.8 129.1 44.9l-45.7 45.7c-23.5-16.8-52.3-26.6-83.4-26.6-79.5 0-144 64.5-144 144s64.5 144 144 144 144-64.5 144-144l-48 0c0 53-43 96-96 96s-96-43-96-96 43-96 96-96c17.8 0 34.5 4.8 48.8 13.3-52 52-79.5 79.5-82.7 82.7l33.9 33.9 17-17 224-224z",{"w":802,"h":802,"d":827},"M208 0l24 0C386.6 0 512 125.4 512 280l0 24-48 0 0-24C464 151.9 360.1 48 232 48l-24 0 0-48zm24 96c101.6 0 184 82.4 184 184l0 24-48 0 0-24c0-75.1-60.9-136-136-136l-24 0 0-48 24 0zM48 256c0 114.9 93.1 208 208 208 22.9 0 45-3.7 65.6-10.5l-263-263C51.7 211 48 233.1 48 256zM0 256c0-36.5 7.6-71.3 21.4-102.7 6.7-15.3 14.9-29.9 24.4-43.5 7.7 7.7 61.5 61.5 161.2 161.2 30.5-30.5 49.5-49.5 57-57L297.9 248c-7.5 7.5-26.5 26.5-57 57 99.7 99.7 153.5 153.5 161.2 161.2-13.6 9.5-28.2 17.7-43.5 24.4-31.4 13.8-66.2 21.4-102.7 21.4-141.4 0-256-114.6-256-256z",{"w":802,"h":802,"d":829},"M267.6 4.5l207.5 80.5 19.2 7.4 1.2 20.5c2.9 50-4.9 126.3-37.3 200.9-32.7 75.2-91.1 150-189.4 192.5l-12.7 5.5-12.7-5.5C144.9 463.9 86.6 389.2 53.9 313.9 21.5 239.3 13.7 162.9 16.6 113L17.8 92.5 37 85 244.5 4.5 256 0 267.6 4.5zM64.1 126C63.1 169.5 71 232.9 97.9 294.8 126.1 359.7 175 422.4 256 459.6 337.1 422.4 385.9 359.7 414.2 294.8 441 232.9 449 169.5 448 126L256 51.5 64.1 126zm302.3 44.7L352.3 190.1 249.8 330.9 233 354c-8.8-9.1-30.9-32-66.2-68.6l-16.7-17.3 34.5-33.3c9.5 9.8 23.9 24.7 43.2 44.7l85.6-117.7 14.1-19.4 38.8 28.2z",{"w":802,"h":802,"d":831},"M192 48l40 0 0 108-12.4 0c-7.6-16.5-24.3-28-43.6-28-26.5 0-48 21.5-48 48s21.5 48 48 48c19.4 0 36.1-11.5 43.6-28l12.4 0 0 56-92 0 0 56.4c-16.5 7.6-28 24.3-28 43.6 0 26.5 21.5 48 48 48s48-21.5 48-48c0-19.4-11.5-36.1-28-43.6l0-16.4 52 0 0 172-40 0c-16.8 0-31.2-10.3-37.1-25.1l-6.4-16-17.2 1c-1.1 .1-2.2 .1-3.2 .1-30.9 0-56-25.1-56-56 0-9.5 2.4-18.5 6.5-26.3l8.7-16.2-13.4-12.6c-11-10.2-17.8-24.8-17.8-40.9 0-21.6 12.2-40.4 30.3-49.8l22.6-11.7-13.1-21.9c-5-8.4-7.9-18.1-7.9-28.6 0-30.9 25.1-56 56-56l24 0 0-32c0-13.3 10.7-24 24-24zm88 148l12.4 0c7.6 16.5 24.3 28 43.6 28 26.5 0 48-21.5 48-48s-21.5-48-48-48c-19.4 0-36.1 11.5-43.6 28l-12.4 0 0-108 40 0c13.3 0 24 10.7 24 24l0 32 24 0c30.9 0 56 25.1 56 56 0 10.5-2.9 20.3-7.9 28.6l-13.1 21.9 22.6 11.7c18 9.3 30.3 28.1 30.3 49.8 0 16.1-6.8 30.7-17.8 40.9l-13.4 12.6 8.7 16.2c4.2 7.8 6.5 16.7 6.5 26.3 0 30.9-25.1 56-56 56-1.1 0-2.2 0-3.2-.1l-17.2-1-6.4 16C351.2 453.7 336.8 464 320 464l-40 0 0-76 92 0 0-56.4c16.5-7.6 28-24.3 28-43.6 0-26.5-21.5-48-48-48s-48 21.5-48 48c0 19.4 11.5 36.1 28 43.6l0 16.4-52 0 0-152zM192 512l128 0c31.1 0 58.4-16.2 74.1-40.5 52.7-5.1 93.9-49.5 93.9-103.5 0-11.5-1.9-22.5-5.3-32.9 13.4-17.5 21.3-39.4 21.3-63.1 0-32-14.5-60.6-37.1-79.7 3.3-10.2 5.1-21.1 5.1-32.3 0-49.6-34.8-91.1-81.3-101.5-6.3-33.3-35.6-58.5-70.7-58.5L192 0c-35.1 0-64.4 25.2-70.7 58.5-46.5 10.4-81.3 51.9-81.3 101.5 0 11.3 1.8 22.2 5.1 32.3-22.7 19.1-37.1 47.7-37.1 79.7 0 23.7 8 45.6 21.3 63.1-3.5 10.4-5.3 21.4-5.3 32.9 0 54 41.2 98.5 93.9 103.5 15.6 24.3 42.9 40.5 74.1 40.5zM336 192a16 16 0 1 1 0-32 16 16 0 1 1 0 32zm32 96a16 16 0 1 1 -32 0 16 16 0 1 1 32 0zM176 352a16 16 0 1 1 -32 0 16 16 0 1 1 32 0zm16-176a16 16 0 1 1 -32 0 16 16 0 1 1 32 0z",{"w":814,"h":802,"d":833},"M16 64C16 28.7 44.7 0 80 0L304 0c35.3 0 64 28.7 64 64l0 384c0 35.3-28.7 64-64 64L80 512c-35.3 0-64-28.7-64-64L16 64zm64 0l0 304 224 0 0-304-224 0zM192 472c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32z",{"w":802,"h":802,"d":835},"M0 256c0-46.6 12.5-90.4 34.3-128.9L144.1 318.3c21.9 39.2 63.8 65.7 111.9 65.7 14.3 0 27.1-2.3 40.8-6.6L220.5 509.6C95.9 492.3 0 385.3 0 256zm365.1 65.6c12.3-19.2 18.9-42.5 18.9-65.6 0-38.2-16.8-72.5-43.3-96l152.7 0c12 29.6 18.6 62.1 18.6 96 0 141.4-114.6 255.1-256 256L365.1 321.6zM477.8 128L256 128c-62.9 0-113.7 44.1-125.5 102.7L54.2 98.5C101 38.5 174 0 256 0 350.8 0 433.5 51.5 477.8 128zM344 256a88 88 0 1 1 -176 0 88 88 0 1 1 176 0z",{"w":802,"h":802,"d":837},"M448 96l0 256-384 0 0-256 384 0zM64 32C28.7 32 0 60.7 0 96L0 352c0 35.3 28.7 64 64 64l144 0-16 48-72 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l272 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-72 0-16-48 144 0c35.3 0 64-28.7 64-64l0-256c0-35.3-28.7-64-64-64L64 32z",{"w":802,"h":802,"d":839},"M32 64C19.1 64 7.4 71.8 2.4 83.8S.2 109.5 9.4 118.6L192 301.3 192 416c0 8.5 3.4 16.6 9.4 22.6l64 64c9.2 9.2 22.9 11.9 34.9 6.9S320 492.9 320 480l0-178.7 182.6-182.6c9.2-9.2 11.9-22.9 6.9-34.9S492.9 64 480 64L32 64z",{"w":811,"h":802,"d":841},"M144 480c-79.5 0-144-64.5-144-144 0-63.4 41-117.2 97.9-136.5-1.3-7.7-1.9-15.5-1.9-23.5 0-79.5 64.5-144 144-144 55.4 0 103.5 31.3 127.6 77.1 14.2-8.3 30.8-13.1 48.4-13.1 53 0 96 43 96 96 0 15.7-3.8 30.6-10.5 43.7 44 20.3 74.5 64.7 74.5 116.3 0 70.7-57.3 128-128 128l-304 0zM305 191c-9.4-9.4-24.6-9.4-33.9 0l-72 72c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l31-31 0 102.1c0 13.3 10.7 24 24 24s24-10.7 24-24l0-102.1 31 31c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-72-72z",[843,4943,8226,11298,14833,18091,22640,28856,30836,33034,35646,38488,41212,44208,47291,49702,52373,54534,57361,60283,63192,65996,69194,72101,75416,78999,79788,83197,86539,89042,90325,92629,95656,99190,102364,108213,110704,112851,117177,118108,119825,120549,121783,125223,128047,129797,130530,132161,132688,133334,136308,139767,140207,141730,144672,147427,150106,152162,152965,153688,155418,157893,160291,161738,164083,166255,168158,169264,173865,177902,180666,183063,184700,185927,187174,188532,189494,190622,191860,194376,196214,197321,198627,200265,200663,201663,202351,202971,204836,205670,206180,207025,207877,208450,208984,209426],{"id":844,"title":845,"authorsCollection":846,"content":854,"extension":228,"faqItemsCollection":1864,"faqTitle":2052,"featured":6,"hashTags":59,"meta":2053,"metaTitle":2054,"ogImage":59,"postType":59,"publishedDate":2055,"relatedBlogPostsCollection":2056,"slug":4882,"stem":4883,"subtitle":4884,"summary":4885,"synopsis":4895,"sys":4896,"tagsCollection":4899,"topicsCollection":4908,"__hash__":4942},"blog/blog/shadow-ai-how-to-discover-govern-and-secure-ai-apps.json","Shadow AI: how to discover, govern, and secure AI apps",{"items":847},[848],{"fullName":849,"firstName":850,"jobTitle":851,"socialLinks":59,"profilePicture":852},"Kelly Davenport","Kelly","Product Team",{"url":853},"https://images.ctfassets.net/y1cdw1ablpvd/1hi8bEuVfn5sF57LivAq6d/9a3b82426c697d765e2e450e33a18424/kelly_profile_pic.jpeg",{"json":855,"links":1710},{"nodeType":856,"data":857,"content":858},"document",{},[859,868,875,926,933,940,995,1004,1008,1017,1024,1036,1042,1054,1060,1072,1078,1081,1089,1096,1115,1126,1133,1140,1143,1151,1158,1183,1189,1196,1212,1228,1234,1250,1266,1273,1280,1287,1293,1296,1304,1311,1319,1326,1342,1349,1374,1380,1387,1393,1405,1412,1418,1424,1427,1435,1442,1461,1468,1476,1483,1495,1511,1517,1529,1563,1570,1586,1592,1608,1615,1622,1625,1633,1640,1647,1654,1661,1668,1675,1678,1685,1692],{"nodeType":860,"data":861,"content":862},"paragraph",{},[863],{"nodeType":864,"value":865,"marks":866,"data":867},"text","Every security team that's blocked an AI tool at the network level has had the same experience three months later: The tool they blocked isn't in use, but a dozen they've never heard of are.",[],{},{"nodeType":860,"data":869,"content":870},{},[871],{"nodeType":864,"value":872,"marks":873,"data":874},"The block didn't stop employees from using AI. It just prevented the security team from seeing what’s actually happening.",[],{},{"nodeType":860,"data":876,"content":877},{},[878,882,891,895,901,905,910,914,922],{"nodeType":864,"value":879,"marks":880,"data":881},"The data backs up this pattern. ",[],{},{"nodeType":883,"data":884,"content":886},"hyperlink",{"uri":885},"https://pushsecurity.com/blog/what-push-data-reveals-about-the-state-of-shadow-ai/",[887],{"nodeType":864,"value":888,"marks":889,"data":890},"Push telemetry",[],{},{"nodeType":864,"value":892,"marks":893,"data":894}," shows that the average organization has ",[],{},{"nodeType":864,"value":896,"marks":897,"data":900},"16 AI apps, 17 AI browser extensions,",[898],{"type":899},"bold",{},{"nodeType":864,"value":902,"marks":903,"data":904}," and ",[],{},{"nodeType":864,"value":906,"marks":907,"data":909},"17 AI OAuth integrations",[908],{"type":899},{},{"nodeType":864,"value":911,"marks":912,"data":913}," in active use during a typical week — most unapproved. Meanwhile, ",[],{},{"nodeType":883,"data":915,"content":917},{"uri":916},"https://www.okta.com/newsroom/articles/ai-agents-at-work-2026-agentic-enterprise-security/",[918],{"nodeType":864,"value":919,"marks":920,"data":921},"Okta found",[],{},{"nodeType":864,"value":923,"marks":924,"data":925}," that 80% of employees who use unapproved AI tools do so because it's easier to use their own accounts, and 57% because the approval process is too slow.",[],{},{"nodeType":860,"data":927,"content":928},{},[929],{"nodeType":864,"value":930,"marks":931,"data":932},"The organizations getting this right have stopped treating AI governance as an access-control problem — which tools to allow, which to block — and started treating it as an invitation to build out an infrastructure to enable appropriate use. Employees are going to use the tools they need to get their work done. The question is whether they'll use them on a path you built and instrumented, or on one they carved themselves.",[],{},{"nodeType":860,"data":934,"content":935},{},[936],{"nodeType":864,"value":937,"marks":938,"data":939},"This guide walks through how to build that paved path. Using Push, you can:",[],{},{"nodeType":941,"data":942,"content":943},"unordered-list",{},[944,955,965,975,985],{"nodeType":945,"data":946,"content":947},"list-item",{},[948],{"nodeType":860,"data":949,"content":950},{},[951],{"nodeType":864,"value":952,"marks":953,"data":954},"Identify shadow AI, including personal accounts on approved corporate apps, AI browser extensions, OAuth integrations into sensitive systems, and AI browser usage.",[],{},{"nodeType":945,"data":956,"content":957},{},[958],{"nodeType":860,"data":959,"content":960},{},[961],{"nodeType":864,"value":962,"marks":963,"data":964},"Enforce policies on data flows into and out of AI apps, including blocking unapproved file uploads, downloads, and clipboard pastes; and monitoring AI chat transcripts.",[],{},{"nodeType":945,"data":966,"content":967},{},[968],{"nodeType":860,"data":969,"content":970},{},[971],{"nodeType":864,"value":972,"marks":973,"data":974},"Use just-in-time guardrails to intercept users accessing unapproved AI tools and point them at approved alternatives.",[],{},{"nodeType":945,"data":976,"content":977},{},[978],{"nodeType":860,"data":979,"content":980},{},[981],{"nodeType":864,"value":982,"marks":983,"data":984},"Prevent unwanted MCP connections with app-agnostic controls.",[],{},{"nodeType":945,"data":986,"content":987},{},[988],{"nodeType":860,"data":989,"content":990},{},[991],{"nodeType":864,"value":992,"marks":993,"data":994},"Automate a lot of the work so you don’t burn out your team as the AI landscape continues to shift.",[],{},{"nodeType":996,"data":997,"content":1003},"embedded-entry-block",{"target":998},{"sys":999},{"id":1000,"type":1001,"linkType":1002},"29N8YH9As3GHypOve3br80","Link","Entry",[],{"nodeType":1005,"data":1006,"content":1007},"hr",{},[],{"nodeType":1009,"data":1010,"content":1011},"heading-1",{},[1012],{"nodeType":864,"value":1013,"marks":1014,"data":1016},"What is shadow AI, and why can't you manage it like shadow IT?",[1015],{"type":899},{},{"nodeType":860,"data":1018,"content":1019},{},[1020],{"nodeType":864,"value":1021,"marks":1022,"data":1023},"Shadow AI is any use of AI tools, services, or integrations that happens outside an organization's security governance and visibility. Security teams have been managing shadow SaaS for years, but shadow AI can't be addressed with the same playbook — for three reasons.",[],{},{"nodeType":860,"data":1025,"content":1026},{},[1027,1032],{"nodeType":864,"value":1028,"marks":1029,"data":1031},"First",[1030],{"type":899},{},{"nodeType":864,"value":1033,"marks":1034,"data":1035},", it spans multiple categories that each need different controls: unapproved AI apps, personal accounts on approved corporate AI tools, AI browser extensions, and OAuth integrations into corporate systems. Blocking unapproved apps doesn't address personal accounts on approved ones, and neither solves the extension or OAuth problem. ",[],{},{"nodeType":996,"data":1037,"content":1041},{"target":1038},{"sys":1039},{"id":1040,"type":1001,"linkType":1002},"2hsKQ9DEspflhmtR0bE7QY",[],{"nodeType":860,"data":1043,"content":1044},{},[1045,1050],{"nodeType":864,"value":1046,"marks":1047,"data":1049},"Second",[1048],{"type":899},{},{"nodeType":864,"value":1051,"marks":1052,"data":1053},", the tools most organizations rely on to manage shadow SaaS — SWGs, CASBs, EDR, IdP logs — are structurally blind to shadow AI. An SWG sees that someone visited an AI domain but can't tell you whether they logged in, pasted source code into a prompt, or granted OAuth access to your Google Workspace tenant. EDR doesn't see browser-layer activity at all. IdP logs capture OAuth grants routed through the identity provider but miss tools accessed via direct signup or personal accounts. Instead, the activity security teams need to see happens primarily inside the browser.",[],{},{"nodeType":996,"data":1055,"content":1059},{"target":1056},{"sys":1057},{"id":1058,"type":1001,"linkType":1002},"1vE0dyAKdnTSjyAJ4Xoadd",[],{"nodeType":860,"data":1061,"content":1062},{},[1063,1068],{"nodeType":864,"value":1064,"marks":1065,"data":1067},"Third",[1066],{"type":899},{},{"nodeType":864,"value":1069,"marks":1070,"data":1071},", the risk profile is different. Shadow AI tools increasingly function as hubs — connected via OAuth integrations and MCP to email, cloud storage, code repositories, and other high-value systems. They leak sensitive data outward (employees paste source code, credentials, and internal documents into prompts daily) while simultaneously expanding the attack surface inward (compromise a single AI app and an attacker inherits whatever access the employee granted it, turning one ungoverned tool into a pivot point across the SaaS estate). ",[],{},{"nodeType":996,"data":1073,"content":1077},{"target":1074},{"sys":1075},{"id":1076,"type":1001,"linkType":1002},"3ldZ23OORTu7INBfSnE7R7",[],{"nodeType":1005,"data":1079,"content":1080},{},[],{"nodeType":1009,"data":1082,"content":1083},{},[1084],{"nodeType":864,"value":1085,"marks":1086,"data":1088},"Why blocking AI usage fails",[1087],{"type":899},{},{"nodeType":860,"data":1090,"content":1091},{},[1092],{"nodeType":864,"value":1093,"marks":1094,"data":1095},"The instinct to block AI tools makes sense. Executives are asking about AI risk to the business, a new tool appears every week, and blocking unapproved apps feels like a quick way to stop the bleeding.",[],{},{"nodeType":860,"data":1097,"content":1098},{},[1099,1103,1111],{"nodeType":864,"value":1100,"marks":1101,"data":1102},"Unfortunately, blocking doesn't work for long. The latest security frameworks — including the ",[],{},{"nodeType":883,"data":1104,"content":1106},{"uri":1105},"https://www.sans.org/mlp/2026-ai-security-maturity-model-ebook",[1107],{"nodeType":864,"value":1108,"marks":1109,"data":1110},"SANS AI Security Maturity Model",[],{},{"nodeType":864,"value":1112,"marks":1113,"data":1114}," — all agree: Block-based AI policies drive usage underground rather than preventing it. ",[],{},{"nodeType":1116,"data":1117,"content":1118},"blockquote",{},[1119],{"nodeType":860,"data":1120,"content":1121},{},[1122],{"nodeType":864,"value":1123,"marks":1124,"data":1125},"A block-based AI policy may feel like risk management, but practitioner experience shows that it typically drives AI usage underground rather than preventing it. The goal is not to eliminate AI use; it is to bring it into visibility where it can be governed.",[],{},{"nodeType":860,"data":1127,"content":1128},{},[1129],{"nodeType":864,"value":1130,"marks":1131,"data":1132},"These kinds of barricades also fail for a structural reason: They're built on the network perimeter, and AI usage doesn't cross the perimeter in ways network tools can inspect.",[],{},{"nodeType":860,"data":1134,"content":1135},{},[1136],{"nodeType":864,"value":1137,"marks":1138,"data":1139},"The most damaging consequence of blocking isn't the workarounds themselves — it's the loss of visibility. To begin building a better path for employees, you have to start with seeing what's actually happening.",[],{},{"nodeType":1005,"data":1141,"content":1142},{},[],{"nodeType":1009,"data":1144,"content":1145},{},[1146],{"nodeType":864,"value":1147,"marks":1148,"data":1150},"Using Push to discover, govern, and control shadow AI",[1149],{"type":899},{},{"nodeType":860,"data":1152,"content":1153},{},[1154],{"nodeType":864,"value":1155,"marks":1156,"data":1157},"Push Security is a browser security platform that gets you the vantage point you need to start addressing shadow AI. Push deploys as a lightweight extension to employees' existing browsers rather than requiring a full browser migration, giving security teams visibility into browser-layer activity that network and endpoint tools structurally lack.",[],{},{"nodeType":860,"data":1159,"content":1160},{},[1161,1165,1170,1174,1179],{"nodeType":864,"value":1162,"marks":1163,"data":1164},"Push discovers AI tools through ",[],{},{"nodeType":864,"value":1166,"marks":1167,"data":1169},"automatic",[1168],{"type":899},{},{"nodeType":864,"value":1171,"marks":1172,"data":1173}," ",[],{},{"nodeType":864,"value":1175,"marks":1176,"data":1178},"app discovery",[1177],{"type":899},{},{"nodeType":864,"value":1180,"marks":1181,"data":1182},", allowing you to identify applications from actual browser login events rather than network traffic logs. ",[],{},{"nodeType":996,"data":1184,"content":1188},{"target":1185},{"sys":1186},{"id":1187,"type":1001,"linkType":1002},"4eTkgU2dxhMueHPiwuCWDl",[],{"nodeType":860,"data":1190,"content":1191},{},[1192],{"nodeType":864,"value":1193,"marks":1194,"data":1195},"When an employee signs into a new AI service, Push registers the authentication event, identifies the application, and logs how the employee authenticated — corporate SSO, OIDC, a standalone password, or a personal account. ",[],{},{"nodeType":860,"data":1197,"content":1198},{},[1199,1203,1208],{"nodeType":864,"value":1200,"marks":1201,"data":1202},"Push then applies ",[],{},{"nodeType":864,"value":1204,"marks":1205,"data":1207},"app categories ",[1206],{"type":899},{},{"nodeType":864,"value":1209,"marks":1210,"data":1211},"automatically, classifying the discovered application by type without requiring security teams to build or maintain manual lists.",[],{},{"nodeType":860,"data":1213,"content":1214},{},[1215,1219,1224],{"nodeType":864,"value":1216,"marks":1217,"data":1218},"Push extends the same discovery across the other three shadow AI dimensions. The platform’s ",[],{},{"nodeType":864,"value":1220,"marks":1221,"data":1223},"browser extension discovery ",[1222],{"type":899},{},{"nodeType":864,"value":1225,"marks":1226,"data":1227},"capability catalogs every AI-related extension installed across the workforce, including the specific permissions each extension has requested (access to page content, browsing history, clipboard data), allowing you to review whether those permission combinations could enable data exfiltration or account takeover. ",[],{},{"nodeType":996,"data":1229,"content":1233},{"target":1230},{"sys":1231},{"id":1232,"type":1001,"linkType":1002},"1z56sTWWN9E35dE3HhbRNY",[],{"nodeType":860,"data":1235,"content":1236},{},[1237,1241,1246],{"nodeType":864,"value":1238,"marks":1239,"data":1240},"Push’s ",[],{},{"nodeType":864,"value":1242,"marks":1243,"data":1245},"OAuth integration discovery",[1244],{"type":899},{},{"nodeType":864,"value":1247,"marks":1248,"data":1249}," identifies OAuth connections between AI tools and corporate systems — the grants that create persistent API-level access to platforms like Google Workspace.",[],{},{"nodeType":860,"data":1251,"content":1252},{},[1253,1257,1262],{"nodeType":864,"value":1254,"marks":1255,"data":1256},"For each discovered tool, Push also captures authentication context that points to ",[],{},{"nodeType":864,"value":1258,"marks":1259,"data":1261},"where hidden security risks lie",[1260],{"type":899},{},{"nodeType":864,"value":1263,"marks":1264,"data":1265},": SSO vs. password vs. personal account, MFA status, and password strength. An AI tool accessed via corporate SSO with MFA is a different risk than the same tool accessed through a personal Gmail account with a reused password. Similarly, employees using only a password to access AI tools that they’ve integrated with other sensitive corporate systems introduces another level of downstream risk. That context is what makes the inventory actionable.",[],{},{"nodeType":860,"data":1267,"content":1268},{},[1269],{"nodeType":864,"value":1270,"marks":1271,"data":1272},"Push also detects when employees are adopting agentic browsers — autonomous AI-powered browsers like Comet, Atlas, and Dia that browse the web and interact with applications on behalf of users or automated workflows. ",[],{},{"nodeType":860,"data":1274,"content":1275},{},[1276],{"nodeType":864,"value":1277,"marks":1278,"data":1279},"These represent an emerging category of non-human AI identity. They authenticate to SaaS applications, access corporate data, and make API calls, but they aren't managed through traditional identity infrastructure. Push helps you identify these agentic browsers as they appear in the environment, before they become a blind spot.",[],{},{"nodeType":860,"data":1281,"content":1282},{},[1283],{"nodeType":864,"value":1284,"marks":1285,"data":1286},"Returning to the paved path metaphor, this step is about surveying the site before you figure out where to put in the path. You need to understand who’s already doing what, where, so you can find the risks you need to address.",[],{},{"nodeType":996,"data":1288,"content":1292},{"target":1289},{"sys":1290},{"id":1291,"type":1001,"linkType":1002},"5iXyJbxwWiUt7WoP7FF0Y2",[],{"nodeType":1005,"data":1294,"content":1295},{},[],{"nodeType":1009,"data":1297,"content":1298},{},[1299],{"nodeType":864,"value":1300,"marks":1301,"data":1303},"Step-by-step guide to enforcing AI governance without blocking everything",[1302],{"type":899},{},{"nodeType":860,"data":1305,"content":1306},{},[1307],{"nodeType":864,"value":1308,"marks":1309,"data":1310},"The barricade approach favored by existing solutions like network proxies gives you two options: Allow or block. Enforcing AI policy effectively requires a third approach with a bit more nuance: Guide the user to do the right thing. ",[],{},{"nodeType":1312,"data":1313,"content":1314},"heading-2",{},[1315],{"nodeType":864,"value":1316,"marks":1317,"data":1318},"Building the \"paved path\" with Push",[],{},{"nodeType":860,"data":1320,"content":1321},{},[1322],{"nodeType":864,"value":1323,"marks":1324,"data":1325},"Push provides all three options as configurable enforcement modes for a variety of readymade controls. Progressing between them is how organizations can move from \"we don't know what people are doing with AI\" to evidence-based governance.",[],{},{"nodeType":860,"data":1327,"content":1328},{},[1329,1333,1338],{"nodeType":864,"value":1330,"marks":1331,"data":1332},"Push can be deployed silently and begin observing AI usage with no employee-facing intervention. This is effectively Push in ",[],{},{"nodeType":864,"value":1334,"marks":1335,"data":1337},"Monitor",[1336],{"type":899},{},{"nodeType":864,"value":1339,"marks":1340,"data":1341}," mode.",[],{},{"nodeType":860,"data":1343,"content":1344},{},[1345],{"nodeType":864,"value":1346,"marks":1347,"data":1348},"The platform records which tools are in use, how employees authenticated, and what usage patterns are emerging. Most organizations should start here to generate a baseline. Telemetry can be streamed to your SIEM or other downstream system to get alerted to newly adopted apps and extensions, and to surface security risks like insecure accounts.",[],{},{"nodeType":860,"data":1350,"content":1351},{},[1352,1356,1361,1365,1370],{"nodeType":864,"value":1353,"marks":1354,"data":1355},"Next, most organizations will transition to ",[],{},{"nodeType":864,"value":1357,"marks":1358,"data":1360},"Acknowledge",[1359],{"type":899},{},{"nodeType":864,"value":1362,"marks":1363,"data":1364}," mode for controls like in-browser ",[],{},{"nodeType":864,"value":1366,"marks":1367,"data":1369},"App banners",[1368],{"type":899},{},{"nodeType":864,"value":1371,"marks":1372,"data":1373},". With this control, you can warn employees when they attempt to use an unapproved AI tool and point them to approved alternatives.",[],{},{"nodeType":996,"data":1375,"content":1379},{"target":1376},{"sys":1377},{"id":1378,"type":1001,"linkType":1002},"17nT8JDTyHLExwhb2upb6T",[],{"nodeType":860,"data":1381,"content":1382},{},[1383],{"nodeType":864,"value":1384,"marks":1385,"data":1386},"The employee isn't blocked — they're guided toward the governed path at the moment they're about to step off it. This is more effective than a policy document because it arrives right when they need the reminder. ",[],{},{"nodeType":996,"data":1388,"content":1392},{"target":1389},{"sys":1390},{"id":1391,"type":1001,"linkType":1002},"2lDFCuc48jcGODcwD6nYhK",[],{"nodeType":860,"data":1394,"content":1395},{},[1396,1401],{"nodeType":864,"value":1397,"marks":1398,"data":1400},"Block",[1399],{"type":899},{},{"nodeType":864,"value":1402,"marks":1403,"data":1404}," mode prevents access entirely — Push presents a blocking banner to users who attempt to log in to unapproved apps. ",[],{},{"nodeType":860,"data":1406,"content":1407},{},[1408],{"nodeType":864,"value":1409,"marks":1410,"data":1411},"Push makes the Monitor → Acknowledge → Block progression practical through automatic app categorization. This means that new AI tools inherit whatever governance mode the team has set for that category, without manual blocklist updates. All controls are configurable per user group — the data science team can use AI coding assistants while uploads from finance are restricted — because different teams have different risk profiles.",[],{},{"nodeType":996,"data":1413,"content":1417},{"target":1414},{"sys":1415},{"id":1416,"type":1001,"linkType":1002},"5EBOHy6X6iJfmzJ65txGOv",[],{"nodeType":996,"data":1419,"content":1423},{"target":1420},{"sys":1421},{"id":1422,"type":1001,"linkType":1002},"31JnX2KNCAnlaVS9Qqqh8W",[],{"nodeType":1005,"data":1425,"content":1426},{},[],{"nodeType":1009,"data":1428,"content":1429},{},[1430],{"nodeType":864,"value":1431,"marks":1432,"data":1434},"Guardrails: how to prevent data loss to AI tools",[1433],{"type":899},{},{"nodeType":860,"data":1436,"content":1437},{},[1438],{"nodeType":864,"value":1439,"marks":1440,"data":1441},"Even on the paved path, you need guardrails because preventing data loss to AI tools is a separate problem from controlling which tools employees use. An employee on an approved AI tool can still paste an AWS access key into a prompt, upload a customer spreadsheet, or share confidential documents in a conversation.",[],{},{"nodeType":860,"data":1443,"content":1444},{},[1445,1448,1457],{"nodeType":864,"value":21,"marks":1446,"data":1447},[],{},{"nodeType":883,"data":1449,"content":1450},{"uri":916},[1451],{"nodeType":864,"value":1452,"marks":1453,"data":1456},"Okta's data",[1454],{"type":1455},"underline",{},{"nodeType":864,"value":1458,"marks":1459,"data":1460}," on what employees actually share shows what’s at stake: 54% share internal messages and emails with AI tools, 39% share confidential company documents, and 28% share banking and payment information.",[],{},{"nodeType":860,"data":1462,"content":1463},{},[1464],{"nodeType":864,"value":1465,"marks":1466,"data":1467},"Blocking is too much of a blunt instrument here, as obviously, you want employees to be able to use approved tools. The answer is controlling what data enters them.",[],{},{"nodeType":1312,"data":1469,"content":1470},{},[1471],{"nodeType":864,"value":1472,"marks":1473,"data":1475},"Browser-layer controls for AI data leakage",[1474],{"type":899},{},{"nodeType":860,"data":1477,"content":1478},{},[1479],{"nodeType":864,"value":1480,"marks":1481,"data":1482},"Push addresses this problem with four browser-layer data controls, each targeting a distinct exfiltration path and supporting the same Monitor → Warn → Block enforcement modes:",[],{},{"nodeType":860,"data":1484,"content":1485},{},[1486,1491],{"nodeType":864,"value":1487,"marks":1488,"data":1490},"Clipboard blocking",[1489],{"type":899},{},{"nodeType":864,"value":1492,"marks":1493,"data":1494}," addresses the most common path for sensitive data into AI tools: copy-paste. Push matches clipboard content against preconfigured patterns for AWS access keys, GitHub tokens, API keys, credit card numbers, and personal identifiers, plus custom content rules for organization-specific data like internal project codes. ",[],{},{"nodeType":860,"data":1496,"content":1497},{},[1498,1502,1507],{"nodeType":864,"value":1499,"marks":1500,"data":1501},"In ",[],{},{"nodeType":864,"value":1503,"marks":1504,"data":1506},"Warn",[1505],{"type":899},{},{"nodeType":864,"value":1508,"marks":1509,"data":1510}," mode, Push offers a redacted version of the sensitive data so the employee can continue their work — getting help with their code, for instance — without exposing the actual credential.",[],{},{"nodeType":996,"data":1512,"content":1516},{"target":1513},{"sys":1514},{"id":1515,"type":1001,"linkType":1002},"1JarUdbe8AkJlgB0LjchNR",[],{"nodeType":860,"data":1518,"content":1519},{},[1520,1525],{"nodeType":864,"value":1521,"marks":1522,"data":1524},"File upload blocking",[1523],{"type":899},{},{"nodeType":864,"value":1526,"marks":1527,"data":1528}," prevents files from being uploaded to specific AI apps, configurable by app, user group, and file type (Push provides a list for fast configuration).",[],{},{"nodeType":860,"data":1530,"content":1531},{},[1532,1537,1541,1550,1554,1559],{"nodeType":864,"value":1533,"marks":1534,"data":1536},"File download blocking",[1535],{"type":899},{},{"nodeType":864,"value":1538,"marks":1539,"data":1540}," addresses a different common risk: Employees downloading desktop versions of AI tools, which moves usage outside the browser where Push has visibility. Download blocking also covers files generated inside web applications, such as an AI tool that produces a downloadable asset. (Push’s detection and response capabilities also protect against scenarios in which attackers present users with ",[],{},{"nodeType":883,"data":1542,"content":1544},{"uri":1543},"https://pushsecurity.com/blog/llmshare-malvertising-campaign",[1545],{"nodeType":864,"value":1546,"marks":1547,"data":1549},"faked AI tool download pages",[1548],{"type":1455},{},{"nodeType":864,"value":1551,"marks":1552,"data":1553}," as part of phishing campaigns, a technique we dubbed ",[],{},{"nodeType":864,"value":1555,"marks":1556,"data":1558},"LLMShare",[1557],{"type":899},{},{"nodeType":864,"value":1560,"marks":1561,"data":1562},".)",[],{},{"nodeType":860,"data":1564,"content":1565},{},[1566],{"nodeType":864,"value":1567,"marks":1568,"data":1569},"Push also provides telemetry streams on all file upload and download events in your environment, so you can get a baseline pattern of life and identify anomalies that could indicate insider risk. ",[],{},{"nodeType":860,"data":1571,"content":1572},{},[1573,1577,1582],{"nodeType":864,"value":1574,"marks":1575,"data":1576},"The Push platform also provides the capability to write your own ",[],{},{"nodeType":864,"value":1578,"marks":1579,"data":1581},"custom detections",[1580],{"type":899},{},{"nodeType":864,"value":1583,"marks":1584,"data":1585},", which you can use for other organization-specific use cases, or even to extend your control over GenAI tool usage, such as by blocking unapproved MCP server connections.",[],{},{"nodeType":996,"data":1587,"content":1591},{"target":1588},{"sys":1589},{"id":1590,"type":1001,"linkType":1002},"5XYVgJjgUPUfY1W1Zcgrvm",[],{"nodeType":860,"data":1593,"content":1594},{},[1595,1599,1604],{"nodeType":864,"value":1596,"marks":1597,"data":1598},"Finally, ",[],{},{"nodeType":864,"value":1600,"marks":1601,"data":1603},"AI conversation visibility",[1602],{"type":899},{},{"nodeType":864,"value":1605,"marks":1606,"data":1607}," gives you a window into what is being shared in AI chats, consumable as a stream of events to your SIEM or SOAR. Over time, you can build up a picture of what’s normal or what violates company policy, and create a queryable history to identify potential data loss during an incident response process.",[],{},{"nodeType":860,"data":1609,"content":1610},{},[1611],{"nodeType":864,"value":1612,"marks":1613,"data":1614},"Traditional DLP at the endpoint or network layer misses these paths. Network DLP and SWGs can't inspect clipboard pastes into AI prompts — there's no network event to intercept. Endpoint DLP sees file-system operations but not in-browser activity. ",[],{},{"nodeType":860,"data":1616,"content":1617},{},[1618],{"nodeType":864,"value":1619,"marks":1620,"data":1621},"Push's controls operate where the data is flowing — inside the browser session.",[],{},{"nodeType":1005,"data":1623,"content":1624},{},[],{"nodeType":1312,"data":1626,"content":1627},{},[1628],{"nodeType":864,"value":1629,"marks":1630,"data":1632},"How to keep up with AI tool sprawl",[1631],{"type":899},{},{"nodeType":860,"data":1634,"content":1635},{},[1636],{"nodeType":864,"value":1637,"marks":1638,"data":1639},"Pragmatically, the hardest part of generative AI security isn't the initial steps you take — it's keeping up with the sprawl. Point-in-time audits quickly become outdated when the landscape changes so quickly.",[],{},{"nodeType":860,"data":1641,"content":1642},{},[1643],{"nodeType":864,"value":1644,"marks":1645,"data":1646},"Push addresses this with continuous discovery, telemetry streams for the most important points of user interaction with AI apps, and controls that allow you to adapt quickly with simple configuration changes.",[],{},{"nodeType":860,"data":1648,"content":1649},{},[1650],{"nodeType":864,"value":1651,"marks":1652,"data":1653},"With automatic app categorization, if an employee starts using a new AI code assistant that didn't exist last quarter, Push discovers it, classifies it, and applies your governance rules — no manual intervention required.",[],{},{"nodeType":860,"data":1655,"content":1656},{},[1657],{"nodeType":864,"value":1658,"marks":1659,"data":1660},"All AI-related telemetry — app logins, file uploads and downloads, clipboard events, browser extensions, AI chat transcripts — can be sent as structured data to your SIEM.",[],{},{"nodeType":860,"data":1662,"content":1663},{},[1664],{"nodeType":864,"value":1665,"marks":1666,"data":1667},"This gives you all the information you need to track your progress, check your compliance status, and identify trends in AI usage and risk across your business as you make progress toward your goal, armed with the right data you didn't have before.",[],{},{"nodeType":860,"data":1669,"content":1670},{},[1671],{"nodeType":864,"value":1672,"marks":1673,"data":1674},"The goal isn't perfect control over every AI interaction. It's having enough visibility to make informed decisions and enough control to enforce them, without intensifying the shadow AI usage problem you set out to solve. Push can help you get there.",[],{},{"nodeType":1005,"data":1676,"content":1677},{},[],{"nodeType":860,"data":1679,"content":1680},{},[1681],{"nodeType":864,"value":1682,"marks":1683,"data":1684},"Push Security is the most powerful AI-native security tool in the browser. Think EDR, but for the browser — high-fidelity telemetry and real-time control across every session, on every device, with no browser migration required.",[],{},{"nodeType":860,"data":1686,"content":1687},{},[1688],{"nodeType":864,"value":1689,"marks":1690,"data":1691},"Security teams use Push to detect and stop advanced browser-based attacks like AiTM phishing, ClickFix, and session hijacking; gain visibility and control over AI tool usage across their workforce; harden identities by surfacing credential reuse, SSO gaps, and shadow IT; and support data loss and insider investigations with browser-layer telemetry that other tools can't see.",[],{},{"nodeType":860,"data":1693,"content":1694},{},[1695,1698,1707],{"nodeType":864,"value":21,"marks":1696,"data":1697},[],{},{"nodeType":883,"data":1699,"content":1701},{"uri":1700},"https://pushsecurity.com/demo",[1702],{"nodeType":864,"value":1703,"marks":1704,"data":1706},"Book a live demo to learn more.",[1705],{"type":1455},{},{"nodeType":864,"value":21,"marks":1708,"data":1709},[],{},{"entries":1711},{"hyperlink":1712,"inline":1713,"block":1714},[],[],[1715,1722,1731,1738,1776,1783,1790,1796,1803,1830,1838,1852,1858],{"sys":1716,"__typename":1717,"type":1718,"ctaText":1719,"buttonLabel":1720,"buttonColour":1721,"buttonUrl":58},{"id":1000},"CtaWidget","Custom","Don't miss our upcoming webinar on Shadow AI and how to manage it in your organization.","Register Now","sunny orange",{"sys":1723,"__typename":1724,"title":1725,"caption":1726,"layoutMode":59,"file":1727},{"id":1040},"Image","ai-sprawl-infographic","AI sprawl is worse than most organizations realize. ",{"url":1728,"width":1729,"height":1730},"https://images.ctfassets.net/y1cdw1ablpvd/7vCbQdyRkjLs5EmsjBBAQp/3bfb13e7ec19be76325cdc69297c48c3/ai-sprawl-infographic_2x__3_.png",1800,1192,{"sys":1732,"__typename":1724,"title":1733,"caption":1733,"layoutMode":59,"file":1734},{"id":1058},"Shadow AI visibility gaps using traditional tools",{"url":1735,"width":1736,"height":1737},"https://images.ctfassets.net/y1cdw1ablpvd/7HQl2qfsTiCwa2pRzCVqDE/d87180dd96358326097565d8a60e8591/image9.png",1999,1125,{"sys":1739,"__typename":1740,"content":1741,"name":1775,"title":59},{"id":1076},"InsightTextBlockComponent",{"json":1742},{"data":1743,"content":1744,"nodeType":856},{},[1745],{"data":1746,"content":1747,"nodeType":860},{},[1748,1752,1759,1763,1771],{"data":1749,"marks":1750,"value":1751,"nodeType":864},{},[],"Attackers are already exploiting this interconnectivity — from ",{"data":1753,"content":1754,"nodeType":883},{"uri":1543},[1755],{"data":1756,"marks":1757,"value":1758,"nodeType":864},{},[],"malvertising campaigns that impersonate AI tools",{"data":1760,"marks":1761,"value":1762,"nodeType":864},{},[]," to steal credentials, to ",{"data":1764,"content":1766,"nodeType":883},{"uri":1765},"https://pushsecurity.com/blog/analyzing-the-instructure-breach",[1767],{"data":1768,"marks":1769,"value":1770,"nodeType":864},{},[],"leveraging OAuth consent grants in supply chain attacks",{"data":1772,"marks":1773,"value":1774,"nodeType":864},{},[],". ","Shadow AI guide IB3",{"sys":1777,"__typename":1724,"title":1778,"caption":1778,"layoutMode":59,"file":1779},{"id":1187},"Push automatically discovers and inventories AI apps from browser login events.",{"url":1780,"width":1781,"height":1782},"https://images.ctfassets.net/y1cdw1ablpvd/5krEecjMxIJgVCa74A79xa/3bb94ca3b496e9486f94526d708e34d5/image8.png",1469,850,{"sys":1784,"__typename":1724,"title":1785,"caption":1785,"layoutMode":59,"file":1786},{"id":1232},"Push discovers AI browser extensions used by your users, across every browser.",{"url":1787,"width":1788,"height":1789},"https://images.ctfassets.net/y1cdw1ablpvd/14lMFifCBB9RwQpt101tNd/dabe2713e58e787175701ec0d35076ca/image2.png",1470,851,{"sys":1791,"__typename":1724,"title":1792,"caption":1792,"layoutMode":59,"file":1793},{"id":1291},"Push's four-step path to secure AI adoption",{"url":1794,"width":1736,"height":1795},"https://images.ctfassets.net/y1cdw1ablpvd/E1wuJW4EzmjeLTpnHHM9f/895569f4b215b1b7b82e697c40462cbc/image3.png",1013,{"sys":1797,"__typename":1724,"title":1798,"caption":1798,"layoutMode":59,"file":1799},{"id":1378},"Push in-browser warning screen guiding the user toward the preferred AI app",{"url":1800,"width":1801,"height":1802},"https://images.ctfassets.net/y1cdw1ablpvd/3ouLBkKhiEcBmY8V2XAaUz/71a3cb221adba7d2744ff8b02bab3891/image4.png",1435,738,{"sys":1804,"__typename":1740,"content":1805,"name":1829,"title":59},{"id":1391},{"json":1806},{"data":1807,"content":1808,"nodeType":856},{},[1809],{"data":1810,"content":1811,"nodeType":860},{},[1812,1816,1825],{"data":1813,"marks":1814,"value":1815,"nodeType":864},{},[],"“A published policy is not the same thing as people actually doing that,” explains Push customer Stephen Shkardoon, cybersecurity manager at Te Herenga Waka — Victoria University of Wellington in New Zealand, on one of the drivers for their ",{"data":1817,"content":1819,"nodeType":883},{"uri":1818},"https://pushsecurity.com/customer-stories/te-herenga-waka-victoria-university-of-wellington",[1820],{"data":1821,"marks":1822,"value":1824,"nodeType":864},{},[1823],{"type":1455},"selection of Push Security",{"data":1826,"marks":1827,"value":1828,"nodeType":864},{},[]," to get control of AI usage at their organization.","Shadow AI guide IB1",{"sys":1831,"__typename":1724,"title":1832,"caption":1833,"layoutMode":59,"file":1834},{"id":1416},"Rules for AI app controls can be configured on a variety of conditions, including user groups, app attributes, and what mode of enforcement you wish to use.","Rules for AI app controls can be configured on a variety of conditions, including user groups, app attributes, and the mode of enforcement.",{"url":1835,"width":1836,"height":1837},"https://images.ctfassets.net/y1cdw1ablpvd/7czh28QGwm0ZStUmeWXBaq/667ee2441911fa4006a2ec75ebf727ea/image6.png",692,830,{"sys":1839,"__typename":1740,"content":1840,"name":1851,"title":59},{"id":1422},{"json":1841},{"data":1842,"content":1843,"nodeType":856},{},[1844],{"data":1845,"content":1846,"nodeType":860},{},[1847],{"data":1848,"marks":1849,"value":1850,"nodeType":864},{},[],"Push customers love the flexibility of this control compared to an SWG or CASB, which often rely on binary enforcement at the domain level only. ","Shadow AI guide IB2",{"sys":1853,"__typename":1724,"title":1854,"caption":1854,"layoutMode":59,"file":1855},{"id":1515},"Push blocks clipboard copy events that violate your policy.",{"url":1856,"width":1736,"height":1857},"https://images.ctfassets.net/y1cdw1ablpvd/jjUt4bChHcCWQJXqNzyQ8/c16974d72ef2bbc65689bf46bcb59e6f/image5.png",1295,{"sys":1859,"__typename":1724,"title":1860,"caption":1860,"layoutMode":59,"file":1861},{"id":1590},"Push can block unapproved MCP connection requests in real time.",{"url":1862,"width":1736,"height":1863},"https://images.ctfassets.net/y1cdw1ablpvd/wTAwk90bIA1B3XSkRf4M4/e4d3630af83501e6b4b05217fdf2e600/image1.png",1203,{"items":1865},[1866,1879,1892,1912,1932,1952,1972,1992,2012,2032],{"answer":1867,"question":1878},{"json":1868},{"nodeType":856,"data":1869,"content":1870},{},[1871],{"nodeType":860,"data":1872,"content":1873},{},[1874],{"nodeType":864,"value":1875,"marks":1876,"data":1877},"Network monitoring tools see domain-level traffic but can't tell you what's actually happening inside an AI session — whether an employee is browsing a tool's marketing page or pasting source code into a prompt. IdP logs capture OAuth grants routed through the identity provider but miss AI tools accessed via direct signup or personal accounts. Browser-based security tools like Push Security monitor AI activity where it actually happens: inside the browser session. Push captures login events, clipboard pastes, file uploads, extension installations, and OAuth grants, providing structured telemetry on what data is moving into which AI tools, through which accounts, and whether those accounts are corporate or personal.",[],{},"How do you monitor what employees are doing with AI tools?",{"answer":1880,"question":1891},{"json":1881},{"nodeType":856,"data":1882,"content":1883},{},[1884],{"nodeType":860,"data":1885,"content":1886},{},[1887],{"nodeType":864,"value":1888,"marks":1889,"data":1890},"Binary allow/block decisions — whether enforced through a SWG, CASB, or enterprise browser — treat every AI interaction as equivalent, which pushes employees toward tools you can't see at all. Graduated enforcement offers a middle path. Push Security lets teams start with monitoring to build an accurate picture of AI usage, then introduce in-browser prompts that explain why a tool hasn't been approved and direct employees toward sanctioned alternatives, before applying hard blocks only where the data sensitivity or tool risk justifies it. Controls are configurable per user group, and new AI tools automatically inherit governance rules through automatic categorization — so enforcement keeps pace with the landscape without manual blocklist updates.",[],{},"How do you restrict AI usage without blocking everything?",{"answer":1893,"question":1911},{"json":1894},{"nodeType":856,"data":1895,"content":1896},{},[1897,1904],{"nodeType":860,"data":1898,"content":1899},{},[1900],{"nodeType":864,"value":1901,"marks":1902,"data":1903},"Network monitoring tools, IdP logs, and endpoint agents each catch a slice of shadow AI but miss entire categories. SWGs see domain traffic but can't confirm whether someone authenticated or what they did after login. IdPs capture OAuth grants routed through the identity provider but miss AI tools accessed via direct signup or personal accounts. EDR is blind to browser-layer activity entirely. ",[],{},{"nodeType":860,"data":1905,"content":1906},{},[1907],{"nodeType":864,"value":1908,"marks":1909,"data":1910},"Browser-based security tools like Push Security identify AI tools from actual login events, catching the four categories other tools miss: unapproved AI apps, personal accounts on approved tools, AI browser extensions with broad permissions, and OAuth integrations granting persistent API access to corporate systems. Each discovered app is automatically categorized and enriched with authentication context — SSO vs. password, MFA status, corporate vs. personal account — so security teams can assess actual risk rather than treating every AI tool as equivalent.",[],{},"How do you discover what AI tools employees are using?",{"answer":1913,"question":1931},{"json":1914},{"nodeType":856,"data":1915,"content":1916},{},[1917,1924],{"nodeType":860,"data":1918,"content":1919},{},[1920],{"nodeType":864,"value":1921,"marks":1922,"data":1923},"This is a gap that traditional DLP architectures weren't designed for. Network DLP and SWGs can't intercept clipboard pastes into AI prompts because there's no network event to inspect — the data moves from the clipboard to the browser DOM without crossing the wire. Endpoint DLP sees file-system operations but not in-browser activity. Browser-based controls operate where the paste actually happens. ",[],{},{"nodeType":860,"data":1925,"content":1926},{},[1927],{"nodeType":864,"value":1928,"marks":1929,"data":1930},"Push Security matches clipboard content against patterns for credentials, API keys, credit card numbers, and custom content rules, then offers the employee a redacted version so they can continue working without exposing the actual sensitive data. The same approach extends to file uploads and downloads, covering the exfiltration paths that network and endpoint DLP leave open.",[],{},"How do you prevent sensitive data from being pasted into AI tools?",{"answer":1933,"question":1951},{"json":1934},{"nodeType":856,"data":1935,"content":1936},{},[1937,1944],{"nodeType":860,"data":1938,"content":1939},{},[1940],{"nodeType":864,"value":1941,"marks":1942,"data":1943},"Policy documents distributed during onboarding don't change behavior at the moment someone reaches for an unapproved AI tool. SWGs can block a domain, but they can't explain why or point to an approved alternative — the employee sees an error page. ",[],{},{"nodeType":860,"data":1945,"content":1946},{},[1947],{"nodeType":864,"value":1948,"marks":1949,"data":1950},"Enterprise browsers like Push Security can deliver policy enforcement at the point of decision: when an employee navigates to an unsanctioned AI tool, an in-browser message explains why the tool hasn't been approved and directs them to approved alternatives. Controls are configurable per user group — and new AI tools automatically inherit governance rules through automatic categorization, without manual blocklist updates.",[],{},"How do you enforce an AI acceptable use policy in real time?",{"answer":1953,"question":1971},{"json":1954},{"nodeType":856,"data":1955,"content":1956},{},[1957,1964],{"nodeType":860,"data":1958,"content":1959},{},[1960],{"nodeType":864,"value":1961,"marks":1962,"data":1963},"No single traditional tool covers all aspects of shadow AI (apps, tenants, integrations, extensions) and the user interaction with those categories of tool. SWGs and CASBs see domain-level traffic but can't identify personal account usage, extension activity, or clipboard pastes into AI prompts. IdPs capture federated logins but miss direct signups and personal accounts entirely. EDR doesn't see browser-layer activity. DSPM monitors data at rest in cloud storage but not data in motion through browser sessions. ",[],{},{"nodeType":860,"data":1965,"content":1966},{},[1967],{"nodeType":864,"value":1968,"marks":1969,"data":1970},"Most organizations will need browser-layer visibility alongside their existing stack — not as a replacement, but to close the gaps those tools weren't designed to address. Tools like Push Security operate at the layer where AI activity actually happens, covering all shadow AI categories with graduated enforcement (monitor, warn, block), per-user-group policies, and telemetry on authentication methods, clipboard events, file uploads, and OAuth grants. ",[],{},"What tools do you need to manage shadow AI?",{"answer":1973,"question":1991},{"json":1974},{"nodeType":856,"data":1975,"content":1976},{},[1977,1984],{"nodeType":860,"data":1978,"content":1979},{},[1980],{"nodeType":864,"value":1981,"marks":1982,"data":1983},"AI browser extensions are a blind spot for most security stacks. Endpoint management tools may detect that an extension is installed but typically can't evaluate what permissions it has requested or whether those permissions create data exfiltration risk. SWGs and CASBs don't see extension activity at all — extensions operate within the browser, not over the network. ",[],{},{"nodeType":860,"data":1985,"content":1986},{},[1987],{"nodeType":864,"value":1988,"marks":1989,"data":1990},"Push Security inventories every AI-related extension installed across the workforce, surfaces the specific permissions each extension has requested (access to page content, browsing history, clipboard data), and identifies permission combinations that could enable account takeover or data exfiltration. Security teams can then apply monitor, warn, or block enforcement to extension categories — and new extensions automatically inherit governance rules without maintaining manual allowlists that go stale as new AI extensions appear daily.",[],{},"How do I stop employees installing AI browser extensions?",{"answer":1993,"question":2011},{"json":1994},{"nodeType":856,"data":1995,"content":1996},{},[1997,2004],{"nodeType":860,"data":1998,"content":1999},{},[2000],{"nodeType":864,"value":2001,"marks":2002,"data":2003},"Point-in-time audits — whether run through an IdP, a CASB, or manual surveys — tell you what was true when you ran them. AI tool adoption changes weekly; Gartner projects 150,000 AI agents per Fortune 500 enterprise by 2028. SWGs can log new domains but can't classify them or apply governance rules automatically. ",[],{},{"nodeType":860,"data":2005,"content":2006},{},[2007],{"nodeType":864,"value":2008,"marks":2009,"data":2010},"Push Security discovers new AI tools as employees start using them: when someone logs in to a new AI app, Push identifies it from the login event, automatically categorizes it, and applies the organization's existing governance rules without manual intervention. All AI-related telemetry — app access, file uploads, clipboard events, extension activity — streams as structured data to the customer's SIEM, providing the material for governance dashboards and compliance reporting that stays current as the landscape shifts.",[],{},"How do you get visibility into AI tool sprawl?",{"answer":2013,"question":2031},{"json":2014},{"nodeType":856,"data":2015,"content":2016},{},[2017,2024],{"nodeType":860,"data":2018,"content":2019},{},[2020],{"nodeType":864,"value":2021,"marks":2022,"data":2023},"AI visibility means knowing which AI tools employees are using, how they're accessing them, and what data flows into those tools. AI control is the ability to enforce rules on that usage — blocking unapproved tools, restricting data flows, requiring approved accounts. AI governance is the broader program that encompasses both: defining acceptable use policies, establishing risk frameworks for evaluating new tools, and building the organizational processes that turn visibility and control into sustained security outcomes. ",[],{},{"nodeType":860,"data":2025,"content":2026},{},[2027],{"nodeType":864,"value":2028,"marks":2029,"data":2030},"Most organizations that struggle with AI governance have a visibility problem first — they're trying to write policies for tools they don't know their employees are using. But visibility without control is just watching the problem happen. Push Security provides both: discovery and monitoring across all four categories of shadow AI, plus graduated enforcement controls that let you apply different responses based on the risk profile of each tool, account, and data flow, at the point of interaction in the browser for real-time enforcement.",[],{},"What is the difference between AI governance, AI visibility, and AI control?",{"answer":2033,"question":2051},{"json":2034},{"nodeType":856,"data":2035,"content":2036},{},[2037,2044],{"nodeType":860,"data":2038,"content":2039},{},[2040],{"nodeType":864,"value":2041,"marks":2042,"data":2043},"Data Security Posture Management (DSPM) tools monitor data at rest in cloud storage and SaaS applications, identifying misconfigurations, overly permissive access, and sensitive data exposure. They don't monitor data in motion through browser sessions — which is the primary path for shadow AI risk. ",[],{},{"nodeType":860,"data":2045,"content":2046},{},[2047],{"nodeType":864,"value":2048,"marks":2049,"data":2050},"When an employee pastes source code into an AI prompt or uploads a customer spreadsheet to an unapproved AI tool, that data movement happens entirely inside the browser and never touches the cloud storage layer that DSPM tools monitor. DSPM and browser security are complementary: DSPM secures data where it is stored, while browser-layer tools like Push Security secure data where it moves.",[],{},"Does Data Security Posture Management (DSPM) prevent shadow AI?","Shadow AI discovery and governance: Frequently asked questions",{},"How to discover AI, enforce policies, and prevent data loss","2026-08-13T00:00:00.000Z",{"items":2057},[2058,2741,3626],{"__typename":2059,"sys":2060,"content":2062,"title":2720,"synopsis":2721,"hashTags":59,"publishedDate":2722,"slug":2723,"tagsCollection":2724,"authorsCollection":2733},"BlogPosts",{"id":2061},"4NY2NbkAPucFOJY45yrrrE",{"json":2063},{"data":2064,"content":2065,"nodeType":856},{},[2066,2073,2080,2087,2093,2096,2104,2111,2144,2151,2176,2182,2185,2193,2200,2208,2252,2258,2265,2270,2273,2281,2288,2296,2303,2310,2326,2334,2359,2366,2372,2379,2387,2402,2430,2436,2454,2460,2468,2475,2500,2507,2514,2521,2527,2530,2538,2545,2552,2571,2579,2586,2594,2617,2629,2635,2638,2646,2653,2660,2667,2686,2689,2695,2701],{"data":2067,"content":2068,"nodeType":860},{},[2069],{"data":2070,"marks":2071,"value":2072,"nodeType":864},{},[],"Employees have been self-adopting apps, creating unmanaged accounts, and introducing third-party software dependencies into their organizations for years, and the core problem hasn't changed: unmanaged software expanding your attack surface without your knowledge.",{"data":2074,"content":2075,"nodeType":860},{},[2076],{"data":2077,"marks":2078,"value":2079,"nodeType":864},{},[],"But the rate at which employees are signing up for AI tools is unprecedented, and the depth of interconnectivity those tools demand is fundamentally different from traditional shadow SaaS. ",{"data":2081,"content":2082,"nodeType":860},{},[2083],{"data":2084,"marks":2085,"value":2086,"nodeType":864},{},[],"AI tools aren't just standalone apps that employees sign into — they're increasingly used as agents that drive other applications, pulling data from one platform, acting on another — they are becoming a core that other apps are integrating to, and that users are integrating with their wider SaaS stack. It’s becoming a focal integration point for app access and functionality in a way that's more comparable to an enterprise cloud platform than a typical SaaS tool. ",{"data":2088,"content":2092,"nodeType":996},{"target":2089},{"sys":2090},{"id":2091,"type":1001,"linkType":1002},"2Vxb48M5JN9Jdy8BG6nbUJ",[],{"data":2094,"content":2095,"nodeType":1005},{},[],{"data":2097,"content":2098,"nodeType":1009},{},[2099],{"data":2100,"marks":2101,"value":2103,"nodeType":864},{},[2102],{"type":899},"What is shadow AI? A quick 101",{"data":2105,"content":2106,"nodeType":860},{},[2107],{"data":2108,"marks":2109,"value":2110,"nodeType":864},{},[],"Shadow AI is any use of AI tools, services, or integrations that happens outside an organization's security governance and visibility. Shadow AI risks cut in two directions:",{"data":2112,"content":2113,"nodeType":941},{},[2114,2129],{"data":2115,"content":2116,"nodeType":945},{},[2117],{"data":2118,"content":2119,"nodeType":860},{},[2120,2125],{"data":2121,"marks":2122,"value":2124,"nodeType":864},{},[2123],{"type":899},"Data exposure:",{"data":2126,"marks":2127,"value":2128,"nodeType":864},{},[]," source code, credentials, internal documents, and customer data routinely get pasted into AI prompts or uploaded as context, and once shared, that data is outside the organization's control. ",{"data":2130,"content":2131,"nodeType":945},{},[2132],{"data":2133,"content":2134,"nodeType":860},{},[2135,2140],{"data":2136,"marks":2137,"value":2139,"nodeType":864},{},[2138],{"type":899},"Attack surface:",{"data":2141,"marks":2142,"value":2143,"nodeType":864},{},[]," Every shadow AI app is an unmanaged identity with credentials that can be phished or stuffed, OAuth grants that give persistent API access to corporate systems, and browser extensions that can be compromised in supply chain attacks. ",{"data":2145,"content":2146,"nodeType":860},{},[2147],{"data":2148,"marks":2149,"value":2150,"nodeType":864},{},[],"AI tools increasingly function as hubs, connected via OAuth and MCP to email, cloud storage, code repositories, and other high-value systems. Every app connection an employee grants turns that AI tool into a node in a web of interconnected services, which means the more you hook in, the larger the attack surface across all the connected apps — and the greater the blast radius if the account used to access the AI tool is compromised.",{"data":2152,"content":2153,"nodeType":860},{},[2154,2158,2164,2167,2173],{"data":2155,"marks":2156,"value":2157,"nodeType":864},{},[],"Each integration creates a persistent trust relationship that survives password resets and MFA changes. Compromise a single AI app and an attacker inherits whatever access the employee granted it, turning one ungoverned tool into a pivot point across the SaaS estate. Attackers are already exploiting this interconnectivity — from ",{"data":2159,"content":2160,"nodeType":883},{"uri":1543},[2161],{"data":2162,"marks":2163,"value":1758,"nodeType":864},{},[],{"data":2165,"marks":2166,"value":1762,"nodeType":864},{},[],{"data":2168,"content":2169,"nodeType":883},{"uri":1765},[2170],{"data":2171,"marks":2172,"value":1770,"nodeType":864},{},[],{"data":2174,"marks":2175,"value":1774,"nodeType":864},{},[],{"data":2177,"content":2181,"nodeType":996},{"target":2178},{"sys":2179},{"id":2180,"type":1001,"linkType":1002},"1BWCa7AHCMlYw7XgPLx3h7",[],{"data":2183,"content":2184,"nodeType":1005},{},[],{"data":2186,"content":2187,"nodeType":1009},{},[2188],{"data":2189,"marks":2190,"value":2192,"nodeType":864},{},[2191],{"type":899},"The state of shadow AI, using Push data",{"data":2194,"content":2195,"nodeType":860},{},[2196],{"data":2197,"marks":2198,"value":2199,"nodeType":864},{},[],"We analyzed a snapshot of AI activity across Push customers during an average week in April 2026. We wanted to make sure it captured actual activity, not just historical data on apps that were added once and no longer used.",{"data":2201,"content":2202,"nodeType":860},{},[2203],{"data":2204,"marks":2205,"value":2207,"nodeType":864},{},[2206],{"type":899},"The numbers paint a picture that most security teams will find uncomfortable.",{"data":2209,"content":2210,"nodeType":860},{},[2211,2215,2220,2224,2229,2233,2238,2242,2248],{"data":2212,"marks":2213,"value":2214,"nodeType":864},{},[],"The average organization has ",{"data":2216,"marks":2217,"value":2219,"nodeType":864},{},[2218],{"type":899},"16 unique AI apps",{"data":2221,"marks":2222,"value":2223,"nodeType":864},{},[]," in active use, ",{"data":2225,"marks":2226,"value":2228,"nodeType":864},{},[2227],{"type":899},"17 unique AI browser extensions",{"data":2230,"marks":2231,"value":2232,"nodeType":864},{},[],", and ",{"data":2234,"marks":2235,"value":2237,"nodeType":864},{},[2236],{"type":899},"17 unique AI OAuth integrations",{"data":2239,"marks":2240,"value":2241,"nodeType":864},{},[]," connected into just Google Workspace and Microsoft 365 — with some organizations reaching as high as 40 unique AI apps, 163 AI extensions, and 55 OAuth connections to AI apps respectively. At the other end, the smallest organization with the ",{"data":2243,"marks":2244,"value":2247,"nodeType":864},{},[2245],{"type":2246},"italic","lowest",{"data":2249,"marks":2250,"value":2251,"nodeType":864},{},[]," adoption level is actively using two. ",{"data":2253,"content":2257,"nodeType":996},{"target":2254},{"sys":2255},{"id":2256,"type":1001,"linkType":1002},"2AfeiHub5kyZN8wuf6CJch",[],{"data":2259,"content":2260,"nodeType":860},{},[2261],{"data":2262,"marks":2263,"value":2264,"nodeType":864},{},[],"If most organizations have sanctioned one or two core AI assistants/platforms for business use, the gap between what's approved and what's actually happening is significant.",{"data":2266,"content":2269,"nodeType":996},{"target":2267},{"sys":2268},{"id":1040,"type":1001,"linkType":1002},[],{"data":2271,"content":2272,"nodeType":1005},{},[],{"data":2274,"content":2275,"nodeType":1009},{},[2276],{"data":2277,"marks":2278,"value":2280,"nodeType":864},{},[2279],{"type":899},"Understanding the four categories of shadow AI",{"data":2282,"content":2283,"nodeType":860},{},[2284],{"data":2285,"marks":2286,"value":2287,"nodeType":864},{},[],"Shadow SaaS has always been a problem, but in the context of AI apps there are four categories of shadow IT that security teams need to understand, because each one introduces a different kind of risk and requires a different approach to tackling it.",{"data":2289,"content":2290,"nodeType":1312},{},[2291],{"data":2292,"marks":2293,"value":2295,"nodeType":864},{},[2294],{"type":899},"Shadow AI apps",{"data":2297,"content":2298,"nodeType":860},{},[2299],{"data":2300,"marks":2301,"value":2302,"nodeType":864},{},[],"Shadow apps are AI tools that employees have signed up to and are using for business purposes without approval. This is the most visible dimension of the problem, and the one most people think of when they hear \"shadow AI\" — an employee pastes sensitive internal documents into ChatGPT, uploads confidential files to an AI assistant, or uses an unapproved coding tool to generate production code.",{"data":2304,"content":2305,"nodeType":860},{},[2306],{"data":2307,"marks":2308,"value":2309,"nodeType":864},{},[],"All of that is sensitive data leaving the organization through channels the security team can't see - and often accessible using personal accounts that can be compromised on personal devices or workstations. ",{"data":2311,"content":2312,"nodeType":860},{},[2313,2317,2322],{"data":2314,"marks":2315,"value":2316,"nodeType":864},{},[],"The 2026 DBIR's data loss prevention analysis underscores the scale — shadow AI is now the ",{"data":2318,"marks":2319,"value":2321,"nodeType":864},{},[2320],{"type":899},"third most common non-malicious insider action",{"data":2323,"marks":2324,"value":2325,"nodeType":864},{},[]," in DLP data, a 4x increase year-over-year. Across 858,000+ DLP events targeting GenAI tools, the most common data types being submitted were source code (28%), images (16%), structured data (14%), documents (13%), and PDFs (10%). That's not employees asking ChatGPT to fix their grammar — it's core intellectual property, production code, and internal documentation flowing into platforms the security team has no visibility into. But shadow apps themselves are only the most obvious part of the problem.",{"data":2327,"content":2328,"nodeType":1312},{},[2329],{"data":2330,"marks":2331,"value":2333,"nodeType":864},{},[2332],{"type":899},"Shadow tenants",{"data":2335,"content":2336,"nodeType":860},{},[2337,2341,2346,2350,2355],{"data":2338,"marks":2339,"value":2340,"nodeType":864},{},[],"Even when an organization has approved an AI tool — say, an enterprise ChatGPT deployment — employees frequently access the same app with personal accounts, creating shadow tenants that sit entirely outside organizational control. The DBIR found that ",{"data":2342,"marks":2343,"value":2345,"nodeType":864},{},[2344],{"type":899},"67% of GenAI users on corporate devices are using non-corporate accounts",{"data":2347,"marks":2348,"value":2349,"nodeType":864},{},[],", and our own data shows that ",{"data":2351,"marks":2352,"value":2354,"nodeType":864},{},[2353],{"type":899},"38% of file uploads to AI tools are made from shadow accounts",{"data":2356,"marks":2357,"value":2358,"nodeType":864},{},[]," rather than approved organizational ones.",{"data":2360,"content":2361,"nodeType":860},{},[2362],{"data":2363,"marks":2364,"value":2365,"nodeType":864},{},[],"When an organization approves Claude, ChatGPT, or another core AI platform, you typically also approve the OAuth integration and browser extension for core apps (e.g. M365, Google Workspace, and so on). When that integration is approved, it is approved for all tenants — not just your corporate tenant. ",{"data":2367,"content":2371,"nodeType":996},{"target":2368},{"sys":2369},{"id":2370,"type":1001,"linkType":1002},"3Rvw0n28AYIM3FQXtHyafD",[],{"data":2373,"content":2374,"nodeType":860},{},[2375],{"data":2376,"marks":2377,"value":2378,"nodeType":864},{},[],"This means that even if you've deployed enterprise controls around your sanctioned AI tools — DLP policies, retention settings, admin oversight — more than a third of the file uploads hitting AI tools are bypassing those controls entirely because they're happening through personal accounts on corporate devices.",{"data":2380,"content":2381,"nodeType":1312},{},[2382],{"data":2383,"marks":2384,"value":2386,"nodeType":864},{},[2385],{"type":899},"Shadow extensions",{"data":2388,"content":2389,"nodeType":860},{},[2390,2394,2398],{"data":2391,"marks":2392,"value":2393,"nodeType":864},{},[],"Many AI tools come with a browser extension counterpart, and there's a large ecosystem of third-party AI extensions that offer everything from writing assistance to automated data extraction. The average organization in our dataset has ",{"data":2395,"marks":2396,"value":2228,"nodeType":864},{},[2397],{"type":899},{"data":2399,"marks":2400,"value":2401,"nodeType":864},{},[]," deployed across its workforce, with the highest we observed reaching 163 — and since each of those average 17 different extensions may be installed by multiple employees, the actual number of individual extension installs across the organization is much higher still.",{"data":2403,"content":2404,"nodeType":860},{},[2405,2409,2417,2421,2426],{"data":2406,"marks":2407,"value":2408,"nodeType":864},{},[],"The extension dimension is particularly concerning because most extensions operate with significant privilege inside the browser — they can read and modify page content, access cookies and session tokens, and interact with virtually every web application an employee uses. As we detailed in our recent analysis of ",{"data":2410,"content":2412,"nodeType":883},{"uri":2411},"https://pushsecurity.com/blog/why-browser-extension-risk-scoring-wont-predict-your-next-breach/",[2413],{"data":2414,"marks":2415,"value":2416,"nodeType":864},{},[],"browser extension risk scoring",{"data":2418,"marks":2419,"value":2420,"nodeType":864},{},[],", at least ",{"data":2422,"marks":2423,"value":2425,"nodeType":864},{},[2424],{"type":899},"46.76% of all extensions across Push customers have the permission combinations needed to perform account takeover with no user interaction",{"data":2427,"marks":2428,"value":2429,"nodeType":864},{},[],", and the extensions involved in every major supply chain breach of the past 18 months scored as normal or low-risk beforehand.",{"data":2431,"content":2435,"nodeType":996},{"target":2432},{"sys":2433},{"id":2434,"type":1001,"linkType":1002},"3z4JOMALI52xoOXZkzPHLD",[],{"data":2437,"content":2438,"nodeType":860},{},[2439,2443,2450],{"data":2440,"marks":2441,"value":2442,"nodeType":864},{},[],"AI extensions add a specific wrinkle to this problem: many are branded to look like official companions to well-known AI tools but are actually third-party creations with no affiliation to the original vendor. They're not necessarily malicious at the point of installation, but they're exactly the kind of extension that's likely to be ",{"data":2444,"content":2445,"nodeType":883},{"uri":2411},[2446],{"data":2447,"marks":2448,"value":2449,"nodeType":864},{},[],"acquired and weaponized",{"data":2451,"marks":2452,"value":2453,"nodeType":864},{},[]," down the line — and in the meantime, they're collecting data that their permissions entitle them to (which, in most cases, means everything the user can see in their browser).",{"data":2455,"content":2459,"nodeType":996},{"target":2456},{"sys":2457},{"id":2458,"type":1001,"linkType":1002},"6K3z67rohss6H3lCsSn12B",[],{"data":2461,"content":2462,"nodeType":1312},{},[2463],{"data":2464,"marks":2465,"value":2467,"nodeType":864},{},[2466],{"type":899},"Shadow integrations",{"data":2469,"content":2470,"nodeType":860},{},[2471],{"data":2472,"marks":2473,"value":2474,"nodeType":864},{},[],"The fourth dimension — and arguably the most dangerous — is shadow integrations: OAuth connections between AI tools and core enterprise apps that aren't known or approved by the security team. Even if an organization has approved an AI tool for standalone use, plugging that tool directly into Google Workspace, Microsoft 365, Salesforce, or any other one of the dozen or so SaaS apps in a typical user’s work stack is a fundamentally different risk decision, because it creates a persistent, programmatic bridge between your environment and a third party.",{"data":2476,"content":2477,"nodeType":860},{},[2478,2482,2487,2491,2496],{"data":2479,"marks":2480,"value":2481,"nodeType":864},{},[],"On average, we see ",{"data":2483,"marks":2484,"value":2486,"nodeType":864},{},[2485],{"type":899},"17 unique AI app OAuth integrations per organization",{"data":2488,"marks":2489,"value":2490,"nodeType":864},{},[]," in ",{"data":2492,"marks":2493,"value":2495,"nodeType":864},{},[2494],{"type":2246},"just",{"data":2497,"marks":2498,"value":2499,"nodeType":864},{},[]," Google Workspace and Microsoft 365 (to be clear: this number excludes the dozens of downstream apps the AI assistants are integrated with as well), with the highest reaching 55. Each of those represents a unique AI product that has been granted OAuth access — the total number of individual consent grants across users is larger, because popular integrations get authorized by multiple employees independently.",{"data":2501,"content":2502,"nodeType":860},{},[2503],{"data":2504,"marks":2505,"value":2506,"nodeType":864},{},[],"The actual number of AI-related OAuth connections across the full SaaS estate is considerably higher again, because AI tools that automate workflows need to be connected to be useful — pulling data from one app, analyzing it in another, presenting results in a third.",{"data":2508,"content":2509,"nodeType":860},{},[2510],{"data":2511,"marks":2512,"value":2513,"nodeType":864},{},[],"MCP connections use OAuth to achieve this interconnectivity in the same way, and AI coding agents create a particularly concentrated version of the risk: a single agent configuration can hold OAuth tokens for Jira, Confluence, Salesforce, GitHub, and more, meaning that compromising one agent — whether through prompt injection, a malicious repository config, or a supply chain attack on an MCP server — yields persistent, broadly scoped tokens for every service it was connected to, tokens that survive session restarts and generate audit log entries indistinguishable from legitimate user activity.",{"data":2515,"content":2516,"nodeType":860},{},[2517],{"data":2518,"marks":2519,"value":2520,"nodeType":864},{},[],"It's also worth noting that OAuth blast radius is almost always larger than organizations expect. A single well-permissioned user can expose secrets, dashboards, and internal tooling without tenant-wide admin access. And every new AI tool an employee connects makes the web of abusable permissions a little wider.",{"data":2522,"content":2526,"nodeType":996},{"target":2523},{"sys":2524},{"id":2525,"type":1001,"linkType":1002},"4SnzJ9T93gHzFIUASx7Yb3",[],{"data":2528,"content":2529,"nodeType":1005},{},[],{"data":2531,"content":2532,"nodeType":1009},{},[2533],{"data":2534,"marks":2535,"value":2537,"nodeType":864},{},[2536],{"type":899},"Why shadow AI needs a different solution to shadow SaaS",{"data":2539,"content":2540,"nodeType":860},{},[2541],{"data":2542,"marks":2543,"value":2544,"nodeType":864},{},[],"The reason it's worth distinguishing between these four dimensions isn't academic. Each one requires a different control, and addressing one doesn't solve the others.",{"data":2546,"content":2547,"nodeType":860},{},[2548],{"data":2549,"marks":2550,"value":2551,"nodeType":864},{},[],"Blocking unsanctioned AI apps does nothing for the personal accounts accessing approved ones, and neither addresses the average 17 different AI extensions running with broad browser permissions, let alone the dozens of OAuth integrations that have already been granted persistent access to core enterprise apps — and even auditing OAuth in Google Workspace and Microsoft 365, where the controls are relatively mature, leaves the broader SaaS estate unaddressed, where admin tooling is inconsistent and visibility is limited.",{"data":2553,"content":2554,"nodeType":860},{},[2555,2559,2567],{"data":2556,"marks":2557,"value":2558,"nodeType":864},{},[],"The tooling gap compounds the policy gap. ",{"data":2560,"content":2562,"nodeType":883},{"uri":2561},"https://pushsecurity.com/blog/7-things-omdias-latest-report-tells-us-about-the-secure-enterprise-browser-market/",[2563],{"data":2564,"marks":2565,"value":2566,"nodeType":864},{},[],"Omdia found",{"data":2568,"marks":2569,"value":2570,"nodeType":864},{},[]," that 58% of organizations rely on secure web gateways to secure GenAI usage — but an SWG can tell you that a user visited ChatGPT, not whether they pasted your source code into the prompt. That link between knowing where data went and knowing what the user actually did is the fundamental visibility gap that makes GenAI policies unenforceable without browser-layer tooling.",{"data":2572,"content":2573,"nodeType":1312},{},[2574],{"data":2575,"marks":2576,"value":2578,"nodeType":864},{},[2577],{"type":899},"Advice for security teams",{"data":2580,"content":2581,"nodeType":860},{},[2582],{"data":2583,"marks":2584,"value":2585,"nodeType":864},{},[],"The principles behind managing shadow AI are the same ones that have governed shadow SaaS and software supply chain management for years: default-deny where feasible, comprehensive inventory where it isn't, and continuous monitoring for changes that signal increased risk. But it's vital that teams act fast to stop the snowball.",{"data":2587,"content":2588,"nodeType":860},{},[2589],{"data":2590,"marks":2591,"value":2593,"nodeType":864},{},[2592],{"type":899},"That starts with visibility into which AI tools employees are actually using and which accounts they're using to access them — without that baseline, every other control is built on assumptions.",{"data":2595,"content":2596,"nodeType":860},{},[2597,2602,2606,2613],{"data":2598,"marks":2599,"value":2601,"nodeType":864},{},[2600],{"type":899},"Extensions",{"data":2603,"marks":2604,"value":2605,"nodeType":864},{},[]," need the same ",{"data":2607,"content":2608,"nodeType":883},{"uri":2411},[2609],{"data":2610,"marks":2611,"value":2612,"nodeType":864},{},[],"default-deny allowlisting approach",{"data":2614,"marks":2615,"value":2616,"nodeType":864},{},[]," that has been best practice for software management elsewhere: build a complete inventory, allowlist what's vetted, block everything else, and monitor the approved set for changes that precede weaponization.",{"data":2618,"content":2619,"nodeType":860},{},[2620,2625],{"data":2621,"marks":2622,"value":2624,"nodeType":864},{},[2623],{"type":899},"OAuth",{"data":2626,"marks":2627,"value":2628,"nodeType":864},{},[]," demands the most urgency, because each unmanaged integration is a persistent trust relationship that survives password resets and MFA changes — adopt default-deny for consent grants in your primary enterprise apps, routinely audit what's already connected, and critically extend that visibility beyond Google and Microsoft to the broader SaaS estate where the controls are weaker and the sprawl is harder to track.",{"data":2630,"content":2634,"nodeType":996},{"target":2631},{"sys":2632},{"id":2633,"type":1001,"linkType":1002},"3RFLFtJtDXvhTz1mVztfV9",[],{"data":2636,"content":2637,"nodeType":1005},{},[],{"data":2639,"content":2640,"nodeType":1009},{},[2641],{"data":2642,"marks":2643,"value":2645,"nodeType":864},{},[2644],{"type":899},"Browser visibility and control is key to de-risking AI adoption",{"data":2647,"content":2648,"nodeType":860},{},[2649],{"data":2650,"marks":2651,"value":2652,"nodeType":864},{},[],"AI usage is fundamentally browser-based activity — every LLM interaction, every prompt containing sensitive data, every AI agent authorization, every OAuth consent grant happens inside a browser session — which makes the browser the natural control point for AI governance across the workforce. ",{"data":2654,"content":2655,"nodeType":860},{},[2656],{"data":2657,"marks":2658,"value":2659,"nodeType":864},{},[],"Push tracks AI app usage and login security across the workforce, inventories and controls AI browser extensions, monitors and blocks OAuth consent flows across any app (not just the primary enterprise platforms), and gives security teams a single view of the full shadow AI picture across all four dimensions.",{"data":2661,"content":2662,"nodeType":860},{},[2663],{"data":2664,"marks":2665,"value":2666,"nodeType":864},{},[],"Shadow AI isn't a problem that will age well if ignored. Every week that passes without visibility adds more apps, more extensions, more integrations, and more potential breach paths into the environment — and as the Vercel breach demonstrated, it only takes one forgotten OAuth grant to turn an employee's idle curiosity into an organization-wide incident.",{"data":2668,"content":2669,"nodeType":860},{},[2670,2674,2682],{"data":2671,"marks":2672,"value":2673,"nodeType":864},{},[],"Learn more about how you can tackle ",{"data":2675,"content":2677,"nodeType":883},{"uri":2676},"https://pushsecurity.com/uc/shadow-ai",[2678],{"data":2679,"marks":2680,"value":580,"nodeType":864},{},[2681],{"type":1455},{"data":2683,"marks":2684,"value":2685,"nodeType":864},{},[]," with Push. ",{"data":2687,"content":2688,"nodeType":1005},{},[],{"data":2690,"content":2691,"nodeType":860},{},[2692],{"data":2693,"marks":2694,"value":1682,"nodeType":864},{},[],{"data":2696,"content":2697,"nodeType":860},{},[2698],{"data":2699,"marks":2700,"value":1689,"nodeType":864},{},[],{"data":2702,"content":2703,"nodeType":860},{},[2704,2708,2716],{"data":2705,"marks":2706,"value":2707,"nodeType":864},{},[],"Book a ",{"data":2709,"content":2710,"nodeType":883},{"uri":1700},[2711],{"data":2712,"marks":2713,"value":2715,"nodeType":864},{},[2714],{"type":1455},"live demo",{"data":2717,"marks":2718,"value":2719,"nodeType":864},{},[]," to learn more.","Shadow AI: what Push data reveals about the scale of the problem","Push telemetry shows the average organization has 16 AI apps, 17 AI browser extensions, and 17 AI OAuth integrations in use. Here's what it means for security.","2026-05-28T00:00:00.000Z","what-push-data-reveals-about-the-state-of-shadow-ai",{"items":2725},[2726,2730],{"sys":2727,"name":2729},{"id":2728},"1gZi8NrRy2v9OqPV7C4dwD","Risk management",{"sys":2731,"name":297},{"id":2732},"3pjES4THCIfSAwhGdNwBcy",{"items":2734},[2735],{"fullName":2736,"firstName":2737,"jobTitle":2738,"profilePicture":2739},"Dan Green","Dan","Threat Research",{"url":2740},"https://images.ctfassets.net/y1cdw1ablpvd/7jik1VhFgA3kgzXBXTm2Vw/fcd8c171da644903d0827eafcfbcaad0/Dan_Headshot_2025.png",{"__typename":2059,"sys":2742,"content":2744,"title":3608,"synopsis":3609,"hashTags":59,"publishedDate":3610,"slug":3611,"tagsCollection":3612,"authorsCollection":3618},{"id":2743},"6Xn377JQfbDz49Np74cbGl",{"json":2745},{"data":2746,"content":2747,"nodeType":856},{},[2748,2755,2786,2804,2809,2816,2832,2835,2843,2861,2925,2932,2938,2945,3028,3035,3042,3058,3061,3069,3076,3083,3091,3098,3110,3116,3123,3130,3137,3140,3148,3164,3180,3187,3194,3201,3222,3308,3315,3322,3325,3333,3349,3356,3363,3371,3374,3382,3400,3407,3414,3447,3454,3461,3464,3472,3479,3491,3497,3509,3521,3527,3539,3561,3568,3571,3579,3586,3592],{"data":2749,"content":2750,"nodeType":860},{},[2751],{"data":2752,"marks":2753,"value":2754,"nodeType":864},{},[],"Most security leaders I talk to know they have an AI problem. They've seen the board questions, read the reports, maybe even drafted a policy. But when they start measuring where they stand — not plans or roadmaps, but actual current state — the gap between awareness and operational capability comes into focus.",{"data":2756,"content":2757,"nodeType":860},{},[2758,2762,2770,2774,2782],{"data":2759,"marks":2760,"value":2761,"nodeType":864},{},[],"The ",{"data":2763,"content":2765,"nodeType":883},{"uri":2764},"https://pushsecurity.com/blog/verizon-dbir-2026-review",[2766],{"data":2767,"marks":2768,"value":2769,"nodeType":864},{},[],"2026 Verizon DBIR",{"data":2771,"marks":2772,"value":2773,"nodeType":864},{},[]," quantifies the scale: 45% of employees are now regular AI users on corporate devices (up from 15% the prior year), with 67% using personal accounts. ",{"data":2775,"content":2777,"nodeType":883},{"uri":2776},"https://pushsecurity.com/blog/what-push-data-reveals-about-the-state-of-shadow-ai",[2778],{"data":2779,"marks":2780,"value":2781,"nodeType":864},{},[],"Push data",{"data":2783,"marks":2784,"value":2785,"nodeType":864},{},[]," further shows that 38% of file uploads to AI tools come from those shadow accounts rather than approved organizational ones — and the DBIR shows what's going into them: of 858,000+ DLP events targeting GenAI applications, the most common data types were source code (28%), structured data (14%), and documents and PDFs (23% combined).",{"data":2787,"content":2788,"nodeType":860},{},[2789,2793,2800],{"data":2790,"marks":2791,"value":2792,"nodeType":864},{},[],"The average organization now has ",{"data":2794,"content":2795,"nodeType":883},{"uri":2776},[2796],{"data":2797,"marks":2798,"value":2799,"nodeType":864},{},[],"16 unique AI apps, 17 AI browser extensions, and 17 AI OAuth integrations",{"data":2801,"marks":2802,"value":2803,"nodeType":864},{},[]," in active use, most unapproved. Shadow AI was the third most common non-malicious insider action in the DBIR, up 4x year over year.",{"data":2805,"content":2808,"nodeType":996},{"target":2806},{"sys":2807},{"id":1040,"type":1001,"linkType":1002},[],{"data":2810,"content":2811,"nodeType":860},{},[2812],{"data":2813,"marks":2814,"value":2815,"nodeType":864},{},[],"These statistics expose an attack surface and unmanaged risks at a high level. But the real problem is that most organizations can't produce a basic inventory of which AI tools are in use, let alone demonstrate controls around any of them. ",{"data":2817,"content":2818,"nodeType":860},{},[2819,2823,2828],{"data":2820,"marks":2821,"value":2822,"nodeType":864},{},[],"That gap between awareness and capability is where most organizations are stuck. And understanding ",{"data":2824,"marks":2825,"value":2827,"nodeType":864},{},[2826],{"type":2246},"why",{"data":2829,"marks":2830,"value":2831,"nodeType":864},{},[]," they're stuck requires a framework for what progress actually looks like.",{"data":2833,"content":2834,"nodeType":1005},{},[],{"data":2836,"content":2837,"nodeType":1009},{},[2838],{"data":2839,"marks":2840,"value":2842,"nodeType":864},{},[2841],{"type":899},"A model for measuring what most organizations already feel",{"data":2844,"content":2845,"nodeType":860},{},[2846,2850,2857],{"data":2847,"marks":2848,"value":2849,"nodeType":864},{},[],"Chris Cochran's ",{"data":2851,"content":2853,"nodeType":883},{"uri":2852},"https://sansorg.egnyte.com/dl/XtgqfjkjBjp8",[2854],{"data":2855,"marks":2856,"value":1108,"nodeType":864},{},[],{"data":2858,"marks":2859,"value":2860,"nodeType":864},{},[],", published earlier this year, provides a framework for addressing this gap. It defines five stages of AI security maturity across three pillars:",{"data":2862,"content":2863,"nodeType":941},{},[2864,2880,2896],{"data":2865,"content":2866,"nodeType":945},{},[2867],{"data":2868,"content":2869,"nodeType":860},{},[2870,2876],{"data":2871,"marks":2872,"value":2875,"nodeType":864},{},[2873,2874],{"type":899},{"type":1455},"Protect AI:",{"data":2877,"marks":2878,"value":2879,"nodeType":864},{},[]," Defending against AI-enabled threats like adversarial attacks, prompt injection, compromised browser extensions, and AI agents operating with unchecked permissions.",{"data":2881,"content":2882,"nodeType":945},{},[2883],{"data":2884,"content":2885,"nodeType":860},{},[2886,2892],{"data":2887,"marks":2888,"value":2891,"nodeType":864},{},[2889,2890],{"type":899},{"type":1455},"Utilize AI:",{"data":2893,"marks":2894,"value":2895,"nodeType":864},{},[]," Using AI to strengthen security operations by using AI-powered detection and triage, behavioral analytics, and automated response playbooks.",{"data":2897,"content":2898,"nodeType":945},{},[2899],{"data":2900,"content":2901,"nodeType":860},{},[2902,2908,2912,2921],{"data":2903,"marks":2904,"value":2907,"nodeType":864},{},[2905,2906],{"type":899},{"type":1455},"Govern AI:",{"data":2909,"marks":2910,"value":2911,"nodeType":864},{},[]," Managing how the organization adopts and uses AI tools. Things like acceptable use policies, shadow AI discovery, data classification, access controls, and risk assessment. This is the pillar that gets the most attention in boardroom conversations today, driven in part by ",{"data":2913,"content":2915,"nodeType":883},{"uri":2914},"https://pushsecurity.com/blog/browser-visibility-and-control-can-achieve-ai-compliance",[2916],{"data":2917,"marks":2918,"value":2920,"nodeType":864},{},[2919],{"type":1455},"regulatory pressure",{"data":2922,"marks":2923,"value":2924,"nodeType":864},{},[],".",{"data":2926,"content":2927,"nodeType":860},{},[2928],{"data":2929,"marks":2930,"value":2931,"nodeType":864},{},[],"How an organization invests across these three pillars, and whether it invests across all of them, determines whether it advances toward maturity in this area or stalls out at the early steps.",{"data":2933,"content":2937,"nodeType":996},{"target":2934},{"sys":2935},{"id":2936,"type":1001,"linkType":1002},"1JV3KG97JQNFKwODnMCMq2",[],{"data":2939,"content":2940,"nodeType":860},{},[2941],{"data":2942,"marks":2943,"value":2944,"nodeType":864},{},[],"The SANS AI maturity model outlines 5 stages that organizations must progress through in order to reach an optimal security posture:",{"data":2946,"content":2947,"nodeType":941},{},[2948,2964,2980,2996,3012],{"data":2949,"content":2950,"nodeType":945},{},[2951],{"data":2952,"content":2953,"nodeType":860},{},[2954,2960],{"data":2955,"marks":2956,"value":2959,"nodeType":864},{},[2957,2958],{"type":899},{"type":1455},"Stage 1 (Unaware / Ad Hoc)",{"data":2961,"marks":2962,"value":2963,"nodeType":864},{},[]," is where employees are freely using AI tools with no oversight, no inventory exists, and leadership may not even know how much AI is in use. There's no policy to violate, so technically it's not even shadow AI yet; it's just unmanaged adoption.",{"data":2965,"content":2966,"nodeType":945},{},[2967],{"data":2968,"content":2969,"nodeType":860},{},[2970,2976],{"data":2971,"marks":2972,"value":2975,"nodeType":864},{},[2973,2974],{"type":899},{"type":1455},"Stage 2 (Reactive / Policy-Emerging)",{"data":2977,"marks":2978,"value":2979,"nodeType":864},{},[]," means a policy exists, but it's course-grained: \"Don't use AI\" or \"use with caution.\" Known AI tools may be blocked at the network level. Security teams are learning about AI-specific threats but don't have dedicated expertise or tooling.",{"data":2981,"content":2982,"nodeType":945},{},[2983],{"data":2984,"content":2985,"nodeType":860},{},[2986,2992],{"data":2987,"marks":2988,"value":2991,"nodeType":864},{},[2989,2990],{"type":899},{"type":1455},"Stage 3 (Defined / Risk-Informed)",{"data":2993,"marks":2994,"value":2995,"nodeType":864},{},[]," is where things get intentional. AI usage is governed through enterprise tools rather than outright bans. AI systems are included in security assessments. The organization can demonstrate mature governance to regulators and partners. For many organizations, this is a strong and defensible operating position.",{"data":2997,"content":2998,"nodeType":945},{},[2999],{"data":3000,"content":3001,"nodeType":860},{},[3002,3008],{"data":3003,"marks":3004,"value":3007,"nodeType":864},{},[3005,3006],{"type":899},{"type":1455},"Stage 4 (Managed / Integrated)",{"data":3009,"marks":3010,"value":3011,"nodeType":864},{},[]," means AI is deeply embedded in security operations with measurable outcomes. AI systems are secured by design. Risk is quantified, not estimated. Decisions are data-driven. This is where organizations can handle AI-specific threats and operate at the tempo that AI-augmented adversaries demand.",{"data":3013,"content":3014,"nodeType":945},{},[3015],{"data":3016,"content":3017,"nodeType":860},{},[3018,3024],{"data":3019,"marks":3020,"value":3023,"nodeType":864},{},[3021,3022],{"type":899},{"type":1455},"Stage 5 (Optimizing / Adaptive)",{"data":3025,"marks":3026,"value":3027,"nodeType":864},{},[]," is the frontier of AI-native security with self-improving defenses. Elements of this stage exist primarily in large technology companies, defense contractors, and AI-native firms. For most organizations, this is a multi-year journey.",{"data":3029,"content":3030,"nodeType":860},{},[3031],{"data":3032,"marks":3033,"value":3034,"nodeType":864},{},[],"Most of the security leaders I talk to land between Stage 1 and Stage 2. They have awareness, maybe a policy, but not the tooling or telemetry to demonstrate much beyond that. ",{"data":3036,"content":3037,"nodeType":860},{},[3038],{"data":3039,"marks":3040,"value":3041,"nodeType":864},{},[],"The model is pragmatic about these challenges. It doesn't expect every organization to reach Stage 5, and it adjusts maturity targets by sector. ",{"data":3043,"content":3044,"nodeType":860},{},[3045,3049,3054],{"data":3046,"marks":3047,"value":3048,"nodeType":864},{},[],"But it ",{"data":3050,"marks":3051,"value":3053,"nodeType":864},{},[3052],{"type":2246},"does",{"data":3055,"marks":3056,"value":3057,"nodeType":864},{},[]," require evidence of progress, not just intent. And for the majority sitting at Stage 2, the hard part is identifying the right steps to move from being merely reactive to a posture of operational readiness. That’s the chasm to cross.",{"data":3059,"content":3060,"nodeType":1005},{},[],{"data":3062,"content":3063,"nodeType":1009},{},[3064],{"data":3065,"marks":3066,"value":3068,"nodeType":864},{},[3067],{"type":899},"The chasm",{"data":3070,"content":3071,"nodeType":860},{},[3072],{"data":3073,"marks":3074,"value":3075,"nodeType":864},{},[],"For the organizations sitting at Stage 2, current state often looks like this: They've written an AI acceptable use policy, and maybe they've blocked known AI apps at the network level. They've trained employees on what's allowed and what isn't. ",{"data":3077,"content":3078,"nodeType":860},{},[3079],{"data":3080,"marks":3081,"value":3082,"nodeType":864},{},[],"To be sure, blocking is the fastest lever a security team can pull, and it represents visible progress to the business. The problem is that it rarely stays effective. ",{"data":3084,"content":3085,"nodeType":860},{},[3086],{"data":3087,"marks":3088,"value":3090,"nodeType":864},{},[3089],{"type":899},"SANS calls the pattern that traps most organizations at Stage 2 the \"Framework of No.\" ",{"data":3092,"content":3093,"nodeType":860},{},[3094],{"data":3095,"marks":3096,"value":3097,"nodeType":864},{},[],"\"A block-based AI policy may feel like risk management, but practitioner experience shows it typically drives AI usage underground rather than preventing it,” the report notes. “This is the pattern SANS has documented as the 'Framework of No,' and it is why the Stage 2 to Stage 3 transition is so critical.\"",{"data":3099,"content":3100,"nodeType":860},{},[3101,3106],{"data":3102,"marks":3103,"value":3105,"nodeType":864},{},[3104],{"type":2246},"This",{"data":3107,"marks":3108,"value":3109,"nodeType":864},{},[]," is the chasm. On one side: awareness and policy. On the other: operational capability - the tooling, telemetry, and controls that let a security team see what's happening and respond to it. Most organizations are standing on the awareness side, looking across, not sure how to get over.",{"data":3111,"content":3115,"nodeType":996},{"target":3112},{"sys":3113},{"id":3114,"type":1001,"linkType":1002},"187mKPZV8tVbsw17L2cWIU",[],{"data":3117,"content":3118,"nodeType":860},{},[3119],{"data":3120,"marks":3121,"value":3122,"nodeType":864},{},[],"The model is specific about what crossing requires. The steps from Stage 2 to Stage 3 include technical BYOAI discovery (not a survey, but automated discovery), AI-specific data classification, AI-aware controls, and a cross-functional governance body. Data classification is a critical prerequisite: \"You cannot write an effective AI policy without knowing where sensitive data lives,\" the report emphasizes.",{"data":3124,"content":3125,"nodeType":860},{},[3126],{"data":3127,"marks":3128,"value":3129,"nodeType":864},{},[],"These are visibility and measurement problems before they're policy problems. You can't govern what you can't see. You can't classify risk you can't measure. And a blocklist that pushes usage underground doesn't give you either: it just makes the gap between your policy and your reality harder to detect.",{"data":3131,"content":3132,"nodeType":860},{},[3133],{"data":3134,"marks":3135,"value":3136,"nodeType":864},{},[],"Getting this visibility right is necessary for crossing the chasm. But it’s not the only step organizations must undertake if they want to address their AI risk.",{"data":3138,"content":3139,"nodeType":1005},{},[],{"data":3141,"content":3142,"nodeType":1009},{},[3143],{"data":3144,"marks":3145,"value":3147,"nodeType":864},{},[3146],{"type":899},"Governance is key, but don't forget about protection",{"data":3149,"content":3150,"nodeType":860},{},[3151,3155,3160],{"data":3152,"marks":3153,"value":3154,"nodeType":864},{},[],"Most AI security conversations today - the vendor pitches, board decks, and compliance checklists - are about the ",{"data":3156,"marks":3157,"value":3159,"nodeType":864},{},[3158],{"type":899},"Govern",{"data":3161,"marks":3162,"value":3163,"nodeType":864},{},[]," pillar. Shadow AI discovery. Usage policies. Data classification. Controls around what employees paste into AI prompts or upload to AI tools. It's important work.",{"data":3165,"content":3166,"nodeType":860},{},[3167,3171,3176],{"data":3168,"marks":3169,"value":3170,"nodeType":864},{},[],"But the SANS model gives roughly equal weight to a second pillar that gets almost no attention: ",{"data":3172,"marks":3173,"value":3175,"nodeType":864},{},[3174],{"type":899},"Protect",{"data":3177,"marks":3178,"value":3179,"nodeType":864},{},[]," - defending against AI-enabled attacks.",{"data":3181,"content":3182,"nodeType":860},{},[3183],{"data":3184,"marks":3185,"value":3186,"nodeType":864},{},[],"The Protect pillar starts from a stark baseline. At Stage 1, most organizations have no visibility into which AI agents or browser extensions have access to their corporate environment, let alone a framework for understanding how those could be attacked. ",{"data":3188,"content":3189,"nodeType":860},{},[3190],{"data":3191,"marks":3192,"value":3193,"nodeType":864},{},[],"By Stage 3, the model expects runtime validation of AI tools and plugins, detection capabilities mapped to AI-specific attack frameworks, and controls that cover the growing surface area of agentic AI. ",{"data":3195,"content":3196,"nodeType":860},{},[3197],{"data":3198,"marks":3199,"value":3200,"nodeType":864},{},[],"By Stage 4, organizations need real-time monitoring of AI agent behavior and defenses against attacks that exploit trust relationships between AI systems — capabilities most security teams haven't started scoping, much less building or procuring.",{"data":3202,"content":3203,"nodeType":860},{},[3204,3208,3218],{"data":3205,"marks":3206,"value":3207,"nodeType":864},{},[],"These are detection and response capabilities, not governance exercises — and the attacks they address are already well underway. ",{"data":3209,"content":3211,"nodeType":883},{"uri":3210},"https://pushsecurity.com/blog/the-cisos-data-problem-and-how-browser-telemetry-can-help/",[3212],{"data":3213,"marks":3214,"value":3217,"nodeType":864},{},[3215,3216],{"type":1455},{"type":899},"One in three phishing payloads",{"data":3219,"marks":3220,"value":3221,"nodeType":864},{},[]," intercepted by Push arrive outside of email, through channels where most security controls don't exist. Evidence of the growth of browser-based attack methods enabled by AI tooling abounds:",{"data":3223,"content":3224,"nodeType":941},{},[3225,3247,3269],{"data":3226,"content":3227,"nodeType":945},{},[3228],{"data":3229,"content":3230,"nodeType":860},{},[3231,3235,3243],{"data":3232,"marks":3233,"value":3234,"nodeType":864},{},[],"CrowdStrike's 2026 Global Threat Report documented a ",{"data":3236,"content":3238,"nodeType":883},{"uri":3237},"https://www.crowdstrike.com/explore/2026-global-threat-report",[3239],{"data":3240,"marks":3241,"value":3242,"nodeType":864},{},[],"563% increase in ClickFix lures",{"data":3244,"marks":3245,"value":3246,"nodeType":864},{},[]," — fake CAPTCHA pages that trick users into executing malicious commands on their own machines.",{"data":3248,"content":3249,"nodeType":945},{},[3250],{"data":3251,"content":3252,"nodeType":860},{},[3253,3257,3265],{"data":3254,"marks":3255,"value":3256,"nodeType":864},{},[],"Push has tracked a ",{"data":3258,"content":3260,"nodeType":883},{"uri":3259},"https://pushsecurity.com/blog/device-code-phishing/",[3261],{"data":3262,"marks":3263,"value":3264,"nodeType":864},{},[],"37x increase in device code phishing",{"data":3266,"marks":3267,"value":3268,"nodeType":864},{},[]," since the start of 2026, with 18+ distinct kits now offering the technique.",{"data":3270,"content":3271,"nodeType":945},{},[3272],{"data":3273,"content":3274,"nodeType":860},{},[3275,3278,3287,3291,3296,3300,3305],{"data":3276,"marks":3277,"value":21,"nodeType":864},{},[],{"data":3279,"content":3281,"nodeType":883},{"uri":3280},"https://www.anthropic.com/news/AI-enabled-cyber-threats-mitre-attack",[3282],{"data":3283,"marks":3284,"value":3286,"nodeType":864},{},[3285],{"type":1455},"Anthropic",{"data":3288,"marks":3289,"value":3290,"nodeType":864},{},[]," identified ",{"data":3292,"marks":3293,"value":3295,"nodeType":864},{},[3294],{"type":899},"793 threat actors using AI",{"data":3297,"marks":3298,"value":3299,"nodeType":864},{},[]," for malicious cybersecurity purposes between March 2025 and February 2026, with the 2026 Verizon DBIR finding that ",{"data":3301,"marks":3302,"value":3304,"nodeType":864},{},[3303],{"type":899},"44% of AI-assisted initial access was phishing-related",{"data":3306,"marks":3307,"value":2924,"nodeType":864},{},[],{"data":3309,"content":3310,"nodeType":860},{},[3311],{"data":3312,"marks":3313,"value":3314,"nodeType":864},{},[],"Attackers are already vibecoding phishing kits, rotating infrastructure daily, and exploiting identity flows that traditional endpoint and network tools can't see.",{"data":3316,"content":3317,"nodeType":860},{},[3318],{"data":3319,"marks":3320,"value":3321,"nodeType":864},{},[],"The SANS model makes the speed argument a central focus at Stage 4: Detection built for human-pace adversaries is increasingly insufficient when threats operate at machine speed. For organizations investing exclusively in AI governance, AI-enabled threats represent an entire category of risk that is not being addressed.",{"data":3323,"content":3324,"nodeType":1005},{},[],{"data":3326,"content":3327,"nodeType":1312},{},[3328],{"data":3329,"marks":3330,"value":3332,"nodeType":864},{},[3331],{"type":899},"Why governance alone can't close the gap",{"data":3334,"content":3335,"nodeType":860},{},[3336,3340,3345],{"data":3337,"marks":3338,"value":3339,"nodeType":864},{},[],"An organization can have an AI policy, shadow AI discovery, data classification, and usage controls, and ",{"data":3341,"marks":3342,"value":3344,"nodeType":864},{},[3343],{"type":2246},"still",{"data":3346,"marks":3347,"value":3348,"nodeType":864},{},[]," be exposed. When an employee hits a device code phishing page or a ClickFix lure, the governance program documented the risk perfectly. It just couldn't stop the attack. The policy existed but the detection (and ideally, mitigation) didn't.",{"data":3350,"content":3351,"nodeType":860},{},[3352],{"data":3353,"marks":3354,"value":3355,"nodeType":864},{},[],"The reverse is equally true, and it's why the SANS model treats the pillars as interdependent rather than sequential. Detection capabilities that fire into a void with no policy to act on findings, no classification to assess exposure, and no governance body to shape proactive policy just create alerts, not security. ",{"data":3357,"content":3358,"nodeType":860},{},[3359],{"data":3360,"marks":3361,"value":3362,"nodeType":864},{},[],"Yet most organizations are only investing heavily in one side of the solution, which is almost always Govern. The maturity model is explicit about the risks of this approach: Governance with no attack detection leaves a critical gap. ",{"data":3364,"content":3365,"nodeType":860},{},[3366],{"data":3367,"marks":3368,"value":3370,"nodeType":864},{},[3369],{"type":899},"Closing the gap requires a control point where both problems are visible and addressable.",{"data":3372,"content":3373,"nodeType":1005},{},[],{"data":3375,"content":3376,"nodeType":1009},{},[3377],{"data":3378,"marks":3379,"value":3381,"nodeType":864},{},[3380],{"type":899},"Crossing the chasm requires addressing both pillars at once",{"data":3383,"content":3384,"nodeType":860},{},[3385,3389,3396],{"data":3386,"marks":3387,"value":3388,"nodeType":864},{},[],"The bottleneck for most security programs ",{"data":3390,"content":3391,"nodeType":883},{"uri":3210},[3392],{"data":3393,"marks":3394,"value":3395,"nodeType":864},{},[],"isn't frameworks or strategy — it's data quality",{"data":3397,"marks":3398,"value":3399,"nodeType":864},{},[],". For teams taking on the dual problems of shadow AI and AI-enabled attacks, browser telemetry is the foundation to any meaningful solution. That’s because both problems converge in the same place.",{"data":3401,"content":3402,"nodeType":860},{},[3403],{"data":3404,"marks":3405,"value":3406,"nodeType":864},{},[],"AI-enabled phishing attacks, credential theft, malicious browser extensions, and OAuth exploitation happen in the browser. So do shadow AI adoption, sensitive data pasted into AI prompts, file uploads to unapproved tools, and unauthorized integrations. The browser is where external attacks and internal misuse are both visible and stoppable.",{"data":3408,"content":3409,"nodeType":860},{},[3410],{"data":3411,"marks":3412,"value":3413,"nodeType":864},{},[],"For the security team trying to advance past the Framework of No, browser telemetry replaces the blunt instrument of network-level blocking with actual visibility:",{"data":3415,"content":3416,"nodeType":941},{},[3417,3427,3437],{"data":3418,"content":3419,"nodeType":945},{},[3420],{"data":3421,"content":3422,"nodeType":860},{},[3423],{"data":3424,"marks":3425,"value":3426,"nodeType":864},{},[],"which AI apps are in use (including personal account usage)",{"data":3428,"content":3429,"nodeType":945},{},[3430],{"data":3431,"content":3432,"nodeType":860},{},[3433],{"data":3434,"marks":3435,"value":3436,"nodeType":864},{},[],"what data is moving into them (file uploads, clipboard activity)",{"data":3438,"content":3439,"nodeType":945},{},[3440],{"data":3441,"content":3442,"nodeType":860},{},[3443],{"data":3444,"marks":3445,"value":3446,"nodeType":864},{},[],"graduated controls - per-app, per-user group, per-content pattern - that can monitor, warn, or block based on context rather than allow/deny",{"data":3448,"content":3449,"nodeType":860},{},[3450],{"data":3451,"marks":3452,"value":3453,"nodeType":864},{},[],"The same browser-layer instrumentation can also provide real-time detection of credential phishing, ClickFix, adversary-in-the-middle attacks, and device code phishing. And it can detect and disable malicious browser extensions based on confirmed threat intelligence, monitor OAuth integrations, and generate the identity attack surface data (login behaviors, MFA gaps, SSO coverage) that the Protect pillar requires at Stage 3 maturity and beyond.",{"data":3455,"content":3456,"nodeType":860},{},[3457],{"data":3458,"marks":3459,"value":3460,"nodeType":864},{},[],"We built Push around this insight: that the browser is where both problems converge, and a single deployment can advance AI security maturity in both areas simultaneously. The SANS model makes the same argument.",{"data":3462,"content":3463,"nodeType":1005},{},[],{"data":3465,"content":3466,"nodeType":1009},{},[3467],{"data":3468,"marks":3469,"value":3471,"nodeType":864},{},[3470],{"type":899},"Where to start: 5 steps to maturity with Push",{"data":3473,"content":3474,"nodeType":860},{},[3475],{"data":3476,"marks":3477,"value":3478,"nodeType":864},{},[],"The chasm closes when organizations make meaningful strides forward in both AI governance and proactive defense against AI-enabled attacks. Here's the starting plan that I'd recommend, and Push can provide the tooling to automate these steps:",{"data":3480,"content":3481,"nodeType":860},{},[3482,3487],{"data":3483,"marks":3484,"value":3486,"nodeType":864},{},[3485],{"type":899},"1. Build an AI inventory automatically.",{"data":3488,"marks":3489,"value":3490,"nodeType":864},{},[]," Every stage transition in the SANS model starts with knowing what's in your environment. A manual survey won't cut it; employees won't self-report the tools they're not sure they're allowed to use, and may overlook apps where AI is a feature but not the core function (AI-enabled apps). Instead, organizations should deploy automated discovery for AI apps, browser extensions, and OAuth integrations across the workforce - including the ones using personal accounts. Until this inventory exists, every policy decision is based on incomplete information.",{"data":3492,"content":3496,"nodeType":996},{"target":3493},{"sys":3494},{"id":3495,"type":1001,"linkType":1002},"2t3u0NydllImv6NzvAY058",[],{"data":3498,"content":3499,"nodeType":860},{},[3500,3505],{"data":3501,"marks":3502,"value":3504,"nodeType":864},{},[3503],{"type":899},"2. Classify what you find.",{"data":3506,"marks":3507,"value":3508,"nodeType":864},{},[]," Not all AI usage carries the same risk. A developer pasting code into ChatGPT and a salesperson using an AI notetaker are different problems. Once you can see the tools, categorize them by data sensitivity, authorization status, and access scope. The SANS model calls out data classification as a critical prerequisite; you can't write an effective AI policy without knowing where sensitive data lives.",{"data":3510,"content":3511,"nodeType":860},{},[3512,3517],{"data":3513,"marks":3514,"value":3516,"nodeType":864},{},[3515],{"type":899},"3. Turn on browser-layer detection.",{"data":3518,"marks":3519,"value":3520,"nodeType":864},{},[]," This is the step most organizations skip, and it's why addressing only the Protect pillar will keep you at Stage 1. AI-enabled phishing, ClickFix attacks, device code phishing, malicious extension updates, and OAuth exploitation all execute in the browser. Without detection in that layer, there's no visibility into the fastest-growing attack category, and no path to advancing beyond basic AI usage awareness.",{"data":3522,"content":3526,"nodeType":996},{"target":3523},{"sys":3524},{"id":3525,"type":1001,"linkType":1002},"1fzuGjA6VSbVl1p7vM1mt7",[],{"data":3528,"content":3529,"nodeType":860},{},[3530,3535],{"data":3531,"marks":3532,"value":3534,"nodeType":864},{},[3533],{"type":899},"4. Move from blocking to graduated controls.",{"data":3536,"marks":3537,"value":3538,"nodeType":864},{},[]," The Framework of No fails because it's binary: allow or deny, with nothing in between. Organizations that cross the chasm adopt monitor, warn, and block modes — per app, per user group, per content pattern. Monitor first to see what's happening, warn to change behavior without disrupting workflows, and block only where the risk justifies it. This is the operational difference between Stage 2 and Stage 3.",{"data":3540,"content":3541,"nodeType":860},{},[3542,3547,3551,3557],{"data":3543,"marks":3544,"value":3546,"nodeType":864},{},[3545],{"type":899},"5. Assess yourself honestly against evidence, not aspiration.",{"data":3548,"marks":3549,"value":3550,"nodeType":864},{},[]," The ",{"data":3552,"content":3553,"nodeType":883},{"uri":2852},[3554],{"data":3555,"marks":3556,"value":1108,"nodeType":864},{},[],{"data":3558,"marks":3559,"value":3560,"nodeType":864},{},[]," includes a self-assessment and industry-specific weighting profiles. The value isn't in the score, but in identifying which pillar is keeping you from advancing.",{"data":3562,"content":3563,"nodeType":860},{},[3564],{"data":3565,"marks":3566,"value":3567,"nodeType":864},{},[],"The organizations that cross the AI security chasm will be the ones that recognize early that AI security isn't one problem with one solution. It's two problems that happen to share a control point. The most efficient path forward is a platform that addresses both.",{"data":3569,"content":3570,"nodeType":1005},{},[],{"data":3572,"content":3573,"nodeType":1009},{},[3574],{"data":3575,"marks":3576,"value":3578,"nodeType":864},{},[3577],{"type":899},"Learn more about Push",{"data":3580,"content":3581,"nodeType":860},{},[3582],{"data":3583,"marks":3584,"value":3585,"nodeType":864},{},[],"Push Security is the most powerful AI-native security tool in the browser. Think EDR, but for the browser - high-fidelity telemetry and real-time control across every session, on every device, with no browser migration required.",{"data":3587,"content":3588,"nodeType":860},{},[3589],{"data":3590,"marks":3591,"value":1689,"nodeType":864},{},[],{"data":3593,"content":3594,"nodeType":860},{},[3595,3598,3605],{"data":3596,"marks":3597,"value":2707,"nodeType":864},{},[],{"data":3599,"content":3600,"nodeType":883},{"uri":1700},[3601],{"data":3602,"marks":3603,"value":2715,"nodeType":864},{},[3604],{"type":1455},{"data":3606,"marks":3607,"value":2719,"nodeType":864},{},[],"Crossing the AI security chasm with the SANS AI security maturity model","Most organizations know they have an AI security problem. A new SANS framework shows why so few are making progress - and what it actually takes to get unstuck.","2026-06-24T00:00:00.000Z","crossing-the-ai-security-chasm-sans-security-maturity-model",{"items":3613},[3614,3616],{"sys":3615,"name":297},{"id":2732},{"sys":3617,"name":2729},{"id":2728},{"items":3619},[3620],{"fullName":3621,"firstName":3622,"jobTitle":3623,"profilePicture":3624},"Mark Orlando","Mark","Field CTO",{"url":3625},"https://images.ctfassets.net/y1cdw1ablpvd/592PMwIQQFaa24k5SKBEKF/a33090d0ad95d1e3081f5d16a46ba826/image__68_.png",{"__typename":2059,"sys":3627,"content":3629,"title":4865,"synopsis":4866,"hashTags":59,"publishedDate":4867,"slug":4868,"tagsCollection":4869,"authorsCollection":4875},{"id":3628},"6MoHWfQlVildcFYKSbfMcE",{"json":3630},{"data":3631,"content":3632,"nodeType":856},{},[3633,3649,3655,3662,3669,3675,3678,3686,3694,3713,3761,3767,3782,3785,3793,3800,3828,3869,3876,3879,3887,3895,3902,3908,3915,3918,3926,3933,3975,4011,4018,4021,4029,4036,4061,4068,4113,4120,4123,4131,4139,4184,4191,4197,4200,4208,4216,4248,4255,4261,4268,4271,4279,4287,4316,4323,4330,4337,4340,4348,4356,4363,4369,4376,4399,4428,4431,4439,4447,4454,4461,4464,4472,4534,4537,4545,4552,4846,4849],{"data":3634,"content":3635,"nodeType":860},{},[3636,3640,3645],{"data":3637,"marks":3638,"value":3639,"nodeType":864},{},[],"Browser security solutions are one of the most significant additions to the enterprise security stack in recent years — and the data shows it. The browser is where ",{"data":3641,"marks":3642,"value":3644,"nodeType":864},{},[3643],{"type":899},"85% of work now happens",{"data":3646,"marks":3647,"value":3648,"nodeType":864},{},[],", where AI tools are accessed, and where attackers increasingly choose to strike.",{"data":3650,"content":3654,"nodeType":996},{"target":3651},{"sys":3652},{"id":3653,"type":1001,"linkType":1002},"5P6PyFbn4EakRNlIWtNzyL",[],{"data":3656,"content":3657,"nodeType":860},{},[3658],{"data":3659,"marks":3660,"value":3661,"nodeType":864},{},[],"But browser security is a nascent category. Getting a clear picture of which solution is right for your team, and how to get the most out of it, isn't straightforward. Current solutions on the market serve a wide range of IT and security use cases, with varying degrees of depth and differentiation across them. Not all use cases are equal in terms of their security value, and not all of them are best addressed in the browser.",{"data":3663,"content":3664,"nodeType":860},{},[3665],{"data":3666,"marks":3667,"value":3668,"nodeType":864},{},[],"This article ranks the security problems that browser security solutions can address by the value they deliver: a combination of the risk reduction on offer, and the degree to which the browser is genuinely the best (or only) layer to solve the problem. ",{"data":3670,"content":3674,"nodeType":996},{"target":3671},{"sys":3672},{"id":3673,"type":1001,"linkType":1002},"6SJPvEHizSYk29lEvVVNj",[],{"data":3676,"content":3677,"nodeType":1005},{},[],{"data":3679,"content":3680,"nodeType":1009},{},[3681],{"data":3682,"marks":3683,"value":3685,"nodeType":864},{},[3684],{"type":899},"#1 — Account takeover prevention: detecting credential attacks across all vectors",{"data":3687,"content":3688,"nodeType":860},{},[3689],{"data":3690,"marks":3691,"value":3693,"nodeType":864},{},[3692],{"type":899},"Security value: Very high | Browser fit: Uniquely suited",{"data":3695,"content":3696,"nodeType":860},{},[3697,3701,3709],{"data":3698,"marks":3699,"value":3700,"nodeType":864},{},[],"Account takeover (ATO) is the dominant entry point for enterprise breaches: ",{"data":3702,"content":3704,"nodeType":883},{"uri":3703},"https://www.crowdstrike.com/en-gb/resources/infographics/identity-security-risk-review/",[3705],{"data":3706,"marks":3707,"value":3708,"nodeType":864},{},[],"80% of all modern breaches involve compromised or stolen identities",{"data":3710,"marks":3711,"value":3712,"nodeType":864},{},[],". The attack surface is far wider than most identity tooling can see: credential stuffing, password spraying, ghost logins (password-based fallback authentication that persists after SSO is configured), weak or reused credentials on shadow SaaS apps, and accounts where MFA was never enforced.",{"data":3714,"content":3715,"nodeType":860},{},[3716,3720,3728,3732,3737,3740,3745,3749,3757],{"data":3717,"marks":3718,"value":3719,"nodeType":864},{},[],"According to ",{"data":3721,"content":3723,"nodeType":883},{"uri":3722},"https://cf-assets.www.cloudflare.com/slt3lc6tev37/sWDBUMNVtEJB9ZFLt1dUU/8d69e92de2edfb3bf59e7d21d57e7e1a/Cloudflare-2026-threat-report.pdf",[3724],{"data":3725,"marks":3726,"value":3727,"nodeType":864},{},[],"Cloudflare's 2026 Threat Report",{"data":3729,"marks":3730,"value":3731,"nodeType":864},{},[],", ",{"data":3733,"marks":3734,"value":3736,"nodeType":864},{},[3735],{"type":899},"63% of all human logins involve credentials already compromised elsewhere",{"data":3738,"marks":3739,"value":2232,"nodeType":864},{},[],{"data":3741,"marks":3742,"value":3744,"nodeType":864},{},[3743],{"type":899},"94% of all login attempts originate from bots",{"data":3746,"marks":3747,"value":3748,"nodeType":864},{},[],". The ",{"data":3750,"content":3752,"nodeType":883},{"uri":3751},"https://pushsecurity.com/blog/snowflake-retro/",[3753],{"data":3754,"marks":3755,"value":3756,"nodeType":864},{},[],"Snowflake breach",{"data":3758,"marks":3759,"value":3760,"nodeType":864},{},[]," — 165+ organizations compromised, 1 billion+ records stolen — was powered almost entirely by ghost logins: accounts missing MFA that were susceptible to credential stuffing. It's particularly telling that 80% of the accounts impacted had prior breach exposure.",{"data":3762,"content":3766,"nodeType":996},{"target":3763},{"sys":3764},{"id":3765,"type":1001,"linkType":1002},"HbZ66kp5DiAZtwNGFJK7d",[],{"data":3768,"content":3769,"nodeType":860},{},[3770,3774,3779],{"data":3771,"marks":3772,"value":3773,"nodeType":864},{},[],"For organizations with contractors and BYOD users, the browser extension is also the only enterprise control deployable on devices that can't be MDM-enrolled — extending ATO detection to exactly the place where, per Verizon DBIR 2025, ",{"data":3775,"marks":3776,"value":3778,"nodeType":864},{},[3777],{"type":899},"46% of infostealer infections originate",{"data":3780,"marks":3781,"value":2924,"nodeType":864},{},[],{"data":3783,"content":3784,"nodeType":1005},{},[],{"data":3786,"content":3787,"nodeType":1009},{},[3788],{"data":3789,"marks":3790,"value":3792,"nodeType":864},{},[3791],{"type":899},"#2 — Detecting and stopping advanced phishing: AiTM, multi-channel delivery, and zero-day lures",{"data":3794,"content":3795,"nodeType":860},{},[3796],{"data":3797,"marks":3798,"value":3693,"nodeType":864},{},[3799],{"type":899},{"data":3801,"content":3802,"nodeType":860},{},[3803,3807,3815,3819,3824],{"data":3804,"marks":3805,"value":3806,"nodeType":864},{},[],"Adversary-in-the-Middle (AiTM) phishing — where an attacker's reverse proxy intercepts credentials and session tokens in real time — has become the standard technique for bypassing MFA at scale. ",{"data":3808,"content":3810,"nodeType":883},{"uri":3809},"https://www.esentire.com/resources/library/2026-threat-report",[3811],{"data":3812,"marks":3813,"value":3814,"nodeType":864},{},[],"eSentire's 2026 Threat Report",{"data":3816,"marks":3817,"value":3818,"nodeType":864},{},[]," attributes ",{"data":3820,"marks":3821,"value":3823,"nodeType":864},{},[3822],{"type":899},"63% of account compromise incidents to PhaaS kits",{"data":3825,"marks":3826,"value":3827,"nodeType":864},{},[],", with account compromise surging 389% year-over-year.",{"data":3829,"content":3830,"nodeType":860},{},[3831,3835,3843,3847,3852,3856,3865],{"data":3832,"marks":3833,"value":3834,"nodeType":864},{},[],"Traditional phishing controls are also no longer in the right place to intercept these attacks. The delivery channel has shifted decisively away from email: ",{"data":3836,"content":3838,"nodeType":883},{"uri":3837},"https://cloud.google.com/blog/topics/threat-intelligence/m-trends-2026",[3839],{"data":3840,"marks":3841,"value":3842,"nodeType":864},{},[],"Mandiant M-Trends 2026",{"data":3844,"marks":3845,"value":3846,"nodeType":864},{},[]," found email phishing dropped from 14% to 6% as an infection vector, and Push data shows ",{"data":3848,"marks":3849,"value":3851,"nodeType":864},{},[3850],{"type":899},"roughly 1 in 3 phishing payloads intercepted were delivered outside email entirely",{"data":3853,"marks":3854,"value":3855,"nodeType":864},{},[]," — via search engine malvertising, social platforms, and compromised websites. Meanwhile, ",{"data":3857,"content":3859,"nodeType":883},{"uri":3858},"https://www.spamhaus.com/resource-center/supporting-researchers-with-passive-dns/",[3860],{"data":3861,"marks":3862,"value":3864,"nodeType":864},{},[3863],{"type":899},"89% of phishing domains are active for less than two days",{"data":3866,"marks":3867,"value":3868,"nodeType":864},{},[],", making blocklist-based detection structurally too slow — attackers can spin up, tear down, and move on before blocklists can catch up.",{"data":3870,"content":3871,"nodeType":860},{},[3872],{"data":3873,"marks":3874,"value":3875,"nodeType":864},{},[],"Modern phishing plays out entirely inside the browser session. The only detection layer that can see the phishing page structure, the credential entry, and the anomalous token context is the browser itself. Browser-native detection analyses page behavior rather than matching known-bad domains, which means it fires on zero-day kits regardless of how recently the infrastructure was stood up. Controls like credential entry guardrails add an additional layer — blocking corporate passwords from being submitted to unauthorized domains independently of content and behavior-based detections.",{"data":3877,"content":3878,"nodeType":1005},{},[],{"data":3880,"content":3881,"nodeType":1009},{},[3882],{"data":3883,"marks":3884,"value":3886,"nodeType":864},{},[3885],{"type":899},"#3 — Identity posture hardening: enforcing security across the apps your IdP doesn't manage",{"data":3888,"content":3889,"nodeType":860},{},[3890],{"data":3891,"marks":3892,"value":3894,"nodeType":864},{},[3893],{"type":899},"Security value: High | Browser fit: Uniquely suited",{"data":3896,"content":3897,"nodeType":860},{},[3898],{"data":3899,"marks":3900,"value":3901,"nodeType":864},{},[],"The first challenge is knowing what you're protecting. Every identity an employee creates — every app they sign up to, every password they set, every login that bypasses SSO — is an authentication event that happens inside a browser session. The browser is the only layer that observes all of these events regardless of whether the app is sanctioned, managed, or even known to IT. Solutions that rely on API-level integrations with known apps, network traffic inspection, or email sign-up notifications can only ever build a partial picture, because they can only see apps they already know about. The browser sees the login itself, which means it discovers the identity at the moment it's created or used — authentication method, password strength, MFA status, and all.",{"data":3903,"content":3907,"nodeType":996},{"target":3904},{"sys":3905},{"id":3906,"type":1001,"linkType":1002},"HETvBCPsKGkqLVtaasXH0",[],{"data":3909,"content":3910,"nodeType":860},{},[3911],{"data":3912,"marks":3913,"value":3914,"nodeType":864},{},[],"But discovery without enforcement is just an inventory problem. Being in the browser means that you're in a great position to act on what it finds at the moment of authentication. Browser-native guardrails that prompt MFA enrollment, guide users toward stronger credentials, and redirect to SSO login paths close the gap at scale, on every app, including those the IdP has never seen. They also produce the continuous, auditable evidence of MFA coverage and credential hygiene across the full application estate that regulators, insurers, and auditors increasingly require — evidence that no IdP-centric tool can provide for apps outside its scope.",{"data":3916,"content":3917,"nodeType":1005},{},[],{"data":3919,"content":3920,"nodeType":1009},{},[3921],{"data":3922,"marks":3923,"value":3925,"nodeType":864},{},[3924],{"type":899},"#4 — Browser extension security",{"data":3927,"content":3928,"nodeType":860},{},[3929],{"data":3930,"marks":3931,"value":3894,"nodeType":864},{},[3932],{"type":899},{"data":3934,"content":3935,"nodeType":860},{},[3936,3940,3949,3952,3960,3963,3971],{"data":3937,"marks":3938,"value":3939,"nodeType":864},{},[],"Browser extensions have become one of the most talked-about attack surfaces in security over the past 18 months, and understandably so — a string of high-profile supply chain compromises have collectively impacted tens of millions of users since late 2024 (",{"data":3941,"content":3943,"nodeType":883},{"uri":3942},"https://www.cyberhaven.com/blog/cyberhavens-chrome-extension-security-incident-and-what-were-doing-about-it",[3944],{"data":3945,"marks":3946,"value":3948,"nodeType":864},{},[3947],{"type":1455},"Cyberhaven",{"data":3950,"marks":3951,"value":3731,"nodeType":864},{},[],{"data":3953,"content":3955,"nodeType":883},{"uri":3954},"https://thehackernews.com/2025/12/darkspectre-browser-extension-campaigns.html",[3956],{"data":3957,"marks":3958,"value":3959,"nodeType":864},{},[],"DarkSpectre",{"data":3961,"marks":3962,"value":3731,"nodeType":864},{},[],{"data":3964,"content":3966,"nodeType":883},{"uri":3965},"https://thehackernews.com/2025/12/trust-wallet-chrome-extension-hack.html",[3967],{"data":3968,"marks":3969,"value":3970,"nodeType":864},{},[],"Trust Wallet",{"data":3972,"marks":3973,"value":3974,"nodeType":864},{},[],", among many others).",{"data":3976,"content":3977,"nodeType":860},{},[3978,3981,3989,3993,3998,4002,4007],{"data":3979,"marks":3980,"value":21,"nodeType":864},{},[],{"data":3982,"content":3983,"nodeType":883},{"uri":2411},[3984],{"data":3985,"marks":3986,"value":3988,"nodeType":864},{},[3987],{"type":1455},"Analysis of 20,000+ extensions across Push customers",{"data":3990,"marks":3991,"value":3992,"nodeType":864},{},[]," found ",{"data":3994,"marks":3995,"value":3997,"nodeType":864},{},[3996],{"type":899},"46.76% have the permission combinations needed to perform account takeover with no user interaction",{"data":3999,"marks":4000,"value":4001,"nodeType":864},{},[],", making permissions-based risk scoring effectively useless as a triage tool. The real threat model is not malicious extensions at install time — it's legitimate extensions that ",{"data":4003,"marks":4004,"value":4006,"nodeType":864},{},[4005],{"type":2246},"become",{"data":4008,"marks":4009,"value":4010,"nodeType":864},{},[]," malicious after an ownership transfer, developer account compromise, or silent update push. Every major extension supply chain breach of the past 18 months scored as low-risk immediately before compromise.",{"data":4012,"content":4013,"nodeType":860},{},[4014],{"data":4015,"marks":4016,"value":4017,"nodeType":864},{},[],"SWGs and network tools are structurally blind to this attack surface: a malicious extension exfiltrating session tokens generates no anomalous network signal — its traffic is indistinguishable from normal browsing. Endpoint agents have no visibility into extension behavior at the session level. Extension inventory, supply chain change monitoring — ownership transfers, permission escalations, developer contact changes — and enforcement all require browser-layer access by definition.",{"data":4019,"content":4020,"nodeType":1005},{},[],{"data":4022,"content":4023,"nodeType":1009},{},[4024],{"data":4025,"marks":4026,"value":4028,"nodeType":864},{},[4027],{"type":899},"#5 — Shadow SaaS discovery and OAuth integration governance",{"data":4030,"content":4031,"nodeType":860},{},[4032],{"data":4033,"marks":4034,"value":3894,"nodeType":864},{},[4035],{"type":899},{"data":4037,"content":4038,"nodeType":860},{},[4039,4043,4048,4052,4057],{"data":4040,"marks":4041,"value":4042,"nodeType":864},{},[],"Shadow SaaS discovery shares DNA with identity posture hardening (#3) — both start with the same browser-native visibility into login events that no other layer can replicate. Where identity posture focuses on hardening ",{"data":4044,"marks":4045,"value":4047,"nodeType":864},{},[4046],{"type":2246},"how",{"data":4049,"marks":4050,"value":4051,"nodeType":864},{},[]," employees authenticate, shadow SaaS discovery focuses on ",{"data":4053,"marks":4054,"value":4056,"nodeType":864},{},[4055],{"type":2246},"what",{"data":4058,"marks":4059,"value":4060,"nodeType":864},{},[]," they authenticate to: surfacing the full estate of applications in use across the organization, including those that IT has never sanctioned or even heard of.",{"data":4062,"content":4063,"nodeType":860},{},[4064],{"data":4065,"marks":4066,"value":4067,"nodeType":864},{},[],"OAuth integration governance is the component of shadow SaaS that is both the most potentially damaging and the hardest to surface through other means. The SaaS-to-SaaS OAuth pivot is now an industrialized attack pattern.",{"data":4069,"content":4070,"nodeType":941},{},[4071,4092],{"data":4072,"content":4073,"nodeType":945},{},[4074],{"data":4075,"content":4076,"nodeType":860},{},[4077,4080,4088],{"data":4078,"marks":4079,"value":2761,"nodeType":864},{},[],{"data":4081,"content":4083,"nodeType":883},{"uri":4082},"https://pushsecurity.com/blog/analyzing-the-instructure-breach/",[4084],{"data":4085,"marks":4086,"value":4087,"nodeType":864},{},[],"ShinyHunters",{"data":4089,"marks":4090,"value":4091,"nodeType":864},{},[]," Salesforce campaign — which compromised 1,000+ organizations and 1.5 billion records — demonstrated the full chain: the attacker didn't stop at stealing customer data but harvested OAuth tokens, AWS access keys, and Snowflake tokens from breached tenants and pivoted through connected services like Salesloft, Drift, and Gainsight to reach hundreds more organizations.",{"data":4093,"content":4094,"nodeType":945},{},[4095],{"data":4096,"content":4097,"nodeType":860},{},[4098,4101,4109],{"data":4099,"marks":4100,"value":2761,"nodeType":864},{},[],{"data":4102,"content":4104,"nodeType":883},{"uri":4103},"https://pushsecurity.com/blog/unpacking-the-vercel-breach/",[4105],{"data":4106,"marks":4107,"value":4108,"nodeType":864},{},[],"Context.ai → Vercel",{"data":4110,"marks":4111,"value":4112,"nodeType":864},{},[]," chain followed the same logic — stored OAuth tokens from a forgotten AI app trial provided the bridge into Google Workspace, internal dashboards, and API keys. These are not isolated incidents; they are the repeatable playbook for extracting maximum value from a single compromise through the trust relationships that OAuth connections encode.",{"data":4114,"content":4115,"nodeType":860},{},[4116],{"data":4117,"marks":4118,"value":4119,"nodeType":864},{},[],"Every OAuth consent grant transits the browser — the authorization prompt, the scope disclosure, the user's approval click, and the redirect that completes the grant all happen inside a browser session — which makes the browser the only layer where an unwanted grant can be intercepted before the token is issued and the persistent access path is created. Once a token exists, the damage is done: it survives password resets, MFA changes, and session revocations, and revoking it after the fact requires first knowing it was granted, which most organizations do not.",{"data":4121,"content":4122,"nodeType":1005},{},[],{"data":4124,"content":4125,"nodeType":1009},{},[4126],{"data":4127,"marks":4128,"value":4130,"nodeType":864},{},[4129],{"type":899},"#6 — Blocking ClickFix and social engineering-based malware delivery",{"data":4132,"content":4133,"nodeType":860},{},[4134],{"data":4135,"marks":4136,"value":4138,"nodeType":864},{},[4137],{"type":899},"Security value: High | Browser fit: Strong for interception — shared with endpoint security for execution. ConsentFix is a browser-native exception that is T1-aligned.",{"data":4140,"content":4141,"nodeType":860},{},[4142,4146,4151,4155,4162,4166,4171,4175,4180],{"data":4143,"marks":4144,"value":4145,"nodeType":864},{},[],"ClickFix was the most common initial access vector reported by Microsoft in 2025, accounting for ",{"data":4147,"marks":4148,"value":4150,"nodeType":864},{},[4149],{"type":899},"47% of observed attacks",{"data":4152,"marks":4153,"value":4154,"nodeType":864},{},[],". CrowdStrike's ",{"data":4156,"content":4157,"nodeType":883},{"uri":3237},[4158],{"data":4159,"marks":4160,"value":4161,"nodeType":864},{},[],"2026 Global Threat Report",{"data":4163,"marks":4164,"value":4165,"nodeType":864},{},[]," identified fake CAPTCHA lures as the most common malware download type, increasing ",{"data":4167,"marks":4168,"value":4170,"nodeType":864},{},[4169],{"type":899},"563% year-over-year",{"data":4172,"marks":4173,"value":4174,"nodeType":864},{},[],". The technique writes a malicious command to the victim's clipboard and social-engineers them into executing it. It is fileless (bypassing download scanning), user-executed (bypassing endpoint behavioral detections), and ",{"data":4176,"marks":4177,"value":4179,"nodeType":864},{},[4178],{"type":899},"4 in 5 ClickFix payloads intercepted by Push arrived via search engines",{"data":4181,"marks":4182,"value":4183,"nodeType":864},{},[]," — not email (bypassing email anti-phishing controls).",{"data":4185,"content":4186,"nodeType":860},{},[4187],{"data":4188,"marks":4189,"value":4190,"nodeType":864},{},[],"The browser is the earliest and most effective intervention point — detecting the clipboard injection and social engineering lure before anything reaches the endpoint in executable form. But the problem doesn't end at the browser boundary: once the command has been pasted and run, detection and remediation become endpoint problems, and a mature defense requires both layers. The broader *Fix family — FileFix, InstallFix, and similar derivatives — follows the same pattern, with the browser providing the critical early-warning layer within a defense that spans browser and endpoint.",{"data":4192,"content":4196,"nodeType":996},{"target":4193},{"sys":4194},{"id":4195,"type":1001,"linkType":1002},"39alMHtw9FPHbQINqbAgBN",[],{"data":4198,"content":4199,"nodeType":1005},{},[],{"data":4201,"content":4202,"nodeType":1009},{},[4203],{"data":4204,"marks":4205,"value":4207,"nodeType":864},{},[4206],{"type":899},"#7 — AI visibility and control: enforcing which AI tools employees can use and how",{"data":4209,"content":4210,"nodeType":860},{},[4211],{"data":4212,"marks":4213,"value":4215,"nodeType":864},{},[4214],{"type":899},"Security value: High | Browser fit: Strong for access enforcement — but AI governance is not a new security problem so much as a force multiplier on existing ones",{"data":4217,"content":4218,"nodeType":860},{},[4219,4223,4231,4235,4244],{"data":4220,"marks":4221,"value":4222,"nodeType":864},{},[],"AI adoption is outpacing security governance at nearly every organization, and ",{"data":4224,"content":4225,"nodeType":883},{"uri":2561},[4226],{"data":4227,"marks":4228,"value":4230,"nodeType":864},{},[4229],{"type":899},"71% of organizations are concerned about data leakage via unsanctioned AI apps",{"data":4232,"marks":4233,"value":4234,"nodeType":864},{},[],". But the security problems that AI creates are not, for the most part, novel — they are existing Tier 1 problems amplified by a new category of tooling. Shadow AI apps are shadow SaaS (#5). AI OAuth integrations are OAuth governance (#5). AI browser extensions are extension security (#4). The risk of employees using personal AI accounts — ",{"data":4236,"content":4238,"nodeType":883},{"uri":4237},"https://keepaware.com/blog/46-of-sensitive-data-bypasses-your-dlp",[4239],{"data":4240,"marks":4241,"value":4243,"nodeType":864},{},[4242],{"type":899},"46% of sensitive inputs to AI tools are sent via personal accounts",{"data":4245,"marks":4246,"value":4247,"nodeType":864},{},[]," — is an identity posture problem (#3).",{"data":4249,"content":4250,"nodeType":860},{},[4251],{"data":4252,"marks":4253,"value":4254,"nodeType":864},{},[],"The component parts that allow you to govern AI are individually Tier 1 capabilities, and the browser is the best single layer for gaining visibility and control over AI usage — it sees the apps, the OAuth grants, the extensions, and the account context. But a complete end-to-end solution also requires a presence on the endpoint layer (for local AI tools, IDE-integrated agents, and API-level usage that never touches the browser), and prompt-level DLP on sanctioned tools is better handled by platform-native controls than by browser-layer observation.",{"data":4256,"content":4260,"nodeType":996},{"target":4257},{"sys":4258},{"id":4259,"type":1001,"linkType":1002},"6Py3z9VgjhKrchmYvhmbsq",[],{"data":4262,"content":4263,"nodeType":860},{},[4264],{"data":4265,"marks":4266,"value":4267,"nodeType":864},{},[],"The browser is what makes platform controls effective — if employees are using personal accounts, there are no enterprise audit logs to inspect. And for the growing category of AI agents, agentic browsers, and MCP-connected tools that operate through OAuth grants rather than direct user interaction, the browser is where the consent decisions that authorize those agents are made.",{"data":4269,"content":4270,"nodeType":1005},{},[],{"data":4272,"content":4273,"nodeType":1009},{},[4274],{"data":4275,"marks":4276,"value":4278,"nodeType":864},{},[4277],{"type":899},"#8 — Investigation acceleration and incident response: closing the missing middle",{"data":4280,"content":4281,"nodeType":860},{},[4282],{"data":4283,"marks":4284,"value":4286,"nodeType":864},{},[4285],{"type":899},"Security value: High | Browser fit: Strong — fills a structural gap complementary to endpoint, network, and identity telemetry",{"data":4288,"content":4289,"nodeType":860},{},[4290,4294,4299,4303,4312],{"data":4291,"marks":4292,"value":4293,"nodeType":864},{},[],"Endpoint logs show what processes executed. Network logs show traffic destinations. IdP logs show authentication events. None of them show what happened ",{"data":4295,"marks":4296,"value":4298,"nodeType":864},{},[4297],{"type":2246},"inside the browser session",{"data":4300,"marks":4301,"value":4302,"nodeType":864},{},[]," — the phishing page the user saw, the credentials they entered, the malicious OAuth consent grant, the data uploaded or pasted to an unsanctioned service. This is the missing middle of modern incident investigations, and for the ",{"data":4304,"content":4306,"nodeType":883},{"uri":4305},"https://www.paloaltonetworks.co.uk/resources/research/unit-42-incident-response-report",[4307],{"data":4308,"marks":4309,"value":4311,"nodeType":864},{},[4310],{"type":899},"48% of intrusions involving browser-based activity",{"data":4313,"marks":4314,"value":4315,"nodeType":864},{},[],", the absence of browser telemetry is a significant investigative gap.",{"data":4317,"content":4318,"nodeType":860},{},[4319],{"data":4320,"marks":4321,"value":4322,"nodeType":864},{},[],"Browser-layer telemetry fills that gap with a fundamentally different quality of signal: what users actually clicked, what pages loaded and how they behaved, what credentials were entered, what session activity followed — structured, high-fidelity data from inside the session where the attack played out. That's the difference between inferring what happened and seeing it directly, and it determines scope, drives containment decisions, and provides the direct evidential record that neither endpoint DLP nor network monitoring can supply for browser-native attacks.",{"data":4324,"content":4325,"nodeType":860},{},[4326],{"data":4327,"marks":4328,"value":4329,"nodeType":864},{},[],"Browser telemetry is a key addition to the investigative picture. Investigations are inherently multi-source — without browser data, reconstructing an incident from EDR, network, and IdP logs won't tell you the full picture (particularly when attacks are increasingly delivered outside of email, intercepting users as they browse the internet normally).",{"data":4331,"content":4332,"nodeType":860},{},[4333],{"data":4334,"marks":4335,"value":4336,"nodeType":864},{},[],"The browser provides the causal link that other sources miss: the bridge between \"a user visited a URL\" and \"credentials were submitted to a phishing page that issued a session token now being replayed from an attacker-controlled browser.\" Integrated with SIEM and SOAR platforms, that signal enables automated response workflows to execute on high-confidence detections without waiting for manual triage.",{"data":4338,"content":4339,"nodeType":1005},{},[],{"data":4341,"content":4342,"nodeType":1009},{},[4343],{"data":4344,"marks":4345,"value":4347,"nodeType":864},{},[4346],{"type":899},"#9 — Infostealer defense: detecting exposure and blocking delivery",{"data":4349,"content":4350,"nodeType":860},{},[4351],{"data":4352,"marks":4353,"value":4355,"nodeType":864},{},[4354],{"type":899},"Security value: High | Browser fit: Strong for delivery interception and stolen factor detection — complementary to endpoint security for execution",{"data":4357,"content":4358,"nodeType":860},{},[4359],{"data":4360,"marks":4361,"value":4362,"nodeType":864},{},[],"Infostealers are the upstream supply chain for a disproportionate share of the most damaging enterprise attacks — harvesting credentials, session cookies, and browser profile data en masse from infected devices, then selling the outputs on infostealer markets for use in credential stuffing, ATO, and ransomware campaigns.",{"data":4364,"content":4368,"nodeType":996},{"target":4365},{"sys":4366},{"id":4367,"type":1001,"linkType":1002},"5NF1afwu3zFGThZTtStVQA",[],{"data":4370,"content":4371,"nodeType":860},{},[4372],{"data":4373,"marks":4374,"value":4375,"nodeType":864},{},[],"The browser is relevant at two points in the infostealer kill chain. First, delivery interception: ClickFix (covered in #6) is now the primary infostealer delivery mechanism, and the browser is the only layer that can intercept it before execution. Second, detecting stolen factors when attackers attempt to use them — and infostealers produce two categories of stolen factor that the browser can guard against.",{"data":4377,"content":4378,"nodeType":941},{},[4379,4389],{"data":4380,"content":4381,"nodeType":945},{},[4382],{"data":4383,"content":4384,"nodeType":860},{},[4385],{"data":4386,"marks":4387,"value":4388,"nodeType":864},{},[],"Stolen credentials can be identified at the point of login: browser-layer detection flags credentials that appear in known breach datasets, catching infostealer-harvested passwords being replayed in credential stuffing campaigns before the account is compromised.",{"data":4390,"content":4391,"nodeType":945},{},[4392],{"data":4393,"content":4394,"nodeType":860},{},[4395],{"data":4396,"marks":4397,"value":4398,"nodeType":864},{},[],"Stolen session tokens are caught through a different mechanism: sessions originating in instrumented browsers carry a marker, and when a token subsequently appears in an un-instrumented browser it is a confirmed stolen session — catching infostealer-harvested cookies being replayed regardless of how or where the token was originally harvested.",{"data":4400,"content":4401,"nodeType":860},{},[4402,4406,4415,4419,4424],{"data":4403,"marks":4404,"value":4405,"nodeType":864},{},[],"This is particularly critical for the ",{"data":4407,"content":4409,"nodeType":883},{"uri":4408},"https://www.verizon.com/business/en-gb/resources/reports/dbir/",[4410],{"data":4411,"marks":4412,"value":4414,"nodeType":864},{},[4413],{"type":899},"46% of infected devices that are unmanaged",{"data":4416,"marks":4417,"value":4418,"nodeType":864},{},[]," where EDR is absent and the stolen credentials and session tokens will never be detected at the endpoint. Infostealer ",{"data":4420,"marks":4421,"value":4423,"nodeType":864},{},[4422],{"type":2246},"execution",{"data":4425,"marks":4426,"value":4427,"nodeType":864},{},[]," remains an endpoint problem; the browser closes the delivery and replay gaps that endpoint tools miss.",{"data":4429,"content":4430,"nodeType":1005},{},[],{"data":4432,"content":4433,"nodeType":1009},{},[4434],{"data":4435,"marks":4436,"value":4438,"nodeType":864},{},[4437],{"type":899},"#10 — Data loss prevention: a key component of effective DLP, but not the full picture",{"data":4440,"content":4441,"nodeType":860},{},[4442],{"data":4443,"marks":4444,"value":4446,"nodeType":864},{},[4445],{"type":899},"Security value: Medium-high | Browser fit: Partial — complementary to dedicated DLP",{"data":4448,"content":4449,"nodeType":860},{},[4450],{"data":4451,"marks":4452,"value":4453,"nodeType":864},{},[],"File uploads to unsanctioned services, sensitive data pasted into AI tools, and exfiltration through personal accounts are genuine and growing risks that traditional email and endpoint-centric DLP tools were not designed to catch. Browser-layer controls provide real value here — particularly for BYOD users and contractors, where endpoint DLP agents cannot be deployed and the browser is the only available data loss visibility.",{"data":4455,"content":4456,"nodeType":860},{},[4457],{"data":4458,"marks":4459,"value":4460,"nodeType":864},{},[],"The honest scope: browser-layer DLP does not cover email-based loss, endpoint-to-endpoint transfers, or cloud API exfiltration. It closes specific and important gaps within a broader DLP strategy, not a replacement for one. A further distinction for organizations evaluating browser DLP for secure third-party access: full-stack enterprise browsers can enforce deeper output controls — watermarking, obfuscation, screenshot and print restrictions — at the OS rendering level that browser extensions cannot reliably replicate. Extension-based browser DLP is strongest for upload, input, and access control use cases rather than OS-level output restriction.",{"data":4462,"content":4463,"nodeType":1005},{},[],{"data":4465,"content":4466,"nodeType":1009},{},[4467],{"data":4468,"marks":4469,"value":4471,"nodeType":864},{},[4470],{"type":899},"Tier 3 — Lower Value: A problem best addressed outside of the browser",{"data":4473,"content":4474,"nodeType":941},{},[4475,4490,4505,4520],{"data":4476,"content":4477,"nodeType":945},{},[4478],{"data":4479,"content":4480,"nodeType":860},{},[4481,4486],{"data":4482,"marks":4483,"value":4485,"nodeType":864},{},[4484],{"type":899},"Browser exploit protection",{"data":4487,"marks":4488,"value":4489,"nodeType":864},{},[]," (narrow RCE/sandbox sense) ranks lower because browser zero-days represent just 9% of all zero-days reported to Google, and 82% of attack detections are now malware-free (CrowdStrike 2026). This is a problem for browser vendors to solve, and it's not a big enough problem to warrant enterprises investing in additional mitigating controls.",{"data":4491,"content":4492,"nodeType":945},{},[4493],{"data":4494,"content":4495,"nodeType":860},{},[4496,4501],{"data":4497,"marks":4498,"value":4500,"nodeType":864},{},[4499],{"type":899},"Domain and URL category controls",{"data":4502,"marks":4503,"value":4504,"nodeType":864},{},[]," offer genuine browser-layer value but are commoditized by SWG and DNS filtering tools most organizations already operate. This can be provided in the browser, sure (and it's something we do at Push) but offers limited security value in terms of making a difference against modern attacks that quickly rotate these kinds of indicators and are designed to blend in.",{"data":4506,"content":4507,"nodeType":945},{},[4508],{"data":4509,"content":4510,"nodeType":860},{},[4511,4516],{"data":4512,"marks":4513,"value":4515,"nodeType":864},{},[4514],{"type":899},"Access management",{"data":4517,"marks":4518,"value":4519,"nodeType":864},{},[]," — ZTNA, VPN replacement, PAM, BYOD access control — is an IT infrastructure and access architecture problem, not a security operations problem, and belongs to a different buyer with a different evaluation frame. There are numerous (typically full-stack) Enterprise Browser solutions on the market that address IT use cases like this well.",{"data":4521,"content":4522,"nodeType":945},{},[4523],{"data":4524,"content":4525,"nodeType":860},{},[4526,4530],{"data":4527,"marks":4528,"value":781,"nodeType":864},{},[4529],{"type":899},{"data":4531,"marks":4532,"value":4533,"nodeType":864},{},[]," addresses browser exploit risk rather than the identity-first attacks that represent the majority of current enterprise browser risk, and introduces UX friction that limits deployment at scale. When it triggers, it introduces latency but still fails to detect and stop browser-native attacks.",{"data":4535,"content":4536,"nodeType":1005},{},[],{"data":4538,"content":4539,"nodeType":1009},{},[4540],{"data":4541,"marks":4542,"value":4544,"nodeType":864},{},[4543],{"type":899},"How Push Security maps to the highest-value security use cases",{"data":4546,"content":4547,"nodeType":860},{},[4548],{"data":4549,"marks":4550,"value":4551,"nodeType":864},{},[],"Push is purpose-built to address all of these problems using a flexible browser extension — plug into any browser with no migration, no host agent deployment, and no IT overhead — that delivers telemetry and control from day one, and extends coverage to every enrolled browser regardless of device ownership.",{"data":4553,"content":4554,"nodeType":4845},{},[4555,4582,4606,4630,4654,4678,4702,4726,4750,4774,4798,4822],{"data":4556,"content":4557,"nodeType":4581},{},[4558,4570],{"data":4559,"content":4560,"nodeType":4569},{},[4561],{"data":4562,"content":4563,"nodeType":860},{},[4564],{"data":4565,"marks":4566,"value":4568,"nodeType":864},{},[4567],{"type":899},"Security use case","table-cell",{"data":4571,"content":4572,"nodeType":4569},{},[4573],{"data":4574,"content":4575,"nodeType":860},{},[4576],{"data":4577,"marks":4578,"value":4580,"nodeType":864},{},[4579],{"type":899},"How Push addresses it","table-row",{"data":4583,"content":4584,"nodeType":4581},{},[4585,4596],{"data":4586,"content":4587,"nodeType":4569},{},[4588],{"data":4589,"content":4590,"nodeType":860},{},[4591],{"data":4592,"marks":4593,"value":4595,"nodeType":864},{},[4594],{"type":899},"Account takeover prevention",{"data":4597,"content":4598,"nodeType":4569},{},[4599],{"data":4600,"content":4601,"nodeType":860},{},[4602],{"data":4603,"marks":4604,"value":4605,"nodeType":864},{},[],"Surfaces and fixes ghost logins, weak and breached credentials and missing MFA controls across every app and device — including shadow SaaS and unmanaged devices invisible to the IdP. Push also detects and stops the attack techniques that typically lead to ATO early in the kill chain and before an account can be compromised.",{"data":4607,"content":4608,"nodeType":4581},{},[4609,4620],{"data":4610,"content":4611,"nodeType":4569},{},[4612],{"data":4613,"content":4614,"nodeType":860},{},[4615],{"data":4616,"marks":4617,"value":4619,"nodeType":864},{},[4618],{"type":899},"Advanced phishing detection",{"data":4621,"content":4622,"nodeType":4569},{},[4623],{"data":4624,"content":4625,"nodeType":860},{},[4626],{"data":4627,"marks":4628,"value":4629,"nodeType":864},{},[],"Behavioral page analysis detects phishing kits regardless of whether the domain is known-bad. Credential entry guardrails block corporate passwords from being submitted to unauthorized domains. TTP-based detection remains effective as attacker infrastructure rotates.",{"data":4631,"content":4632,"nodeType":4581},{},[4633,4644],{"data":4634,"content":4635,"nodeType":4569},{},[4636],{"data":4637,"content":4638,"nodeType":860},{},[4639],{"data":4640,"marks":4641,"value":4643,"nodeType":864},{},[4642],{"type":899},"Identity posture hardening",{"data":4645,"content":4646,"nodeType":4569},{},[4647],{"data":4648,"content":4649,"nodeType":860},{},[4650],{"data":4651,"marks":4652,"value":4653,"nodeType":864},{},[],"Enforces MFA, strong credentials, and SSO adoption across every app the IdP doesn't manage. Produces continuous, auditable MFA coverage and credential hygiene evidence across the full application and device estate.",{"data":4655,"content":4656,"nodeType":4581},{},[4657,4668],{"data":4658,"content":4659,"nodeType":4569},{},[4660],{"data":4661,"content":4662,"nodeType":860},{},[4663],{"data":4664,"marks":4665,"value":4667,"nodeType":864},{},[4666],{"type":899},"Browser extension security",{"data":4669,"content":4670,"nodeType":4569},{},[4671],{"data":4672,"content":4673,"nodeType":860},{},[4674],{"data":4675,"marks":4676,"value":4677,"nodeType":864},{},[],"Live extension inventory with supply chain change event monitoring — ownership transfers, permission escalations, developer contact changes — rather than static risk scoring. Supports default-deny allowlisting and remote extension removal. Blocks known-bad malicious extensions automatically.",{"data":4679,"content":4680,"nodeType":4581},{},[4681,4692],{"data":4682,"content":4683,"nodeType":4569},{},[4684],{"data":4685,"content":4686,"nodeType":860},{},[4687],{"data":4688,"marks":4689,"value":4691,"nodeType":864},{},[4690],{"type":899},"Shadow SaaS and OAuth governance",{"data":4693,"content":4694,"nodeType":4569},{},[4695],{"data":4696,"content":4697,"nodeType":860},{},[4698],{"data":4699,"marks":4700,"value":4701,"nodeType":864},{},[],"Discovers shadow SaaS from actual login events with full authentication context. Monitors and blocks OAuth consent flows — including AI and MCP integrations — in real time before persistent access paths are created.",{"data":4703,"content":4704,"nodeType":4581},{},[4705,4716],{"data":4706,"content":4707,"nodeType":4569},{},[4708],{"data":4709,"content":4710,"nodeType":860},{},[4711],{"data":4712,"marks":4713,"value":4715,"nodeType":864},{},[4714],{"type":899},"ClickFix and the *Fix family",{"data":4717,"content":4718,"nodeType":4569},{},[4719],{"data":4720,"content":4721,"nodeType":860},{},[4722],{"data":4723,"marks":4724,"value":4725,"nodeType":864},{},[],"Detects and blocks ClickFix lures, clipboard injection, and browser-native variants like ConsentFix in real time — before the payload executes or OAuth key material is captured.",{"data":4727,"content":4728,"nodeType":4581},{},[4729,4740],{"data":4730,"content":4731,"nodeType":4569},{},[4732],{"data":4733,"content":4734,"nodeType":860},{},[4735],{"data":4736,"marks":4737,"value":4739,"nodeType":864},{},[4738],{"type":899},"AI visibility & control",{"data":4741,"content":4742,"nodeType":4569},{},[4743],{"data":4744,"content":4745,"nodeType":860},{},[4746],{"data":4747,"marks":4748,"value":4749,"nodeType":864},{},[],"Enforces which AI tools employees can access and routes usage to corporate tenants. Governs AI browser extensions and blocks OAuth consent grants to unapproved AI applications — drawing on the same Tier 1 capabilities (OAuth governance, extension security, shadow SaaS discovery) that make this possible.",{"data":4751,"content":4752,"nodeType":4581},{},[4753,4764],{"data":4754,"content":4755,"nodeType":4569},{},[4756],{"data":4757,"content":4758,"nodeType":860},{},[4759],{"data":4760,"marks":4761,"value":4763,"nodeType":864},{},[4762],{"type":899},"Security investigations & incident response",{"data":4765,"content":4766,"nodeType":4569},{},[4767],{"data":4768,"content":4769,"nodeType":860},{},[4770],{"data":4771,"marks":4772,"value":4773,"nodeType":864},{},[],"High-fidelity session telemetry — page loads, credential entries, DOM changes, OAuth grants — fills the missing middle that endpoint, network, and IdP logs leave open. Feeds directly into SIEM and SOAR for automated response.",{"data":4775,"content":4776,"nodeType":4581},{},[4777,4788],{"data":4778,"content":4779,"nodeType":4569},{},[4780],{"data":4781,"content":4782,"nodeType":860},{},[4783],{"data":4784,"marks":4785,"value":4787,"nodeType":864},{},[4786],{"type":899},"Infostealer defense",{"data":4789,"content":4790,"nodeType":4569},{},[4791],{"data":4792,"content":4793,"nodeType":860},{},[4794],{"data":4795,"marks":4796,"value":4797,"nodeType":864},{},[],"Intercepts ClickFix-based infostealer delivery before execution. Detects token replay in unenrolled browser contexts — catching post-theft abuse from AiTM-sourced tokens and infostealer-harvested cookies, including from unmanaged devices.",{"data":4799,"content":4800,"nodeType":4581},{},[4801,4812],{"data":4802,"content":4803,"nodeType":4569},{},[4804],{"data":4805,"content":4806,"nodeType":860},{},[4807],{"data":4808,"marks":4809,"value":4811,"nodeType":864},{},[4810],{"type":899},"Data loss prevention",{"data":4813,"content":4814,"nodeType":4569},{},[4815],{"data":4816,"content":4817,"nodeType":860},{},[4818],{"data":4819,"marks":4820,"value":4821,"nodeType":864},{},[],"Observes file uploads, downloads, and sensitive data inputs across all applications. Extends data loss visibility to BYOD and contractor devices where endpoint DLP cannot reach.",{"data":4823,"content":4824,"nodeType":4581},{},[4825,4835],{"data":4826,"content":4827,"nodeType":4569},{},[4828],{"data":4829,"content":4830,"nodeType":860},{},[4831],{"data":4832,"marks":4833,"value":4500,"nodeType":864},{},[4834],{"type":899},{"data":4836,"content":4837,"nodeType":4569},{},[4838],{"data":4839,"content":4840,"nodeType":860},{},[4841],{"data":4842,"marks":4843,"value":4844,"nodeType":864},{},[],"Custom URL blocklists with wildcard support and REST API management for threat intelligence feed sync. Application category blocking restricts access to classes of apps (file-sharing, unsanctioned AI tools) configurable by user group. Domain categorization bringing SWG-style category blocking natively to the browser without a network proxy.","table",{"data":4847,"content":4848,"nodeType":1005},{},[],{"data":4850,"content":4851,"nodeType":860},{},[4852,4856,4862],{"data":4853,"marks":4854,"value":4855,"nodeType":864},{},[],"Push Security is the most powerful AI-native security tool in the browser. Think EDR, but for the browser — high-fidelity telemetry and real-time control across every session, on every device, with no browser migration required. ",{"data":4857,"content":4858,"nodeType":883},{"uri":1700},[4859],{"data":4860,"marks":4861,"value":1703,"nodeType":864},{},[],{"data":4863,"marks":4864,"value":21,"nodeType":864},{},[],"The top 10 security problems you can solve in the browser — ranked by value","Ranking the security problems you can solve in the browser by security value and browser fit.","2026-05-14T00:00:00.000Z","the-top-10-security-problems-you-can-solve-in-the-browser-ranked-by-value",{"items":4870},[4871,4873],{"sys":4872,"name":297},{"id":2732},{"sys":4874,"name":2729},{"id":2728},{"items":4876},[4877],{"fullName":4878,"firstName":4879,"jobTitle":851,"profilePicture":4880},"Alex Henshall","Alex",{"url":4881},"https://images.ctfassets.net/y1cdw1ablpvd/2rz3Pre3b1MexPIQ4hzPUe/0ef8a092b7e7df00fbce3f7d1ccb96d1/Alex_Henshall.jpeg","shadow-ai-how-to-discover-govern-and-secure-ai-apps","blog/shadow-ai-how-to-discover-govern-and-secure-ai-apps","Why you need paved paths, not barricades, for secure AI adoption",{"json":4886},{"data":4887,"content":4888,"nodeType":856},{},[4889],{"data":4890,"content":4891,"nodeType":860},{},[4892],{"data":4893,"marks":4894,"value":4895,"nodeType":864},{},[],"Blocking AI tools doesn't stop employees from using AI — it stops you seeing how they use it. The solution: make the governed path easier than the workaround.",{"id":4897,"publishedAt":4898},"7MB9tEe6mrdNXbkYVhgyWn","2026-08-13T13:06:46.644Z",{"items":4900},[4901,4905],{"sys":4902,"name":4904},{"id":4903},"3SA5H01UkKauuiTdt0KC6q","Shadow IT",{"sys":4906,"name":545},{"id":4907},"7ohk9lIkxMvJMwnp2Lhuad",{"items":4909},[4910,4912,4914,4916,4918,4920,4922,4924,4926,4928,4930,4932,4934,4936,4938,4940],{"sys":4911,"name":580,"slug":581,"tier":45},{"id":577},{"sys":4913,"name":589,"slug":590,"tier":45},{"id":586},{"sys":4915,"name":633,"slug":634,"tier":45},{"id":630},{"sys":4917,"name":624,"slug":625,"tier":45},{"id":621},{"sys":4919,"name":545,"slug":546,"tier":31},{"id":542},{"sys":4921,"name":484,"slug":485,"tier":45},{"id":481},{"sys":4923,"name":431,"slug":432,"tier":45},{"id":428},{"sys":4925,"name":413,"slug":414,"tier":31},{"id":410},{"sys":4927,"name":368,"slug":369,"tier":45},{"id":365},{"sys":4929,"name":351,"slug":352,"tier":45},{"id":348},{"sys":4931,"name":306,"slug":307,"tier":45},{"id":303},{"sys":4933,"name":288,"slug":289,"tier":45},{"id":285},{"sys":4935,"name":297,"slug":298,"tier":31},{"id":294},{"sys":4937,"name":252,"slug":253,"tier":45},{"id":249},{"sys":4939,"name":235,"slug":236,"tier":31},{"id":232},{"sys":4941,"name":244,"slug":245,"tier":45},{"id":241},"Zx6fn8UdirkncRHJf51fcJD_Tl5wsbmvST1BUx0fsQ8",{"id":4944,"title":4945,"authorsCollection":4946,"content":4956,"extension":228,"faqItemsCollection":5736,"faqTitle":59,"featured":6,"hashTags":59,"meta":5738,"metaTitle":5739,"ogImage":59,"postType":5740,"publishedDate":5741,"relatedBlogPostsCollection":5742,"slug":8181,"stem":8182,"subtitle":59,"summary":8183,"synopsis":8193,"sys":8194,"tagsCollection":8197,"topicsCollection":8203,"__hash__":8225},"blog/blog/openai-poisoned-tenant-attack.json","We coined the poisoned tenant attack in 2023; in 2026, someone used it on us",{"items":4947},[4948],{"fullName":4949,"firstName":4950,"jobTitle":4951,"socialLinks":4952,"profilePicture":4954},"Luke Jennings","Luke","Vice President, R&D",[4953],"https://www.linkedin.com/in/luke-jennings-042b5619b/",{"url":4955},"https://images.ctfassets.net/y1cdw1ablpvd/4Hosb4zKi1dA0PUyDLMe1h/27e09d894861f2196ba794037986fb08/T016S22KZ96-U02NVQM7ZD4-57761d542d83-512.jpeg",{"json":4957,"links":5651},{"data":4958,"content":4959,"nodeType":856},{},[4960,4980,4986,4992,4995,5003,5011,5018,5025,5031,5038,5045,5053,5060,5067,5073,5081,5088,5095,5102,5108,5114,5120,5128,5135,5141,5148,5155,5158,5166,5178,5186,5193,5200,5207,5214,5222,5277,5284,5303,5310,5318,5337,5343,5350,5356,5364,5371,5399,5418,5425,5428,5436,5443,5451,5458,5466,5473,5481,5488,5496,5503,5510,5513,5521,5528,5547,5554,5561,5564,5572,5579,5612,5619,5622,5628,5634],{"data":4961,"content":4962,"nodeType":860},{},[4963,4967,4976],{"data":4964,"marks":4965,"value":4966,"nodeType":864},{},[],"Three years ago, we published the poisoned tenant attack as part of the ",{"data":4968,"content":4970,"nodeType":883},{"uri":4969},"https://pushsecurity.com/resources/browser-identity-attacks-matrix",[4971],{"data":4972,"marks":4973,"value":4975,"nodeType":864},{},[4974],{"type":1455},"Browser and Identity Attacks matrix",{"data":4977,"marks":4978,"value":4979,"nodeType":864},{},[],". Last week, someone used it to target Push Security employees and customers through OpenAI's organization invitation feature. This post breaks down what happened, explores what the payoff is for an attacker, and connects the incident to a broader pattern of SaaS platform abuse that is accelerating across the industry.",{"data":4981,"content":4985,"nodeType":996},{"target":4982},{"sys":4983},{"id":4984,"type":1001,"linkType":1002},"7upGHPt7eVNji6v22h124t",[],{"data":4987,"content":4991,"nodeType":996},{"target":4988},{"sys":4989},{"id":4990,"type":1001,"linkType":1002},"53U3LHhhHFYnEpShdLmDqs",[],{"data":4993,"content":4994,"nodeType":1005},{},[],{"data":4996,"content":4997,"nodeType":1009},{},[4998],{"data":4999,"marks":5000,"value":5002,"nodeType":864},{},[5001],{"type":899},"What happened",{"data":5004,"content":5005,"nodeType":1312},{},[5006],{"data":5007,"marks":5008,"value":5010,"nodeType":864},{},[5009],{"type":899},"The invitation",{"data":5012,"content":5013,"nodeType":860},{},[5014],{"data":5015,"marks":5016,"value":5017,"nodeType":864},{},[],"In recent weeks, several Push Security team members have received multiple waves of emails from OpenAI inviting them to join an organization called \"Push Security Inc\". ",{"data":5019,"content":5020,"nodeType":860},{},[5021],{"data":5022,"marks":5023,"value":5024,"nodeType":864},{},[],"The emails came from OpenAI's legitimate notification address (noreply@tm.openai.com), passed all standard email authentication checks, and referenced our company by name. They looked exactly like a routine organizational invitation because, technically, they were one.",{"data":5026,"content":5030,"nodeType":996},{"target":5027},{"sys":5028},{"id":5029,"type":1001,"linkType":1002},"6JmXCVjUckklFrO7leDqOA",[],{"data":5032,"content":5033,"nodeType":860},{},[5034],{"data":5035,"marks":5036,"value":5037,"nodeType":864},{},[],"The invitations were sent by various accounts registered under email addresses that had no affiliation with Push. ",{"data":5039,"content":5040,"nodeType":860},{},[5041],{"data":5042,"marks":5043,"value":5044,"nodeType":864},{},[],"OpenAI's invitation email did include a warning — \"The inviter's email domain, gmail.com, does not match your domain, pushsecurity.com\" — but that's a single line in an otherwise completely legitimate-looking email from a trusted platform. The invitation targeted specific employees by their work email addresses, suggesting the attacker had done some reconnaissance on our team. ",{"data":5046,"content":5047,"nodeType":1312},{},[5048],{"data":5049,"marks":5050,"value":5052,"nodeType":864},{},[5051],{"type":899},"One click, no credentials",{"data":5054,"content":5055,"nodeType":860},{},[5056],{"data":5057,"marks":5058,"value":5059,"nodeType":864},{},[],"After discussing internally I decided to investigate further by accepting the invite. The acceptance was instant (one click, no credentials or additional authentication). This was particularly notable because it was done from an entirely separate browser to my typical work profile. I wasn’t already logged into ChatGPT from the browser, but clicking the email link was all it took to join my account to the attacker's organization. ",{"data":5061,"content":5062,"nodeType":860},{},[5063],{"data":5064,"marks":5065,"value":5066,"nodeType":864},{},[],"I landed on a confirmation page telling me I'd been added to \"Push Security Inc.\"",{"data":5068,"content":5072,"nodeType":996},{"target":5069},{"sys":5070},{"id":5071,"type":1001,"linkType":1002},"1YPMilWhyTSV860PCFXxmx",[],{"data":5074,"content":5075,"nodeType":1312},{},[5076],{"data":5077,"marks":5078,"value":5080,"nodeType":864},{},[5079],{"type":899},"What the attacker had set up",{"data":5082,"content":5083,"nodeType":860},{},[5084],{"data":5085,"marks":5086,"value":5087,"nodeType":864},{},[],"Within the organization, the attacker's account appeared under the name of Push's CEO. ",{"data":5089,"content":5090,"nodeType":860},{},[5091],{"data":5092,"marks":5093,"value":5094,"nodeType":864},{},[],"It's something of a rite of passage for new Push employees to receive scam texts from someone impersonating Adam, usually with an urgent request that inevitably leads to gift cards. But creating a fully configured SaaS tenant under a CEO's name and inviting specific employees into it is a different level of effort entirely.",{"data":5096,"content":5097,"nodeType":860},{},[5098],{"data":5099,"marks":5100,"value":5101,"nodeType":864},{},[],"All invited team members had been assigned the \"Owner\" role, giving them full administrative access to the organization. A Visa credit card was attached to the billing account.",{"data":5103,"content":5107,"nodeType":996},{"target":5104},{"sys":5105},{"id":5106,"type":1001,"linkType":1002},"272ejb1WCqvL58rYN3wfSQ",[],{"data":5109,"content":5113,"nodeType":996},{"target":5110},{"sys":5111},{"id":5112,"type":1001,"linkType":1002},"9U5oPibmLSuloIIwMdpuG",[],{"data":5115,"content":5119,"nodeType":996},{"target":5116},{"sys":5117},{"id":5118,"type":1001,"linkType":1002},"6S0boiGqIRqkxsNJWlXMZ0",[],{"data":5121,"content":5122,"nodeType":1312},{},[5123],{"data":5124,"marks":5125,"value":5127,"nodeType":864},{},[5126],{"type":899},"The response",{"data":5129,"content":5130,"nodeType":860},{},[5131],{"data":5132,"marks":5133,"value":5134,"nodeType":864},{},[],"We spotted the attack straight away and raised the alarm internally before deciding to investigate. Several Push employees had been invited to the tenant but either hadn’t seen the emails, or the wrong email address had been added for the employee. ",{"data":5136,"content":5140,"nodeType":996},{"target":5137},{"sys":5138},{"id":5139,"type":1001,"linkType":1002},"1CQqUTdcJtZWozY7azSuOI",[],{"data":5142,"content":5143,"nodeType":860},{},[5144],{"data":5145,"marks":5146,"value":5147,"nodeType":864},{},[],"By joining the tenant, I was able to see the other employees that had been added, enabling us to speak to each employee to confirm. We could also see that they hadn’t joined the tenant since they were all “invite pending” status. Confirming that nobody had joined (and thus used) the platform was the extent of investigation required. ",{"data":5149,"content":5150,"nodeType":860},{},[5151],{"data":5152,"marks":5153,"value":5154,"nodeType":864},{},[],"We also implemented mail rules to block similar invites from reaching Push employees in future. ",{"data":5156,"content":5157,"nodeType":1005},{},[],{"data":5159,"content":5160,"nodeType":1009},{},[5161],{"data":5162,"marks":5163,"value":5165,"nodeType":864},{},[5164],{"type":899},"What's the payoff for an attacker?",{"data":5167,"content":5168,"nodeType":860},{},[5169,5173],{"data":5170,"marks":5171,"value":5172,"nodeType":864},{},[],"The attacker created an OpenAI organization, named it after our company, attached a credit card (which we believe was likely stolen — it's hard to see why a legitimate card would be used for this purpose), researched specific employees, and sent targeted invitations. That represents a non-trivial investment of effort. ",{"data":5174,"marks":5175,"value":5177,"nodeType":864},{},[5176],{"type":899},"So what was the endgame?",{"data":5179,"content":5180,"nodeType":1312},{},[5181],{"data":5182,"marks":5183,"value":5185,"nodeType":864},{},[5184],{"type":899},"Get employees using the platform — then harvest what they put into it?",{"data":5187,"content":5188,"nodeType":860},{},[5189],{"data":5190,"marks":5191,"value":5192,"nodeType":864},{},[],"An attacker who just wants to spray scam content through a trusted email channel doesn't name the organization after their target, research individual employees, or attach a credit card. ",{"data":5194,"content":5195,"nodeType":860},{},[5196],{"data":5197,"marks":5198,"value":5199,"nodeType":864},{},[],"That investment only pays off if employees actually join the organization and start using it. And on an AI platform, the data people put into prompts can be extraordinarily sensitive — source code, internal documents, customer data, security research, strategic plans.",{"data":5201,"content":5202,"nodeType":860},{},[5203],{"data":5204,"marks":5205,"value":5206,"nodeType":864},{},[],"If someone on the team had assumed \"oh, we've got a company OpenAI org now\" and started running work through it, the attacker would be sitting on a live feed of that activity as an org administrator with access to usage logs and API interactions.",{"data":5208,"content":5209,"nodeType":860},{},[5210],{"data":5211,"marks":5212,"value":5213,"nodeType":864},{},[],"The stolen credit card removes a friction point that might otherwise tip someone off: if there were no billing set up and employees hit a paywall when trying to use the API, they'd start asking questions internally about who created the org. A pre-funded account removes friction and the chance to discover that something is up.",{"data":5215,"content":5216,"nodeType":1312},{},[5217],{"data":5218,"marks":5219,"value":5221,"nodeType":864},{},[5220],{"type":899},"SAMLjacking a poisoned tenant?",{"data":5223,"content":5224,"nodeType":860},{},[5225,5229,5237,5241,5249,5253,5261,5265,5273],{"data":5226,"marks":5227,"value":5228,"nodeType":864},{},[],"In August 2023, we published ",{"data":5230,"content":5232,"nodeType":883},{"uri":5231},"https://pushsecurity.com/blog/samljacking-a-poisoned-tenant/",[5233],{"data":5234,"marks":5235,"value":5236,"nodeType":864},{},[],"SAMLjacking a poisoned tenant",{"data":5238,"marks":5239,"value":5240,"nodeType":864},{},[],", which demonstrated how an attacker could register a tenant on a SaaS platform using a target organization's name, invite employees to join it, and then leverage that foothold for further attacks — in that case, by configuring a malicious SAML identity provider to harvest credentials. The technique is cataloged in the ",{"data":5242,"content":5244,"nodeType":883},{"uri":5243},"https://pushsecurity.com/resources/browser-identity-attacks-matrix/",[5245],{"data":5246,"marks":5247,"value":5248,"nodeType":864},{},[],"Browser & Identity Attacks Matrix",{"data":5250,"marks":5251,"value":5252,"nodeType":864},{},[]," (originally the SaaS attack matrix) as an ",{"data":5254,"content":5256,"nodeType":883},{"uri":5255},"https://pushsecurity.com/resources/browser-identity-attacks-matrix/poisoned-tenants",[5257],{"data":5258,"marks":5259,"value":5260,"nodeType":864},{},[],"initial access technique",{"data":5262,"marks":5263,"value":5264,"nodeType":864},{},[]," — and when combined with ",{"data":5266,"content":5268,"nodeType":883},{"uri":5267},"https://pushsecurity.com/resources/browser-identity-attacks-matrix/samljacking",[5269],{"data":5270,"marks":5271,"value":5272,"nodeType":864},{},[],"SAMLjacking",{"data":5274,"marks":5275,"value":5276,"nodeType":864},{},[],", it becomes a lateral movement vector too.",{"data":5278,"content":5279,"nodeType":860},{},[5280],{"data":5281,"marks":5282,"value":5283,"nodeType":864},{},[],"The gist is that once an employee has joined an attacker-controlled organization and is treating it as a legitimate company resource, the attacker has a trusted channel for further social engineering — a follow-up message asking team members to connect their SSO, or to authorize a third-party integration that requires OAuth consent.",{"data":5285,"content":5286,"nodeType":860},{},[5287,5291,5299],{"data":5288,"marks":5289,"value":5290,"nodeType":864},{},[],"This is exactly the attack chain we described in the ",{"data":5292,"content":5293,"nodeType":883},{"uri":5231},[5294],{"data":5295,"marks":5296,"value":5298,"nodeType":864},{},[5297],{"type":1455},"original SAMLjacking post",{"data":5300,"marks":5301,"value":5302,"nodeType":864},{},[],", where a poisoned tenant on a seemingly low-risk platform becomes the entry point for credential harvesting via a malicious SAML configuration.",{"data":5304,"content":5305,"nodeType":860},{},[5306],{"data":5307,"marks":5308,"value":5309,"nodeType":864},{},[],"Based on my research I don’t think this exact scenario is easily possible in the specific context of OpenAI / ChatGPT since domain verification is required in order to enable SAML. However, there are other options to consider. ",{"data":5311,"content":5312,"nodeType":1312},{},[5313],{"data":5314,"marks":5315,"value":5317,"nodeType":864},{},[5316],{"type":899},"Substituting SAMLjacking for project-jacking?",{"data":5319,"content":5320,"nodeType":860},{},[5321,5325,5333],{"data":5322,"marks":5323,"value":5324,"nodeType":864},{},[],"We’ve recently reported on attacks like ",{"data":5326,"content":5328,"nodeType":883},{"uri":5327},"https://pushsecurity.com/blog/llmshare-malvertising-campaign/",[5329],{"data":5330,"marks":5331,"value":1555,"nodeType":864},{},[5332],{"type":1455},{"data":5334,"marks":5335,"value":5336,"nodeType":864},{},[]," that interestingly also abused ChatGPT — in this case, abusing chat sharing functionality to distribute both malicious instructions and convincing-looking designs that trick the user into navigating to an attacker-controlled site hosting a malicious payload. ",{"data":5338,"content":5342,"nodeType":996},{"target":5339},{"sys":5340},{"id":5341,"type":1001,"linkType":1002},"5U6imJMpFs8CAohztgHG3x",[],{"data":5344,"content":5345,"nodeType":860},{},[5346],{"data":5347,"marks":5348,"value":5349,"nodeType":864},{},[],"In the cases we observed in the wild, links were distributed via malvertising. But you could see a scenario in which shared projects or conversations are seeded with chats containing malicious links. Or even perhaps malicious instructions in shared projects (effectively a form of prompt injection). In this way, attackers could trick the user into running malicious commands that interact with other connected apps such as their email, calendar, and a long list of cloud services with access to sensitive company data. ",{"data":5351,"content":5355,"nodeType":996},{"target":5352},{"sys":5353},{"id":5354,"type":1001,"linkType":1002},"4g0jXhfJ5OMBhDXjfCX8S2",[],{"data":5357,"content":5358,"nodeType":1009},{},[5359],{"data":5360,"marks":5361,"value":5363,"nodeType":864},{},[5362],{"type":899},"This isn't an isolated technique",{"data":5365,"content":5366,"nodeType":860},{},[5367],{"data":5368,"marks":5369,"value":5370,"nodeType":864},{},[],"Our experience is a specific instance of a broader trend: attackers weaponizing the invitation and notification features built into SaaS platforms to deliver social engineering through trusted channels. ",{"data":5372,"content":5373,"nodeType":860},{},[5374,5378,5386,5390,5395],{"data":5375,"marks":5376,"value":5377,"nodeType":864},{},[],"In January 2026, ",{"data":5379,"content":5381,"nodeType":883},{"uri":5380},"https://me-en.kaspersky.com/about/press-releases/kaspersky-detected-a-scam-exploiting-openais-teamwork-features",[5382],{"data":5383,"marks":5384,"value":5385,"nodeType":864},{},[],"Kaspersky reported",{"data":5387,"marks":5388,"value":5389,"nodeType":864},{},[]," a cruder abuse of the same OpenAI invitation feature. When you create an OpenAI organization, the platform lets you set the organization name to any arbitrary string. Attackers exploited this by stuffing scam content directly into the org name field: fake subscription renewal notices, fraudulent phone numbers for vishing callbacks, and links to adult services. In that case, the ",{"data":5391,"marks":5392,"value":5394,"nodeType":864},{},[5393],{"type":899},"org name was the payload",{"data":5396,"marks":5397,"value":5398,"nodeType":864},{},[],", while in our case, the email was the delivery mechanism for a legitimate-looking poisoned tenant. ",{"data":5400,"content":5401,"nodeType":860},{},[5402,5406,5414],{"data":5403,"marks":5404,"value":5405,"nodeType":864},{},[],"In April 2026, ",{"data":5407,"content":5409,"nodeType":883},{"uri":5408},"https://blog.talosintelligence.com/weaponizing-saas-notification-pipelines/",[5410],{"data":5411,"marks":5412,"value":5413,"nodeType":864},{},[],"Cisco Talos published research",{"data":5415,"marks":5416,"value":5417,"nodeType":864},{},[]," on what they termed \"Platform-as-a-Proxy\" (PaaP), documenting the same technique across GitHub and Jira — phishing lures embedded in commit messages, welcome messages, and other user-controlled fields that feed into platform-generated notification emails. At its peak, Talos estimated approximately 2.89% of emails sent from GitHub on a single day were associated with this activity.",{"data":5419,"content":5420,"nodeType":860},{},[5421],{"data":5422,"marks":5423,"value":5424,"nodeType":864},{},[],"What’s clear is that attackers are abusing SaaS platforms that let anyone create organizations, name them whatever they want, and send invitation emails through the platform's own mail infrastructure. ",{"data":5426,"content":5427,"nodeType":1005},{},[],{"data":5429,"content":5430,"nodeType":1009},{},[5431],{"data":5432,"marks":5433,"value":5435,"nodeType":864},{},[5434],{"type":899},"What you can actually do about it",{"data":5437,"content":5438,"nodeType":860},{},[5439],{"data":5440,"marks":5441,"value":5442,"nodeType":864},{},[],"The defensive challenge with poisoned tenant attacks is that they exploit legitimate platform functionality delivered through legitimate sites. There's no malicious URL to block, no spoofed domain to detect, and no attachment to scan. The invitation email is, by every technical measure, genuine. That said, there are practical steps that reduce the risk. ",{"data":5444,"content":5445,"nodeType":1312},{},[5446],{"data":5447,"marks":5448,"value":5450,"nodeType":864},{},[5449],{"type":899},"Get visibility into SaaS organization membership",{"data":5452,"content":5453,"nodeType":860},{},[5454],{"data":5455,"marks":5456,"value":5457,"nodeType":864},{},[],"Most organizations have no visibility into which SaaS platform invitations their employees are receiving or accepting. If an employee joins an attacker-controlled Slack workspace, OpenAI organization, or Jira project, the security team typically has no way to know. Any tool that provides visibility into SaaS account creation and organization membership — whether through browser telemetry, IdP monitoring, or platform API integration — closes a significant blind spot. ",{"data":5459,"content":5460,"nodeType":1312},{},[5461],{"data":5462,"marks":5463,"value":5465,"nodeType":864},{},[5464],{"type":899},"Train for invitations, not just phishing",{"data":5467,"content":5468,"nodeType":860},{},[5469],{"data":5470,"marks":5471,"value":5472,"nodeType":864},{},[],"Generic phishing awareness training doesn't cover this scenario well, because the emails genuinely aren't phishing in the traditional sense. They're legitimate platform notifications carrying an illegitimate invitation. Employees need to understand that an email from OpenAI, Microsoft, GitHub, or Atlassian can be both technically authentic and part of an attack — and that joining an organization on any platform is a security-relevant action that should be verified through an internal channel before accepting.",{"data":5474,"content":5475,"nodeType":1312},{},[5476],{"data":5477,"marks":5478,"value":5480,"nodeType":864},{},[5479],{"type":899},"Can you protect against domain squatting?",{"data":5482,"content":5483,"nodeType":860},{},[5484],{"data":5485,"marks":5486,"value":5487,"nodeType":864},{},[],"In some cases, you can register your organization name on a platform to prevent others from claiming it, even if you don't plan to use the platform's organizational features immediately. That said, in others you can have lots of tenants with the same name, and there are no protections around companies claiming a tenant ID impersonating your own — as in this case, where an attacker with a random email address was able to create a realistic-looking Push Security tenant. ",{"data":5489,"content":5490,"nodeType":1312},{},[5491],{"data":5492,"marks":5493,"value":5495,"nodeType":864},{},[5494],{"type":899},"Lobby vendors to do better",{"data":5497,"content":5498,"nodeType":860},{},[5499],{"data":5500,"marks":5501,"value":5502,"nodeType":864},{},[],"Platform vendors need to improve invitation controls. OpenAI does include a warning when the inviter's domain doesn't match the recipient's domain, which is better than nothing — but a single line of text in an otherwise polished invitation email is easy to miss.",{"data":5504,"content":5505,"nodeType":860},{},[5506],{"data":5507,"marks":5508,"value":5509,"nodeType":864},{},[],"Platforms should consider requiring domain verification before allowing an organization to use a company's name, adding more prominent warnings for cross-domain invitations, or allowing enterprise customers to restrict which organizations their employees can join.",{"data":5511,"content":5512,"nodeType":1005},{},[],{"data":5514,"content":5515,"nodeType":1009},{},[5516],{"data":5517,"marks":5518,"value":5520,"nodeType":864},{},[5519],{"type":899},"The bigger picture",{"data":5522,"content":5523,"nodeType":860},{},[5524],{"data":5525,"marks":5526,"value":5527,"nodeType":864},{},[],"When we published the poisoned tenant technique in 2023, it was a theoretical attack that we hadn't seen used in the wild. Three years later, we've experienced it firsthand, and the technique has moved from our attack matrix to our incident log.",{"data":5529,"content":5530,"nodeType":860},{},[5531,5535,5543],{"data":5532,"marks":5533,"value":5534,"nodeType":864},{},[],"The explosion of SaaS platforms in enterprise environments (",{"data":5536,"content":5537,"nodeType":883},{"uri":885},[5538],{"data":5539,"marks":5540,"value":5542,"nodeType":864},{},[5541],{"type":1455},"particularly with the force multiplier that is AI",{"data":5544,"marks":5545,"value":5546,"nodeType":864},{},[],"), each with their own organization and invitation features, has created a sprawling attack surface that most security teams aren't monitoring. Every platform that lets anyone create an organization with any name and invite anyone to join it is offering attackers a trusted delivery channel.",{"data":5548,"content":5549,"nodeType":860},{},[5550],{"data":5551,"marks":5552,"value":5553,"nodeType":864},{},[],"And as AI platforms like OpenAI become standard tools in the enterprise, the value of a poisoned tenant on those platforms — with access to prompts, API usage, and potentially sensitive data — grows significantly.",{"data":5555,"content":5556,"nodeType":860},{},[5557],{"data":5558,"marks":5559,"value":5560,"nodeType":864},{},[],"It's good that we spend our days thinking about this stuff — the attack was caught quickly because the team is wary of exactly these kinds of techniques, and no data was exposed. The next organization targeted with this technique may not have that advantage, especially if the attacker's tenant sits in the background while employees unknowingly feed it data through their normal work.",{"data":5562,"content":5563,"nodeType":1005},{},[],{"data":5565,"content":5566,"nodeType":1009},{},[5567],{"data":5568,"marks":5569,"value":5571,"nodeType":864},{},[5570],{"type":899},"IoCs",{"data":5573,"content":5574,"nodeType":860},{},[5575],{"data":5576,"marks":5577,"value":5578,"nodeType":864},{},[],"We’ve identified the following emails associated with the campaign so far (at least, in terms of the attacks directly targeting Push):",{"data":5580,"content":5581,"nodeType":941},{},[5582,5592,5602],{"data":5583,"content":5584,"nodeType":945},{},[5585],{"data":5586,"content":5587,"nodeType":860},{},[5588],{"data":5589,"marks":5590,"value":5591,"nodeType":864},{},[],"phamvankim2133@gmail[.]com",{"data":5593,"content":5594,"nodeType":945},{},[5595],{"data":5596,"content":5597,"nodeType":860},{},[5598],{"data":5599,"marks":5600,"value":5601,"nodeType":864},{},[],"adam.bateman_928@faeththeraputics[.]email",{"data":5603,"content":5604,"nodeType":945},{},[5605],{"data":5606,"content":5607,"nodeType":860},{},[5608],{"data":5609,"marks":5610,"value":5611,"nodeType":864},{},[],"amelindashaffer99495@gmail[.]com",{"data":5613,"content":5614,"nodeType":860},{},[5615],{"data":5616,"marks":5617,"value":5618,"nodeType":864},{},[],"However, the real list is likely to be much larger. We’ve confirmed that similar messages have also been received by Push customers. But it's not like you can easily block access to the tenants themselves — they are \"legit\" OpenAI tenants, using the normal OpenAI domain. And since a new one is being spun up each time, no two attacks will look the same.",{"data":5620,"content":5621,"nodeType":1005},{},[],{"data":5623,"content":5624,"nodeType":860},{},[5625],{"data":5626,"marks":5627,"value":1682,"nodeType":864},{},[],{"data":5629,"content":5630,"nodeType":860},{},[5631],{"data":5632,"marks":5633,"value":1689,"nodeType":864},{},[],{"data":5635,"content":5636,"nodeType":860},{},[5637,5640,5648],{"data":5638,"marks":5639,"value":21,"nodeType":864},{},[],{"data":5641,"content":5643,"nodeType":883},{"uri":5642},"https://pushsecurity.com/demo/",[5644],{"data":5645,"marks":5646,"value":1703,"nodeType":864},{},[5647],{"type":1455},{"data":5649,"marks":5650,"value":21,"nodeType":864},{},[],{"entries":5652},{"hyperlink":5653,"inline":5654,"block":5655},[],[],[5656,5660,5667,5674,5680,5686,5692,5697,5704,5710],{"sys":5657,"__typename":1717,"type":1718,"ctaText":5658,"buttonLabel":5659,"buttonColour":1721,"buttonUrl":5243},{"id":4984},"Check out our browser and identity attacks matrix for a comprehensive overview of attack techniques using a MITRE-inspired mapping.","Check it out",{"sys":5661,"__typename":1724,"title":5248,"caption":5662,"layoutMode":59,"file":5663},{"id":4990},"Browser and identity-based techniques have exploded since we first launched our attack matrix",{"url":5664,"width":5665,"height":5666},"https://images.ctfassets.net/y1cdw1ablpvd/L0Yc77y9vzrKVD72BQGX2/4ffe0bf61bd62f025262b8efd74394b7/Browser___Identity_Attacks_Matrix__1_.png",6160,4432,{"sys":5668,"__typename":1724,"title":5669,"caption":5669,"layoutMode":59,"file":5670},{"id":5029},"Invitation email showing OpenAI branding, \"Push Security Inc\" org name, and the Gmail sender address",{"url":5671,"width":5672,"height":5673},"https://images.ctfassets.net/y1cdw1ablpvd/3eUI8n1hcCbP6nV2dZ2lLK/1f34b9057cafed9ef1472ea0902d84ac/image4.png",1833,775,{"sys":5675,"__typename":1724,"title":5676,"caption":5676,"layoutMode":59,"file":5677},{"id":5071},"\"Invite accepted\" confirmation page.",{"url":5678,"width":1736,"height":5679},"https://images.ctfassets.net/y1cdw1ablpvd/38N7FnCMSQz519ZXQfpXo4/f848d30b238b943a47efa29d12b68b87/image5.png",1031,{"sys":5681,"__typename":1724,"title":5682,"caption":5682,"layoutMode":59,"file":5683},{"id":5106},"Settings screen showing the organization name “Push Security Inc”.",{"url":5684,"width":1736,"height":5685},"https://images.ctfassets.net/y1cdw1ablpvd/3bRsNJecXnZPE2VNzS2gRy/5b715bb1b01af459885be77757c94953/image6.png",1129,{"sys":5687,"__typename":1724,"title":5688,"caption":59,"layoutMode":59,"file":5689},{"id":5112},"Members page showing the attacker's account and Luke's account.",{"url":5690,"width":1736,"height":5691},"https://images.ctfassets.net/y1cdw1ablpvd/6SXC65KKIl6Kh7jWj24fG7/930d892e37218a1e7f0bbed06edaea6e/image7.png",602,{"sys":5693,"__typename":1724,"title":5694,"caption":59,"layoutMode":59,"file":5695},{"id":5118},"Billing page showing attached Visa card.",{"url":5696,"width":1736,"height":5685},"https://images.ctfassets.net/y1cdw1ablpvd/6lXKx1sPEpoPSLP0vWkWmX/042ea3d7a259234bb0ac53f93e79ff99/image2.png",{"sys":5698,"__typename":1724,"title":5699,"caption":5699,"layoutMode":59,"file":5700},{"id":5139},"Several Push employees had been invited to the tenant. Because I was an admin, I could also choose to resend the invites or remove them.",{"url":5701,"width":5702,"height":5703},"https://images.ctfassets.net/y1cdw1ablpvd/4XMXNGxkUOZc8OJIEvAR5X/e51c2460775d712732f6a59bef28d018/image3.png",1936,1428,{"sys":5705,"__typename":1724,"title":5706,"caption":5706,"layoutMode":59,"file":5707},{"id":5341},"The LLMShare attack we recently disclosed also leveraged ChatGPT as a platform to distribute malware.",{"url":5708,"width":1736,"height":5709},"https://images.ctfassets.net/y1cdw1ablpvd/5grmZOTXQcb1uDHhMw8e20/239aece66c5f29745dd2a77fd288de49/image1.png",875,{"sys":5711,"__typename":1740,"content":5712,"name":5735,"title":59},{"id":5354},{"json":5713},{"data":5714,"content":5715,"nodeType":856},{},[5716],{"data":5717,"content":5718,"nodeType":860},{},[5719,5723,5731],{"data":5720,"marks":5721,"value":5722,"nodeType":864},{},[],"AI apps are increasingly the ",{"data":5724,"content":5725,"nodeType":883},{"uri":885},[5726],{"data":5727,"marks":5728,"value":5730,"nodeType":864},{},[5729],{"type":1455},"work hub for modern enterprise users",{"data":5732,"marks":5733,"value":5734,"nodeType":864},{},[],", even more so than something like M365 or Google Workspace once was. AI apps acting as the control plane for automation and orchestration across business apps are a security nightmare if compromised — if a user could be tricked into using the attacker’s tenant, connecting it to business apps and accounts, and then inadvertently running malicious instructions, the possible attack scenarios are extensive. ","OpenAI poisoned tenant IB1",{"items":5737},[],{},"Investigating a novel OpenAI poisoned tenant attack","threat-research","2026-06-26T00:00:00.000Z",{"items":5743},[5744,6601,7409],{"__typename":2059,"sys":5745,"content":5747,"title":6584,"synopsis":6585,"hashTags":59,"publishedDate":6586,"slug":6587,"tagsCollection":6588,"authorsCollection":6597},{"id":5746},"211Dd0EIrXPOFpvRgs0fEE",{"json":5748},{"data":5749,"content":5750,"nodeType":856},{},[5751,5770,5789,5806,5812,5815,5823,5830,5837,5844,5851,5859,5862,5870,5877,5884,5891,5897,5905,5924,5931,5938,5954,5962,5992,6008,6015,6046,6054,6085,6092,6100,6118,6125,6132,6138,6145,6153,6171,6178,6197,6204,6207,6215,6222,6309,6316,6332,6335,6365,6384,6391,6398,6401,6409,6428,6435,6442,6459,6462,6470,6477,6510,6517,6534,6553,6559,6562,6569],{"data":5752,"content":5753,"nodeType":860},{},[5754,5758,5766],{"data":5755,"marks":5756,"value":5757,"nodeType":864},{},[],"When we released the ",{"data":5759,"content":5761,"nodeType":883},{"uri":5760},"https://pushsecurity.com/blog/saas-attack-techniques/",[5762],{"data":5763,"marks":5764,"value":5765,"nodeType":864},{},[],"SaaS attack matrix",{"data":5767,"marks":5768,"value":5769,"nodeType":864},{},[]," in 2023, we were anticipating a shift that was just beginning to take shape. The techniques that attackers were using to compromise cloud applications and identities weren't well represented in existing frameworks, and many of the ones we documented hadn't yet been widely observed in the wild.",{"data":5771,"content":5772,"nodeType":860},{},[5773,5777,5785],{"data":5774,"marks":5775,"value":5776,"nodeType":864},{},[],"A year later, we ",{"data":5778,"content":5780,"nodeType":883},{"uri":5779},"https://pushsecurity.com/blog/the-saas-attack-matrix-one-year-on/",[5781],{"data":5782,"marks":5783,"value":5784,"nodeType":864},{},[],"reviewed what had changed",{"data":5786,"marks":5787,"value":5788,"nodeType":864},{},[]," and found that the initial access phase — the techniques designed to compromise an identity in the first place — was where almost all of the attacker innovation was concentrated. And two years on, that trend has become the story of the modern threat landscape. ",{"data":5790,"content":5791,"nodeType":860},{},[5792,5796,5802],{"data":5793,"marks":5794,"value":5795,"nodeType":864},{},[],"Today, we're re-releasing the matrix as the ",{"data":5797,"content":5798,"nodeType":883},{"uri":5243},[5799],{"data":5800,"marks":5801,"value":5248,"nodeType":864},{},[],{"data":5803,"marks":5804,"value":5805,"nodeType":864},{},[],". The name change isn't cosmetic. It reflects that the attacks driving the most consequential breaches are browser-based and identity-first.",{"data":5807,"content":5811,"nodeType":996},{"target":5808},{"sys":5809},{"id":5810,"type":1001,"linkType":1002},"MSnrBRJtiQxpv2qxFLCVE",[],{"data":5813,"content":5814,"nodeType":1005},{},[],{"data":5816,"content":5817,"nodeType":1009},{},[5818],{"data":5819,"marks":5820,"value":5822,"nodeType":864},{},[5821],{"type":899},"Why the scope needed to change",{"data":5824,"content":5825,"nodeType":860},{},[5826],{"data":5827,"marks":5828,"value":5829,"nodeType":864},{},[],"The original SaaS attack matrix was built around a specific insight: that attacks targeting modern business applications played out entirely over the internet, without touching endpoints or internal networks in any way that EDR or network detection tools would recognize.",{"data":5831,"content":5832,"nodeType":860},{},[5833],{"data":5834,"marks":5835,"value":5836,"nodeType":864},{},[],"That framing was useful, and it remains true. But it anchored the matrix to the post-access phase — what attackers do once they're inside a SaaS application — and didn't give enough weight to the initial access techniques that determine whether attackers get there in the first place.",{"data":5838,"content":5839,"nodeType":860},{},[5840],{"data":5841,"marks":5842,"value":5843,"nodeType":864},{},[],"The problem is that initial access is where the overwhelming majority of attacker innovation and investment is concentrated, and the techniques being used to achieve it are best understood as browser and identity attacks rather than SaaS-specific ones. AiTM phishing, ClickFix and its growing family of clipboard-injection variants, device code phishing, OAuth consent abuse, credential stuffing powered by infostealer supply chains, malicious browser extensions all happen in or via the browser.",{"data":5845,"content":5846,"nodeType":860},{},[5847],{"data":5848,"marks":5849,"value":5850,"nodeType":864},{},[],"Another issue is that \"SaaS\" has arguably ceased to be a meaningful category. When we consider that most organizations run the majority of their business on cloud applications, the difference between what constitutes \"SaaS\" versus cloud versus just \"business IT\" is pretty blurry (and feels like an academic rather than practical difference).",{"data":5852,"content":5853,"nodeType":860},{},[5854],{"data":5855,"marks":5856,"value":5858,"nodeType":864},{},[5857],{"type":899},"So it's less about whether an attack is a \"SaaS attack\" and more about how these attacks actually play out. ",{"data":5860,"content":5861,"nodeType":1005},{},[],{"data":5863,"content":5864,"nodeType":1009},{},[5865],{"data":5866,"marks":5867,"value":5869,"nodeType":864},{},[5868],{"type":899},"The technique landscape has transformed",{"data":5871,"content":5872,"nodeType":860},{},[5873],{"data":5874,"marks":5875,"value":5876,"nodeType":864},{},[],"The second part to the change is the fact that scale and speed of attacker innovation in the space justifies it.",{"data":5878,"content":5879,"nodeType":860},{},[5880],{"data":5881,"marks":5882,"value":5883,"nodeType":864},{},[],"When we launched the matrix in mid-2023, AiTM phishing was emerging as a serious concern but was far from ubiquitous. ClickFix didn't exist as a named technique. Device code phishing was a curiosity documented by a handful of researchers. ConsentFix was years away from being discovered. Browser extension supply chain attacks were rare enough to be individually notable.",{"data":5885,"content":5886,"nodeType":860},{},[5887],{"data":5888,"marks":5889,"value":5890,"nodeType":864},{},[],"In the two and a half years since, every one of these has become a mainstream, industrialized attack technique — and several have converged in ways that would have been hard to predict.",{"data":5892,"content":5896,"nodeType":996},{"target":5893},{"sys":5894},{"id":5895,"type":1001,"linkType":1002},"5Kw2kSrL8u4VyslxK8HCtR",[],{"data":5898,"content":5899,"nodeType":1312},{},[5900],{"data":5901,"marks":5902,"value":5904,"nodeType":864},{},[5903],{"type":899},"AiTM phishing has become the default phishing method",{"data":5906,"content":5907,"nodeType":860},{},[5908,5912,5920],{"data":5909,"marks":5910,"value":5911,"nodeType":864},{},[],"AiTM phishing is now the standard, powered by Phishing-as-a-Service kits that operate with the release cycles and customer support of legitimate SaaS products. Tycoon 2FA alone accounted for ",{"data":5913,"content":5915,"nodeType":883},{"uri":5914},"https://pushsecurity.com/blog/2025-top-phishing-trends/",[5916],{"data":5917,"marks":5918,"value":5919,"nodeType":864},{},[],"62% of phishing detected by Microsoft",{"data":5921,"marks":5922,"value":5923,"nodeType":864},{},[]," and over 64,000 confirmed incidents, with Sneaky2FA, FlowerStorm, Evilginx, and a growing roster of competitors filling out the marketplace.",{"data":5925,"content":5926,"nodeType":860},{},[5927],{"data":5928,"marks":5929,"value":5930,"nodeType":864},{},[],"AiTM is constantly evolving, with vendors adding new features, capabilities, detection evasion techniques, and so on. Abuse of legitimate platforms, and increasingly AI-assisted development means that it’s trivial for attackers to spin up and tear down infrastructure, scale their campaigns, target specific organizations with crafted pages and lures, and generally means that attackers can operate highly sophisticated attacks with minimal effort and complexity. This makes AiTM and other PhaaS-powered techniques extremely accessible to all kinds of criminals.  ",{"data":5932,"content":5933,"nodeType":860},{},[5934],{"data":5935,"marks":5936,"value":5937,"nodeType":864},{},[],"These kits are delivered across several browser-based channels — not just email. Push data consistently shows that roughly 1 in 3 phishing payloads we intercept arrive via social media, search ads, messaging apps, or other non-email vectors.",{"data":5939,"content":5940,"nodeType":860},{},[5941,5945,5950],{"data":5942,"marks":5943,"value":5944,"nodeType":864},{},[],"Vishing has also surged as a delivery channel — CrowdStrike documented a ",{"data":5946,"marks":5947,"value":5949,"nodeType":864},{},[5948],{"type":899},"442% year-over-year increase",{"data":5951,"marks":5952,"value":5953,"nodeType":864},{},[],", and Mandiant found it was the single most common initial vector in cloud compromises at 23%. But the trend that matters isn't voice calls in isolation; it's voice calls combined with browser-based payloads, where a live operator guides the victim into an AiTM page or device code flow that the call alone could not execute.",{"data":5955,"content":5956,"nodeType":1312},{},[5957],{"data":5958,"marks":5959,"value":5961,"nodeType":864},{},[5960],{"type":899},"ClickFix is the top reported initial access vector",{"data":5963,"content":5964,"nodeType":860},{},[5965,5969,5977,5981,5988],{"data":5966,"marks":5967,"value":5968,"nodeType":864},{},[],"ClickFix has gone from nonexistent to one of the most prevalent initial access techniques in under 18 months. Microsoft reported it as the ",{"data":5970,"content":5972,"nodeType":883},{"uri":5971},"https://cdn-dynmedia-1.microsoft.com/is/content/microsoftcorp/microsoft/msc/documents/presentations/CSR/Microsoft-Digital-Defense-Report-2025.pdf",[5973],{"data":5974,"marks":5975,"value":5976,"nodeType":864},{},[],"most common initial access vector in 2025",{"data":5978,"marks":5979,"value":5980,"nodeType":864},{},[],", accounting for 47% of observed attacks, while CrowdStrike documented a ",{"data":5982,"content":5983,"nodeType":883},{"uri":3237},[5984],{"data":5985,"marks":5986,"value":5987,"nodeType":864},{},[],"563% increase",{"data":5989,"marks":5990,"value":5991,"nodeType":864},{},[]," in fake CAPTCHA lures (a top ClickFix style).",{"data":5993,"content":5994,"nodeType":860},{},[5995,5999,6004],{"data":5996,"marks":5997,"value":5998,"nodeType":864},{},[],"ClickFix is admittedly an outlier in a browser attacks matrix — the payload ultimately executes on the endpoint, not in the browser — but the delivery is overwhelmingly browser-based: ",{"data":6000,"marks":6001,"value":6003,"nodeType":864},{},[6002],{"type":899},"4 in 5 ClickFix payloads",{"data":6005,"marks":6006,"value":6007,"nodeType":864},{},[]," intercepted by Push arrive via search engines as a result of malvertising or compromised web pages, not email, which means the browser is the only control point that actually sees the attack before the user pastes the malicious command.",{"data":6009,"content":6010,"nodeType":860},{},[6011],{"data":6012,"marks":6013,"value":6014,"nodeType":864},{},[],"ClickFix is now the primary delivery mechanism for infostealer malware, which is in turn the primary source of the stolen credentials and session tokens that power credential stuffing and session hijacking — which means the technique sits at the start of a cycle where one class of browser-delivered attack generates the raw material for the next.",{"data":6016,"content":6017,"nodeType":860},{},[6018,6022,6030,6034,6042],{"data":6019,"marks":6020,"value":6021,"nodeType":864},{},[],"The success of ClickFix has predictably spawned a growing family of derivatives — FileFix, CrashFix, ",{"data":6023,"content":6025,"nodeType":883},{"uri":6024},"https://pushsecurity.com/blog/installfix/",[6026],{"data":6027,"marks":6028,"value":6029,"nodeType":864},{},[],"InstallFix",{"data":6031,"marks":6032,"value":6033,"nodeType":864},{},[]," — and much of the naming is marketing hype around variations on the same clipboard-injection mechanic. But ",{"data":6035,"content":6037,"nodeType":883},{"uri":6036},"https://pushsecurity.com/blog/consentfix/",[6038],{"data":6039,"marks":6040,"value":6041,"nodeType":864},{},[],"ConsentFix",{"data":6043,"marks":6044,"value":6045,"nodeType":864},{},[]," was a genuinely novel development.",{"data":6047,"content":6048,"nodeType":1312},{},[6049],{"data":6050,"marks":6051,"value":6053,"nodeType":864},{},[6052],{"type":899},"Browser-native ClickFix: ConsentFix",{"data":6055,"content":6056,"nodeType":860},{},[6057,6061,6069,6073,6081],{"data":6058,"marks":6059,"value":6060,"nodeType":864},{},[],"ConsentFix is a fully browser-native attack that merged ClickFix-style social engineering with OAuth consent abuse, compromising accounts through a legitimate Microsoft authorization flow with no endpoint component at all. ConsentFix was ",{"data":6062,"content":6064,"nodeType":883},{"uri":6063},"https://pushsecurity.com/blog/consentfix-debrief/",[6065],{"data":6066,"marks":6067,"value":6068,"nodeType":864},{},[],"traced to APT29",{"data":6070,"marks":6071,"value":6072,"nodeType":864},{},[]," and has since been ",{"data":6074,"content":6076,"nodeType":883},{"uri":6075},"https://pushsecurity.com/blog/consentfix-v3-analyzing-a-new-toolkit/",[6077],{"data":6078,"marks":6079,"value":6080,"nodeType":864},{},[],"commercialized on criminal forums",{"data":6082,"marks":6083,"value":6084,"nodeType":864},{},[],", following the same path from state-sponsored technique to commodity criminal tooling that we've seen repeatedly in this space.",{"data":6086,"content":6087,"nodeType":860},{},[6088],{"data":6089,"marks":6090,"value":6091,"nodeType":864},{},[],"ConsentFix demonstrates that the clipboard-injection mechanic can evolve into something that operates entirely within the browser, eliminating the endpoint detection surface that traditional ClickFix still exposed.",{"data":6093,"content":6094,"nodeType":1312},{},[6095],{"data":6096,"marks":6097,"value":6099,"nodeType":864},{},[6098],{"type":899},"Attackers have pivoted to authorization attacks to get around login controls",{"data":6101,"content":6102,"nodeType":860},{},[6103,6107,6114],{"data":6104,"marks":6105,"value":6106,"nodeType":864},{},[],"Authorization attacks like device code phishing have seen a ",{"data":6108,"content":6109,"nodeType":883},{"uri":3259},[6110],{"data":6111,"marks":6112,"value":6113,"nodeType":864},{},[],"37.5x increase",{"data":6115,"marks":6116,"value":6117,"nodeType":864},{},[]," since the start of 2026, with at least 12 distinct kits now offering the technique. It bypasses standard authentication controls — including passkeys — because the attack occurs through the OAuth device authorization flow rather than the standard login flow. ",{"data":6119,"content":6120,"nodeType":860},{},[6121],{"data":6122,"marks":6123,"value":6124,"nodeType":864},{},[],"The technique was first associated with nation-state actors like Storm-2372, but went from espionage-grade to commodity PhaaS tooling in roughly eighteen months, with kits like EvilTokens and Venom now offering turnkey device code phishing as a service.",{"data":6126,"content":6127,"nodeType":860},{},[6128],{"data":6129,"marks":6130,"value":6131,"nodeType":864},{},[],"The device code authorization is effectively performed post-authentication. If you already have an active session in your browser, entering the device code and selecting your account from a drop-down menu is all that's needed. No password or MFA required. You can see an example in the video below.",{"data":6133,"content":6137,"nodeType":996},{"target":6134},{"sys":6135},{"id":6136,"type":1001,"linkType":1002},"2WPb41lNRajdpt5pogQg8M",[],{"data":6139,"content":6140,"nodeType":860},{},[6141],{"data":6142,"marks":6143,"value":6144,"nodeType":864},{},[],"And the ecosystem is adapting to this opportunity: established AiTM vendors like Tycoon are adding authorization-focused options alongside their existing credential-harvesting capabilities, which points toward multi-technique platforms where operators pick the right tool for whatever defenses the target has in place.",{"data":6146,"content":6147,"nodeType":1312},{},[6148],{"data":6149,"marks":6150,"value":6152,"nodeType":864},{},[6151],{"type":899},"Malicious and hacked browser extensions are one of the fastest growing threats",{"data":6154,"content":6155,"nodeType":860},{},[6156,6160,6167],{"data":6157,"marks":6158,"value":6159,"nodeType":864},{},[],"Malicious browser extensions have matured from an occasional nuisance into a scalable supply chain attack vector. The ",{"data":6161,"content":6162,"nodeType":883},{"uri":2411},[6163],{"data":6164,"marks":6165,"value":6166,"nodeType":864},{},[],"Cyberhaven compromise",{"data":6168,"marks":6169,"value":6170,"nodeType":864},{},[]," in December 2024 — where approximately 35 extensions were weaponized through a single OAuth phishing campaign targeting developers — impacted 2.6 million users and demonstrated that extension supply chain attacks can achieve the kind of reach that used to require a compromised software update server.",{"data":6172,"content":6173,"nodeType":860},{},[6174],{"data":6175,"marks":6176,"value":6177,"nodeType":864},{},[],"Since Cyberhaven, the pace has only accelerated. In 2026 alone, researchers have publicly disclosed at least 250 confirmed malicious browser extensions affecting roughly 1.75 million users, alongside a further 370+ extensions engaged in undisclosed or policy-disclosed data harvesting affecting an additional 44 million users. That doesn't count the extensions from late-2025 campaigns (DarkSpectre, AITOPIA, Trust Wallet) whose impacts carried into 2026.",{"data":6179,"content":6180,"nodeType":860},{},[6181,6185,6193],{"data":6182,"marks":6183,"value":6184,"nodeType":864},{},[],"The attack paths have also expanded. Beyond phishing developers for take over Web Store accounts (the Cyberhaven playbook), attackers are buying existing extensions from developers, waiting for ownership transfers or abandonments to take over, and increasingly vibe-coding their own functional extensions from scratch to build an audience that can later be weaponized. The common thread is that ",{"data":6186,"content":6187,"nodeType":883},{"uri":2411},[6188],{"data":6189,"marks":6190,"value":6192,"nodeType":864},{},[6191],{"type":1455},"most malicious extensions didn't start out malicious",{"data":6194,"marks":6195,"value":6196,"nodeType":864},{},[]," — they started as legitimate tools and were turned into weapons after the fact.",{"data":6198,"content":6199,"nodeType":860},{},[6200],{"data":6201,"marks":6202,"value":6203,"nodeType":864},{},[],"None of this is happening in isolation. The threat landscape has reoriented around browser-based initial access and identity compromise — and the matrix needed to catch up.",{"data":6205,"content":6206,"nodeType":1005},{},[],{"data":6208,"content":6209,"nodeType":1009},{},[6210],{"data":6211,"marks":6212,"value":6214,"nodeType":864},{},[6213],{"type":899},"The evolution is playing out in public breaches",{"data":6216,"content":6217,"nodeType":860},{},[6218],{"data":6219,"marks":6220,"value":6221,"nodeType":864},{},[],"It’s worth reinforcing that when the SaaS matrix was first released, many of these attacks hadn’t been seen in the wild. The change today is staggering:",{"data":6223,"content":6224,"nodeType":941},{},[6225,6247,6269,6289],{"data":6226,"content":6227,"nodeType":945},{},[6228],{"data":6229,"content":6230,"nodeType":860},{},[6231,6235,6243],{"data":6232,"marks":6233,"value":6234,"nodeType":864},{},[],"When ",{"data":6236,"content":6238,"nodeType":883},{"uri":6237},"https://pushsecurity.com/blog/scattered-lapsus-hunters/",[6239],{"data":6240,"marks":6241,"value":6242,"nodeType":864},{},[],"Scattered Lapsus$ Hunters",{"data":6244,"marks":6245,"value":6246,"nodeType":864},{},[]," compromised over a thousand organizations' Salesforce tenants through device code phishing, the attack started with a phone call, moved through a browser-based authorization flow for the attacker’s app, and ended with mass data exfiltration via API.",{"data":6248,"content":6249,"nodeType":945},{},[6250],{"data":6251,"content":6252,"nodeType":860},{},[6253,6257,6265],{"data":6254,"marks":6255,"value":6256,"nodeType":864},{},[],"When the same collective launched ",{"data":6258,"content":6260,"nodeType":883},{"uri":6259},"https://pushsecurity.com/blog/unpacking-the-latest-slh-campaign/",[6261],{"data":6262,"marks":6263,"value":6264,"nodeType":864},{},[],"AiTM phishing campaigns",{"data":6266,"marks":6267,"value":6268,"nodeType":864},{},[]," targeting Okta and Entra SSO, the phishing page was operated by a human in real time and delivered over a voice call — not email.",{"data":6270,"content":6271,"nodeType":945},{},[6272],{"data":6273,"content":6274,"nodeType":860},{},[6275,6278,6285],{"data":6276,"marks":6277,"value":6234,"nodeType":864},{},[],{"data":6279,"content":6280,"nodeType":883},{"uri":6036},[6281],{"data":6282,"marks":6283,"value":6284,"nodeType":864},{},[],"APT29 deployed ConsentFix",{"data":6286,"marks":6287,"value":6288,"nodeType":864},{},[]," across dozens of compromised websites, the entire attack chain was browser-native, abusing a legitimate Microsoft OAuth flow to bypass MFA without proxying a single credential.",{"data":6290,"content":6291,"nodeType":945},{},[6292],{"data":6293,"content":6294,"nodeType":860},{},[6295,6298,6305],{"data":6296,"marks":6297,"value":2761,"nodeType":864},{},[],{"data":6299,"content":6301,"nodeType":883},{"uri":6300},"https://pushsecurity.com/blog/identity-attacks-in-the-wild/#id-snowflake-june-2024",[6302],{"data":6303,"marks":6304,"value":3756,"nodeType":864},{},[],{"data":6306,"marks":6307,"value":6308,"nodeType":864},{},[]," — arguably the most consequential credential-based campaign of the past several years — saw 165 organizations breached using credentials that had been sitting in infostealer dumps for years, replayed against Snowflake tenants that lacked mandatory MFA. The attack surface wasn't Snowflake's application logic; it was the identity hygiene gap that every organization carries across hundreds of apps.",{"data":6310,"content":6311,"nodeType":860},{},[6312],{"data":6313,"marks":6314,"value":6315,"nodeType":864},{},[],"And that’s just the big picture. Every month we’re tracking new public breaches involving browser and identity TTPs — which again, are just the tip of the iceberg when you consider that many breaches are settled quietly without hitting the headlines. ",{"data":6317,"content":6318,"nodeType":860},{},[6319,6323,6328],{"data":6320,"marks":6321,"value":6322,"nodeType":864},{},[],"One of the key drivers here is the shrinking time-to-exploit. CrowdStrike's average e-crime breakout time is down to ",{"data":6324,"marks":6325,"value":6327,"nodeType":864},{},[6326],{"type":899},"29 minutes",{"data":6329,"marks":6330,"value":6331,"nodeType":864},{},[],", with the fastest recorded at 27 seconds. When attackers can move from initial access to data exfiltration within minutes, the window for post-compromise detection collapses to near zero. The best chance of stopping the attack is at the point of initial access before the identity is compromised.",{"data":6333,"content":6334,"nodeType":1005},{},[],{"data":6336,"content":6337,"nodeType":1009},{},[6338,6343,6349,6354,6360],{"data":6339,"marks":6340,"value":6342,"nodeType":864},{},[6341],{"type":899},"Sidenote: why we're looking at attacks ",{"data":6344,"marks":6345,"value":6348,"nodeType":864},{},[6346,6347],{"type":2246},{"type":899},"in",{"data":6350,"marks":6351,"value":6353,"nodeType":864},{},[6352],{"type":899}," the browser, not ",{"data":6355,"marks":6356,"value":6359,"nodeType":864},{},[6357,6358],{"type":2246},{"type":899},"on",{"data":6361,"marks":6362,"value":6364,"nodeType":864},{},[6363],{"type":899}," the browser",{"data":6366,"content":6367,"nodeType":860},{},[6368,6372,6380],{"data":6369,"marks":6370,"value":6371,"nodeType":864},{},[],"Calling this a \"browser attacks\" matrix needs clarification. We're not talking about browser exploits — RCE vulnerabilities, sandbox escapes, memory corruption bugs. Those attacks target the browser itself, they're extraordinarily expensive to develop, and they're increasingly rare. Browser zero-days hit a ",{"data":6373,"content":6375,"nodeType":883},{"uri":6374},"https://cloud.google.com/blog/topics/threat-intelligence/2025-zero-day-review",[6376],{"data":6377,"marks":6378,"value":6379,"nodeType":864},{},[],"historic low of 9%",{"data":6381,"marks":6382,"value":6383,"nodeType":864},{},[]," of all zero-days reported to Google, and a Chrome RCE commands a $250,000 bug bounty.",{"data":6385,"content":6386,"nodeType":860},{},[6387],{"data":6388,"marks":6389,"value":6390,"nodeType":864},{},[],"In comparison, a one-year phishing kit rental costs $1,000. A bulk stolen credential list costs $15. An initial-access-broker-provided IdP admin account costs $3,000. When it costs orders of magnitude less to exploit the person using the browser than to exploit the browser itself, attackers will take the cheaper option every time.",{"data":6392,"content":6393,"nodeType":860},{},[6394],{"data":6395,"marks":6396,"value":6397,"nodeType":864},{},[],"It's worth heading off the obvious counterargument: won't AI-assisted vulnerability discovery eventually make browser exploits cheaper? Perhaps — but it will simultaneously make them easier for browser vendors to find and patch, and vendors like Google and Microsoft have the engineering capacity and financial incentive to scale AI-driven remediation far faster than attackers can scale exploit development.",{"data":6399,"content":6400,"nodeType":1005},{},[],{"data":6402,"content":6403,"nodeType":1009},{},[6404],{"data":6405,"marks":6406,"value":6408,"nodeType":864},{},[6407],{"type":899},"What hasn't changed",{"data":6410,"content":6411,"nodeType":860},{},[6412,6416,6424],{"data":6413,"marks":6414,"value":6415,"nodeType":864},{},[],"The matrix remains open-source, community-maintained, and available on ",{"data":6417,"content":6419,"nodeType":883},{"uri":6418},"https://github.com/pushsecurity/saas-attacks",[6420],{"data":6421,"marks":6422,"value":6423,"nodeType":864},{},[],"GitHub",{"data":6425,"marks":6426,"value":6427,"nodeType":864},{},[],". The goal is the same as it was in 2023: to give offensive and defensive security teams a shared reference point for the techniques that matter most.",{"data":6429,"content":6430,"nodeType":860},{},[6431],{"data":6432,"marks":6433,"value":6434,"nodeType":864},{},[],"We built it because there was a gap in how the industry talked about these techniques, and that gap still exists — MITRE ATT&CK remains essential for endpoint and network TTPs, but the browser-based, identity-first techniques behind most modern breaches are still underrepresented in traditional frameworks.",{"data":6436,"content":6437,"nodeType":860},{},[6438],{"data":6439,"marks":6440,"value":6441,"nodeType":864},{},[],"We continue to maintain the matrix with input from red teams, detection engineers, and threat researchers across the community. Some of the most valuable additions over the past two years have come from practitioners who encountered a technique on an engagement or in an investigation and contributed it back to the repository.",{"data":6443,"content":6444,"nodeType":860},{},[6445,6449,6456],{"data":6446,"marks":6447,"value":6448,"nodeType":864},{},[],"If you're an offensive security professional using these techniques on engagements, or a defender building detections against them, we want to hear from you. Submit a PR, open a discussion, or flag a technique we've missed on ",{"data":6450,"content":6452,"nodeType":883},{"uri":6451},"https://github.com/pushsecurity/browser-identity-attacks-matrix",[6453],{"data":6454,"marks":6455,"value":6423,"nodeType":864},{},[],{"data":6457,"marks":6458,"value":2924,"nodeType":864},{},[],{"data":6460,"content":6461,"nodeType":1005},{},[],{"data":6463,"content":6464,"nodeType":1009},{},[6465],{"data":6466,"marks":6467,"value":6469,"nodeType":864},{},[6468],{"type":899},"Looking ahead",{"data":6471,"content":6472,"nodeType":860},{},[6473],{"data":6474,"marks":6475,"value":6476,"nodeType":864},{},[],"The pace of attacker innovation in browser-based initial access techniques over the past 18 months has been unlike anything we've tracked before — technique after technique moving from research curiosity to industrialized criminal tooling within months, not years.",{"data":6478,"content":6479,"nodeType":941},{},[6480,6490,6500],{"data":6481,"content":6482,"nodeType":945},{},[6483],{"data":6484,"content":6485,"nodeType":860},{},[6486],{"data":6487,"marks":6488,"value":6489,"nodeType":864},{},[],"AiTM platforms are adding authorization-based attack options alongside their credential-harvesting capabilities.",{"data":6491,"content":6492,"nodeType":945},{},[6493],{"data":6494,"content":6495,"nodeType":860},{},[6496],{"data":6497,"marks":6498,"value":6499,"nodeType":864},{},[],"ClickFix has spawned fully browser-native variants.",{"data":6501,"content":6502,"nodeType":945},{},[6503],{"data":6504,"content":6505,"nodeType":860},{},[6506],{"data":6507,"marks":6508,"value":6509,"nodeType":864},{},[],"AI is lowering the cost of producing convincing social engineering and phishing infrastructure at scale.",{"data":6511,"content":6512,"nodeType":860},{},[6513],{"data":6514,"marks":6515,"value":6516,"nodeType":864},{},[],"We don't see any of this slowing down, and that's exactly why thinking about these attacks as a browser problem instead of siloing them across email, endpoint, network, and cloud categories, each with a partial view of the picture (and still missing the whole when combined).",{"data":6518,"content":6519,"nodeType":860},{},[6520,6524,6531],{"data":6521,"marks":6522,"value":6523,"nodeType":864},{},[],"The Browser & Identity Attacks Matrix is our contribution to keeping that shared understanding current. You can ",{"data":6525,"content":6526,"nodeType":883},{"uri":5243},[6527],{"data":6528,"marks":6529,"value":6530,"nodeType":864},{},[],"explore the matrix here",{"data":6532,"marks":6533,"value":2924,"nodeType":864},{},[],{"data":6535,"content":6536,"nodeType":860},{},[6537,6541,6549],{"data":6538,"marks":6539,"value":6540,"nodeType":864},{},[],"You can also read our recent ",{"data":6542,"content":6544,"nodeType":883},{"uri":6543},"https://pushsecurity.com/thank-you/browser-attacks-report",[6545],{"data":6546,"marks":6547,"value":6548,"nodeType":864},{},[],"browser attack techniques report",{"data":6550,"marks":6551,"value":6552,"nodeType":864},{},[]," for more information.",{"data":6554,"content":6558,"nodeType":996},{"target":6555},{"sys":6556},{"id":6557,"type":1001,"linkType":1002},"1hx6sxpyEzxn4F4jc1RGQi",[],{"data":6560,"content":6561,"nodeType":1005},{},[],{"data":6563,"content":6564,"nodeType":860},{},[6565],{"data":6566,"marks":6567,"value":6568,"nodeType":864},{},[],"Push Security is the most powerful AI-native security tool in the browser. Think EDR, but for the browser — high-fidelity telemetry and real-time control across every session, on every device, with no browser migration required. Security teams use Push to detect and stop advanced browser-based attacks like AiTM phishing, ClickFix, and session hijacking; gain visibility and control over AI tool usage across their workforce; harden identities by surfacing credential reuse, SSO gaps, and shadow IT; and support data loss and insider investigations with browser-layer telemetry that other tools can't see.",{"data":6570,"content":6571,"nodeType":860},{},[6572,6575,6581],{"data":6573,"marks":6574,"value":2707,"nodeType":864},{},[],{"data":6576,"content":6577,"nodeType":883},{"uri":1700},[6578],{"data":6579,"marks":6580,"value":2715,"nodeType":864},{},[],{"data":6582,"marks":6583,"value":2719,"nodeType":864},{},[],"Introducing the Browser & Identity Attacks Matrix","We're re-releasing the SaaS attack matrix as the Browser & Identity Attacks Matrix. Here's why we've decided to make the change and what it means.","2026-05-08T00:00:00.000Z","introducing-the-browser-and-identity-attacks-matrix",{"items":6589},[6590,6594],{"sys":6591,"name":6593},{"id":6592},"6A5RXS31ZQx3PwryGb1IMy","Browser-based attacks",{"sys":6595,"name":342},{"id":6596},"4ksQNCFeBf8H4QIORqpRLw",{"items":6598},[6599],{"fullName":2736,"firstName":2737,"jobTitle":2738,"profilePicture":6600},{"url":2740},{"__typename":2059,"sys":6602,"content":6604,"title":7391,"synopsis":7392,"hashTags":59,"publishedDate":7393,"slug":7394,"tagsCollection":7395,"authorsCollection":7401},{"id":6603},"Gcg7PGuICrlRcqq1QFXxH",{"json":6605},{"data":6606,"content":6607,"nodeType":856},{},[6608,6615,6622,6653,6660,6666,6672,6684,6687,6695,6711,6718,6724,6731,6738,6744,6747,6755,6762,6768,6774,6781,6788,6806,6812,6815,6823,6841,6847,6854,6857,6865,6872,6879,6885,6891,6934,6941,6944,6952,6959,6966,7009,7016,7047,7054,7097,7104,7107,7115,7134,7141,7149,7164,7171,7190,7197,7200,7206,7212,7228,7231,7239,7258,7265,7385],{"data":6609,"content":6610,"nodeType":860},{},[6611],{"data":6612,"marks":6613,"value":6614,"nodeType":864},{},[],"Shared conversations on AI chatbot platforms have become the latest delivery mechanism for malware campaigns targeting macOS and Windows users. Attackers create content on platforms like ChatGPT and Claude that appears to offer installation guidance or service updates, then drive traffic to it via search engine results in the form of malvertising and SEO poisoning.  ",{"data":6616,"content":6617,"nodeType":860},{},[6618],{"data":6619,"marks":6620,"value":6621,"nodeType":864},{},[],"The content lives on chatgpt.com or claude.ai — domains that users and security tools trust implicitly — so the attack bypasses URL reputation checks before the victim even reaches the malicious payload.",{"data":6623,"content":6624,"nodeType":860},{},[6625,6629,6637,6641,6649],{"data":6626,"marks":6627,"value":6628,"nodeType":864},{},[],"Several variants of this technique have been ",{"data":6630,"content":6632,"nodeType":883},{"uri":6631},"https://www.bleepingcomputer.com/news/security/hackers-abuse-google-ads-claudeai-chats-to-push-mac-malware/",[6633],{"data":6634,"marks":6635,"value":6636,"nodeType":864},{},[],"reported over the past few months",{"data":6638,"marks":6639,"value":6640,"nodeType":864},{},[],". The earliest examples used shared Claude.ai conversations disguised as installation guides — complete with fake \"Apple Support\" attribution — that walked users through opening a terminal and pasting a curl command that downloaded and executed an infostealer. ",{"data":6642,"content":6644,"nodeType":883},{"uri":6643},"https://www.kaspersky.com/blog/share-chatgpt-chat-clickfix-macos-amos-infostealer/54928/",[6645],{"data":6646,"marks":6647,"value":6648,"nodeType":864},{},[],"Kaspersky documented a parallel campaign",{"data":6650,"marks":6651,"value":6652,"nodeType":864},{},[]," using shared ChatGPT conversations to deliver the AMOS (Atomic macOS Stealer) via the same paste-this-command social engineering pattern. ",{"data":6654,"content":6655,"nodeType":860},{},[6656],{"data":6657,"marks":6658,"value":6659,"nodeType":864},{},[],"Push has detected a new variant that goes beyond the previously reported technique of embedding terminal commands in shared conversations: the attacker has used ChatGPT's code rendering feature to build a fully designed fake page that mimics a ChatGPT service disruption, redirecting victims to a convincing clone of ChatGPT's download page that delivers a malicious executable. ",{"data":6661,"content":6665,"nodeType":996},{"target":6662},{"sys":6663},{"id":6664,"type":1001,"linkType":1002},"5lz9zt223pecGvdaqdvSTQ",[],{"data":6667,"content":6671,"nodeType":996},{"target":6668},{"sys":6669},{"id":6670,"type":1001,"linkType":1002},"51GomAj3VOjnbmgd1DWYu0",[],{"data":6673,"content":6674,"nodeType":860},{},[6675,6680],{"data":6676,"marks":6677,"value":6679,"nodeType":864},{},[6678],{"type":899},"This is a live campaign which is still generating detections across our customer base at the time of writing. ",{"data":6681,"marks":6682,"value":6683,"nodeType":864},{},[],"Push customers are already protected and do not need to take further action. The malicious page URLs can be found at the end of this report but are not exhaustive and are liable to change. ",{"data":6685,"content":6686,"nodeType":1005},{},[],{"data":6688,"content":6689,"nodeType":1009},{},[6690],{"data":6691,"marks":6692,"value":6694,"nodeType":864},{},[6693],{"type":899},"A fake page, not a fake conversation",{"data":6696,"content":6697,"nodeType":860},{},[6698,6702,6707],{"data":6699,"marks":6700,"value":6701,"nodeType":864},{},[],"Previously reported variants relied on shared ",{"data":6703,"marks":6704,"value":6706,"nodeType":864},{},[6705],{"type":2246},"conversations",{"data":6708,"marks":6709,"value":6710,"nodeType":864},{},[]," — the attacker created a chat that contained step-by-step instructions for the victim to follow, typically involving pasting a command into their terminal. The social engineering was conversational: the \"AI assistant\" appeared to be helpfully guiding the user through an installation process.",{"data":6712,"content":6713,"nodeType":860},{},[6714],{"data":6715,"marks":6716,"value":6717,"nodeType":864},{},[],"But now, rather than a shared conversation, the attacker has used ChatGPT's code rendering feature to create a fully designed, self-contained web page hosted at a chatgpt.com/s/ URL. It renders as what appears to be a ChatGPT service disruption notice:",{"data":6719,"content":6723,"nodeType":996},{"target":6720},{"sys":6721},{"id":6722,"type":1001,"linkType":1002},"1O9gyQab81SnbxhQp2aa5Z",[],{"data":6725,"content":6726,"nodeType":860},{},[6727],{"data":6728,"marks":6729,"value":6730,"nodeType":864},{},[],"A professional-looking error message reads: \"We're experiencing high traffic right now. Our website is temporarily unavailable due to a large number of users. Download our desktop app to continue.\" A prominent download button sits below.",{"data":6732,"content":6733,"nodeType":860},{},[6734],{"data":6735,"marks":6736,"value":6737,"nodeType":864},{},[],"The \"Show code\" toggle at the top of the page reveals what's actually happening — the entire thing is custom HTML and CSS, authored to mimic a ChatGPT system notice, rendered using ChatGPT's code output feature. A web page inside a web page, hosted on a domain that every URL reputation system in the world considers safe.",{"data":6739,"content":6743,"nodeType":996},{"target":6740},{"sys":6741},{"id":6742,"type":1001,"linkType":1002},"4kQTfxB3aVH9W9BeYOuljP",[],{"data":6745,"content":6746,"nodeType":1005},{},[],{"data":6748,"content":6749,"nodeType":1009},{},[6750],{"data":6751,"marks":6752,"value":6754,"nodeType":864},{},[6753],{"type":899},"The download page",{"data":6756,"content":6757,"nodeType":860},{},[6758],{"data":6759,"marks":6760,"value":6761,"nodeType":864},{},[],"Clicking the download button redirects the user to openew[.]app, which presents a convincing clone of ChatGPT's official desktop application download page — complete with OpenAI branding, macOS and Windows download buttons, a Chrome extension link, and a mobile download section.",{"data":6763,"content":6767,"nodeType":996},{"target":6764},{"sys":6765},{"id":6766,"type":1001,"linkType":1002},"4MdFc4OB37ZihTGx506QJ6",[],{"data":6769,"content":6773,"nodeType":996},{"target":6770},{"sys":6771},{"id":6772,"type":1001,"linkType":1002},"LaPUy0zpIeY8s4PF2wkat",[],{"data":6775,"content":6776,"nodeType":860},{},[6777],{"data":6778,"marks":6779,"value":6780,"nodeType":864},{},[],"The site also displays differently depending on who visits it. When Push researchers examined the URL via URLScan, the scanner was redirected to a different page entirely — a generic AR/VR company website with no obvious connection to ChatGPT. ",{"data":6782,"content":6783,"nodeType":860},{},[6784],{"data":6785,"marks":6786,"value":6787,"nodeType":864},{},[],"Real users in a browser see the fake download page; automated scanners and bots see something benign. This kind of conditional rendering is a well-established evasion technique in the malvertising ecosystem, and it makes the malicious infrastructure harder for security teams and threat intelligence services to identify and analyze.",{"data":6789,"content":6790,"nodeType":860},{},[6791,6795,6803],{"data":6792,"marks":6793,"value":6794,"nodeType":864},{},[],"The downloaded executable poses as \"ChatGPT for Desktop\" and is ",{"data":6796,"content":6798,"nodeType":883},{"uri":6797},"https://www.virustotal.com/gui/file/de8c50e8ccd240ef9d10ec26c26eeb37a4d1cad7c1e0edf3bb6e5689ec2dde78",[6799],{"data":6800,"marks":6801,"value":6802,"nodeType":864},{},[],"flagged on VirusTotal",{"data":6804,"marks":6805,"value":2924,"nodeType":864},{},[],{"data":6807,"content":6811,"nodeType":996},{"target":6808},{"sys":6809},{"id":6810,"type":1001,"linkType":1002},"3FSbwoFJYQrcyo9uMsQIWI",[],{"data":6813,"content":6814,"nodeType":1005},{},[],{"data":6816,"content":6817,"nodeType":1009},{},[6818],{"data":6819,"marks":6820,"value":6822,"nodeType":864},{},[6821],{"type":899},"The Claude variant: same campaign, different platform",{"data":6824,"content":6825,"nodeType":860},{},[6826,6830,6837],{"data":6827,"marks":6828,"value":6829,"nodeType":864},{},[],"Alongside the ChatGPT rendered-page variant, Push has also detected the previously reported style of attack using shared Claude.ai conversations. These follow the pattern documented by ",{"data":6831,"content":6832,"nodeType":883},{"uri":6631},[6833],{"data":6834,"marks":6835,"value":6836,"nodeType":864},{},[],"BleepingComputer",{"data":6838,"marks":6839,"value":6840,"nodeType":864},{},[],": a shared chat disguised as a \"Claude Code on Mac\" installation guide, attributed to \"Apple Support,\" containing a curl command that downloads and executes malware.",{"data":6842,"content":6846,"nodeType":996},{"target":6843},{"sys":6844},{"id":6845,"type":1001,"linkType":1002},"5sWayuTsVdiLSLoS4sv2Vc",[],{"data":6848,"content":6849,"nodeType":860},{},[6850],{"data":6851,"marks":6852,"value":6853,"nodeType":864},{},[],"The fact that both the ChatGPT and Claude variants are appearing in Push customer environments suggests a campaign — or at least a shared playbook — that is actively experimenting with different platforms and different social engineering approaches to find what converts best.",{"data":6855,"content":6856,"nodeType":1005},{},[],{"data":6858,"content":6859,"nodeType":1009},{},[6860],{"data":6861,"marks":6862,"value":6864,"nodeType":864},{},[6863],{"type":899},"Malvertising remains one of the top phishing delivery channels",{"data":6866,"content":6867,"nodeType":860},{},[6868],{"data":6869,"marks":6870,"value":6871,"nodeType":864},{},[],"Push has detected this variant across multiple customer environments, with users arriving at these shared chat URLs after searching for terms including \"chatgpt,\" \"chatgpt free,\" \"chat gpt,\" and common typos like \"chatgo,\" \"chatgot,\" and \"cvhatgpt.\" ",{"data":6873,"content":6874,"nodeType":860},{},[6875],{"data":6876,"marks":6877,"value":6878,"nodeType":864},{},[],"You can see an example of this below: it's incredibly convincing, and uses the real ChatGPT domain — so even users that are paying attention are liable to fall for it. ",{"data":6880,"content":6884,"nodeType":996},{"target":6881},{"sys":6882},{"id":6883,"type":1001,"linkType":1002},"1GYWOyHpZT1rdTm6IGOKu8",[],{"data":6886,"content":6890,"nodeType":996},{"target":6887},{"sys":6888},{"id":6889,"type":1001,"linkType":1002},"4HpFJRAZH2lbygaEk2xOnN",[],{"data":6892,"content":6893,"nodeType":860},{},[6894,6898,6906,6910,6918,6921,6930],{"data":6895,"marks":6896,"value":6897,"nodeType":864},{},[],"This fits a pattern Push has tracked extensively. ",{"data":6899,"content":6901,"nodeType":883},{"uri":6900},"https://pushsecurity.com/blog/verizon-dbir-2026-review/",[6902],{"data":6903,"marks":6904,"value":6905,"nodeType":864},{},[],"Search-based delivery is now the dominant channel for malware distribution",{"data":6907,"marks":6908,"value":6909,"nodeType":864},{},[]," — our own data shows that ClickFix attacks are reached via search results rather than email in 4 of 5 cases, and Push's own research into ",{"data":6911,"content":6913,"nodeType":883},{"uri":6912},"https://pushsecurity.com/blog/analysing-a-sophisticated-google-malvertising-attack/",[6914],{"data":6915,"marks":6916,"value":6917,"nodeType":864},{},[],"malvertising campaigns impersonating brands like TradingView",{"data":6919,"marks":6920,"value":902,"nodeType":864},{},[],{"data":6922,"content":6924,"nodeType":883},{"uri":6923},"https://pushsecurity.com/blog/google-search-malvertising-campaign-continues-now-impersonating-ahrefs/",[6925],{"data":6926,"marks":6927,"value":6929,"nodeType":864},{},[6928],{"type":1455},"Ahrefs",{"data":6931,"marks":6932,"value":6933,"nodeType":864},{},[]," has demonstrated how effectively search ads can funnel victims to malicious pages. ",{"data":6935,"content":6936,"nodeType":860},{},[6937],{"data":6938,"marks":6939,"value":6940,"nodeType":864},{},[],"The shared-chat technique adds a new dimension: the destination URL itself is genuine (chatgpt.com, claude.ai), which means even a cautious user who checks the URL before clicking will see nothing suspicious.",{"data":6942,"content":6943,"nodeType":1005},{},[],{"data":6945,"content":6946,"nodeType":1009},{},[6947],{"data":6948,"marks":6949,"value":6951,"nodeType":864},{},[6950],{"type":899},"Legitimate platform abuse is everywhere",{"data":6953,"content":6954,"nodeType":860},{},[6955],{"data":6956,"marks":6957,"value":6958,"nodeType":864},{},[],"This is one example of a much broader pattern that has become one of the defining characteristics of the 2026 threat landscape: attackers systematically abusing legitimate platforms as attack infrastructure. The scale and variety of this abuse in recent months alone is striking, and it spans every stage of the phishing chain.",{"data":6960,"content":6961,"nodeType":1312},{},[6962],{"data":6963,"marks":6964,"value":6965,"nodeType":864},{},[],"Legit platform abuse for delivery",{"data":6967,"content":6968,"nodeType":860},{},[6969,6973,6981,6985,6993,6997,7005],{"data":6970,"marks":6971,"value":6972,"nodeType":864},{},[],"On the delivery side, attackers have been ",{"data":6974,"content":6976,"nodeType":883},{"uri":6975},"https://www.bleepingcomputer.com/news/security/amazon-ses-increasingly-abused-in-phishing-to-evade-detection/",[6977],{"data":6978,"marks":6979,"value":6980,"nodeType":864},{},[],"weaponizing stolen AWS credentials to send phishing through Amazon SES",{"data":6982,"marks":6983,"value":6984,"nodeType":864},{},[]," that passes SPF, DKIM, and DMARC validation because SES is a legitimate Amazon service. A Vietnamese operation dubbed ",{"data":6986,"content":6988,"nodeType":883},{"uri":6987},"https://thehackernews.com/2026/05/30000-facebook-accounts-hacked-via.html",[6989],{"data":6990,"marks":6991,"value":6992,"nodeType":864},{},[],"AccountDumpling used Google AppSheet's built-in email capability",{"data":6994,"marks":6995,"value":6996,"nodeType":864},{},[]," as a phishing relay to harvest 30,000 Facebook credentials. ",{"data":6998,"content":7000,"nodeType":883},{"uri":6999},"https://techcrunch.com/2026/05/21/scammers-are-abusing-an-internal-microsoft-account-to-send-spam/",[7001],{"data":7002,"marks":7003,"value":7004,"nodeType":864},{},[],"Scammers exploited Microsoft's own internal notification pipeline",{"data":7006,"marks":7007,"value":7008,"nodeType":864},{},[]," — sending phishing from the same msonlineservicesteam@microsoftonline.com address that delivers legitimate 2FA codes — with Spamhaus confirming months of ongoing abuse.",{"data":7010,"content":7011,"nodeType":1312},{},[7012],{"data":7013,"marks":7014,"value":7015,"nodeType":864},{},[],"Legit platform abuse for hosting",{"data":7017,"content":7018,"nodeType":860},{},[7019,7023,7031,7035,7043],{"data":7020,"marks":7021,"value":7022,"nodeType":864},{},[],"For hosting, the platforms being abused read like a who's who of modern web infrastructure. ",{"data":7024,"content":7026,"nodeType":883},{"uri":7025},"https://www.securityweek.com/over-500-organizations-hit-in-years-long-phishing-campaign/",[7027],{"data":7028,"marks":7029,"value":7030,"nodeType":864},{},[],"Operation HookedWing ran for four years",{"data":7032,"marks":7033,"value":7034,"nodeType":864},{},[]," on GitHub Pages and Vercel, compromising 500+ organizations across more than 100 GitHub Pages domains before anyone documented it publicly. Cofense has separately ",{"data":7036,"content":7038,"nodeType":883},{"uri":7037},"https://cofense.com/blog/steal-smarter-not-harder-malicious-use-of-vercel-for-credential-phishing/",[7039],{"data":7040,"marks":7041,"value":7042,"nodeType":864},{},[],"documented the growing abuse of Vercel",{"data":7044,"marks":7045,"value":7046,"nodeType":864},{},[]," for credential phishing hosting. Pixm's Q1 2026 phishing report tracked over 100 unique Azure Blob Storage subdomain variants hosting phishing content that carried Microsoft's own domain reputation, alongside abuse of Cloudflare CDN, Cloudflare Workers, Cloudflare R2, Backblaze B2, and Supabase. ",{"data":7048,"content":7049,"nodeType":1312},{},[7050],{"data":7051,"marks":7052,"value":7053,"nodeType":864},{},[],"Abuse of compromised websites that are otherwise legit",{"data":7055,"content":7056,"nodeType":860},{},[7057,7061,7069,7073,7081,7085,7093],{"data":7058,"marks":7059,"value":7060,"nodeType":864},{},[],"Compromised legitimate sites are also being repurposed at scale. A mass exploitation of a ",{"data":7062,"content":7064,"nodeType":883},{"uri":7063},"https://www.bleepingcomputer.com/news/security/ghost-cms-sql-injection-flaw-exploited-in-large-scale-clickfix-campaign/",[7065],{"data":7066,"marks":7067,"value":7068,"nodeType":864},{},[],"Ghost CMS vulnerability planted ClickFix pages across 700+ websites",{"data":7070,"marks":7071,"value":7072,"nodeType":864},{},[]," including Harvard, Oxford, and DuckDuckGo subdomains. Microsoft recently documented a campaign where ",{"data":7074,"content":7076,"nodeType":883},{"uri":7075},"https://www.microsoft.com/en-us/security/blog/2026/05/26/poisoned-search-results-gpu-mining-cryptojacking-campaign-abusing-screenconnect-microsoft-net-utilities/",[7077],{"data":7078,"marks":7079,"value":7080,"nodeType":864},{},[],"SEO poisoning was combined with AI chatbot recommendation manipulation",{"data":7082,"marks":7083,"value":7084,"nodeType":864},{},[]," to deliver GPU mining malware — extending the poisoning from traditional search results into AI-generated software recommendations. And ",{"data":7086,"content":7088,"nodeType":883},{"uri":7087},"https://www.helpnetsecurity.com/2026/05/27/deno-rat-malware-fake-chatgpt-claude-installers/",[7089],{"data":7090,"marks":7091,"value":7092,"nodeType":864},{},[],"fake ChatGPT and Claude installers on GitHub and SourceForge",{"data":7094,"marks":7095,"value":7096,"nodeType":864},{},[]," have been delivering the DinDoor backdoor and a Deno-based RAT via repositories that mimic legitimate developer tool distributions.",{"data":7098,"content":7099,"nodeType":860},{},[7100],{"data":7101,"marks":7102,"value":7103,"nodeType":864},{},[],"The structural problem is that every one of these platforms is genuinely legitimate, and the security controls that evaluate them — domain reputation, email authentication, URL categorization — confirm them as trusted because they are trusted. This attack extends this pattern into new territory by weaponizing the content-sharing features of AI chatbot platforms specifically, but the underlying principles are the same. ",{"data":7105,"content":7106,"nodeType":1005},{},[],{"data":7108,"content":7109,"nodeType":1009},{},[7110],{"data":7111,"marks":7112,"value":7114,"nodeType":864},{},[7113],{"type":899},"Impact analysis",{"data":7116,"content":7117,"nodeType":860},{},[7118,7122,7130],{"data":7119,"marks":7120,"value":7121,"nodeType":864},{},[],"Shared-chat malware delivery exploits a structural property of AI platforms that traditional security controls aren't designed to handle. Domain reputation, URL categorization, and safe browsing databases all treat chatgpt.com and claude.ai as trusted — because they are. Using these trusted pages to link off to further convincing-looking pages hosting malware allows the attacker to run campaigns that blend in, as well as rotate the phishing delivery pages later in the chain should they ever be flagged, allowing the campaign to continue without interruption (a well known ",{"data":7123,"content":7125,"nodeType":883},{"uri":7124},"https://phishing-techniques.pushsecurity.com/",[7126],{"data":7127,"marks":7128,"value":7129,"nodeType":864},{},[],"detection evasion technique",{"data":7131,"marks":7132,"value":7133,"nodeType":864},{},[],"). ",{"data":7135,"content":7136,"nodeType":860},{},[7137],{"data":7138,"marks":7139,"value":7140,"nodeType":864},{},[],"What makes the rendered-page variant particularly concerning is that it eliminates the most obvious red flag in the earlier attacks. The Claude.ai conversation variants required the victim to recognize that a shared chat instructing them to paste terminal commands might be suspicious — a tall order for many users, but at least the attack surface was visible. The rendered-page variant shows nothing that looks like an attack. It presents what appears to be a routine service disruption with a reasonable call to action: download the desktop app to continue using ChatGPT. ",{"data":7142,"content":7143,"nodeType":1312},{},[7144],{"data":7145,"marks":7146,"value":7148,"nodeType":864},{},[7147],{"type":899},"How Push detected the attack",{"data":7150,"content":7151,"nodeType":860},{},[7152,7156,7160],{"data":7153,"marks":7154,"value":7155,"nodeType":864},{},[],"We've aligned our detection logic for this technique under the name ",{"data":7157,"marks":7158,"value":1555,"nodeType":864},{},[7159],{"type":899},{"data":7161,"marks":7162,"value":7163,"nodeType":864},{},[]," — a technique-level detection that covers shared content abuse across LLM platforms, not tied to any single campaign or set of IOCs. ",{"data":7165,"content":7166,"nodeType":860},{},[7167],{"data":7168,"marks":7169,"value":7170,"nodeType":864},{},[],"Because Push sees the full context of how a user arrived at a page and what that page does once it renders, we can identify LLMShare attacks regardless of which AI platform is being abused or what social engineering wrapper the attacker has chosen. ",{"data":7172,"content":7173,"nodeType":860},{},[7174,7178,7186],{"data":7175,"marks":7176,"value":7177,"nodeType":864},{},[],"When we identified the initial instances of this campaign, we used our ",{"data":7179,"content":7181,"nodeType":883},{"uri":7180},"https://pushsecurity.com/blog/can-ai-replace-a-threat-researcher-what-we-learned-building-an-agentic-threat-hunting-pipeline/",[7182],{"data":7183,"marks":7184,"value":7185,"nodeType":864},{},[],"agentic threat hunting pipeline",{"data":7187,"marks":7188,"value":7189,"nodeType":864},{},[]," to hunt for additional examples across our customer telemetry, develop the LLMShare detection, and rapidly deploy it to customers. Push blocks users from interacting with the page before any malicious activity can occur. ",{"data":7191,"content":7192,"nodeType":860},{},[7193],{"data":7194,"marks":7195,"value":7196,"nodeType":864},{},[],"Push customers do not need to take any further action.",{"data":7198,"content":7199,"nodeType":1005},{},[],{"data":7201,"content":7202,"nodeType":860},{},[7203],{"data":7204,"marks":7205,"value":1682,"nodeType":864},{},[],{"data":7207,"content":7208,"nodeType":860},{},[7209],{"data":7210,"marks":7211,"value":1689,"nodeType":864},{},[],{"data":7213,"content":7214,"nodeType":860},{},[7215,7218,7225],{"data":7216,"marks":7217,"value":21,"nodeType":864},{},[],{"data":7219,"content":7220,"nodeType":883},{"uri":5642},[7221],{"data":7222,"marks":7223,"value":1703,"nodeType":864},{},[7224],{"type":1455},{"data":7226,"marks":7227,"value":21,"nodeType":864},{},[],{"data":7229,"content":7230,"nodeType":1005},{},[],{"data":7232,"content":7233,"nodeType":1009},{},[7234],{"data":7235,"marks":7236,"value":7238,"nodeType":864},{},[7237],{"type":899},"Indicators of compromise",{"data":7240,"content":7241,"nodeType":860},{},[7242,7246,7254],{"data":7243,"marks":7244,"value":7245,"nodeType":864},{},[],"As we always say, short-lived IoCs are of limited value when tackling modern phishing attacks due to the rate at which attackers are able to ",{"data":7247,"content":7249,"nodeType":883},{"uri":7248},"https://phishing-techniques.pushsecurity.com/techniques/domain-rotation-redirection/",[7250],{"data":7251,"marks":7252,"value":7253,"nodeType":864},{},[],"quickly spin up and rotate the sites used",{"data":7255,"marks":7256,"value":7257,"nodeType":864},{},[]," in the attack chain. IoC-based detections for campaigns like this are of limited value.",{"data":7259,"content":7260,"nodeType":860},{},[7261],{"data":7262,"marks":7263,"value":7264,"nodeType":864},{},[],"At the time of writing, the indicators observed were:",{"data":7266,"content":7267,"nodeType":4845},{},[7268,7294,7317,7339,7362],{"data":7269,"content":7270,"nodeType":4581},{},[7271,7283],{"data":7272,"content":7273,"nodeType":7282},{},[7274],{"data":7275,"content":7276,"nodeType":860},{},[7277],{"data":7278,"marks":7279,"value":7281,"nodeType":864},{},[7280],{"type":899},"Indicator","table-header-cell",{"data":7284,"content":7285,"nodeType":7282},{},[7286],{"data":7287,"content":7288,"nodeType":860},{},[7289],{"data":7290,"marks":7291,"value":7293,"nodeType":864},{},[7292],{"type":899},"Type",{"data":7295,"content":7296,"nodeType":4581},{},[7297,7307],{"data":7298,"content":7299,"nodeType":4569},{},[7300],{"data":7301,"content":7302,"nodeType":860},{},[7303],{"data":7304,"marks":7305,"value":7306,"nodeType":864},{},[],"hxxps://claude[.]ai/share/8e6401b5-4849-46c4-a3cb-29e1c3c49131",{"data":7308,"content":7309,"nodeType":4569},{},[7310],{"data":7311,"content":7312,"nodeType":860},{},[7313],{"data":7314,"marks":7315,"value":7316,"nodeType":864},{},[],"URL",{"data":7318,"content":7319,"nodeType":4581},{},[7320,7330],{"data":7321,"content":7322,"nodeType":4569},{},[7323],{"data":7324,"content":7325,"nodeType":860},{},[7326],{"data":7327,"marks":7328,"value":7329,"nodeType":864},{},[],"hxxps://chatgpt[.]com/s/cb_6a0f1e6bbec88191aa7fede27163f08d",{"data":7331,"content":7332,"nodeType":4569},{},[7333],{"data":7334,"content":7335,"nodeType":860},{},[7336],{"data":7337,"marks":7338,"value":7316,"nodeType":864},{},[],{"data":7340,"content":7341,"nodeType":4581},{},[7342,7352],{"data":7343,"content":7344,"nodeType":4569},{},[7345],{"data":7346,"content":7347,"nodeType":860},{},[7348],{"data":7349,"marks":7350,"value":7351,"nodeType":864},{},[],"openew[.]app",{"data":7353,"content":7354,"nodeType":4569},{},[7355],{"data":7356,"content":7357,"nodeType":860},{},[7358],{"data":7359,"marks":7360,"value":7361,"nodeType":864},{},[],"Domain",{"data":7363,"content":7364,"nodeType":4581},{},[7365,7375],{"data":7366,"content":7367,"nodeType":4569},{},[7368],{"data":7369,"content":7370,"nodeType":860},{},[7371],{"data":7372,"marks":7373,"value":7374,"nodeType":864},{},[],"de8c50e8ccd240ef9d10ec26c26eeb37a4d1cad7c1e0edf3bb6e5689ec2dde78",{"data":7376,"content":7377,"nodeType":4569},{},[7378],{"data":7379,"content":7380,"nodeType":860},{},[7381],{"data":7382,"marks":7383,"value":7384,"nodeType":864},{},[],"SHA256",{"data":7386,"content":7387,"nodeType":860},{},[7388],{"data":7389,"marks":7390,"value":21,"nodeType":864},{},[],"LLMShare: how attackers are turning AI chatbot pages into malware delivery platforms","How attackers are using shared content features on AI chatbot platforms to deliver malware via pages hosted on legitimate domains, sent via malvertising.","2026-05-29T00:00:00.000Z","llmshare-malvertising-campaign",{"items":7396},[7397,7399],{"sys":7398,"name":6593},{"id":6592},{"sys":7400,"name":342},{"id":6596},{"items":7402},[7403],{"fullName":7404,"firstName":7405,"jobTitle":7406,"profilePicture":7407},"Keanu Maharaj","Keanu","Senior Security Researcher",{"url":7408},"https://images.ctfassets.net/y1cdw1ablpvd/VCGOm62jiocjwngWTh32U/e9a30637b1c76bf988d2fec90f5b6c36/1689361049351_1.png",{"__typename":2059,"sys":7410,"content":7412,"title":8167,"synopsis":8168,"hashTags":59,"publishedDate":8169,"slug":8170,"tagsCollection":8171,"authorsCollection":8177},{"id":7411},"5RDOpmzJolwT1hk0fNIxzf",{"json":7413},{"data":7414,"content":7415,"nodeType":856},{},[7416,7435,7441,7448,7455,7458,7466,7485,7504,7511,7517,7524,7530,7537,7545,7552,7570,7601,7607,7613,7621,7628,7646,7676,7708,7715,7721,7729,7736,7747,7754,7793,7799,7839,7876,7882,7885,7893,7900,7906,7913,7920,7926,7933,7940,7967,7970,7978,7985,7993,8000,8007,8026,8033,8039,8046,8054,8061,8078,8085,8103,8106,8114,8121,8128,8135,8138,8144,8150],{"data":7417,"content":7418,"nodeType":860},{},[7419,7423,7431],{"data":7420,"marks":7421,"value":7422,"nodeType":864},{},[],"Back in 2024, we wrote about ",{"data":7424,"content":7426,"nodeType":883},{"uri":7425},"https://pushsecurity.com/blog/our-design-philosophy-detecting-what-matters/",[7427],{"data":7428,"marks":7429,"value":7430,"nodeType":864},{},[],"how the Pyramid of Pain shapes Push's detection philosophy",{"data":7432,"marks":7433,"value":7434,"nodeType":864},{},[]," — detections targeting indicators that are easy for attackers to change deliver diminishing returns, while detections targeting attacker techniques impose a cost that's hard to absorb. Two years on, every force that made IoC-based detection fragile has intensified.",{"data":7436,"content":7440,"nodeType":996},{"target":7437},{"sys":7438},{"id":7439,"type":1001,"linkType":1002},"1iuLYxwI8T1wDUIFSom0G0",[],{"data":7442,"content":7443,"nodeType":860},{},[7444],{"data":7445,"marks":7446,"value":7447,"nodeType":864},{},[],"AI hasn't introduced a new problem so much as it's compressed the timelines on an existing one — attackers can generate infrastructure, iterate on tooling, and industrialize newly discovered techniques faster than before. The bottom layers of the Pyramid are collapsing under the weight of machine-speed operations, and the middle layers are starting to buckle too.",{"data":7449,"content":7450,"nodeType":860},{},[7451],{"data":7452,"marks":7453,"value":7454,"nodeType":864},{},[],"These changes mean that technique-level detection is more important than ever. In this article, we’ll dig into how the Pyramid is changing, and what this means for our detection philosophy at Push (TL;DR — it reinforces the path we’re already on: building detections at the top of the Pyramid by harnessing browser visibility). ",{"data":7456,"content":7457,"nodeType":1005},{},[],{"data":7459,"content":7460,"nodeType":1009},{},[7461],{"data":7462,"marks":7463,"value":7465,"nodeType":864},{},[7464],{"type":899},"The bottom of the Pyramid was already crumbling",{"data":7467,"content":7468,"nodeType":860},{},[7469,7473,7481],{"data":7470,"marks":7471,"value":7472,"nodeType":864},{},[],"The case against indicator-based detection didn't need AI to be compelling. ",{"data":7474,"content":7476,"nodeType":883},{"uri":7475},"https://www.spamhaus.org/",[7477],{"data":7478,"marks":7479,"value":7480,"nodeType":864},{},[],"89% of phishing domains are active for fewer than two days",{"data":7482,"marks":7483,"value":7484,"nodeType":864},{},[],", with just 6.5% surviving past 15 days — by the time a domain makes it onto a blocklist, the campaign has moved on.",{"data":7486,"content":7487,"nodeType":860},{},[7488,7492,7500],{"data":7489,"marks":7490,"value":7491,"nodeType":864},{},[],"We've ",{"data":7493,"content":7495,"nodeType":883},{"uri":7494},"https://pushsecurity.com/blog/why-most-phishing-attacks-feel-like-a-zero-day/",[7496],{"data":7497,"marks":7498,"value":7499,"nodeType":864},{},[],"written before",{"data":7501,"marks":7502,"value":7503,"nodeType":864},{},[]," about how this makes every phishing attack effectively a zero-day for organizations relying on known-bad detection. The phishing kit's behavior — its page structure, script signatures, malicious payload mechanics — is the only detection target that outlasts a single campaign.",{"data":7505,"content":7506,"nodeType":860},{},[7507],{"data":7508,"marks":7509,"value":7510,"nodeType":864},{},[],"When we blogged about the Pyramid of Pain for modern attacks that happen predominantly over the internet, with minimal (or zero) endpoint contact, it first looked like this: ",{"data":7512,"content":7516,"nodeType":996},{"target":7513},{"sys":7514},{"id":7515,"type":1001,"linkType":1002},"2N04ycJ6RKGfHdX5X1TwU3",[],{"data":7518,"content":7519,"nodeType":860},{},[7520],{"data":7521,"marks":7522,"value":7523,"nodeType":864},{},[],"Now, it looks more like this:",{"data":7525,"content":7529,"nodeType":996},{"target":7526},{"sys":7527},{"id":7528,"type":1001,"linkType":1002},"mfhP4WToOQkrHnVkXU0tX",[],{"data":7531,"content":7532,"nodeType":860},{},[7533],{"data":7534,"marks":7535,"value":7536,"nodeType":864},{},[],"Let’s explore why. ",{"data":7538,"content":7539,"nodeType":1312},{},[7540],{"data":7541,"marks":7542,"value":7544,"nodeType":864},{},[7543],{"type":899},"AI is accelerating phishing rotation and delivery",{"data":7546,"content":7547,"nodeType":860},{},[7548],{"data":7549,"marks":7550,"value":7551,"nodeType":864},{},[],"Attackers are harnessing AI at every stage, speeding up the process of creating, rotating, and replacing phishing infrastructure at every level, as well as capitalizing on AI adoption itself to enhance their lures. The operational signature is more domains, shorter lifespans, more variation, and fewer of the reuse patterns that blocklists depend on.",{"data":7553,"content":7554,"nodeType":860},{},[7555,7559,7566],{"data":7556,"marks":7557,"value":7558,"nodeType":864},{},[],"Attackers can ",{"data":7560,"content":7561,"nodeType":883},{"uri":7180},[7562],{"data":7563,"marks":7564,"value":7565,"nodeType":864},{},[],"vibe-code entire phishing pages in minutes",{"data":7567,"marks":7568,"value":7569,"nodeType":864},{},[]," — not just cloning legitimate login pages but vibe-cloning them, feeding an AI a screenshot and having it rebuild a convincing frontend with a completely unique backend. ",{"data":7571,"content":7572,"nodeType":860},{},[7573,7577,7585,7589,7597],{"data":7574,"marks":7575,"value":7576,"nodeType":864},{},[],"We've seen attackers clone free SaaS tools like background removers and PDF converters, then inject phishing components or ClickFix payloads into what looks like a functional utility. We’ve even seen attackers distributing malware using AI-generated pages shared using ",{"data":7578,"content":7579,"nodeType":883},{"uri":5327},[7580],{"data":7581,"marks":7582,"value":7584,"nodeType":864},{},[7583],{"type":1455},"LLM tool sharing functionality",{"data":7586,"marks":7587,"value":7588,"nodeType":864},{},[],", resulting in phishing delivery pages hosted on real claude.ai and chatgpt.com. And legitimate cloud platforms like ",{"data":7590,"content":7592,"nodeType":883},{"uri":7591},"https://www.huntress.com/blog/railway-paas-m365-token-replay-campaign",[7593],{"data":7594,"marks":7595,"value":7596,"nodeType":864},{},[],"Railway",{"data":7598,"marks":7599,"value":7600,"nodeType":864},{},[],", Cloudflare Workers, and Vercel host and dynamically rotate attack infrastructure, so the domains feeding into blocklists often belong to reputable services that can't simply be blocked. ",{"data":7602,"content":7606,"nodeType":996},{"target":7603},{"sys":7604},{"id":7605,"type":1001,"linkType":1002},"5yoLmqysyQazfzLITCUTfc",[],{"data":7608,"content":7612,"nodeType":996},{"target":7609},{"sys":7610},{"id":7611,"type":1001,"linkType":1002},"5XK5qZMQU19xlA8L2T5y0Z",[],{"data":7614,"content":7615,"nodeType":1312},{},[7616],{"data":7617,"marks":7618,"value":7620,"nodeType":864},{},[7619],{"type":899},"The kit ecosystem is fragmenting faster than anyone can track",{"data":7622,"content":7623,"nodeType":860},{},[7624],{"data":7625,"marks":7626,"value":7627,"nodeType":864},{},[],"What we see across our install base is a huge and growing variation in phishing kits — new kits, derivative kits of known platforms, derivatives of those derivatives — appearing on a weekly basis.",{"data":7629,"content":7630,"nodeType":860},{},[7631,7635,7642],{"data":7632,"marks":7633,"value":7634,"nodeType":864},{},[],"As we reported in our ",{"data":7636,"content":7637,"nodeType":883},{"uri":6543},[7638],{"data":7639,"marks":7640,"value":7641,"nodeType":864},{},[],"Browser Attacks Report",{"data":7643,"marks":7644,"value":7645,"nodeType":864},{},[],", the most common AiTM kits we detected over the last year were Tycoon 2FA (59% of detections), followed by Sneaky 2FA, FlowerStorm, Evilginx (nominally a red team tool, but widely abused by attackers), NakedPages, Gabagool, and dozens more — but those established names are just the visible layer.",{"data":7647,"content":7648,"nodeType":860},{},[7649,7653,7661,7665,7672],{"data":7650,"marks":7651,"value":7652,"nodeType":864},{},[],"Code is forked, modified, and redeployed across kits in a pattern that ",{"data":7654,"content":7656,"nodeType":883},{"uri":7655},"https://blog.barracuda.com/2026/04/16/threat-spotlight-tycoon-2fa-scattered-everywhere",[7657],{"data":7658,"marks":7659,"value":7660,"nodeType":864},{},[],"resembles open-source development",{"data":7662,"marks":7663,"value":7664,"nodeType":864},{},[]," more than traditional criminal enterprise, and the rate at which new variants appear is accelerating. The ",{"data":7666,"content":7667,"nodeType":883},{"uri":3259},[7668],{"data":7669,"marks":7670,"value":7671,"nodeType":864},{},[],"Venom kit",{"data":7673,"marks":7674,"value":7675,"nodeType":864},{},[]," reuses Sneaky 2FA's AiTM infrastructure but carries different branding and adds device code phishing — whether it's the same developers, stolen code, or a deliberate fork is unclear.",{"data":7677,"content":7678,"nodeType":860},{},[7679,7683,7691,7695,7704],{"data":7680,"marks":7681,"value":7682,"nodeType":864},{},[],"Tycoon 2FA illustrates the scale of the evolution. The kit evolves continuously, addingnew capabilities, new evasion techniques, and hybridizing with other platforms. Even when Sekoia and Microsoft seized 330+ Tycoon domains in March 2026, the techniques it popularized were already embedded across competitors, and the slack was taken up by rival platforms within days. And in any case, Tycoon was back to ",{"data":7684,"content":7686,"nodeType":883},{"uri":7685},"https://www.crowdstrike.com/en-us/blog/tycoon2fa-phishing-as-a-service-platform-persists-following-takedown/",[7687],{"data":7688,"marks":7689,"value":7690,"nodeType":864},{},[],"normal levels of operation",{"data":7692,"marks":7693,"value":7694,"nodeType":864},{},[]," shortly after. It has also been observed ",{"data":7696,"content":7698,"nodeType":883},{"uri":7697},"https://www.okta.com/en-nl/blog/threat-intelligence/tycoon_2fa_phishing_actors_scatter/",[7699],{"data":7700,"marks":7701,"value":7703,"nodeType":864},{},[7702],{"type":1455},"pivoting to add new device code phishing capabilities",{"data":7705,"marks":7706,"value":7707,"nodeType":864},{},[]," (more on that below). ",{"data":7709,"content":7710,"nodeType":860},{},[7711],{"data":7712,"marks":7713,"value":7714,"nodeType":864},{},[],"Tear one down and there are many more to take its place — and meanwhile the original is already evolving into something new.",{"data":7716,"content":7720,"nodeType":996},{"target":7717},{"sys":7718},{"id":7719,"type":1001,"linkType":1002},"3UDzUCCizPJhXp3SsoZuSK",[],{"data":7722,"content":7723,"nodeType":1312},{},[7724],{"data":7725,"marks":7726,"value":7728,"nodeType":864},{},[7727],{"type":899},"New techniques are being industrialized faster than ever",{"data":7730,"content":7731,"nodeType":860},{},[7732],{"data":7733,"marks":7734,"value":7735,"nodeType":864},{},[],"As well as the fragmentation of existing kits, we’re seeing new techniques added at an accelerating rate. ",{"data":7737,"content":7738,"nodeType":860},{},[7739,7743],{"data":7740,"marks":7741,"value":360,"nodeType":864},{},[7742],{"type":899},{"data":7744,"marks":7745,"value":7746,"nodeType":864},{},[]," is the clearest case study. From early nation state adoption in 2024, it took until 2026 for criminal adoption to really take off, but the take-up this year is unprecedented. The EvilTokens kit packaged device code phishing into a PhaaS offering with GPT-powered spear-phishing and adaptive landing pages, hitting 340+ organizations across five countries in March 2026. ",{"data":7748,"content":7749,"nodeType":860},{},[7750],{"data":7751,"marks":7752,"value":7753,"nodeType":864},{},[],"Now, device code functionality is now a core phish kit component. We’re tracking 18+ kits with device code phishing capabilities and a 37.5x increase in device code phishing detections this year alone, with the technique moving from state-sponsored exclusivity to something any PhaaS customer can rent.",{"data":7755,"content":7756,"nodeType":860},{},[7757,7761,7769,7773,7778,7782,7790],{"data":7758,"marks":7759,"value":7760,"nodeType":864},{},[],"Similarly, when we ",{"data":7762,"content":7764,"nodeType":883},{"uri":7763},"https://pushsecurity.com/blog/inside-criminal-phishing-panel",[7765],{"data":7766,"marks":7767,"value":7768,"nodeType":864},{},[],"infiltrated Doko's Panel",{"data":7770,"marks":7771,"value":7772,"nodeType":864},{},[]," — a ",{"data":7774,"marks":7775,"value":7777,"nodeType":864},{},[7776],{"type":899},"real-time vishing and AiTM platform",{"data":7779,"marks":7780,"value":7781,"nodeType":864},{},[]," used by ShinyHunters and affiliated groups — the codebase was full of LLM-generated artifacts. Multiple groups were using the templated vishing panel and spinning up their own variants, but the AI-generated indicators persisted throughout. This approach to real-time vishing + browser payload has been a ",{"data":7783,"content":7784,"nodeType":883},{"uri":4082},[7785],{"data":7786,"marks":7787,"value":7789,"nodeType":864},{},[7788],{"type":1455},"mainstay of the Com affiliates like ShinyHunters this year",{"data":7791,"marks":7792,"value":1774,"nodeType":864},{},[],{"data":7794,"content":7798,"nodeType":996},{"target":7795},{"sys":7796},{"id":7797,"type":1001,"linkType":1002},"01mOiserRBXraawXwQyJNm",[],{"data":7800,"content":7801,"nodeType":860},{},[7802,7806,7810,7814,7823,7827,7835],{"data":7803,"marks":7804,"value":7805,"nodeType":864},{},[],"The broader ",{"data":7807,"marks":7808,"value":315,"nodeType":864},{},[7809],{"type":899},{"data":7811,"marks":7812,"value":7813,"nodeType":864},{},[]," family shows the same acceleration: First reported in early 2024 and adopted by four nation-state groups within a single quarter. Fast forward and ",{"data":7815,"content":7817,"nodeType":883},{"uri":7816},"https://www.crowdstrike.com/en-us/global-threat-report/",[7818],{"data":7819,"marks":7820,"value":7822,"nodeType":864},{},[7821],{"type":1455},"CrowdStrike's data",{"data":7824,"marks":7825,"value":7826,"nodeType":864},{},[]," shows a 563% increase in fake CAPTCHA incidents (one of the more common ClickFix lure types), while ",{"data":7828,"content":7829,"nodeType":883},{"uri":5971},[7830],{"data":7831,"marks":7832,"value":7834,"nodeType":864},{},[7833],{"type":1455},"Microsoft reported",{"data":7836,"marks":7837,"value":7838,"nodeType":864},{},[]," it as making up 47% of observed attacks according to their Digital Defense Report.",{"data":7840,"content":7841,"nodeType":860},{},[7842,7846,7850,7854,7861,7865,7872],{"data":7843,"marks":7844,"value":7845,"nodeType":864},{},[],"And ",{"data":7847,"marks":7848,"value":6041,"nodeType":864},{},[7849],{"type":899},{"data":7851,"marks":7852,"value":7853,"nodeType":864},{},[]," — a combination of ClickFix and OAuth consent phishing techniques — suggests the next compression is already underway. Push researchers ",{"data":7855,"content":7856,"nodeType":883},{"uri":6036},[7857],{"data":7858,"marks":7859,"value":7860,"nodeType":864},{},[],"discovered the technique",{"data":7862,"marks":7863,"value":7864,"nodeType":864},{},[]," in December 2025 — a browser-native ClickFix variant hijacking OAuth consent grants via Azure CLI's localhost redirect. It was later confirmed to be tied to APT29. By January 2026, a ",{"data":7866,"content":7867,"nodeType":883},{"uri":6075},[7868],{"data":7869,"marks":7870,"value":7871,"nodeType":864},{},[],"criminal ConsentFix v3 toolkit",{"data":7873,"marks":7874,"value":7875,"nodeType":864},{},[]," had appeared on the XSS forum with Cloudflare Workers, ZoomInfo targeting, and automated exfiltration via Pipedream.",{"data":7877,"content":7881,"nodeType":996},{"target":7878},{"sys":7879},{"id":7880,"type":1001,"linkType":1002},"41FMif4T0y1maflzonWgL8",[],{"data":7883,"content":7884,"nodeType":1005},{},[],{"data":7886,"content":7887,"nodeType":1009},{},[7888],{"data":7889,"marks":7890,"value":7892,"nodeType":864},{},[7891],{"type":899},"Why technique-level detection is the only layer that holds",{"data":7894,"content":7895,"nodeType":860},{},[7896],{"data":7897,"marks":7898,"value":7899,"nodeType":864},{},[],"The middle of the Pyramid — tool signatures and artifacts — used to offer much more durable detection than infrastructure indicators. Fingerprinting a specific phishing kit by its JavaScript structure or HTML patterns provided a detection target that survived across dozens or hundreds of campaigns, even as the underlying domains rotated. Tool level detections are still better, but not by quite the same margin.",{"data":7901,"content":7905,"nodeType":996},{"target":7902},{"sys":7903},{"id":7904,"type":1001,"linkType":1002},"5pxaYdCIFiFKLPhRaPoldX",[],{"data":7907,"content":7908,"nodeType":860},{},[7909],{"data":7910,"marks":7911,"value":7912,"nodeType":864},{},[],"When the kit landscape was dominated by a handful of platforms, you could write signatures for Tycoon, Sneaky2FA, EvilProxy, and so on, and cover the lion's share of attacks. With the ecosystem now producing new variants and entirely new kits on a weekly basis, detecting by kit fingerprint starts to look uncomfortably similar to detecting by domain.",{"data":7914,"content":7915,"nodeType":860},{},[7916],{"data":7917,"marks":7918,"value":7919,"nodeType":864},{},[],"But many of these proliferating kits do share behavioral patterns at a deeper level than their code signatures. For example, every device code phishing kit implements fundamentally the same flow: present a lure, generate a device code via the OAuth Device Authorization endpoint, get the user to enter it on the legitimate authorization page, and poll for the resulting tokens. The frontends vary, the infrastructure varies, but the behavioral pattern doesn't.",{"data":7921,"content":7925,"nodeType":996},{"target":7922},{"sys":7923},{"id":7924,"type":1001,"linkType":1002},"FyyHayQtsJTwoB1kluMOl",[],{"data":7927,"content":7928,"nodeType":860},{},[7929],{"data":7930,"marks":7931,"value":7932,"nodeType":864},{},[],"Genuinely new attack techniques still require human creativity — an attacker has to identify a gap in how a legitimate protocol or feature can be subverted. That kind of innovation hasn't been automated. But the window to discover a technique, build a detection, and then deploy it before it is adopted by criminals at scale is compressing with each generation.",{"data":7934,"content":7935,"nodeType":860},{},[7936],{"data":7937,"marks":7938,"value":7939,"nodeType":864},{},[],"Organizations that detect at the technique level and deploy before commoditization have a structural advantage that increases over time. Waiting for indicators — even tool-level indicators — means chasing a curve that's accelerating away from you. This is the challenge we grapple with every day as we strive for the most resilient detections possible. ",{"data":7941,"content":7942,"nodeType":1116},{},[7943],{"data":7944,"content":7945,"nodeType":860},{},[7946,7950,7958,7962],{"data":7947,"marks":7948,"value":7949,"nodeType":864},{},[],"As our CPO Jacques Louw put it on ",{"data":7951,"content":7953,"nodeType":883},{"uri":7952},"https://risky.biz/RBNEWSSI128/",[7954],{"data":7955,"marks":7956,"value":7957,"nodeType":864},{},[],"Risky Business",{"data":7959,"marks":7960,"value":7961,"nodeType":864},{},[],": ",{"data":7963,"marks":7964,"value":7966,"nodeType":864},{},[7965],{"type":2246},"\"There's no list of bad domains anywhere in the product. It's a crutch — a false cheat code that stops you from doing the detection in the way that actually is resilient, because the next time you see it, it will be on a different domain.\"",{"data":7968,"content":7969,"nodeType":1005},{},[],{"data":7971,"content":7972,"nodeType":1009},{},[7973],{"data":7974,"marks":7975,"value":7977,"nodeType":864},{},[7976],{"type":899},"What it takes to detect at the top of the Pyramid",{"data":7979,"content":7980,"nodeType":860},{},[7981],{"data":7982,"marks":7983,"value":7984,"nodeType":864},{},[],"If technique-level detection is the only layer that holds, two things have to be true about your detection capability: You need the right vantage point, and you need the research velocity to stay ahead.",{"data":7986,"content":7987,"nodeType":1312},{},[7988],{"data":7989,"marks":7990,"value":7992,"nodeType":864},{},[7991],{"type":899},"You need the right vantage point",{"data":7994,"content":7995,"nodeType":860},{},[7996],{"data":7997,"marks":7998,"value":7999,"nodeType":864},{},[],"Technique-level behaviors in browser-based identity attacks — how a phishing page orchestrates credential entry, how a device code flow presents its authorization prompt, how a ClickFix variant manipulates the clipboard — are visible in the browser session and nowhere else.",{"data":8001,"content":8002,"nodeType":860},{},[8003],{"data":8004,"marks":8005,"value":8006,"nodeType":864},{},[],"Network proxies see encrypted traffic and can attempt to reconstruct page behavior from metadata, but DOM manipulation, user interaction sequences, and script execution aren't visible from that vantage point. Email gateways see the delivery mechanism (or nothing at all in the increasing number of social media and search engine based attacks) but not the payload.",{"data":8008,"content":8009,"nodeType":860},{},[8010,8014,8022],{"data":8011,"marks":8012,"value":8013,"nodeType":864},{},[],"As we disclosed in our ",{"data":8015,"content":8016,"nodeType":883},{"uri":6543},[8017],{"data":8018,"marks":8019,"value":8021,"nodeType":864},{},[8020],{"type":1455},"browser attacks report",{"data":8023,"marks":8024,"value":8025,"nodeType":864},{},[],", 95% of in-browser attacks we detect use some form of bot protection, often combined with conditional loading techniques like referrer and browser checks, reliably defeating automated analysis techniques. ",{"data":8027,"content":8028,"nodeType":860},{},[8029],{"data":8030,"marks":8031,"value":8032,"nodeType":864},{},[],"Behavioral detection at the technique level requires observing what happens on the page at the moment the user interacts with it — analyzing pages, not links. When you see the entire browsing flow — ad click, redirect chain, page render, credential prompt — an attack stands out immediately. Without that context, any detection system is forced to fill in gaps, and the gaps are where attacks hide.",{"data":8034,"content":8038,"nodeType":996},{"target":8035},{"sys":8036},{"id":8037,"type":1001,"linkType":1002},"4804g6u4POUDpL42bzP0EY",[],{"data":8040,"content":8041,"nodeType":860},{},[8042],{"data":8043,"marks":8044,"value":8045,"nodeType":864},{},[],"Push sits inside the browser session, observing this in real time. Its detections target the behavioral mechanics of techniques rather than the surface characteristics of individual kits or infrastructure.",{"data":8047,"content":8048,"nodeType":1312},{},[8049],{"data":8050,"marks":8051,"value":8053,"nodeType":864},{},[8052],{"type":899},"You need the research expertise",{"data":8055,"content":8056,"nodeType":860},{},[8057],{"data":8058,"marks":8059,"value":8060,"nodeType":864},{},[],"When the window between technique discovery and industrialized exploitation is measured in weeks rather than years, the detection pipeline needs to operate on that same compressed timescale.",{"data":8062,"content":8063,"nodeType":860},{},[8064,8068,8074],{"data":8065,"marks":8066,"value":8067,"nodeType":864},{},[],"This is where our ",{"data":8069,"content":8070,"nodeType":883},{"uri":7180},[8071],{"data":8072,"marks":8073,"value":7185,"nodeType":864},{},[],{"data":8075,"marks":8076,"value":8077,"nodeType":864},{},[]," fits. It's tripled our monthly detection output — not by generating bigger blocklists, but by scaling the process of discovering behavioral patterns across the telemetry generated by 3+ million browser deployments.",{"data":8079,"content":8080,"nodeType":860},{},[8081],{"data":8082,"marks":8083,"value":8084,"nodeType":864},{},[],"The detections it produces are technique-class by design, targeting how attacks work rather than the infrastructure or specific tool that implements them. The goal is curation, not accumulation — hundreds of high-fidelity behavioral detections rather than the billions of signatures and domain entries that traditional approaches require.",{"data":8086,"content":8087,"nodeType":860},{},[8088,8092,8099],{"data":8089,"marks":8090,"value":8091,"nodeType":864},{},[],"When we detected the first in-the-wild ",{"data":8093,"content":8094,"nodeType":883},{"uri":6024},[8095],{"data":8096,"marks":8097,"value":8098,"nodeType":864},{},[],"InstallFix attack",{"data":8100,"marks":8101,"value":8102,"nodeType":864},{},[]," through the pipeline — a user had searched for NotebookLM, clicked a paid Google ad, and was redirected to a fake page with a WebAssembly C2 connector — the detection shipped to all customers within minutes. It didn't depend on knowing the domain, the ad creative, or the specific kit. It depended on recognizing the technique itself.",{"data":8104,"content":8105,"nodeType":1005},{},[],{"data":8107,"content":8108,"nodeType":1009},{},[8109],{"data":8110,"marks":8111,"value":8113,"nodeType":864},{},[8112],{"type":899},"Technique-level detection is now the only option",{"data":8115,"content":8116,"nodeType":860},{},[8117],{"data":8118,"marks":8119,"value":8120,"nodeType":864},{},[],"As a framework for detection durability, the Pyramid of Pain is more relevant than ever. ",{"data":8122,"content":8123,"nodeType":860},{},[8124],{"data":8125,"marks":8126,"value":8127,"nodeType":864},{},[],"AI has made infrastructure indicators essentially disposable. The tools tier is compressing as criminal vendors vibe-code, fork, and clone tooling at machine speed. Technique-level detection is the layer that holds long-term to be able to proactively detect and block net-new attacks and the kits that power them. ",{"data":8129,"content":8130,"nodeType":860},{},[8131],{"data":8132,"marks":8133,"value":8134,"nodeType":864},{},[],"Novel attack techniques still require human creativity to discover, and detections built around how those techniques work can survive infrastructure rotation, tool proliferation, and kit fragmentation. Defending that layer requires a vantage point inside the browser session and a research pipeline fast enough to stay ahead of the accelerating path from discovery to industrialization.",{"data":8136,"content":8137,"nodeType":1005},{},[],{"data":8139,"content":8140,"nodeType":860},{},[8141],{"data":8142,"marks":8143,"value":1682,"nodeType":864},{},[],{"data":8145,"content":8146,"nodeType":860},{},[8147],{"data":8148,"marks":8149,"value":1689,"nodeType":864},{},[],{"data":8151,"content":8152,"nodeType":860},{},[8153,8156,8164],{"data":8154,"marks":8155,"value":21,"nodeType":864},{},[],{"data":8157,"content":8158,"nodeType":883},{"uri":1700},[8159],{"data":8160,"marks":8161,"value":8163,"nodeType":864},{},[8162],{"type":1455},"Book a live demo",{"data":8165,"marks":8166,"value":2719,"nodeType":864},{},[],"The Pyramid of Pain in the AI era: Why technique-level detection matters more than ever","AI is accelerating the collapse of indicator-based threat detection. Here's why you need technique-level detection to stay ahead.","2026-06-01T00:00:00.000Z","the-pyramid-of-pain-in-the-ai-era",{"items":8172},[8173,8175],{"sys":8174,"name":342},{"id":6596},{"sys":8176,"name":6593},{"id":6592},{"items":8178},[8179],{"fullName":2736,"firstName":2737,"jobTitle":2738,"profilePicture":8180},{"url":2740},"openai-poisoned-tenant-attack","blog/openai-poisoned-tenant-attack",{"json":8184},{"data":8185,"content":8186,"nodeType":856},{},[8187],{"data":8188,"content":8189,"nodeType":860},{},[8190],{"data":8191,"marks":8192,"value":8193,"nodeType":864},{},[],"Someone created a fake OpenAI organization using our company's name and invited specific Push employees to join it. Here's what we learned. ",{"id":8195,"publishedAt":8196},"gZ98u7GsQBtQWUZAbb9ct","2026-08-12T12:00:42.290Z",{"items":8198},[8199,8201],{"sys":8200,"name":6593},{"id":6592},{"sys":8202,"name":342},{"id":6596},{"items":8204},[8205,8207,8209,8211,8213,8215,8217,8219,8221,8223],{"sys":8206,"name":279,"slug":280,"tier":31},{"id":276},{"sys":8208,"name":413,"slug":414,"tier":31},{"id":410},{"sys":8210,"name":545,"slug":546,"tier":31},{"id":542},{"sys":8212,"name":235,"slug":236,"tier":31},{"id":232},{"sys":8214,"name":607,"slug":608,"tier":45},{"id":604},{"sys":8216,"name":431,"slug":432,"tier":45},{"id":428},{"sys":8218,"name":404,"slug":405,"tier":45},{"id":401},{"sys":8220,"name":580,"slug":581,"tier":45},{"id":577},{"sys":8222,"name":484,"slug":485,"tier":45},{"id":481},{"sys":8224,"name":244,"slug":245,"tier":45},{"id":241},"Onn4BC8-UxOdB3VIa9yf7yNjfejAdGzsCHJaOs85lcM",{"id":8227,"title":8228,"authorsCollection":8229,"content":8233,"extension":228,"faqItemsCollection":9322,"faqTitle":59,"featured":6,"hashTags":59,"meta":9324,"metaTitle":9325,"ogImage":59,"postType":9326,"publishedDate":9327,"relatedBlogPostsCollection":9328,"slug":11234,"stem":11235,"subtitle":11236,"summary":11237,"synopsis":11247,"sys":11248,"tagsCollection":11251,"topicsCollection":11257,"__hash__":11297},"blog/blog/why-you-cant-control-ai-without-being-in-the-browser.json","Why you can't control AI without being in the browser",{"items":8230},[8231],{"fullName":849,"firstName":850,"jobTitle":851,"socialLinks":59,"profilePicture":8232},{"url":853},{"json":8234,"links":9148},{"data":8235,"content":8236,"nodeType":856},{},[8237,8244,8251,8272,8279,8286,8289,8297,8304,8311,8334,8341,8348,8354,8357,8365,8372,8378,8385,8393,8424,8443,8449,8457,8464,8470,8488,8496,8503,8533,8539,8554,8557,8565,8572,8577,8593,8600,8607,8619,8639,8646,8653,8661,8668,8686,8692,8699,8705,8711,8714,8722,8729,8736,8799,8806,8813,8820,8827,8843,8850,8857,8864,8871,8878,8885,8892,8899,8906,8913,8920,8927,8934,8937,8945,8952,8964,8971,8978,8985,8992,9115,9121,9127,9130],{"data":8238,"content":8239,"nodeType":860},{},[8240],{"data":8241,"marks":8242,"value":8243,"nodeType":864},{},[],"When is a fork not a fork? When it's a browser security platform built to solve both problems of the AI era.",{"data":8245,"content":8246,"nodeType":860},{},[8247],{"data":8248,"marks":8249,"value":8250,"nodeType":864},{},[],"Many security leaders are rightly worried about two big problems in the age of AI: AI-enabled attacks targeting their employees via the browser; and employees introducing the risk of data loss through their use of AI tools.",{"data":8252,"content":8253,"nodeType":860},{},[8254,8259,8263,8268],{"data":8255,"marks":8256,"value":8258,"nodeType":864},{},[8257],{"type":899},"For security teams researching browser-based solutions to these challenges, the decision at first looks like a fork in the road: ",{"data":8260,"marks":8261,"value":8262,"nodeType":864},{},[],"Choose a solution that's purpose-built to detect and respond to modern browser-based attacks like AI-enabled phish kits, ClickFix and other *Fix-style attacks, malicious browser extensions, device code phishing, and others; ",{"data":8264,"marks":8265,"value":8267,"nodeType":864},{},[8266],{"type":2246},"or",{"data":8269,"marks":8270,"value":8271,"nodeType":864},{},[]," select an AI governance tool to enforce sensible policies for sensitive data in the browser.",{"data":8273,"content":8274,"nodeType":860},{},[8275],{"data":8276,"marks":8277,"value":8278,"nodeType":864},{},[],"Push solves both of these problems. One platform, one SKU.",{"data":8280,"content":8281,"nodeType":860},{},[8282],{"data":8283,"marks":8284,"value":8285,"nodeType":864},{},[],"In this article, we'll take a look at the two big AI security and data governance problems that security teams are facing and outline how Push solves them in a single solution. We’ll cover what questions to ask as you evaluate browser security solutions, and describe Push's focus on providing foundational telemetry, detections, and controls that allow you to answer the question “What actually happened here?” not just “What policy was violated?”",{"data":8287,"content":8288,"nodeType":1005},{},[],{"data":8290,"content":8291,"nodeType":1009},{},[8292],{"data":8293,"marks":8294,"value":8296,"nodeType":864},{},[8295],{"type":899},"The AI risks every security team is now responsible for",{"data":8298,"content":8299,"nodeType":860},{},[8300],{"data":8301,"marks":8302,"value":8303,"nodeType":864},{},[],"AI is an amplifier, for adversaries and for your employees. Whatever they could do before, they can now do faster, more powerfully, and at scale.",{"data":8305,"content":8306,"nodeType":860},{},[8307],{"data":8308,"marks":8309,"value":8310,"nodeType":864},{},[],"The two risks that every security team now must manage: ",{"data":8312,"content":8313,"nodeType":941},{},[8314,8324],{"data":8315,"content":8316,"nodeType":945},{},[8317],{"data":8318,"content":8319,"nodeType":860},{},[8320],{"data":8321,"marks":8322,"value":8323,"nodeType":864},{},[],"AI is making browser-based attacks faster, cheaper, and harder to detect.",{"data":8325,"content":8326,"nodeType":945},{},[8327],{"data":8328,"content":8329,"nodeType":860},{},[8330],{"data":8331,"marks":8332,"value":8333,"nodeType":864},{},[],"Employee AI adoption is creating data exposure faster than security teams can respond.",{"data":8335,"content":8336,"nodeType":860},{},[8337],{"data":8338,"marks":8339,"value":8340,"nodeType":864},{},[],"Both of these challenges intersect in the same place: The browser. It's the place where adversaries target employees with modern attacks designed to accomplish account takeover and data exfiltration. It's also the place where workers discover and use new AI-enabled apps and introduce risk into the business in the form of data loss, shadow apps, risky browser extensions, and shadow integrations.",{"data":8342,"content":8343,"nodeType":860},{},[8344],{"data":8345,"marks":8346,"value":8347,"nodeType":864},{},[],"To address both problems, security teams need visibility and control in the browser.",{"data":8349,"content":8353,"nodeType":996},{"target":8350},{"sys":8351},{"id":8352,"type":1001,"linkType":1002},"1U2Hmn4XrFpdcxyjxY3aCc",[],{"data":8355,"content":8356,"nodeType":1005},{},[],{"data":8358,"content":8359,"nodeType":1009},{},[8360],{"data":8361,"marks":8362,"value":8364,"nodeType":864},{},[8363],{"type":899},"How AI is transforming attacks",{"data":8366,"content":8367,"nodeType":860},{},[8368],{"data":8369,"marks":8370,"value":8371,"nodeType":864},{},[],"On the adversary side of the equation, adversaries are using AI tooling to rapidly iterate on new attack types or new iterations of existing browser-based TTPs that target employees to achieve account or endpoint compromise — usually with the end goal of harvesting valuable corporate identities in order to exfiltrate data or hold it for ransom.",{"data":8373,"content":8377,"nodeType":996},{"target":8374},{"sys":8375},{"id":8376,"type":1001,"linkType":1002},"G8xv1seFz1wJnY5HpfV6z",[],{"data":8379,"content":8380,"nodeType":860},{},[8381],{"data":8382,"marks":8383,"value":8384,"nodeType":864},{},[],"AI is changing attacks in three key ways.",{"data":8386,"content":8387,"nodeType":1312},{},[8388],{"data":8389,"marks":8390,"value":8392,"nodeType":864},{},[8391],{"type":899},"AI has supercharged the iteration and evolution of adversary tools and techniques",{"data":8394,"content":8395,"nodeType":860},{},[8396,8400,8408,8412,8420],{"data":8397,"marks":8398,"value":8399,"nodeType":864},{},[],"Attackers are using the same AI capabilities as any other engineer who wants to multiply their output. That translates to an array of new attack techniques: multiple increasingly sophisticated variations of the ",{"data":8401,"content":8402,"nodeType":883},{"uri":6075},[8403],{"data":8404,"marks":8405,"value":8407,"nodeType":864},{},[8406],{"type":1455},"ClickFix-style attacks",{"data":8409,"marks":8410,"value":8411,"nodeType":864},{},[]," that use social engineering techniques to get users to unknowingly install malware via malicious scripts; as well as creative ",{"data":8413,"content":8414,"nodeType":883},{"uri":3259},[8415],{"data":8416,"marks":8417,"value":8419,"nodeType":864},{},[8418],{"type":1455},"exploitation of device codes",{"data":8421,"marks":8422,"value":8423,"nodeType":864},{},[],", a legitimate authentication mechanism, that allows attackers to phish access post-authentication.",{"data":8425,"content":8426,"nodeType":860},{},[8427,8431,8439],{"data":8428,"marks":8429,"value":8430,"nodeType":864},{},[],"Device code phishing in particular demonstrates the rapid growth of new techniques, with early documented appearances of the TTP occurring in 2024, and by early the next year, the method had been packaged as a PhaaS offering with GPT-enhanced spear-phishing and customized landing pages. The ",{"data":8432,"content":8434,"nodeType":883},{"uri":8433},"https://www.huntress.com/blog/device-code-phishing-ai-mfa-bypass",[8435],{"data":8436,"marks":8437,"value":8438,"nodeType":864},{},[],"campaign",{"data":8440,"marks":8441,"value":8442,"nodeType":864},{},[]," targeted more than 340 organizations across five countries in March 2026, using personalized AI-generated lures at a scale that would have been impractical to produce manually.",{"data":8444,"content":8448,"nodeType":996},{"target":8445},{"sys":8446},{"id":8447,"type":1001,"linkType":1002},"eNUpU2GtGOcXRrHBKHnLN",[],{"data":8450,"content":8451,"nodeType":1312},{},[8452],{"data":8453,"marks":8454,"value":8456,"nodeType":864},{},[8455],{"type":899},"Infrastructure-based detections are increasingly degraded by AI-enabled approaches",{"data":8458,"content":8459,"nodeType":860},{},[8460],{"data":8461,"marks":8462,"value":8463,"nodeType":864},{},[],"AI has also collapsed the cost and time it takes to build convincing phishing infrastructure: Attackers can vibecode a convincing phishing page in minutes, burn the domain, and regenerate another one before any blocklist updates. ",{"data":8465,"content":8469,"nodeType":996},{"target":8466},{"sys":8467},{"id":8468,"type":1001,"linkType":1002},"2obvOhMWjy64h94tEIbx04",[],{"data":8471,"content":8472,"nodeType":860},{},[8473,8477,8484],{"data":8474,"marks":8475,"value":8476,"nodeType":864},{},[],"The impact on IOC-based detections that rely on infrastructure elements is severe: When elements constantly change, every phishing attack is essentially a zero-day. Complicating the picture further is the increasing use of legitimate cloud platforms like ",{"data":8478,"content":8479,"nodeType":883},{"uri":7591},[8480],{"data":8481,"marks":8482,"value":7596,"nodeType":864},{},[8483],{"type":1455},{"data":8485,"marks":8486,"value":8487,"nodeType":864},{},[],", Cloudflare Workers, and Vercel, which attackers use to host and dynamically rotate attack infrastructure.",{"data":8489,"content":8490,"nodeType":1312},{},[8491],{"data":8492,"marks":8493,"value":8495,"nodeType":864},{},[8494],{"type":899},"AI is making it easier to build and run omni-channel campaigns",{"data":8497,"content":8498,"nodeType":860},{},[8499],{"data":8500,"marks":8501,"value":8502,"nodeType":864},{},[],"Push researchers have written extensively over the last year about malvertising campaigns that serve malicious pages to users via search engine results, enticing them to visit sites designed to steal credentials or deliver malware. ",{"data":8504,"content":8505,"nodeType":860},{},[8506,8510,8519,8523,8529],{"data":8507,"marks":8508,"value":8509,"nodeType":864},{},[],"We've tracked ",{"data":8511,"content":8513,"nodeType":883},{"uri":8512},"https://pushsecurity.com/blog/cyber-criminal-ecosystem-analysis/",[8514],{"data":8515,"marks":8516,"value":8518,"nodeType":864},{},[8517],{"type":1455},"sustained campaigns",{"data":8520,"marks":8521,"value":8522,"nodeType":864},{},[]," impersonating Onfido, TradingView, Ahrefs, Semrush, and others. These campaigns are part of a self-reinforcing criminal ecosystem: Malvertising campaigns paid for by stolen ad accounts, with credential theft that funds the next round of credential theft. And the recent ",{"data":8524,"content":8525,"nodeType":883},{"uri":5327},[8526],{"data":8527,"marks":8528,"value":1555,"nodeType":864},{},[],{"data":8530,"marks":8531,"value":8532,"nodeType":864},{},[]," campaign identified by Push shows how attackers are combining their abuse of AI tools of AI-assisted phishing page creation with malvertising, helping them to spin up lookalike pages quickly and cheaply to serve as convincing lures.",{"data":8534,"content":8538,"nodeType":996},{"target":8535},{"sys":8536},{"id":8537,"type":1001,"linkType":1002},"2Gwj25KBjClQ5u8uiEYuYR",[],{"data":8540,"content":8541,"nodeType":860},{},[8542,8546,8551],{"data":8543,"marks":8544,"value":8545,"nodeType":864},{},[],"These are just a few examples of how phishing has moved beyond the inbox, targeting users through malvertising, SEO poisoning, and social media DMs. Over the last year, Push researchers found that ",{"data":8547,"marks":8548,"value":8550,"nodeType":864},{},[8549],{"type":899},"1 in 3 payloads intercepted by the platform were sent outside of email",{"data":8552,"marks":8553,"value":2924,"nodeType":864},{},[],{"data":8555,"content":8556,"nodeType":1005},{},[],{"data":8558,"content":8559,"nodeType":1009},{},[8560],{"data":8561,"marks":8562,"value":8564,"nodeType":864},{},[8563],{"type":899},"How AI is creating risky employee behaviors ",{"data":8566,"content":8567,"nodeType":860},{},[8568],{"data":8569,"marks":8570,"value":8571,"nodeType":864},{},[],"Meanwhile, on the employee side of the equation, there are three other key concerns that security teams should be paying attention to when it comes to the risks associated with AI use.",{"data":8573,"content":8576,"nodeType":996},{"target":8574},{"sys":8575},{"id":1040,"type":1001,"linkType":1002},[],{"data":8578,"content":8579,"nodeType":1312},{},[8580,8585,8588],{"data":8581,"marks":8582,"value":8584,"nodeType":864},{},[8583],{"type":899},"Data leaving the business via shadow AI",{"data":8586,"marks":8587,"value":1171,"nodeType":864},{},[],{"data":8589,"marks":8590,"value":8592,"nodeType":864},{},[8591],{"type":899},"and AI extensions",{"data":8594,"content":8595,"nodeType":860},{},[8596],{"data":8597,"marks":8598,"value":8599,"nodeType":864},{},[],"Employees are signing up to AI tools directly, beyond the bounds of procurement or security review. That means security teams can't see sensitive data going into LLMs — clipboard pastes of API keys, file uploads to coding assistants, customer data in uploaded spreadsheets, etc.",{"data":8601,"content":8602,"nodeType":860},{},[8603],{"data":8604,"marks":8605,"value":8606,"nodeType":864},{},[],"Most teams also don't have visibility of AI browser extensions, another avenue for data to leave the business. Extensions are also an attack surface in their own right, as previously benign extensions can be compromised by threat actors through account takeover of the extension developer.",{"data":8608,"content":8609,"nodeType":1312},{},[8610,8615],{"data":8611,"marks":8612,"value":8614,"nodeType":864},{},[8613],{"type":899},"Employees using personal accounts on corporate AI app tenants",{"data":8616,"marks":8617,"value":8618,"nodeType":864},{},[]," ",{"data":8620,"content":8621,"nodeType":860},{},[8622,8626,8635],{"data":8623,"marks":8624,"value":8625,"nodeType":864},{},[],"The 2026 ",{"data":8627,"content":8629,"nodeType":883},{"uri":8628},"https://www.verizon.com/business/resources/reports/dbir/",[8630],{"data":8631,"marks":8632,"value":8634,"nodeType":864},{},[8633],{"type":1455},"Verizon DBIR",{"data":8636,"marks":8637,"value":8638,"nodeType":864},{},[]," found that 67% of GenAI users on corporate devices are using non-corporate accounts, and our own data shows that 38% of file uploads to AI tools are made from shadow accounts rather than approved organizational ones.",{"data":8640,"content":8641,"nodeType":860},{},[8642],{"data":8643,"marks":8644,"value":8645,"nodeType":864},{},[],"That means a large number of employees in most organizations are using AI apps with personal accounts, outside of organizational data governance, retention policies, access controls, or basic security oversight. ",{"data":8647,"content":8648,"nodeType":860},{},[8649],{"data":8650,"marks":8651,"value":8652,"nodeType":864},{},[],"The compounding risk is that personal accounts are typically protected by weaker passwords, inconsistent MFA, and credential reuse from other personal services — meaning a compromise of the personal account could give an attacker access to corporate data and tools.",{"data":8654,"content":8655,"nodeType":1312},{},[8656],{"data":8657,"marks":8658,"value":8660,"nodeType":864},{},[8659],{"type":899},"Shadow integrations between AI tools and corporate systems",{"data":8662,"content":8663,"nodeType":860},{},[8664],{"data":8665,"marks":8666,"value":8667,"nodeType":864},{},[],"App-to-app connections accomplished through OAuth are also proliferating faster than most teams can observe and review them. For the average organization, Push sees 17 unique AI app OAuth integrations connected just to Microsoft and Google corporate tenants.",{"data":8669,"content":8670,"nodeType":860},{},[8671,8674,8682],{"data":8672,"marks":8673,"value":2761,"nodeType":864},{},[],{"data":8675,"content":8676,"nodeType":883},{"uri":4103},[8677],{"data":8678,"marks":8679,"value":8681,"nodeType":864},{},[8680],{"type":1455},"recent Vercel breach",{"data":8683,"marks":8684,"value":8685,"nodeType":864},{},[]," illustrates the risks of even a single OAuth connection from a compromised third-party AI SaaS provider. This isn't really a new AI threat so much as a shadow SaaS problem that's accelerating alongside AI adoption, given that AI apps are specifically designed to pull data from one system, analyze it in another, and present it in a third — with MCP connections now creating the same kind of persistent, permissioned access through an authentication protocol (OAuth) that most organizations have no process to review.",{"data":8687,"content":8691,"nodeType":996},{"target":8688},{"sys":8689},{"id":8690,"type":1001,"linkType":1002},"1t2jn4fLxMlH0adMyQqkXk",[],{"data":8693,"content":8694,"nodeType":860},{},[8695],{"data":8696,"marks":8697,"value":8698,"nodeType":864},{},[],"This is the same web of OAuth-connected apps that is being exposed at scale through AI tool integrations. For many organizations, AI tools are now the hub of modern activity that orchestrates and automates across the mesh of cloud apps, which adds a useful perspective on what's changed. ",{"data":8700,"content":8704,"nodeType":996},{"target":8701},{"sys":8702},{"id":8703,"type":1001,"linkType":1002},"6cRnPkGdwWXRWcct6LfMzo",[],{"data":8706,"content":8710,"nodeType":996},{"target":8707},{"sys":8708},{"id":8709,"type":1001,"linkType":1002},"5WQZNpnPETWeys1VqubVW",[],{"data":8712,"content":8713,"nodeType":1005},{},[],{"data":8715,"content":8716,"nodeType":1009},{},[8717],{"data":8718,"marks":8719,"value":8721,"nodeType":864},{},[8720],{"type":899},"What to ask when evaluating browser-based AI visibility and control solutions",{"data":8723,"content":8724,"nodeType":860},{},[8725],{"data":8726,"marks":8727,"value":8728,"nodeType":864},{},[],"When you're evaluating AI visibility and control platforms that operate in the browser, there are two lines of questioning that can be useful to unpack.",{"data":8730,"content":8731,"nodeType":860},{},[8732],{"data":8733,"marks":8734,"value":8735,"nodeType":864},{},[],"The first is the tactical basics: What use cases does the product cover, and how quickly will you see value? In this category, you'll likely be looking for:",{"data":8737,"content":8738,"nodeType":941},{},[8739,8754,8769,8784],{"data":8740,"content":8741,"nodeType":945},{},[8742],{"data":8743,"content":8744,"nodeType":860},{},[8745,8750],{"data":8746,"marks":8747,"value":8749,"nodeType":864},{},[8748],{"type":899},"Depth of visibility:",{"data":8751,"marks":8752,"value":8753,"nodeType":864},{},[]," Can the solution observe both corporate and personal account usage of AI apps? Does the solution work with all major browsers, including emerging AI browsers? Does the solution automatically classify AI apps and automatically discover shadow AI?",{"data":8755,"content":8756,"nodeType":945},{},[8757],{"data":8758,"content":8759,"nodeType":860},{},[8760,8765],{"data":8761,"marks":8762,"value":8764,"nodeType":864},{},[8763],{"type":899},"Granularity of controls:",{"data":8766,"marks":8767,"value":8768,"nodeType":864},{},[]," Does the solution support visibility and control over clipboard interactions, allowing you to identify sensitive data strings like personal access tokens (PATs) or API keys? Does the solution allow you to set multiple enforcement modes (monitor, warn, block) and carve out exceptions for tools, teams and individuals where necessary? ",{"data":8770,"content":8771,"nodeType":945},{},[8772],{"data":8773,"content":8774,"nodeType":860},{},[8775,8780],{"data":8776,"marks":8777,"value":8779,"nodeType":864},{},[8778],{"type":899},"Ease of deployment:",{"data":8781,"marks":8782,"value":8783,"nodeType":864},{},[]," How is the solution deployed? Browser extension-based solutions like Push can be deployed at scale in an hour. Solutions that require an endpoint agent or a complete browser replacement will be a heavier lift.",{"data":8785,"content":8786,"nodeType":945},{},[8787],{"data":8788,"content":8789,"nodeType":860},{},[8790,8795],{"data":8791,"marks":8792,"value":8794,"nodeType":864},{},[8793],{"type":899},"Scope of coverage:",{"data":8796,"marks":8797,"value":8798,"nodeType":864},{},[]," Does the solution only enforce policy around AI usage, or does it also prevent AI-enabled attacks in the browser? ",{"data":8800,"content":8801,"nodeType":860},{},[8802],{"data":8803,"marks":8804,"value":8805,"nodeType":864},{},[],"The second set of questions is more about the underlying architectural choices a product has made, and how those translate into actionable intelligence for security teams — or where there may be blind spots. In this category, you will want to ask:",{"data":8807,"content":8808,"nodeType":1312},{},[8809],{"data":8810,"marks":8811,"value":8812,"nodeType":864},{},[],"Does the tool capture AI interactions that didn’t trigger a policy violation — or only the ones it blocked?",{"data":8814,"content":8815,"nodeType":860},{},[8816],{"data":8817,"marks":8818,"value":8819,"nodeType":864},{},[],"This is the most useful diagnostic if you're focused on understanding the wider security meaning and impact of an AI interaction, not just whether it violated a policy. ",{"data":8821,"content":8822,"nodeType":860},{},[8823],{"data":8824,"marks":8825,"value":8826,"nodeType":864},{},[],"Enforcement-first tools record what they stopped: blocked uploads, attempted usage of unapproved apps, flagged file names, etc. ",{"data":8828,"content":8829,"nodeType":860},{},[8830,8834,8839],{"data":8831,"marks":8832,"value":8833,"nodeType":864},{},[],"That's useful for compliance reporting but incomplete for security investigation, because ",{"data":8835,"marks":8836,"value":8838,"nodeType":864},{},[8837],{"type":899},"the most significant events are often the ones that looked normal at the time",{"data":8840,"marks":8841,"value":8842,"nodeType":864},{},[],": A user whose behavior shifted gradually over weeks before a resignation. An approved AI browser extension that updates its permissions, putting it in risky territory. An OAuth consent grant that was technically permitted but shouldn't have been.",{"data":8844,"content":8845,"nodeType":860},{},[8846],{"data":8847,"marks":8848,"value":8849,"nodeType":864},{},[],"Ask whether the tool can collect user behavior telemetry, file upload and download activity, and AI usage logs for permitted events — not just policy violations — and whether that telemetry can be forwarded to your SIEM. ",{"data":8851,"content":8852,"nodeType":860},{},[8853],{"data":8854,"marks":8855,"value":8856,"nodeType":864},{},[],"One approach gives you an investigation tool. The other gives you compliance alerts without deeper context.",{"data":8858,"content":8859,"nodeType":1312},{},[8860],{"data":8861,"marks":8862,"value":8863,"nodeType":864},{},[],"When an AI agent requests OAuth permissions to access your organization's data, does the tool capture the consent flow — what scopes were requested on which app, which user initiated the consent, and what was the outcome?",{"data":8865,"content":8866,"nodeType":860},{},[8867],{"data":8868,"marks":8869,"value":8870,"nodeType":864},{},[],"Most enforcement-first tools treat OAuth as a binary: approved app or blocked app. That was a reasonable model when OAuth grants were primarily app-to-app integrations managed by IT. It isn't sufficient for agentic AI.",{"data":8872,"content":8873,"nodeType":860},{},[8874],{"data":8875,"marks":8876,"value":8877,"nodeType":864},{},[],"AI agents request OAuth permissions to access organizational data on behalf of users. These are user-initiated consent grants that happen inside browser sessions, often with broad scopes, and frequently without security team awareness. The right tool needs to capture the consent event itself: what permissions were requested, what scopes were granted, who approved them, and what application received them. ",{"data":8879,"content":8880,"nodeType":860},{},[8881],{"data":8882,"marks":8883,"value":8884,"nodeType":864},{},[],"Ask whether the tool monitors OAuth consent flows across authorization servers, whether it can warn or block consent grants in real time based on policy, and whether that coverage extends to AI-enabled apps and MCP connections.",{"data":8886,"content":8887,"nodeType":1312},{},[8888],{"data":8889,"marks":8890,"value":8891,"nodeType":864},{},[],"When a new browser attack technique emerges that no tool has a signature for, how long does it take the platform to detect it — and can you show a specific example?",{"data":8893,"content":8894,"nodeType":860},{},[8895],{"data":8896,"marks":8897,"value":8898,"nodeType":864},{},[],"Attackers are rotating infrastructure in hours and using AI to generate new lures and phishing pages at scale. A detection model built on blocklists, reputation feeds, and known-bad indicators is architecturally behind any novel technique because by the time the indicator appears on a feed, the attacker has already moved on.",{"data":8900,"content":8901,"nodeType":860},{},[8902],{"data":8903,"marks":8904,"value":8905,"nodeType":864},{},[],"Ask vendors to show you a specific detection that fired on a novel technique before the infrastructure appeared on any threat feed.",{"data":8907,"content":8908,"nodeType":1312},{},[8909],{"data":8910,"marks":8911,"value":8912,"nodeType":864},{},[],"What browser telemetry reaches your SIEM — just alerts, or the underlying session data that makes those alerts investigable?",{"data":8914,"content":8915,"nodeType":860},{},[8916],{"data":8917,"marks":8918,"value":8919,"nodeType":864},{},[],"Ask to see a sample SIEM event from a real detection. Many browser security tools integrate with SIEMs, but the depth of what they forward varies a lot. ",{"data":8921,"content":8922,"nodeType":860},{},[8923],{"data":8924,"marks":8925,"value":8926,"nodeType":864},{},[],"Some send alert metadata that captures policy violations, timestamps, and involved users. Others forward a broader set of telemetry for deeper context — credential reuse, app logins, newly installed extensions, detected phishing kits, file uploads, clipboard activity, OAuth consent flows, file downloads, etc. ",{"data":8928,"content":8929,"nodeType":860},{},[8930],{"data":8931,"marks":8932,"value":8933,"nodeType":864},{},[],"The difference determines whether your SOC team can easily correlate signals from the browser-based tool with other layers of their stack and begin an investigation from the SIEM event itself — or whether they need to pivot back into the vendor's console for the actual evidence.",{"data":8935,"content":8936,"nodeType":1005},{},[],{"data":8938,"content":8939,"nodeType":1009},{},[8940],{"data":8941,"marks":8942,"value":8944,"nodeType":864},{},[8943],{"type":899},"AI visibility and control is a feature of the right browser security platform, not a separate purchase",{"data":8946,"content":8947,"nodeType":860},{},[8948],{"data":8949,"marks":8950,"value":8951,"nodeType":864},{},[],"Ultimately, the choice of browser platform for solving the two big problems of the AI era comes down to whether you need broader attack coverage and telemetry context in order to secure your organization, or whether a policy-based approach is enough. ",{"data":8953,"content":8954,"nodeType":860},{},[8955,8959],{"data":8956,"marks":8957,"value":8958,"nodeType":864},{},[],"Push treats the challenges of stopping AI-enabled attacks and providing visibility and control over AI usage as features that extend naturally from the platform's underlying architectural model: Rich browser-layer telemetry in ",{"data":8960,"marks":8961,"value":8963,"nodeType":864},{},[8962],{"type":899},"a single tool that helps security teams answer the question “What actually happened here?” not just “What policy was violated?”",{"data":8965,"content":8966,"nodeType":860},{},[8967],{"data":8968,"marks":8969,"value":8970,"nodeType":864},{},[],"This unified architecture matters because the AI control problem and the browser threat detection problem share a root cause: Security-relevant activity is happening inside browser sessions that most tools can't see. ",{"data":8972,"content":8973,"nodeType":860},{},[8974],{"data":8975,"marks":8976,"value":8977,"nodeType":864},{},[],"A standalone AI governance tool can tell you which AI apps are in use and whether employees violated a usage policy. It can't tell you whether the OAuth grant an AI agent just received was part of a broader pattern that includes credential entry on an unfamiliar domain, a clipboard paste from an internal document, and a login to a shadow SaaS app — all in the same session, all visible in the same telemetry stream. ",{"data":8979,"content":8980,"nodeType":860},{},[8981],{"data":8982,"marks":8983,"value":8984,"nodeType":864},{},[],"Separating AI governance from browser security means maintaining two tools that each only see half the picture. ",{"data":8986,"content":8987,"nodeType":1312},{},[8988],{"data":8989,"marks":8990,"value":8991,"nodeType":864},{},[],"How Push can help",{"data":8993,"content":8994,"nodeType":941},{},[8995,9018,9040,9062,9072,9082,9092],{"data":8996,"content":8997,"nodeType":945},{},[8998],{"data":8999,"content":9000,"nodeType":860},{},[9001,9005,9014],{"data":9002,"marks":9003,"value":9004,"nodeType":864},{},[],"Block emerging ",{"data":9006,"content":9008,"nodeType":883},{"uri":9007},"https://pushsecurity.com/blog/introducing-the-browser-and-identity-attacks-matrix/",[9009],{"data":9010,"marks":9011,"value":9013,"nodeType":864},{},[9012],{"type":1455},"browser-based attack techniques",{"data":9015,"marks":9016,"value":9017,"nodeType":864},{},[],", including AI-enabled phishing and quickly evolving *Fix-style attacks.",{"data":9019,"content":9020,"nodeType":945},{},[9021],{"data":9022,"content":9023,"nodeType":860},{},[9024,9028,9036],{"data":9025,"marks":9026,"value":9027,"nodeType":864},{},[],"Benefit from Push's ",{"data":9029,"content":9030,"nodeType":883},{"uri":7180},[9031],{"data":9032,"marks":9033,"value":9035,"nodeType":864},{},[9034],{"type":1455},"agentic detection pipeline",{"data":9037,"marks":9038,"value":9039,"nodeType":864},{},[],", which continuously hunts across customer environments to identify emerging threats and ship new detections.",{"data":9041,"content":9042,"nodeType":945},{},[9043],{"data":9044,"content":9045,"nodeType":860},{},[9046,9049,9058],{"data":9047,"marks":9048,"value":21,"nodeType":864},{},[],{"data":9050,"content":9052,"nodeType":883},{"uri":9051},"https://pushsecurity.com/help/audience/engineering/rest-v1",[9053],{"data":9054,"marks":9055,"value":9057,"nodeType":864},{},[9056],{"type":1455},"Stream telemetry",{"data":9059,"marks":9060,"value":9061,"nodeType":864},{},[]," to your SIEM for a wide variety of events, including attack detections; newly installed browser extensions or newly adopted apps; updates to extension permissions; file uploads and downloads; clipboard pastes; app logins; credential reuse; OAuth consents; and more.",{"data":9063,"content":9064,"nodeType":945},{},[9065],{"data":9066,"content":9067,"nodeType":860},{},[9068],{"data":9069,"marks":9070,"value":9071,"nodeType":864},{},[],"Block file uploads and downloads.",{"data":9073,"content":9074,"nodeType":945},{},[9075],{"data":9076,"content":9077,"nodeType":860},{},[9078],{"data":9079,"marks":9080,"value":9081,"nodeType":864},{},[],"Block clipboard pastes of sensitive data, with regex-based patterns you can define.",{"data":9083,"content":9084,"nodeType":945},{},[9085],{"data":9086,"content":9087,"nodeType":860},{},[9088],{"data":9089,"marks":9090,"value":9091,"nodeType":864},{},[],"Monitor for or block unauthorized MCP connections.",{"data":9093,"content":9094,"nodeType":945},{},[9095],{"data":9096,"content":9097,"nodeType":860},{},[9098,9102,9111],{"data":9099,"marks":9100,"value":9101,"nodeType":864},{},[],"Write your own ",{"data":9103,"content":9105,"nodeType":883},{"uri":9104},"https://pushsecurity.com/help/audience/engineering/resources/custom-detections",[9106],{"data":9107,"marks":9108,"value":9110,"nodeType":864},{},[9109],{"type":1455},"custom YAML rules",{"data":9112,"marks":9113,"value":9114,"nodeType":864},{},[]," targeting specific elements of the page DOM, web requests and responses, HTTP headers such as cookies, and a lot more.",{"data":9116,"content":9117,"nodeType":860},{},[9118],{"data":9119,"marks":9120,"value":21,"nodeType":864},{},[],{"data":9122,"content":9126,"nodeType":996},{"target":9123},{"sys":9124},{"id":9125,"type":1001,"linkType":1002},"7AwQv7bLbARq6mdAgv7uGq",[],{"data":9128,"content":9129,"nodeType":1005},{},[],{"data":9131,"content":9132,"nodeType":860},{},[9133,9137,9145],{"data":9134,"marks":9135,"value":9136,"nodeType":864},{},[],"If you'd like to learn more about Push, ",{"data":9138,"content":9139,"nodeType":883},{"uri":1700},[9140],{"data":9141,"marks":9142,"value":9144,"nodeType":864},{},[9143],{"type":1455},"book a live demo",{"data":9146,"marks":9147,"value":2924,"nodeType":864},{},[],{"entries":9149},{"hyperlink":9150,"inline":9151,"block":9152},[],[],[9153,9159,9184,9211,9236,9242,9245,9272,9279,9316],{"sys":9154,"__typename":1724,"title":9155,"caption":9155,"layoutMode":59,"file":9156},{"id":8352},"The browser is the natural control point for both AI-enabled attacks targeting employees and AI tool usage that introduces risk into organizations. ",{"url":9157,"width":1736,"height":9158},"https://images.ctfassets.net/y1cdw1ablpvd/3vtPqgrZRuVxkVKw9sGLor/ce1d265590cfc23848e25b03fb3ed5a2/image4.png",1142,{"sys":9160,"__typename":1740,"content":9161,"name":9183,"title":59},{"id":8376},{"json":9162},{"data":9163,"content":9164,"nodeType":856},{},[9165],{"data":9166,"content":9167,"nodeType":860},{},[9168,9172,9180],{"data":9169,"marks":9170,"value":9171,"nodeType":864},{},[],"Learn how AI-enabled attacks are making infrastructure-based detection increasingly ineffective in our ",{"data":9173,"content":9175,"nodeType":883},{"uri":9174},"https://pushsecurity.com/blog/the-pyramid-of-pain-in-the-ai-era/",[9176],{"data":9177,"marks":9178,"value":9179,"nodeType":864},{},[],"update on the Pyramid of Pain concept for 2026",{"data":9181,"marks":9182,"value":2924,"nodeType":864},{},[],"AI Browser Control IB1",{"sys":9185,"__typename":1740,"content":9186,"name":9210,"title":59},{"id":8447},{"json":9187},{"data":9188,"content":9189,"nodeType":856},{},[9190],{"data":9191,"content":9192,"nodeType":860},{},[9193,9197,9206],{"data":9194,"marks":9195,"value":9196,"nodeType":864},{},[],"Nearly every phishing toolkit that Push encounters in the wild today displays the fingerprints of AI use. Check out our ",{"data":9198,"content":9200,"nodeType":883},{"uri":9199},"https://pushsecurity.com/blog/inside-criminal-phishing-panel/",[9201],{"data":9202,"marks":9203,"value":9205,"nodeType":864},{},[9204],{"type":1455},"recent analysis",{"data":9207,"marks":9208,"value":9209,"nodeType":864},{},[]," of Doko's Panel, a real-time vishing and AiTM kit, for a under-the-hood look at this. ","AI Browser Control IB3",{"sys":9212,"__typename":1740,"content":9213,"name":9235,"title":59},{"id":8468},{"json":9214},{"data":9215,"content":9216,"nodeType":856},{},[9217],{"data":9218,"content":9219,"nodeType":860},{},[9220,9223,9231],{"data":9221,"marks":9222,"value":3719,"nodeType":864},{},[],{"data":9224,"content":9225,"nodeType":883},{"uri":3858},[9226],{"data":9227,"marks":9228,"value":9230,"nodeType":864},{},[9229],{"type":1455},"Spamhaus",{"data":9232,"marks":9233,"value":9234,"nodeType":864},{},[],", 89% of phishing domains are active for fewer than two days, with just 6.5% surviving past 15 days. That means that if you're primarily looking at static indicators, you're already behind. IOC-based detections can't keep up with how quickly attackers can rotate infrastructure.","AI Browser Control IB2",{"sys":9237,"__typename":1724,"title":9238,"caption":9239,"layoutMode":59,"file":9240},{"id":8537},"LLMShare example","The recent LLMShare campaign shows how attackers are abusing AI tools, legitimate pages, and malvertising. ",{"url":9241,"width":1736,"height":5709},"https://images.ctfassets.net/y1cdw1ablpvd/7u7yyvyg3P9jepZi7iIwxf/d2c42d257d2e7ac4dfe28c37aa69a4b3/image4.png",{"sys":9243,"__typename":1724,"title":1725,"caption":1726,"layoutMode":59,"file":9244},{"id":1040},{"url":1728,"width":1729,"height":1730},{"sys":9246,"__typename":1740,"content":9247,"name":9271,"title":59},{"id":8690},{"json":9248},{"nodeType":856,"data":9249,"content":9250},{},[9251],{"nodeType":860,"data":9252,"content":9253},{},[9254,9258,9267],{"nodeType":864,"value":9255,"marks":9256,"data":9257},"The Vercel breach isn't an isolated incident. ShinyHunters demonstrated the breadth and scale of ",[],{},{"nodeType":883,"data":9259,"content":9261},{"uri":9260},"https://pushsecurity.com/blog/analyzing-the-instructure-breach/#id-vector-3-oauth-supply-chain-attacks-through-compromised-integrators",[9262],{"nodeType":864,"value":9263,"marks":9264,"data":9266},"OAuth-targeted attacks last year",[9265],{"type":1455},{},{"nodeType":864,"value":9268,"marks":9269,"data":9270},", impacting more than 1,000 organizations in targeted campaigns against Salesloft/Drift. Adversaries compromised Salesloft’s GitHub environment, stole Drift OAuth tokens, and used them to access downstream Salesforce environments. The same pattern was later repeated at Gainsight.",[],{},"AI Browser Control IB5",{"sys":9273,"__typename":1724,"title":9274,"caption":9274,"layoutMode":59,"file":9275},{"id":8703},"AI tools are the hub of the modern workplace. ",{"url":9276,"width":9277,"height":9278},"https://images.ctfassets.net/y1cdw1ablpvd/7mRgALIClC1R2Cmuu7xKse/cdaf8cbb26a54ad75b7d52a8c92b1f84/Group_737.png",6824,4280,{"sys":9280,"__typename":1740,"content":9281,"name":9315,"title":59},{"id":8709},{"json":9282},{"nodeType":856,"data":9283,"content":9284},{},[9285,9297,9304],{"nodeType":860,"data":9286,"content":9287},{},[9288,9293],{"nodeType":864,"value":9289,"marks":9290,"data":9292},"A word on prompt injection: ",[9291],{"type":899},{},{"nodeType":864,"value":9294,"marks":9295,"data":9296},"Prompt injection is a serious and structurally difficult to solve problem, and one AI researchers and the security industry are still working out how to defend against. ",[],{},{"nodeType":860,"data":9298,"content":9299},{},[9300],{"nodeType":864,"value":9301,"marks":9302,"data":9303},"High-impact attacks of this kind are still rare in the wild, but the building blocks are all demonstrated and the attack surface is growing as agentic browsers and in-app AI features proliferate. The threat is evolving quickly and detections are still limited, so it pays to start with the controls that hold up regardless of how attacks evolve. ",[],{},{"nodeType":860,"data":9305,"content":9306},{},[9307,9311],{"nodeType":864,"value":9308,"marks":9309,"data":9310},"This starts with k",[],{},{"nodeType":864,"value":9312,"marks":9313,"data":9314},"nowing which AI browsers, extensions, and assistants employees are using, which SaaS apps have AI features enabled, and what OAuth scopes those AIs have been granted. The blast radius of any successful prompt injection is exactly the data and actions those grants permit, so visibility into AI tooling and AI-connected identity is the foundation that any further defense builds on.",[],{},"AI Browser Control IB4",{"sys":9317,"__typename":9318,"title":9319,"arcadeDemoUrl":9320,"playText":9321},{"id":9125},"ArcadeDemo","Secure AI apps demo","https://demo.arcade.software/ibou7WyNSvBX4uRpK25H?embed","2 mins",{"items":9323},[],{},"Why browser visibility and control is key to AI security","thought-leadership","2026-06-02T00:00:00.000Z",{"items":9329},[9330,9980,10661],{"__typename":2059,"sys":9331,"content":9332,"title":8167,"synopsis":8168,"hashTags":59,"publishedDate":8169,"slug":8170,"tagsCollection":9970,"authorsCollection":9976},{"id":7411},{"json":9333},{"data":9334,"content":9335,"nodeType":856},{},[9336,9351,9356,9362,9368,9371,9378,9393,9408,9414,9419,9425,9430,9436,9443,9449,9464,9489,9494,9499,9506,9512,9527,9551,9576,9582,9587,9594,9600,9610,9616,9648,9653,9686,9717,9722,9725,9732,9738,9743,9749,9755,9760,9766,9772,9794,9797,9804,9810,9817,9823,9829,9845,9851,9856,9862,9869,9875,9890,9896,9911,9914,9921,9927,9933,9939,9942,9948,9954],{"data":9337,"content":9338,"nodeType":860},{},[9339,9342,9348],{"data":9340,"marks":9341,"value":7422,"nodeType":864},{},[],{"data":9343,"content":9344,"nodeType":883},{"uri":7425},[9345],{"data":9346,"marks":9347,"value":7430,"nodeType":864},{},[],{"data":9349,"marks":9350,"value":7434,"nodeType":864},{},[],{"data":9352,"content":9355,"nodeType":996},{"target":9353},{"sys":9354},{"id":7439,"type":1001,"linkType":1002},[],{"data":9357,"content":9358,"nodeType":860},{},[9359],{"data":9360,"marks":9361,"value":7447,"nodeType":864},{},[],{"data":9363,"content":9364,"nodeType":860},{},[9365],{"data":9366,"marks":9367,"value":7454,"nodeType":864},{},[],{"data":9369,"content":9370,"nodeType":1005},{},[],{"data":9372,"content":9373,"nodeType":1009},{},[9374],{"data":9375,"marks":9376,"value":7465,"nodeType":864},{},[9377],{"type":899},{"data":9379,"content":9380,"nodeType":860},{},[9381,9384,9390],{"data":9382,"marks":9383,"value":7472,"nodeType":864},{},[],{"data":9385,"content":9386,"nodeType":883},{"uri":7475},[9387],{"data":9388,"marks":9389,"value":7480,"nodeType":864},{},[],{"data":9391,"marks":9392,"value":7484,"nodeType":864},{},[],{"data":9394,"content":9395,"nodeType":860},{},[9396,9399,9405],{"data":9397,"marks":9398,"value":7491,"nodeType":864},{},[],{"data":9400,"content":9401,"nodeType":883},{"uri":7494},[9402],{"data":9403,"marks":9404,"value":7499,"nodeType":864},{},[],{"data":9406,"marks":9407,"value":7503,"nodeType":864},{},[],{"data":9409,"content":9410,"nodeType":860},{},[9411],{"data":9412,"marks":9413,"value":7510,"nodeType":864},{},[],{"data":9415,"content":9418,"nodeType":996},{"target":9416},{"sys":9417},{"id":7515,"type":1001,"linkType":1002},[],{"data":9420,"content":9421,"nodeType":860},{},[9422],{"data":9423,"marks":9424,"value":7523,"nodeType":864},{},[],{"data":9426,"content":9429,"nodeType":996},{"target":9427},{"sys":9428},{"id":7528,"type":1001,"linkType":1002},[],{"data":9431,"content":9432,"nodeType":860},{},[9433],{"data":9434,"marks":9435,"value":7536,"nodeType":864},{},[],{"data":9437,"content":9438,"nodeType":1312},{},[9439],{"data":9440,"marks":9441,"value":7544,"nodeType":864},{},[9442],{"type":899},{"data":9444,"content":9445,"nodeType":860},{},[9446],{"data":9447,"marks":9448,"value":7551,"nodeType":864},{},[],{"data":9450,"content":9451,"nodeType":860},{},[9452,9455,9461],{"data":9453,"marks":9454,"value":7558,"nodeType":864},{},[],{"data":9456,"content":9457,"nodeType":883},{"uri":7180},[9458],{"data":9459,"marks":9460,"value":7565,"nodeType":864},{},[],{"data":9462,"marks":9463,"value":7569,"nodeType":864},{},[],{"data":9465,"content":9466,"nodeType":860},{},[9467,9470,9477,9480,9486],{"data":9468,"marks":9469,"value":7576,"nodeType":864},{},[],{"data":9471,"content":9472,"nodeType":883},{"uri":5327},[9473],{"data":9474,"marks":9475,"value":7584,"nodeType":864},{},[9476],{"type":1455},{"data":9478,"marks":9479,"value":7588,"nodeType":864},{},[],{"data":9481,"content":9482,"nodeType":883},{"uri":7591},[9483],{"data":9484,"marks":9485,"value":7596,"nodeType":864},{},[],{"data":9487,"marks":9488,"value":7600,"nodeType":864},{},[],{"data":9490,"content":9493,"nodeType":996},{"target":9491},{"sys":9492},{"id":7605,"type":1001,"linkType":1002},[],{"data":9495,"content":9498,"nodeType":996},{"target":9496},{"sys":9497},{"id":7611,"type":1001,"linkType":1002},[],{"data":9500,"content":9501,"nodeType":1312},{},[9502],{"data":9503,"marks":9504,"value":7620,"nodeType":864},{},[9505],{"type":899},{"data":9507,"content":9508,"nodeType":860},{},[9509],{"data":9510,"marks":9511,"value":7627,"nodeType":864},{},[],{"data":9513,"content":9514,"nodeType":860},{},[9515,9518,9524],{"data":9516,"marks":9517,"value":7634,"nodeType":864},{},[],{"data":9519,"content":9520,"nodeType":883},{"uri":6543},[9521],{"data":9522,"marks":9523,"value":7641,"nodeType":864},{},[],{"data":9525,"marks":9526,"value":7645,"nodeType":864},{},[],{"data":9528,"content":9529,"nodeType":860},{},[9530,9533,9539,9542,9548],{"data":9531,"marks":9532,"value":7652,"nodeType":864},{},[],{"data":9534,"content":9535,"nodeType":883},{"uri":7655},[9536],{"data":9537,"marks":9538,"value":7660,"nodeType":864},{},[],{"data":9540,"marks":9541,"value":7664,"nodeType":864},{},[],{"data":9543,"content":9544,"nodeType":883},{"uri":3259},[9545],{"data":9546,"marks":9547,"value":7671,"nodeType":864},{},[],{"data":9549,"marks":9550,"value":7675,"nodeType":864},{},[],{"data":9552,"content":9553,"nodeType":860},{},[9554,9557,9563,9566,9573],{"data":9555,"marks":9556,"value":7682,"nodeType":864},{},[],{"data":9558,"content":9559,"nodeType":883},{"uri":7685},[9560],{"data":9561,"marks":9562,"value":7690,"nodeType":864},{},[],{"data":9564,"marks":9565,"value":7694,"nodeType":864},{},[],{"data":9567,"content":9568,"nodeType":883},{"uri":7697},[9569],{"data":9570,"marks":9571,"value":7703,"nodeType":864},{},[9572],{"type":1455},{"data":9574,"marks":9575,"value":7707,"nodeType":864},{},[],{"data":9577,"content":9578,"nodeType":860},{},[9579],{"data":9580,"marks":9581,"value":7714,"nodeType":864},{},[],{"data":9583,"content":9586,"nodeType":996},{"target":9584},{"sys":9585},{"id":7719,"type":1001,"linkType":1002},[],{"data":9588,"content":9589,"nodeType":1312},{},[9590],{"data":9591,"marks":9592,"value":7728,"nodeType":864},{},[9593],{"type":899},{"data":9595,"content":9596,"nodeType":860},{},[9597],{"data":9598,"marks":9599,"value":7735,"nodeType":864},{},[],{"data":9601,"content":9602,"nodeType":860},{},[9603,9607],{"data":9604,"marks":9605,"value":360,"nodeType":864},{},[9606],{"type":899},{"data":9608,"marks":9609,"value":7746,"nodeType":864},{},[],{"data":9611,"content":9612,"nodeType":860},{},[9613],{"data":9614,"marks":9615,"value":7753,"nodeType":864},{},[],{"data":9617,"content":9618,"nodeType":860},{},[9619,9622,9628,9631,9635,9638,9645],{"data":9620,"marks":9621,"value":7760,"nodeType":864},{},[],{"data":9623,"content":9624,"nodeType":883},{"uri":7763},[9625],{"data":9626,"marks":9627,"value":7768,"nodeType":864},{},[],{"data":9629,"marks":9630,"value":7772,"nodeType":864},{},[],{"data":9632,"marks":9633,"value":7777,"nodeType":864},{},[9634],{"type":899},{"data":9636,"marks":9637,"value":7781,"nodeType":864},{},[],{"data":9639,"content":9640,"nodeType":883},{"uri":4082},[9641],{"data":9642,"marks":9643,"value":7789,"nodeType":864},{},[9644],{"type":1455},{"data":9646,"marks":9647,"value":1774,"nodeType":864},{},[],{"data":9649,"content":9652,"nodeType":996},{"target":9650},{"sys":9651},{"id":7797,"type":1001,"linkType":1002},[],{"data":9654,"content":9655,"nodeType":860},{},[9656,9659,9663,9666,9673,9676,9683],{"data":9657,"marks":9658,"value":7805,"nodeType":864},{},[],{"data":9660,"marks":9661,"value":315,"nodeType":864},{},[9662],{"type":899},{"data":9664,"marks":9665,"value":7813,"nodeType":864},{},[],{"data":9667,"content":9668,"nodeType":883},{"uri":7816},[9669],{"data":9670,"marks":9671,"value":7822,"nodeType":864},{},[9672],{"type":1455},{"data":9674,"marks":9675,"value":7826,"nodeType":864},{},[],{"data":9677,"content":9678,"nodeType":883},{"uri":5971},[9679],{"data":9680,"marks":9681,"value":7834,"nodeType":864},{},[9682],{"type":1455},{"data":9684,"marks":9685,"value":7838,"nodeType":864},{},[],{"data":9687,"content":9688,"nodeType":860},{},[9689,9692,9696,9699,9705,9708,9714],{"data":9690,"marks":9691,"value":7845,"nodeType":864},{},[],{"data":9693,"marks":9694,"value":6041,"nodeType":864},{},[9695],{"type":899},{"data":9697,"marks":9698,"value":7853,"nodeType":864},{},[],{"data":9700,"content":9701,"nodeType":883},{"uri":6036},[9702],{"data":9703,"marks":9704,"value":7860,"nodeType":864},{},[],{"data":9706,"marks":9707,"value":7864,"nodeType":864},{},[],{"data":9709,"content":9710,"nodeType":883},{"uri":6075},[9711],{"data":9712,"marks":9713,"value":7871,"nodeType":864},{},[],{"data":9715,"marks":9716,"value":7875,"nodeType":864},{},[],{"data":9718,"content":9721,"nodeType":996},{"target":9719},{"sys":9720},{"id":7880,"type":1001,"linkType":1002},[],{"data":9723,"content":9724,"nodeType":1005},{},[],{"data":9726,"content":9727,"nodeType":1009},{},[9728],{"data":9729,"marks":9730,"value":7892,"nodeType":864},{},[9731],{"type":899},{"data":9733,"content":9734,"nodeType":860},{},[9735],{"data":9736,"marks":9737,"value":7899,"nodeType":864},{},[],{"data":9739,"content":9742,"nodeType":996},{"target":9740},{"sys":9741},{"id":7904,"type":1001,"linkType":1002},[],{"data":9744,"content":9745,"nodeType":860},{},[9746],{"data":9747,"marks":9748,"value":7912,"nodeType":864},{},[],{"data":9750,"content":9751,"nodeType":860},{},[9752],{"data":9753,"marks":9754,"value":7919,"nodeType":864},{},[],{"data":9756,"content":9759,"nodeType":996},{"target":9757},{"sys":9758},{"id":7924,"type":1001,"linkType":1002},[],{"data":9761,"content":9762,"nodeType":860},{},[9763],{"data":9764,"marks":9765,"value":7932,"nodeType":864},{},[],{"data":9767,"content":9768,"nodeType":860},{},[9769],{"data":9770,"marks":9771,"value":7939,"nodeType":864},{},[],{"data":9773,"content":9774,"nodeType":1116},{},[9775],{"data":9776,"content":9777,"nodeType":860},{},[9778,9781,9787,9790],{"data":9779,"marks":9780,"value":7949,"nodeType":864},{},[],{"data":9782,"content":9783,"nodeType":883},{"uri":7952},[9784],{"data":9785,"marks":9786,"value":7957,"nodeType":864},{},[],{"data":9788,"marks":9789,"value":7961,"nodeType":864},{},[],{"data":9791,"marks":9792,"value":7966,"nodeType":864},{},[9793],{"type":2246},{"data":9795,"content":9796,"nodeType":1005},{},[],{"data":9798,"content":9799,"nodeType":1009},{},[9800],{"data":9801,"marks":9802,"value":7977,"nodeType":864},{},[9803],{"type":899},{"data":9805,"content":9806,"nodeType":860},{},[9807],{"data":9808,"marks":9809,"value":7984,"nodeType":864},{},[],{"data":9811,"content":9812,"nodeType":1312},{},[9813],{"data":9814,"marks":9815,"value":7992,"nodeType":864},{},[9816],{"type":899},{"data":9818,"content":9819,"nodeType":860},{},[9820],{"data":9821,"marks":9822,"value":7999,"nodeType":864},{},[],{"data":9824,"content":9825,"nodeType":860},{},[9826],{"data":9827,"marks":9828,"value":8006,"nodeType":864},{},[],{"data":9830,"content":9831,"nodeType":860},{},[9832,9835,9842],{"data":9833,"marks":9834,"value":8013,"nodeType":864},{},[],{"data":9836,"content":9837,"nodeType":883},{"uri":6543},[9838],{"data":9839,"marks":9840,"value":8021,"nodeType":864},{},[9841],{"type":1455},{"data":9843,"marks":9844,"value":8025,"nodeType":864},{},[],{"data":9846,"content":9847,"nodeType":860},{},[9848],{"data":9849,"marks":9850,"value":8032,"nodeType":864},{},[],{"data":9852,"content":9855,"nodeType":996},{"target":9853},{"sys":9854},{"id":8037,"type":1001,"linkType":1002},[],{"data":9857,"content":9858,"nodeType":860},{},[9859],{"data":9860,"marks":9861,"value":8045,"nodeType":864},{},[],{"data":9863,"content":9864,"nodeType":1312},{},[9865],{"data":9866,"marks":9867,"value":8053,"nodeType":864},{},[9868],{"type":899},{"data":9870,"content":9871,"nodeType":860},{},[9872],{"data":9873,"marks":9874,"value":8060,"nodeType":864},{},[],{"data":9876,"content":9877,"nodeType":860},{},[9878,9881,9887],{"data":9879,"marks":9880,"value":8067,"nodeType":864},{},[],{"data":9882,"content":9883,"nodeType":883},{"uri":7180},[9884],{"data":9885,"marks":9886,"value":7185,"nodeType":864},{},[],{"data":9888,"marks":9889,"value":8077,"nodeType":864},{},[],{"data":9891,"content":9892,"nodeType":860},{},[9893],{"data":9894,"marks":9895,"value":8084,"nodeType":864},{},[],{"data":9897,"content":9898,"nodeType":860},{},[9899,9902,9908],{"data":9900,"marks":9901,"value":8091,"nodeType":864},{},[],{"data":9903,"content":9904,"nodeType":883},{"uri":6024},[9905],{"data":9906,"marks":9907,"value":8098,"nodeType":864},{},[],{"data":9909,"marks":9910,"value":8102,"nodeType":864},{},[],{"data":9912,"content":9913,"nodeType":1005},{},[],{"data":9915,"content":9916,"nodeType":1009},{},[9917],{"data":9918,"marks":9919,"value":8113,"nodeType":864},{},[9920],{"type":899},{"data":9922,"content":9923,"nodeType":860},{},[9924],{"data":9925,"marks":9926,"value":8120,"nodeType":864},{},[],{"data":9928,"content":9929,"nodeType":860},{},[9930],{"data":9931,"marks":9932,"value":8127,"nodeType":864},{},[],{"data":9934,"content":9935,"nodeType":860},{},[9936],{"data":9937,"marks":9938,"value":8134,"nodeType":864},{},[],{"data":9940,"content":9941,"nodeType":1005},{},[],{"data":9943,"content":9944,"nodeType":860},{},[9945],{"data":9946,"marks":9947,"value":1682,"nodeType":864},{},[],{"data":9949,"content":9950,"nodeType":860},{},[9951],{"data":9952,"marks":9953,"value":1689,"nodeType":864},{},[],{"data":9955,"content":9956,"nodeType":860},{},[9957,9960,9967],{"data":9958,"marks":9959,"value":21,"nodeType":864},{},[],{"data":9961,"content":9962,"nodeType":883},{"uri":1700},[9963],{"data":9964,"marks":9965,"value":8163,"nodeType":864},{},[9966],{"type":1455},{"data":9968,"marks":9969,"value":2719,"nodeType":864},{},[],{"items":9971},[9972,9974],{"sys":9973,"name":342},{"id":6596},{"sys":9975,"name":6593},{"id":6592},{"items":9977},[9978],{"fullName":2736,"firstName":2737,"jobTitle":2738,"profilePicture":9979},{"url":2740},{"__typename":2059,"sys":9981,"content":9982,"title":7391,"synopsis":7392,"hashTags":59,"publishedDate":7393,"slug":7394,"tagsCollection":10651,"authorsCollection":10657},{"id":6603},{"json":9983},{"data":9984,"content":9985,"nodeType":856},{},[9986,9992,9998,10022,10028,10033,10038,10048,10051,10058,10071,10077,10082,10088,10094,10099,10102,10109,10115,10120,10125,10131,10137,10152,10157,10160,10167,10182,10187,10193,10196,10203,10209,10215,10220,10225,10259,10265,10268,10275,10281,10287,10320,10326,10350,10356,10389,10395,10398,10405,10420,10426,10433,10446,10452,10467,10473,10476,10482,10488,10504,10507,10514,10529,10535,10645],{"data":9987,"content":9988,"nodeType":860},{},[9989],{"data":9990,"marks":9991,"value":6614,"nodeType":864},{},[],{"data":9993,"content":9994,"nodeType":860},{},[9995],{"data":9996,"marks":9997,"value":6621,"nodeType":864},{},[],{"data":9999,"content":10000,"nodeType":860},{},[10001,10004,10010,10013,10019],{"data":10002,"marks":10003,"value":6628,"nodeType":864},{},[],{"data":10005,"content":10006,"nodeType":883},{"uri":6631},[10007],{"data":10008,"marks":10009,"value":6636,"nodeType":864},{},[],{"data":10011,"marks":10012,"value":6640,"nodeType":864},{},[],{"data":10014,"content":10015,"nodeType":883},{"uri":6643},[10016],{"data":10017,"marks":10018,"value":6648,"nodeType":864},{},[],{"data":10020,"marks":10021,"value":6652,"nodeType":864},{},[],{"data":10023,"content":10024,"nodeType":860},{},[10025],{"data":10026,"marks":10027,"value":6659,"nodeType":864},{},[],{"data":10029,"content":10032,"nodeType":996},{"target":10030},{"sys":10031},{"id":6664,"type":1001,"linkType":1002},[],{"data":10034,"content":10037,"nodeType":996},{"target":10035},{"sys":10036},{"id":6670,"type":1001,"linkType":1002},[],{"data":10039,"content":10040,"nodeType":860},{},[10041,10045],{"data":10042,"marks":10043,"value":6679,"nodeType":864},{},[10044],{"type":899},{"data":10046,"marks":10047,"value":6683,"nodeType":864},{},[],{"data":10049,"content":10050,"nodeType":1005},{},[],{"data":10052,"content":10053,"nodeType":1009},{},[10054],{"data":10055,"marks":10056,"value":6694,"nodeType":864},{},[10057],{"type":899},{"data":10059,"content":10060,"nodeType":860},{},[10061,10064,10068],{"data":10062,"marks":10063,"value":6701,"nodeType":864},{},[],{"data":10065,"marks":10066,"value":6706,"nodeType":864},{},[10067],{"type":2246},{"data":10069,"marks":10070,"value":6710,"nodeType":864},{},[],{"data":10072,"content":10073,"nodeType":860},{},[10074],{"data":10075,"marks":10076,"value":6717,"nodeType":864},{},[],{"data":10078,"content":10081,"nodeType":996},{"target":10079},{"sys":10080},{"id":6722,"type":1001,"linkType":1002},[],{"data":10083,"content":10084,"nodeType":860},{},[10085],{"data":10086,"marks":10087,"value":6730,"nodeType":864},{},[],{"data":10089,"content":10090,"nodeType":860},{},[10091],{"data":10092,"marks":10093,"value":6737,"nodeType":864},{},[],{"data":10095,"content":10098,"nodeType":996},{"target":10096},{"sys":10097},{"id":6742,"type":1001,"linkType":1002},[],{"data":10100,"content":10101,"nodeType":1005},{},[],{"data":10103,"content":10104,"nodeType":1009},{},[10105],{"data":10106,"marks":10107,"value":6754,"nodeType":864},{},[10108],{"type":899},{"data":10110,"content":10111,"nodeType":860},{},[10112],{"data":10113,"marks":10114,"value":6761,"nodeType":864},{},[],{"data":10116,"content":10119,"nodeType":996},{"target":10117},{"sys":10118},{"id":6766,"type":1001,"linkType":1002},[],{"data":10121,"content":10124,"nodeType":996},{"target":10122},{"sys":10123},{"id":6772,"type":1001,"linkType":1002},[],{"data":10126,"content":10127,"nodeType":860},{},[10128],{"data":10129,"marks":10130,"value":6780,"nodeType":864},{},[],{"data":10132,"content":10133,"nodeType":860},{},[10134],{"data":10135,"marks":10136,"value":6787,"nodeType":864},{},[],{"data":10138,"content":10139,"nodeType":860},{},[10140,10143,10149],{"data":10141,"marks":10142,"value":6794,"nodeType":864},{},[],{"data":10144,"content":10145,"nodeType":883},{"uri":6797},[10146],{"data":10147,"marks":10148,"value":6802,"nodeType":864},{},[],{"data":10150,"marks":10151,"value":2924,"nodeType":864},{},[],{"data":10153,"content":10156,"nodeType":996},{"target":10154},{"sys":10155},{"id":6810,"type":1001,"linkType":1002},[],{"data":10158,"content":10159,"nodeType":1005},{},[],{"data":10161,"content":10162,"nodeType":1009},{},[10163],{"data":10164,"marks":10165,"value":6822,"nodeType":864},{},[10166],{"type":899},{"data":10168,"content":10169,"nodeType":860},{},[10170,10173,10179],{"data":10171,"marks":10172,"value":6829,"nodeType":864},{},[],{"data":10174,"content":10175,"nodeType":883},{"uri":6631},[10176],{"data":10177,"marks":10178,"value":6836,"nodeType":864},{},[],{"data":10180,"marks":10181,"value":6840,"nodeType":864},{},[],{"data":10183,"content":10186,"nodeType":996},{"target":10184},{"sys":10185},{"id":6845,"type":1001,"linkType":1002},[],{"data":10188,"content":10189,"nodeType":860},{},[10190],{"data":10191,"marks":10192,"value":6853,"nodeType":864},{},[],{"data":10194,"content":10195,"nodeType":1005},{},[],{"data":10197,"content":10198,"nodeType":1009},{},[10199],{"data":10200,"marks":10201,"value":6864,"nodeType":864},{},[10202],{"type":899},{"data":10204,"content":10205,"nodeType":860},{},[10206],{"data":10207,"marks":10208,"value":6871,"nodeType":864},{},[],{"data":10210,"content":10211,"nodeType":860},{},[10212],{"data":10213,"marks":10214,"value":6878,"nodeType":864},{},[],{"data":10216,"content":10219,"nodeType":996},{"target":10217},{"sys":10218},{"id":6883,"type":1001,"linkType":1002},[],{"data":10221,"content":10224,"nodeType":996},{"target":10222},{"sys":10223},{"id":6889,"type":1001,"linkType":1002},[],{"data":10226,"content":10227,"nodeType":860},{},[10228,10231,10237,10240,10246,10249,10256],{"data":10229,"marks":10230,"value":6897,"nodeType":864},{},[],{"data":10232,"content":10233,"nodeType":883},{"uri":6900},[10234],{"data":10235,"marks":10236,"value":6905,"nodeType":864},{},[],{"data":10238,"marks":10239,"value":6909,"nodeType":864},{},[],{"data":10241,"content":10242,"nodeType":883},{"uri":6912},[10243],{"data":10244,"marks":10245,"value":6917,"nodeType":864},{},[],{"data":10247,"marks":10248,"value":902,"nodeType":864},{},[],{"data":10250,"content":10251,"nodeType":883},{"uri":6923},[10252],{"data":10253,"marks":10254,"value":6929,"nodeType":864},{},[10255],{"type":1455},{"data":10257,"marks":10258,"value":6933,"nodeType":864},{},[],{"data":10260,"content":10261,"nodeType":860},{},[10262],{"data":10263,"marks":10264,"value":6940,"nodeType":864},{},[],{"data":10266,"content":10267,"nodeType":1005},{},[],{"data":10269,"content":10270,"nodeType":1009},{},[10271],{"data":10272,"marks":10273,"value":6951,"nodeType":864},{},[10274],{"type":899},{"data":10276,"content":10277,"nodeType":860},{},[10278],{"data":10279,"marks":10280,"value":6958,"nodeType":864},{},[],{"data":10282,"content":10283,"nodeType":1312},{},[10284],{"data":10285,"marks":10286,"value":6965,"nodeType":864},{},[],{"data":10288,"content":10289,"nodeType":860},{},[10290,10293,10299,10302,10308,10311,10317],{"data":10291,"marks":10292,"value":6972,"nodeType":864},{},[],{"data":10294,"content":10295,"nodeType":883},{"uri":6975},[10296],{"data":10297,"marks":10298,"value":6980,"nodeType":864},{},[],{"data":10300,"marks":10301,"value":6984,"nodeType":864},{},[],{"data":10303,"content":10304,"nodeType":883},{"uri":6987},[10305],{"data":10306,"marks":10307,"value":6992,"nodeType":864},{},[],{"data":10309,"marks":10310,"value":6996,"nodeType":864},{},[],{"data":10312,"content":10313,"nodeType":883},{"uri":6999},[10314],{"data":10315,"marks":10316,"value":7004,"nodeType":864},{},[],{"data":10318,"marks":10319,"value":7008,"nodeType":864},{},[],{"data":10321,"content":10322,"nodeType":1312},{},[10323],{"data":10324,"marks":10325,"value":7015,"nodeType":864},{},[],{"data":10327,"content":10328,"nodeType":860},{},[10329,10332,10338,10341,10347],{"data":10330,"marks":10331,"value":7022,"nodeType":864},{},[],{"data":10333,"content":10334,"nodeType":883},{"uri":7025},[10335],{"data":10336,"marks":10337,"value":7030,"nodeType":864},{},[],{"data":10339,"marks":10340,"value":7034,"nodeType":864},{},[],{"data":10342,"content":10343,"nodeType":883},{"uri":7037},[10344],{"data":10345,"marks":10346,"value":7042,"nodeType":864},{},[],{"data":10348,"marks":10349,"value":7046,"nodeType":864},{},[],{"data":10351,"content":10352,"nodeType":1312},{},[10353],{"data":10354,"marks":10355,"value":7053,"nodeType":864},{},[],{"data":10357,"content":10358,"nodeType":860},{},[10359,10362,10368,10371,10377,10380,10386],{"data":10360,"marks":10361,"value":7060,"nodeType":864},{},[],{"data":10363,"content":10364,"nodeType":883},{"uri":7063},[10365],{"data":10366,"marks":10367,"value":7068,"nodeType":864},{},[],{"data":10369,"marks":10370,"value":7072,"nodeType":864},{},[],{"data":10372,"content":10373,"nodeType":883},{"uri":7075},[10374],{"data":10375,"marks":10376,"value":7080,"nodeType":864},{},[],{"data":10378,"marks":10379,"value":7084,"nodeType":864},{},[],{"data":10381,"content":10382,"nodeType":883},{"uri":7087},[10383],{"data":10384,"marks":10385,"value":7092,"nodeType":864},{},[],{"data":10387,"marks":10388,"value":7096,"nodeType":864},{},[],{"data":10390,"content":10391,"nodeType":860},{},[10392],{"data":10393,"marks":10394,"value":7103,"nodeType":864},{},[],{"data":10396,"content":10397,"nodeType":1005},{},[],{"data":10399,"content":10400,"nodeType":1009},{},[10401],{"data":10402,"marks":10403,"value":7114,"nodeType":864},{},[10404],{"type":899},{"data":10406,"content":10407,"nodeType":860},{},[10408,10411,10417],{"data":10409,"marks":10410,"value":7121,"nodeType":864},{},[],{"data":10412,"content":10413,"nodeType":883},{"uri":7124},[10414],{"data":10415,"marks":10416,"value":7129,"nodeType":864},{},[],{"data":10418,"marks":10419,"value":7133,"nodeType":864},{},[],{"data":10421,"content":10422,"nodeType":860},{},[10423],{"data":10424,"marks":10425,"value":7140,"nodeType":864},{},[],{"data":10427,"content":10428,"nodeType":1312},{},[10429],{"data":10430,"marks":10431,"value":7148,"nodeType":864},{},[10432],{"type":899},{"data":10434,"content":10435,"nodeType":860},{},[10436,10439,10443],{"data":10437,"marks":10438,"value":7155,"nodeType":864},{},[],{"data":10440,"marks":10441,"value":1555,"nodeType":864},{},[10442],{"type":899},{"data":10444,"marks":10445,"value":7163,"nodeType":864},{},[],{"data":10447,"content":10448,"nodeType":860},{},[10449],{"data":10450,"marks":10451,"value":7170,"nodeType":864},{},[],{"data":10453,"content":10454,"nodeType":860},{},[10455,10458,10464],{"data":10456,"marks":10457,"value":7177,"nodeType":864},{},[],{"data":10459,"content":10460,"nodeType":883},{"uri":7180},[10461],{"data":10462,"marks":10463,"value":7185,"nodeType":864},{},[],{"data":10465,"marks":10466,"value":7189,"nodeType":864},{},[],{"data":10468,"content":10469,"nodeType":860},{},[10470],{"data":10471,"marks":10472,"value":7196,"nodeType":864},{},[],{"data":10474,"content":10475,"nodeType":1005},{},[],{"data":10477,"content":10478,"nodeType":860},{},[10479],{"data":10480,"marks":10481,"value":1682,"nodeType":864},{},[],{"data":10483,"content":10484,"nodeType":860},{},[10485],{"data":10486,"marks":10487,"value":1689,"nodeType":864},{},[],{"data":10489,"content":10490,"nodeType":860},{},[10491,10494,10501],{"data":10492,"marks":10493,"value":21,"nodeType":864},{},[],{"data":10495,"content":10496,"nodeType":883},{"uri":5642},[10497],{"data":10498,"marks":10499,"value":1703,"nodeType":864},{},[10500],{"type":1455},{"data":10502,"marks":10503,"value":21,"nodeType":864},{},[],{"data":10505,"content":10506,"nodeType":1005},{},[],{"data":10508,"content":10509,"nodeType":1009},{},[10510],{"data":10511,"marks":10512,"value":7238,"nodeType":864},{},[10513],{"type":899},{"data":10515,"content":10516,"nodeType":860},{},[10517,10520,10526],{"data":10518,"marks":10519,"value":7245,"nodeType":864},{},[],{"data":10521,"content":10522,"nodeType":883},{"uri":7248},[10523],{"data":10524,"marks":10525,"value":7253,"nodeType":864},{},[],{"data":10527,"marks":10528,"value":7257,"nodeType":864},{},[],{"data":10530,"content":10531,"nodeType":860},{},[10532],{"data":10533,"marks":10534,"value":7264,"nodeType":864},{},[],{"data":10536,"content":10537,"nodeType":4845},{},[10538,10561,10582,10603,10624],{"data":10539,"content":10540,"nodeType":4581},{},[10541,10551],{"data":10542,"content":10543,"nodeType":7282},{},[10544],{"data":10545,"content":10546,"nodeType":860},{},[10547],{"data":10548,"marks":10549,"value":7281,"nodeType":864},{},[10550],{"type":899},{"data":10552,"content":10553,"nodeType":7282},{},[10554],{"data":10555,"content":10556,"nodeType":860},{},[10557],{"data":10558,"marks":10559,"value":7293,"nodeType":864},{},[10560],{"type":899},{"data":10562,"content":10563,"nodeType":4581},{},[10564,10573],{"data":10565,"content":10566,"nodeType":4569},{},[10567],{"data":10568,"content":10569,"nodeType":860},{},[10570],{"data":10571,"marks":10572,"value":7306,"nodeType":864},{},[],{"data":10574,"content":10575,"nodeType":4569},{},[10576],{"data":10577,"content":10578,"nodeType":860},{},[10579],{"data":10580,"marks":10581,"value":7316,"nodeType":864},{},[],{"data":10583,"content":10584,"nodeType":4581},{},[10585,10594],{"data":10586,"content":10587,"nodeType":4569},{},[10588],{"data":10589,"content":10590,"nodeType":860},{},[10591],{"data":10592,"marks":10593,"value":7329,"nodeType":864},{},[],{"data":10595,"content":10596,"nodeType":4569},{},[10597],{"data":10598,"content":10599,"nodeType":860},{},[10600],{"data":10601,"marks":10602,"value":7316,"nodeType":864},{},[],{"data":10604,"content":10605,"nodeType":4581},{},[10606,10615],{"data":10607,"content":10608,"nodeType":4569},{},[10609],{"data":10610,"content":10611,"nodeType":860},{},[10612],{"data":10613,"marks":10614,"value":7351,"nodeType":864},{},[],{"data":10616,"content":10617,"nodeType":4569},{},[10618],{"data":10619,"content":10620,"nodeType":860},{},[10621],{"data":10622,"marks":10623,"value":7361,"nodeType":864},{},[],{"data":10625,"content":10626,"nodeType":4581},{},[10627,10636],{"data":10628,"content":10629,"nodeType":4569},{},[10630],{"data":10631,"content":10632,"nodeType":860},{},[10633],{"data":10634,"marks":10635,"value":7374,"nodeType":864},{},[],{"data":10637,"content":10638,"nodeType":4569},{},[10639],{"data":10640,"content":10641,"nodeType":860},{},[10642],{"data":10643,"marks":10644,"value":7384,"nodeType":864},{},[],{"data":10646,"content":10647,"nodeType":860},{},[10648],{"data":10649,"marks":10650,"value":21,"nodeType":864},{},[],{"items":10652},[10653,10655],{"sys":10654,"name":6593},{"id":6592},{"sys":10656,"name":342},{"id":6596},{"items":10658},[10659],{"fullName":7404,"firstName":7405,"jobTitle":7406,"profilePicture":10660},{"url":7408},{"__typename":2059,"sys":10662,"content":10663,"title":2720,"synopsis":2721,"hashTags":59,"publishedDate":2722,"slug":2723,"tagsCollection":11224,"authorsCollection":11230},{"id":2061},{"json":10664},{"data":10665,"content":10666,"nodeType":856},{},[10667,10673,10679,10685,10690,10693,10700,10706,10735,10741,10765,10770,10773,10780,10786,10793,10827,10832,10838,10843,10846,10853,10859,10866,10872,10878,10891,10898,10918,10924,10929,10935,10942,10955,10977,10982,10997,11002,11009,11015,11035,11041,11047,11053,11058,11061,11068,11074,11080,11095,11102,11108,11115,11134,11144,11149,11152,11159,11165,11171,11177,11193,11196,11202,11208],{"data":10668,"content":10669,"nodeType":860},{},[10670],{"data":10671,"marks":10672,"value":2072,"nodeType":864},{},[],{"data":10674,"content":10675,"nodeType":860},{},[10676],{"data":10677,"marks":10678,"value":2079,"nodeType":864},{},[],{"data":10680,"content":10681,"nodeType":860},{},[10682],{"data":10683,"marks":10684,"value":2086,"nodeType":864},{},[],{"data":10686,"content":10689,"nodeType":996},{"target":10687},{"sys":10688},{"id":2091,"type":1001,"linkType":1002},[],{"data":10691,"content":10692,"nodeType":1005},{},[],{"data":10694,"content":10695,"nodeType":1009},{},[10696],{"data":10697,"marks":10698,"value":2103,"nodeType":864},{},[10699],{"type":899},{"data":10701,"content":10702,"nodeType":860},{},[10703],{"data":10704,"marks":10705,"value":2110,"nodeType":864},{},[],{"data":10707,"content":10708,"nodeType":941},{},[10709,10722],{"data":10710,"content":10711,"nodeType":945},{},[10712],{"data":10713,"content":10714,"nodeType":860},{},[10715,10719],{"data":10716,"marks":10717,"value":2124,"nodeType":864},{},[10718],{"type":899},{"data":10720,"marks":10721,"value":2128,"nodeType":864},{},[],{"data":10723,"content":10724,"nodeType":945},{},[10725],{"data":10726,"content":10727,"nodeType":860},{},[10728,10732],{"data":10729,"marks":10730,"value":2139,"nodeType":864},{},[10731],{"type":899},{"data":10733,"marks":10734,"value":2143,"nodeType":864},{},[],{"data":10736,"content":10737,"nodeType":860},{},[10738],{"data":10739,"marks":10740,"value":2150,"nodeType":864},{},[],{"data":10742,"content":10743,"nodeType":860},{},[10744,10747,10753,10756,10762],{"data":10745,"marks":10746,"value":2157,"nodeType":864},{},[],{"data":10748,"content":10749,"nodeType":883},{"uri":1543},[10750],{"data":10751,"marks":10752,"value":1758,"nodeType":864},{},[],{"data":10754,"marks":10755,"value":1762,"nodeType":864},{},[],{"data":10757,"content":10758,"nodeType":883},{"uri":1765},[10759],{"data":10760,"marks":10761,"value":1770,"nodeType":864},{},[],{"data":10763,"marks":10764,"value":1774,"nodeType":864},{},[],{"data":10766,"content":10769,"nodeType":996},{"target":10767},{"sys":10768},{"id":2180,"type":1001,"linkType":1002},[],{"data":10771,"content":10772,"nodeType":1005},{},[],{"data":10774,"content":10775,"nodeType":1009},{},[10776],{"data":10777,"marks":10778,"value":2192,"nodeType":864},{},[10779],{"type":899},{"data":10781,"content":10782,"nodeType":860},{},[10783],{"data":10784,"marks":10785,"value":2199,"nodeType":864},{},[],{"data":10787,"content":10788,"nodeType":860},{},[10789],{"data":10790,"marks":10791,"value":2207,"nodeType":864},{},[10792],{"type":899},{"data":10794,"content":10795,"nodeType":860},{},[10796,10799,10803,10806,10810,10813,10817,10820,10824],{"data":10797,"marks":10798,"value":2214,"nodeType":864},{},[],{"data":10800,"marks":10801,"value":2219,"nodeType":864},{},[10802],{"type":899},{"data":10804,"marks":10805,"value":2223,"nodeType":864},{},[],{"data":10807,"marks":10808,"value":2228,"nodeType":864},{},[10809],{"type":899},{"data":10811,"marks":10812,"value":2232,"nodeType":864},{},[],{"data":10814,"marks":10815,"value":2237,"nodeType":864},{},[10816],{"type":899},{"data":10818,"marks":10819,"value":2241,"nodeType":864},{},[],{"data":10821,"marks":10822,"value":2247,"nodeType":864},{},[10823],{"type":2246},{"data":10825,"marks":10826,"value":2251,"nodeType":864},{},[],{"data":10828,"content":10831,"nodeType":996},{"target":10829},{"sys":10830},{"id":2256,"type":1001,"linkType":1002},[],{"data":10833,"content":10834,"nodeType":860},{},[10835],{"data":10836,"marks":10837,"value":2264,"nodeType":864},{},[],{"data":10839,"content":10842,"nodeType":996},{"target":10840},{"sys":10841},{"id":1040,"type":1001,"linkType":1002},[],{"data":10844,"content":10845,"nodeType":1005},{},[],{"data":10847,"content":10848,"nodeType":1009},{},[10849],{"data":10850,"marks":10851,"value":2280,"nodeType":864},{},[10852],{"type":899},{"data":10854,"content":10855,"nodeType":860},{},[10856],{"data":10857,"marks":10858,"value":2287,"nodeType":864},{},[],{"data":10860,"content":10861,"nodeType":1312},{},[10862],{"data":10863,"marks":10864,"value":2295,"nodeType":864},{},[10865],{"type":899},{"data":10867,"content":10868,"nodeType":860},{},[10869],{"data":10870,"marks":10871,"value":2302,"nodeType":864},{},[],{"data":10873,"content":10874,"nodeType":860},{},[10875],{"data":10876,"marks":10877,"value":2309,"nodeType":864},{},[],{"data":10879,"content":10880,"nodeType":860},{},[10881,10884,10888],{"data":10882,"marks":10883,"value":2316,"nodeType":864},{},[],{"data":10885,"marks":10886,"value":2321,"nodeType":864},{},[10887],{"type":899},{"data":10889,"marks":10890,"value":2325,"nodeType":864},{},[],{"data":10892,"content":10893,"nodeType":1312},{},[10894],{"data":10895,"marks":10896,"value":2333,"nodeType":864},{},[10897],{"type":899},{"data":10899,"content":10900,"nodeType":860},{},[10901,10904,10908,10911,10915],{"data":10902,"marks":10903,"value":2340,"nodeType":864},{},[],{"data":10905,"marks":10906,"value":2345,"nodeType":864},{},[10907],{"type":899},{"data":10909,"marks":10910,"value":2349,"nodeType":864},{},[],{"data":10912,"marks":10913,"value":2354,"nodeType":864},{},[10914],{"type":899},{"data":10916,"marks":10917,"value":2358,"nodeType":864},{},[],{"data":10919,"content":10920,"nodeType":860},{},[10921],{"data":10922,"marks":10923,"value":2365,"nodeType":864},{},[],{"data":10925,"content":10928,"nodeType":996},{"target":10926},{"sys":10927},{"id":2370,"type":1001,"linkType":1002},[],{"data":10930,"content":10931,"nodeType":860},{},[10932],{"data":10933,"marks":10934,"value":2378,"nodeType":864},{},[],{"data":10936,"content":10937,"nodeType":1312},{},[10938],{"data":10939,"marks":10940,"value":2386,"nodeType":864},{},[10941],{"type":899},{"data":10943,"content":10944,"nodeType":860},{},[10945,10948,10952],{"data":10946,"marks":10947,"value":2393,"nodeType":864},{},[],{"data":10949,"marks":10950,"value":2228,"nodeType":864},{},[10951],{"type":899},{"data":10953,"marks":10954,"value":2401,"nodeType":864},{},[],{"data":10956,"content":10957,"nodeType":860},{},[10958,10961,10967,10970,10974],{"data":10959,"marks":10960,"value":2408,"nodeType":864},{},[],{"data":10962,"content":10963,"nodeType":883},{"uri":2411},[10964],{"data":10965,"marks":10966,"value":2416,"nodeType":864},{},[],{"data":10968,"marks":10969,"value":2420,"nodeType":864},{},[],{"data":10971,"marks":10972,"value":2425,"nodeType":864},{},[10973],{"type":899},{"data":10975,"marks":10976,"value":2429,"nodeType":864},{},[],{"data":10978,"content":10981,"nodeType":996},{"target":10979},{"sys":10980},{"id":2434,"type":1001,"linkType":1002},[],{"data":10983,"content":10984,"nodeType":860},{},[10985,10988,10994],{"data":10986,"marks":10987,"value":2442,"nodeType":864},{},[],{"data":10989,"content":10990,"nodeType":883},{"uri":2411},[10991],{"data":10992,"marks":10993,"value":2449,"nodeType":864},{},[],{"data":10995,"marks":10996,"value":2453,"nodeType":864},{},[],{"data":10998,"content":11001,"nodeType":996},{"target":10999},{"sys":11000},{"id":2458,"type":1001,"linkType":1002},[],{"data":11003,"content":11004,"nodeType":1312},{},[11005],{"data":11006,"marks":11007,"value":2467,"nodeType":864},{},[11008],{"type":899},{"data":11010,"content":11011,"nodeType":860},{},[11012],{"data":11013,"marks":11014,"value":2474,"nodeType":864},{},[],{"data":11016,"content":11017,"nodeType":860},{},[11018,11021,11025,11028,11032],{"data":11019,"marks":11020,"value":2481,"nodeType":864},{},[],{"data":11022,"marks":11023,"value":2486,"nodeType":864},{},[11024],{"type":899},{"data":11026,"marks":11027,"value":2490,"nodeType":864},{},[],{"data":11029,"marks":11030,"value":2495,"nodeType":864},{},[11031],{"type":2246},{"data":11033,"marks":11034,"value":2499,"nodeType":864},{},[],{"data":11036,"content":11037,"nodeType":860},{},[11038],{"data":11039,"marks":11040,"value":2506,"nodeType":864},{},[],{"data":11042,"content":11043,"nodeType":860},{},[11044],{"data":11045,"marks":11046,"value":2513,"nodeType":864},{},[],{"data":11048,"content":11049,"nodeType":860},{},[11050],{"data":11051,"marks":11052,"value":2520,"nodeType":864},{},[],{"data":11054,"content":11057,"nodeType":996},{"target":11055},{"sys":11056},{"id":2525,"type":1001,"linkType":1002},[],{"data":11059,"content":11060,"nodeType":1005},{},[],{"data":11062,"content":11063,"nodeType":1009},{},[11064],{"data":11065,"marks":11066,"value":2537,"nodeType":864},{},[11067],{"type":899},{"data":11069,"content":11070,"nodeType":860},{},[11071],{"data":11072,"marks":11073,"value":2544,"nodeType":864},{},[],{"data":11075,"content":11076,"nodeType":860},{},[11077],{"data":11078,"marks":11079,"value":2551,"nodeType":864},{},[],{"data":11081,"content":11082,"nodeType":860},{},[11083,11086,11092],{"data":11084,"marks":11085,"value":2558,"nodeType":864},{},[],{"data":11087,"content":11088,"nodeType":883},{"uri":2561},[11089],{"data":11090,"marks":11091,"value":2566,"nodeType":864},{},[],{"data":11093,"marks":11094,"value":2570,"nodeType":864},{},[],{"data":11096,"content":11097,"nodeType":1312},{},[11098],{"data":11099,"marks":11100,"value":2578,"nodeType":864},{},[11101],{"type":899},{"data":11103,"content":11104,"nodeType":860},{},[11105],{"data":11106,"marks":11107,"value":2585,"nodeType":864},{},[],{"data":11109,"content":11110,"nodeType":860},{},[11111],{"data":11112,"marks":11113,"value":2593,"nodeType":864},{},[11114],{"type":899},{"data":11116,"content":11117,"nodeType":860},{},[11118,11122,11125,11131],{"data":11119,"marks":11120,"value":2601,"nodeType":864},{},[11121],{"type":899},{"data":11123,"marks":11124,"value":2605,"nodeType":864},{},[],{"data":11126,"content":11127,"nodeType":883},{"uri":2411},[11128],{"data":11129,"marks":11130,"value":2612,"nodeType":864},{},[],{"data":11132,"marks":11133,"value":2616,"nodeType":864},{},[],{"data":11135,"content":11136,"nodeType":860},{},[11137,11141],{"data":11138,"marks":11139,"value":2624,"nodeType":864},{},[11140],{"type":899},{"data":11142,"marks":11143,"value":2628,"nodeType":864},{},[],{"data":11145,"content":11148,"nodeType":996},{"target":11146},{"sys":11147},{"id":2633,"type":1001,"linkType":1002},[],{"data":11150,"content":11151,"nodeType":1005},{},[],{"data":11153,"content":11154,"nodeType":1009},{},[11155],{"data":11156,"marks":11157,"value":2645,"nodeType":864},{},[11158],{"type":899},{"data":11160,"content":11161,"nodeType":860},{},[11162],{"data":11163,"marks":11164,"value":2652,"nodeType":864},{},[],{"data":11166,"content":11167,"nodeType":860},{},[11168],{"data":11169,"marks":11170,"value":2659,"nodeType":864},{},[],{"data":11172,"content":11173,"nodeType":860},{},[11174],{"data":11175,"marks":11176,"value":2666,"nodeType":864},{},[],{"data":11178,"content":11179,"nodeType":860},{},[11180,11183,11190],{"data":11181,"marks":11182,"value":2673,"nodeType":864},{},[],{"data":11184,"content":11185,"nodeType":883},{"uri":2676},[11186],{"data":11187,"marks":11188,"value":580,"nodeType":864},{},[11189],{"type":1455},{"data":11191,"marks":11192,"value":2685,"nodeType":864},{},[],{"data":11194,"content":11195,"nodeType":1005},{},[],{"data":11197,"content":11198,"nodeType":860},{},[11199],{"data":11200,"marks":11201,"value":1682,"nodeType":864},{},[],{"data":11203,"content":11204,"nodeType":860},{},[11205],{"data":11206,"marks":11207,"value":1689,"nodeType":864},{},[],{"data":11209,"content":11210,"nodeType":860},{},[11211,11214,11221],{"data":11212,"marks":11213,"value":2707,"nodeType":864},{},[],{"data":11215,"content":11216,"nodeType":883},{"uri":1700},[11217],{"data":11218,"marks":11219,"value":2715,"nodeType":864},{},[11220],{"type":1455},{"data":11222,"marks":11223,"value":2719,"nodeType":864},{},[],{"items":11225},[11226,11228],{"sys":11227,"name":2729},{"id":2728},{"sys":11229,"name":297},{"id":2732},{"items":11231},[11232],{"fullName":2736,"firstName":2737,"jobTitle":2738,"profilePicture":11233},{"url":2740},"why-you-cant-control-ai-without-being-in-the-browser","blog/why-you-cant-control-ai-without-being-in-the-browser","AI visibility and control is a feature. Browser security is the foundation.",{"json":11238},{"data":11239,"content":11240,"nodeType":856},{},[11241],{"data":11242,"content":11243,"nodeType":860},{},[11244],{"data":11245,"marks":11246,"value":11247,"nodeType":864},{},[],"Why the right browser security tool makes a separate AI visibility and control purchase unnecessary — and how to decide what you actually need.",{"id":11249,"publishedAt":11250},"I5SoVIYsYVgutpLIzZRpC","2026-08-12T11:52:42.429Z",{"items":11252},[11253,11255],{"sys":11254,"name":297},{"id":2732},{"sys":11256,"name":2729},{"id":2728},{"items":11258},[11259,11261,11263,11265,11267,11269,11271,11273,11275,11277,11279,11281,11283,11285,11287,11289,11291,11293,11295],{"sys":11260,"name":235,"slug":236,"tier":31},{"id":232},{"sys":11262,"name":297,"slug":298,"tier":31},{"id":294},{"sys":11264,"name":279,"slug":280,"tier":31},{"id":276},{"sys":11266,"name":519,"slug":520,"tier":31},{"id":516},{"sys":11268,"name":545,"slug":546,"tier":31},{"id":542},{"sys":11270,"name":580,"slug":581,"tier":45},{"id":577},{"sys":11272,"name":252,"slug":253,"tier":45},{"id":249},{"sys":11274,"name":368,"slug":369,"tier":45},{"id":365},{"sys":11276,"name":484,"slug":485,"tier":45},{"id":481},{"sys":11278,"name":288,"slug":289,"tier":45},{"id":285},{"sys":11280,"name":315,"slug":316,"tier":45},{"id":312},{"sys":11282,"name":360,"slug":361,"tier":45},{"id":357},{"sys":11284,"name":261,"slug":262,"tier":45},{"id":258},{"sys":11286,"name":440,"slug":441,"tier":45},{"id":437},{"sys":11288,"name":475,"slug":476,"tier":45},{"id":472},{"sys":11290,"name":324,"slug":325,"tier":45},{"id":321},{"sys":11292,"name":633,"slug":634,"tier":45},{"id":630},{"sys":11294,"name":244,"slug":245,"tier":45},{"id":241},{"sys":11296,"name":607,"slug":608,"tier":45},{"id":604},"sEvs1NG13z8Guz6oaxJbRvlEv7Tcmf1seFlO6IQdBPM",{"id":11299,"title":2720,"authorsCollection":11300,"content":11306,"extension":228,"faqItemsCollection":12114,"faqTitle":12213,"featured":6,"hashTags":59,"meta":12214,"metaTitle":12215,"ogImage":59,"postType":9326,"publishedDate":2722,"relatedBlogPostsCollection":12216,"slug":2723,"stem":14788,"subtitle":59,"summary":14789,"synopsis":2721,"sys":14800,"tagsCollection":14802,"topicsCollection":14808,"__hash__":14832},"blog/blog/what-push-data-reveals-about-the-state-of-shadow-ai.json",{"items":11301},[11302],{"fullName":2736,"firstName":2737,"jobTitle":2738,"socialLinks":11303,"profilePicture":11305},[11304],"https://www.linkedin.com/in/daniel-g-/",{"url":2740},{"json":11307,"links":11867},{"data":11308,"content":11309,"nodeType":856},{},[11310,11316,11322,11328,11333,11336,11343,11349,11378,11384,11408,11413,11416,11423,11429,11436,11470,11475,11481,11486,11489,11496,11502,11509,11515,11521,11534,11541,11561,11567,11572,11578,11585,11598,11620,11625,11640,11645,11652,11658,11678,11684,11690,11696,11701,11704,11711,11717,11723,11738,11745,11751,11758,11777,11787,11792,11795,11802,11808,11814,11820,11836,11839,11845,11851],{"data":11311,"content":11312,"nodeType":860},{},[11313],{"data":11314,"marks":11315,"value":2072,"nodeType":864},{},[],{"data":11317,"content":11318,"nodeType":860},{},[11319],{"data":11320,"marks":11321,"value":2079,"nodeType":864},{},[],{"data":11323,"content":11324,"nodeType":860},{},[11325],{"data":11326,"marks":11327,"value":2086,"nodeType":864},{},[],{"data":11329,"content":11332,"nodeType":996},{"target":11330},{"sys":11331},{"id":2091,"type":1001,"linkType":1002},[],{"data":11334,"content":11335,"nodeType":1005},{},[],{"data":11337,"content":11338,"nodeType":1009},{},[11339],{"data":11340,"marks":11341,"value":2103,"nodeType":864},{},[11342],{"type":899},{"data":11344,"content":11345,"nodeType":860},{},[11346],{"data":11347,"marks":11348,"value":2110,"nodeType":864},{},[],{"data":11350,"content":11351,"nodeType":941},{},[11352,11365],{"data":11353,"content":11354,"nodeType":945},{},[11355],{"data":11356,"content":11357,"nodeType":860},{},[11358,11362],{"data":11359,"marks":11360,"value":2124,"nodeType":864},{},[11361],{"type":899},{"data":11363,"marks":11364,"value":2128,"nodeType":864},{},[],{"data":11366,"content":11367,"nodeType":945},{},[11368],{"data":11369,"content":11370,"nodeType":860},{},[11371,11375],{"data":11372,"marks":11373,"value":2139,"nodeType":864},{},[11374],{"type":899},{"data":11376,"marks":11377,"value":2143,"nodeType":864},{},[],{"data":11379,"content":11380,"nodeType":860},{},[11381],{"data":11382,"marks":11383,"value":2150,"nodeType":864},{},[],{"data":11385,"content":11386,"nodeType":860},{},[11387,11390,11396,11399,11405],{"data":11388,"marks":11389,"value":2157,"nodeType":864},{},[],{"data":11391,"content":11392,"nodeType":883},{"uri":1543},[11393],{"data":11394,"marks":11395,"value":1758,"nodeType":864},{},[],{"data":11397,"marks":11398,"value":1762,"nodeType":864},{},[],{"data":11400,"content":11401,"nodeType":883},{"uri":1765},[11402],{"data":11403,"marks":11404,"value":1770,"nodeType":864},{},[],{"data":11406,"marks":11407,"value":1774,"nodeType":864},{},[],{"data":11409,"content":11412,"nodeType":996},{"target":11410},{"sys":11411},{"id":2180,"type":1001,"linkType":1002},[],{"data":11414,"content":11415,"nodeType":1005},{},[],{"data":11417,"content":11418,"nodeType":1009},{},[11419],{"data":11420,"marks":11421,"value":2192,"nodeType":864},{},[11422],{"type":899},{"data":11424,"content":11425,"nodeType":860},{},[11426],{"data":11427,"marks":11428,"value":2199,"nodeType":864},{},[],{"data":11430,"content":11431,"nodeType":860},{},[11432],{"data":11433,"marks":11434,"value":2207,"nodeType":864},{},[11435],{"type":899},{"data":11437,"content":11438,"nodeType":860},{},[11439,11442,11446,11449,11453,11456,11460,11463,11467],{"data":11440,"marks":11441,"value":2214,"nodeType":864},{},[],{"data":11443,"marks":11444,"value":2219,"nodeType":864},{},[11445],{"type":899},{"data":11447,"marks":11448,"value":2223,"nodeType":864},{},[],{"data":11450,"marks":11451,"value":2228,"nodeType":864},{},[11452],{"type":899},{"data":11454,"marks":11455,"value":2232,"nodeType":864},{},[],{"data":11457,"marks":11458,"value":2237,"nodeType":864},{},[11459],{"type":899},{"data":11461,"marks":11462,"value":2241,"nodeType":864},{},[],{"data":11464,"marks":11465,"value":2247,"nodeType":864},{},[11466],{"type":2246},{"data":11468,"marks":11469,"value":2251,"nodeType":864},{},[],{"data":11471,"content":11474,"nodeType":996},{"target":11472},{"sys":11473},{"id":2256,"type":1001,"linkType":1002},[],{"data":11476,"content":11477,"nodeType":860},{},[11478],{"data":11479,"marks":11480,"value":2264,"nodeType":864},{},[],{"data":11482,"content":11485,"nodeType":996},{"target":11483},{"sys":11484},{"id":1040,"type":1001,"linkType":1002},[],{"data":11487,"content":11488,"nodeType":1005},{},[],{"data":11490,"content":11491,"nodeType":1009},{},[11492],{"data":11493,"marks":11494,"value":2280,"nodeType":864},{},[11495],{"type":899},{"data":11497,"content":11498,"nodeType":860},{},[11499],{"data":11500,"marks":11501,"value":2287,"nodeType":864},{},[],{"data":11503,"content":11504,"nodeType":1312},{},[11505],{"data":11506,"marks":11507,"value":2295,"nodeType":864},{},[11508],{"type":899},{"data":11510,"content":11511,"nodeType":860},{},[11512],{"data":11513,"marks":11514,"value":2302,"nodeType":864},{},[],{"data":11516,"content":11517,"nodeType":860},{},[11518],{"data":11519,"marks":11520,"value":2309,"nodeType":864},{},[],{"data":11522,"content":11523,"nodeType":860},{},[11524,11527,11531],{"data":11525,"marks":11526,"value":2316,"nodeType":864},{},[],{"data":11528,"marks":11529,"value":2321,"nodeType":864},{},[11530],{"type":899},{"data":11532,"marks":11533,"value":2325,"nodeType":864},{},[],{"data":11535,"content":11536,"nodeType":1312},{},[11537],{"data":11538,"marks":11539,"value":2333,"nodeType":864},{},[11540],{"type":899},{"data":11542,"content":11543,"nodeType":860},{},[11544,11547,11551,11554,11558],{"data":11545,"marks":11546,"value":2340,"nodeType":864},{},[],{"data":11548,"marks":11549,"value":2345,"nodeType":864},{},[11550],{"type":899},{"data":11552,"marks":11553,"value":2349,"nodeType":864},{},[],{"data":11555,"marks":11556,"value":2354,"nodeType":864},{},[11557],{"type":899},{"data":11559,"marks":11560,"value":2358,"nodeType":864},{},[],{"data":11562,"content":11563,"nodeType":860},{},[11564],{"data":11565,"marks":11566,"value":2365,"nodeType":864},{},[],{"data":11568,"content":11571,"nodeType":996},{"target":11569},{"sys":11570},{"id":2370,"type":1001,"linkType":1002},[],{"data":11573,"content":11574,"nodeType":860},{},[11575],{"data":11576,"marks":11577,"value":2378,"nodeType":864},{},[],{"data":11579,"content":11580,"nodeType":1312},{},[11581],{"data":11582,"marks":11583,"value":2386,"nodeType":864},{},[11584],{"type":899},{"data":11586,"content":11587,"nodeType":860},{},[11588,11591,11595],{"data":11589,"marks":11590,"value":2393,"nodeType":864},{},[],{"data":11592,"marks":11593,"value":2228,"nodeType":864},{},[11594],{"type":899},{"data":11596,"marks":11597,"value":2401,"nodeType":864},{},[],{"data":11599,"content":11600,"nodeType":860},{},[11601,11604,11610,11613,11617],{"data":11602,"marks":11603,"value":2408,"nodeType":864},{},[],{"data":11605,"content":11606,"nodeType":883},{"uri":2411},[11607],{"data":11608,"marks":11609,"value":2416,"nodeType":864},{},[],{"data":11611,"marks":11612,"value":2420,"nodeType":864},{},[],{"data":11614,"marks":11615,"value":2425,"nodeType":864},{},[11616],{"type":899},{"data":11618,"marks":11619,"value":2429,"nodeType":864},{},[],{"data":11621,"content":11624,"nodeType":996},{"target":11622},{"sys":11623},{"id":2434,"type":1001,"linkType":1002},[],{"data":11626,"content":11627,"nodeType":860},{},[11628,11631,11637],{"data":11629,"marks":11630,"value":2442,"nodeType":864},{},[],{"data":11632,"content":11633,"nodeType":883},{"uri":2411},[11634],{"data":11635,"marks":11636,"value":2449,"nodeType":864},{},[],{"data":11638,"marks":11639,"value":2453,"nodeType":864},{},[],{"data":11641,"content":11644,"nodeType":996},{"target":11642},{"sys":11643},{"id":2458,"type":1001,"linkType":1002},[],{"data":11646,"content":11647,"nodeType":1312},{},[11648],{"data":11649,"marks":11650,"value":2467,"nodeType":864},{},[11651],{"type":899},{"data":11653,"content":11654,"nodeType":860},{},[11655],{"data":11656,"marks":11657,"value":2474,"nodeType":864},{},[],{"data":11659,"content":11660,"nodeType":860},{},[11661,11664,11668,11671,11675],{"data":11662,"marks":11663,"value":2481,"nodeType":864},{},[],{"data":11665,"marks":11666,"value":2486,"nodeType":864},{},[11667],{"type":899},{"data":11669,"marks":11670,"value":2490,"nodeType":864},{},[],{"data":11672,"marks":11673,"value":2495,"nodeType":864},{},[11674],{"type":2246},{"data":11676,"marks":11677,"value":2499,"nodeType":864},{},[],{"data":11679,"content":11680,"nodeType":860},{},[11681],{"data":11682,"marks":11683,"value":2506,"nodeType":864},{},[],{"data":11685,"content":11686,"nodeType":860},{},[11687],{"data":11688,"marks":11689,"value":2513,"nodeType":864},{},[],{"data":11691,"content":11692,"nodeType":860},{},[11693],{"data":11694,"marks":11695,"value":2520,"nodeType":864},{},[],{"data":11697,"content":11700,"nodeType":996},{"target":11698},{"sys":11699},{"id":2525,"type":1001,"linkType":1002},[],{"data":11702,"content":11703,"nodeType":1005},{},[],{"data":11705,"content":11706,"nodeType":1009},{},[11707],{"data":11708,"marks":11709,"value":2537,"nodeType":864},{},[11710],{"type":899},{"data":11712,"content":11713,"nodeType":860},{},[11714],{"data":11715,"marks":11716,"value":2544,"nodeType":864},{},[],{"data":11718,"content":11719,"nodeType":860},{},[11720],{"data":11721,"marks":11722,"value":2551,"nodeType":864},{},[],{"data":11724,"content":11725,"nodeType":860},{},[11726,11729,11735],{"data":11727,"marks":11728,"value":2558,"nodeType":864},{},[],{"data":11730,"content":11731,"nodeType":883},{"uri":2561},[11732],{"data":11733,"marks":11734,"value":2566,"nodeType":864},{},[],{"data":11736,"marks":11737,"value":2570,"nodeType":864},{},[],{"data":11739,"content":11740,"nodeType":1312},{},[11741],{"data":11742,"marks":11743,"value":2578,"nodeType":864},{},[11744],{"type":899},{"data":11746,"content":11747,"nodeType":860},{},[11748],{"data":11749,"marks":11750,"value":2585,"nodeType":864},{},[],{"data":11752,"content":11753,"nodeType":860},{},[11754],{"data":11755,"marks":11756,"value":2593,"nodeType":864},{},[11757],{"type":899},{"data":11759,"content":11760,"nodeType":860},{},[11761,11765,11768,11774],{"data":11762,"marks":11763,"value":2601,"nodeType":864},{},[11764],{"type":899},{"data":11766,"marks":11767,"value":2605,"nodeType":864},{},[],{"data":11769,"content":11770,"nodeType":883},{"uri":2411},[11771],{"data":11772,"marks":11773,"value":2612,"nodeType":864},{},[],{"data":11775,"marks":11776,"value":2616,"nodeType":864},{},[],{"data":11778,"content":11779,"nodeType":860},{},[11780,11784],{"data":11781,"marks":11782,"value":2624,"nodeType":864},{},[11783],{"type":899},{"data":11785,"marks":11786,"value":2628,"nodeType":864},{},[],{"data":11788,"content":11791,"nodeType":996},{"target":11789},{"sys":11790},{"id":2633,"type":1001,"linkType":1002},[],{"data":11793,"content":11794,"nodeType":1005},{},[],{"data":11796,"content":11797,"nodeType":1009},{},[11798],{"data":11799,"marks":11800,"value":2645,"nodeType":864},{},[11801],{"type":899},{"data":11803,"content":11804,"nodeType":860},{},[11805],{"data":11806,"marks":11807,"value":2652,"nodeType":864},{},[],{"data":11809,"content":11810,"nodeType":860},{},[11811],{"data":11812,"marks":11813,"value":2659,"nodeType":864},{},[],{"data":11815,"content":11816,"nodeType":860},{},[11817],{"data":11818,"marks":11819,"value":2666,"nodeType":864},{},[],{"data":11821,"content":11822,"nodeType":860},{},[11823,11826,11833],{"data":11824,"marks":11825,"value":2673,"nodeType":864},{},[],{"data":11827,"content":11828,"nodeType":883},{"uri":2676},[11829],{"data":11830,"marks":11831,"value":580,"nodeType":864},{},[11832],{"type":1455},{"data":11834,"marks":11835,"value":2685,"nodeType":864},{},[],{"data":11837,"content":11838,"nodeType":1005},{},[],{"data":11840,"content":11841,"nodeType":860},{},[11842],{"data":11843,"marks":11844,"value":1682,"nodeType":864},{},[],{"data":11846,"content":11847,"nodeType":860},{},[11848],{"data":11849,"marks":11850,"value":1689,"nodeType":864},{},[],{"data":11852,"content":11853,"nodeType":860},{},[11854,11857,11864],{"data":11855,"marks":11856,"value":2707,"nodeType":864},{},[],{"data":11858,"content":11859,"nodeType":883},{"uri":1700},[11860],{"data":11861,"marks":11862,"value":2715,"nodeType":864},{},[11863],{"type":1455},{"data":11865,"marks":11866,"value":2719,"nodeType":864},{},[],{"entries":11868},{"hyperlink":11869,"inline":11870,"block":11871},[],[],[11872,11924,11938,11952,11955,11997,12048,12055,12109],{"sys":11873,"__typename":1740,"content":11874,"name":11923,"title":59},{"id":2091},{"json":11875},{"data":11876,"content":11877,"nodeType":856},{},[11878],{"data":11879,"content":11880,"nodeType":860},{},[11881,11885,11892,11896,11901,11905,11914,11918],{"data":11882,"marks":11883,"value":11884,"nodeType":864},{},[],"The industry data backs this up. The ",{"data":11886,"content":11887,"nodeType":883},{"uri":8628},[11888],{"data":11889,"marks":11890,"value":11891,"nodeType":864},{},[],"Verizon DBIR 2026",{"data":11893,"marks":11894,"value":11895,"nodeType":864},{},[]," reports that ",{"data":11897,"marks":11898,"value":11900,"nodeType":864},{},[11899],{"type":899},"45% of employees are now regular AI users on corporate devices",{"data":11902,"marks":11903,"value":11904,"nodeType":864},{},[],", up from 15% the year before. ",{"data":11906,"content":11908,"nodeType":883},{"uri":11907},"https://omdia.tech.informa.com/",[11909],{"data":11910,"marks":11911,"value":11913,"nodeType":864},{},[11912],{"type":1455},"Omdia's 2026 browser security research",{"data":11915,"marks":11916,"value":11917,"nodeType":864},{},[]," presents a stronger picture, finding that 92% allow employees to use public GenAI applications. However, given that the typical company policy sanctions a small number of approved tools, this means everything else employees are using is unsanctioned by default. ",{"data":11919,"marks":11920,"value":11922,"nodeType":864},{},[11921],{"type":899},"In other words: every organization in the survey had unsanctioned AI usage.","shadow ai insight box 1",{"sys":11925,"__typename":1740,"content":11926,"name":11937,"title":59},{"id":2180},{"json":11927},{"nodeType":856,"data":11928,"content":11929},{},[11930],{"nodeType":860,"data":11931,"content":11932},{},[11933],{"nodeType":864,"value":11934,"marks":11935,"data":11936},"An added dimension here is the role of autonomous agents. Unsupervised agents can lead to the introduction of security vulnerabilities and data exposures, while agents themselves can be targeted through new classes of attack like prompt injection. But for the majority of organizations, where most of the workforce is simply using GenAI tools in the browser, agentic security is more of a niche concern for developers. ",[],{},"Shadow AI insight box",{"sys":11939,"__typename":1740,"content":11940,"name":11951,"title":59},{"id":2256},{"json":11941},{"data":11942,"content":11943,"nodeType":856},{},[11944],{"data":11945,"content":11946,"nodeType":860},{},[11947],{"data":11948,"marks":11949,"value":11950,"nodeType":864},{},[],"These are counts of unique products observed in one week, not total installs or connections across the workforce — each unique app, extension, or integration represents a separate AI tool that at least one employee has adopted, so the actual number of individual installs and active sessions across the organization is considerably larger. When the average organization has 17 unique AI extensions deployed, for instance, and many of those are popular tools adopted independently by multiple employees, the per-user footprint adds up quickly.","Shadow ai ib1",{"sys":11953,"__typename":1724,"title":1725,"caption":1726,"layoutMode":59,"file":11954},{"id":1040},{"url":1728,"width":1729,"height":1730},{"sys":11956,"__typename":1740,"content":11957,"name":11996,"title":59},{"id":2370},{"json":11958},{"nodeType":856,"data":11959,"content":11960},{},[11961,11990],{"nodeType":860,"data":11962,"content":11963},{},[11964,11968,11972,11982,11986],{"nodeType":864,"value":11965,"marks":11966,"data":11967},"This is a perfect example of where",[],{},{"nodeType":864,"value":1171,"marks":11969,"data":11971},[11970],{"type":899},{},{"nodeType":883,"data":11973,"content":11975},{"uri":11974},"https://pushsecurity.com/resources/browser-identity-attacks-matrix/evil-twin-integrations",[11976],{"nodeType":864,"value":11977,"marks":11978,"data":11981},"Evil Twin",[11979,11980],{"type":1455},{"type":899},{},{"nodeType":864,"value":1171,"marks":11983,"data":11985},[11984],{"type":899},{},{"nodeType":864,"value":11987,"marks":11988,"data":11989},"opportunities are likely to be abused by attackers. If you’re not familiar, this is where an attacker can effectively hide a malicious integration where an existing connection for that app is already approved, blending in with normal activity. But while historically maybe 1 out of 100 users had an automation tool like Zapier integrated already, the modern equivalent is that a much higher proportion of users already has Claude or ChatGPT integrated.",[],{},{"nodeType":860,"data":11991,"content":11992},{},[11993],{"nodeType":864,"value":21,"marks":11994,"data":11995},[],{},"Shadow ai ib4",{"sys":11998,"__typename":1740,"content":11999,"name":12047,"title":59},{"id":2434},{"json":12000},{"nodeType":856,"data":12001,"content":12002},{},[12003],{"nodeType":860,"data":12004,"content":12005},{},[12006,12010,12021,12025,12035,12038,12043],{"nodeType":864,"value":12007,"marks":12008,"data":12009},"This isn't just a Push observation —",[],{},{"nodeType":883,"data":12011,"content":12012},{"uri":2561},[12013,12016],{"nodeType":864,"value":1171,"marks":12014,"data":12015},[],{},{"nodeType":864,"value":12017,"marks":12018,"data":12020},"Omdia found that malicious browser extensions were cited by 34% of organizations",[12019],{"type":1455},{},{"nodeType":864,"value":12022,"marks":12023,"data":12024}," that experienced a browser-based attack, making them the third most common attack type after phishing and data leakage. The",[],{},{"nodeType":883,"data":12026,"content":12027},{"uri":8628},[12028,12031],{"nodeType":864,"value":1171,"marks":12029,"data":12030},[],{},{"nodeType":864,"value":11891,"marks":12032,"data":12034},[12033],{"type":1455},{},{"nodeType":864,"value":11895,"marks":12036,"data":12037},[],{},{"nodeType":864,"value":12039,"marks":12040,"data":12042},"more than 15% of corporate users had unauthorized AI browser extensions installed",[12041],{"type":899},{},{"nodeType":864,"value":12044,"marks":12045,"data":12046}," — meaning a material share of the workforce is running AI-powered code with broad permissions that no one in security approved or is monitoring. ",[],{},"Shadow ai ib2",{"sys":12049,"__typename":1724,"title":12050,"caption":12051,"layoutMode":59,"file":12052},{"id":2458},"Examples of AI imitation apps","Examples of imitation AI apps observed in active use by Push. Scammy and misleading, but not necessarily malicious (yet), but probably not something you want employees using.",{"url":12053,"width":1736,"height":12054},"https://images.ctfassets.net/y1cdw1ablpvd/73PW50LMkqoFWmsbxP7pIU/a29ed68622aeb453f618fc1eb9a1a55c/image1.png",1189,{"sys":12056,"__typename":1740,"content":12057,"name":12108,"title":59},{"id":2525},{"json":12058},{"nodeType":856,"data":12059,"content":12060},{},[12061,12079],{"nodeType":860,"data":12062,"content":12063},{},[12064,12068,12075],{"nodeType":864,"value":12065,"marks":12066,"data":12067},"The Vercel breach is a textbook illustration of integration risk. A Vercel employee had connected a consumer-grade AI app from Context.ai into their Google Workspace tenant — most likely a self-service trial that was lightly used and forgotten about. Vercel ",[],{},{"nodeType":883,"data":12069,"content":12070},{"uri":4103},[12071],{"nodeType":864,"value":12072,"marks":12073,"data":12074},"wasn't even a registered customer",[],{},{"nodeType":864,"value":12076,"marks":12077,"data":12078}," of Context.ai. When Context.ai was subsequently compromised via an infostealer infection, the attacker leveraged stored OAuth tokens to pivot into the Vercel employee's Google Workspace account, accessing internal dashboards, API keys, NPM tokens, and GitHub tokens.",[],{},{"nodeType":860,"data":12080,"content":12081},{},[12082,12086,12092,12096,12104],{"nodeType":864,"value":12083,"marks":12084,"data":12085},"Vercel is far from an isolated case. In 2025, ",[],{},{"nodeType":883,"data":12087,"content":12088},{"uri":6237},[12089],{"nodeType":864,"value":6242,"marks":12090,"data":12091},[],{},{"nodeType":864,"value":12093,"marks":12094,"data":12095}," launched OAuth-driven supply chain attacks against Salesforce and Google Workspace tenants after breaching Salesloft Drift and Gainsight, impacting over 1,000 organizations and stealing over 1.5 billion records. More recently, Snowflake customers were impacted after a ",[],{},{"nodeType":883,"data":12097,"content":12099},{"uri":12098},"https://www.bleepingcomputer.com/news/security/snowflake-customers-hit-in-data-theft-attacks-after-saas-integrator-breach/",[12100],{"nodeType":864,"value":12101,"marks":12102,"data":12103},"breach at data anomaly detection company Anodot",[],{},{"nodeType":864,"value":12105,"marks":12106,"data":12107},", where attackers attempted to leverage stolen authentication tokens to access downstream environments.",[],{},"Shadow ai ib3",{"sys":12110,"__typename":1717,"type":1718,"ctaText":12111,"buttonLabel":12112,"buttonColour":1721,"buttonUrl":12113},{"id":2633},"For a step-by-step walkthrough of how to implement these controls, including shadow AI discovery, graduated enforcement, and data loss prevention, see our practical guide to shadow AI visibility and control.","Read Now","pushsecurity.com/blog/shadow-ai-how-to-discover-govern-and-secure-ai-apps",{"items":12115},[12116,12136,12168,12193],{"answer":12117,"question":12135},{"json":12118},{"nodeType":856,"data":12119,"content":12120},{},[12121,12128],{"nodeType":860,"data":12122,"content":12123},{},[12124],{"nodeType":864,"value":12125,"marks":12126,"data":12127},"Shadow IT management has a well-established playbook: discover unauthorized apps through CASB logs or network monitoring, enforce SSO to bring them under identity governance, and apply block/allow decisions at the proxy or firewall. That playbook assumes the tool is a discrete app that employees signed up for, that it's reachable through the network layer, and that the main risk is ungoverned data storage. ",[],{},{"nodeType":860,"data":12129,"content":12130},{},[12131],{"nodeType":864,"value":12132,"marks":12133,"data":12134},"Shadow AI breaks all three assumptions. AI doesn't just store data — it actively processes it, and employees submit qualitatively more sensitive material (source code, credentials, internal strategy) into AI prompts than they typically put into a project management tool or file-sharing app. AI also arrives embedded inside tools you've already approved — Salesforce, Google Workspace, Notion, Slack all ship AI features that activate without a separate procurement decision, so there's no sign-up event for a CASB to catch. And the integration surface is different: AI tools connect to other enterprise apps through OAuth grants and MCP connections that create persistent API-level access, turning each one into a potential pivot point across your SaaS estate. This level of AI integration dwarfs typical SaaS-to-SaaS interconnectivity, and what an agent can do with the data in a given app is typically much more permissive and way less predictable. ",[],{},"How is shadow AI different from regular shadow IT or shadow SaaS?",{"answer":12137,"question":12167},{"json":12138},{"nodeType":856,"data":12139,"content":12140},{},[12141,12148],{"nodeType":860,"data":12142,"content":12143},{},[12144],{"nodeType":864,"value":12145,"marks":12146,"data":12147},"When an employee uses a personal ChatGPT, Gemini, or Claude account to do work, everything they submit — prompts, file uploads, pasted code — goes to an environment your organization has no governance over. There are no data retention controls, no audit trail, no DLP policies, and no way to revoke access if that employee leaves. The Verizon DBIR found 67% of GenAI users on corporate devices use non-corporate accounts, and Push data shows 38% of file uploads to AI tools come from these shadow accounts rather than approved organizational ones. The risk isn't hypothetical usage of a banned tool — it's real work happening on the same tool you approved, just on an account you can't see or control.",[],{},{"nodeType":860,"data":12149,"content":12150},{},[12151,12155,12163],{"nodeType":864,"value":12152,"marks":12153,"data":12154},"It's even worse if that employee has been tricked into joining an external tenant (",[],{},{"nodeType":883,"data":12156,"content":12158},{"uri":12157},"https://pushsecurity.com/blog/openai-poisoned-tenant-attack",[12159],{"nodeType":864,"value":12160,"marks":12161,"data":12162},"as attackers tried to trick Push employees into doing recently",[],{},{"nodeType":864,"value":12164,"marks":12165,"data":12166},") where your data flows directly into the hands of a malicious outsider. ",[],{},"What's the risk if employees use personal AI accounts for work?",{"answer":12169,"question":12192},{"json":12170},{"nodeType":856,"data":12171,"content":12172},{},[12173],{"nodeType":860,"data":12174,"content":12175},{},[12176,12180,12188],{"nodeType":864,"value":12177,"marks":12178,"data":12179},"Yes, and this is one of the less visible risks of shadow AI. Many AI tools request OAuth permissions to connect to Google Workspace, Microsoft 365, Slack, or code repositories during setup — a \"Connect to Google Drive\" or \"Sign in with Microsoft\" flow that grants persistent API-level access to data in those systems. Unlike a browser session that expires, these tokens survive password resets and MFA changes, and they often have broader scope than users realize (shared drives, shared calendars, any collaborative resource the consenting user can reach). The ",[],{},{"nodeType":883,"data":12181,"content":12183},{"uri":12182},"https://pushsecurity.com/blog/unpacking-the-vercel-breach",[12184],{"nodeType":864,"value":12185,"marks":12186,"data":12187},"Vercel breach",[],{},{"nodeType":864,"value":12189,"marks":12190,"data":12191}," showed what happens when one of these goes wrong: a single forgotten OAuth integration from a consumer AI app gave attackers a path into internal dashboards, API keys, and source code repositories.",[],{},"Can AI tools access my other enterprise apps?",{"answer":12194,"question":12212},{"json":12195},{"nodeType":856,"data":12196,"content":12197},{},[12198,12205],{"nodeType":860,"data":12199,"content":12200},{},[12201],{"nodeType":864,"value":12202,"marks":12203,"data":12204},"MCP (Model Context Protocol) connections let AI tools interact with other applications — reading files, querying databases, triggering workflows — through a standardized interface. Approving an MCP connection grants the AI tool persistent access to whatever systems the MCP server exposes, and that access operates at the API layer rather than through the browser session you're used to controlling. ",[],{},{"nodeType":860,"data":12206,"content":12207},{},[12208],{"nodeType":864,"value":12209,"marks":12210,"data":12211},"The risk is similar to OAuth but often broader in scope: a single MCP connection to a code repository or project management tool can give the AI agent read and write access across that system, and if the AI tool or MCP server is compromised, those permissions become the attacker's permissions. Unlike a browser session, MCP tokens persist until explicitly revoked, and compromising one AI agent that's connected to multiple MCP servers yields tokens for every service it was connected to.",[],{},"What's the risk if I approve an MCP connection?","Shadow AI: Frequently asked questions",{},"Shadow AI: the numbers behind each type of shadow AI",{"items":12217},[12218,12985,14066],{"__typename":2059,"sys":12219,"content":12221,"title":12971,"synopsis":12972,"hashTags":59,"publishedDate":12973,"slug":12974,"tagsCollection":12975,"authorsCollection":12981},{"id":12220},"Lq2AFQ8VG2rMEe4h2CYuH",{"json":12222},{"data":12223,"content":12224,"nodeType":856},{},[12225,12253,12286,12293,12299,12302,12310,12317,12323,12342,12349,12357,12377,12393,12400,12407,12410,12418,12425,12432,12495,12502,12510,12522,12529,12536,12542,12550,12557,12564,12571,12578,12584,12592,12599,12683,12689,12692,12700,12707,12723,12730,12737,12743,12762,12765,12772,12779,12785,12804,12811,12818,12824,12827,12834,12841,12848,12854,12861,12867,12873,12898,12904,12916,12923,12930],{"data":12226,"content":12227,"nodeType":860},{},[12228,12232,12240,12244,12249],{"data":12229,"marks":12230,"value":12231,"nodeType":864},{},[],"This week, a user going by the name of “ShinyHunters” (though allegedly not ",{"data":12233,"content":12234,"nodeType":883},{"uri":6237},[12235],{"data":12236,"marks":12237,"value":12239,"nodeType":864},{},[12238],{"type":1455},"actual ShinyHunters",{"data":12241,"marks":12242,"value":12243,"nodeType":864},{},[],", but someone imitating them in an attempt to trade off their credibility) posted on a breach forum claiming access keys, source code, and database data stolen from cloud development platform provider ",{"data":12245,"marks":12246,"value":12248,"nodeType":864},{},[12247],{"type":899},"Vercel",{"data":12250,"marks":12251,"value":12252,"nodeType":864},{},[],". ",{"data":12254,"content":12255,"nodeType":860},{},[12256,12260,12269,12273,12282],{"data":12257,"marks":12258,"value":12259,"nodeType":864},{},[],"This happened because a Vercel employee had connected an AI app, Context.ai, into their Google Workspace tenant. When Context.ai was compromised — ",{"data":12261,"content":12263,"nodeType":883},{"uri":12262},"https://www.infostealers.com/article/breaking-vercel-breach-linked-to-infostealer-infection-at-context-ai/",[12264],{"data":12265,"marks":12266,"value":12268,"nodeType":864},{},[12267],{"type":1455},"allegedly the result of an infostealer infection from an employee searching for Roblox cheats",{"data":12270,"marks":12271,"value":12272,"nodeType":864},{},[]," — the attacker was able to leverage OAuth tokens stored in Context.ai’s Supabase platform to access downstream customer accounts (pointing to a heavily permissioned victim, probably a developer, possibly even a ",{"data":12274,"content":12276,"nodeType":883},{"uri":12275},"https://pushsecurity.com/blog/browser-sync-attacks-where-personal-account-hacks-lead-to-corporate-breaches/",[12277],{"data":12278,"marks":12279,"value":12281,"nodeType":864},{},[12280],{"type":1455},"personal device with access to corp credentials",{"data":12283,"marks":12284,"value":12285,"nodeType":864},{},[],"). ",{"data":12287,"content":12288,"nodeType":860},{},[12289],{"data":12290,"marks":12291,"value":12292,"nodeType":864},{},[],"This access included a Vercel employee’s Google Workspace account. This particular user had significant access to data and secrets in Vercel’s systems, including internal dashboards, employee records, API keys, NPM tokens, and GitHub tokens, which the attacker was able to exfiltrate, holding Vercel to ransom for $2 million. ",{"data":12294,"content":12298,"nodeType":996},{"target":12295},{"sys":12296},{"id":12297,"type":1001,"linkType":1002},"6Ft8aSnzfYVZ7j57mYeXgQ",[],{"data":12300,"content":12301,"nodeType":1005},{},[],{"data":12303,"content":12304,"nodeType":1009},{},[12305],{"data":12306,"marks":12307,"value":12309,"nodeType":864},{},[12308],{"type":899},"How did this happen, and what could have stopped it?",{"data":12311,"content":12312,"nodeType":860},{},[12313],{"data":12314,"marks":12315,"value":12316,"nodeType":864},{},[],"From Vercel’s perspective, this attack could have been avoided had their employees been blocked from adding new OAuth integrations without admin approval (a toggle in their Google admin panel, and an essential control in a well-configured environment). Or, if the integration had been flagged in a routine audit and removed. ",{"data":12318,"content":12322,"nodeType":996},{"target":12319},{"sys":12320},{"id":12321,"type":1001,"linkType":1002},"b5HFvY1m6RnuXL3a95jVt",[],{"data":12324,"content":12325,"nodeType":860},{},[12326,12330,12338],{"data":12327,"marks":12328,"value":12329,"nodeType":864},{},[],"It probably should have been removed, too. The particular OAuth app that was connected into the environment was a deprecated “AI Office Suite” product intended for consumer use. ",{"data":12331,"content":12333,"nodeType":883},{"uri":12332},"https://context.ai/security-update",[12334],{"data":12335,"marks":12336,"value":12337,"nodeType":864},{},[],"According to Context.ai",{"data":12339,"marks":12340,"value":12341,"nodeType":864},{},[],", Vercel aren’t even a registered customer — adding more evidence that this was probably the result of a self-service trial that was subsequently forgotten about. That consumer product has also since been replaced by an enterprise product. But for whatever reason, the access hadn’t been revoked (from either side). ",{"data":12343,"content":12344,"nodeType":860},{},[12345],{"data":12346,"marks":12347,"value":12348,"nodeType":864},{},[],"The elephant in the room is that Context.ai is an AI app. Most organizations are rightly nervous about employees adding unapproved AI SaaS into their environment. Having employees use shadow AI in the form of LLMs is one thing — users uploading sensitive data to unapproved apps or external tenants being the key concern. But OAuth grants are even more dangerous. Because if that app or vendor is compromised, the apps and accounts you’ve integrated it with are also at risk — which is what was exploited here. ",{"data":12350,"content":12351,"nodeType":1312},{},[12352],{"data":12353,"marks":12354,"value":12356,"nodeType":864},{},[12355],{"type":899},"Where’s the fault?",{"data":12358,"content":12359,"nodeType":860},{},[12360,12364,12373],{"data":12361,"marks":12362,"value":12363,"nodeType":864},{},[],"It’s easy to point fingers here. There are multiple control gaps and failures for both parties. Vercel should have disabled OAuth grants without admin approval, and regularly audited the connections in their environment. From a vendor's perspective, they could have also default applied a control that ",{"data":12365,"content":12367,"nodeType":883},{"uri":12366},"https://vercel.com/kb/bulletin/vercel-april-2026-security-incident",[12368],{"data":12369,"marks":12370,"value":12372,"nodeType":864},{},[12371],{"type":1455},"prevents secret environment variables from being read",{"data":12374,"marks":12375,"value":12376,"nodeType":864},{},[]," — which would have significantly reduced the impact to Vercel customers from the data breach. ",{"data":12378,"content":12379,"nodeType":860},{},[12380,12384,12389],{"data":12381,"marks":12382,"value":12383,"nodeType":864},{},[],"Context.ai comes off worse. They could and should have had better separation of accounts and privileges — and if true, their users really shouldn’t be downloading Roblox scripts on devices they use for work access. It’s important to say ",{"data":12385,"marks":12386,"value":12388,"nodeType":864},{},[12387],{"type":2246},"if true",{"data":12390,"marks":12391,"value":12392,"nodeType":864},{},[]," here, but the prospect of third parties accessing your environment from insecure devices that they use for gaming is the stuff of nightmares for enterprise security and compliance teams.",{"data":12394,"content":12395,"nodeType":860},{},[12396],{"data":12397,"marks":12398,"value":12399,"nodeType":864},{},[],"You definitely don’t want to be Context.ai in this scenario. The reputational harm could be pretty significant, and is a wake-up call for other SaaS vendors to check that their house is in order. But although Vercel have responded quickly and transparently to the incident, this could only really have happened as a result of technical and procedural control gaps on their end.",{"data":12401,"content":12402,"nodeType":860},{},[12403],{"data":12404,"marks":12405,"value":12406,"nodeType":864},{},[],"It’s worth taking a step back and looking at the bigger picture here — and how these issues might impact your organization too. ",{"data":12408,"content":12409,"nodeType":1005},{},[],{"data":12411,"content":12412,"nodeType":1009},{},[12413],{"data":12414,"marks":12415,"value":12417,"nodeType":864},{},[12416],{"type":899},"Shadow AI is still just shadow SaaS – but the AI scramble is a force multiplier",{"data":12419,"content":12420,"nodeType":860},{},[12421],{"data":12422,"marks":12423,"value":12424,"nodeType":864},{},[],"Shadow IT, and in particular shadow SaaS, is not a new problem. Most organizations run heavily (or exclusively) on SaaS, accessed in the browser, with hundreds of apps per enterprise. Unmanaged, self-adopted apps have been a thorn in the side of security teams for some time. ",{"data":12426,"content":12427,"nodeType":860},{},[12428],{"data":12429,"marks":12430,"value":12431,"nodeType":864},{},[],"There are essentially four kinds of shadow IT to be wary of in the context of AI apps:",{"data":12433,"content":12434,"nodeType":941},{},[12435,12450,12465,12480],{"data":12436,"content":12437,"nodeType":945},{},[12438],{"data":12439,"content":12440,"nodeType":860},{},[12441,12446],{"data":12442,"marks":12443,"value":12445,"nodeType":864},{},[12444],{"type":899},"Shadow apps:",{"data":12447,"marks":12448,"value":12449,"nodeType":864},{},[]," Apps that employees have signed up to and are using for business purposes without business approval. This includes apps signed up to with a corporate account or personal account. ",{"data":12451,"content":12452,"nodeType":945},{},[12453],{"data":12454,"content":12455,"nodeType":860},{},[12456,12461],{"data":12457,"marks":12458,"value":12460,"nodeType":864},{},[12459],{"type":899},"Shadow tenants:",{"data":12462,"marks":12463,"value":12464,"nodeType":864},{},[]," Apps that employees are accessing with personal accounts, essentially creating shadow tenants outside of your organization’s control — even if you’ve approved the app itself.",{"data":12466,"content":12467,"nodeType":945},{},[12468],{"data":12469,"content":12470,"nodeType":860},{},[12471,12476],{"data":12472,"marks":12473,"value":12475,"nodeType":864},{},[12474],{"type":899},"Shadow extensions:",{"data":12477,"marks":12478,"value":12479,"nodeType":864},{},[]," Many AI apps come with an extension counterpart, along with countless third-party extensions that are either untrustworthy or downright malicious. Browser extensions add another angle to the equation by presenting visibility beyond the application into browser activity. ",{"data":12481,"content":12482,"nodeType":945},{},[12483],{"data":12484,"content":12485,"nodeType":860},{},[12486,12491],{"data":12487,"marks":12488,"value":12490,"nodeType":864},{},[12489],{"type":899},"Shadow integrations:",{"data":12492,"marks":12493,"value":12494,"nodeType":864},{},[]," OAuth connections across apps that aren’t known or approved. Even if an app itself is approved, plugging that app directly into your primary enterprise apps — with all the sensitive data and functionality therein — isn't necessarily also approved.  ",{"data":12496,"content":12497,"nodeType":860},{},[12498],{"data":12499,"marks":12500,"value":12501,"nodeType":864},{},[],"In the Vercel case, we’re talking specifically about shadow integrations. But all of these present a key risk to your organization. ",{"data":12503,"content":12504,"nodeType":1312},{},[12505],{"data":12506,"marks":12507,"value":12509,"nodeType":864},{},[12508],{"type":899},"The web of OAuth sprawl spans way beyond Google and Microsoft ",{"data":12511,"content":12512,"nodeType":860},{},[12513,12518],{"data":12514,"marks":12515,"value":12517,"nodeType":864},{},[12516],{"type":899},"On average we see 17 unique AI app integrations per organization in Microsoft and Google alone",{"data":12519,"marks":12520,"value":12521,"nodeType":864},{},[],". If you consider that most organizations have probably approved 1 or 2 max for business use, and may have approved none at all for app-to-app OAuth connectivity, that’s quite a significant difference. ",{"data":12523,"content":12524,"nodeType":860},{},[12525],{"data":12526,"marks":12527,"value":12528,"nodeType":864},{},[],"The number of connections outside of these core platforms is significantly higher. Just think how the typical AI app operates. If you want it to be able to effectively automate workflows — pull data from one app, aggregate and analyze it in another, present that information in a report, dashboard, or presentation, and then distribute it — that’s a fair few integrations in just one workflow. MCP connections use OAuth to achieve this interconnectivity in the same way as any other SaaS app.",{"data":12530,"content":12531,"nodeType":860},{},[12532],{"data":12533,"marks":12534,"value":12535,"nodeType":864},{},[],"We used to talk about automation apps like Zapier as being a goldmine for attackers. Well, AI apps are on their way to being even more interconnected, more frequently used, and more flexible in terms of how attackers can abuse them. ",{"data":12537,"content":12541,"nodeType":996},{"target":12538},{"sys":12539},{"id":12540,"type":1001,"linkType":1002},"4FiWyVw7mpVBA5uBVJoOKL",[],{"data":12543,"content":12544,"nodeType":1312},{},[12545],{"data":12546,"marks":12547,"value":12549,"nodeType":864},{},[12548],{"type":899},"A note on OAuth configuration complexity",{"data":12551,"content":12552,"nodeType":860},{},[12553],{"data":12554,"marks":12555,"value":12556,"nodeType":864},{},[],"A common misconception is that when a regular user consents to an OAuth app (let's use Google Workspace as the example) the app only gets access to the things they can directly access. Technically that's true — the access is scoped to that user's permissions. But in practice, the blast radius is almost always bigger than people think.",{"data":12558,"content":12559,"nodeType":860},{},[12560],{"data":12561,"marks":12562,"value":12563,"nodeType":864},{},[],"The scope includes shared drives, shared calendars, documents shared with them, and any other collaborative resources. A single well-permissioned user (think: developer with access to secrets, dashboards, and internal tooling) is more than enough to cause serious damage through a single OAuth grant. ",{"data":12565,"content":12566,"nodeType":860},{},[12567],{"data":12568,"marks":12569,"value":12570,"nodeType":864},{},[],"The scopes themselves are often deceptively broad. An app requesting https://www.googleapis.com/auth/drive gets full read/write access to everything the user can see in Drive — not just their personal files. And the blast radius is further contingent on the data and user permission hygiene in these broader environments. ",{"data":12572,"content":12573,"nodeType":860},{},[12574],{"data":12575,"marks":12576,"value":12577,"nodeType":864},{},[],"So if your environment hasn't got cleanly separated access and permissions for different users and groups, an attacker compromising a \"normal\" user account can end up with extensive access. You don't need tenant-wide admin access when a normal user's access already spans the crown jewels.",{"data":12579,"content":12583,"nodeType":996},{"target":12580},{"sys":12581},{"id":12582,"type":1001,"linkType":1002},"2t81AnAHx2On3fBynM4vVe",[],{"data":12585,"content":12586,"nodeType":1312},{},[12587],{"data":12588,"marks":12589,"value":12591,"nodeType":864},{},[12590],{"type":899},"Unsurprisingly, OAuth breaches are stacking up",{"data":12593,"content":12594,"nodeType":860},{},[12595],{"data":12596,"marks":12597,"value":12598,"nodeType":864},{},[],"Widespread OAuth interconnectedness isn’t just an AI app problem. Attackers have been exploiting this for some time:",{"data":12600,"content":12601,"nodeType":941},{},[12602,12649],{"data":12603,"content":12604,"nodeType":945},{},[12605],{"data":12606,"content":12607,"nodeType":860},{},[12608,12612,12619,12623,12632,12636,12645],{"data":12609,"marks":12610,"value":12611,"nodeType":864},{},[],"In 2025, ",{"data":12613,"content":12614,"nodeType":883},{"uri":6237},[12615],{"data":12616,"marks":12617,"value":6242,"nodeType":864},{},[12618],{"type":1455},{"data":12620,"marks":12621,"value":12622,"nodeType":864},{},[]," launched OAuth-driven supply chain attacks against Salesforce and Google Workspace tenants after breaching Salesloft (specifically the ",{"data":12624,"content":12626,"nodeType":883},{"uri":12625},"https://www.bleepingcomputer.com/news/security/shinyhunters-claims-15-billion-salesforce-records-stolen-in-drift-hacks/",[12627],{"data":12628,"marks":12629,"value":12631,"nodeType":864},{},[12630],{"type":1455},"Salesloft Drift",{"data":12633,"marks":12634,"value":12635,"nodeType":864},{},[]," platform) and ",{"data":12637,"content":12639,"nodeType":883},{"uri":12638},"https://www.bleepingcomputer.com/news/security/salesforce-investigates-customer-data-theft-via-gainsight-breach/",[12640],{"data":12641,"marks":12642,"value":12644,"nodeType":864},{},[12643],{"type":1455},"Gainsight",{"data":12646,"marks":12647,"value":12648,"nodeType":864},{},[],". In total, over 1000 organizations were impacted, including Google, Cloudflare, Rubrik, Elastic, Proofpoint, JFrog, Zscaler, Tenable, Palo Alto Networks, CyberArk, BeyondTrust, Qualys, and many more, with over 1.5B records stolen. ",{"data":12650,"content":12651,"nodeType":945},{},[12652],{"data":12653,"content":12654,"nodeType":860},{},[12655,12659,12666,12670,12679],{"data":12656,"marks":12657,"value":12658,"nodeType":864},{},[],"More recently, Snowflake customers were impacted after a ",{"data":12660,"content":12661,"nodeType":883},{"uri":12098},[12662],{"data":12663,"marks":12664,"value":12101,"nodeType":864},{},[12665],{"type":1455},{"data":12667,"marks":12668,"value":12669,"nodeType":864},{},[]," where the attacker attempted to leverage the stolen authentication tokens to access Salesforce data, with ",{"data":12671,"content":12673,"nodeType":883},{"uri":12672},"https://www.bleepingcomputer.com/news/security/stolen-rockstar-games-analytics-data-leaked-by-extortion-gang/",[12674],{"data":12675,"marks":12676,"value":12678,"nodeType":864},{},[12677],{"type":1455},"Rockstar",{"data":12680,"marks":12681,"value":12682,"nodeType":864},{},[]," a high-profile victim of the breach (again linked to Scattered Lapsus$ Hunters). ",{"data":12684,"content":12688,"nodeType":996},{"target":12685},{"sys":12686},{"id":12687,"type":1001,"linkType":1002},"3oqoL9L3fxetFcIhnfQhMQ",[],{"data":12690,"content":12691,"nodeType":1005},{},[],{"data":12693,"content":12694,"nodeType":1009},{},[12695],{"data":12696,"marks":12697,"value":12699,"nodeType":864},{},[12698],{"type":899},"Infostealers continue to drive corporate breaches",{"data":12701,"content":12702,"nodeType":860},{},[12703],{"data":12704,"marks":12705,"value":12706,"nodeType":864},{},[],"While unverified, Hudson Rock’s case for an infostealer breach being the root cause of the Context.ai breach seems believable. Infostealer infections have been one of the leading security threats for some time, fuelling breaches powered by stolen credentials and session tokens.",{"data":12708,"content":12709,"nodeType":860},{},[12710,12714,12719],{"data":12711,"marks":12712,"value":12713,"nodeType":864},{},[],"With the assumed rise in MFA coverage, it’s often surprising to security teams that stolen credentials are still a problem. ",{"data":12715,"marks":12716,"value":12718,"nodeType":864},{},[12717],{"type":899},"But of the last million logins we saw, 1 in 4 were password logins (not SSO), 2 in 5 were not protected by MFA, and 1 in 5 used a weak, breached, or reused password. ",{"data":12720,"marks":12721,"value":12722,"nodeType":864},{},[],"Plenty of scope for abuse. ",{"data":12724,"content":12725,"nodeType":860},{},[12726],{"data":12727,"marks":12728,"value":12729,"nodeType":864},{},[],"Stolen session tokens are even more valuable to attackers, enabling them to bypass authentication controls by replaying the token in their own browser. In theory, they should only be valid for a limited timeframe, but in practice this can be as many as 90 days, and sometimes indefinite. ",{"data":12731,"content":12732,"nodeType":860},{},[12733],{"data":12734,"marks":12735,"value":12736,"nodeType":864},{},[],"In this case, it seems likely that the compromised device was a developer machine (given the access to Supabase), or potentially even a personal device (given they were installing Roblox cheats…). This is relevant because these personal, developer, and BYOD machines are often less secure — developer machines are often exempt from EDR monitoring or significantly tuned-down (too noisy), while personal devices naturally lack enterprise security software.",{"data":12738,"content":12742,"nodeType":996},{"target":12739},{"sys":12740},{"id":12741,"type":1001,"linkType":1002},"139oaGgwRKZbwJzyex9LA5",[],{"data":12744,"content":12745,"nodeType":860},{},[12746,12750,12758],{"data":12747,"marks":12748,"value":12749,"nodeType":864},{},[],"We’ve also seen an uptick in developer-oriented phishing and malvertising campaigns. The ",{"data":12751,"content":12752,"nodeType":883},{"uri":6024},[12753],{"data":12754,"marks":12755,"value":12757,"nodeType":864},{},[12756],{"type":1455},"InstallFix campaign",{"data":12759,"marks":12760,"value":12761,"nodeType":864},{},[]," we identified, intercepting users as they attempt to install AI tools like Claude Code and NotebookLM, is an example of this — and also another way that attackers are capitalizing on AI hype. ",{"data":12763,"content":12764,"nodeType":1005},{},[],{"data":12766,"content":12767,"nodeType":1009},{},[12768],{"data":12769,"marks":12770,"value":2578,"nodeType":864},{},[12771],{"type":899},{"data":12773,"content":12774,"nodeType":860},{},[12775],{"data":12776,"marks":12777,"value":12778,"nodeType":864},{},[],"There are some immediate next steps that we’ll quickly summarize here, as they've already been covered in wider reporting. If you’re a Vercel customer, you should urgently rotate every credential stored as a non-sensitive variable that could have been exposed, enable the sensitive variable feature toggle, and monitor your account for anomalous activity. And if you’re using the specific Context.ai integration, you need to revoke it ASAP and begin a full audit of the connected accounts, both inside Workspace and broader connected apps (this isn’t that easy, as we’ll highlight in a moment). ",{"data":12780,"content":12784,"nodeType":996},{"target":12781},{"sys":12782},{"id":12783,"type":1001,"linkType":1002},"76HViirkH2R4QAzWg605sv",[],{"data":12786,"content":12787,"nodeType":860},{},[12788,12792,12801],{"data":12789,"marks":12790,"value":12791,"nodeType":864},{},[],"Taking a step back, organizations really need to get their arms around OAuth integrations in their environment. A default-deny approach to allowing users to consent to new integrations, and routinely auditing the ones already in your environment to ensure they’re still definitely required, is essential. Each integration expands your attack surface and could potentially grant an attacker extensive access to your environment. This default-deny approach isn't exactly a new concept for security teams and is the same in principle as what we recently advised for ",{"data":12793,"content":12795,"nodeType":883},{"uri":12794},"https://pushsecurity.com/blog/browser-extension-management-guide/",[12796],{"data":12797,"marks":12798,"value":12800,"nodeType":864},{},[12799],{"type":1455},"browser extension management",{"data":12802,"marks":12803,"value":12252,"nodeType":864},{},[],{"data":12805,"content":12806,"nodeType":860},{},[12807],{"data":12808,"marks":12809,"value":12810,"nodeType":864},{},[],"This is fairly straightforward in your main enterprise cloud environment (think M365 or Google Workspace). But doing it across every SaaS app that allows some level of OAuth integration with another (i.e. every SaaS app) is somewhat harder. Not only do you need to have a comprehensive and up-to-date inventory, you need to be an app admin for every app (not always the case for self-adopted apps) and the particular app needs to give you the control to restrict and remove OAuth grants on behalf of users in your tenant. ",{"data":12812,"content":12813,"nodeType":860},{},[12814],{"data":12815,"marks":12816,"value":12817,"nodeType":864},{},[],"Again, this is not exclusively a Shadow AI problem, even if AI adoption is contributing significantly to the sprawl. ",{"data":12819,"content":12823,"nodeType":996},{"target":12820},{"sys":12821},{"id":12822,"type":1001,"linkType":1002},"XKKHUiz56G82uwYhbv2Qv",[],{"data":12825,"content":12826,"nodeType":1005},{},[],{"data":12828,"content":12829,"nodeType":1009},{},[12830],{"data":12831,"marks":12832,"value":8991,"nodeType":864},{},[12833],{"type":899},{"data":12835,"content":12836,"nodeType":860},{},[12837],{"data":12838,"marks":12839,"value":12840,"nodeType":864},{},[],"As we’ve established, there are quite a few pieces to this puzzle. Push can help with all of them. ",{"data":12842,"content":12843,"nodeType":860},{},[12844],{"data":12845,"marks":12846,"value":12847,"nodeType":864},{},[],"Push observes every app login your employees make in their browser, building a comprehensive picture of SaaS and AI use across your organization. This includes how they’re logging in and how secure the login is: did it have MFA, what kind of MFA, was it using a weak or compromised password, did they use SSO, and so on. ",{"data":12849,"content":12853,"nodeType":996},{"target":12850},{"sys":12851},{"id":12852,"type":1001,"linkType":1002},"2B205bUaLm6vG8mIQ0rJvA",[],{"data":12855,"content":12856,"nodeType":860},{},[12857],{"data":12858,"marks":12859,"value":12860,"nodeType":864},{},[],"Push also tracks OAuth integrations in your environment and gives you the ability to manage and remove them in core environments like M365 and Google Workspace, providing a single platform for you to view, manage, and secure app use across your organization. ",{"data":12862,"content":12866,"nodeType":996},{"target":12863},{"sys":12864},{"id":12865,"type":1001,"linkType":1002},"eEbdBUfyzZsdIOjFOXHpM",[],{"data":12868,"content":12872,"nodeType":996},{"target":12869},{"sys":12870},{"id":12871,"type":1001,"linkType":1002},"1MTFxfROuGKxnkHQwWHe8K",[],{"data":12874,"content":12875,"nodeType":860},{},[12876,12880,12885,12889,12894],{"data":12877,"marks":12878,"value":12879,"nodeType":864},{},[],"This makes it easy to surface both vulnerabilities and possible control gaps, and do something about them. But where Push really excels is in the ability to observe and block OAuth connection requests ",{"data":12881,"marks":12882,"value":12884,"nodeType":864},{},[12883],{"type":899},"even outside of your primary enterprise apps.",{"data":12886,"marks":12887,"value":12888,"nodeType":864},{},[]," Using Push, you can detect and block OAuth integration requests as they traverse the browser. This ",{"data":12890,"marks":12891,"value":12893,"nodeType":864},{},[12892],{"type":899},"app-agnostic",{"data":12895,"marks":12896,"value":12897,"nodeType":864},{},[]," level of control is absolutely critical to halting OAuth integration sprawl. ",{"data":12899,"content":12903,"nodeType":996},{"target":12900},{"sys":12901},{"id":12902,"type":1001,"linkType":1002},"2VZ4uw6MXslXME2ueydGuT",[],{"data":12905,"content":12906,"nodeType":1312},{},[12907,12911],{"data":12908,"marks":12909,"value":12910,"nodeType":864},{},[],"And t",{"data":12912,"marks":12913,"value":12915,"nodeType":864},{},[12914],{"type":899},"hat’s not all …",{"data":12917,"content":12918,"nodeType":860},{},[12919],{"data":12920,"marks":12921,"value":12922,"nodeType":864},{},[],"Push’s browser-based security platform also detects and blocks browser-based attacks like AiTM phishing, credential stuffing, malicious browser extensions, device code phishing, ClickFix, and session hijacking in real time. This includes the most prominent infostealer delivery vectors in terms of malvertising and *Fix-style attacks. Push analyzes every web page in every browser session and tab for threats, in real time, with no latency. ",{"data":12924,"content":12925,"nodeType":860},{},[12926],{"data":12927,"marks":12928,"value":12929,"nodeType":864},{},[],"But as we've established, you don't need to wait until it all goes wrong either — you can use Push to proactively find and fix vulnerabilities across the apps that your employees use, like ghost logins, SSO coverage gaps, MFA gaps, vulnerable passwords, risky OAuth integrations, and more to harden your attack surface.",{"data":12931,"content":12932,"nodeType":860},{},[12933,12937,12945,12948,12957,12961,12968],{"data":12934,"marks":12935,"value":12936,"nodeType":864},{},[],"To learn more about Push, ",{"data":12938,"content":12940,"nodeType":883},{"uri":12939},"https://pushsecurity.com/resources/product-brochure",[12941],{"data":12942,"marks":12943,"value":12944,"nodeType":864},{},[],"check out our latest product overview",{"data":12946,"marks":12947,"value":3731,"nodeType":864},{},[],{"data":12949,"content":12951,"nodeType":883},{"uri":12950},"https://pushsecurity.com/product-demo/",[12952],{"data":12953,"marks":12954,"value":12956,"nodeType":864},{},[12955],{"type":1455},"view our demo library",{"data":12958,"marks":12959,"value":12960,"nodeType":864},{},[],", or ",{"data":12962,"content":12963,"nodeType":883},{"uri":1700},[12964],{"data":12965,"marks":12966,"value":12967,"nodeType":864},{},[],"book some time with one of our team for a live demo",{"data":12969,"marks":12970,"value":2924,"nodeType":864},{},[],"Unpacking the Vercel breach: A cautionary tale for Shadow AI and OAuth sprawl","In April 2026, Vercel was compromised via an OAuth app integrated into their Google Workspace tenant stemming from a compromised third-party AI SaaS provider.","2026-04-23T00:00:00.000Z","unpacking-the-vercel-breach",{"items":12976},[12977,12979],{"sys":12978,"name":6593},{"id":6592},{"sys":12980,"name":342},{"id":6596},{"items":12982},[12983],{"fullName":2736,"firstName":2737,"jobTitle":2738,"profilePicture":12984},{"url":2740},{"__typename":2059,"sys":12986,"content":12987,"title":4865,"synopsis":4866,"hashTags":59,"publishedDate":4867,"slug":4868,"tagsCollection":14056,"authorsCollection":14062},{"id":3628},{"json":12988},{"data":12989,"content":12990,"nodeType":856},{},[12991,13004,13009,13015,13021,13026,13029,13036,13043,13058,13096,13101,13114,13117,13124,13131,13153,13185,13191,13194,13201,13208,13214,13219,13225,13228,13235,13242,13276,13306,13312,13315,13322,13329,13349,13355,13394,13400,13403,13410,13417,13453,13459,13464,13467,13474,13481,13507,13513,13518,13524,13527,13534,13541,13564,13570,13576,13582,13585,13592,13599,13605,13610,13616,13637,13660,13663,13670,13677,13683,13689,13692,13699,13754,13757,13764,13770,14038,14041],{"data":12992,"content":12993,"nodeType":860},{},[12994,12997,13001],{"data":12995,"marks":12996,"value":3639,"nodeType":864},{},[],{"data":12998,"marks":12999,"value":3644,"nodeType":864},{},[13000],{"type":899},{"data":13002,"marks":13003,"value":3648,"nodeType":864},{},[],{"data":13005,"content":13008,"nodeType":996},{"target":13006},{"sys":13007},{"id":3653,"type":1001,"linkType":1002},[],{"data":13010,"content":13011,"nodeType":860},{},[13012],{"data":13013,"marks":13014,"value":3661,"nodeType":864},{},[],{"data":13016,"content":13017,"nodeType":860},{},[13018],{"data":13019,"marks":13020,"value":3668,"nodeType":864},{},[],{"data":13022,"content":13025,"nodeType":996},{"target":13023},{"sys":13024},{"id":3673,"type":1001,"linkType":1002},[],{"data":13027,"content":13028,"nodeType":1005},{},[],{"data":13030,"content":13031,"nodeType":1009},{},[13032],{"data":13033,"marks":13034,"value":3685,"nodeType":864},{},[13035],{"type":899},{"data":13037,"content":13038,"nodeType":860},{},[13039],{"data":13040,"marks":13041,"value":3693,"nodeType":864},{},[13042],{"type":899},{"data":13044,"content":13045,"nodeType":860},{},[13046,13049,13055],{"data":13047,"marks":13048,"value":3700,"nodeType":864},{},[],{"data":13050,"content":13051,"nodeType":883},{"uri":3703},[13052],{"data":13053,"marks":13054,"value":3708,"nodeType":864},{},[],{"data":13056,"marks":13057,"value":3712,"nodeType":864},{},[],{"data":13059,"content":13060,"nodeType":860},{},[13061,13064,13070,13073,13077,13080,13084,13087,13093],{"data":13062,"marks":13063,"value":3719,"nodeType":864},{},[],{"data":13065,"content":13066,"nodeType":883},{"uri":3722},[13067],{"data":13068,"marks":13069,"value":3727,"nodeType":864},{},[],{"data":13071,"marks":13072,"value":3731,"nodeType":864},{},[],{"data":13074,"marks":13075,"value":3736,"nodeType":864},{},[13076],{"type":899},{"data":13078,"marks":13079,"value":2232,"nodeType":864},{},[],{"data":13081,"marks":13082,"value":3744,"nodeType":864},{},[13083],{"type":899},{"data":13085,"marks":13086,"value":3748,"nodeType":864},{},[],{"data":13088,"content":13089,"nodeType":883},{"uri":3751},[13090],{"data":13091,"marks":13092,"value":3756,"nodeType":864},{},[],{"data":13094,"marks":13095,"value":3760,"nodeType":864},{},[],{"data":13097,"content":13100,"nodeType":996},{"target":13098},{"sys":13099},{"id":3765,"type":1001,"linkType":1002},[],{"data":13102,"content":13103,"nodeType":860},{},[13104,13107,13111],{"data":13105,"marks":13106,"value":3773,"nodeType":864},{},[],{"data":13108,"marks":13109,"value":3778,"nodeType":864},{},[13110],{"type":899},{"data":13112,"marks":13113,"value":2924,"nodeType":864},{},[],{"data":13115,"content":13116,"nodeType":1005},{},[],{"data":13118,"content":13119,"nodeType":1009},{},[13120],{"data":13121,"marks":13122,"value":3792,"nodeType":864},{},[13123],{"type":899},{"data":13125,"content":13126,"nodeType":860},{},[13127],{"data":13128,"marks":13129,"value":3693,"nodeType":864},{},[13130],{"type":899},{"data":13132,"content":13133,"nodeType":860},{},[13134,13137,13143,13146,13150],{"data":13135,"marks":13136,"value":3806,"nodeType":864},{},[],{"data":13138,"content":13139,"nodeType":883},{"uri":3809},[13140],{"data":13141,"marks":13142,"value":3814,"nodeType":864},{},[],{"data":13144,"marks":13145,"value":3818,"nodeType":864},{},[],{"data":13147,"marks":13148,"value":3823,"nodeType":864},{},[13149],{"type":899},{"data":13151,"marks":13152,"value":3827,"nodeType":864},{},[],{"data":13154,"content":13155,"nodeType":860},{},[13156,13159,13165,13168,13172,13175,13182],{"data":13157,"marks":13158,"value":3834,"nodeType":864},{},[],{"data":13160,"content":13161,"nodeType":883},{"uri":3837},[13162],{"data":13163,"marks":13164,"value":3842,"nodeType":864},{},[],{"data":13166,"marks":13167,"value":3846,"nodeType":864},{},[],{"data":13169,"marks":13170,"value":3851,"nodeType":864},{},[13171],{"type":899},{"data":13173,"marks":13174,"value":3855,"nodeType":864},{},[],{"data":13176,"content":13177,"nodeType":883},{"uri":3858},[13178],{"data":13179,"marks":13180,"value":3864,"nodeType":864},{},[13181],{"type":899},{"data":13183,"marks":13184,"value":3868,"nodeType":864},{},[],{"data":13186,"content":13187,"nodeType":860},{},[13188],{"data":13189,"marks":13190,"value":3875,"nodeType":864},{},[],{"data":13192,"content":13193,"nodeType":1005},{},[],{"data":13195,"content":13196,"nodeType":1009},{},[13197],{"data":13198,"marks":13199,"value":3886,"nodeType":864},{},[13200],{"type":899},{"data":13202,"content":13203,"nodeType":860},{},[13204],{"data":13205,"marks":13206,"value":3894,"nodeType":864},{},[13207],{"type":899},{"data":13209,"content":13210,"nodeType":860},{},[13211],{"data":13212,"marks":13213,"value":3901,"nodeType":864},{},[],{"data":13215,"content":13218,"nodeType":996},{"target":13216},{"sys":13217},{"id":3906,"type":1001,"linkType":1002},[],{"data":13220,"content":13221,"nodeType":860},{},[13222],{"data":13223,"marks":13224,"value":3914,"nodeType":864},{},[],{"data":13226,"content":13227,"nodeType":1005},{},[],{"data":13229,"content":13230,"nodeType":1009},{},[13231],{"data":13232,"marks":13233,"value":3925,"nodeType":864},{},[13234],{"type":899},{"data":13236,"content":13237,"nodeType":860},{},[13238],{"data":13239,"marks":13240,"value":3894,"nodeType":864},{},[13241],{"type":899},{"data":13243,"content":13244,"nodeType":860},{},[13245,13248,13255,13258,13264,13267,13273],{"data":13246,"marks":13247,"value":3939,"nodeType":864},{},[],{"data":13249,"content":13250,"nodeType":883},{"uri":3942},[13251],{"data":13252,"marks":13253,"value":3948,"nodeType":864},{},[13254],{"type":1455},{"data":13256,"marks":13257,"value":3731,"nodeType":864},{},[],{"data":13259,"content":13260,"nodeType":883},{"uri":3954},[13261],{"data":13262,"marks":13263,"value":3959,"nodeType":864},{},[],{"data":13265,"marks":13266,"value":3731,"nodeType":864},{},[],{"data":13268,"content":13269,"nodeType":883},{"uri":3965},[13270],{"data":13271,"marks":13272,"value":3970,"nodeType":864},{},[],{"data":13274,"marks":13275,"value":3974,"nodeType":864},{},[],{"data":13277,"content":13278,"nodeType":860},{},[13279,13282,13289,13292,13296,13299,13303],{"data":13280,"marks":13281,"value":21,"nodeType":864},{},[],{"data":13283,"content":13284,"nodeType":883},{"uri":2411},[13285],{"data":13286,"marks":13287,"value":3988,"nodeType":864},{},[13288],{"type":1455},{"data":13290,"marks":13291,"value":3992,"nodeType":864},{},[],{"data":13293,"marks":13294,"value":3997,"nodeType":864},{},[13295],{"type":899},{"data":13297,"marks":13298,"value":4001,"nodeType":864},{},[],{"data":13300,"marks":13301,"value":4006,"nodeType":864},{},[13302],{"type":2246},{"data":13304,"marks":13305,"value":4010,"nodeType":864},{},[],{"data":13307,"content":13308,"nodeType":860},{},[13309],{"data":13310,"marks":13311,"value":4017,"nodeType":864},{},[],{"data":13313,"content":13314,"nodeType":1005},{},[],{"data":13316,"content":13317,"nodeType":1009},{},[13318],{"data":13319,"marks":13320,"value":4028,"nodeType":864},{},[13321],{"type":899},{"data":13323,"content":13324,"nodeType":860},{},[13325],{"data":13326,"marks":13327,"value":3894,"nodeType":864},{},[13328],{"type":899},{"data":13330,"content":13331,"nodeType":860},{},[13332,13335,13339,13342,13346],{"data":13333,"marks":13334,"value":4042,"nodeType":864},{},[],{"data":13336,"marks":13337,"value":4047,"nodeType":864},{},[13338],{"type":2246},{"data":13340,"marks":13341,"value":4051,"nodeType":864},{},[],{"data":13343,"marks":13344,"value":4056,"nodeType":864},{},[13345],{"type":2246},{"data":13347,"marks":13348,"value":4060,"nodeType":864},{},[],{"data":13350,"content":13351,"nodeType":860},{},[13352],{"data":13353,"marks":13354,"value":4067,"nodeType":864},{},[],{"data":13356,"content":13357,"nodeType":941},{},[13358,13376],{"data":13359,"content":13360,"nodeType":945},{},[13361],{"data":13362,"content":13363,"nodeType":860},{},[13364,13367,13373],{"data":13365,"marks":13366,"value":2761,"nodeType":864},{},[],{"data":13368,"content":13369,"nodeType":883},{"uri":4082},[13370],{"data":13371,"marks":13372,"value":4087,"nodeType":864},{},[],{"data":13374,"marks":13375,"value":4091,"nodeType":864},{},[],{"data":13377,"content":13378,"nodeType":945},{},[13379],{"data":13380,"content":13381,"nodeType":860},{},[13382,13385,13391],{"data":13383,"marks":13384,"value":2761,"nodeType":864},{},[],{"data":13386,"content":13387,"nodeType":883},{"uri":4103},[13388],{"data":13389,"marks":13390,"value":4108,"nodeType":864},{},[],{"data":13392,"marks":13393,"value":4112,"nodeType":864},{},[],{"data":13395,"content":13396,"nodeType":860},{},[13397],{"data":13398,"marks":13399,"value":4119,"nodeType":864},{},[],{"data":13401,"content":13402,"nodeType":1005},{},[],{"data":13404,"content":13405,"nodeType":1009},{},[13406],{"data":13407,"marks":13408,"value":4130,"nodeType":864},{},[13409],{"type":899},{"data":13411,"content":13412,"nodeType":860},{},[13413],{"data":13414,"marks":13415,"value":4138,"nodeType":864},{},[13416],{"type":899},{"data":13418,"content":13419,"nodeType":860},{},[13420,13423,13427,13430,13436,13439,13443,13446,13450],{"data":13421,"marks":13422,"value":4145,"nodeType":864},{},[],{"data":13424,"marks":13425,"value":4150,"nodeType":864},{},[13426],{"type":899},{"data":13428,"marks":13429,"value":4154,"nodeType":864},{},[],{"data":13431,"content":13432,"nodeType":883},{"uri":3237},[13433],{"data":13434,"marks":13435,"value":4161,"nodeType":864},{},[],{"data":13437,"marks":13438,"value":4165,"nodeType":864},{},[],{"data":13440,"marks":13441,"value":4170,"nodeType":864},{},[13442],{"type":899},{"data":13444,"marks":13445,"value":4174,"nodeType":864},{},[],{"data":13447,"marks":13448,"value":4179,"nodeType":864},{},[13449],{"type":899},{"data":13451,"marks":13452,"value":4183,"nodeType":864},{},[],{"data":13454,"content":13455,"nodeType":860},{},[13456],{"data":13457,"marks":13458,"value":4190,"nodeType":864},{},[],{"data":13460,"content":13463,"nodeType":996},{"target":13461},{"sys":13462},{"id":4195,"type":1001,"linkType":1002},[],{"data":13465,"content":13466,"nodeType":1005},{},[],{"data":13468,"content":13469,"nodeType":1009},{},[13470],{"data":13471,"marks":13472,"value":4207,"nodeType":864},{},[13473],{"type":899},{"data":13475,"content":13476,"nodeType":860},{},[13477],{"data":13478,"marks":13479,"value":4215,"nodeType":864},{},[13480],{"type":899},{"data":13482,"content":13483,"nodeType":860},{},[13484,13487,13494,13497,13504],{"data":13485,"marks":13486,"value":4222,"nodeType":864},{},[],{"data":13488,"content":13489,"nodeType":883},{"uri":2561},[13490],{"data":13491,"marks":13492,"value":4230,"nodeType":864},{},[13493],{"type":899},{"data":13495,"marks":13496,"value":4234,"nodeType":864},{},[],{"data":13498,"content":13499,"nodeType":883},{"uri":4237},[13500],{"data":13501,"marks":13502,"value":4243,"nodeType":864},{},[13503],{"type":899},{"data":13505,"marks":13506,"value":4247,"nodeType":864},{},[],{"data":13508,"content":13509,"nodeType":860},{},[13510],{"data":13511,"marks":13512,"value":4254,"nodeType":864},{},[],{"data":13514,"content":13517,"nodeType":996},{"target":13515},{"sys":13516},{"id":4259,"type":1001,"linkType":1002},[],{"data":13519,"content":13520,"nodeType":860},{},[13521],{"data":13522,"marks":13523,"value":4267,"nodeType":864},{},[],{"data":13525,"content":13526,"nodeType":1005},{},[],{"data":13528,"content":13529,"nodeType":1009},{},[13530],{"data":13531,"marks":13532,"value":4278,"nodeType":864},{},[13533],{"type":899},{"data":13535,"content":13536,"nodeType":860},{},[13537],{"data":13538,"marks":13539,"value":4286,"nodeType":864},{},[13540],{"type":899},{"data":13542,"content":13543,"nodeType":860},{},[13544,13547,13551,13554,13561],{"data":13545,"marks":13546,"value":4293,"nodeType":864},{},[],{"data":13548,"marks":13549,"value":4298,"nodeType":864},{},[13550],{"type":2246},{"data":13552,"marks":13553,"value":4302,"nodeType":864},{},[],{"data":13555,"content":13556,"nodeType":883},{"uri":4305},[13557],{"data":13558,"marks":13559,"value":4311,"nodeType":864},{},[13560],{"type":899},{"data":13562,"marks":13563,"value":4315,"nodeType":864},{},[],{"data":13565,"content":13566,"nodeType":860},{},[13567],{"data":13568,"marks":13569,"value":4322,"nodeType":864},{},[],{"data":13571,"content":13572,"nodeType":860},{},[13573],{"data":13574,"marks":13575,"value":4329,"nodeType":864},{},[],{"data":13577,"content":13578,"nodeType":860},{},[13579],{"data":13580,"marks":13581,"value":4336,"nodeType":864},{},[],{"data":13583,"content":13584,"nodeType":1005},{},[],{"data":13586,"content":13587,"nodeType":1009},{},[13588],{"data":13589,"marks":13590,"value":4347,"nodeType":864},{},[13591],{"type":899},{"data":13593,"content":13594,"nodeType":860},{},[13595],{"data":13596,"marks":13597,"value":4355,"nodeType":864},{},[13598],{"type":899},{"data":13600,"content":13601,"nodeType":860},{},[13602],{"data":13603,"marks":13604,"value":4362,"nodeType":864},{},[],{"data":13606,"content":13609,"nodeType":996},{"target":13607},{"sys":13608},{"id":4367,"type":1001,"linkType":1002},[],{"data":13611,"content":13612,"nodeType":860},{},[13613],{"data":13614,"marks":13615,"value":4375,"nodeType":864},{},[],{"data":13617,"content":13618,"nodeType":941},{},[13619,13628],{"data":13620,"content":13621,"nodeType":945},{},[13622],{"data":13623,"content":13624,"nodeType":860},{},[13625],{"data":13626,"marks":13627,"value":4388,"nodeType":864},{},[],{"data":13629,"content":13630,"nodeType":945},{},[13631],{"data":13632,"content":13633,"nodeType":860},{},[13634],{"data":13635,"marks":13636,"value":4398,"nodeType":864},{},[],{"data":13638,"content":13639,"nodeType":860},{},[13640,13643,13650,13653,13657],{"data":13641,"marks":13642,"value":4405,"nodeType":864},{},[],{"data":13644,"content":13645,"nodeType":883},{"uri":4408},[13646],{"data":13647,"marks":13648,"value":4414,"nodeType":864},{},[13649],{"type":899},{"data":13651,"marks":13652,"value":4418,"nodeType":864},{},[],{"data":13654,"marks":13655,"value":4423,"nodeType":864},{},[13656],{"type":2246},{"data":13658,"marks":13659,"value":4427,"nodeType":864},{},[],{"data":13661,"content":13662,"nodeType":1005},{},[],{"data":13664,"content":13665,"nodeType":1009},{},[13666],{"data":13667,"marks":13668,"value":4438,"nodeType":864},{},[13669],{"type":899},{"data":13671,"content":13672,"nodeType":860},{},[13673],{"data":13674,"marks":13675,"value":4446,"nodeType":864},{},[13676],{"type":899},{"data":13678,"content":13679,"nodeType":860},{},[13680],{"data":13681,"marks":13682,"value":4453,"nodeType":864},{},[],{"data":13684,"content":13685,"nodeType":860},{},[13686],{"data":13687,"marks":13688,"value":4460,"nodeType":864},{},[],{"data":13690,"content":13691,"nodeType":1005},{},[],{"data":13693,"content":13694,"nodeType":1009},{},[13695],{"data":13696,"marks":13697,"value":4471,"nodeType":864},{},[13698],{"type":899},{"data":13700,"content":13701,"nodeType":941},{},[13702,13715,13728,13741],{"data":13703,"content":13704,"nodeType":945},{},[13705],{"data":13706,"content":13707,"nodeType":860},{},[13708,13712],{"data":13709,"marks":13710,"value":4485,"nodeType":864},{},[13711],{"type":899},{"data":13713,"marks":13714,"value":4489,"nodeType":864},{},[],{"data":13716,"content":13717,"nodeType":945},{},[13718],{"data":13719,"content":13720,"nodeType":860},{},[13721,13725],{"data":13722,"marks":13723,"value":4500,"nodeType":864},{},[13724],{"type":899},{"data":13726,"marks":13727,"value":4504,"nodeType":864},{},[],{"data":13729,"content":13730,"nodeType":945},{},[13731],{"data":13732,"content":13733,"nodeType":860},{},[13734,13738],{"data":13735,"marks":13736,"value":4515,"nodeType":864},{},[13737],{"type":899},{"data":13739,"marks":13740,"value":4519,"nodeType":864},{},[],{"data":13742,"content":13743,"nodeType":945},{},[13744],{"data":13745,"content":13746,"nodeType":860},{},[13747,13751],{"data":13748,"marks":13749,"value":781,"nodeType":864},{},[13750],{"type":899},{"data":13752,"marks":13753,"value":4533,"nodeType":864},{},[],{"data":13755,"content":13756,"nodeType":1005},{},[],{"data":13758,"content":13759,"nodeType":1009},{},[13760],{"data":13761,"marks":13762,"value":4544,"nodeType":864},{},[13763],{"type":899},{"data":13765,"content":13766,"nodeType":860},{},[13767],{"data":13768,"marks":13769,"value":4551,"nodeType":864},{},[],{"data":13771,"content":13772,"nodeType":4845},{},[13773,13796,13818,13840,13862,13884,13906,13928,13950,13972,13994,14016],{"data":13774,"content":13775,"nodeType":4581},{},[13776,13786],{"data":13777,"content":13778,"nodeType":4569},{},[13779],{"data":13780,"content":13781,"nodeType":860},{},[13782],{"data":13783,"marks":13784,"value":4568,"nodeType":864},{},[13785],{"type":899},{"data":13787,"content":13788,"nodeType":4569},{},[13789],{"data":13790,"content":13791,"nodeType":860},{},[13792],{"data":13793,"marks":13794,"value":4580,"nodeType":864},{},[13795],{"type":899},{"data":13797,"content":13798,"nodeType":4581},{},[13799,13809],{"data":13800,"content":13801,"nodeType":4569},{},[13802],{"data":13803,"content":13804,"nodeType":860},{},[13805],{"data":13806,"marks":13807,"value":4595,"nodeType":864},{},[13808],{"type":899},{"data":13810,"content":13811,"nodeType":4569},{},[13812],{"data":13813,"content":13814,"nodeType":860},{},[13815],{"data":13816,"marks":13817,"value":4605,"nodeType":864},{},[],{"data":13819,"content":13820,"nodeType":4581},{},[13821,13831],{"data":13822,"content":13823,"nodeType":4569},{},[13824],{"data":13825,"content":13826,"nodeType":860},{},[13827],{"data":13828,"marks":13829,"value":4619,"nodeType":864},{},[13830],{"type":899},{"data":13832,"content":13833,"nodeType":4569},{},[13834],{"data":13835,"content":13836,"nodeType":860},{},[13837],{"data":13838,"marks":13839,"value":4629,"nodeType":864},{},[],{"data":13841,"content":13842,"nodeType":4581},{},[13843,13853],{"data":13844,"content":13845,"nodeType":4569},{},[13846],{"data":13847,"content":13848,"nodeType":860},{},[13849],{"data":13850,"marks":13851,"value":4643,"nodeType":864},{},[13852],{"type":899},{"data":13854,"content":13855,"nodeType":4569},{},[13856],{"data":13857,"content":13858,"nodeType":860},{},[13859],{"data":13860,"marks":13861,"value":4653,"nodeType":864},{},[],{"data":13863,"content":13864,"nodeType":4581},{},[13865,13875],{"data":13866,"content":13867,"nodeType":4569},{},[13868],{"data":13869,"content":13870,"nodeType":860},{},[13871],{"data":13872,"marks":13873,"value":4667,"nodeType":864},{},[13874],{"type":899},{"data":13876,"content":13877,"nodeType":4569},{},[13878],{"data":13879,"content":13880,"nodeType":860},{},[13881],{"data":13882,"marks":13883,"value":4677,"nodeType":864},{},[],{"data":13885,"content":13886,"nodeType":4581},{},[13887,13897],{"data":13888,"content":13889,"nodeType":4569},{},[13890],{"data":13891,"content":13892,"nodeType":860},{},[13893],{"data":13894,"marks":13895,"value":4691,"nodeType":864},{},[13896],{"type":899},{"data":13898,"content":13899,"nodeType":4569},{},[13900],{"data":13901,"content":13902,"nodeType":860},{},[13903],{"data":13904,"marks":13905,"value":4701,"nodeType":864},{},[],{"data":13907,"content":13908,"nodeType":4581},{},[13909,13919],{"data":13910,"content":13911,"nodeType":4569},{},[13912],{"data":13913,"content":13914,"nodeType":860},{},[13915],{"data":13916,"marks":13917,"value":4715,"nodeType":864},{},[13918],{"type":899},{"data":13920,"content":13921,"nodeType":4569},{},[13922],{"data":13923,"content":13924,"nodeType":860},{},[13925],{"data":13926,"marks":13927,"value":4725,"nodeType":864},{},[],{"data":13929,"content":13930,"nodeType":4581},{},[13931,13941],{"data":13932,"content":13933,"nodeType":4569},{},[13934],{"data":13935,"content":13936,"nodeType":860},{},[13937],{"data":13938,"marks":13939,"value":4739,"nodeType":864},{},[13940],{"type":899},{"data":13942,"content":13943,"nodeType":4569},{},[13944],{"data":13945,"content":13946,"nodeType":860},{},[13947],{"data":13948,"marks":13949,"value":4749,"nodeType":864},{},[],{"data":13951,"content":13952,"nodeType":4581},{},[13953,13963],{"data":13954,"content":13955,"nodeType":4569},{},[13956],{"data":13957,"content":13958,"nodeType":860},{},[13959],{"data":13960,"marks":13961,"value":4763,"nodeType":864},{},[13962],{"type":899},{"data":13964,"content":13965,"nodeType":4569},{},[13966],{"data":13967,"content":13968,"nodeType":860},{},[13969],{"data":13970,"marks":13971,"value":4773,"nodeType":864},{},[],{"data":13973,"content":13974,"nodeType":4581},{},[13975,13985],{"data":13976,"content":13977,"nodeType":4569},{},[13978],{"data":13979,"content":13980,"nodeType":860},{},[13981],{"data":13982,"marks":13983,"value":4787,"nodeType":864},{},[13984],{"type":899},{"data":13986,"content":13987,"nodeType":4569},{},[13988],{"data":13989,"content":13990,"nodeType":860},{},[13991],{"data":13992,"marks":13993,"value":4797,"nodeType":864},{},[],{"data":13995,"content":13996,"nodeType":4581},{},[13997,14007],{"data":13998,"content":13999,"nodeType":4569},{},[14000],{"data":14001,"content":14002,"nodeType":860},{},[14003],{"data":14004,"marks":14005,"value":4811,"nodeType":864},{},[14006],{"type":899},{"data":14008,"content":14009,"nodeType":4569},{},[14010],{"data":14011,"content":14012,"nodeType":860},{},[14013],{"data":14014,"marks":14015,"value":4821,"nodeType":864},{},[],{"data":14017,"content":14018,"nodeType":4581},{},[14019,14029],{"data":14020,"content":14021,"nodeType":4569},{},[14022],{"data":14023,"content":14024,"nodeType":860},{},[14025],{"data":14026,"marks":14027,"value":4500,"nodeType":864},{},[14028],{"type":899},{"data":14030,"content":14031,"nodeType":4569},{},[14032],{"data":14033,"content":14034,"nodeType":860},{},[14035],{"data":14036,"marks":14037,"value":4844,"nodeType":864},{},[],{"data":14039,"content":14040,"nodeType":1005},{},[],{"data":14042,"content":14043,"nodeType":860},{},[14044,14047,14053],{"data":14045,"marks":14046,"value":4855,"nodeType":864},{},[],{"data":14048,"content":14049,"nodeType":883},{"uri":1700},[14050],{"data":14051,"marks":14052,"value":1703,"nodeType":864},{},[],{"data":14054,"marks":14055,"value":21,"nodeType":864},{},[],{"items":14057},[14058,14060],{"sys":14059,"name":297},{"id":2732},{"sys":14061,"name":2729},{"id":2728},{"items":14063},[14064],{"fullName":4878,"firstName":4879,"jobTitle":851,"profilePicture":14065},{"url":4881},{"__typename":2059,"sys":14067,"content":14068,"title":845,"synopsis":4895,"hashTags":59,"publishedDate":2055,"slug":4882,"tagsCollection":14778,"authorsCollection":14784},{"id":4897},{"json":14069},{"nodeType":856,"data":14070,"content":14071},{},[14072,14078,14084,14122,14128,14134,14182,14187,14190,14197,14203,14213,14218,14228,14233,14243,14248,14251,14258,14264,14279,14288,14294,14300,14303,14310,14316,14336,14341,14347,14360,14373,14378,14391,14404,14410,14416,14422,14427,14430,14437,14443,14449,14455,14468,14474,14494,14499,14505,14510,14520,14526,14531,14536,14539,14546,14552,14568,14574,14581,14587,14597,14610,14615,14625,14652,14658,14671,14676,14689,14695,14701,14704,14711,14717,14723,14729,14735,14741,14747,14750,14756,14762],{"nodeType":860,"data":14073,"content":14074},{},[14075],{"nodeType":864,"value":865,"marks":14076,"data":14077},[],{},{"nodeType":860,"data":14079,"content":14080},{},[14081],{"nodeType":864,"value":872,"marks":14082,"data":14083},[],{},{"nodeType":860,"data":14085,"content":14086},{},[14087,14090,14096,14099,14103,14106,14110,14113,14119],{"nodeType":864,"value":879,"marks":14088,"data":14089},[],{},{"nodeType":883,"data":14091,"content":14092},{"uri":885},[14093],{"nodeType":864,"value":888,"marks":14094,"data":14095},[],{},{"nodeType":864,"value":892,"marks":14097,"data":14098},[],{},{"nodeType":864,"value":896,"marks":14100,"data":14102},[14101],{"type":899},{},{"nodeType":864,"value":902,"marks":14104,"data":14105},[],{},{"nodeType":864,"value":906,"marks":14107,"data":14109},[14108],{"type":899},{},{"nodeType":864,"value":911,"marks":14111,"data":14112},[],{},{"nodeType":883,"data":14114,"content":14115},{"uri":916},[14116],{"nodeType":864,"value":919,"marks":14117,"data":14118},[],{},{"nodeType":864,"value":923,"marks":14120,"data":14121},[],{},{"nodeType":860,"data":14123,"content":14124},{},[14125],{"nodeType":864,"value":930,"marks":14126,"data":14127},[],{},{"nodeType":860,"data":14129,"content":14130},{},[14131],{"nodeType":864,"value":937,"marks":14132,"data":14133},[],{},{"nodeType":941,"data":14135,"content":14136},{},[14137,14146,14155,14164,14173],{"nodeType":945,"data":14138,"content":14139},{},[14140],{"nodeType":860,"data":14141,"content":14142},{},[14143],{"nodeType":864,"value":952,"marks":14144,"data":14145},[],{},{"nodeType":945,"data":14147,"content":14148},{},[14149],{"nodeType":860,"data":14150,"content":14151},{},[14152],{"nodeType":864,"value":962,"marks":14153,"data":14154},[],{},{"nodeType":945,"data":14156,"content":14157},{},[14158],{"nodeType":860,"data":14159,"content":14160},{},[14161],{"nodeType":864,"value":972,"marks":14162,"data":14163},[],{},{"nodeType":945,"data":14165,"content":14166},{},[14167],{"nodeType":860,"data":14168,"content":14169},{},[14170],{"nodeType":864,"value":982,"marks":14171,"data":14172},[],{},{"nodeType":945,"data":14174,"content":14175},{},[14176],{"nodeType":860,"data":14177,"content":14178},{},[14179],{"nodeType":864,"value":992,"marks":14180,"data":14181},[],{},{"nodeType":996,"data":14183,"content":14186},{"target":14184},{"sys":14185},{"id":1000,"type":1001,"linkType":1002},[],{"nodeType":1005,"data":14188,"content":14189},{},[],{"nodeType":1009,"data":14191,"content":14192},{},[14193],{"nodeType":864,"value":1013,"marks":14194,"data":14196},[14195],{"type":899},{},{"nodeType":860,"data":14198,"content":14199},{},[14200],{"nodeType":864,"value":1021,"marks":14201,"data":14202},[],{},{"nodeType":860,"data":14204,"content":14205},{},[14206,14210],{"nodeType":864,"value":1028,"marks":14207,"data":14209},[14208],{"type":899},{},{"nodeType":864,"value":1033,"marks":14211,"data":14212},[],{},{"nodeType":996,"data":14214,"content":14217},{"target":14215},{"sys":14216},{"id":1040,"type":1001,"linkType":1002},[],{"nodeType":860,"data":14219,"content":14220},{},[14221,14225],{"nodeType":864,"value":1046,"marks":14222,"data":14224},[14223],{"type":899},{},{"nodeType":864,"value":1051,"marks":14226,"data":14227},[],{},{"nodeType":996,"data":14229,"content":14232},{"target":14230},{"sys":14231},{"id":1058,"type":1001,"linkType":1002},[],{"nodeType":860,"data":14234,"content":14235},{},[14236,14240],{"nodeType":864,"value":1064,"marks":14237,"data":14239},[14238],{"type":899},{},{"nodeType":864,"value":1069,"marks":14241,"data":14242},[],{},{"nodeType":996,"data":14244,"content":14247},{"target":14245},{"sys":14246},{"id":1076,"type":1001,"linkType":1002},[],{"nodeType":1005,"data":14249,"content":14250},{},[],{"nodeType":1009,"data":14252,"content":14253},{},[14254],{"nodeType":864,"value":1085,"marks":14255,"data":14257},[14256],{"type":899},{},{"nodeType":860,"data":14259,"content":14260},{},[14261],{"nodeType":864,"value":1093,"marks":14262,"data":14263},[],{},{"nodeType":860,"data":14265,"content":14266},{},[14267,14270,14276],{"nodeType":864,"value":1100,"marks":14268,"data":14269},[],{},{"nodeType":883,"data":14271,"content":14272},{"uri":1105},[14273],{"nodeType":864,"value":1108,"marks":14274,"data":14275},[],{},{"nodeType":864,"value":1112,"marks":14277,"data":14278},[],{},{"nodeType":1116,"data":14280,"content":14281},{},[14282],{"nodeType":860,"data":14283,"content":14284},{},[14285],{"nodeType":864,"value":1123,"marks":14286,"data":14287},[],{},{"nodeType":860,"data":14289,"content":14290},{},[14291],{"nodeType":864,"value":1130,"marks":14292,"data":14293},[],{},{"nodeType":860,"data":14295,"content":14296},{},[14297],{"nodeType":864,"value":1137,"marks":14298,"data":14299},[],{},{"nodeType":1005,"data":14301,"content":14302},{},[],{"nodeType":1009,"data":14304,"content":14305},{},[14306],{"nodeType":864,"value":1147,"marks":14307,"data":14309},[14308],{"type":899},{},{"nodeType":860,"data":14311,"content":14312},{},[14313],{"nodeType":864,"value":1155,"marks":14314,"data":14315},[],{},{"nodeType":860,"data":14317,"content":14318},{},[14319,14322,14326,14329,14333],{"nodeType":864,"value":1162,"marks":14320,"data":14321},[],{},{"nodeType":864,"value":1166,"marks":14323,"data":14325},[14324],{"type":899},{},{"nodeType":864,"value":1171,"marks":14327,"data":14328},[],{},{"nodeType":864,"value":1175,"marks":14330,"data":14332},[14331],{"type":899},{},{"nodeType":864,"value":1180,"marks":14334,"data":14335},[],{},{"nodeType":996,"data":14337,"content":14340},{"target":14338},{"sys":14339},{"id":1187,"type":1001,"linkType":1002},[],{"nodeType":860,"data":14342,"content":14343},{},[14344],{"nodeType":864,"value":1193,"marks":14345,"data":14346},[],{},{"nodeType":860,"data":14348,"content":14349},{},[14350,14353,14357],{"nodeType":864,"value":1200,"marks":14351,"data":14352},[],{},{"nodeType":864,"value":1204,"marks":14354,"data":14356},[14355],{"type":899},{},{"nodeType":864,"value":1209,"marks":14358,"data":14359},[],{},{"nodeType":860,"data":14361,"content":14362},{},[14363,14366,14370],{"nodeType":864,"value":1216,"marks":14364,"data":14365},[],{},{"nodeType":864,"value":1220,"marks":14367,"data":14369},[14368],{"type":899},{},{"nodeType":864,"value":1225,"marks":14371,"data":14372},[],{},{"nodeType":996,"data":14374,"content":14377},{"target":14375},{"sys":14376},{"id":1232,"type":1001,"linkType":1002},[],{"nodeType":860,"data":14379,"content":14380},{},[14381,14384,14388],{"nodeType":864,"value":1238,"marks":14382,"data":14383},[],{},{"nodeType":864,"value":1242,"marks":14385,"data":14387},[14386],{"type":899},{},{"nodeType":864,"value":1247,"marks":14389,"data":14390},[],{},{"nodeType":860,"data":14392,"content":14393},{},[14394,14397,14401],{"nodeType":864,"value":1254,"marks":14395,"data":14396},[],{},{"nodeType":864,"value":1258,"marks":14398,"data":14400},[14399],{"type":899},{},{"nodeType":864,"value":1263,"marks":14402,"data":14403},[],{},{"nodeType":860,"data":14405,"content":14406},{},[14407],{"nodeType":864,"value":1270,"marks":14408,"data":14409},[],{},{"nodeType":860,"data":14411,"content":14412},{},[14413],{"nodeType":864,"value":1277,"marks":14414,"data":14415},[],{},{"nodeType":860,"data":14417,"content":14418},{},[14419],{"nodeType":864,"value":1284,"marks":14420,"data":14421},[],{},{"nodeType":996,"data":14423,"content":14426},{"target":14424},{"sys":14425},{"id":1291,"type":1001,"linkType":1002},[],{"nodeType":1005,"data":14428,"content":14429},{},[],{"nodeType":1009,"data":14431,"content":14432},{},[14433],{"nodeType":864,"value":1300,"marks":14434,"data":14436},[14435],{"type":899},{},{"nodeType":860,"data":14438,"content":14439},{},[14440],{"nodeType":864,"value":1308,"marks":14441,"data":14442},[],{},{"nodeType":1312,"data":14444,"content":14445},{},[14446],{"nodeType":864,"value":1316,"marks":14447,"data":14448},[],{},{"nodeType":860,"data":14450,"content":14451},{},[14452],{"nodeType":864,"value":1323,"marks":14453,"data":14454},[],{},{"nodeType":860,"data":14456,"content":14457},{},[14458,14461,14465],{"nodeType":864,"value":1330,"marks":14459,"data":14460},[],{},{"nodeType":864,"value":1334,"marks":14462,"data":14464},[14463],{"type":899},{},{"nodeType":864,"value":1339,"marks":14466,"data":14467},[],{},{"nodeType":860,"data":14469,"content":14470},{},[14471],{"nodeType":864,"value":1346,"marks":14472,"data":14473},[],{},{"nodeType":860,"data":14475,"content":14476},{},[14477,14480,14484,14487,14491],{"nodeType":864,"value":1353,"marks":14478,"data":14479},[],{},{"nodeType":864,"value":1357,"marks":14481,"data":14483},[14482],{"type":899},{},{"nodeType":864,"value":1362,"marks":14485,"data":14486},[],{},{"nodeType":864,"value":1366,"marks":14488,"data":14490},[14489],{"type":899},{},{"nodeType":864,"value":1371,"marks":14492,"data":14493},[],{},{"nodeType":996,"data":14495,"content":14498},{"target":14496},{"sys":14497},{"id":1378,"type":1001,"linkType":1002},[],{"nodeType":860,"data":14500,"content":14501},{},[14502],{"nodeType":864,"value":1384,"marks":14503,"data":14504},[],{},{"nodeType":996,"data":14506,"content":14509},{"target":14507},{"sys":14508},{"id":1391,"type":1001,"linkType":1002},[],{"nodeType":860,"data":14511,"content":14512},{},[14513,14517],{"nodeType":864,"value":1397,"marks":14514,"data":14516},[14515],{"type":899},{},{"nodeType":864,"value":1402,"marks":14518,"data":14519},[],{},{"nodeType":860,"data":14521,"content":14522},{},[14523],{"nodeType":864,"value":1409,"marks":14524,"data":14525},[],{},{"nodeType":996,"data":14527,"content":14530},{"target":14528},{"sys":14529},{"id":1416,"type":1001,"linkType":1002},[],{"nodeType":996,"data":14532,"content":14535},{"target":14533},{"sys":14534},{"id":1422,"type":1001,"linkType":1002},[],{"nodeType":1005,"data":14537,"content":14538},{},[],{"nodeType":1009,"data":14540,"content":14541},{},[14542],{"nodeType":864,"value":1431,"marks":14543,"data":14545},[14544],{"type":899},{},{"nodeType":860,"data":14547,"content":14548},{},[14549],{"nodeType":864,"value":1439,"marks":14550,"data":14551},[],{},{"nodeType":860,"data":14553,"content":14554},{},[14555,14558,14565],{"nodeType":864,"value":21,"marks":14556,"data":14557},[],{},{"nodeType":883,"data":14559,"content":14560},{"uri":916},[14561],{"nodeType":864,"value":1452,"marks":14562,"data":14564},[14563],{"type":1455},{},{"nodeType":864,"value":1458,"marks":14566,"data":14567},[],{},{"nodeType":860,"data":14569,"content":14570},{},[14571],{"nodeType":864,"value":1465,"marks":14572,"data":14573},[],{},{"nodeType":1312,"data":14575,"content":14576},{},[14577],{"nodeType":864,"value":1472,"marks":14578,"data":14580},[14579],{"type":899},{},{"nodeType":860,"data":14582,"content":14583},{},[14584],{"nodeType":864,"value":1480,"marks":14585,"data":14586},[],{},{"nodeType":860,"data":14588,"content":14589},{},[14590,14594],{"nodeType":864,"value":1487,"marks":14591,"data":14593},[14592],{"type":899},{},{"nodeType":864,"value":1492,"marks":14595,"data":14596},[],{},{"nodeType":860,"data":14598,"content":14599},{},[14600,14603,14607],{"nodeType":864,"value":1499,"marks":14601,"data":14602},[],{},{"nodeType":864,"value":1503,"marks":14604,"data":14606},[14605],{"type":899},{},{"nodeType":864,"value":1508,"marks":14608,"data":14609},[],{},{"nodeType":996,"data":14611,"content":14614},{"target":14612},{"sys":14613},{"id":1515,"type":1001,"linkType":1002},[],{"nodeType":860,"data":14616,"content":14617},{},[14618,14622],{"nodeType":864,"value":1521,"marks":14619,"data":14621},[14620],{"type":899},{},{"nodeType":864,"value":1526,"marks":14623,"data":14624},[],{},{"nodeType":860,"data":14626,"content":14627},{},[14628,14632,14635,14642,14645,14649],{"nodeType":864,"value":1533,"marks":14629,"data":14631},[14630],{"type":899},{},{"nodeType":864,"value":1538,"marks":14633,"data":14634},[],{},{"nodeType":883,"data":14636,"content":14637},{"uri":1543},[14638],{"nodeType":864,"value":1546,"marks":14639,"data":14641},[14640],{"type":1455},{},{"nodeType":864,"value":1551,"marks":14643,"data":14644},[],{},{"nodeType":864,"value":1555,"marks":14646,"data":14648},[14647],{"type":899},{},{"nodeType":864,"value":1560,"marks":14650,"data":14651},[],{},{"nodeType":860,"data":14653,"content":14654},{},[14655],{"nodeType":864,"value":1567,"marks":14656,"data":14657},[],{},{"nodeType":860,"data":14659,"content":14660},{},[14661,14664,14668],{"nodeType":864,"value":1574,"marks":14662,"data":14663},[],{},{"nodeType":864,"value":1578,"marks":14665,"data":14667},[14666],{"type":899},{},{"nodeType":864,"value":1583,"marks":14669,"data":14670},[],{},{"nodeType":996,"data":14672,"content":14675},{"target":14673},{"sys":14674},{"id":1590,"type":1001,"linkType":1002},[],{"nodeType":860,"data":14677,"content":14678},{},[14679,14682,14686],{"nodeType":864,"value":1596,"marks":14680,"data":14681},[],{},{"nodeType":864,"value":1600,"marks":14683,"data":14685},[14684],{"type":899},{},{"nodeType":864,"value":1605,"marks":14687,"data":14688},[],{},{"nodeType":860,"data":14690,"content":14691},{},[14692],{"nodeType":864,"value":1612,"marks":14693,"data":14694},[],{},{"nodeType":860,"data":14696,"content":14697},{},[14698],{"nodeType":864,"value":1619,"marks":14699,"data":14700},[],{},{"nodeType":1005,"data":14702,"content":14703},{},[],{"nodeType":1312,"data":14705,"content":14706},{},[14707],{"nodeType":864,"value":1629,"marks":14708,"data":14710},[14709],{"type":899},{},{"nodeType":860,"data":14712,"content":14713},{},[14714],{"nodeType":864,"value":1637,"marks":14715,"data":14716},[],{},{"nodeType":860,"data":14718,"content":14719},{},[14720],{"nodeType":864,"value":1644,"marks":14721,"data":14722},[],{},{"nodeType":860,"data":14724,"content":14725},{},[14726],{"nodeType":864,"value":1651,"marks":14727,"data":14728},[],{},{"nodeType":860,"data":14730,"content":14731},{},[14732],{"nodeType":864,"value":1658,"marks":14733,"data":14734},[],{},{"nodeType":860,"data":14736,"content":14737},{},[14738],{"nodeType":864,"value":1665,"marks":14739,"data":14740},[],{},{"nodeType":860,"data":14742,"content":14743},{},[14744],{"nodeType":864,"value":1672,"marks":14745,"data":14746},[],{},{"nodeType":1005,"data":14748,"content":14749},{},[],{"nodeType":860,"data":14751,"content":14752},{},[14753],{"nodeType":864,"value":1682,"marks":14754,"data":14755},[],{},{"nodeType":860,"data":14757,"content":14758},{},[14759],{"nodeType":864,"value":1689,"marks":14760,"data":14761},[],{},{"nodeType":860,"data":14763,"content":14764},{},[14765,14768,14775],{"nodeType":864,"value":21,"marks":14766,"data":14767},[],{},{"nodeType":883,"data":14769,"content":14770},{"uri":1700},[14771],{"nodeType":864,"value":1703,"marks":14772,"data":14774},[14773],{"type":1455},{},{"nodeType":864,"value":21,"marks":14776,"data":14777},[],{},{"items":14779},[14780,14782],{"sys":14781,"name":4904},{"id":4903},{"sys":14783,"name":545},{"id":4907},{"items":14785},[14786],{"fullName":849,"firstName":850,"jobTitle":851,"profilePicture":14787},{"url":853},"blog/what-push-data-reveals-about-the-state-of-shadow-ai",{"json":14790},{"data":14791,"content":14792,"nodeType":856},{},[14793],{"data":14794,"content":14795,"nodeType":860},{},[14796],{"data":14797,"marks":14798,"value":14799,"nodeType":864},{},[],"Push telemetry shows that the average organization has 16 unique AI apps, 17 AI browser extensions, and 17 AI OAuth integrations in active use — most of them unapproved. Shadow AI is arguably shadow SaaS with better marketing. But AI adoption has been a genuine force multiplier for the problem.",{"id":2061,"publishedAt":14801},"2026-08-13T11:44:25.332Z",{"items":14803},[14804,14806],{"sys":14805,"name":2729},{"id":2728},{"sys":14807,"name":297},{"id":2732},{"items":14809},[14810,14812,14814,14816,14818,14820,14822,14824,14826,14828,14830],{"sys":14811,"name":235,"slug":236,"tier":31},{"id":232},{"sys":14813,"name":545,"slug":546,"tier":31},{"id":542},{"sys":14815,"name":297,"slug":298,"tier":31},{"id":294},{"sys":14817,"name":413,"slug":414,"tier":31},{"id":410},{"sys":14819,"name":580,"slug":581,"tier":45},{"id":577},{"sys":14821,"name":589,"slug":590,"tier":45},{"id":586},{"sys":14823,"name":484,"slug":485,"tier":45},{"id":481},{"sys":14825,"name":288,"slug":289,"tier":45},{"id":285},{"sys":14827,"name":368,"slug":369,"tier":45},{"id":365},{"sys":14829,"name":633,"slug":634,"tier":45},{"id":630},{"sys":14831,"name":252,"slug":253,"tier":45},{"id":249},"Fve3K-AKY2ZaHd8DzKxQ7Gji-9e6fXsHOZB-s2X214A",{"id":14834,"title":4865,"authorsCollection":14835,"content":14841,"extension":228,"faqItemsCollection":16117,"faqTitle":59,"featured":6,"hashTags":59,"meta":16119,"metaTitle":16120,"ogImage":59,"postType":9326,"publishedDate":4867,"relatedBlogPostsCollection":16121,"slug":4868,"stem":18018,"subtitle":59,"summary":18019,"synopsis":4866,"sys":18030,"tagsCollection":18032,"topicsCollection":18038,"__hash__":18090},"blog/blog/the-top-10-security-problems-you-can-solve-in-the-browser-ranked-by-value.json",{"items":14836},[14837],{"fullName":4878,"firstName":4879,"jobTitle":851,"socialLinks":14838,"profilePicture":14840},[14839],"https://www.linkedin.com/in/alexhenshall/",{"url":4881},{"json":14842,"links":15910},{"data":14843,"content":14844,"nodeType":856},{},[14845,14858,14863,14869,14875,14880,14883,14890,14897,14912,14950,14955,14968,14971,14978,14985,15007,15039,15045,15048,15055,15062,15068,15073,15079,15082,15089,15096,15130,15160,15166,15169,15176,15183,15203,15209,15248,15254,15257,15264,15271,15307,15313,15318,15321,15328,15335,15361,15367,15372,15378,15381,15388,15395,15418,15424,15430,15436,15439,15446,15453,15459,15464,15470,15491,15514,15517,15524,15531,15537,15543,15546,15553,15608,15611,15618,15624,15892,15895],{"data":14846,"content":14847,"nodeType":860},{},[14848,14851,14855],{"data":14849,"marks":14850,"value":3639,"nodeType":864},{},[],{"data":14852,"marks":14853,"value":3644,"nodeType":864},{},[14854],{"type":899},{"data":14856,"marks":14857,"value":3648,"nodeType":864},{},[],{"data":14859,"content":14862,"nodeType":996},{"target":14860},{"sys":14861},{"id":3653,"type":1001,"linkType":1002},[],{"data":14864,"content":14865,"nodeType":860},{},[14866],{"data":14867,"marks":14868,"value":3661,"nodeType":864},{},[],{"data":14870,"content":14871,"nodeType":860},{},[14872],{"data":14873,"marks":14874,"value":3668,"nodeType":864},{},[],{"data":14876,"content":14879,"nodeType":996},{"target":14877},{"sys":14878},{"id":3673,"type":1001,"linkType":1002},[],{"data":14881,"content":14882,"nodeType":1005},{},[],{"data":14884,"content":14885,"nodeType":1009},{},[14886],{"data":14887,"marks":14888,"value":3685,"nodeType":864},{},[14889],{"type":899},{"data":14891,"content":14892,"nodeType":860},{},[14893],{"data":14894,"marks":14895,"value":3693,"nodeType":864},{},[14896],{"type":899},{"data":14898,"content":14899,"nodeType":860},{},[14900,14903,14909],{"data":14901,"marks":14902,"value":3700,"nodeType":864},{},[],{"data":14904,"content":14905,"nodeType":883},{"uri":3703},[14906],{"data":14907,"marks":14908,"value":3708,"nodeType":864},{},[],{"data":14910,"marks":14911,"value":3712,"nodeType":864},{},[],{"data":14913,"content":14914,"nodeType":860},{},[14915,14918,14924,14927,14931,14934,14938,14941,14947],{"data":14916,"marks":14917,"value":3719,"nodeType":864},{},[],{"data":14919,"content":14920,"nodeType":883},{"uri":3722},[14921],{"data":14922,"marks":14923,"value":3727,"nodeType":864},{},[],{"data":14925,"marks":14926,"value":3731,"nodeType":864},{},[],{"data":14928,"marks":14929,"value":3736,"nodeType":864},{},[14930],{"type":899},{"data":14932,"marks":14933,"value":2232,"nodeType":864},{},[],{"data":14935,"marks":14936,"value":3744,"nodeType":864},{},[14937],{"type":899},{"data":14939,"marks":14940,"value":3748,"nodeType":864},{},[],{"data":14942,"content":14943,"nodeType":883},{"uri":3751},[14944],{"data":14945,"marks":14946,"value":3756,"nodeType":864},{},[],{"data":14948,"marks":14949,"value":3760,"nodeType":864},{},[],{"data":14951,"content":14954,"nodeType":996},{"target":14952},{"sys":14953},{"id":3765,"type":1001,"linkType":1002},[],{"data":14956,"content":14957,"nodeType":860},{},[14958,14961,14965],{"data":14959,"marks":14960,"value":3773,"nodeType":864},{},[],{"data":14962,"marks":14963,"value":3778,"nodeType":864},{},[14964],{"type":899},{"data":14966,"marks":14967,"value":2924,"nodeType":864},{},[],{"data":14969,"content":14970,"nodeType":1005},{},[],{"data":14972,"content":14973,"nodeType":1009},{},[14974],{"data":14975,"marks":14976,"value":3792,"nodeType":864},{},[14977],{"type":899},{"data":14979,"content":14980,"nodeType":860},{},[14981],{"data":14982,"marks":14983,"value":3693,"nodeType":864},{},[14984],{"type":899},{"data":14986,"content":14987,"nodeType":860},{},[14988,14991,14997,15000,15004],{"data":14989,"marks":14990,"value":3806,"nodeType":864},{},[],{"data":14992,"content":14993,"nodeType":883},{"uri":3809},[14994],{"data":14995,"marks":14996,"value":3814,"nodeType":864},{},[],{"data":14998,"marks":14999,"value":3818,"nodeType":864},{},[],{"data":15001,"marks":15002,"value":3823,"nodeType":864},{},[15003],{"type":899},{"data":15005,"marks":15006,"value":3827,"nodeType":864},{},[],{"data":15008,"content":15009,"nodeType":860},{},[15010,15013,15019,15022,15026,15029,15036],{"data":15011,"marks":15012,"value":3834,"nodeType":864},{},[],{"data":15014,"content":15015,"nodeType":883},{"uri":3837},[15016],{"data":15017,"marks":15018,"value":3842,"nodeType":864},{},[],{"data":15020,"marks":15021,"value":3846,"nodeType":864},{},[],{"data":15023,"marks":15024,"value":3851,"nodeType":864},{},[15025],{"type":899},{"data":15027,"marks":15028,"value":3855,"nodeType":864},{},[],{"data":15030,"content":15031,"nodeType":883},{"uri":3858},[15032],{"data":15033,"marks":15034,"value":3864,"nodeType":864},{},[15035],{"type":899},{"data":15037,"marks":15038,"value":3868,"nodeType":864},{},[],{"data":15040,"content":15041,"nodeType":860},{},[15042],{"data":15043,"marks":15044,"value":3875,"nodeType":864},{},[],{"data":15046,"content":15047,"nodeType":1005},{},[],{"data":15049,"content":15050,"nodeType":1009},{},[15051],{"data":15052,"marks":15053,"value":3886,"nodeType":864},{},[15054],{"type":899},{"data":15056,"content":15057,"nodeType":860},{},[15058],{"data":15059,"marks":15060,"value":3894,"nodeType":864},{},[15061],{"type":899},{"data":15063,"content":15064,"nodeType":860},{},[15065],{"data":15066,"marks":15067,"value":3901,"nodeType":864},{},[],{"data":15069,"content":15072,"nodeType":996},{"target":15070},{"sys":15071},{"id":3906,"type":1001,"linkType":1002},[],{"data":15074,"content":15075,"nodeType":860},{},[15076],{"data":15077,"marks":15078,"value":3914,"nodeType":864},{},[],{"data":15080,"content":15081,"nodeType":1005},{},[],{"data":15083,"content":15084,"nodeType":1009},{},[15085],{"data":15086,"marks":15087,"value":3925,"nodeType":864},{},[15088],{"type":899},{"data":15090,"content":15091,"nodeType":860},{},[15092],{"data":15093,"marks":15094,"value":3894,"nodeType":864},{},[15095],{"type":899},{"data":15097,"content":15098,"nodeType":860},{},[15099,15102,15109,15112,15118,15121,15127],{"data":15100,"marks":15101,"value":3939,"nodeType":864},{},[],{"data":15103,"content":15104,"nodeType":883},{"uri":3942},[15105],{"data":15106,"marks":15107,"value":3948,"nodeType":864},{},[15108],{"type":1455},{"data":15110,"marks":15111,"value":3731,"nodeType":864},{},[],{"data":15113,"content":15114,"nodeType":883},{"uri":3954},[15115],{"data":15116,"marks":15117,"value":3959,"nodeType":864},{},[],{"data":15119,"marks":15120,"value":3731,"nodeType":864},{},[],{"data":15122,"content":15123,"nodeType":883},{"uri":3965},[15124],{"data":15125,"marks":15126,"value":3970,"nodeType":864},{},[],{"data":15128,"marks":15129,"value":3974,"nodeType":864},{},[],{"data":15131,"content":15132,"nodeType":860},{},[15133,15136,15143,15146,15150,15153,15157],{"data":15134,"marks":15135,"value":21,"nodeType":864},{},[],{"data":15137,"content":15138,"nodeType":883},{"uri":2411},[15139],{"data":15140,"marks":15141,"value":3988,"nodeType":864},{},[15142],{"type":1455},{"data":15144,"marks":15145,"value":3992,"nodeType":864},{},[],{"data":15147,"marks":15148,"value":3997,"nodeType":864},{},[15149],{"type":899},{"data":15151,"marks":15152,"value":4001,"nodeType":864},{},[],{"data":15154,"marks":15155,"value":4006,"nodeType":864},{},[15156],{"type":2246},{"data":15158,"marks":15159,"value":4010,"nodeType":864},{},[],{"data":15161,"content":15162,"nodeType":860},{},[15163],{"data":15164,"marks":15165,"value":4017,"nodeType":864},{},[],{"data":15167,"content":15168,"nodeType":1005},{},[],{"data":15170,"content":15171,"nodeType":1009},{},[15172],{"data":15173,"marks":15174,"value":4028,"nodeType":864},{},[15175],{"type":899},{"data":15177,"content":15178,"nodeType":860},{},[15179],{"data":15180,"marks":15181,"value":3894,"nodeType":864},{},[15182],{"type":899},{"data":15184,"content":15185,"nodeType":860},{},[15186,15189,15193,15196,15200],{"data":15187,"marks":15188,"value":4042,"nodeType":864},{},[],{"data":15190,"marks":15191,"value":4047,"nodeType":864},{},[15192],{"type":2246},{"data":15194,"marks":15195,"value":4051,"nodeType":864},{},[],{"data":15197,"marks":15198,"value":4056,"nodeType":864},{},[15199],{"type":2246},{"data":15201,"marks":15202,"value":4060,"nodeType":864},{},[],{"data":15204,"content":15205,"nodeType":860},{},[15206],{"data":15207,"marks":15208,"value":4067,"nodeType":864},{},[],{"data":15210,"content":15211,"nodeType":941},{},[15212,15230],{"data":15213,"content":15214,"nodeType":945},{},[15215],{"data":15216,"content":15217,"nodeType":860},{},[15218,15221,15227],{"data":15219,"marks":15220,"value":2761,"nodeType":864},{},[],{"data":15222,"content":15223,"nodeType":883},{"uri":4082},[15224],{"data":15225,"marks":15226,"value":4087,"nodeType":864},{},[],{"data":15228,"marks":15229,"value":4091,"nodeType":864},{},[],{"data":15231,"content":15232,"nodeType":945},{},[15233],{"data":15234,"content":15235,"nodeType":860},{},[15236,15239,15245],{"data":15237,"marks":15238,"value":2761,"nodeType":864},{},[],{"data":15240,"content":15241,"nodeType":883},{"uri":4103},[15242],{"data":15243,"marks":15244,"value":4108,"nodeType":864},{},[],{"data":15246,"marks":15247,"value":4112,"nodeType":864},{},[],{"data":15249,"content":15250,"nodeType":860},{},[15251],{"data":15252,"marks":15253,"value":4119,"nodeType":864},{},[],{"data":15255,"content":15256,"nodeType":1005},{},[],{"data":15258,"content":15259,"nodeType":1009},{},[15260],{"data":15261,"marks":15262,"value":4130,"nodeType":864},{},[15263],{"type":899},{"data":15265,"content":15266,"nodeType":860},{},[15267],{"data":15268,"marks":15269,"value":4138,"nodeType":864},{},[15270],{"type":899},{"data":15272,"content":15273,"nodeType":860},{},[15274,15277,15281,15284,15290,15293,15297,15300,15304],{"data":15275,"marks":15276,"value":4145,"nodeType":864},{},[],{"data":15278,"marks":15279,"value":4150,"nodeType":864},{},[15280],{"type":899},{"data":15282,"marks":15283,"value":4154,"nodeType":864},{},[],{"data":15285,"content":15286,"nodeType":883},{"uri":3237},[15287],{"data":15288,"marks":15289,"value":4161,"nodeType":864},{},[],{"data":15291,"marks":15292,"value":4165,"nodeType":864},{},[],{"data":15294,"marks":15295,"value":4170,"nodeType":864},{},[15296],{"type":899},{"data":15298,"marks":15299,"value":4174,"nodeType":864},{},[],{"data":15301,"marks":15302,"value":4179,"nodeType":864},{},[15303],{"type":899},{"data":15305,"marks":15306,"value":4183,"nodeType":864},{},[],{"data":15308,"content":15309,"nodeType":860},{},[15310],{"data":15311,"marks":15312,"value":4190,"nodeType":864},{},[],{"data":15314,"content":15317,"nodeType":996},{"target":15315},{"sys":15316},{"id":4195,"type":1001,"linkType":1002},[],{"data":15319,"content":15320,"nodeType":1005},{},[],{"data":15322,"content":15323,"nodeType":1009},{},[15324],{"data":15325,"marks":15326,"value":4207,"nodeType":864},{},[15327],{"type":899},{"data":15329,"content":15330,"nodeType":860},{},[15331],{"data":15332,"marks":15333,"value":4215,"nodeType":864},{},[15334],{"type":899},{"data":15336,"content":15337,"nodeType":860},{},[15338,15341,15348,15351,15358],{"data":15339,"marks":15340,"value":4222,"nodeType":864},{},[],{"data":15342,"content":15343,"nodeType":883},{"uri":2561},[15344],{"data":15345,"marks":15346,"value":4230,"nodeType":864},{},[15347],{"type":899},{"data":15349,"marks":15350,"value":4234,"nodeType":864},{},[],{"data":15352,"content":15353,"nodeType":883},{"uri":4237},[15354],{"data":15355,"marks":15356,"value":4243,"nodeType":864},{},[15357],{"type":899},{"data":15359,"marks":15360,"value":4247,"nodeType":864},{},[],{"data":15362,"content":15363,"nodeType":860},{},[15364],{"data":15365,"marks":15366,"value":4254,"nodeType":864},{},[],{"data":15368,"content":15371,"nodeType":996},{"target":15369},{"sys":15370},{"id":4259,"type":1001,"linkType":1002},[],{"data":15373,"content":15374,"nodeType":860},{},[15375],{"data":15376,"marks":15377,"value":4267,"nodeType":864},{},[],{"data":15379,"content":15380,"nodeType":1005},{},[],{"data":15382,"content":15383,"nodeType":1009},{},[15384],{"data":15385,"marks":15386,"value":4278,"nodeType":864},{},[15387],{"type":899},{"data":15389,"content":15390,"nodeType":860},{},[15391],{"data":15392,"marks":15393,"value":4286,"nodeType":864},{},[15394],{"type":899},{"data":15396,"content":15397,"nodeType":860},{},[15398,15401,15405,15408,15415],{"data":15399,"marks":15400,"value":4293,"nodeType":864},{},[],{"data":15402,"marks":15403,"value":4298,"nodeType":864},{},[15404],{"type":2246},{"data":15406,"marks":15407,"value":4302,"nodeType":864},{},[],{"data":15409,"content":15410,"nodeType":883},{"uri":4305},[15411],{"data":15412,"marks":15413,"value":4311,"nodeType":864},{},[15414],{"type":899},{"data":15416,"marks":15417,"value":4315,"nodeType":864},{},[],{"data":15419,"content":15420,"nodeType":860},{},[15421],{"data":15422,"marks":15423,"value":4322,"nodeType":864},{},[],{"data":15425,"content":15426,"nodeType":860},{},[15427],{"data":15428,"marks":15429,"value":4329,"nodeType":864},{},[],{"data":15431,"content":15432,"nodeType":860},{},[15433],{"data":15434,"marks":15435,"value":4336,"nodeType":864},{},[],{"data":15437,"content":15438,"nodeType":1005},{},[],{"data":15440,"content":15441,"nodeType":1009},{},[15442],{"data":15443,"marks":15444,"value":4347,"nodeType":864},{},[15445],{"type":899},{"data":15447,"content":15448,"nodeType":860},{},[15449],{"data":15450,"marks":15451,"value":4355,"nodeType":864},{},[15452],{"type":899},{"data":15454,"content":15455,"nodeType":860},{},[15456],{"data":15457,"marks":15458,"value":4362,"nodeType":864},{},[],{"data":15460,"content":15463,"nodeType":996},{"target":15461},{"sys":15462},{"id":4367,"type":1001,"linkType":1002},[],{"data":15465,"content":15466,"nodeType":860},{},[15467],{"data":15468,"marks":15469,"value":4375,"nodeType":864},{},[],{"data":15471,"content":15472,"nodeType":941},{},[15473,15482],{"data":15474,"content":15475,"nodeType":945},{},[15476],{"data":15477,"content":15478,"nodeType":860},{},[15479],{"data":15480,"marks":15481,"value":4388,"nodeType":864},{},[],{"data":15483,"content":15484,"nodeType":945},{},[15485],{"data":15486,"content":15487,"nodeType":860},{},[15488],{"data":15489,"marks":15490,"value":4398,"nodeType":864},{},[],{"data":15492,"content":15493,"nodeType":860},{},[15494,15497,15504,15507,15511],{"data":15495,"marks":15496,"value":4405,"nodeType":864},{},[],{"data":15498,"content":15499,"nodeType":883},{"uri":4408},[15500],{"data":15501,"marks":15502,"value":4414,"nodeType":864},{},[15503],{"type":899},{"data":15505,"marks":15506,"value":4418,"nodeType":864},{},[],{"data":15508,"marks":15509,"value":4423,"nodeType":864},{},[15510],{"type":2246},{"data":15512,"marks":15513,"value":4427,"nodeType":864},{},[],{"data":15515,"content":15516,"nodeType":1005},{},[],{"data":15518,"content":15519,"nodeType":1009},{},[15520],{"data":15521,"marks":15522,"value":4438,"nodeType":864},{},[15523],{"type":899},{"data":15525,"content":15526,"nodeType":860},{},[15527],{"data":15528,"marks":15529,"value":4446,"nodeType":864},{},[15530],{"type":899},{"data":15532,"content":15533,"nodeType":860},{},[15534],{"data":15535,"marks":15536,"value":4453,"nodeType":864},{},[],{"data":15538,"content":15539,"nodeType":860},{},[15540],{"data":15541,"marks":15542,"value":4460,"nodeType":864},{},[],{"data":15544,"content":15545,"nodeType":1005},{},[],{"data":15547,"content":15548,"nodeType":1009},{},[15549],{"data":15550,"marks":15551,"value":4471,"nodeType":864},{},[15552],{"type":899},{"data":15554,"content":15555,"nodeType":941},{},[15556,15569,15582,15595],{"data":15557,"content":15558,"nodeType":945},{},[15559],{"data":15560,"content":15561,"nodeType":860},{},[15562,15566],{"data":15563,"marks":15564,"value":4485,"nodeType":864},{},[15565],{"type":899},{"data":15567,"marks":15568,"value":4489,"nodeType":864},{},[],{"data":15570,"content":15571,"nodeType":945},{},[15572],{"data":15573,"content":15574,"nodeType":860},{},[15575,15579],{"data":15576,"marks":15577,"value":4500,"nodeType":864},{},[15578],{"type":899},{"data":15580,"marks":15581,"value":4504,"nodeType":864},{},[],{"data":15583,"content":15584,"nodeType":945},{},[15585],{"data":15586,"content":15587,"nodeType":860},{},[15588,15592],{"data":15589,"marks":15590,"value":4515,"nodeType":864},{},[15591],{"type":899},{"data":15593,"marks":15594,"value":4519,"nodeType":864},{},[],{"data":15596,"content":15597,"nodeType":945},{},[15598],{"data":15599,"content":15600,"nodeType":860},{},[15601,15605],{"data":15602,"marks":15603,"value":781,"nodeType":864},{},[15604],{"type":899},{"data":15606,"marks":15607,"value":4533,"nodeType":864},{},[],{"data":15609,"content":15610,"nodeType":1005},{},[],{"data":15612,"content":15613,"nodeType":1009},{},[15614],{"data":15615,"marks":15616,"value":4544,"nodeType":864},{},[15617],{"type":899},{"data":15619,"content":15620,"nodeType":860},{},[15621],{"data":15622,"marks":15623,"value":4551,"nodeType":864},{},[],{"data":15625,"content":15626,"nodeType":4845},{},[15627,15650,15672,15694,15716,15738,15760,15782,15804,15826,15848,15870],{"data":15628,"content":15629,"nodeType":4581},{},[15630,15640],{"data":15631,"content":15632,"nodeType":4569},{},[15633],{"data":15634,"content":15635,"nodeType":860},{},[15636],{"data":15637,"marks":15638,"value":4568,"nodeType":864},{},[15639],{"type":899},{"data":15641,"content":15642,"nodeType":4569},{},[15643],{"data":15644,"content":15645,"nodeType":860},{},[15646],{"data":15647,"marks":15648,"value":4580,"nodeType":864},{},[15649],{"type":899},{"data":15651,"content":15652,"nodeType":4581},{},[15653,15663],{"data":15654,"content":15655,"nodeType":4569},{},[15656],{"data":15657,"content":15658,"nodeType":860},{},[15659],{"data":15660,"marks":15661,"value":4595,"nodeType":864},{},[15662],{"type":899},{"data":15664,"content":15665,"nodeType":4569},{},[15666],{"data":15667,"content":15668,"nodeType":860},{},[15669],{"data":15670,"marks":15671,"value":4605,"nodeType":864},{},[],{"data":15673,"content":15674,"nodeType":4581},{},[15675,15685],{"data":15676,"content":15677,"nodeType":4569},{},[15678],{"data":15679,"content":15680,"nodeType":860},{},[15681],{"data":15682,"marks":15683,"value":4619,"nodeType":864},{},[15684],{"type":899},{"data":15686,"content":15687,"nodeType":4569},{},[15688],{"data":15689,"content":15690,"nodeType":860},{},[15691],{"data":15692,"marks":15693,"value":4629,"nodeType":864},{},[],{"data":15695,"content":15696,"nodeType":4581},{},[15697,15707],{"data":15698,"content":15699,"nodeType":4569},{},[15700],{"data":15701,"content":15702,"nodeType":860},{},[15703],{"data":15704,"marks":15705,"value":4643,"nodeType":864},{},[15706],{"type":899},{"data":15708,"content":15709,"nodeType":4569},{},[15710],{"data":15711,"content":15712,"nodeType":860},{},[15713],{"data":15714,"marks":15715,"value":4653,"nodeType":864},{},[],{"data":15717,"content":15718,"nodeType":4581},{},[15719,15729],{"data":15720,"content":15721,"nodeType":4569},{},[15722],{"data":15723,"content":15724,"nodeType":860},{},[15725],{"data":15726,"marks":15727,"value":4667,"nodeType":864},{},[15728],{"type":899},{"data":15730,"content":15731,"nodeType":4569},{},[15732],{"data":15733,"content":15734,"nodeType":860},{},[15735],{"data":15736,"marks":15737,"value":4677,"nodeType":864},{},[],{"data":15739,"content":15740,"nodeType":4581},{},[15741,15751],{"data":15742,"content":15743,"nodeType":4569},{},[15744],{"data":15745,"content":15746,"nodeType":860},{},[15747],{"data":15748,"marks":15749,"value":4691,"nodeType":864},{},[15750],{"type":899},{"data":15752,"content":15753,"nodeType":4569},{},[15754],{"data":15755,"content":15756,"nodeType":860},{},[15757],{"data":15758,"marks":15759,"value":4701,"nodeType":864},{},[],{"data":15761,"content":15762,"nodeType":4581},{},[15763,15773],{"data":15764,"content":15765,"nodeType":4569},{},[15766],{"data":15767,"content":15768,"nodeType":860},{},[15769],{"data":15770,"marks":15771,"value":4715,"nodeType":864},{},[15772],{"type":899},{"data":15774,"content":15775,"nodeType":4569},{},[15776],{"data":15777,"content":15778,"nodeType":860},{},[15779],{"data":15780,"marks":15781,"value":4725,"nodeType":864},{},[],{"data":15783,"content":15784,"nodeType":4581},{},[15785,15795],{"data":15786,"content":15787,"nodeType":4569},{},[15788],{"data":15789,"content":15790,"nodeType":860},{},[15791],{"data":15792,"marks":15793,"value":4739,"nodeType":864},{},[15794],{"type":899},{"data":15796,"content":15797,"nodeType":4569},{},[15798],{"data":15799,"content":15800,"nodeType":860},{},[15801],{"data":15802,"marks":15803,"value":4749,"nodeType":864},{},[],{"data":15805,"content":15806,"nodeType":4581},{},[15807,15817],{"data":15808,"content":15809,"nodeType":4569},{},[15810],{"data":15811,"content":15812,"nodeType":860},{},[15813],{"data":15814,"marks":15815,"value":4763,"nodeType":864},{},[15816],{"type":899},{"data":15818,"content":15819,"nodeType":4569},{},[15820],{"data":15821,"content":15822,"nodeType":860},{},[15823],{"data":15824,"marks":15825,"value":4773,"nodeType":864},{},[],{"data":15827,"content":15828,"nodeType":4581},{},[15829,15839],{"data":15830,"content":15831,"nodeType":4569},{},[15832],{"data":15833,"content":15834,"nodeType":860},{},[15835],{"data":15836,"marks":15837,"value":4787,"nodeType":864},{},[15838],{"type":899},{"data":15840,"content":15841,"nodeType":4569},{},[15842],{"data":15843,"content":15844,"nodeType":860},{},[15845],{"data":15846,"marks":15847,"value":4797,"nodeType":864},{},[],{"data":15849,"content":15850,"nodeType":4581},{},[15851,15861],{"data":15852,"content":15853,"nodeType":4569},{},[15854],{"data":15855,"content":15856,"nodeType":860},{},[15857],{"data":15858,"marks":15859,"value":4811,"nodeType":864},{},[15860],{"type":899},{"data":15862,"content":15863,"nodeType":4569},{},[15864],{"data":15865,"content":15866,"nodeType":860},{},[15867],{"data":15868,"marks":15869,"value":4821,"nodeType":864},{},[],{"data":15871,"content":15872,"nodeType":4581},{},[15873,15883],{"data":15874,"content":15875,"nodeType":4569},{},[15876],{"data":15877,"content":15878,"nodeType":860},{},[15879],{"data":15880,"marks":15881,"value":4500,"nodeType":864},{},[15882],{"type":899},{"data":15884,"content":15885,"nodeType":4569},{},[15886],{"data":15887,"content":15888,"nodeType":860},{},[15889],{"data":15890,"marks":15891,"value":4844,"nodeType":864},{},[],{"data":15893,"content":15894,"nodeType":1005},{},[],{"data":15896,"content":15897,"nodeType":860},{},[15898,15901,15907],{"data":15899,"marks":15900,"value":4855,"nodeType":864},{},[],{"data":15902,"content":15903,"nodeType":883},{"uri":1700},[15904],{"data":15905,"marks":15906,"value":1703,"nodeType":864},{},[],{"data":15908,"marks":15909,"value":21,"nodeType":864},{},[],{"entries":15911},{"hyperlink":15912,"inline":15913,"block":15914},[],[],[15915,15957,15965,16000,16036,16060,16074],{"sys":15916,"__typename":1740,"content":15917,"name":15956,"title":59},{"id":3653},{"json":15918},{"nodeType":856,"data":15919,"content":15920},{},[15921],{"nodeType":860,"data":15922,"content":15923},{},[15924,15927,15934,15938,15943,15947,15952],{"nodeType":864,"value":3719,"marks":15925,"data":15926},[],{},{"nodeType":883,"data":15928,"content":15929},{"uri":2561},[15930],{"nodeType":864,"value":15931,"marks":15932,"data":15933},"Omdia's 2026 research",[],{},{"nodeType":864,"value":15935,"marks":15936,"data":15937},", browser security is already a top-five priority for ",[],{},{"nodeType":864,"value":15939,"marks":15940,"data":15942},"88% of organizations",[15941],{"type":899},{},{"nodeType":864,"value":15944,"marks":15945,"data":15946},", and the top priority for ",[],{},{"nodeType":864,"value":15948,"marks":15949,"data":15951},"26%",[15950],{"type":899},{},{"nodeType":864,"value":15953,"marks":15954,"data":15955},". Of those that have deployed browser security solutions, the results speak for themselves: security leaders consistently report high satisfaction with the visibility and control they gain at a layer that was previously a blind spot.",[],{},"Top 10 Browser Problems IB1",{"sys":15958,"__typename":1724,"title":15959,"caption":15960,"layoutMode":59,"file":15961},{"id":3673},"top 10 browser security infographic","The top 10 security problems you can solve in the browser, ranked by security value and browser fit.",{"url":15962,"width":15963,"height":15964},"https://images.ctfassets.net/y1cdw1ablpvd/1ARDI5m8UJTN9QXXfbyyeO/ad04834463f3537a724ecfcaa0054fb0/top10_browser_security_infographic_4x__14_.png",2080,2484,{"sys":15966,"__typename":1740,"content":15967,"name":15999,"title":59},{"id":3765},{"json":15968},{"nodeType":856,"data":15969,"content":15970},{},[15971],{"nodeType":860,"data":15972,"content":15973},{},[15974,15978,15986,15990,15995],{"nodeType":864,"value":15975,"marks":15976,"data":15977},"Every login, regardless of method or app, happens inside a browser session. That makes the browser the only layer capable of observing the complete authentication picture. ",[],{},{"nodeType":883,"data":15979,"content":15981},{"uri":15980},"https://pushsecurity.com/blog/how-many-vulnerable-identities-do-you-have/",[15982],{"nodeType":864,"value":15983,"marks":15984,"data":15985},"Push's telemetry illustrates the gap",[],{},{"nodeType":864,"value":15987,"marks":15988,"data":15989},": of the last million logins observed, ",[],{},{"nodeType":864,"value":15991,"marks":15992,"data":15994},"1 in 4 were password logins rather than SSO, 2 in 5 lacked MFA, and 1 in 5 used a weak, breached, or reused credential",[15993],{"type":899},{},{"nodeType":864,"value":15996,"marks":15997,"data":15998}," — none of which is visible to an IdP that only surfaces authentications flowing through it. ",[],{},"Top 10 Browser Problems IB2",{"sys":16001,"__typename":1740,"content":16002,"name":16035,"title":59},{"id":3906},{"json":16003},{"data":16004,"content":16005,"nodeType":856},{},[16006],{"data":16007,"content":16008,"nodeType":860},{},[16009,16013,16018,16022,16031],{"data":16010,"marks":16011,"value":16012,"nodeType":864},{},[],"The average employee logs into more than 15 applications, the majority with logins outside SSO coverage. IdP policies and SSPM findings have no mechanism to intervene in authentication flows they don't control. ",{"data":16014,"marks":16015,"value":16017,"nodeType":864},{},[16016],{"type":899},"47% of BEC victims had not enforced MFA in their Microsoft 365 environment",{"data":16019,"marks":16020,"value":16021,"nodeType":864},{},[]," (",{"data":16023,"content":16025,"nodeType":883},{"uri":16024},"https://www.s-rminform.com/cyber-insights-report-2026",[16026],{"data":16027,"marks":16028,"value":16030,"nodeType":864},{},[16029],{"type":1455},"S-RM Cyber Insights 2026",{"data":16032,"marks":16033,"value":16034,"nodeType":864},{},[],") — and the gap is larger still once you consider shadow SaaS.","Top 10 Browser Problems IB3",{"sys":16037,"__typename":1740,"content":16038,"name":16059,"title":59},{"id":4195},{"json":16039},{"data":16040,"content":16041,"nodeType":856},{},[16042],{"data":16043,"content":16044,"nodeType":860},{},[16045,16048,16055],{"data":16046,"marks":16047,"value":21,"nodeType":864},{},[],{"data":16049,"content":16050,"nodeType":883},{"uri":6075},[16051],{"data":16052,"marks":16053,"value":6041,"nodeType":864},{},[16054],{"type":1455},{"data":16056,"marks":16057,"value":16058,"nodeType":864},{},[],", a novel technique discovered by Push researchers when we intercepted a live campaign attributed to Russian state-linked APT29, is a notable exception: it is fully browser-native with no endpoint component, using a manipulated OAuth consent flow rather than clipboard-injected malware. ConsentFix is better understood as an OAuth attack than a malware delivery technique — it signals the direction of travel as attackers seek to eliminate the endpoint detection surface entirely and operate purely within browser-native mechanisms like OAuth. ","Top 10 Browser Problems IB4",{"sys":16061,"__typename":1740,"content":16062,"name":16073,"title":59},{"id":4259},{"json":16063},{"data":16064,"content":16065,"nodeType":856},{},[16066],{"data":16067,"content":16068,"nodeType":860},{},[16069],{"data":16070,"marks":16071,"value":16072,"nodeType":864},{},[],"Enterprise AI platforms — Claude, ChatGPT Enterprise, Microsoft Copilot, Gemini for Workspace — increasingly provide native prompt logging and DLP controls on their enterprise plans, and these are richer and more reliable for sanctioned tools than browser session-layer monitoring. The right architecture is complementary: use the browser to enforce which AI tools employees can access and ensure they reach the corporate tenant rather than a personal account, then rely on platform-native controls to govern activity within that environment.","Top 10 Browser Problems IB5",{"sys":16075,"__typename":1740,"content":16076,"name":16116,"title":59},{"id":4367},{"json":16077},{"data":16078,"content":16079,"nodeType":856},{},[16080],{"data":16081,"content":16082,"nodeType":860},{},[16083,16087,16092,16096,16101,16105,16112],{"data":16084,"marks":16085,"value":16086,"nodeType":864},{},[],"The 2025 Verizon DBIR found ",{"data":16088,"marks":16089,"value":16091,"nodeType":864},{},[16090],{"type":899},"54% of ransomware attacks traced back to infostealer-enabled credential theft",{"data":16093,"marks":16094,"value":16095,"nodeType":864},{},[],". Microsoft reports ",{"data":16097,"marks":16098,"value":16100,"nodeType":864},{},[16099],{"type":899},"39,000 session token attacks per day",{"data":16102,"marks":16103,"value":16104,"nodeType":864},{},[],", the majority sourced from infostealer-harvested cookies. The",{"data":16106,"content":16107,"nodeType":883},{"uri":3751},[16108],{"data":16109,"marks":16110,"value":16111,"nodeType":864},{},[]," Snowflake breach",{"data":16113,"marks":16114,"value":16115,"nodeType":864},{},[]," we mentioned earlier was powered entirely by infostealer-harvested credentials: stolen years earlier, never rotated, and used to authenticate directly to tenants that lacked MFA. More than 80% of compromised accounts had prior credential exposure. The Okta breach followed the same pattern, beginning with an infostealer on an engineer's personal device harvesting credentials synced to their personal Google profile on a corporate browser. ","Top 10 Browser Problems IB6",{"items":16118},[],{},"The top 10 security problems you can solve in the browser",{"items":16122},[16123,16714,17496],{"__typename":2059,"sys":16124,"content":16126,"title":16700,"synopsis":16701,"hashTags":59,"publishedDate":16702,"slug":16703,"tagsCollection":16704,"authorsCollection":16710},{"id":16125},"217s8zu5idSdX25TUgbPQ1",{"json":16127},{"data":16128,"content":16129,"nodeType":856},{},[16130,16148,16155,16162,16168,16171,16179,16195,16202,16208,16215,16298,16305,16310,16317,16323,16326,16334,16346,16353,16365,16368,16376,16392,16399,16406,16409,16417,16424,16440,16446,16462,16469,16476,16483,16499,16506,16509,16517,16524,16540,16547,16550,16558,16574,16581,16601,16613,16616,16624,16640,16647,16654,16661,16668,16671,16678,16684],{"data":16131,"content":16132,"nodeType":860},{},[16133,16136,16144],{"data":16134,"marks":16135,"value":2761,"nodeType":864},{},[],{"data":16137,"content":16139,"nodeType":883},{"uri":16138},"https://research.esg-global.com/reportaction/515202191/Marketing",[16140],{"data":16141,"marks":16142,"value":16143,"nodeType":864},{},[],"Omdia Browser Management and Security report",{"data":16145,"marks":16146,"value":16147,"nodeType":864},{},[],", based on a survey of 400 IT and security professionals across North America fielded in late 2025, is the most comprehensive industry data to date on how organizations are experiencing, prioritizing, and investing in the secure enterprise browser (SEB) market. ",{"data":16149,"content":16150,"nodeType":860},{},[16151],{"data":16152,"marks":16153,"value":16154,"nodeType":864},{},[],"For us at Push, it externally validates what we've known to be true for some time — the browser is where work happens, where attacks land, and where defenders need to be if they want to detect and stop threats before damage is done.",{"data":16156,"content":16157,"nodeType":860},{},[16158],{"data":16159,"marks":16160,"value":16161,"nodeType":864},{},[],"We pulled out seven findings that matter most for security teams evaluating their approach.",{"data":16163,"content":16167,"nodeType":996},{"target":16164},{"sys":16165},{"id":16166,"type":1001,"linkType":1002},"4aM879egIFYmDvOhzyNI9A",[],{"data":16169,"content":16170,"nodeType":1005},{},[],{"data":16172,"content":16173,"nodeType":1009},{},[16174],{"data":16175,"marks":16176,"value":16178,"nodeType":864},{},[16177],{"type":899},"1. The attacks driving concern are the ones happening inside the browser session",{"data":16180,"content":16181,"nodeType":860},{},[16182,16186,16191],{"data":16183,"marks":16184,"value":16185,"nodeType":864},{},[],"The threat picture is driving everything else in this report, so it's the right place to start. ",{"data":16187,"marks":16188,"value":16190,"nodeType":864},{},[16189],{"type":899},"49% of organizations suffered a successful browser-based attack in the last 12 months.",{"data":16192,"marks":16193,"value":16194,"nodeType":864},{},[]," Among those affected, browser-originated incidents account for roughly 37% of all security incidents — and 68% say that share has grown over the past two years. ",{"data":16196,"content":16197,"nodeType":860},{},[16198],{"data":16199,"marks":16200,"value":16201,"nodeType":864},{},[],"The browser is not an emerging threat vector. It’s worth noting here that these numbers are also likely lower than the reality, since many are only identified later in the kill chain. Without browser-level telemetry they can be difficult to trace back their source — which in the vast majority of cases, even for malware-driven attacks, is the browser. ",{"data":16203,"content":16207,"nodeType":996},{"target":16204},{"sys":16205},{"id":16206,"type":1001,"linkType":1002},"6Kcz8oILKVHmhQIo5Du6V",[],{"data":16209,"content":16210,"nodeType":860},{},[16211],{"data":16212,"marks":16213,"value":16214,"nodeType":864},{},[],"What stands out is that every one of the top attack categories plays out inside the browser session itself — not against the browser as a piece of software, but within the sessions where users interact with applications:",{"data":16216,"content":16217,"nodeType":941},{},[16218,16228,16238,16248,16258,16268,16278,16288],{"data":16219,"content":16220,"nodeType":945},{},[16221],{"data":16222,"content":16223,"nodeType":860},{},[16224],{"data":16225,"marks":16226,"value":16227,"nodeType":864},{},[],"Phishing (40%)",{"data":16229,"content":16230,"nodeType":945},{},[16231],{"data":16232,"content":16233,"nodeType":860},{},[16234],{"data":16235,"marks":16236,"value":16237,"nodeType":864},{},[],"Data loss or leakage (38%)",{"data":16239,"content":16240,"nodeType":945},{},[16241],{"data":16242,"content":16243,"nodeType":860},{},[16244],{"data":16245,"marks":16246,"value":16247,"nodeType":864},{},[],"Malicious browser extensions (34%)",{"data":16249,"content":16250,"nodeType":945},{},[16251],{"data":16252,"content":16253,"nodeType":860},{},[16254],{"data":16255,"marks":16256,"value":16257,"nodeType":864},{},[],"Vulnerable browser extensions (33%)",{"data":16259,"content":16260,"nodeType":945},{},[16261],{"data":16262,"content":16263,"nodeType":860},{},[16264],{"data":16265,"marks":16266,"value":16267,"nodeType":864},{},[],"Malicious scripts (31%)",{"data":16269,"content":16270,"nodeType":945},{},[16271],{"data":16272,"content":16273,"nodeType":860},{},[16274],{"data":16275,"marks":16276,"value":16277,"nodeType":864},{},[],"Credential theft via browser (28%)",{"data":16279,"content":16280,"nodeType":945},{},[16281],{"data":16282,"content":16283,"nodeType":860},{},[16284],{"data":16285,"marks":16286,"value":16287,"nodeType":864},{},[],"Cookie theft (22%)",{"data":16289,"content":16290,"nodeType":945},{},[16291],{"data":16292,"content":16293,"nodeType":860},{},[16294],{"data":16295,"marks":16296,"value":16297,"nodeType":864},{},[],"AiTM attacks (17%)",{"data":16299,"content":16300,"nodeType":860},{},[16301],{"data":16302,"marks":16303,"value":16304,"nodeType":864},{},[],"Phishing, credential theft, cookie theft, and AiTM are attacks that target the user's interaction with a web page — the credential entry, the session creation, the token exchange. Malicious and vulnerable extensions are supply chain risks that operate inside the browser's own execution environment. Data loss happens through the browser when employees upload files, paste data into AI tools, or share information with unsanctioned applications. ",{"data":16306,"content":16309,"nodeType":996},{"target":16307},{"sys":16308},{"id":5895,"type":1001,"linkType":1002},[],{"data":16311,"content":16312,"nodeType":860},{},[16313],{"data":16314,"marks":16315,"value":16316,"nodeType":864},{},[],"None of these are attacks where network-layer traffic inspection, endpoint monitoring, or email scanning provides complete coverage, because the attack surface is the browser session itself.",{"data":16318,"content":16322,"nodeType":996},{"target":16319},{"sys":16320},{"id":16321,"type":1001,"linkType":1002},"5kI5h4Z31ByD73er7voayF",[],{"data":16324,"content":16325,"nodeType":1005},{},[],{"data":16327,"content":16328,"nodeType":1009},{},[16329],{"data":16330,"marks":16331,"value":16333,"nodeType":864},{},[16332],{"type":899},"2. Browser security is now a board-level priority",{"data":16335,"content":16336,"nodeType":860},{},[16337,16342],{"data":16338,"marks":16339,"value":16341,"nodeType":864},{},[16340],{"type":899},"88% of respondents rank browser security as at least a top-five security priority",{"data":16343,"marks":16344,"value":16345,"nodeType":864},{},[],", with more than a quarter (26%) calling it their single top priority. For context, this is a survey that covers the full spectrum of security concerns — cloud, supply chain, AI, insider risk — and browser security has risen above most of them.",{"data":16347,"content":16348,"nodeType":860},{},[16349],{"data":16350,"marks":16351,"value":16352,"nodeType":864},{},[],"This is not aspirational interest. The correlation between priority level and investment is sharp: among those who rank browser security as their top priority, 72% have significantly increased their investment due to emerging threats. Among those who rank it in their top five, that figure is 26%. The organizations that care most are spending the most.",{"data":16354,"content":16355,"nodeType":860},{},[16356,16361],{"data":16357,"marks":16358,"value":16360,"nodeType":864},{},[16359],{"type":899},"86% of respondents have increased their browser security investment in response to emerging threats",{"data":16362,"marks":16363,"value":16364,"nodeType":864},{},[],", with 36% saying the increase was significant. When you ask what's driving that spend, the answer is the threat landscape: the attacks cataloged in the previous section are the reason budgets are moving.",{"data":16366,"content":16367,"nodeType":1005},{},[],{"data":16369,"content":16370,"nodeType":1009},{},[16371],{"data":16372,"marks":16373,"value":16375,"nodeType":864},{},[16374],{"type":899},"3. Real budget is being allocated — and it's growing",{"data":16377,"content":16378,"nodeType":860},{},[16379,16383,16388],{"data":16380,"marks":16381,"value":16382,"nodeType":864},{},[],"Secure enterprise browser solutions already take up ",{"data":16384,"marks":16385,"value":16387,"nodeType":864},{},[16386],{"type":899},"12.6% of the average security budget",{"data":16389,"marks":16390,"value":16391,"nodeType":864},{},[]," — a substantial allocation for a category that didn't exist as a standalone line item a few years ago. And 85% of respondents expect to increase that spend over the next 12–24 months, with a quarter expecting significant increases.",{"data":16393,"content":16394,"nodeType":860},{},[16395],{"data":16396,"marks":16397,"value":16398,"nodeType":864},{},[],"Where the money comes from tells its own story. The most common funding model is a discrete line item within security program budgets (31%) or a dedicated secure browsing budget (30%). When organizations pull from an existing program budget, web security (26%) and endpoint security (21%) are the most common sources — while SASE/SSE accounts for just 9%, despite SASE vendors being the second most popular vendor category. That disconnect between vendor preference and budget origin suggests the SASE-bundled buying motion may be more aspirational than operational.",{"data":16400,"content":16401,"nodeType":860},{},[16402],{"data":16403,"marks":16404,"value":16405,"nodeType":864},{},[],"IT operations leadership is the top stakeholder in 82% of evaluations, with CISO and security leadership at 64% and CIOs at 42%. Day-to-day management sits primarily with IT Ops (77%) and SecOps (50%). This dual stakeholder picture — IT operations driving evaluation, security leadership providing strategic direction — shapes the competitive landscape in ways we'll come back to.",{"data":16407,"content":16408,"nodeType":1005},{},[],{"data":16410,"content":16411,"nodeType":1009},{},[16412],{"data":16413,"marks":16414,"value":16416,"nodeType":864},{},[16415],{"type":899},"4. AI is accelerating both the threat and the use case",{"data":16418,"content":16419,"nodeType":860},{},[16420],{"data":16421,"marks":16422,"value":16423,"nodeType":864},{},[],"AI shows up in this report from two directions, mirroring how it is reshaping the security landscape itself.",{"data":16425,"content":16426,"nodeType":860},{},[16427,16431,16436],{"data":16428,"marks":16429,"value":16430,"nodeType":864},{},[],"On the threat side, ",{"data":16432,"marks":16433,"value":16435,"nodeType":864},{},[16434],{"type":899},"AI-powered targeted phishing and social engineering is the top emerging concern",{"data":16437,"marks":16438,"value":16439,"nodeType":864},{},[],", cited by 75% of respondents as either very concerning or concerning. Data leakage via unsanctioned AI applications comes second at 71%, followed by deepfake/AI-generated malicious content at 69% and credential harvesting via fake AI or SaaS login pages at 66%. Every one of these threat categories involves the browser — AI-enhanced phishing lands in the browser, AI data leakage happens through browser-based AI tools, and fake AI login pages are browser-based credential harvesting.",{"data":16441,"content":16445,"nodeType":996},{"target":16442},{"sys":16443},{"id":16444,"type":1001,"linkType":1002},"2ajv2i5wn2GzKuyynQGlvq",[],{"data":16447,"content":16448,"nodeType":860},{},[16449,16453,16458],{"data":16450,"marks":16451,"value":16452,"nodeType":864},{},[],"On the adoption side, the picture is almost universal — and almost universally under-governed. ",{"data":16454,"marks":16455,"value":16457,"nodeType":864},{},[16456],{"type":899},"92% of organizations now allow employees to use public GenAI applications",{"data":16459,"marks":16460,"value":16461,"nodeType":864},{},[],", and virtually every organization has some kind of policy position: 37% have sanctioned one public app (with everything else unsanctioned), 39% have sanctioned multiple public apps (with others unsanctioned), and 23% restrict employees to a corporate instance while the public versions are unsanctioned. ",{"data":16463,"content":16464,"nodeType":860},{},[16465],{"data":16466,"marks":16467,"value":16468,"nodeType":864},{},[],"Even the 8% who don't allow GenAI at all have taken a policy position. Essentially 100% of organizations have a GenAI policy — but for the vast majority, that policy designates a large portion of public AI tool usage as unsanctioned, which raises the immediate question of whether they have the tooling to actually enforce it.",{"data":16470,"content":16471,"nodeType":860},{},[16472],{"data":16473,"marks":16474,"value":16475,"nodeType":864},{},[],"The answer, based on the current tooling landscape, appears to be: not quite. When Omdia asked how organizations currently secure GenAI usage, 58% rely on secure web gateways — tools that see traffic metadata but cannot observe what a user actually does inside a GenAI session — while 57% use secure browsing solutions and 57% use SaaS security solutions. ",{"data":16477,"content":16478,"nodeType":860},{},[16479],{"data":16480,"marks":16481,"value":16482,"nodeType":864},{},[],"An SWG can tell you that a user visited ChatGPT, but it cannot tell you whether they pasted your company's source code into the prompt. That distinction — between knowing where data went and knowing what the user actually did — is the fundamental gap that browser-layer visibility exists to close, and it is exactly the gap that makes GenAI policies unenforceable without browser-layer tooling.",{"data":16484,"content":16485,"nodeType":860},{},[16486,16490,16495],{"data":16487,"marks":16488,"value":16489,"nodeType":864},{},[],"The use case data reflects this. When Omdia asked about the most important use cases for a secure browsing solution, ",{"data":16491,"marks":16492,"value":16494,"nodeType":864},{},[16493],{"type":899},"generative AI application security came in first at 59%",{"data":16496,"marks":16497,"value":16498,"nodeType":864},{},[],", followed by data loss prevention at 51% and general web security enhancement at 42%. The feature priorities tell a consistent story: AI-powered threat detection and response (52%) and advanced GenAI usage controls and monitoring (41%) were the top two capabilities organizations said would be most important in a purchase decision. ",{"data":16500,"content":16501,"nodeType":860},{},[16502],{"data":16503,"marks":16504,"value":16505,"nodeType":864},{},[],"AI is both the top threat concern and the top use case for browser security — and it is a browser problem at both ends, because every LLM interaction, every prompt containing sensitive data, and every AI agent authorization happens inside a browser session.",{"data":16507,"content":16508,"nodeType":1005},{},[],{"data":16510,"content":16511,"nodeType":1009},{},[16512],{"data":16513,"marks":16514,"value":16516,"nodeType":864},{},[16515],{"type":899},"5. Organizations that have deployed secure enterprise browser solutions are seeing real results",{"data":16518,"content":16519,"nodeType":860},{},[16520],{"data":16521,"marks":16522,"value":16523,"nodeType":864},{},[],"One of the most useful sections in Omdia's report is the benefits data — what organizations that have deployed SEB solutions are actually getting out of them.",{"data":16525,"content":16526,"nodeType":860},{},[16527,16531,16536],{"data":16528,"marks":16529,"value":16530,"nodeType":864},{},[],"The top realized benefit is ",{"data":16532,"marks":16533,"value":16535,"nodeType":864},{},[16534],{"type":899},"improved data security, cited by 58% of respondents",{"data":16537,"marks":16538,"value":16539,"nodeType":864},{},[],", followed by fewer security incidents (49%), better visibility and auditing (47%), improved user experience (44%), and simplified configuration and policy management (41%). The picture that emerges is not just a security story but an operational one: organizations are seeing fewer incidents, better visibility, and simpler management alongside the security outcomes.",{"data":16541,"content":16542,"nodeType":860},{},[16543],{"data":16544,"marks":16545,"value":16546,"nodeType":864},{},[],"The 49% who cite fewer security incidents as a realized benefit is the number that matters most here, because it directly connects SEB deployment to measurable risk reduction. Organizations aren't just buying tools and hoping — they're deploying them and seeing fewer successful attacks as a result.",{"data":16548,"content":16549,"nodeType":1005},{},[],{"data":16551,"content":16552,"nodeType":1009},{},[16553],{"data":16554,"marks":16555,"value":16557,"nodeType":864},{},[16556],{"type":899},"6. The market wants protection in existing browsers, not migration",{"data":16559,"content":16560,"nodeType":860},{},[16561,16565,16570],{"data":16562,"marks":16563,"value":16564,"nodeType":864},{},[],"When Omdia asked what attributes matter most in a secure enterprise browser solution, ",{"data":16566,"marks":16567,"value":16569,"nodeType":864},{},[16568],{"type":899},"\"ability to use existing browsers\" ranked as the fourth most important attribute at 48%",{"data":16571,"marks":16572,"value":16573,"nodeType":864},{},[]," — behind only integration with other security tools (57%), controls over generative AI application usage (53%), and centralized policy enforcement (52%). ",{"data":16575,"content":16576,"nodeType":860},{},[16577],{"data":16578,"marks":16579,"value":16580,"nodeType":864},{},[],"That 48% figure, combined with 80% of respondents saying they expect to use an SEB solution as an integrated or alongside component rather than a replacement for existing tools, points to a clear market preference: organizations want browser security that works with their existing browser estate, not a migration to a new one.",{"data":16582,"content":16583,"nodeType":860},{},[16584,16588,16597],{"data":16585,"marks":16586,"value":16587,"nodeType":864},{},[],"This is consistent with what we hear from security leaders directly. As ",{"data":16589,"content":16591,"nodeType":883},{"uri":16590},"https://pushsecurity.com/customer-stories",[16592],{"data":16593,"marks":16594,"value":16596,"nodeType":864},{},[16595],{"type":1455},"Josh Lemos put it: ",{"data":16598,"marks":16599,"value":16600,"nodeType":864},{},[],"\"We looked at the full-stack enterprise browser approach, but converging on a single platform was tough. Push gave me the security instrumentation and context I needed without onerous headwinds.\" The deployment model matters because it determines adoption velocity — and a tool that requires browser migration introduces friction that delays time to value.",{"data":16602,"content":16603,"nodeType":860},{},[16604,16608],{"data":16605,"marks":16606,"value":16607,"nodeType":864},{},[],"Push was built around this insight from day one. As the secure enterprise browser extension for security teams, Push turns any browser — managed or unmanaged, including agentic browsers — into a telemetry source and control point the moment it's installed. It has been rolled out to 100,000 users in under an hour during normal office hours with zero downtime. ",{"data":16609,"marks":16610,"value":16612,"nodeType":864},{},[16611],{"type":899},"That is a deployment model that matches what Omdia's respondents are asking for.",{"data":16614,"content":16615,"nodeType":1005},{},[],{"data":16617,"content":16618,"nodeType":1009},{},[16619],{"data":16620,"marks":16621,"value":16623,"nodeType":864},{},[16622],{"type":899},"7. Dedicated vendors lead over platform plays",{"data":16625,"content":16626,"nodeType":860},{},[16627,16631,16636],{"data":16628,"marks":16629,"value":16630,"nodeType":864},{},[],"When Omdia asked which category of vendor organizations primarily use or expect to use for secure enterprise browsing, ",{"data":16632,"marks":16633,"value":16635,"nodeType":864},{},[16634],{"type":899},"36% chose a dedicated SEB vendor",{"data":16637,"marks":16638,"value":16639,"nodeType":864},{},[]," — the largest single category. SASE/network security vendors came second at 29%, followed by traditional VDI/desktop virtualization vendors at 19% and endpoint platform vendors at 15%.",{"data":16641,"content":16642,"nodeType":860},{},[16643],{"data":16644,"marks":16645,"value":16646,"nodeType":864},{},[],"The dedicated category leads, and the reason isn't just first-mover advantage — it's architectural. The alternative paths each come with structural constraints. SASE and SSE platforms are network-centric: they see traffic metadata and enforce URL categorization, but they can't observe the rendered page inside a browser tab — the DOM structure, the script behavior, the credential entry that distinguishes a legitimate login from an AiTM reverse-proxy kit. ",{"data":16648,"content":16649,"nodeType":860},{},[16650],{"data":16651,"marks":16652,"value":16653,"nodeType":864},{},[],"Endpoint platforms that bolt on browser visibility are still anchored to the OS layer, solving for browser exploit prevention rather than in-session behavioral detection of the attacks that actually dominate — phishing, credential theft, session hijacking, extension compromise. And when large platform vendors acquire browser security capabilities, the integration work takes years rather than months, during which detection depth sits in a transitional state. ",{"data":16655,"content":16656,"nodeType":860},{},[16657],{"data":16658,"marks":16659,"value":16660,"nodeType":864},{},[],"Dedicated browser-native vendors start from a different premise entirely: the browser isn't a supplementary signal feeding into someone else's SASE pipeline or XDR correlation engine — it is the telemetry source and the control point. The browser is the only place where you get simultaneous visibility into both the attacker's technique and the employee's action within the same session, because the phishing page, the credential submission, the token exchange, and the data exfiltration all happen inside the same tab. No network appliance, endpoint agent, or identity provider log can see all of that, because none of them are present where the interaction occurs.",{"data":16662,"content":16663,"nodeType":860},{},[16664],{"data":16665,"marks":16666,"value":16667,"nodeType":864},{},[],"For security teams evaluating SEB solutions, the architecture matters more than the vendor category label. The capabilities Omdia's respondents ranked highest — integration with existing tools, GenAI controls, centralized policy enforcement, and the ability to use existing browsers — all point toward solutions that deliver detection depth through a lightweight deployment model, without browser migration and without the integration debt of a platform acquisition.",{"data":16669,"content":16670,"nodeType":1005},{},[],{"data":16672,"content":16673,"nodeType":860},{},[16674],{"data":16675,"marks":16676,"value":16677,"nodeType":864},{},[],"Push Security is the most powerful AI-native security tool in the browser. Think EDR, but for the browser — high-fidelity telemetry and real-time control across every session, on every device, with no browser migration required. ",{"data":16679,"content":16680,"nodeType":860},{},[16681],{"data":16682,"marks":16683,"value":1689,"nodeType":864},{},[],{"data":16685,"content":16686,"nodeType":860},{},[16687,16690,16697],{"data":16688,"marks":16689,"value":21,"nodeType":864},{},[],{"data":16691,"content":16692,"nodeType":883},{"uri":1700},[16693],{"data":16694,"marks":16695,"value":8163,"nodeType":864},{},[16696],{"type":1455},{"data":16698,"marks":16699,"value":2719,"nodeType":864},{},[],"7 things Omdia's latest report tells us about the secure enterprise browser market","Unpacking the latest research report from Omdia and what it means for the secure enterprise browser market.","2026-05-13T00:00:00.000Z","7-things-omdias-latest-report-tells-us-about-the-secure-enterprise-browser-market",{"items":16705},[16706,16708],{"sys":16707,"name":297},{"id":2732},{"sys":16709,"name":2729},{"id":2728},{"items":16711},[16712],{"fullName":2736,"firstName":2737,"jobTitle":2738,"profilePicture":16713},{"url":2740},{"__typename":2059,"sys":16715,"content":16717,"title":17483,"synopsis":17484,"hashTags":59,"publishedDate":16702,"slug":17485,"tagsCollection":17486,"authorsCollection":17492},{"id":16716},"2V130uMePtxAaefYQAKInb",{"json":16718},{"data":16719,"content":16720,"nodeType":856},{},[16721,16727,16734,16741,16748,16751,16759,16766,16778,16790,16795,16802,16805,16813,16820,16826,16833,16840,16949,16956,16959,16967,16974,17037,17053,17059,17066,17069,17077,17084,17092,17099,17106,17136,17143,17151,17158,17165,17172,17180,17187,17194,17201,17204,17212,17224,17231,17238,17246,17253,17260,17268,17275,17338,17354,17372,17380,17387,17395,17402,17409,17416,17422,17430,17437,17444,17450,17457,17464,17471,17477],{"data":16722,"content":16726,"nodeType":996},{"target":16723},{"sys":16724},{"id":16725,"type":1001,"linkType":1002},"5CPZ96xixlhgh6oqQ2rfmO",[],{"data":16728,"content":16729,"nodeType":860},{},[16730],{"data":16731,"marks":16732,"value":16733,"nodeType":864},{},[],"When a security team evaluates browser security solutions, they're usually asking the right question: “How do we protect our users as they work in the browser?”",{"data":16735,"content":16736,"nodeType":860},{},[16737],{"data":16738,"marks":16739,"value":16740,"nodeType":864},{},[],"But the answer they get from many vendors is shaped by a fundamentally different threat model — one that treats the browser as a piece of software to be hardened against exploitation, rather than as the arena where your users’ identities get stolen.",{"data":16742,"content":16743,"nodeType":860},{},[16744],{"data":16745,"marks":16746,"value":16747,"nodeType":864},{},[],"This distinction has enormous consequences for your security posture and the return you can expect from your investment in a new solution.",{"data":16749,"content":16750,"nodeType":1005},{},[],{"data":16752,"content":16753,"nodeType":1009},{},[16754],{"data":16755,"marks":16756,"value":16758,"nodeType":864},{},[16757],{"type":899},"Two different problems, dressed the same",{"data":16760,"content":16761,"nodeType":860},{},[16762],{"data":16763,"marks":16764,"value":16765,"nodeType":864},{},[],"When it comes to protecting users as they work in the browser, security tools typically fall into one of two camps:",{"data":16767,"content":16768,"nodeType":860},{},[16769,16774],{"data":16770,"marks":16771,"value":16773,"nodeType":864},{},[16772],{"type":899},"The first camp:",{"data":16775,"marks":16776,"value":16777,"nodeType":864},{},[]," represented by solutions like Seraphic (now CrowdStrike) — is built around the threat of attacking the browser itself. The architecture is designed to scramble the browser’s JavaScript runtime and prevent exploits from detonating and breaking out of the browser sandbox. This is browser hardening: defending the browser as software against exploitation by attackers who want to compromise the underlying device.",{"data":16779,"content":16780,"nodeType":860},{},[16781,16786],{"data":16782,"marks":16783,"value":16785,"nodeType":864},{},[16784],{"type":899},"The second camp:",{"data":16787,"marks":16788,"value":16789,"nodeType":864},{},[]," and the one Push Security occupies uniquely, focuses on what happens inside the browser when a user is working normally. Phishing pages harvesting credentials. Session tokens being stolen. Malicious OAuth applications being granted access through social engineering. Adversary-in-the-middle proxies intercepting authentication flows. These attacks don't exploit the browser. They exploit the human — and now agents — using it via the browser's legitimate capabilities (think of it as LOTL, browser edition).",{"data":16791,"content":16794,"nodeType":996},{"target":16792},{"sys":16793},{"id":5895,"type":1001,"linkType":1002},[],{"data":16796,"content":16797,"nodeType":860},{},[16798],{"data":16799,"marks":16800,"value":16801,"nodeType":864},{},[],"The question for any security team evaluating this space: which of these threat models presents the greatest risks to my organization?",{"data":16803,"content":16804,"nodeType":1005},{},[],{"data":16806,"content":16807,"nodeType":1009},{},[16808],{"data":16809,"marks":16810,"value":16812,"nodeType":864},{},[16811],{"type":899},"How organizations are actually being breached",{"data":16814,"content":16815,"nodeType":860},{},[16816],{"data":16817,"marks":16818,"value":16819,"nodeType":864},{},[],"Let's look at the major breach campaigns of the last three years without the marketing filter and a pattern emerges immediately. Scattered Spider and its successors breached MGM Resorts, Caesars, M&S, JLR, and Salesforce customers — not through browser exploits, but through social engineering, phishing and Adversary-in-the-Middle attacks that stole session tokens and SSO credentials. ",{"data":16821,"content":16825,"nodeType":996},{"target":16822},{"sys":16823},{"id":16824,"type":1001,"linkType":1002},"2qIMTiyyIsQFAyGJ9Ikyej",[],{"data":16827,"content":16828,"nodeType":860},{},[16829],{"data":16830,"marks":16831,"value":16832,"nodeType":864},{},[],"In every case, the attack happened in the browser — using stolen identities to log into legitimate cloud services — not on the browser through exploitation of the browser engine itself.",{"data":16834,"content":16835,"nodeType":860},{},[16836],{"data":16837,"marks":16838,"value":16839,"nodeType":864},{},[],"The data from major threat intelligence sources is unambiguous:",{"data":16841,"content":16842,"nodeType":941},{},[16843,16862,16881,16900,16919,16934],{"data":16844,"content":16845,"nodeType":945},{},[16846],{"data":16847,"content":16848,"nodeType":860},{},[16849,16853,16858],{"data":16850,"marks":16851,"value":16852,"nodeType":864},{},[],"Identity weaknesses played a material role in ",{"data":16854,"marks":16855,"value":16857,"nodeType":864},{},[16856],{"type":899},"almost 90% of Unit 42 incident response investigations",{"data":16859,"marks":16860,"value":16861,"nodeType":864},{},[]," (Palo Alto Networks Unit 42 IR Report)",{"data":16863,"content":16864,"nodeType":945},{},[16865],{"data":16866,"content":16867,"nodeType":860},{},[16868,16872,16877],{"data":16869,"marks":16870,"value":16871,"nodeType":864},{},[],"Credential abuse and phishing combined accounted for ",{"data":16873,"marks":16874,"value":16876,"nodeType":864},{},[16875],{"type":899},"38% of all breaches",{"data":16878,"marks":16879,"value":16880,"nodeType":864},{},[],", making identity the single largest breach vector (Verizon DBIR 2025)",{"data":16882,"content":16883,"nodeType":945},{},[16884],{"data":16885,"content":16886,"nodeType":860},{},[16887,16891,16896],{"data":16888,"marks":16889,"value":16890,"nodeType":864},{},[],"Cloud-conscious intrusions — attackers using stolen identities to access cloud services — rose ",{"data":16892,"marks":16893,"value":16895,"nodeType":864},{},[16894],{"type":899},"37% in 2025",{"data":16897,"marks":16898,"value":16899,"nodeType":864},{},[],", up 266% among state-nexus actors (CrowdStrike 2026 Global Threat Report)",{"data":16901,"content":16902,"nodeType":945},{},[16903],{"data":16904,"content":16905,"nodeType":860},{},[16906,16910,16915],{"data":16907,"marks":16908,"value":16909,"nodeType":864},{},[],"In cloud-related incidents, identity issues drove initial access in ",{"data":16911,"marks":16912,"value":16914,"nodeType":864},{},[16913],{"type":899},"83% of cases",{"data":16916,"marks":16917,"value":16918,"nodeType":864},{},[]," (Mandiant / Google Cloud Threat Horizons H1 2026)",{"data":16920,"content":16921,"nodeType":945},{},[16922],{"data":16923,"content":16924,"nodeType":860},{},[16925,16930],{"data":16926,"marks":16927,"value":16929,"nodeType":864},{},[16928],{"type":899},"82% of attack detections are now malware-free",{"data":16931,"marks":16932,"value":16933,"nodeType":864},{},[]," — they don't touch the endpoint and abuse legitimate access and functionality (CrowdStrike 2026 Global Threat Report)",{"data":16935,"content":16936,"nodeType":945},{},[16937],{"data":16938,"content":16939,"nodeType":860},{},[16940,16945],{"data":16941,"marks":16942,"value":16944,"nodeType":864},{},[16943],{"type":899},"49% of organizations",{"data":16946,"marks":16947,"value":16948,"nodeType":864},{},[]," suffered a successful browser-based attack in the last 12 months (Omdia 2026)",{"data":16950,"content":16951,"nodeType":860},{},[16952],{"data":16953,"marks":16954,"value":16955,"nodeType":864},{},[],"These aren't edge cases. This is now the primary attack playbook.",{"data":16957,"content":16958,"nodeType":1005},{},[],{"data":16960,"content":16961,"nodeType":1312},{},[16962],{"data":16963,"marks":16964,"value":16966,"nodeType":864},{},[16965],{"type":899},"The economics of attack choice",{"data":16968,"content":16969,"nodeType":860},{},[16970],{"data":16971,"marks":16972,"value":16973,"nodeType":864},{},[],"Attackers are rational actors. They pick the cheapest, most reliable path to their objective. The economics of browser exploitation versus identity theft tell the whole story:",{"data":16975,"content":16976,"nodeType":941},{},[16977,16992,17007,17022],{"data":16978,"content":16979,"nodeType":945},{},[16980],{"data":16981,"content":16982,"nodeType":860},{},[16983,16987],{"data":16984,"marks":16985,"value":16986,"nodeType":864},{},[],"Chrome sandbox RCE exploit (bug bounty value): ",{"data":16988,"marks":16989,"value":16991,"nodeType":864},{},[16990],{"type":899},"$250,000",{"data":16993,"content":16994,"nodeType":945},{},[16995],{"data":16996,"content":16997,"nodeType":860},{},[16998,17002],{"data":16999,"marks":17000,"value":17001,"nodeType":864},{},[],"IAB-provided IdP admin account: ",{"data":17003,"marks":17004,"value":17006,"nodeType":864},{},[17005],{"type":899},"~$3,000",{"data":17008,"content":17009,"nodeType":945},{},[17010],{"data":17011,"content":17012,"nodeType":860},{},[17013,17017],{"data":17014,"marks":17015,"value":17016,"nodeType":864},{},[],"1-year phishing kit rental (PhaaS): ",{"data":17018,"marks":17019,"value":17021,"nodeType":864},{},[17020],{"type":899},"~$1,000",{"data":17023,"content":17024,"nodeType":945},{},[17025],{"data":17026,"content":17027,"nodeType":860},{},[17028,17032],{"data":17029,"marks":17030,"value":17031,"nodeType":864},{},[],"Bulk stolen credential list: ",{"data":17033,"marks":17034,"value":17036,"nodeType":864},{},[17035],{"type":899},"~$15",{"data":17038,"content":17039,"nodeType":860},{},[17040,17044,17049],{"data":17041,"marks":17042,"value":17043,"nodeType":864},{},[],"Browser zero-days accounted for just ",{"data":17045,"marks":17046,"value":17048,"nodeType":864},{},[17047],{"type":899},"9% of all zero-days reported to Google in 2025",{"data":17050,"marks":17051,"value":17052,"nodeType":864},{},[]," — described by Google's own researchers as a \"historic low.\" Chrome's sandbox architecture, site isolation, and hardware-backed security features are the result of years of sustained hardening investment. When a browser vulnerability is discovered, Google typically deploys a patch within days.",{"data":17054,"content":17058,"nodeType":996},{"target":17055},{"sys":17056},{"id":17057,"type":1001,"linkType":1002},"5XWKHTT5J06yWcgZIOL95t",[],{"data":17060,"content":17061,"nodeType":860},{},[17062],{"data":17063,"marks":17064,"value":17065,"nodeType":864},{},[],"The bottom line: browser exploits are extraordinarily expensive to develop, increasingly difficult to execute reliably against a hardened modern browser, and patched rapidly when discovered. In sharp contrast, identity attacks are cheap to run, highly scalable, and have a low technical barrier to adoption — that’s why they’re responsible for the overwhelming majority of enterprise breaches. Attackers have voted with their resources.",{"data":17067,"content":17068,"nodeType":1005},{},[],{"data":17070,"content":17071,"nodeType":1009},{},[17072],{"data":17073,"marks":17074,"value":17076,"nodeType":864},{},[17075],{"type":899},"What you're actually buying with each vendor",{"data":17078,"content":17079,"nodeType":860},{},[17080],{"data":17081,"marks":17082,"value":17083,"nodeType":864},{},[],"Understanding the core architectural choice each vendor has made helps decode what their solution can and cannot protect you from.",{"data":17085,"content":17086,"nodeType":1312},{},[17087],{"data":17088,"marks":17089,"value":17091,"nodeType":864},{},[17090],{"type":899},"Seraphic (CrowdStrike)",{"data":17093,"content":17094,"nodeType":860},{},[17095],{"data":17096,"marks":17097,"value":17098,"nodeType":864},{},[],"Seraphic's architecture is built to inject into the browser's JavaScript runtime at the OS layer, scrambling browser internals to prevent exploits from executing. This is a technically sophisticated approach to a technically interesting problem that is, by every threat intelligence measure, not the problem causing enterprise breaches at scale.",{"data":17100,"content":17101,"nodeType":860},{},[17102],{"data":17103,"marks":17104,"value":17105,"nodeType":864},{},[],"Beyond the threat model mismatch, there are structural concerns with the approach itself. Injecting an agent into the browser's JS runtime is a technique with well-documented stability consequences. This is the same approach antivirus vendors have used for years, often at the cost of system stability. Seraphic now runs alongside the CrowdStrike Falcon sensor on managed devices, combining two heavyweight agents on the same machine. For any organization with CrowdStrike already deployed, the question isn't theoretical: how has that combination been validated in production environments?",{"data":17107,"content":17108,"nodeType":860},{},[17109,17113,17120,17124,17132],{"data":17110,"marks":17111,"value":17112,"nodeType":864},{},[],"There's also the managed-device limitation. Seraphic requires a kernel-level agent, which means it loses meaningful capability on unmanaged devices, BYOD machines, and contractor endpoints. This is not a niche concern: according to ",{"data":17114,"content":17115,"nodeType":883},{"uri":2561},[17116],{"data":17117,"marks":17118,"value":17119,"nodeType":864},{},[],"Omdia's 2026 browser security survey",{"data":17121,"marks":17122,"value":17123,"nodeType":864},{},[],", 32% of users access corporate applications from unmanaged devices at least occasionally. Agent-based solutions are blind to nearly a third of your actual attack surface by design. The Okta breach began on a support engineer's personal device, where ",{"data":17125,"content":17126,"nodeType":883},{"uri":12275},[17127],{"data":17128,"marks":17129,"value":17131,"nodeType":864},{},[17130],{"type":1455},"corporate credentials had synced",{"data":17133,"marks":17134,"value":17135,"nodeType":864},{},[]," via Chrome's built-in profile sync. No agent, no visibility.",{"data":17137,"content":17138,"nodeType":860},{},[17139],{"data":17140,"marks":17141,"value":17142,"nodeType":864},{},[],"Teams evaluating Seraphic today are also buying into an integration roadmap, not a shipped capability. The acquisition by CrowdStrike closed in early 2026. The work of wiring browser telemetry into Falcon Fusion and correlating it with endpoint signals is currently a promise, not a production feature.",{"data":17144,"content":17145,"nodeType":1312},{},[17146],{"data":17147,"marks":17148,"value":17150,"nodeType":864},{},[17149],{"type":899},"SquareX (Zscaler)",{"data":17152,"content":17153,"nodeType":860},{},[17154],{"data":17155,"marks":17156,"value":17157,"nodeType":864},{},[],"SquareX's core capability is sandboxing suspicious file downloads inside disposable browser containers before they reach the endpoint. This is a legitimate approach to a real but declining problem. 82% of attack detections are now malware-free (CrowdStrike 2026 Global Threat Report) — attacks don't arrive as files to be sandboxed, they arrive as authenticated sessions. And the delivery channel shift makes the picture even starker: across Push's customer base, 1 in 3 phishing payloads are now delivered outside of email entirely — via social media, ads, and messaging platforms — and 4 in 5 ClickFix payloads arrive through search engines, not email. The threat that SquareX was architecturally designed to address is a shrinking share of the actual attack surface, and it's shrinking fast.",{"data":17159,"content":17160,"nodeType":860},{},[17161],{"data":17162,"marks":17163,"value":17164,"nodeType":864},{},[],"Zscaler already has sandboxing built into ZIA. For an existing Zscaler customer evaluating SquareX, the honest question is: what does this add beyond some extension analysis capability and what you already have? The AiTM phishing campaign that stole your user's credentials and accessed your cloud applications generates no malicious file, triggers no sandbox, and produces no network signal for Zscaler's traffic inspection to catch — because it happened entirely inside a browser session using legitimate authentication flows.",{"data":17166,"content":17167,"nodeType":860},{},[17168],{"data":17169,"marks":17170,"value":17171,"nodeType":864},{},[],"The acquisition also raises product focus questions. Being absorbed into a network-centric platform means SquareX is now optimized for Zscaler's priorities, not for standalone browser detection and response. Teams that care about investigation, threat hunting, and incident response should ask specifically what SquareX adds in those workflows under Zscaler ownership.",{"data":17173,"content":17174,"nodeType":1312},{},[17175],{"data":17176,"marks":17177,"value":17179,"nodeType":864},{},[17178],{"type":899},"LayerX",{"data":17181,"content":17182,"nodeType":860},{},[17183],{"data":17184,"marks":17185,"value":17186,"nodeType":864},{},[],"LayerX is primarily a policy enforcement and risk scoring platform focused on internal governance — controlling which applications employees access, what data moves through the browser, and whether behavior complies with internal rules.",{"data":17188,"content":17189,"nodeType":860},{},[17190],{"data":17191,"marks":17192,"value":17193,"nodeType":864},{},[],"Push Security covers that ground too. Push provides full visibility over AI tool usage, shadow SaaS, unmanaged identities, and data loss vectors — including sensitive data submitted through AI prompts, file uploads to personal cloud destinations, and OAuth grants to third-party applications. The same browser telemetry that detects external attacks also surfaces insider risks and powers DLP controls and compliance audit evidence, all from a single extension.",{"data":17195,"content":17196,"nodeType":860},{},[17197],{"data":17198,"marks":17199,"value":17200,"nodeType":864},{},[],"The critical difference is that Push goes significantly further. Where LayerX scores risk and enforces policy, Push detects active external attack techniques in real time: AiTM phishing kits as they execute, session tokens being stolen, ClickFix lures through behavioral analysis of page structure. These are the attacks causing the most damaging breaches today, and they don't surface on a risk score until after the damage is done. Push addresses both the governance problem and the external threat problem from the same platform. LayerX addresses only the first.",{"data":17202,"content":17203,"nodeType":1005},{},[],{"data":17205,"content":17206,"nodeType":1009},{},[17207],{"data":17208,"marks":17209,"value":17211,"nodeType":864},{},[17210],{"type":899},"Securing the organization via the browser: Push Security",{"data":17213,"content":17214,"nodeType":860},{},[17215,17220],{"data":17216,"marks":17217,"value":17219,"nodeType":864},{},[17218],{"type":899},"Push Security is built on a different architectural premise:",{"data":17221,"marks":17222,"value":17223,"nodeType":864},{},[]," the browser is not primarily a piece of software to harden against exploitation. It is the primary workplace, the primary SaaS access point, and the arena where the majority of modern identity attacks play out. The goal is to secure the organization via the browser — not just to secure the browser itself.",{"data":17225,"content":17226,"nodeType":860},{},[17227],{"data":17228,"marks":17229,"value":17230,"nodeType":864},{},[],"This means Push's detection surface is built around the attacks that are actually causing breaches: adversary-in-the-middle phishing, ClickFix and its many variants, credential stuffing against shadow identities, session token theft and replay, OAuth consent abuse, and the full spectrum of identity-based initial access techniques that dominate the modern threat landscape.",{"data":17232,"content":17233,"nodeType":860},{},[17234],{"data":17235,"marks":17236,"value":17237,"nodeType":864},{},[],"The deployment model reflects the threat model. Push deploys as a lightweight browser extension — no kernel-level agent, no device dependency, no migration to a new browser. It works on managed and unmanaged devices, across every traditional, enterprise and AI browser where employees are doing work and attackers are targeting them. The operational overhead is minimal by design: Push has been deployed to 100,000 users in under one hour during normal business hours.",{"data":17239,"content":17240,"nodeType":1312},{},[17241],{"data":17242,"marks":17243,"value":17245,"nodeType":864},{},[17244],{"type":899},"Detection philosophy: targeting what attackers can't change",{"data":17247,"content":17248,"nodeType":860},{},[17249],{"data":17250,"marks":17251,"value":17252,"nodeType":864},{},[],"Push's detection approach targets attacker TTPs rather than indicators of compromise that attackers can rotate in minutes. 95% of attacks detected by Push used some form of bot protection service — meaning the specific domain and IP were deliberately obscured. If your primary detection relies on blocklists, recent reports tell us that 89% of phishing domains will evade you: because they're active for less than two days, they can be spun up, down, and replaced faster than blocklists can keep up.",{"data":17254,"content":17255,"nodeType":860},{},[17256],{"data":17257,"marks":17258,"value":17259,"nodeType":864},{},[],"Behavioral detection of the attack technique — the AiTM relay structure, the credential entry on a cloned login page, the anomalous session context — remains valid regardless of what domain the attack is hosted on or which PhaaS kit was used to build it.",{"data":17261,"content":17262,"nodeType":1312},{},[17263],{"data":17264,"marks":17265,"value":17267,"nodeType":864},{},[17266],{"type":899},"Measuring the identity attack surface (it's bigger than you realize)",{"data":17269,"content":17270,"nodeType":860},{},[17271],{"data":17272,"marks":17273,"value":17274,"nodeType":864},{},[],"Because Push has visibility into actual login behavior across thousands of organizations, it can quantify the attack surface that identity-based attacks exploit. Of the last million logins observed by Push:",{"data":17276,"content":17277,"nodeType":941},{},[17278,17293,17308,17323],{"data":17279,"content":17280,"nodeType":945},{},[17281],{"data":17282,"content":17283,"nodeType":860},{},[17284,17289],{"data":17285,"marks":17286,"value":17288,"nodeType":864},{},[17287],{"type":899},"15 corporate identities were identified per employee",{"data":17290,"marks":17291,"value":17292,"nodeType":864},{},[]," used to access cloud apps",{"data":17294,"content":17295,"nodeType":945},{},[17296],{"data":17297,"content":17298,"nodeType":860},{},[17299,17304],{"data":17300,"marks":17301,"value":17303,"nodeType":864},{},[17302],{"type":899},"1 in 4",{"data":17305,"marks":17306,"value":17307,"nodeType":864},{},[]," were password logins, not SSO",{"data":17309,"content":17310,"nodeType":945},{},[17311],{"data":17312,"content":17313,"nodeType":860},{},[17314,17319],{"data":17315,"marks":17316,"value":17318,"nodeType":864},{},[17317],{"type":899},"2 in 5",{"data":17320,"marks":17321,"value":17322,"nodeType":864},{},[]," were not protected by MFA",{"data":17324,"content":17325,"nodeType":945},{},[17326],{"data":17327,"content":17328,"nodeType":860},{},[17329,17334],{"data":17330,"marks":17331,"value":17333,"nodeType":864},{},[17332],{"type":899},"1 in 5",{"data":17335,"marks":17336,"value":17337,"nodeType":864},{},[]," used a weak, breached, or reused password",{"data":17339,"content":17340,"nodeType":860},{},[17341,17345,17350],{"data":17342,"marks":17343,"value":17344,"nodeType":864},{},[],"And it's not just login hygiene. Across Push's customer base, ",{"data":17346,"marks":17347,"value":17349,"nodeType":864},{},[17348],{"type":899},"46%+ of browser extensions in corporate environments have the permission combinations required for direct account takeover via session theft if they are malicious or compromised by an attacker",{"data":17351,"marks":17352,"value":17353,"nodeType":864},{},[],". Most organizations have no inventory of what's running in their employees' browsers, let alone visibility into what those extensions can access.",{"data":17355,"content":17356,"nodeType":860},{},[17357,17361,17368],{"data":17358,"marks":17359,"value":17360,"nodeType":864},{},[],"These aren't theoretical vulnerabilities. They're the specific weaknesses that browser-native identity attacks are designed to exploit. ",{"data":17362,"content":17363,"nodeType":883},{"uri":3210},[17364],{"data":17365,"marks":17366,"value":17367,"nodeType":864},{},[],"This visibility turns browser security from a reactive posture into a proactive one",{"data":17369,"marks":17370,"value":17371,"nodeType":864},{},[]," — you can see and remediate the identity weaknesses before an attacker exploits them, not just detect the attack while it's in progress.",{"data":17373,"content":17374,"nodeType":1312},{},[17375],{"data":17376,"marks":17377,"value":17379,"nodeType":864},{},[17378],{"type":899},"The ROI case",{"data":17381,"content":17382,"nodeType":860},{},[17383],{"data":17384,"marks":17385,"value":17386,"nodeType":864},{},[],"The ROI question for any security investment is: what quantum of real risk does this tool address, at what cost in money and operational friction?",{"data":17388,"content":17389,"nodeType":860},{},[17390],{"data":17391,"marks":17392,"value":17394,"nodeType":864},{},[17393],{"type":899},"That calculation looks very different depending on your threat model.",{"data":17396,"content":17397,"nodeType":860},{},[17398],{"data":17399,"marks":17400,"value":17401,"nodeType":864},{},[],"A solution focused on browser engine exploits and sandbox escapes is defending against an attack category that represents a tiny fraction of actual enterprise breaches, requires extraordinary attacker resources to execute, and is increasingly mitigated by browser vendors themselves through hardening and rapid patching. Chrome's automatic update cycle means that even when a browser vulnerability is discovered and disclosed, it is typically in front of users as a patch within days. The defenders here are Google, Mozilla, and Microsoft — with multi-billion dollar security teams and full access to the browser internals.",{"data":17403,"content":17404,"nodeType":860},{},[17405],{"data":17406,"marks":17407,"value":17408,"nodeType":864},{},[],"A solution focused on identity attacks via the browser — phishing, credential theft, session hijacking, OAuth abuse, malicious browser extensions — is defending against the primary cause of enterprise breaches, one that is accelerating (cloud-conscious intrusions up 37% in 2025, browser-based attacks increasing at 68% of organizations over the past two years per Omdia) and increasingly automated through PhaaS infrastructure that gives low-skill attackers enterprise-grade capability for $1,000 a year.",{"data":17410,"content":17411,"nodeType":860},{},[17412],{"data":17413,"marks":17414,"value":17415,"nodeType":864},{},[],"There's also a forward-looking dimension. The threat landscape isn't moving toward more browser exploitation. It's moving further into identity abuse. AI-powered phishing lowers the social engineering barrier. Agentic browsers will automate credential stuffing and account takeover at a scale that wasn't previously possible. And attackers are already adapting to authentication improvements: device code phishing has increased 37x since the start of 2026, a technique specifically designed to circumvent passkeys by bypassing the authentication flow entirely — the attacker never encounters a login page. The investment in identity-centric browser detection compounds over time as the attack surface evolves in the same direction.",{"data":17417,"content":17421,"nodeType":996},{"target":17418},{"sys":17419},{"id":17420,"type":1001,"linkType":1002},"cQ6WPV2NMYvDMZXifqzK1",[],{"data":17423,"content":17424,"nodeType":1312},{},[17425],{"data":17426,"marks":17427,"value":17429,"nodeType":864},{},[17428],{"type":899},"The verdict",{"data":17431,"content":17432,"nodeType":860},{},[17433],{"data":17434,"marks":17435,"value":17436,"nodeType":864},{},[],"Browser security is a real and growing priority — according to Omdia Research, it is now a top-five priority for 88% of security leaders and the top priority for 26% of them. 85% expect their browser security spending to increase over the next 12–24 months. The question isn't whether to invest. It's what to invest in.",{"data":17438,"content":17439,"nodeType":860},{},[17440],{"data":17441,"marks":17442,"value":17443,"nodeType":864},{},[],"The browser is where your users work, where attackers target them, and where the identity attacks causing the majority of enterprise breaches play out. But not all browser security investments address the same problem.",{"data":17445,"content":17449,"nodeType":996},{"target":17446},{"sys":17447},{"id":17448,"type":1001,"linkType":1002},"4nGzT9cNG0Yid93uUCCuTt",[],{"data":17451,"content":17452,"nodeType":860},{},[17453],{"data":17454,"marks":17455,"value":17456,"nodeType":864},{},[],"Solutions like Seraphic are built to defend against a browser being exploited by an attacker trying to break out of the sandbox — an attack that represents a historic low as a share of enterprise incidents, and one that Google's own hardening and rapid patching increasingly mitigates automatically. SquareX is built around malware sandboxing — a legitimate but declining share of the initial access landscape, and a capability Zscaler's existing customers already partially have. LayerX focuses on internal governance rather than external threats.",{"data":17458,"content":17459,"nodeType":860},{},[17460],{"data":17461,"marks":17462,"value":17463,"nodeType":864},{},[],"Push Security is built to defend against the attacks that are behind the major breaches hitting the headlines: identity theft, credential abuse, session hijacking, and the full identity attack kill chain that plays out inside the browser every time an attacker logs in as your user. Every major threat intelligence report points to these as the primary breach vectors. The economics of attack choice guarantee they'll remain so.",{"data":17465,"content":17466,"nodeType":860},{},[17467],{"data":17468,"marks":17469,"value":17470,"nodeType":864},{},[],"The security team that deploys Push gets the greatest coverage of the highest-impact threats, on managed and unmanaged devices, with the lightest operational footprint. That is the browser security investment that moves the needle on real organizational risk — not the browser security investment that defends the software nobody's actually attacking.",{"data":17472,"content":17476,"nodeType":996},{"target":17473},{"sys":17474},{"id":17475,"type":1001,"linkType":1002},"3a2sEWgWKZulGLCFfODwk0",[],{"data":17478,"content":17479,"nodeType":860},{},[17480],{"data":17481,"marks":17482,"value":21,"nodeType":864},{},[],"How to avoid the browser security buyer's trap","Securing the browser vs. securing the organization via the browser — what's the difference?","how-to-avoid-the-browser-security-buyers-trap",{"items":17487},[17488,17490],{"sys":17489,"name":297},{"id":2732},{"sys":17491,"name":2729},{"id":2728},{"items":17493},[17494],{"fullName":4878,"firstName":4879,"jobTitle":851,"profilePicture":17495},{"url":4881},{"__typename":2059,"sys":17497,"content":17499,"title":18004,"synopsis":18005,"hashTags":59,"publishedDate":18006,"slug":18007,"tagsCollection":18008,"authorsCollection":18014},{"id":17498},"2MWicW07sNEBp59wxYtAiC",{"json":17500},{"data":17501,"content":17502,"nodeType":856},{},[17503,17511,17542,17548,17555,17574,17589,17592,17600,17615,17634,17659,17665,17681,17710,17716,17722,17738,17741,17749,17756,17764,17782,17798,17805,17830,17837,17845,17874,17881,17889,17896,17902,17905,17913,17920,17928,17934,17937,17945,17952,17959,17966,17978,17981,17987],{"data":17504,"content":17505,"nodeType":1009},{},[17506],{"data":17507,"marks":17508,"value":17510,"nodeType":864},{},[17509],{"type":899},"The quantification problem nobody talks about",{"data":17512,"content":17513,"nodeType":860},{},[17514,17518,17526,17530,17538],{"data":17515,"marks":17516,"value":17517,"nodeType":864},{},[],"I was recently teaching ",{"data":17519,"content":17521,"nodeType":883},{"uri":17520},"https://www.sans.org/cyber-security-courses/cybersecurity-leaders/",[17522],{"data":17523,"marks":17524,"value":17525,"nodeType":864},{},[],"SANS LDR551",{"data":17527,"marks":17528,"value":17529,"nodeType":864},{},[],", where we cover some of the flawed approaches used in risk measurement and prioritization — for example, presenting ordinal data in a risk matrix as ratio data, implying that the matrix represents quantitative analysis when it’s more of a best guess. We then look at modeling using ",{"data":17531,"content":17533,"nodeType":883},{"uri":17532},"https://en.wikipedia.org/wiki/Loss_exceedance_curve",[17534],{"data":17535,"marks":17536,"value":17537,"nodeType":864},{},[],"Loss Exceedance Curves",{"data":17539,"marks":17540,"value":17541,"nodeType":864},{},[]," as a more accurate, if much more difficult, approach to quantitative risk assessment.",{"data":17543,"content":17547,"nodeType":996},{"target":17544},{"sys":17545},{"id":17546,"type":1001,"linkType":1002},"4S1wJUm6E1qvyZzwrl2DL",[],{"data":17549,"content":17550,"nodeType":860},{},[17551],{"data":17552,"marks":17553,"value":17554,"nodeType":864},{},[],"The only problem is, we rarely have the time or the data to construct such models. Ask a CISO how they measure risk for credential compromise and other account takeover attacks, and the answer will probably include one or more of the following: a risk assessment, a whiteboard, and a room full of smart people making educated guesses about attack frequency and control strength. ",{"data":17556,"content":17557,"nodeType":860},{},[17558,17562,17570],{"data":17559,"marks":17560,"value":17561,"nodeType":864},{},[],"That isn't a criticism — for most risk scenarios, expert elicitation is the best (and most convenient) available method. Breach cost data is sparse, threat actor behavior is unpredictable, and internal incident history is (ideally!) a limited sample. Quantitative risk frameworks like ",{"data":17563,"content":17565,"nodeType":883},{"uri":17564},"https://www.fairinstitute.org/",[17566],{"data":17567,"marks":17568,"value":17569,"nodeType":864},{},[],"FAIR",{"data":17571,"marks":17572,"value":17573,"nodeType":864},{},[]," give structure to that uncertainty, but they can't conjure data that just doesn't exist.",{"data":17575,"content":17576,"nodeType":860},{},[17577,17581,17586],{"data":17578,"marks":17579,"value":17580,"nodeType":864},{},[],"The results are usually estimates with wide confidence intervals and loss distributions that appear precise, but are hard to defend to a CFO or a board. Finance leaders have seen Monte Carlo simulations before; the capable ones will challenge the quality of the outputs if they doubt the quality of the inputs. ",{"data":17582,"marks":17583,"value":17585,"nodeType":864},{},[17584],{"type":899},"But with the right telemetry, we can get both",{"data":17587,"marks":17588,"value":2924,"nodeType":864},{},[],{"data":17590,"content":17591,"nodeType":1005},{},[],{"data":17593,"content":17594,"nodeType":1009},{},[17595],{"data":17596,"marks":17597,"value":17599,"nodeType":864},{},[17598],{"type":899},"Why the identity attack surface is uniquely measurable",{"data":17601,"content":17602,"nodeType":860},{},[17603,17607,17612],{"data":17604,"marks":17605,"value":17606,"nodeType":864},{},[],"We've written extensively about the shift to identity as a primary attack vector — and the evidence continues to stack up. Credential phishing, device code phishing, ClickFix, adversary-in-the-middle attacks, session hijacking, and SaaS account compromise now account for the majority of breach entry points in most enterprise environments. But the silver lining here is that this shift has created something valuable for risk quantification: ",{"data":17608,"marks":17609,"value":17611,"nodeType":864},{},[17610],{"type":2246},"a highly observable threat surface",{"data":17613,"marks":17614,"value":2924,"nodeType":864},{},[],{"data":17616,"content":17617,"nodeType":860},{},[17618,17622,17630],{"data":17619,"marks":17620,"value":17621,"nodeType":864},{},[],"Identity attacks execute ",{"data":17623,"content":17624,"nodeType":883},{"uri":9007},[17625],{"data":17626,"marks":17627,"value":17629,"nodeType":864},{},[17628],{"type":1455},"in the browser",{"data":17631,"marks":17632,"value":17633,"nodeType":864},{},[],". They leave traces in authentication flows, login behaviors, OAuth integrations, extension activity, and SaaS access patterns — all of which are captured in real time by the Push extension. Unlike network or endpoint attacks, where the signal is often binary and retroactive, browser-based identity threats generate continuous, high-frequency telemetry that maps directly onto the inputs that drive quantitative risk models.",{"data":17635,"content":17636,"nodeType":860},{},[17637,17641,17646,17650,17655],{"data":17638,"marks":17639,"value":17640,"nodeType":864},{},[],"This telemetry directly informs the hardest inputs in any quantitative risk model. One is ",{"data":17642,"marks":17643,"value":17645,"nodeType":864},{},[17644],{"type":899},"Threat Event Frequency (TEF)",{"data":17647,"marks":17648,"value":17649,"nodeType":864},{},[],": how often a threat agent acts against an asset in a given period. For identity risks, this can be answered in how many credential phishing attempts reached your users across all delivery channels (social media, email, malvertising, etc.), or how frequently your users authorize malicious or compromised SaaS apps. Browser-level telemetry can answer these questions with ",{"data":17651,"marks":17652,"value":17654,"nodeType":864},{},[17653],{"type":2246},"observed",{"data":17656,"marks":17657,"value":17658,"nodeType":864},{},[]," data rather than industry lookups and general benchmarks. ",{"data":17660,"content":17664,"nodeType":996},{"target":17661},{"sys":17662},{"id":17663,"type":1001,"linkType":1002},"EvjT68MCWW7nz5q86xe8S",[],{"data":17666,"content":17667,"nodeType":860},{},[17668,17672,17677],{"data":17669,"marks":17670,"value":17671,"nodeType":864},{},[],"The other input to risk modeling that's difficult to express in concrete terms is ",{"data":17673,"marks":17674,"value":17676,"nodeType":864},{},[17675],{"type":899},"vulnerability",{"data":17678,"marks":17679,"value":17680,"nodeType":864},{},[],": the probability a threat becomes a loss event or, more specifically, how likely it is that your controls will fail. ",{"data":17682,"content":17683,"nodeType":860},{},[17684,17688,17695,17699,17707],{"data":17685,"marks":17686,"value":17687,"nodeType":864},{},[],"This is where browser telemetry gets especially concrete. ",{"data":17689,"content":17690,"nodeType":883},{"uri":15980},[17691],{"data":17692,"marks":17693,"value":17694,"nodeType":864},{},[],"Analysis of login telemetry across Push-monitored environments",{"data":17696,"marks":17697,"value":17698,"nodeType":864},{},[]," shows that 1 in 4 logins are still password-only (not SSO), 2 in 5 are not protected by MFA, and 1 in 5 use a weak, breached, or reused password. Many of these logins occur outside the visibility of a central IdP platform like Microsoft, Google or Okta — the result of downstream ",{"data":17700,"content":17702,"nodeType":883},{"uri":17701},"https://pushsecurity.com/blog/ghost-logins-when-forgotten-identities-come-back-to-haunt-you/",[17703],{"data":17704,"marks":17705,"value":17706,"nodeType":864},{},[],"ghost logins",{"data":17708,"marks":17709,"value":1774,"nodeType":864},{},[],{"data":17711,"content":17715,"nodeType":996},{"target":17712},{"sys":17713},{"id":17714,"type":1001,"linkType":1002},"5GctExdVGjHRwKifiP00Fp",[],{"data":17717,"content":17721,"nodeType":996},{"target":17718},{"sys":17719},{"id":17720,"type":1001,"linkType":1002},"2mWToHCJcuB9FMwxxzd67F",[],{"data":17723,"content":17724,"nodeType":860},{},[17725,17729,17734],{"data":17726,"marks":17727,"value":17728,"nodeType":864},{},[],"In a FAIR-based model, TEF and vulnerability together determine ",{"data":17730,"marks":17731,"value":17733,"nodeType":864},{},[17732],{"type":899},"loss event frequency",{"data":17735,"marks":17736,"value":17737,"nodeType":864},{},[],": the foundational driver of the entire risk calculation. Using telemetry from your own environment as the basis for these calculations makes them far more accurate, and more likely to stand up to scrutiny.",{"data":17739,"content":17740,"nodeType":1005},{},[],{"data":17742,"content":17743,"nodeType":1009},{},[17744],{"data":17745,"marks":17746,"value":17748,"nodeType":864},{},[17747],{"type":899},"The attack surface is bigger than most models assume",{"data":17750,"content":17751,"nodeType":860},{},[17752],{"data":17753,"marks":17754,"value":17755,"nodeType":864},{},[],"One of the consistent failures in identity risk modeling is the tendency to model risks defenders can see, and leave the rest off the balance sheet. These omissions create a systematic understatement of exposure that browser-based telemetry can offset.",{"data":17757,"content":17758,"nodeType":1312},{},[17759],{"data":17760,"marks":17761,"value":17763,"nodeType":864},{},[17762],{"type":899},"Shadow AI and OAuth sprawl",{"data":17765,"content":17766,"nodeType":860},{},[17767,17770,17778],{"data":17768,"marks":17769,"value":21,"nodeType":864},{},[],{"data":17771,"content":17772,"nodeType":883},{"uri":4103},[17773],{"data":17774,"marks":17775,"value":17777,"nodeType":864},{},[17776],{"type":1455},"The Vercel breach in April 2026",{"data":17779,"marks":17780,"value":17781,"nodeType":864},{},[]," was the result of an OAuth connection to a third-party AI SaaS tool a developer connected into the organization's Google Workspace tenant (without admin approval). When the AI vendor was compromised, the attacker leveraged stored OAuth tokens to access downstream accounts, ultimately reaching internal dashboards, API keys, and source code. ",{"data":17783,"content":17784,"nodeType":860},{},[17785,17789,17794],{"data":17786,"marks":17787,"value":17788,"nodeType":864},{},[],"Push telemetry across customer environments shows an average of ",{"data":17790,"marks":17791,"value":17793,"nodeType":864},{},[17792],{"type":899},"17 unique AI app integrations per organization in Microsoft and Google alone",{"data":17795,"marks":17796,"value":17797,"nodeType":864},{},[],", most of which security teams would describe as unapproved. These generally don't appear in a conventional risk model that isn't looking for them.",{"data":17799,"content":17800,"nodeType":1312},{},[17801],{"data":17802,"marks":17803,"value":288,"nodeType":864},{},[17804],{"type":899},{"data":17806,"content":17807,"nodeType":860},{},[17808,17812,17821,17826],{"data":17809,"marks":17810,"value":21,"nodeType":864},{},[17811],{"type":899},{"data":17813,"content":17814,"nodeType":883},{"uri":2411},[17815],{"data":17816,"marks":17817,"value":17820,"nodeType":864},{},[17818,17819],{"type":1455},{"type":899},"Analysis of 20,000 unique extensions deployed across Push customer environments",{"data":17822,"marks":17823,"value":17825,"nodeType":864},{},[17824],{"type":899}," found that 46.76% have the permission combinations required for account takeover without user interaction. ",{"data":17827,"marks":17828,"value":17829,"nodeType":864},{},[],"The extensions carrying these permissions aren't flagged by risk scoring systems because the same permissions are used by ad blockers, password managers, and translation tools (the downside of relying on tools that rely on dubious scoring to assess extensions, but I digress). ",{"data":17831,"content":17832,"nodeType":860},{},[17833],{"data":17834,"marks":17835,"value":17836,"nodeType":864},{},[],"What matters for risk quantification isn't the permission set or an arbitrary score assigned by a vendor; it's whether the monitoring exists to detect when a previously-clean extension changes ownership, escalates permissions, or behaves anomalously. Without that monitoring, the exposure is real but unquantified.",{"data":17838,"content":17839,"nodeType":1312},{},[17840],{"data":17841,"marks":17842,"value":17844,"nodeType":864},{},[17843],{"type":899},"ClickFix and non-email delivery channels",{"data":17846,"content":17847,"nodeType":860},{},[17848,17852,17859,17863,17870],{"data":17849,"marks":17850,"value":17851,"nodeType":864},{},[],"ClickFix — where a malicious page silently writes a PowerShell or mshta command into the victim's clipboard and instructs them to paste it — was ",{"data":17853,"content":17854,"nodeType":883},{"uri":5971},[17855],{"data":17856,"marks":17857,"value":17858,"nodeType":864},{},[],"the most common initial access vector observed by Microsoft in 2025",{"data":17860,"marks":17861,"value":17862,"nodeType":864},{},[],", and CrowdStrike reported a",{"data":17864,"content":17865,"nodeType":883},{"uri":3237},[17866],{"data":17867,"marks":17868,"value":17869,"nodeType":864},{},[]," 563% increase in fake CAPTCHA lures",{"data":17871,"marks":17872,"value":17873,"nodeType":864},{},[]," (one of the most common ClickFix styles in which the user has to \"verify they're human\" by running a command on their machine). ",{"data":17875,"content":17876,"nodeType":860},{},[17877],{"data":17878,"marks":17879,"value":17880,"nodeType":864},{},[],"What makes this particularly relevant for risk quantification is the delivery channel: 4 in 5 ClickFix payloads intercepted by Push arrive via search engines, not email. A risk model that estimates threat event frequency from email-based phishing telemetry alone is structurally blind to an entire category of attack that has become one of the most prevalent initial access methods in the landscape.",{"data":17882,"content":17883,"nodeType":1312},{},[17884],{"data":17885,"marks":17886,"value":17888,"nodeType":864},{},[17887],{"type":899},"Authorization attacks",{"data":17890,"content":17891,"nodeType":860},{},[17892],{"data":17893,"marks":17894,"value":17895,"nodeType":864},{},[],"Device code phishing and OAuth consent abuse represent a slightly separate category of identity attack that most risk models don't account for because they operate after the authentication flow has already completed — meaning password strength, MFA coverage, and SSO adoption are irrelevant to whether the attack succeeds. ",{"data":17897,"content":17901,"nodeType":996},{"target":17898},{"sys":17899},{"id":17900,"type":1001,"linkType":1002},"7qtHmxCzBm5664jD6HsCwN",[],{"data":17903,"content":17904,"nodeType":1005},{},[],{"data":17906,"content":17907,"nodeType":1009},{},[17908],{"data":17909,"marks":17910,"value":17912,"nodeType":864},{},[17911],{"type":899},"The key lesson for CISOs",{"data":17914,"content":17915,"nodeType":860},{},[17916],{"data":17917,"marks":17918,"value":17919,"nodeType":864},{},[],"A risk model that measures identity vulnerability purely in terms of authentication hygiene at the IdP layer — how many accounts have MFA, how many use SSO — will correctly quantify one dimension of exposure while completely missing another that is growing faster and is structurally immune to the controls being measured.",{"data":17921,"content":17922,"nodeType":860},{},[17923],{"data":17924,"marks":17925,"value":17927,"nodeType":864},{},[17926],{"type":899},"For a CISO building a risk model, these aren't edge cases. They represent a real attack surface that doesn't show up in models built on conventional network, endpoint, and cloud telemetry. We aren't just talking about better inputs to risk modeling — we're talking about entirely new risk scenarios that aren't being modeled at all, supported by live data.",{"data":17929,"content":17933,"nodeType":996},{"target":17930},{"sys":17931},{"id":17932,"type":1001,"linkType":1002},"2ObEcO1gqz8lrOLCZzfpNw",[],{"data":17935,"content":17936,"nodeType":1005},{},[],{"data":17938,"content":17939,"nodeType":1312},{},[17940],{"data":17941,"marks":17942,"value":17944,"nodeType":864},{},[17943],{"type":899},"Browser telemetry makes a CISO's life easier",{"data":17946,"content":17947,"nodeType":860},{},[17948],{"data":17949,"marks":17950,"value":17951,"nodeType":864},{},[],"Browser-based telemetry changes the conversation a CISO can have with a CFO or board. Instead of \"industry benchmarks suggest our expected annual loss from account compromise is somewhere in this range,\" the answer is, \"We can see how often these attacks are attempted against our users, and we can measure what percentage of our accounts have the controls in place to stop them,\" or \"We know how many shadow AI apps our users self-provision and share data with each month.\" ",{"data":17953,"content":17954,"nodeType":860},{},[17955],{"data":17956,"marks":17957,"value":17958,"nodeType":864},{},[],"Identity risk is only a piece of the quantification problem. Loss magnitude, regulatory exposure, and reputational impact are still extremely hard to estimate regardless of how good your frequency inputs are. ",{"data":17960,"content":17961,"nodeType":860},{},[17962],{"data":17963,"marks":17964,"value":17965,"nodeType":864},{},[],"But the identity attack surface is one of the few areas in security where measurement is genuinely achievable right now, and the gap between what most organizations are modeling and what's actually observable is significant. Shadow SaaS integrations, unapproved AI connections, browser extensions with excessive privileges — these are enumerable risks that don't appear in models built on network, endpoint, and cloud access telemetry alone. ",{"data":17967,"content":17968,"nodeType":860},{},[17969,17974],{"data":17970,"marks":17971,"value":17973,"nodeType":864},{},[17972],{"type":899},"The lesson for CISOs serious about quantitative risk management is this: the frameworks exist, the talent is available, and the bottleneck is almost always data quality. ",{"data":17975,"marks":17976,"value":17977,"nodeType":864},{},[],"Browser telemetry is a good example of the kind of high-fidelity, environment-specific measurement that closes that gap.",{"data":17979,"content":17980,"nodeType":1005},{},[],{"data":17982,"content":17983,"nodeType":860},{},[17984],{"data":17985,"marks":17986,"value":4855,"nodeType":864},{},[],{"data":17988,"content":17989,"nodeType":860},{},[17990,17994,18001],{"data":17991,"marks":17992,"value":17993,"nodeType":864},{},[],"Security teams use Push to detect and stop advanced browser-based attacks like AiTM phishing, ClickFix, and session hijacking; gain visibility and control over AI tool usage across their workforce; harden identities by surfacing credential reuse, SSO gaps, and shadow IT; and support data loss and insider investigations with browser-layer telemetry that other tools can't see. ",{"data":17995,"content":17997,"nodeType":883},{"uri":17996},"https://pushsecurity.com/book-demo/",[17998],{"data":17999,"marks":18000,"value":8163,"nodeType":864},{},[],{"data":18002,"marks":18003,"value":2719,"nodeType":864},{},[],"The CISO's data problem (and how browser telemetry can help)","How CISOs can use browser telemetry to support cyber risk quantification in areas where traditional data points fall short. ","2026-05-11T00:00:00.000Z","the-cisos-data-problem-and-how-browser-telemetry-can-help",{"items":18009},[18010,18012],{"sys":18011,"name":2729},{"id":2728},{"sys":18013,"name":342},{"id":6596},{"items":18015},[18016],{"fullName":3621,"firstName":3622,"jobTitle":3623,"profilePicture":18017},{"url":3625},"blog/the-top-10-security-problems-you-can-solve-in-the-browser-ranked-by-value",{"json":18020},{"data":18021,"content":18022,"nodeType":856},{},[18023],{"data":18024,"content":18025,"nodeType":860},{},[18026],{"data":18027,"marks":18028,"value":18029,"nodeType":864},{},[],"Getting a clear picture of which solution is right for your team means understanding what problem you want to solve, and identifying if the browser is the best place to solve that problem. To help you navigate this, we've ranked the security problems you can solve in the browser by security value and browser fit.",{"id":3628,"publishedAt":18031},"2026-08-12T11:52:50.048Z",{"items":18033},[18034,18036],{"sys":18035,"name":297},{"id":2732},{"sys":18037,"name":2729},{"id":2728},{"items":18039},[18040,18042,18044,18046,18048,18050,18052,18054,18056,18058,18060,18062,18064,18066,18068,18070,18072,18074,18076,18078,18080,18082,18084,18086,18088],{"sys":18041,"name":297,"slug":298,"tier":31},{"id":294},{"sys":18043,"name":413,"slug":414,"tier":31},{"id":410},{"sys":18045,"name":279,"slug":280,"tier":31},{"id":276},{"sys":18047,"name":519,"slug":520,"tier":31},{"id":516},{"sys":18049,"name":235,"slug":236,"tier":31},{"id":232},{"sys":18051,"name":342,"slug":343,"tier":31},{"id":339},{"sys":18053,"name":545,"slug":546,"tier":31},{"id":542},{"sys":18055,"name":261,"slug":262,"tier":45},{"id":258},{"sys":18057,"name":589,"slug":590,"tier":45},{"id":586},{"sys":18059,"name":288,"slug":289,"tier":45},{"id":285},{"sys":18061,"name":484,"slug":485,"tier":45},{"id":481},{"sys":18063,"name":422,"slug":423,"tier":45},{"id":419},{"sys":18065,"name":502,"slug":503,"tier":45},{"id":499},{"sys":18067,"name":333,"slug":334,"tier":45},{"id":330},{"sys":18069,"name":395,"slug":396,"tier":45},{"id":392},{"sys":18071,"name":457,"slug":458,"tier":45},{"id":454},{"sys":18073,"name":315,"slug":316,"tier":45},{"id":312},{"sys":18075,"name":324,"slug":325,"tier":45},{"id":321},{"sys":18077,"name":571,"slug":572,"tier":45},{"id":568},{"sys":18079,"name":368,"slug":369,"tier":45},{"id":365},{"sys":18081,"name":580,"slug":581,"tier":45},{"id":577},{"sys":18083,"name":252,"slug":253,"tier":45},{"id":249},{"sys":18085,"name":475,"slug":476,"tier":45},{"id":472},{"sys":18087,"name":440,"slug":441,"tier":45},{"id":437},{"sys":18089,"name":633,"slug":634,"tier":45},{"id":630},"eheGEg-9k5C4bph8PtOCjFzhTfglI3HL0C87-kCdH4c",{"id":18092,"title":18093,"authorsCollection":18094,"content":18099,"extension":228,"faqItemsCollection":19149,"faqTitle":59,"featured":19,"hashTags":59,"meta":19151,"metaTitle":19152,"ogImage":59,"postType":5740,"publishedDate":6586,"relatedBlogPostsCollection":19153,"slug":22580,"stem":22581,"subtitle":59,"summary":22582,"synopsis":22593,"sys":22594,"tagsCollection":22597,"topicsCollection":22603,"__hash__":22639},"blog/blog/analyzing-the-instructure-breach.json","The three attack techniques behind ShinyHunters' 2026 campaigns ",{"items":18095},[18096],{"fullName":2736,"firstName":2737,"jobTitle":2738,"socialLinks":18097,"profilePicture":18098},[11304],{"url":2740},{"json":18100,"links":19061},{"data":18101,"content":18102,"nodeType":856},{},[18103,18129,18160,18202,18245,18251,18263,18266,18274,18326,18333,18356,18362,18365,18373,18401,18408,18416,18422,18425,18433,18440,18458,18465,18506,18513,18516,18524,18543,18598,18601,18609,18627,18645,18652,18659,18671,18683,18695,18707,18724,18732,18739,18742,18748,18754,18769,18772,18780,18798,19055],{"data":18104,"content":18105,"nodeType":860},{},[18106,18110,18116,18120,18125],{"data":18107,"marks":18108,"value":18109,"nodeType":864},{},[],"ShinyHunters and the broader SLH (",{"data":18111,"content":18112,"nodeType":883},{"uri":6237},[18113],{"data":18114,"marks":18115,"value":6242,"nodeType":864},{},[],{"data":18117,"marks":18118,"value":18119,"nodeType":864},{},[],") collective have claimed breaches at thousands of organizations over the past twelve months across retail, technology, aviation, financial services, media, gaming, and education, in what amounts to the most sustained data theft and extortion operation in recent cybercrime history. SLH's genealogy traces through a merger of Scattered Spider, Lapsus$, and ShinyHunters, all parts of ",{"data":18121,"marks":18122,"value":18124,"nodeType":864},{},[18123],{"type":899},"the Com",{"data":18126,"marks":18127,"value":18128,"nodeType":864},{},[],", a broader community of English-speaking cybercriminals with international links. ",{"data":18130,"content":18131,"nodeType":860},{},[18132,18136,18144,18148,18156],{"data":18133,"marks":18134,"value":18135,"nodeType":864},{},[],"The confirmed victim list reads like a Fortune 500 directory: Coca-Cola, Cisco, Qantas, Coinbase, ADT, Aflac, SoundCloud, Rockstar Games, Charter Communications, and recently ",{"data":18137,"content":18139,"nodeType":883},{"uri":18138},"https://www.bleepingcomputer.com/news/security/instructure-confirms-data-breach-shinyhunters-claims-attack/",[18140],{"data":18141,"marks":18142,"value":18143,"nodeType":864},{},[],"Instructure",{"data":18145,"marks":18146,"value":18147,"nodeType":864},{},[]," — whose breach ",{"data":18149,"content":18151,"nodeType":883},{"uri":18150},"https://krebsonsecurity.com/2026/05/canvas-breach-disrupts-schools-colleges-nationwide/",[18152],{"data":18153,"marks":18154,"value":18155,"nodeType":864},{},[],"disrupted schools and universities nationwide",{"data":18157,"marks":18158,"value":18159,"nodeType":864},{},[]," during final exams — among dozens more named publicly and likely many more that haven't been (breaches settled quickly behind closed doors don't always make it into the public eye). ShinyHunters alone claimed over 1.5 billion stolen Salesforce records from a single campaign targeting more than 1,000 organizations.",{"data":18161,"content":18162,"nodeType":860},{},[18163,18167,18175,18179,18187,18191,18198],{"data":18164,"marks":18165,"value":18166,"nodeType":864},{},[],"Additional operating clusters, including Cordial Spider and Snarky Spider (which CrowdStrike ",{"data":18168,"content":18170,"nodeType":883},{"uri":18169},"https://cyberscoop.com/crowdstrike-cordial-spider-snarky-spider-extortion-attacks/",[18171],{"data":18172,"marks":18173,"value":18174,"nodeType":864},{},[],"characterizes as the new generation of Scattered Spider",{"data":18176,"marks":18177,"value":18178,"nodeType":864},{},[],") run parallel campaigns against different target sectors, unified not by shared infrastructure but by a shared playbook of techniques that exploit the structural weakness in modern SaaS-first organizations. ",{"data":18180,"content":18182,"nodeType":883},{"uri":18181},"https://github.com/PaloAltoNetworks/Unit42-timely-threat-intel/blob/main/2026-03-12-Vishing-Campaigns-Lead-to-Data-Theft-and-Extortion.txt",[18183],{"data":18184,"marks":18185,"value":18186,"nodeType":864},{},[],"Unit 42 documented",{"data":18188,"marks":18189,"value":18190,"nodeType":864},{},[]," these groups moving from initial compromise to complete data exfiltration in under an hour — faster than most organizations can even begin to respond. Newer groups with links to the SLH ecosystem like CoinbaseCartel have also continued the tradition of weaponizing stolen credentials from the infostealer economy at scale, as ShinyHunters did in the ",{"data":18192,"content":18193,"nodeType":883},{"uri":12625},[18194],{"data":18195,"marks":18196,"value":18197,"nodeType":864},{},[],"2024 Snowflake breach",{"data":18199,"marks":18200,"value":18201,"nodeType":864},{},[]," that compromised over 165 customer environments (and claimed another billion-plus records).",{"data":18203,"content":18204,"nodeType":860},{},[18205,18209,18217,18221,18229,18233,18241],{"data":18206,"marks":18207,"value":18208,"nodeType":864},{},[],"Not every SLH breach is browser-based — the Instructure breach (275 million individuals, ~330 school login portals defaced) began with a Salesforce tenant compromise in September 2025, but resurfaced in May 2026 after attackers exploited a ",{"data":18210,"content":18212,"nodeType":883},{"uri":18211},"https://www.bitdefender.com/en-gb/blog/businessinsights/technical-advisory-shinyhunters-breach-instructure-canvas-lms",[18213],{"data":18214,"marks":18215,"value":18216,"nodeType":864},{},[],"vulnerability affecting Canvas's Free-For-Teacher program",{"data":18218,"marks":18219,"value":18220,"nodeType":864},{},[]," (it's now been confirmed that Instructure \"",{"data":18222,"content":18224,"nodeType":883},{"uri":18223},"https://www.instructure.com/incident_update",[18225],{"data":18226,"marks":18227,"value":18228,"nodeType":864},{},[],"reached a settlement",{"data":18230,"marks":18231,"value":18232,"nodeType":864},{},[],"\" for the deletion of the data, and shut down the free account tier), while the Coinbase breach cost ",{"data":18234,"content":18236,"nodeType":883},{"uri":18235},"https://www.bleepingcomputer.com/news/security/coinbase-discloses-breach-faces-up-to-400-million-in-losses/",[18237],{"data":18238,"marks":18239,"value":18240,"nodeType":864},{},[],"$180M–400M through insider bribery",{"data":18242,"marks":18243,"value":18244,"nodeType":864},{},[]," — but these are the exceptions that prove the rule. ",{"data":18246,"content":18250,"nodeType":996},{"target":18247},{"sys":18248},{"id":18249,"type":1001,"linkType":1002},"4qNrbDyMJIumQfdbh9YVkU",[],{"data":18252,"content":18253,"nodeType":860},{},[18254,18259],{"data":18255,"marks":18256,"value":18258,"nodeType":864},{},[18257],{"type":899},"The vast majority of SLH campaigns over the past year converge on three browser-based attack vectors: vishing combined with AiTM phishing, device code phishing exploiting account authorization flows, and OAuth supply chain attacks through compromised third-party integrators.",{"data":18260,"marks":18261,"value":18262,"nodeType":864},{},[]," Each is well-documented, each has produced confirmed victims at scale, and each is detectable or preventable through browser-layer security controls.",{"data":18264,"content":18265,"nodeType":1005},{},[],{"data":18267,"content":18268,"nodeType":1009},{},[18269],{"data":18270,"marks":18271,"value":18273,"nodeType":864},{},[18272],{"type":899},"Vector 1: Vishing combined with AiTM phishing",{"data":18275,"content":18276,"nodeType":860},{},[18277,18281,18289,18293,18301,18305,18312,18316,18323],{"data":18278,"marks":18279,"value":18280,"nodeType":864},{},[],"The most visible campaign right now pairs targeted voice calls with adversary-in-the-middle phishing pages — an approach that ",{"data":18282,"content":18284,"nodeType":883},{"uri":18283},"https://cloud.google.com/blog/topics/threat-intelligence/expansion-shinyhunters-saas-data-theft",[18285],{"data":18286,"marks":18287,"value":18288,"nodeType":864},{},[],"Mandiant",{"data":18290,"marks":18291,"value":18292,"nodeType":864},{},[],",",{"data":18294,"content":18296,"nodeType":883},{"uri":18295},"https://www.crowdstrike.com/en-us/blog/defending-against-cordial-spider-and-snarky-spider-with-falcon-shield/",[18297],{"data":18298,"marks":18299,"value":18300,"nodeType":864},{},[]," CrowdStrike",{"data":18302,"marks":18303,"value":18304,"nodeType":864},{},[],", and",{"data":18306,"content":18307,"nodeType":883},{"uri":18181},[18308],{"data":18309,"marks":18310,"value":18311,"nodeType":864},{},[]," Unit 42",{"data":18313,"marks":18314,"value":18315,"nodeType":864},{},[]," have all documented from the incident response side, and which Push has ",{"data":18317,"content":18318,"nodeType":883},{"uri":9199},[18319],{"data":18320,"marks":18321,"value":18322,"nodeType":864},{},[],"documented from inside the attacker's own operator panels",{"data":18324,"marks":18325,"value":2924,"nodeType":864},{},[],{"data":18327,"content":18328,"nodeType":860},{},[18329],{"data":18330,"marks":18331,"value":18332,"nodeType":864},{},[],"An attacker impersonating IT support calls the target employee, establishes urgency — often citing a \"mandatory passkey rollout\" or a \"security compliance update\" — and directs them to a victim-branded AiTM phishing page (typically at a domain like \u003Ccompany>sso.com or \u003Ccompany>internal.com). The attack is processed by a live human in real time, relaying credentials and MFA codes to the legitimate identity provider as they are entered, capturing the resulting session token, and granting the attacker an authenticated session. ",{"data":18334,"content":18335,"nodeType":860},{},[18336,18340,18347,18351],{"data":18337,"marks":18338,"value":18339,"nodeType":864},{},[],"One of the reasons that this method is becoming so widespread is the commoditization of effective tools. Push's ",{"data":18341,"content":18342,"nodeType":883},{"uri":9199},[18343],{"data":18344,"marks":18345,"value":18346,"nodeType":864},{},[],"infiltration of the criminal phishing panels",{"data":18348,"marks":18349,"value":18350,"nodeType":864},{},[]," identified over 400 linked domains across four distinct infrastructure clusters. ",{"data":18352,"marks":18353,"value":18355,"nodeType":864},{},[18354],{"type":899},"This mirrors the pattern that turned AiTM phishing from a specialist capability into an industrialized market with competing PhaaS platforms, but with the added complication that voice phishing as the delivery vector makes the attack invisible to traditional anti-phishing controls at the email layer.",{"data":18357,"content":18361,"nodeType":996},{"target":18358},{"sys":18359},{"id":18360,"type":1001,"linkType":1002},"1Yhthl0PILGW7EmCcZUrNv",[],{"data":18363,"content":18364,"nodeType":1005},{},[],{"data":18366,"content":18367,"nodeType":1009},{},[18368],{"data":18369,"marks":18370,"value":18372,"nodeType":864},{},[18371],{"type":899},"Vector 2: Vishing combined with device code phishing",{"data":18374,"content":18375,"nodeType":860},{},[18376,18379,18386,18390,18397],{"data":18377,"marks":18378,"value":2761,"nodeType":864},{},[],{"data":18380,"content":18381,"nodeType":883},{"uri":6259},[18382],{"data":18383,"marks":18384,"value":18385,"nodeType":864},{},[],"ShinyHunters Salesforce campaign",{"data":18387,"marks":18388,"value":18389,"nodeType":864},{},[]," that ran through 2025 and into 2026 used device code phishing as one of its core methods, ",{"data":18391,"content":18392,"nodeType":883},{"uri":12625},[18393],{"data":18394,"marks":18395,"value":18396,"nodeType":864},{},[],"compromising over 1,000 organizations and claiming 1.5 billion stolen records",{"data":18398,"marks":18399,"value":18400,"nodeType":864},{},[]," — including an attempted extortion of Salesforce itself. The attack involved registering an attacker-controlled \"DataLoader\" application mimicking a legitimate Salesforce tool, configuring it to request broad OAuth scopes including full API access and refresh token generation, and guiding victims through the device authorization flow via vishing calls.",{"data":18402,"content":18403,"nodeType":860},{},[18404],{"data":18405,"marks":18406,"value":18407,"nodeType":864},{},[],"Device code phishing exploits the OAuth 2.0 device authorization grant — a flow designed for devices without browsers, like smart TVs, but used in a wide range of scenarios including CLI logins — by tricking users into entering a code on Microsoft's (or another identity provider's) legitimate verification page. Since the victim is usually signed into the app in their browser, there’s no login at all. They simply navigate to the app’s device code login page and enter an attacker-provided code to grant the attacker an access token. ",{"data":18409,"content":18410,"nodeType":860},{},[18411],{"data":18412,"marks":18413,"value":18415,"nodeType":864},{},[18414],{"type":899},"This is what makes device code phishing structurally different from AiTM: it defeats all MFA (including passkeys) because the attack doesn’t target the login, but the authorization layer instead.",{"data":18417,"content":18421,"nodeType":996},{"target":18418},{"sys":18419},{"id":18420,"type":1001,"linkType":1002},"3ElQz8sLATnR8RY5nVlBGM",[],{"data":18423,"content":18424,"nodeType":1005},{},[],{"data":18426,"content":18427,"nodeType":1009},{},[18428],{"data":18429,"marks":18430,"value":18432,"nodeType":864},{},[18431],{"type":899},"Vector 3: OAuth supply chain attacks through compromised integrators",{"data":18434,"content":18435,"nodeType":860},{},[18436],{"data":18437,"marks":18438,"value":18439,"nodeType":864},{},[],"The third vector does not require the attacker to phish the victim organization's employees at all. Instead, it exploits the OAuth trust relationships that organizations create when they connect third-party SaaS vendors into their environments — and the consequence is that every organization that authorized one of these integrations effectively extended its security boundary to include the vendor's own security posture.",{"data":18441,"content":18442,"nodeType":860},{},[18443,18446,18454],{"data":18444,"marks":18445,"value":2761,"nodeType":864},{},[],{"data":18447,"content":18449,"nodeType":883},{"uri":18448},"https://cloud.google.com/blog/topics/threat-intelligence/data-theft-salesforce-instances-via-salesloft-drift",[18450],{"data":18451,"marks":18452,"value":18453,"nodeType":864},{},[],"Salesloft/Drift supply chain attack",{"data":18455,"marks":18456,"value":18457,"nodeType":864},{},[]," demonstrated this at scale in 2025: in an extension of the previously mentioned device code phishing campaign, the attacker compromised Salesloft's GitHub environment, used TruffleHog to find secrets, stole Drift OAuth tokens, and used them to access downstream Salesforce environments. The same pattern was later repeated at Gainsight. ",{"data":18459,"content":18460,"nodeType":860},{},[18461],{"data":18462,"marks":18463,"value":18464,"nodeType":864},{},[],"Along with the previously mentioned device code phishing attacks,  more than 1000 organizations were breached. The attackers then harvested AWS keys, Snowflake credentials, and stored passwords from breached Salesforce instances, compounding the access into progressively wider reach.",{"data":18466,"content":18467,"nodeType":860},{},[18468,18472,18480,18484,18492,18496,18502],{"data":18469,"marks":18470,"value":18471,"nodeType":864},{},[],"The same structural pattern has continued into 2026 with the Anodot supply chain compromise, which has produced confirmed breaches at ",{"data":18473,"content":18475,"nodeType":883},{"uri":18474},"https://www.bleepingcomputer.com/news/security/vimeo-data-breach-exposes-personal-information-of-119-000-people/",[18476],{"data":18477,"marks":18478,"value":18479,"nodeType":864},{},[],"Vimeo",{"data":18481,"marks":18482,"value":18483,"nodeType":864},{},[]," (119,000 users), Rockstar Games (78.6 million records), and ",{"data":18485,"content":18487,"nodeType":883},{"uri":18486},"https://www.bleepingcomputer.com/news/security/zara-data-breach-exposed-personal-information-of-197-000-people/",[18488],{"data":18489,"marks":18490,"value":18491,"nodeType":864},{},[],"Zara/Inditex",{"data":18493,"marks":18494,"value":18495,"nodeType":864},{},[]," (197,000 people), with further downstream victims likely still emerging. The ",{"data":18497,"content":18498,"nodeType":883},{"uri":4103},[18499],{"data":18500,"marks":18501,"value":12185,"nodeType":864},{},[],{"data":18503,"marks":18504,"value":18505,"nodeType":864},{},[],", which involved compromised OAuth tokens from Context.ai cascading into Google Workspace, also reinforces the same attack pattern (though it was likely not a ShinyHunters operation despite being claimed by someone pretending to be them).",{"data":18507,"content":18508,"nodeType":860},{},[18509],{"data":18510,"marks":18511,"value":18512,"nodeType":864},{},[],"A forgotten SaaS integration can easily become the pivot point for downstream compromise. The moment you authorize a third-party integration, your security boundary extends to include that vendor. If the third-party is compromised, every downstream customer organization with an active integration is exposed.",{"data":18514,"content":18515,"nodeType":1005},{},[],{"data":18517,"content":18518,"nodeType":1009},{},[18519],{"data":18520,"marks":18521,"value":18523,"nodeType":864},{},[18522],{"type":899},"The infostealer credential playbook sits alongside these attacks",{"data":18525,"content":18526,"nodeType":860},{},[18527,18531,18539],{"data":18528,"marks":18529,"value":18530,"nodeType":864},{},[],"Alongside the three vectors above, ShinyHunters has a track record of exploiting the infostealer credential economy at scale — and it predates any of them. The 2024 Snowflake campaign — 165+ customer environments compromised, over a billion records stolen from AT&T, Ticketmaster, Santander, and Advance Auto Parts among others — was built entirely on infostealer-harvested credentials replayed against MFA-less tenants, with ",{"data":18532,"content":18534,"nodeType":883},{"uri":18533},"https://cloud.google.com/blog/topics/threat-intelligence/unc5537-snowflake-data-theft-extortion",[18535],{"data":18536,"marks":18537,"value":18538,"nodeType":864},{},[],"Mandiant's investigation",{"data":18540,"marks":18541,"value":18542,"nodeType":864},{},[]," finding that 80% of compromised accounts had prior breach exposure in datasets dating back to 2020. The credentials were already circulating in criminal marketplaces; ShinyHunters simply purchased and operationalized them at industrial scale.",{"data":18544,"content":18545,"nodeType":860},{},[18546,18550,18558,18562,18570,18574,18582,18586,18594],{"data":18547,"marks":18548,"value":18549,"nodeType":864},{},[],"The same methodology powered the ",{"data":18551,"content":18553,"nodeType":883},{"uri":18552},"https://pushsecurity.com/blog/why-attackers-are-targeting-jira-with-stolen-credentials/",[18554],{"data":18555,"marks":18556,"value":18557,"nodeType":864},{},[],"HellCat Jira campaign",{"data":18559,"marks":18560,"value":18561,"nodeType":864},{},[]," through 2024–2025, and has now been industrialized as a standalone operation by ",{"data":18563,"content":18565,"nodeType":883},{"uri":18564},"https://www.halcyon.ai/jp/threat-group/coinbasecartel",[18566],{"data":18567,"marks":18568,"value":18569,"nodeType":864},{},[],"CoinbaseCartel",{"data":18571,"marks":18572,"value":18573,"nodeType":864},{},[],", another criminal group reported to be an offshoot of SLH. CoinbaseCartel's model is familiar: purchase old infostealer credentials, use them to access cloud and development environments, exfiltrate data, and demand ransom. ",{"data":18575,"content":18577,"nodeType":883},{"uri":18576},"https://www.infostealers.com/article/inside-the-coinbase-cartel-how-infostealer-credentials-fueled-a-100-company-ransomware-spree/",[18578],{"data":18579,"marks":18580,"value":18581,"nodeType":864},{},[],"Hudson Rock's analysis",{"data":18583,"marks":18584,"value":18585,"nodeType":864},{},[]," of the group's 170+ claimed victims confirms that roughly 80% had prior infostealer infections predating the attacks. The most recent named victim is ",{"data":18587,"content":18589,"nodeType":883},{"uri":18588},"https://www.bleepingcomputer.com/news/security/grafana-says-stolen-github-token-let-hackers-steal-codebase/",[18590],{"data":18591,"marks":18592,"value":18593,"nodeType":864},{},[],"Grafana",{"data":18595,"marks":18596,"value":18597,"nodeType":864},{},[],", where a GitHub token compromised via the TanStack npm supply chain attack and missed during credential rotation was used to download the codebase and attempt extortion. ",{"data":18599,"content":18600,"nodeType":1005},{},[],{"data":18602,"content":18603,"nodeType":1009},{},[18604],{"data":18605,"marks":18606,"value":18608,"nodeType":864},{},[18607],{"type":899},"These attacks all happen in the browser",{"data":18610,"content":18611,"nodeType":860},{},[18612,18616,18623],{"data":18613,"marks":18614,"value":18615,"nodeType":864},{},[],"Every one of these attack chains is a browser-based attack that either occurs in the browser (AiTM phishing, device code phishing) or could have been prevented at the browser layer (OAuth consent governance). The techniques are interchangeable — the",{"data":18617,"content":18618,"nodeType":883},{"uri":3259},[18619],{"data":18620,"marks":18621,"value":18622,"nodeType":864},{},[]," same criminal kits now offer AiTM and device code phishing side by side",{"data":18624,"marks":18625,"value":18626,"nodeType":864},{},[],", and the same threat actor (ShinyHunters) has used all three vectors across different campaigns within the same twelve-month period.",{"data":18628,"content":18629,"nodeType":860},{},[18630,18634,18641],{"data":18631,"marks":18632,"value":18633,"nodeType":864},{},[],"Additionally, infostealer infections themselves are increasingly delivered through browser-based methods like ",{"data":18635,"content":18637,"nodeType":883},{"uri":18636},"https://pushsecurity.com/blog/introducing-malicious-copy-paste-detection",[18638],{"data":18639,"marks":18640,"value":315,"nodeType":864},{},[],{"data":18642,"marks":18643,"value":18644,"nodeType":864},{},[],", closing the loop between the credential supply side and the browser-layer detection point.",{"data":18646,"content":18647,"nodeType":1312},{},[18648],{"data":18649,"marks":18650,"value":8991,"nodeType":864},{},[18651],{"type":899},{"data":18653,"content":18654,"nodeType":860},{},[18655],{"data":18656,"marks":18657,"value":18658,"nodeType":864},{},[],"Push operates at the exact point in each of these attack chains where automated intervention can still prevent the compromise. ",{"data":18660,"content":18661,"nodeType":860},{},[18662,18667],{"data":18663,"marks":18664,"value":18666,"nodeType":864},{},[18665],{"type":899},"For vishing + AiTM attacks, ",{"data":18668,"marks":18669,"value":18670,"nodeType":864},{},[],"Push's behavioral phishing detection analyzes and blocks the phishing page in real time by detecting it from the user's browser — regardless of the domains used, hosting infrastructure, or where the URL was delivered.  ",{"data":18672,"content":18673,"nodeType":860},{},[18674,18679],{"data":18675,"marks":18676,"value":18678,"nodeType":864},{},[18677],{"type":899},"For device code phishing,",{"data":18680,"marks":18681,"value":18682,"nodeType":864},{},[]," Push detects the phishing pages associated with device code phishing kits — including generic, technique-class detections that catch new kits without requiring kit-specific signatures. Second, Push provides an additional layer of protection on the legitimate device code authentication pages themselves, preventing users from entering attacker-supplied codes into them. Together, these detections cover both the kit-operated phishing infrastructure and the legitimate auth pages that the attack flow depends on.",{"data":18684,"content":18685,"nodeType":860},{},[18686,18691],{"data":18687,"marks":18688,"value":18690,"nodeType":864},{},[18689],{"type":899},"For OAuth supply chain attacks,",{"data":18692,"marks":18693,"value":18694,"nodeType":864},{},[]," Push's detects and controls OAuth consent flows at the browser layer — capturing which application is requesting access, what scopes it's requesting, and whether the grant should be permitted under organizational policy. Push customers can also block OAuth connection requests as they transit the browser, enabling security teams to stop unwanted integrations being added in the first place. ",{"data":18696,"content":18697,"nodeType":860},{},[18698,18703],{"data":18699,"marks":18700,"value":18702,"nodeType":864},{},[18701],{"type":899},"For the infostealer credential playbook,",{"data":18704,"marks":18705,"value":18706,"nodeType":864},{},[]," Push's stolen credential detection identifies when employees are using credentials that have appeared in breach datasets or dark web feeds — catching the moment a dormant infostealer credential surfaces at a browser-based login, as well as surfacing insecure login methods missing mitigating controls like MFA and enforcing them through in-browser guardrails. And on the supply side, Push's ClickFix detection addresses the browser-based delivery vector that is now the primary method for distributing infostealer malware in the first place.",{"data":18708,"content":18709,"nodeType":860},{},[18710,18713,18721],{"data":18711,"marks":18712,"value":21,"nodeType":864},{},[],{"data":18714,"content":18716,"nodeType":883},{"uri":18715},"https://pushsecurity.com/blog/guide-how-to-use-push-controls-to-protect-your-users-from-modern-attacks/",[18717],{"data":18718,"marks":18719,"value":18720,"nodeType":864},{},[],"Learn more about how you can use Push controls to protect your users from in-browser threats here. ",{"data":18722,"marks":18723,"value":21,"nodeType":864},{},[],{"data":18725,"content":18726,"nodeType":1312},{},[18727],{"data":18728,"marks":18729,"value":18731,"nodeType":864},{},[18730],{"type":899},"Closing thoughts",{"data":18733,"content":18734,"nodeType":860},{},[18735],{"data":18736,"marks":18737,"value":18738,"nodeType":864},{},[],"The campaigns documented in this post are not historical — they are ongoing, with new victims surfacing weekly and the underlying criminal infrastructure still actively developing. But the defensive strategy does not require anticipating which specific group, vector, or target sector comes next, because all of them converge on the same control point: the browser, where the attack begins or the integration decision is made. Organizations with browser-layer detection and OAuth governance in place have defense-in-depth against the full range of techniques these groups employ, regardless of which specific vector any given campaign uses.",{"data":18740,"content":18741,"nodeType":1005},{},[],{"data":18743,"content":18744,"nodeType":860},{},[18745],{"data":18746,"marks":18747,"value":4855,"nodeType":864},{},[],{"data":18749,"content":18750,"nodeType":860},{},[18751],{"data":18752,"marks":18753,"value":1689,"nodeType":864},{},[],{"data":18755,"content":18756,"nodeType":860},{},[18757,18760,18766],{"data":18758,"marks":18759,"value":21,"nodeType":864},{},[],{"data":18761,"content":18762,"nodeType":883},{"uri":5642},[18763],{"data":18764,"marks":18765,"value":1703,"nodeType":864},{},[],{"data":18767,"marks":18768,"value":21,"nodeType":864},{},[],{"data":18770,"content":18771,"nodeType":1005},{},[],{"data":18773,"content":18774,"nodeType":1009},{},[18775],{"data":18776,"marks":18777,"value":18779,"nodeType":864},{},[18778],{"type":899},"Appendix: named ShinyHunters victims since May 2025",{"data":18781,"content":18782,"nodeType":860},{},[18783,18787,18794],{"data":18784,"marks":18785,"value":18786,"nodeType":864},{},[],"To give an indication of the scale, the following table documents all publicly named victims attributed to ShinyHunters specifically since the Salesforce campaign began in May 2025. It is not exhaustive: ShinyHunters has claimed over 1,000 organizations in aggregate across its Salesforce campaigns alone, and many victims have not been publicly named. This list also doesn’t include the billion-plus records compromised in the 2024 Snowflake breaches. The major ransomware attacks executed against M&S, Co-op, and Jaguar Land Rover claimed by the ",{"data":18788,"content":18789,"nodeType":883},{"uri":6237},[18790],{"data":18791,"marks":18792,"value":18793,"nodeType":864},{},[],"Scattered Lapsus$ Hunters \"brand\"",{"data":18795,"marks":18796,"value":18797,"nodeType":864},{},[]," also aren't listed below. ",{"data":18799,"content":18800,"nodeType":4845},{},[18801,18848,18912,18960,19008],{"data":18802,"content":18803,"nodeType":4581},{},[18804,18815,18826,18837],{"data":18805,"content":18806,"nodeType":4569},{},[18807],{"data":18808,"content":18809,"nodeType":860},{},[18810],{"data":18811,"marks":18812,"value":18814,"nodeType":864},{},[18813],{"type":899},"Campaign",{"data":18816,"content":18817,"nodeType":4569},{},[18818],{"data":18819,"content":18820,"nodeType":860},{},[18821],{"data":18822,"marks":18823,"value":18825,"nodeType":864},{},[18824],{"type":899},"Began",{"data":18827,"content":18828,"nodeType":4569},{},[18829],{"data":18830,"content":18831,"nodeType":860},{},[18832],{"data":18833,"marks":18834,"value":18836,"nodeType":864},{},[18835],{"type":899},"Named victims",{"data":18838,"content":18839,"nodeType":4569},{},[18840],{"data":18841,"content":18842,"nodeType":860},{},[18843],{"data":18844,"marks":18845,"value":18847,"nodeType":864},{},[18846],{"type":899},"Confirmed impact",{"data":18849,"content":18850,"nodeType":4581},{},[18851,18875,18885,18895],{"data":18852,"content":18853,"nodeType":4569},{},[18854],{"data":18855,"content":18856,"nodeType":860},{},[18857,18862,18866,18871],{"data":18858,"marks":18859,"value":18861,"nodeType":864},{},[18860],{"type":899},"ShinyHunters Salesforce Vishing",{"data":18863,"marks":18864,"value":18865,"nodeType":864},{},[]," (vishing + device code phishing → Salesforce connected app authorization) \n\n& ",{"data":18867,"marks":18868,"value":18870,"nodeType":864},{},[18869],{"type":899},"Salesloft/Drift Supply Chain",{"data":18872,"marks":18873,"value":18874,"nodeType":864},{},[]," (stolen OAuth tokens → downstream Salesforce access)",{"data":18876,"content":18877,"nodeType":4569},{},[18878],{"data":18879,"content":18880,"nodeType":860},{},[18881],{"data":18882,"marks":18883,"value":18884,"nodeType":864},{},[],"May 2025",{"data":18886,"content":18887,"nodeType":4569},{},[18888],{"data":18889,"content":18890,"nodeType":860},{},[18891],{"data":18892,"marks":18893,"value":18894,"nodeType":864},{},[],"Coca-Cola Europacific Partners, Cisco, Qantas, LVMH, Adidas, Google, Chanel, Pandora, Allianz Life, Air France-KLM, Farmers Insurance, Workday, TransUnion, Stellantis, Kering, Odido, Hallmark, Salesloft (origin), Toast, Avalara, Fastly, Cato Networks, Cloudflare, Palo Alto Networks, Zscaler, Tenable, Elastic, JFrog, CyberArk, Rubrik, BeyondTrust, Proofpoint, Workiva, Mercer Advisors, Beacon Pointe, Ameriprise, Kemper, Udemy, 7-Eleven, Mytheresa, Marcus & Millichap, Carnival, Pitney Bowes, Alert 360, Amtrak, McGraw-Hill, Canada Life, Charter Communications",{"data":18896,"content":18897,"nodeType":4569},{},[18898,18905],{"data":18899,"content":18900,"nodeType":860},{},[18901],{"data":18902,"marks":18903,"value":18904,"nodeType":864},{},[],"49 named victims. Confirmed individual impact includes 23M+ records (Coca-Cola), 5.7M records (Qantas), 6.2M customers (Odido), 4.4M consumers (TransUnion), up to 18M records (Stellantis), 13.5M emails (McGraw-Hill), 8.2M emails (Pitney Bowes), 7.5M emails (Carnival), 7-Eleven: 185K confirmed by HIBP (SSNs, driver's licenses; franchisee data), Charter Communications: millions of records claimed (company disputes scope). ",{"data":18906,"content":18907,"nodeType":860},{},[18908],{"data":18909,"marks":18910,"value":18911,"nodeType":864},{},[],"ShinyHunters claims 1.5B+ Salesforce records across 1,000+ organizations total.",{"data":18913,"content":18914,"nodeType":4581},{},[18915,18930,18940,18950],{"data":18916,"content":18917,"nodeType":4569},{},[18918],{"data":18919,"content":18920,"nodeType":860},{},[18921,18926],{"data":18922,"marks":18923,"value":18925,"nodeType":864},{},[18924],{"type":899},"Vishing + AiTM SSO",{"data":18927,"marks":18928,"value":18929,"nodeType":864},{},[]," (vishing → AiTM phishing page → SSO session capture → SaaS data exfiltration)",{"data":18931,"content":18932,"nodeType":4569},{},[18933],{"data":18934,"content":18935,"nodeType":860},{},[18936],{"data":18937,"marks":18938,"value":18939,"nodeType":864},{},[],"Aug 2025",{"data":18941,"content":18942,"nodeType":4569},{},[18943],{"data":18944,"content":18945,"nodeType":860},{},[18946],{"data":18947,"marks":18948,"value":18949,"nodeType":864},{},[],"SoundCloud, GrubHub, Panera Bread, Match Group, Crunchbase, Betterment, CarMax, Edmunds, CarGurus, Hims & Hers, University of Pennsylvania, Harvard University, Optimizely, TELUS Digital, Crunchyroll, ADT",{"data":18951,"content":18952,"nodeType":4569},{},[18953],{"data":18954,"content":18955,"nodeType":860},{},[18956],{"data":18957,"marks":18958,"value":18959,"nodeType":864},{},[],"16 named victims. Confirmed individual impact includes ~30M records (SoundCloud), ~14M records (Panera), 10M+ records (Match Group), ~20M records (Betterment), 5.5M people (ADT), 1M+ records (UPenn), ~1PB stolen from TELUS Digital ($65M ransom refused).",{"data":18961,"content":18962,"nodeType":4581},{},[18963,18978,18988,18998],{"data":18964,"content":18965,"nodeType":4569},{},[18966],{"data":18967,"content":18968,"nodeType":860},{},[18969,18974],{"data":18970,"marks":18971,"value":18973,"nodeType":864},{},[18972],{"type":899},"Anodot Supply Chain",{"data":18975,"marks":18976,"value":18977,"nodeType":864},{},[]," (stolen OAuth tokens → downstream Snowflake/BigQuery access)",{"data":18979,"content":18980,"nodeType":4569},{},[18981],{"data":18982,"content":18983,"nodeType":860},{},[18984],{"data":18985,"marks":18986,"value":18987,"nodeType":864},{},[],"Apr 2026",{"data":18989,"content":18990,"nodeType":4569},{},[18991],{"data":18992,"content":18993,"nodeType":860},{},[18994],{"data":18995,"marks":18996,"value":18997,"nodeType":864},{},[],"Anodot/Glassbox (origin), Rockstar Games, Vimeo, Zara/Inditex",{"data":18999,"content":19000,"nodeType":4569},{},[19001],{"data":19002,"content":19003,"nodeType":860},{},[19004],{"data":19005,"marks":19006,"value":19007,"nodeType":864},{},[],"4 named victims (12+ total claimed). 78.6M records (Rockstar Games), 197K individuals (Zara), 119K individuals (Vimeo).",{"data":19009,"content":19010,"nodeType":4581},{},[19011,19026,19035,19045],{"data":19012,"content":19013,"nodeType":4569},{},[19014],{"data":19015,"content":19016,"nodeType":860},{},[19017,19022],{"data":19018,"marks":19019,"value":19021,"nodeType":864},{},[19020],{"type":899},"Other SLH-attributed",{"data":19023,"marks":19024,"value":19025,"nodeType":864},{},[]," (misc. vectors including infostealer chains, CI/CD supply chain, SaaS platform compromise)",{"data":19027,"content":19028,"nodeType":4569},{},[19029],{"data":19030,"content":19031,"nodeType":860},{},[19032],{"data":19033,"marks":19034,"value":18884,"nodeType":864},{},[],{"data":19036,"content":19037,"nodeType":4569},{},[19038],{"data":19039,"content":19040,"nodeType":860},{},[19041],{"data":19042,"marks":19043,"value":19044,"nodeType":864},{},[],"UK Legal Aid Agency, Mixpanel, Wynn Resorts, Woflow, Vercel, European Commission, Mercor, Medtronic, Instructure",{"data":19046,"content":19047,"nodeType":4569},{},[19048],{"data":19049,"content":19050,"nodeType":860},{},[19051],{"data":19052,"marks":19053,"value":19054,"nodeType":864},{},[],"10 named victims across varied vectors. Notable: Vercel (Lumma Stealer → Context.ai OAuth app → Google Workspace), European Commission (poisoned Trivy GitHub Action → 340GB across 71 EU entities)",{"data":19056,"content":19057,"nodeType":860},{},[19058],{"data":19059,"marks":19060,"value":21,"nodeType":864},{},[],{"entries":19062},{"hyperlink":19063,"inline":19064,"block":19065},[],[],[19066,19080,19104],{"sys":19067,"__typename":1740,"content":19068,"name":19079,"title":59},{"id":18249},{"json":19069},{"nodeType":856,"data":19070,"content":19071},{},[19072],{"nodeType":860,"data":19073,"content":19074},{},[19075],{"nodeType":864,"value":19076,"marks":19077,"data":19078},"It seems that ShinyHunters have opportunistically returned to the scene of the crime with Instructure because of the proven payoff of targeting EdTech organizations, combined with the existing leverage of data gathered during the previous breach (and previous refusal to pay). This shows that a major data breach is likely to result in further attempts to increase pressure and extort payment. We saw this in 2024's PowerSchool breach too, where individual victims were hit with blackmail and extortion attempts — even after PowerSchool paid the ransom to avoid such a scenario, but the attackers (unsurprisingly) didn't keep their end of the bargain. ",[],{},"Instructure IB5",{"sys":19081,"__typename":1740,"content":19082,"name":19103,"title":59},{"id":18360},{"json":19083},{"nodeType":856,"data":19084,"content":19085},{},[19086],{"nodeType":860,"data":19087,"content":19088},{},[19089,19093,19099],{"nodeType":864,"value":19090,"marks":19091,"data":19092},"The speed at which these campaigns execute has compressed dramatically. ",[],{},{"nodeType":883,"data":19094,"content":19095},{"uri":18181},[19096],{"nodeType":864,"value":18186,"marks":19097,"data":19098},[],{},{"nodeType":864,"value":19100,"marks":19101,"data":19102}," Cordial Spider and Snarky Spider moving from initial compromise to complete data exfiltration in under an hour — fast enough that any detection strategy that relies on human SOC triage will arrive after the data has already left the building.",[],{},"Instructure IB3",{"sys":19105,"__typename":1740,"content":19106,"name":19148,"title":59},{"id":18420},{"json":19107},{"nodeType":856,"data":19108,"content":19109},{},[19110],{"nodeType":860,"data":19111,"content":19112},{},[19113,19117,19125,19129,19136,19140,19145],{"nodeType":864,"value":19114,"marks":19115,"data":19116},"Device code phishing has been rapidly commoditized. What began with ",[],{},{"nodeType":883,"data":19118,"content":19120},{"uri":19119},"https://www.microsoft.com/en-us/security/blog/2025/02/13/storm-2372-conducts-device-code-phishing-campaign/",[19121],{"nodeType":864,"value":19122,"marks":19123,"data":19124},"Storm-2372's nation-state campaigns in August 2024",[],{},{"nodeType":864,"value":19126,"marks":19127,"data":19128}," has since proliferated through criminal kits like EvilTokens and Venom — which reuses Sneaky2FA's AiTM infrastructure while adding device code phishing options — and more recently through Tycoon2FA, which has ",[],{},{"nodeType":883,"data":19130,"content":19131},{"uri":3259},[19132],{"nodeType":864,"value":19133,"marks":19134,"data":19135},"adopted device code phishing capabilities",[],{},{"nodeType":864,"value":19137,"marks":19138,"data":19139}," alongside its established AiTM functionality. Push now tracks 12+ distinct device code phishing kits in the wild and has measured a ",[],{},{"nodeType":864,"value":19141,"marks":19142,"data":19144},"37.5x increase in device code phishing activity since the start of 2026",[19143],{"type":899},{},{"nodeType":864,"value":1774,"marks":19146,"data":19147},[],{},"Instructure IB2",{"items":19150},[],{},"How three techniques are behind ShinyHunters' 2026 campaigns",{"items":19154},[19155,21070,21718],{"__typename":2059,"sys":19156,"content":19158,"title":21053,"synopsis":21054,"hashTags":59,"publishedDate":21055,"slug":21056,"tagsCollection":21057,"authorsCollection":21063},{"id":19157},"2tz0zEJCarJBkceOYk4zVg",{"json":19159},{"data":19160,"content":19161,"nodeType":856},{},[19162,19169,19198,19209,19216,19222,19234,19240,19243,19251,19258,19321,19328,19334,19337,19345,19352,19358,19366,19373,19499,19505,19511,19517,19523,19531,19538,19545,19608,19615,19621,19627,19635,19642,19649,19657,19664,19697,19704,19710,19717,19765,19772,19780,19787,19793,19800,19807,19813,19820,19853,19860,19866,19869,19877,19884,19891,19898,19903,19910,19917,19923,19930,19936,19943,19949,19956,19963,19966,19974,19990,19997,20016,20259,20266,20297,20532,20539,20546,20747,20754,20939,20942,20950,20957,20964,20976,20979,20986,21003,21020,21027,21030,21037],{"data":19163,"content":19164,"nodeType":860},{},[19165],{"data":19166,"marks":19167,"value":19168,"nodeType":864},{},[],"When Push blocks an attack in the browser, we take the opportunity to do some more digging to see what else we can find. One recent detection led us down the rabbit hole — and right into a criminal phishing panel. ",{"data":19170,"content":19171,"nodeType":860},{},[19172,19176,19182,19186,19194],{"data":19173,"marks":19174,"value":19175,"nodeType":864},{},[],"Real-time operated phishing panels have been used extensively in recent months, in vishing + phishing attacks attributed to first ",{"data":19177,"content":19178,"nodeType":883},{"uri":6259},[19179],{"data":19180,"marks":19181,"value":4087,"nodeType":864},{},[],{"data":19183,"marks":19184,"value":19185,"nodeType":864},{},[],", and more recently the ",{"data":19187,"content":19189,"nodeType":883},{"uri":19188},"https://www.bleepingcomputer.com/news/security/new-blackfile-extortion-gang-targets-retail-and-hospitality-orgs/",[19190],{"data":19191,"marks":19192,"value":19193,"nodeType":864},{},[],"BlackFile",{"data":19195,"marks":19196,"value":19197,"nodeType":864},{},[]," hacking group, with a significant overlap in techniques and tooling. ",{"data":19199,"content":19200,"nodeType":860},{},[19201,19206],{"data":19202,"marks":19203,"value":19205,"nodeType":864},{},[19204],{"type":899},"We’ve directly accessed active deployments of the operator panels driving these campaigns, observed what happens in real-time when a victim is targeted, and analyzed multiple variants and forks of the tooling. ",{"data":19207,"marks":19208,"value":1171,"nodeType":864},{},[],{"data":19210,"content":19211,"nodeType":860},{},[19212],{"data":19213,"marks":19214,"value":19215,"nodeType":864},{},[],"We identified four primary infrastructure clusters, with each deployment having its own panel implementation. While the panels share common heritage, the operators deploying them appear to be separate groups with different infrastructure preferences and operational patterns.",{"data":19217,"content":19221,"nodeType":996},{"target":19218},{"sys":19219},{"id":19220,"type":1001,"linkType":1002},"5BQOpzjSbobLx8OkvXl6os",[],{"data":19223,"content":19224,"nodeType":860},{},[19225,19229],{"data":19226,"marks":19227,"value":19228,"nodeType":864},{},[],"The existence of these independently branded forks indicates that the tooling has entered a phase of wider distribution — operators who obtained the original panel source are now customizing and reshipping it for their own purposes. As a result, the tooling is now most likely accessible to a broad population of financially motivated threat actors. ",{"data":19230,"marks":19231,"value":19233,"nodeType":864},{},[19232],{"type":899},"In total, we’ve identified over 400 domains linked to the attacks, giving an indication of the scale. ",{"data":19235,"content":19239,"nodeType":996},{"target":19236},{"sys":19237},{"id":19238,"type":1001,"linkType":1002},"2Z1LUdYXVONWO9nnJTkWsJ",[],{"data":19241,"content":19242,"nodeType":1005},{},[],{"data":19244,"content":19245,"nodeType":1009},{},[19246],{"data":19247,"marks":19248,"value":19250,"nodeType":864},{},[19249],{"type":899},"Background",{"data":19252,"content":19253,"nodeType":860},{},[19254],{"data":19255,"marks":19256,"value":19257,"nodeType":864},{},[],"Since at least August 2025, attackers have been running hybrid social engineering campaigns targeting hundreds of organizations across financial services, technology, cryptocurrency, healthcare, hospitality, and private aviation. ",{"data":19259,"content":19260,"nodeType":941},{},[19261,19276,19291,19306],{"data":19262,"content":19263,"nodeType":945},{},[19264],{"data":19265,"content":19266,"nodeType":860},{},[19267,19272],{"data":19268,"marks":19269,"value":19271,"nodeType":864},{},[19270],{"type":899},"August 2025: ",{"data":19273,"marks":19274,"value":19275,"nodeType":864},{},[],"Tooling made available, used in crypto-focused attacks",{"data":19277,"content":19278,"nodeType":945},{},[19279],{"data":19280,"content":19281,"nodeType":860},{},[19282,19287],{"data":19283,"marks":19284,"value":19286,"nodeType":864},{},[19285],{"type":899},"November 2025:",{"data":19288,"marks":19289,"value":19290,"nodeType":864},{},[]," Major attacks on enterprise identity platforms begin",{"data":19292,"content":19293,"nodeType":945},{},[19294],{"data":19295,"content":19296,"nodeType":860},{},[19297,19302],{"data":19298,"marks":19299,"value":19301,"nodeType":864},{},[19300],{"type":899},"January 2026: ",{"data":19303,"marks":19304,"value":19305,"nodeType":864},{},[],"Public breaches reported",{"data":19307,"content":19308,"nodeType":945},{},[19309],{"data":19310,"content":19311,"nodeType":860},{},[19312,19317],{"data":19313,"marks":19314,"value":19316,"nodeType":864},{},[19315],{"type":899},"March 2026: ",{"data":19318,"marks":19319,"value":19320,"nodeType":864},{},[],"Activity spikes again",{"data":19322,"content":19323,"nodeType":860},{},[19324],{"data":19325,"marks":19326,"value":19327,"nodeType":864},{},[],"The attacks combine voice phishing with MFA-bypassing adversary-in-the-middle (AiTM) phishing mechanisms that allow the attacker to steal authenticated sessions for target applications — typically enterprise identity providers and cryptocurrency exchanges. Once an identity provider account is compromised, the attackers pivot across connected SaaS platforms — SharePoint, Salesforce, DocuSign, Slack — exfiltrates data, and attempts to extort the victim organization. ",{"data":19329,"content":19333,"nodeType":996},{"target":19330},{"sys":19331},{"id":19332,"type":1001,"linkType":1002},"2X2YXMpozrbRQhegk7yF1k",[],{"data":19335,"content":19336,"nodeType":1005},{},[],{"data":19338,"content":19339,"nodeType":1009},{},[19340],{"data":19341,"marks":19342,"value":19344,"nodeType":864},{},[19343],{"type":899},"Inside the panels: what Push found",{"data":19346,"content":19347,"nodeType":860},{},[19348],{"data":19349,"marks":19350,"value":19351,"nodeType":864},{},[],"Push detected an active Okta phishing site with TTPs aligned to the tooling used by SLH and affiliated groups. Through analysis of the phishing infrastructure, we gained direct access to Doko’s Panel and variants, and were able to observe how these attacks unfold from the operator's perspective — including real victim submission logs from the current week confirming ongoing active operations.",{"data":19353,"content":19357,"nodeType":996},{"target":19354},{"sys":19355},{"id":19356,"type":1001,"linkType":1002},"5ND0etPs5xN7ejz24l71jy",[],{"data":19359,"content":19360,"nodeType":1312},{},[19361],{"data":19362,"marks":19363,"value":19365,"nodeType":864},{},[19364],{"type":899},"How the attack works",{"data":19367,"content":19368,"nodeType":860},{},[19369],{"data":19370,"marks":19371,"value":19372,"nodeType":864},{},[],"The general sequence of steps is the same across the panels:",{"data":19374,"content":19375,"nodeType":941},{},[19376,19391,19406,19430,19445,19460,19484],{"data":19377,"content":19378,"nodeType":945},{},[19379],{"data":19380,"content":19381,"nodeType":860},{},[19382,19387],{"data":19383,"marks":19384,"value":19386,"nodeType":864},{},[19385],{"type":899},"The operator calls the target",{"data":19388,"marks":19389,"value":19390,"nodeType":864},{},[]," spoofing the organization's IT helpdesk number, often referencing real employee names or internal ticket numbers to establish trust. The target is directed to a phishing domain — usually following a combosquatting pattern like my\u003Ctarget>internal[.]com or \u003Ctarget>sso[.]com — under the pretext of a mandatory security update, passkey enrollment, or support ticket resolution. ",{"data":19392,"content":19393,"nodeType":945},{},[19394],{"data":19395,"content":19396,"nodeType":860},{},[19397,19402],{"data":19398,"marks":19399,"value":19401,"nodeType":864},{},[19400],{"type":899},"The victim lands on the phishing domain",{"data":19403,"marks":19404,"value":19405,"nodeType":864},{},[]," and is presented with a loading spinner — the anti-bot gate that prevents unauthorized access to the phishing pages.",{"data":19407,"content":19408,"nodeType":945},{},[19409],{"data":19410,"content":19411,"nodeType":860},{},[19412,19417,19421,19426],{"data":19413,"marks":19414,"value":19416,"nodeType":864},{},[19415],{"type":899},"The operator accepts the visitor",{"data":19418,"marks":19419,"value":19420,"nodeType":864},{},[]," from the admin panel and ",{"data":19422,"marks":19423,"value":19425,"nodeType":864},{},[19424],{"type":899},"the victim is redirected",{"data":19427,"marks":19428,"value":19429,"nodeType":864},{},[]," to the cloned login page (e.g. Google, Microsoft, Okta).",{"data":19431,"content":19432,"nodeType":945},{},[19433],{"data":19434,"content":19435,"nodeType":860},{},[19436,19441],{"data":19437,"marks":19438,"value":19440,"nodeType":864},{},[19439],{"type":899},"The victim enters their email address and password",{"data":19442,"marks":19443,"value":19444,"nodeType":864},{},[],", which is forwarded to the operator's Telegram channel. The victim sees a processing spinner on the branded login form.",{"data":19446,"content":19447,"nodeType":945},{},[19448],{"data":19449,"content":19450,"nodeType":860},{},[19451,19456],{"data":19452,"marks":19453,"value":19455,"nodeType":864},{},[19454],{"type":899},"The operator relays the credentials",{"data":19457,"marks":19458,"value":19459,"nodeType":864},{},[]," to the real identity provider. If they're valid, the attack proceeds. If they're invalid, the operator can redirect the victim back to the credential entry pages. Assuming MFA is required, the operator issues a redirect to an appropriate MFA capture page — \"Submit SMS OTP,\" \"Submit Gauth OTP,\" or \"Approve [XX] Prompt,\" depending on what the legitimate IdP is presenting.",{"data":19461,"content":19462,"nodeType":945},{},[19463],{"data":19464,"content":19465,"nodeType":860},{},[19466,19471,19475,19480],{"data":19467,"marks":19468,"value":19470,"nodeType":864},{},[19469],{"type":899},"The victim submits their OTP or approves the push notification ",{"data":19472,"marks":19473,"value":19474,"nodeType":864},{},[],"and",{"data":19476,"marks":19477,"value":19479,"nodeType":864},{},[19478],{"type":899}," the operator relays the OTP",{"data":19481,"marks":19482,"value":19483,"nodeType":864},{},[]," in their own login session, completes authentication, and captures the session. ",{"data":19485,"content":19486,"nodeType":945},{},[19487],{"data":19488,"content":19489,"nodeType":860},{},[19490,19495],{"data":19491,"marks":19492,"value":19494,"nodeType":864},{},[19493],{"type":899},"The victim is redirected to a benign page",{"data":19496,"marks":19497,"value":19498,"nodeType":864},{},[]," (e.g., Google Drive) or to a support ticket closure screen displaying a fabricated ticket number.",{"data":19500,"content":19504,"nodeType":996},{"target":19501},{"sys":19502},{"id":19503,"type":1001,"linkType":1002},"1o0wm3EOd7zSl5MddsNxgL",[],{"data":19506,"content":19510,"nodeType":996},{"target":19507},{"sys":19508},{"id":19509,"type":1001,"linkType":1002},"7w7SQEn3aITpcgXLMThhbS",[],{"data":19512,"content":19513,"nodeType":860},{},[19514],{"data":19515,"marks":19516,"value":21,"nodeType":864},{},[],{"data":19518,"content":19522,"nodeType":996},{"target":19519},{"sys":19520},{"id":19521,"type":1001,"linkType":1002},"PJJabY1ZfoCfl8XQ6PMj2",[],{"data":19524,"content":19525,"nodeType":1312},{},[19526],{"data":19527,"marks":19528,"value":19530,"nodeType":864},{},[19529],{"type":899},"Doko’s Panel",{"data":19532,"content":19533,"nodeType":860},{},[19534],{"data":19535,"marks":19536,"value":19537,"nodeType":864},{},[],"Let’s take a closer look at the panels themselves. We'll start with the default version of Doko's Panel since it’s the most established. It provides a multi-functional framework targeting users of Google, Microsoft Entra, Okta, and popular cryptocurrency exchanges including Abra, Coinbase, Gemini, and Kraken. Its core functionality resides in a client-side JavaScript file (client.js) that establishes the real-time feedback loop between the victim's browser and the operator's C2.",{"data":19539,"content":19540,"nodeType":860},{},[19541],{"data":19542,"marks":19543,"value":19544,"nodeType":864},{},[],"The technical indicators that characterize Doko's Panel in its standard form include:",{"data":19546,"content":19547,"nodeType":941},{},[19548,19563,19578,19593],{"data":19549,"content":19550,"nodeType":945},{},[19551],{"data":19552,"content":19553,"nodeType":860},{},[19554,19559],{"data":19555,"marks":19556,"value":19558,"nodeType":864},{},[19557],{"type":899},"client.js",{"data":19560,"marks":19561,"value":19562,"nodeType":864},{},[]," containing a pingServer() function that sends a JSON POST request to /backend.php every second with the structure { action: 'ping', token, window_id, page, os, browser }. If the response contains a redirect key, the victim's browser navigates to that path. ",{"data":19564,"content":19565,"nodeType":945},{},[19566],{"data":19567,"content":19568,"nodeType":860},{},[19569,19574],{"data":19570,"marks":19571,"value":19573,"nodeType":864},{},[19572],{"type":899},"sendTelegramMessage()",{"data":19575,"marks":19576,"value":19577,"nodeType":864},{},[]," (aliased to sendtg()), a function for relaying real-time credential submissions and session updates to the operator's Telegram channel.",{"data":19579,"content":19580,"nodeType":945},{},[19581],{"data":19582,"content":19583,"nodeType":860},{},[19584,19589],{"data":19585,"marks":19586,"value":19588,"nodeType":864},{},[19587],{"type":899},"backend.php",{"data":19590,"marks":19591,"value":19592,"nodeType":864},{},[]," as the primary server-side handler for both victim ping actions and admin panel operations (retrieving connected victim information, sending redirect instructions).",{"data":19594,"content":19595,"nodeType":945},{},[19596],{"data":19597,"content":19598,"nodeType":860},{},[19599,19604],{"data":19600,"marks":19601,"value":19603,"nodeType":864},{},[19602],{"type":899},"j.php",{"data":19605,"marks":19606,"value":19607,"nodeType":864},{},[]," as the endpoint for sending Telegram messages, relaying captured credentials and session logs.",{"data":19609,"content":19610,"nodeType":860},{},[19611],{"data":19612,"marks":19613,"value":19614,"nodeType":864},{},[],"Push found that deployments of Doko's Panel had minimal security by default — anyone was able to view the admin panel and manage visitors' connections without authentication.",{"data":19616,"content":19620,"nodeType":996},{"target":19617},{"sys":19618},{"id":19619,"type":1001,"linkType":1002},"3glwGSGHdCpf3DLqNmQqN8",[],{"data":19622,"content":19626,"nodeType":996},{"target":19623},{"sys":19624},{"id":19625,"type":1001,"linkType":1002},"20ymWIXMkmJlw7XYb93c9o",[],{"data":19628,"content":19629,"nodeType":1312},{},[19630],{"data":19631,"marks":19632,"value":19634,"nodeType":864},{},[19633],{"type":899},"Panel proliferation and remixes",{"data":19636,"content":19637,"nodeType":860},{},[19638],{"data":19639,"marks":19640,"value":19641,"nodeType":864},{},[],"Access to Doko's Panel has clearly proliferated beyond its original developers, resulting in remixes and variants being distributed across the ecosystem. Push identified a variant titled \"Lord Mensius's Panel\" targeting Koinly (a cryptocurrency tax platform), and another titled \"$$$\" using a template impersonating the Australian Tax Office, also targeting cryptocurrency tax filing. ",{"data":19643,"content":19644,"nodeType":860},{},[19645],{"data":19646,"marks":19647,"value":19648,"nodeType":864},{},[],"The existence of these independently branded forks indicates that the tooling has entered a phase of wider distribution — operators who obtained the original panel source are now customizing and reshipping it for their own purposes. As a result, the tooling is now accessible to a broad population of financially motivated threat actors. ",{"data":19650,"content":19651,"nodeType":1312},{},[19652],{"data":19653,"marks":19654,"value":19656,"nodeType":864},{},[19655],{"type":899},"heartbeat/check_redirect variant",{"data":19658,"content":19659,"nodeType":860},{},[19660],{"data":19661,"marks":19662,"value":19663,"nodeType":864},{},[],"In addition to Doko’s Panel and its forks, the site initially detected by Push used a modified variant of Doko's Panel with a different C2 protocol. Rather than the standard ping action, this variant sent two types of regular requests from client.js to the backend:",{"data":19665,"content":19666,"nodeType":941},{},[19667,19682],{"data":19668,"content":19669,"nodeType":945},{},[19670],{"data":19671,"content":19672,"nodeType":860},{},[19673,19678],{"data":19674,"marks":19675,"value":19677,"nodeType":864},{},[19676],{"type":899},"Heartbeat",{"data":19679,"marks":19680,"value":19681,"nodeType":864},{},[]," — POST to backend.php with action=heartbeat along with page, token, and window_id.",{"data":19683,"content":19684,"nodeType":945},{},[19685],{"data":19686,"content":19687,"nodeType":860},{},[19688,19693],{"data":19689,"marks":19690,"value":19692,"nodeType":864},{},[19691],{"type":899},"Check Redirect",{"data":19694,"marks":19695,"value":19696,"nodeType":864},{},[]," — GET to backend.php with parameters action=check_redirect along with token and window_id.",{"data":19698,"content":19699,"nodeType":860},{},[19700],{"data":19701,"marks":19702,"value":19703,"nodeType":864},{},[],"A redirect instruction in response to either request causes the victim's browser to navigate to the specified page. The variant compounds this with a separate inline script embedded in the landing gate HTML — in addition to client.js — that schedules its own sendHeartbeat() and checkRedirect() functions on regular intervals. ",{"data":19705,"content":19709,"nodeType":996},{"target":19706},{"sys":19707},{"id":19708,"type":1001,"linkType":1002},"6zRc9ublZvEQCxcWtMBSnF",[],{"data":19711,"content":19712,"nodeType":860},{},[19713],{"data":19714,"marks":19715,"value":19716,"nodeType":864},{},[],"Additional technical differentiators for this variant include:",{"data":19718,"content":19719,"nodeType":941},{},[19720,19735,19750],{"data":19721,"content":19722,"nodeType":945},{},[19723],{"data":19724,"content":19725,"nodeType":860},{},[19726,19731],{"data":19727,"marks":19728,"value":19730,"nodeType":864},{},[19729],{"type":899},"UUID generation",{"data":19732,"marks":19733,"value":19734,"nodeType":864},{},[]," using Math.random() to replace x in the template xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx, rather than the original Doko's Panel method of constructing a template from [1e7]+-1e3+-4e3+-8e3+-1e11 and replacing [018].",{"data":19736,"content":19737,"nodeType":945},{},[19738],{"data":19739,"content":19740,"nodeType":860},{},[19741,19746],{"data":19742,"marks":19743,"value":19745,"nodeType":864},{},[19744],{"type":899},"No central Telegram sending function",{"data":19747,"marks":19748,"value":19749,"nodeType":864},{},[],", though j.php still exists and is called from inline scripts on individual phishing pages.",{"data":19751,"content":19752,"nodeType":945},{},[19753],{"data":19754,"content":19755,"nodeType":860},{},[19756,19761],{"data":19757,"marks":19758,"value":19760,"nodeType":864},{},[19759],{"type":899},"No use of FNV-1a",{"data":19762,"marks":19763,"value":19764,"nodeType":864},{},[]," to hash-generate the window ID.",{"data":19766,"content":19767,"nodeType":860},{},[19768],{"data":19769,"marks":19770,"value":19771,"nodeType":864},{},[],"Push also found sub-variants hosting Okta phishing pages with additional modifications: a minified client.js script, and a renamed backend endpoint (api_FyekIDWY.php replacing backend.php).",{"data":19773,"content":19774,"nodeType":1312},{},[19775],{"data":19776,"marks":19777,"value":19779,"nodeType":864},{},[19778],{"type":899},"Revamped admin panel",{"data":19781,"content":19782,"nodeType":860},{},[19783],{"data":19784,"marks":19785,"value":19786,"nodeType":864},{},[],"Push also found examples of a significantly revamped admin panel, including a version from April 2026 specifically targeting Microsoft as an enterprise identity provider. ",{"data":19788,"content":19792,"nodeType":996},{"target":19789},{"sys":19790},{"id":19791,"type":1001,"linkType":1002},"3ufb4cotpg0f7yoIQJnND0",[],{"data":19794,"content":19795,"nodeType":860},{},[19796],{"data":19797,"marks":19798,"value":19799,"nodeType":864},{},[],"This panel featured a more sophisticated operator interface with an updated look, quick action buttons, and sound notifications.",{"data":19801,"content":19802,"nodeType":860},{},[19803],{"data":19804,"marks":19805,"value":19806,"nodeType":864},{},[],"In addition to the standard compromise flow for acquiring email, password, and OTP, this panel provided operator actions for sending Microsoft Teams call instructions to the victim — a Meeting ID and Passcode rendered on a branded page. This capability likely enables further interaction through a channel that supports screensharing, extending the attacker's reach beyond credential theft into live session manipulation. It also has the potential to make the scenario more believable for the victim.",{"data":19808,"content":19812,"nodeType":996},{"target":19809},{"sys":19810},{"id":19811,"type":1001,"linkType":1002},"4pg65d1SvTJA3xm6AsxZBp",[],{"data":19814,"content":19815,"nodeType":860},{},[19816],{"data":19817,"marks":19818,"value":19819,"nodeType":864},{},[],"Other capabilities were referenced in the panel's source code but did not appear active in the observed deployment:",{"data":19821,"content":19822,"nodeType":941},{},[19823,19838],{"data":19824,"content":19825,"nodeType":945},{},[19826],{"data":19827,"content":19828,"nodeType":860},{},[19829,19834],{"data":19830,"marks":19831,"value":19833,"nodeType":864},{},[19832],{"type":899},"Additional MFA approval pages",{"data":19835,"marks":19836,"value":19837,"nodeType":864},{},[]," for Duo and Okta, with the operator providing a code to display to the victim.",{"data":19839,"content":19840,"nodeType":945},{},[19841],{"data":19842,"content":19843,"nodeType":860},{},[19844,19849],{"data":19845,"marks":19846,"value":19848,"nodeType":864},{},[19847],{"type":899},"A code execution prompt",{"data":19850,"marks":19851,"value":19852,"nodeType":864},{},[]," to instruct the victim to run a command — the placeholder example being mshta to execute a remote HTA file, suggesting a potential bridge from identity compromise into malware delivery.",{"data":19854,"content":19855,"nodeType":860},{},[19856],{"data":19857,"marks":19858,"value":19859,"nodeType":864},{},[],"The admin panel also included settings for restricting access to specific geographic locations and device types, allowing operators to refine their campaign targeting and also avoid detection from unusual devices (often an indicator that the visitor is not a real human and is actually a security tool or bot).",{"data":19861,"content":19865,"nodeType":996},{"target":19862},{"sys":19863},{"id":19864,"type":1001,"linkType":1002},"1hebGtxbkyuejWXczwx5n6",[],{"data":19867,"content":19868,"nodeType":1005},{},[],{"data":19870,"content":19871,"nodeType":1009},{},[19872],{"data":19873,"marks":19874,"value":19876,"nodeType":864},{},[19875],{"type":899},"LLM-generated tells: vibe-coded phishing infrastructure",{"data":19878,"content":19879,"nodeType":860},{},[19880],{"data":19881,"marks":19882,"value":19883,"nodeType":864},{},[],"Evidence of extensive LLM use is extremely prevalent in attacks detected by Push, from LLM-generated phishing kits and tools to vibe-coded cloned pages. Attackers have also been observed leveraging AI–assisted capabilities in SaaS platforms to automate and scale-up their campaigns from an infrastructure and operations perspective. ",{"data":19885,"content":19886,"nodeType":860},{},[19887],{"data":19888,"marks":19889,"value":19890,"nodeType":864},{},[],"The ‘heartbeat’ variant in particular has significant tells of heavy use of LLMs to modify the phishing panel for the operator’s needs. The fact that these are so blatant increases the belief that these tools are being vibe-coded by relatively inexperienced developers with limited regard for operational security.",{"data":19892,"content":19893,"nodeType":860},{},[19894],{"data":19895,"marks":19896,"value":19897,"nodeType":864},{},[],"Some versions of client.js begin with verbose header comments that no human developer would write:",{"data":19899,"content":19902,"nodeType":996},{"target":19900},{"sys":19901},{"id":7797,"type":1001,"linkType":1002},[],{"data":19904,"content":19905,"nodeType":860},{},[19906],{"data":19907,"marks":19908,"value":19909,"nodeType":864},{},[],"The \"NOTES FOR NEXT SESSION\" header is particularly telling — it's a pattern generated by LLMs that maintain context between chat sessions, not a convention any human developer would adopt in production code, let alone in a phishing kit where operational security should discourage self-documenting infrastructure.",{"data":19911,"content":19912,"nodeType":860},{},[19913],{"data":19914,"marks":19915,"value":19916,"nodeType":864},{},[],"The admin panel HTML contains similarly over-documented opening comments:",{"data":19918,"content":19922,"nodeType":996},{"target":19919},{"sys":19920},{"id":19921,"type":1001,"linkType":1002},"60snRhz0RIsvLI6OU9RDOk",[],{"data":19924,"content":19925,"nodeType":860},{},[19926],{"data":19927,"marks":19928,"value":19929,"nodeType":864},{},[],"One of the Okta cloned login pages observed by Push contained the following comments suggesting the use of an LLM to create the clone:",{"data":19931,"content":19935,"nodeType":996},{"target":19932},{"sys":19933},{"id":19934,"type":1001,"linkType":1002},"1WCd5LQ6cfPf1IsNAhPSIT",[],{"data":19937,"content":19938,"nodeType":860},{},[19939],{"data":19940,"marks":19941,"value":19942,"nodeType":864},{},[],"The cloned Microsoft login pages displayed previously contain terser comments, but still typical of useless comments that are included by an LLM rather than a human author, especially a malware/phishing author:",{"data":19944,"content":19948,"nodeType":996},{"target":19945},{"sys":19946},{"id":19947,"type":1001,"linkType":1002},"6WN59mkiscNmAt8dmOR81c",[],{"data":19950,"content":19951,"nodeType":860},{},[19952],{"data":19953,"marks":19954,"value":19955,"nodeType":864},{},[],"The broken duplication in the heartbeat variant — where an inline script and client.js independently schedule the same backend requests using slightly different data formats — is consistent with an operator pasting requirements into an LLM and accepting the output without understanding the existing codebase well enough to recognize the redundancy.",{"data":19957,"content":19958,"nodeType":860},{},[19959],{"data":19960,"marks":19961,"value":19962,"nodeType":864},{},[],"Clearly, the barrier to entry for building (or forking) and operating a real-time vishing phishing panel is lower than the effectiveness of the tooling might suggest.",{"data":19964,"content":19965,"nodeType":1005},{},[],{"data":19967,"content":19968,"nodeType":1009},{},[19969],{"data":19970,"marks":19971,"value":19973,"nodeType":864},{},[19972],{"type":899},"Infrastructure clustering and attribution",{"data":19975,"content":19976,"nodeType":860},{},[19977,19981,19986],{"data":19978,"marks":19979,"value":19980,"nodeType":864},{},[],"Through analysis of phishing domains, hosting infrastructure, and technical indicators in the panel source code, ",{"data":19982,"marks":19983,"value":19985,"nodeType":864},{},[19984],{"type":899},"we’re highlighting four distinct infrastructure clusters associated with this tooling. ",{"data":19987,"marks":19988,"value":19989,"nodeType":864},{},[],"While the panels share common heritage, the operators deploying them appear to be separate groups with different infrastructure preferences and operational patterns.",{"data":19991,"content":19992,"nodeType":1312},{},[19993],{"data":19994,"marks":19995,"value":19996,"nodeType":864},{},[],"Cluster A",{"data":19998,"content":19999,"nodeType":860},{},[20000,20004,20012],{"data":20001,"marks":20002,"value":20003,"nodeType":864},{},[],"The indicators for Cluster A overlap with ",{"data":20005,"content":20006,"nodeType":883},{"uri":18283},[20007],{"data":20008,"marks":20009,"value":20011,"nodeType":864},{},[20010],{"type":1455},"Mandiant’s reporting on UNC6661",{"data":20013,"marks":20014,"value":20015,"nodeType":864},{},[],". Mandiant also attributes the extortion activity following UNC6661 intrusions to UNC6240, aka ShinyHunters.",{"data":20017,"content":20018,"nodeType":4845},{},[20019,20043,20072,20095,20146,20190,20213,20236],{"data":20020,"content":20021,"nodeType":4581},{},[20022,20033],{"data":20023,"content":20024,"nodeType":4569},{},[20025],{"data":20026,"content":20027,"nodeType":860},{},[20028],{"data":20029,"marks":20030,"value":20032,"nodeType":864},{},[20031],{"type":899},"Tool",{"data":20034,"content":20035,"nodeType":4569},{},[20036],{"data":20037,"content":20038,"nodeType":860},{},[20039],{"data":20040,"marks":20041,"value":19530,"nodeType":864},{},[20042],{"type":899},{"data":20044,"content":20045,"nodeType":4581},{},[20046,20055],{"data":20047,"content":20048,"nodeType":4569},{},[20049],{"data":20050,"content":20051,"nodeType":860},{},[20052],{"data":20053,"marks":20054,"value":19558,"nodeType":864},{},[],{"data":20056,"content":20057,"nodeType":4569},{},[20058,20065],{"data":20059,"content":20060,"nodeType":860},{},[20061],{"data":20062,"marks":20063,"value":20064,"nodeType":864},{},[],"8a01bcb70ec1c101a163c9cb8e074781c1322096f7ae01789f02252854def44c",{"data":20066,"content":20067,"nodeType":860},{},[20068],{"data":20069,"marks":20070,"value":20071,"nodeType":864},{},[],"f574b6e6b3a968cda5f51bec2c090d8eb095fbcfc383314f94bc15676a0d6692",{"data":20073,"content":20074,"nodeType":4581},{},[20075,20085],{"data":20076,"content":20077,"nodeType":4569},{},[20078],{"data":20079,"content":20080,"nodeType":860},{},[20081],{"data":20082,"marks":20083,"value":20084,"nodeType":864},{},[],"Timeframe",{"data":20086,"content":20087,"nodeType":4569},{},[20088],{"data":20089,"content":20090,"nodeType":860},{},[20091],{"data":20092,"marks":20093,"value":20094,"nodeType":864},{},[],"November 2025 - present (April 2026)",{"data":20096,"content":20097,"nodeType":4581},{},[20098,20108],{"data":20099,"content":20100,"nodeType":4569},{},[20101],{"data":20102,"content":20103,"nodeType":860},{},[20104],{"data":20105,"marks":20106,"value":20107,"nodeType":864},{},[],"Domain Patterns",{"data":20109,"content":20110,"nodeType":4569},{},[20111,20118,20125,20132,20139],{"data":20112,"content":20113,"nodeType":860},{},[20114],{"data":20115,"marks":20116,"value":20117,"nodeType":864},{},[],"\u003Ctarget>internal.com\n\u003Ctarget>sso.com",{"data":20119,"content":20120,"nodeType":860},{},[20121],{"data":20122,"marks":20123,"value":20124,"nodeType":864},{},[],"my\u003Ctarget>.com",{"data":20126,"content":20127,"nodeType":860},{},[20128],{"data":20129,"marks":20130,"value":20131,"nodeType":864},{},[],"my\u003Ctarget>internal.com",{"data":20133,"content":20134,"nodeType":860},{},[20135],{"data":20136,"marks":20137,"value":20138,"nodeType":864},{},[],"my\u003Ctarget>manager.com",{"data":20140,"content":20141,"nodeType":860},{},[20142],{"data":20143,"marks":20144,"value":20145,"nodeType":864},{},[],"my\u003Ctarget>sso.com",{"data":20147,"content":20148,"nodeType":4581},{},[20149,20159],{"data":20150,"content":20151,"nodeType":4569},{},[20152],{"data":20153,"content":20154,"nodeType":860},{},[20155],{"data":20156,"marks":20157,"value":20158,"nodeType":864},{},[],"Examples",{"data":20160,"content":20161,"nodeType":4569},{},[20162,20169,20176,20183],{"data":20163,"content":20164,"nodeType":860},{},[20165],{"data":20166,"marks":20167,"value":20168,"nodeType":864},{},[],"mydropboxinternal.com (November 2025)",{"data":20170,"content":20171,"nodeType":860},{},[20172],{"data":20173,"marks":20174,"value":20175,"nodeType":864},{},[],"myxerointernal.com (December 2025)",{"data":20177,"content":20178,"nodeType":860},{},[20179],{"data":20180,"marks":20181,"value":20182,"nodeType":864},{},[],"amazoninternal.com (March 2026)",{"data":20184,"content":20185,"nodeType":860},{},[20186],{"data":20187,"marks":20188,"value":20189,"nodeType":864},{},[],"mydisneysso.com (March 2026)",{"data":20191,"content":20192,"nodeType":4581},{},[20193,20203],{"data":20194,"content":20195,"nodeType":4569},{},[20196],{"data":20197,"content":20198,"nodeType":860},{},[20199],{"data":20200,"marks":20201,"value":20202,"nodeType":864},{},[],"Registrar",{"data":20204,"content":20205,"nodeType":4569},{},[20206],{"data":20207,"content":20208,"nodeType":860},{},[20209],{"data":20210,"marks":20211,"value":20212,"nodeType":864},{},[],"NiceNIC",{"data":20214,"content":20215,"nodeType":4581},{},[20216,20226],{"data":20217,"content":20218,"nodeType":4569},{},[20219],{"data":20220,"content":20221,"nodeType":860},{},[20222],{"data":20223,"marks":20224,"value":20225,"nodeType":864},{},[],"Name Servers",{"data":20227,"content":20228,"nodeType":4569},{},[20229],{"data":20230,"content":20231,"nodeType":860},{},[20232],{"data":20233,"marks":20234,"value":20235,"nodeType":864},{},[],"1984.is FreeDNS",{"data":20237,"content":20238,"nodeType":4581},{},[20239,20249],{"data":20240,"content":20241,"nodeType":4569},{},[20242],{"data":20243,"content":20244,"nodeType":860},{},[20245],{"data":20246,"marks":20247,"value":20248,"nodeType":864},{},[],"Hosting Provider",{"data":20250,"content":20251,"nodeType":4569},{},[20252],{"data":20253,"content":20254,"nodeType":860},{},[20255],{"data":20256,"marks":20257,"value":20258,"nodeType":864},{},[],"Mevspace (AS201814)",{"data":20260,"content":20261,"nodeType":1312},{},[20262],{"data":20263,"marks":20264,"value":20265,"nodeType":864},{},[],"Cluster B",{"data":20267,"content":20268,"nodeType":860},{},[20269,20273,20281,20284,20293],{"data":20270,"marks":20271,"value":20272,"nodeType":864},{},[],"The indicators for Cluster B overlap with ",{"data":20274,"content":20275,"nodeType":883},{"uri":18283},[20276],{"data":20277,"marks":20278,"value":20280,"nodeType":864},{},[20279],{"type":1455},"Mandiant’s reporting on UNC6671",{"data":20282,"marks":20283,"value":1774,"nodeType":864},{},[],{"data":20285,"content":20287,"nodeType":883},{"uri":20286},"https://rhisac.org/threat-intelligence/extortion-in-the-enterprise-defending-against-blackfile-attacks/",[20288],{"data":20289,"marks":20290,"value":20292,"nodeType":864},{},[20291],{"type":1455},"Other external reporting",{"data":20294,"marks":20295,"value":20296,"nodeType":864},{},[]," has linked this group to BlackFile-branded extortion and leaks.",{"data":20298,"content":20299,"nodeType":4845},{},[20300,20323,20366,20388,20423,20466,20488,20510],{"data":20301,"content":20302,"nodeType":4581},{},[20303,20313],{"data":20304,"content":20305,"nodeType":4569},{},[20306],{"data":20307,"content":20308,"nodeType":860},{},[20309],{"data":20310,"marks":20311,"value":20032,"nodeType":864},{},[20312],{"type":899},{"data":20314,"content":20315,"nodeType":4569},{},[20316],{"data":20317,"content":20318,"nodeType":860},{},[20319],{"data":20320,"marks":20321,"value":19656,"nodeType":864},{},[20322],{"type":899},{"data":20324,"content":20325,"nodeType":4581},{},[20326,20335],{"data":20327,"content":20328,"nodeType":4569},{},[20329],{"data":20330,"content":20331,"nodeType":860},{},[20332],{"data":20333,"marks":20334,"value":19558,"nodeType":864},{},[],{"data":20336,"content":20337,"nodeType":4569},{},[20338,20345,20352,20359],{"data":20339,"content":20340,"nodeType":860},{},[20341],{"data":20342,"marks":20343,"value":20344,"nodeType":864},{},[],"c0df36ccf88d5c8434b13b58f7a55a9715643a126148b9d078a93075d09cad26",{"data":20346,"content":20347,"nodeType":860},{},[20348],{"data":20349,"marks":20350,"value":20351,"nodeType":864},{},[],"d178dc7108fa9344dae28e350e810352e9e874563496dc7876ee628b11b0eabb",{"data":20353,"content":20354,"nodeType":860},{},[20355],{"data":20356,"marks":20357,"value":20358,"nodeType":864},{},[],"9c0939960e49122196e44b6779fe55dd7a13ab437ce251c8cf35f8c6daf8be21",{"data":20360,"content":20361,"nodeType":860},{},[20362],{"data":20363,"marks":20364,"value":20365,"nodeType":864},{},[],"e8128b33259f7ea4313c942689ba0ba557f17b1474f2e621c62a5b77674fab86",{"data":20367,"content":20368,"nodeType":4581},{},[20369,20378],{"data":20370,"content":20371,"nodeType":4569},{},[20372],{"data":20373,"content":20374,"nodeType":860},{},[20375],{"data":20376,"marks":20377,"value":20084,"nodeType":864},{},[],{"data":20379,"content":20380,"nodeType":4569},{},[20381],{"data":20382,"content":20383,"nodeType":860},{},[20384],{"data":20385,"marks":20386,"value":20387,"nodeType":864},{},[],"January 2026",{"data":20389,"content":20390,"nodeType":4581},{},[20391,20400],{"data":20392,"content":20393,"nodeType":4569},{},[20394],{"data":20395,"content":20396,"nodeType":860},{},[20397],{"data":20398,"marks":20399,"value":20107,"nodeType":864},{},[],{"data":20401,"content":20402,"nodeType":4569},{},[20403,20410,20417],{"data":20404,"content":20405,"nodeType":860},{},[20406],{"data":20407,"marks":20408,"value":20409,"nodeType":864},{},[],"\u003Ctarget>internal.com",{"data":20411,"content":20412,"nodeType":860},{},[20413],{"data":20414,"marks":20415,"value":20416,"nodeType":864},{},[],"\u003Ctarget>sso.com",{"data":20418,"content":20419,"nodeType":860},{},[20420],{"data":20421,"marks":20422,"value":20145,"nodeType":864},{},[],{"data":20424,"content":20425,"nodeType":4581},{},[20426,20435],{"data":20427,"content":20428,"nodeType":4569},{},[20429],{"data":20430,"content":20431,"nodeType":860},{},[20432],{"data":20433,"marks":20434,"value":20158,"nodeType":864},{},[],{"data":20436,"content":20437,"nodeType":4569},{},[20438,20445,20452,20459],{"data":20439,"content":20440,"nodeType":860},{},[20441],{"data":20442,"marks":20443,"value":20444,"nodeType":864},{},[],"epicgamessso[.]com (December 2025)",{"data":20446,"content":20447,"nodeType":860},{},[20448],{"data":20449,"marks":20450,"value":20451,"nodeType":864},{},[],"myadyeninternal[.]com (January 2026)",{"data":20453,"content":20454,"nodeType":860},{},[20455],{"data":20456,"marks":20457,"value":20458,"nodeType":864},{},[],"mysonossso[.]com (January 2026)",{"data":20460,"content":20461,"nodeType":860},{},[20462],{"data":20463,"marks":20464,"value":20465,"nodeType":864},{},[],"sonosinternal[.]com (January 2026)",{"data":20467,"content":20468,"nodeType":4581},{},[20469,20478],{"data":20470,"content":20471,"nodeType":4569},{},[20472],{"data":20473,"content":20474,"nodeType":860},{},[20475],{"data":20476,"marks":20477,"value":20202,"nodeType":864},{},[],{"data":20479,"content":20480,"nodeType":4569},{},[20481],{"data":20482,"content":20483,"nodeType":860},{},[20484],{"data":20485,"marks":20486,"value":20487,"nodeType":864},{},[],"Tucows",{"data":20489,"content":20490,"nodeType":4581},{},[20491,20500],{"data":20492,"content":20493,"nodeType":4569},{},[20494],{"data":20495,"content":20496,"nodeType":860},{},[20497],{"data":20498,"marks":20499,"value":20225,"nodeType":864},{},[],{"data":20501,"content":20502,"nodeType":4569},{},[20503],{"data":20504,"content":20505,"nodeType":860},{},[20506],{"data":20507,"marks":20508,"value":20509,"nodeType":864},{},[],"Njalla",{"data":20511,"content":20512,"nodeType":4581},{},[20513,20522],{"data":20514,"content":20515,"nodeType":4569},{},[20516],{"data":20517,"content":20518,"nodeType":860},{},[20519],{"data":20520,"marks":20521,"value":20248,"nodeType":864},{},[],{"data":20523,"content":20524,"nodeType":4569},{},[20525],{"data":20526,"content":20527,"nodeType":860},{},[20528],{"data":20529,"marks":20530,"value":20531,"nodeType":864},{},[],"Njalla (AS39287)",{"data":20533,"content":20534,"nodeType":1312},{},[20535],{"data":20536,"marks":20537,"value":20538,"nodeType":864},{},[],"Cluster C",{"data":20540,"content":20541,"nodeType":860},{},[20542],{"data":20543,"marks":20544,"value":20545,"nodeType":864},{},[],"Cluster C is likely an evolution of Cluster B. Some evidence has been observed tying the backend hosting to Njalla behind the Cloudflare CDN further solidifying the link. The shift to Cloudflare Turnstile protection and subdomain-based targeting represents an operational refinement — moving away from the distinctive [target]internal[.]com pattern that had become a well-known campaign indicator.",{"data":20547,"content":20548,"nodeType":4845},{},[20549,20573,20595,20617,20639,20682,20703,20725],{"data":20550,"content":20551,"nodeType":4581},{},[20552,20562],{"data":20553,"content":20554,"nodeType":4569},{},[20555],{"data":20556,"content":20557,"nodeType":860},{},[20558],{"data":20559,"marks":20560,"value":20032,"nodeType":864},{},[20561],{"type":899},{"data":20563,"content":20564,"nodeType":4569},{},[20565],{"data":20566,"content":20567,"nodeType":860},{},[20568],{"data":20569,"marks":20570,"value":20572,"nodeType":864},{},[20571],{"type":899},"heartbeat/check_redirect variant protected with Cloudflare turnstile",{"data":20574,"content":20575,"nodeType":4581},{},[20576,20585],{"data":20577,"content":20578,"nodeType":4569},{},[20579],{"data":20580,"content":20581,"nodeType":860},{},[20582],{"data":20583,"marks":20584,"value":19558,"nodeType":864},{},[],{"data":20586,"content":20587,"nodeType":4569},{},[20588],{"data":20589,"content":20590,"nodeType":860},{},[20591],{"data":20592,"marks":20593,"value":20594,"nodeType":864},{},[],"cb1d409278b2247af23e7b00ac779b232baaf4ce5f63fdf5ebc3920a38cc6102",{"data":20596,"content":20597,"nodeType":4581},{},[20598,20607],{"data":20599,"content":20600,"nodeType":4569},{},[20601],{"data":20602,"content":20603,"nodeType":860},{},[20604],{"data":20605,"marks":20606,"value":20084,"nodeType":864},{},[],{"data":20608,"content":20609,"nodeType":4569},{},[20610],{"data":20611,"content":20612,"nodeType":860},{},[20613],{"data":20614,"marks":20615,"value":20616,"nodeType":864},{},[],"March 2026 - present (April 2026)",{"data":20618,"content":20619,"nodeType":4581},{},[20620,20629],{"data":20621,"content":20622,"nodeType":4569},{},[20623],{"data":20624,"content":20625,"nodeType":860},{},[20626],{"data":20627,"marks":20628,"value":20107,"nodeType":864},{},[],{"data":20630,"content":20631,"nodeType":4569},{},[20632],{"data":20633,"content":20634,"nodeType":860},{},[20635],{"data":20636,"marks":20637,"value":20638,"nodeType":864},{},[],"\u003Ctarget> subdomain with generic “sso”, “passkey”, “enroll”, “okta” theme root domain",{"data":20640,"content":20641,"nodeType":4581},{},[20642,20651],{"data":20643,"content":20644,"nodeType":4569},{},[20645],{"data":20646,"content":20647,"nodeType":860},{},[20648],{"data":20649,"marks":20650,"value":20158,"nodeType":864},{},[],{"data":20652,"content":20653,"nodeType":4569},{},[20654,20661,20668,20675],{"data":20655,"content":20656,"nodeType":860},{},[20657],{"data":20658,"marks":20659,"value":20660,"nodeType":864},{},[],"\u003Ctarget>.passkeysetup.com (March 2026)",{"data":20662,"content":20663,"nodeType":860},{},[20664],{"data":20665,"marks":20666,"value":20667,"nodeType":864},{},[],"\u003Ctarget>.enrollms.com (March 2026)",{"data":20669,"content":20670,"nodeType":860},{},[20671],{"data":20672,"marks":20673,"value":20674,"nodeType":864},{},[],"\u003Ctarget>.keyokta.com (April 2026)",{"data":20676,"content":20677,"nodeType":860},{},[20678],{"data":20679,"marks":20680,"value":20681,"nodeType":864},{},[],"\u003Ctarget>.passkeywork.com (April 2026)",{"data":20683,"content":20684,"nodeType":4581},{},[20685,20694],{"data":20686,"content":20687,"nodeType":4569},{},[20688],{"data":20689,"content":20690,"nodeType":860},{},[20691],{"data":20692,"marks":20693,"value":20202,"nodeType":864},{},[],{"data":20695,"content":20696,"nodeType":4569},{},[20697],{"data":20698,"content":20699,"nodeType":860},{},[20700],{"data":20701,"marks":20702,"value":20487,"nodeType":864},{},[],{"data":20704,"content":20705,"nodeType":4581},{},[20706,20715],{"data":20707,"content":20708,"nodeType":4569},{},[20709],{"data":20710,"content":20711,"nodeType":860},{},[20712],{"data":20713,"marks":20714,"value":20225,"nodeType":864},{},[],{"data":20716,"content":20717,"nodeType":4569},{},[20718],{"data":20719,"content":20720,"nodeType":860},{},[20721],{"data":20722,"marks":20723,"value":20724,"nodeType":864},{},[],"Cloudflare",{"data":20726,"content":20727,"nodeType":4581},{},[20728,20737],{"data":20729,"content":20730,"nodeType":4569},{},[20731],{"data":20732,"content":20733,"nodeType":860},{},[20734],{"data":20735,"marks":20736,"value":20248,"nodeType":864},{},[],{"data":20738,"content":20739,"nodeType":4569},{},[20740],{"data":20741,"content":20742,"nodeType":860},{},[20743],{"data":20744,"marks":20745,"value":20746,"nodeType":864},{},[],"Cloudflare (AS13335)",{"data":20748,"content":20749,"nodeType":1312},{},[20750],{"data":20751,"marks":20752,"value":20753,"nodeType":864},{},[],"Cluster D",{"data":20755,"content":20756,"nodeType":4845},{},[20757,20781,20803,20825,20847,20876,20897,20918],{"data":20758,"content":20759,"nodeType":4581},{},[20760,20770],{"data":20761,"content":20762,"nodeType":4569},{},[20763],{"data":20764,"content":20765,"nodeType":860},{},[20766],{"data":20767,"marks":20768,"value":20032,"nodeType":864},{},[20769],{"type":899},{"data":20771,"content":20772,"nodeType":4569},{},[20773],{"data":20774,"content":20775,"nodeType":860},{},[20776],{"data":20777,"marks":20778,"value":20780,"nodeType":864},{},[20779],{"type":899},"heartbeat/check_redirect variant (minified)",{"data":20782,"content":20783,"nodeType":4581},{},[20784,20793],{"data":20785,"content":20786,"nodeType":4569},{},[20787],{"data":20788,"content":20789,"nodeType":860},{},[20790],{"data":20791,"marks":20792,"value":19558,"nodeType":864},{},[],{"data":20794,"content":20795,"nodeType":4569},{},[20796],{"data":20797,"content":20798,"nodeType":860},{},[20799],{"data":20800,"marks":20801,"value":20802,"nodeType":864},{},[],"9d65dd34384b441505e6b67647153c02d5c367bb53da36ce36a392e70b37940a",{"data":20804,"content":20805,"nodeType":4581},{},[20806,20815],{"data":20807,"content":20808,"nodeType":4569},{},[20809],{"data":20810,"content":20811,"nodeType":860},{},[20812],{"data":20813,"marks":20814,"value":20084,"nodeType":864},{},[],{"data":20816,"content":20817,"nodeType":4569},{},[20818],{"data":20819,"content":20820,"nodeType":860},{},[20821],{"data":20822,"marks":20823,"value":20824,"nodeType":864},{},[],"April 2026 (low volume)",{"data":20826,"content":20827,"nodeType":4581},{},[20828,20837],{"data":20829,"content":20830,"nodeType":4569},{},[20831],{"data":20832,"content":20833,"nodeType":860},{},[20834],{"data":20835,"marks":20836,"value":20107,"nodeType":864},{},[],{"data":20838,"content":20839,"nodeType":4569},{},[20840],{"data":20841,"content":20842,"nodeType":860},{},[20843],{"data":20844,"marks":20845,"value":20846,"nodeType":864},{},[],"\u003Ctarget> subdomain with generic “passkey”, “portal”, “okta” theme root domain",{"data":20848,"content":20849,"nodeType":4581},{},[20850,20859],{"data":20851,"content":20852,"nodeType":4569},{},[20853],{"data":20854,"content":20855,"nodeType":860},{},[20856],{"data":20857,"marks":20858,"value":20158,"nodeType":864},{},[],{"data":20860,"content":20861,"nodeType":4569},{},[20862,20869],{"data":20863,"content":20864,"nodeType":860},{},[20865],{"data":20866,"marks":20867,"value":20868,"nodeType":864},{},[],"\u003Ctarget>.passkeyportalsetup.com",{"data":20870,"content":20871,"nodeType":860},{},[20872],{"data":20873,"marks":20874,"value":20875,"nodeType":864},{},[],"\u003Ctarget>.addoktapasskey.com",{"data":20877,"content":20878,"nodeType":4581},{},[20879,20888],{"data":20880,"content":20881,"nodeType":4569},{},[20882],{"data":20883,"content":20884,"nodeType":860},{},[20885],{"data":20886,"marks":20887,"value":20202,"nodeType":864},{},[],{"data":20889,"content":20890,"nodeType":4569},{},[20891],{"data":20892,"content":20893,"nodeType":860},{},[20894],{"data":20895,"marks":20896,"value":20212,"nodeType":864},{},[],{"data":20898,"content":20899,"nodeType":4581},{},[20900,20909],{"data":20901,"content":20902,"nodeType":4569},{},[20903],{"data":20904,"content":20905,"nodeType":860},{},[20906],{"data":20907,"marks":20908,"value":20225,"nodeType":864},{},[],{"data":20910,"content":20911,"nodeType":4569},{},[20912],{"data":20913,"content":20914,"nodeType":860},{},[20915],{"data":20916,"marks":20917,"value":20724,"nodeType":864},{},[],{"data":20919,"content":20920,"nodeType":4581},{},[20921,20930],{"data":20922,"content":20923,"nodeType":4569},{},[20924],{"data":20925,"content":20926,"nodeType":860},{},[20927],{"data":20928,"marks":20929,"value":20248,"nodeType":864},{},[],{"data":20931,"content":20932,"nodeType":4569},{},[20933],{"data":20934,"content":20935,"nodeType":860},{},[20936],{"data":20937,"marks":20938,"value":20746,"nodeType":864},{},[],{"data":20940,"content":20941,"nodeType":1005},{},[],{"data":20943,"content":20944,"nodeType":1009},{},[20945],{"data":20946,"marks":20947,"value":20949,"nodeType":864},{},[20948],{"type":899},"Detection considerations",{"data":20951,"content":20952,"nodeType":860},{},[20953],{"data":20954,"marks":20955,"value":20956,"nodeType":864},{},[],"For Push, the detection approach to these panels is fundamentally the same as for any other phishing kit — behavioral analysis of the rendered page in the browser, regardless of the C2 protocol running underneath. ",{"data":20958,"content":20959,"nodeType":860},{},[20960],{"data":20961,"marks":20962,"value":20963,"nodeType":864},{},[],"The main operational difference is on the operator end, where the human-in-the-loop interaction replaces fully automated credential harvesting. This has implications for defenders relying on proactive infrastructure scanning: the gated landing pages, anti-bot checks, and operator-approval requirements mean the malicious content is only served to active targets, making it significantly harder for automated scanners to discover and flag these domains before they're used against a victim.",{"data":20965,"content":20966,"nodeType":860},{},[20967,20972],{"data":20968,"marks":20969,"value":20971,"nodeType":864},{},[20970],{"type":899},"The phone call as delivery vector eliminates the email-based detection surface that most organizations rely on as their primary phishing defense. ",{"data":20973,"marks":20974,"value":20975,"nodeType":864},{},[],"Operator-gated payload delivery further reduces the likelihood that these sites will be flagged as malicious and added to known-bad detection lists (and in any case, it’s trivial for attackers to spin up new ones). This reinforces the need for browser-based detection at the point the user interacts with the page, analyzing it in real time for malicious content without relying on static IoCs. ",{"data":20977,"content":20978,"nodeType":1005},{},[],{"data":20980,"content":20981,"nodeType":1009},{},[20982],{"data":20983,"marks":20984,"value":7238,"nodeType":864},{},[20985],{"type":899},{"data":20987,"content":20988,"nodeType":860},{},[20989,20993,20999],{"data":20990,"marks":20991,"value":20992,"nodeType":864},{},[],"Short-lived IoCs are of limited value when tackling modern phishing attacks due to the rate at which attackers are able to ",{"data":20994,"content":20995,"nodeType":883},{"uri":7248},[20996],{"data":20997,"marks":20998,"value":7253,"nodeType":864},{},[],{"data":21000,"marks":21001,"value":21002,"nodeType":864},{},[]," in the attack chain, often dynamically serving different URLs to site visitors. ",{"data":21004,"content":21005,"nodeType":860},{},[21006,21009,21017],{"data":21007,"marks":21008,"value":21,"nodeType":864},{},[],{"data":21010,"content":21012,"nodeType":883},{"uri":21011},"https://www.virustotal.com/gui/collection/0f745e9da6ef7664444594a7ee930cfe5a9d8bd6c2f039dcde818599b8926610",[21013],{"data":21014,"marks":21015,"value":21016,"nodeType":864},{},[],"The full list of IoCs is on VirusTotal here. ",{"data":21018,"marks":21019,"value":21,"nodeType":864},{},[],{"data":21021,"content":21022,"nodeType":860},{},[21023],{"data":21024,"marks":21025,"value":7196,"nodeType":864},{},[21026],{"type":899},{"data":21028,"content":21029,"nodeType":1005},{},[],{"data":21031,"content":21032,"nodeType":1009},{},[21033],{"data":21034,"marks":21035,"value":3578,"nodeType":864},{},[21036],{"type":899},{"data":21038,"content":21039,"nodeType":860},{},[21040,21044,21050],{"data":21041,"marks":21042,"value":21043,"nodeType":864},{},[],"Push Security is the most powerful AI-native security tool in the browser. Think EDR, but for the browser — high-fidelity telemetry and real-time control across every session, on every device, with no browser migration required.\n\nSecurity teams use Push to detect and stop advanced browser-based attacks like AiTM phishing, ClickFix, and session hijacking; gain visibility and control over AI tool usage across their workforce; harden identities by surfacing credential reuse, SSO gaps, and shadow IT; and support data loss and insider investigations with browser-layer telemetry that other tools can't see.\n\nBook a ",{"data":21045,"content":21046,"nodeType":883},{"uri":1700},[21047],{"data":21048,"marks":21049,"value":2715,"nodeType":864},{},[],{"data":21051,"marks":21052,"value":2719,"nodeType":864},{},[],"We infiltrated a criminal phishing panel: here’s what we found","We got an inside look at a phishing panel used in criminal campaigns linked to operators like ShinyHunters and BlackFile. Here’s what we found.","2026-05-07T00:00:00.000Z","inside-criminal-phishing-panel",{"items":21058},[21059,21061],{"sys":21060,"name":6593},{"id":6592},{"sys":21062,"name":342},{"id":6596},{"items":21064},[21065],{"fullName":21066,"firstName":21067,"jobTitle":2738,"profilePicture":21068},"Push Security Research Team","Research",{"url":21069},"https://images.ctfassets.net/y1cdw1ablpvd/7LpkwyXbOZ8WCVTAXzULmC/bfa3634c78ee9dfbee6606ba5519918b/push-round.png",{"__typename":2059,"sys":21071,"content":21072,"title":12971,"synopsis":12972,"hashTags":59,"publishedDate":12973,"slug":12974,"tagsCollection":21708,"authorsCollection":21714},{"id":12220},{"json":21073},{"data":21074,"content":21075,"nodeType":856},{},[21076,21099,21125,21131,21136,21139,21146,21152,21157,21172,21178,21185,21201,21214,21220,21226,21229,21236,21242,21248,21303,21309,21316,21326,21332,21338,21343,21350,21356,21362,21368,21374,21379,21386,21392,21463,21468,21471,21478,21484,21497,21503,21509,21514,21530,21533,21540,21546,21551,21567,21573,21579,21584,21587,21594,21600,21606,21611,21617,21622,21627,21647,21652,21662,21668,21674],{"data":21077,"content":21078,"nodeType":860},{},[21079,21082,21089,21092,21096],{"data":21080,"marks":21081,"value":12231,"nodeType":864},{},[],{"data":21083,"content":21084,"nodeType":883},{"uri":6237},[21085],{"data":21086,"marks":21087,"value":12239,"nodeType":864},{},[21088],{"type":1455},{"data":21090,"marks":21091,"value":12243,"nodeType":864},{},[],{"data":21093,"marks":21094,"value":12248,"nodeType":864},{},[21095],{"type":899},{"data":21097,"marks":21098,"value":12252,"nodeType":864},{},[],{"data":21100,"content":21101,"nodeType":860},{},[21102,21105,21112,21115,21122],{"data":21103,"marks":21104,"value":12259,"nodeType":864},{},[],{"data":21106,"content":21107,"nodeType":883},{"uri":12262},[21108],{"data":21109,"marks":21110,"value":12268,"nodeType":864},{},[21111],{"type":1455},{"data":21113,"marks":21114,"value":12272,"nodeType":864},{},[],{"data":21116,"content":21117,"nodeType":883},{"uri":12275},[21118],{"data":21119,"marks":21120,"value":12281,"nodeType":864},{},[21121],{"type":1455},{"data":21123,"marks":21124,"value":12285,"nodeType":864},{},[],{"data":21126,"content":21127,"nodeType":860},{},[21128],{"data":21129,"marks":21130,"value":12292,"nodeType":864},{},[],{"data":21132,"content":21135,"nodeType":996},{"target":21133},{"sys":21134},{"id":12297,"type":1001,"linkType":1002},[],{"data":21137,"content":21138,"nodeType":1005},{},[],{"data":21140,"content":21141,"nodeType":1009},{},[21142],{"data":21143,"marks":21144,"value":12309,"nodeType":864},{},[21145],{"type":899},{"data":21147,"content":21148,"nodeType":860},{},[21149],{"data":21150,"marks":21151,"value":12316,"nodeType":864},{},[],{"data":21153,"content":21156,"nodeType":996},{"target":21154},{"sys":21155},{"id":12321,"type":1001,"linkType":1002},[],{"data":21158,"content":21159,"nodeType":860},{},[21160,21163,21169],{"data":21161,"marks":21162,"value":12329,"nodeType":864},{},[],{"data":21164,"content":21165,"nodeType":883},{"uri":12332},[21166],{"data":21167,"marks":21168,"value":12337,"nodeType":864},{},[],{"data":21170,"marks":21171,"value":12341,"nodeType":864},{},[],{"data":21173,"content":21174,"nodeType":860},{},[21175],{"data":21176,"marks":21177,"value":12348,"nodeType":864},{},[],{"data":21179,"content":21180,"nodeType":1312},{},[21181],{"data":21182,"marks":21183,"value":12356,"nodeType":864},{},[21184],{"type":899},{"data":21186,"content":21187,"nodeType":860},{},[21188,21191,21198],{"data":21189,"marks":21190,"value":12363,"nodeType":864},{},[],{"data":21192,"content":21193,"nodeType":883},{"uri":12366},[21194],{"data":21195,"marks":21196,"value":12372,"nodeType":864},{},[21197],{"type":1455},{"data":21199,"marks":21200,"value":12376,"nodeType":864},{},[],{"data":21202,"content":21203,"nodeType":860},{},[21204,21207,21211],{"data":21205,"marks":21206,"value":12383,"nodeType":864},{},[],{"data":21208,"marks":21209,"value":12388,"nodeType":864},{},[21210],{"type":2246},{"data":21212,"marks":21213,"value":12392,"nodeType":864},{},[],{"data":21215,"content":21216,"nodeType":860},{},[21217],{"data":21218,"marks":21219,"value":12399,"nodeType":864},{},[],{"data":21221,"content":21222,"nodeType":860},{},[21223],{"data":21224,"marks":21225,"value":12406,"nodeType":864},{},[],{"data":21227,"content":21228,"nodeType":1005},{},[],{"data":21230,"content":21231,"nodeType":1009},{},[21232],{"data":21233,"marks":21234,"value":12417,"nodeType":864},{},[21235],{"type":899},{"data":21237,"content":21238,"nodeType":860},{},[21239],{"data":21240,"marks":21241,"value":12424,"nodeType":864},{},[],{"data":21243,"content":21244,"nodeType":860},{},[21245],{"data":21246,"marks":21247,"value":12431,"nodeType":864},{},[],{"data":21249,"content":21250,"nodeType":941},{},[21251,21264,21277,21290],{"data":21252,"content":21253,"nodeType":945},{},[21254],{"data":21255,"content":21256,"nodeType":860},{},[21257,21261],{"data":21258,"marks":21259,"value":12445,"nodeType":864},{},[21260],{"type":899},{"data":21262,"marks":21263,"value":12449,"nodeType":864},{},[],{"data":21265,"content":21266,"nodeType":945},{},[21267],{"data":21268,"content":21269,"nodeType":860},{},[21270,21274],{"data":21271,"marks":21272,"value":12460,"nodeType":864},{},[21273],{"type":899},{"data":21275,"marks":21276,"value":12464,"nodeType":864},{},[],{"data":21278,"content":21279,"nodeType":945},{},[21280],{"data":21281,"content":21282,"nodeType":860},{},[21283,21287],{"data":21284,"marks":21285,"value":12475,"nodeType":864},{},[21286],{"type":899},{"data":21288,"marks":21289,"value":12479,"nodeType":864},{},[],{"data":21291,"content":21292,"nodeType":945},{},[21293],{"data":21294,"content":21295,"nodeType":860},{},[21296,21300],{"data":21297,"marks":21298,"value":12490,"nodeType":864},{},[21299],{"type":899},{"data":21301,"marks":21302,"value":12494,"nodeType":864},{},[],{"data":21304,"content":21305,"nodeType":860},{},[21306],{"data":21307,"marks":21308,"value":12501,"nodeType":864},{},[],{"data":21310,"content":21311,"nodeType":1312},{},[21312],{"data":21313,"marks":21314,"value":12509,"nodeType":864},{},[21315],{"type":899},{"data":21317,"content":21318,"nodeType":860},{},[21319,21323],{"data":21320,"marks":21321,"value":12517,"nodeType":864},{},[21322],{"type":899},{"data":21324,"marks":21325,"value":12521,"nodeType":864},{},[],{"data":21327,"content":21328,"nodeType":860},{},[21329],{"data":21330,"marks":21331,"value":12528,"nodeType":864},{},[],{"data":21333,"content":21334,"nodeType":860},{},[21335],{"data":21336,"marks":21337,"value":12535,"nodeType":864},{},[],{"data":21339,"content":21342,"nodeType":996},{"target":21340},{"sys":21341},{"id":12540,"type":1001,"linkType":1002},[],{"data":21344,"content":21345,"nodeType":1312},{},[21346],{"data":21347,"marks":21348,"value":12549,"nodeType":864},{},[21349],{"type":899},{"data":21351,"content":21352,"nodeType":860},{},[21353],{"data":21354,"marks":21355,"value":12556,"nodeType":864},{},[],{"data":21357,"content":21358,"nodeType":860},{},[21359],{"data":21360,"marks":21361,"value":12563,"nodeType":864},{},[],{"data":21363,"content":21364,"nodeType":860},{},[21365],{"data":21366,"marks":21367,"value":12570,"nodeType":864},{},[],{"data":21369,"content":21370,"nodeType":860},{},[21371],{"data":21372,"marks":21373,"value":12577,"nodeType":864},{},[],{"data":21375,"content":21378,"nodeType":996},{"target":21376},{"sys":21377},{"id":12582,"type":1001,"linkType":1002},[],{"data":21380,"content":21381,"nodeType":1312},{},[21382],{"data":21383,"marks":21384,"value":12591,"nodeType":864},{},[21385],{"type":899},{"data":21387,"content":21388,"nodeType":860},{},[21389],{"data":21390,"marks":21391,"value":12598,"nodeType":864},{},[],{"data":21393,"content":21394,"nodeType":941},{},[21395,21434],{"data":21396,"content":21397,"nodeType":945},{},[21398],{"data":21399,"content":21400,"nodeType":860},{},[21401,21404,21411,21414,21421,21424,21431],{"data":21402,"marks":21403,"value":12611,"nodeType":864},{},[],{"data":21405,"content":21406,"nodeType":883},{"uri":6237},[21407],{"data":21408,"marks":21409,"value":6242,"nodeType":864},{},[21410],{"type":1455},{"data":21412,"marks":21413,"value":12622,"nodeType":864},{},[],{"data":21415,"content":21416,"nodeType":883},{"uri":12625},[21417],{"data":21418,"marks":21419,"value":12631,"nodeType":864},{},[21420],{"type":1455},{"data":21422,"marks":21423,"value":12635,"nodeType":864},{},[],{"data":21425,"content":21426,"nodeType":883},{"uri":12638},[21427],{"data":21428,"marks":21429,"value":12644,"nodeType":864},{},[21430],{"type":1455},{"data":21432,"marks":21433,"value":12648,"nodeType":864},{},[],{"data":21435,"content":21436,"nodeType":945},{},[21437],{"data":21438,"content":21439,"nodeType":860},{},[21440,21443,21450,21453,21460],{"data":21441,"marks":21442,"value":12658,"nodeType":864},{},[],{"data":21444,"content":21445,"nodeType":883},{"uri":12098},[21446],{"data":21447,"marks":21448,"value":12101,"nodeType":864},{},[21449],{"type":1455},{"data":21451,"marks":21452,"value":12669,"nodeType":864},{},[],{"data":21454,"content":21455,"nodeType":883},{"uri":12672},[21456],{"data":21457,"marks":21458,"value":12678,"nodeType":864},{},[21459],{"type":1455},{"data":21461,"marks":21462,"value":12682,"nodeType":864},{},[],{"data":21464,"content":21467,"nodeType":996},{"target":21465},{"sys":21466},{"id":12687,"type":1001,"linkType":1002},[],{"data":21469,"content":21470,"nodeType":1005},{},[],{"data":21472,"content":21473,"nodeType":1009},{},[21474],{"data":21475,"marks":21476,"value":12699,"nodeType":864},{},[21477],{"type":899},{"data":21479,"content":21480,"nodeType":860},{},[21481],{"data":21482,"marks":21483,"value":12706,"nodeType":864},{},[],{"data":21485,"content":21486,"nodeType":860},{},[21487,21490,21494],{"data":21488,"marks":21489,"value":12713,"nodeType":864},{},[],{"data":21491,"marks":21492,"value":12718,"nodeType":864},{},[21493],{"type":899},{"data":21495,"marks":21496,"value":12722,"nodeType":864},{},[],{"data":21498,"content":21499,"nodeType":860},{},[21500],{"data":21501,"marks":21502,"value":12729,"nodeType":864},{},[],{"data":21504,"content":21505,"nodeType":860},{},[21506],{"data":21507,"marks":21508,"value":12736,"nodeType":864},{},[],{"data":21510,"content":21513,"nodeType":996},{"target":21511},{"sys":21512},{"id":12741,"type":1001,"linkType":1002},[],{"data":21515,"content":21516,"nodeType":860},{},[21517,21520,21527],{"data":21518,"marks":21519,"value":12749,"nodeType":864},{},[],{"data":21521,"content":21522,"nodeType":883},{"uri":6024},[21523],{"data":21524,"marks":21525,"value":12757,"nodeType":864},{},[21526],{"type":1455},{"data":21528,"marks":21529,"value":12761,"nodeType":864},{},[],{"data":21531,"content":21532,"nodeType":1005},{},[],{"data":21534,"content":21535,"nodeType":1009},{},[21536],{"data":21537,"marks":21538,"value":2578,"nodeType":864},{},[21539],{"type":899},{"data":21541,"content":21542,"nodeType":860},{},[21543],{"data":21544,"marks":21545,"value":12778,"nodeType":864},{},[],{"data":21547,"content":21550,"nodeType":996},{"target":21548},{"sys":21549},{"id":12783,"type":1001,"linkType":1002},[],{"data":21552,"content":21553,"nodeType":860},{},[21554,21557,21564],{"data":21555,"marks":21556,"value":12791,"nodeType":864},{},[],{"data":21558,"content":21559,"nodeType":883},{"uri":12794},[21560],{"data":21561,"marks":21562,"value":12800,"nodeType":864},{},[21563],{"type":1455},{"data":21565,"marks":21566,"value":12252,"nodeType":864},{},[],{"data":21568,"content":21569,"nodeType":860},{},[21570],{"data":21571,"marks":21572,"value":12810,"nodeType":864},{},[],{"data":21574,"content":21575,"nodeType":860},{},[21576],{"data":21577,"marks":21578,"value":12817,"nodeType":864},{},[],{"data":21580,"content":21583,"nodeType":996},{"target":21581},{"sys":21582},{"id":12822,"type":1001,"linkType":1002},[],{"data":21585,"content":21586,"nodeType":1005},{},[],{"data":21588,"content":21589,"nodeType":1009},{},[21590],{"data":21591,"marks":21592,"value":8991,"nodeType":864},{},[21593],{"type":899},{"data":21595,"content":21596,"nodeType":860},{},[21597],{"data":21598,"marks":21599,"value":12840,"nodeType":864},{},[],{"data":21601,"content":21602,"nodeType":860},{},[21603],{"data":21604,"marks":21605,"value":12847,"nodeType":864},{},[],{"data":21607,"content":21610,"nodeType":996},{"target":21608},{"sys":21609},{"id":12852,"type":1001,"linkType":1002},[],{"data":21612,"content":21613,"nodeType":860},{},[21614],{"data":21615,"marks":21616,"value":12860,"nodeType":864},{},[],{"data":21618,"content":21621,"nodeType":996},{"target":21619},{"sys":21620},{"id":12865,"type":1001,"linkType":1002},[],{"data":21623,"content":21626,"nodeType":996},{"target":21624},{"sys":21625},{"id":12871,"type":1001,"linkType":1002},[],{"data":21628,"content":21629,"nodeType":860},{},[21630,21633,21637,21640,21644],{"data":21631,"marks":21632,"value":12879,"nodeType":864},{},[],{"data":21634,"marks":21635,"value":12884,"nodeType":864},{},[21636],{"type":899},{"data":21638,"marks":21639,"value":12888,"nodeType":864},{},[],{"data":21641,"marks":21642,"value":12893,"nodeType":864},{},[21643],{"type":899},{"data":21645,"marks":21646,"value":12897,"nodeType":864},{},[],{"data":21648,"content":21651,"nodeType":996},{"target":21649},{"sys":21650},{"id":12902,"type":1001,"linkType":1002},[],{"data":21653,"content":21654,"nodeType":1312},{},[21655,21658],{"data":21656,"marks":21657,"value":12910,"nodeType":864},{},[],{"data":21659,"marks":21660,"value":12915,"nodeType":864},{},[21661],{"type":899},{"data":21663,"content":21664,"nodeType":860},{},[21665],{"data":21666,"marks":21667,"value":12922,"nodeType":864},{},[],{"data":21669,"content":21670,"nodeType":860},{},[21671],{"data":21672,"marks":21673,"value":12929,"nodeType":864},{},[],{"data":21675,"content":21676,"nodeType":860},{},[21677,21680,21686,21689,21696,21699,21705],{"data":21678,"marks":21679,"value":12936,"nodeType":864},{},[],{"data":21681,"content":21682,"nodeType":883},{"uri":12939},[21683],{"data":21684,"marks":21685,"value":12944,"nodeType":864},{},[],{"data":21687,"marks":21688,"value":3731,"nodeType":864},{},[],{"data":21690,"content":21691,"nodeType":883},{"uri":12950},[21692],{"data":21693,"marks":21694,"value":12956,"nodeType":864},{},[21695],{"type":1455},{"data":21697,"marks":21698,"value":12960,"nodeType":864},{},[],{"data":21700,"content":21701,"nodeType":883},{"uri":1700},[21702],{"data":21703,"marks":21704,"value":12967,"nodeType":864},{},[],{"data":21706,"marks":21707,"value":2924,"nodeType":864},{},[],{"items":21709},[21710,21712],{"sys":21711,"name":6593},{"id":6592},{"sys":21713,"name":342},{"id":6596},{"items":21715},[21716],{"fullName":2736,"firstName":2737,"jobTitle":2738,"profilePicture":21717},{"url":2740},{"__typename":2059,"sys":21719,"content":21721,"title":22566,"synopsis":22567,"hashTags":59,"publishedDate":22568,"slug":22569,"tagsCollection":22570,"authorsCollection":22576},{"id":21720},"6X3wP0WhtDk2l1jKH2fPIb",{"json":21722},{"data":21723,"content":21724,"nodeType":856},{},[21725,21731,21767,21774,21781,21784,21792,21799,21807,21846,21863,21866,21874,21881,21888,21895,21911,21925,21932,21948,21955,21971,21992,22012,22068,22080,22100,22106,22113,22120,22127,22134,22157,22163,22170,22177,22184,22196,22221,22224,22232,22239,22246,22253,22272,22278,22301,22308,22315,22439,22445,22452,22459,22462,22470,22477,22496,22503,22511,22514,22533],{"data":21726,"content":21730,"nodeType":996},{"target":21727},{"sys":21728},{"id":21729,"type":1001,"linkType":1002},"4Lk4sATAlk2wPcevG0cJCu",[],{"data":21732,"content":21733,"nodeType":860},{},[21734,21737,21744,21747,21753,21756,21763],{"data":21735,"marks":21736,"value":3939,"nodeType":864},{},[],{"data":21738,"content":21739,"nodeType":883},{"uri":3942},[21740],{"data":21741,"marks":21742,"value":3948,"nodeType":864},{},[21743],{"type":1455},{"data":21745,"marks":21746,"value":3731,"nodeType":864},{},[],{"data":21748,"content":21749,"nodeType":883},{"uri":3954},[21750],{"data":21751,"marks":21752,"value":3959,"nodeType":864},{},[],{"data":21754,"marks":21755,"value":3731,"nodeType":864},{},[],{"data":21757,"content":21758,"nodeType":883},{"uri":3965},[21759],{"data":21760,"marks":21761,"value":3970,"nodeType":864},{},[21762],{"type":1455},{"data":21764,"marks":21765,"value":21766,"nodeType":864},{},[],", among many others). ",{"data":21768,"content":21769,"nodeType":860},{},[21770],{"data":21771,"marks":21772,"value":21773,"nodeType":864},{},[],"But as the industry scrambles to respond, there's a tendency to treat browser extension management as an entirely new paradigm that requires a new approach, particularly risk scoring systems that attempt to rate each extension on a spectrum from safe to dangerous.",{"data":21775,"content":21776,"nodeType":860},{},[21777],{"data":21778,"marks":21779,"value":21780,"nodeType":864},{},[],"We think this framing misses the point, and that it's leading security teams toward a strategy that won't protect them from the attacks that actually cause damage.",{"data":21782,"content":21783,"nodeType":1005},{},[],{"data":21785,"content":21786,"nodeType":1009},{},[21787],{"data":21788,"marks":21789,"value":21791,"nodeType":864},{},[21790],{"type":899},"The practical problem: \"just remove the high-risk ones\" doesn't work",{"data":21793,"content":21794,"nodeType":860},{},[21795],{"data":21796,"marks":21797,"value":21798,"nodeType":864},{},[],"The strategy we see most often is some version of \"identify and remove the highest-risk extensions.\" On the surface this seems reasonable — you can't address everything, so you prioritize. The problem is that it doesn't materially reduce your exposure to the attacks that are actually happening.",{"data":21800,"content":21801,"nodeType":860},{},[21802],{"data":21803,"marks":21804,"value":21806,"nodeType":864},{},[21805],{"type":899},"Browser extension attacks almost always follow one of two patterns: ",{"data":21808,"content":21809,"nodeType":941},{},[21810,21820],{"data":21811,"content":21812,"nodeType":945},{},[21813],{"data":21814,"content":21815,"nodeType":860},{},[21816],{"data":21817,"marks":21818,"value":21819,"nodeType":864},{},[],"A legitimate developer is compromised through consent phishing, session theft, or AiTM phishing, and a malicious update is pushed to the existing user base. Cyberhaven is a good example of this — a developer got consent phished with a specific app that granted the attacker access to the extension store.",{"data":21821,"content":21822,"nodeType":945},{},[21823],{"data":21824,"content":21825,"nodeType":860},{},[21826,21830,21842],{"data":21827,"marks":21828,"value":21829,"nodeType":864},{},[],"An attacker builds or acquires a clean extension, operates it legitimately until it accumulates a sufficient user base, then deploys a malicious update. GitLab's threat intelligence team documented a cluster of",{"data":21831,"content":21833,"nodeType":883},{"uri":21832},"https://gitlab-com.gitlab.io/gl-security/security-tech-notes/threat-intelligence-tech-notes/malicious-browser-extensions-feb-2025/",[21834,21837],{"data":21835,"marks":21836,"value":1171,"nodeType":864},{},[],{"data":21838,"marks":21839,"value":21841,"nodeType":864},{},[21840],{"type":1455},"16 extensions impacting 3.2 million users",{"data":21843,"marks":21844,"value":21845,"nodeType":864},{},[]," where access had been acquired from original developers rather than via compromise.",{"data":21847,"content":21848,"nodeType":860},{},[21849,21854,21858],{"data":21850,"marks":21851,"value":21853,"nodeType":864},{},[21852],{"type":899},"This means that real-world extension breaches aren't coming from extensions that looked risky beforehand.",{"data":21855,"marks":21856,"value":21857,"nodeType":864},{},[]," If your strategy is \"identify and remove the highest-risk extensions,\" you're optimizing for the wrong thing — because even extensions that score as moderate or low risk by every conventional measure still have the permissions and access needed for a full compromise. ",{"data":21859,"marks":21860,"value":21862,"nodeType":864},{},[21861],{"type":899},"If you skim off the top 10% “riskiest” extensions, 90% of the extensions in your environment could still become a breach vector. ",{"data":21864,"content":21865,"nodeType":1005},{},[],{"data":21867,"content":21868,"nodeType":1009},{},[21869],{"data":21870,"marks":21871,"value":21873,"nodeType":864},{},[21872],{"type":899},"What risk scoring is designed to measure — and why it can’t predict future compromise",{"data":21875,"content":21876,"nodeType":860},{},[21877],{"data":21878,"marks":21879,"value":21880,"nodeType":864},{},[],"Most extension risk scoring systems evaluate some combination of permissions, install count, user ratings, code analysis, developer reputation, and web store trust signals. Nice-to-have data points, but with a common limitation: they describe the extension as it is today, not what it will become after the next update. That makes them poor predictors of the thing that actually causes breaches — a previously-clean extension being weaponized through a supply chain compromise.",{"data":21882,"content":21883,"nodeType":860},{},[21884],{"data":21885,"marks":21886,"value":21887,"nodeType":864},{},[],"It's worth examining why each signal falls short as a predictor specifically of future compromise, because the failure modes are different and well-documented.",{"data":21889,"content":21890,"nodeType":1312},{},[21891],{"data":21892,"marks":21893,"value":21894,"nodeType":864},{},[],"Permissions",{"data":21896,"content":21897,"nodeType":860},{},[21898,21902,21907],{"data":21899,"marks":21900,"value":21901,"nodeType":864},{},[],"Permissions are the most meaningful input to a risk score, because they determine what an extension is ",{"data":21903,"marks":21904,"value":21906,"nodeType":864},{},[21905],{"type":2246},"capable",{"data":21908,"marks":21909,"value":21910,"nodeType":864},{},[]," of doing if it turns malicious. An extension with access to cookies, scripting, and broad host permissions can steal session tokens, log keystrokes, and exfiltrate data from any site the user visits. This is the data that actually answers the question \"what could this extension do to us if it went bad?\"",{"data":21912,"content":21913,"nodeType":860},{},[21914,21918,21922],{"data":21915,"marks":21916,"value":21917,"nodeType":864},{},[],"The problem is that these permissions are extraordinarily common. We analyzed a sample of 20,000 unique extensions deployed across Push customers and found that ",{"data":21919,"marks":21920,"value":3997,"nodeType":864},{},[21921],{"type":899},{"data":21923,"marks":21924,"value":12252,"nodeType":864},{},[],{"data":21926,"content":21927,"nodeType":860},{},[21928],{"data":21929,"marks":21930,"value":21931,"nodeType":864},{},[],"These figures also understate the real exposure. One of the most straightforward attack techniques involves injecting content scripts into web pages to hook request functions and extract cookies. The user-facing warning Chrome shows for this capability — \"Read and change all your data on the websites you visit\" — is the same generic string shown for ad blockers, password managers, and translation tools. ",{"data":21933,"content":21934,"nodeType":860},{},[21935,21939,21944],{"data":21936,"marks":21937,"value":21938,"nodeType":864},{},[],"You can't practically remove everything that ",{"data":21940,"marks":21941,"value":21943,"nodeType":864},{},[21942],{"type":2246},"could",{"data":21945,"marks":21946,"value":21947,"nodeType":864},{},[]," be dangerous, because that includes most of the extensions people actually use for work. And if you set the threshold lower to keep the list manageable, you're excluding extensions that have the same permissions and pose the same theoretical risk.",{"data":21949,"content":21950,"nodeType":1312},{},[21951],{"data":21952,"marks":21953,"value":21954,"nodeType":864},{},[],"Install counts, ratings, developer reputation, and web store badges",{"data":21956,"content":21957,"nodeType":860},{},[21958,21962,21967],{"data":21959,"marks":21960,"value":21961,"nodeType":864},{},[],"These signals share a common failure mode, so it's worth addressing them together: they all describe the extension's ",{"data":21963,"marks":21964,"value":21966,"nodeType":864},{},[21965],{"type":2246},"reputation",{"data":21968,"marks":21969,"value":21970,"nodeType":864},{},[]," at a point in time, and attackers have both the means and the incentive to ensure that reputation looks clean.",{"data":21972,"content":21973,"nodeType":860},{},[21974,21979,21983,21988],{"data":21975,"marks":21976,"value":21978,"nodeType":864},{},[21977],{"type":899},"Install count ",{"data":21980,"marks":21981,"value":21982,"nodeType":864},{},[],"is sometimes used as a proxy for trustworthiness, on the assumption that widely-adopted extensions are more likely to be legitimate. In practice, high install count is often a ",{"data":21984,"marks":21985,"value":21987,"nodeType":864},{},[21986],{"type":2246},"precondition",{"data":21989,"marks":21990,"value":21991,"nodeType":864},{},[]," for the attack rather than a signal against it. ",{"data":21993,"content":21994,"nodeType":860},{},[21995,21999,22008],{"data":21996,"marks":21997,"value":21998,"nodeType":864},{},[],"Attackers who acquire or build extensions are specifically waiting for the install base to grow before weaponizing — what researchers are calling the \"",{"data":22000,"content":22002,"nodeType":883},{"uri":22001},"https://www.malwarebytes.com/blog/news/2025/12/sleeper-browser-extensions-woke-up-as-spyware-on-4-million-devices",[22003],{"data":22004,"marks":22005,"value":22007,"nodeType":864},{},[22006],{"type":1455},"sleeper agent",{"data":22009,"marks":22010,"value":22011,"nodeType":864},{},[],"\" strategy. Install counts can also be easily inflated with bots, meaning that using them as a positive risk signal actively rewards the attackers who are best at gaming the system.",{"data":22013,"content":22014,"nodeType":941},{},[22015,22036,22058],{"data":22016,"content":22017,"nodeType":945},{},[22018],{"data":22019,"content":22020,"nodeType":860},{},[22021,22024,22032],{"data":22022,"marks":22023,"value":2761,"nodeType":864},{},[],{"data":22025,"content":22026,"nodeType":883},{"uri":3954},[22027],{"data":22028,"marks":22029,"value":22031,"nodeType":864},{},[22030],{"type":1455},"DarkSpectre campaign",{"data":22033,"marks":22034,"value":22035,"nodeType":864},{},[]," accumulated over 8.8 million compromised browsers across extensions that held \"verified\" status and healthy install counts throughout a seven-year operational period. ",{"data":22037,"content":22038,"nodeType":945},{},[22039],{"data":22040,"content":22041,"nodeType":860},{},[22042,22045,22054],{"data":22043,"marks":22044,"value":2761,"nodeType":864},{},[],{"data":22046,"content":22048,"nodeType":883},{"uri":22047},"https://www.ox.security/blog/malicious-chrome-extensions-steal-chatgpt-deepseek-conversations/",[22049],{"data":22050,"marks":22051,"value":22053,"nodeType":864},{},[22052],{"type":1455},"AITOPIA",{"data":22055,"marks":22056,"value":22057,"nodeType":864},{},[]," impersonation extensions had over 900,000 combined installs and a Google \"Featured\" badge. ",{"data":22059,"content":22060,"nodeType":945},{},[22061],{"data":22062,"content":22063,"nodeType":860},{},[22064],{"data":22065,"marks":22066,"value":22067,"nodeType":864},{},[],"Cyberhaven had approximately 400,000 users at the time of compromise. ",{"data":22069,"content":22070,"nodeType":860},{},[22071,22076],{"data":22072,"marks":22073,"value":22075,"nodeType":864},{},[22074],{"type":899},"User ratings",{"data":22077,"marks":22078,"value":22079,"nodeType":864},{},[]," suffer from the same problems. Attackers use bot networks to generate positive reviews, and even genuinely clean extensions will carry good ratings right up until they're compromised. By the time users start leaving negative reviews the attack has already run its course.",{"data":22081,"content":22082,"nodeType":860},{},[22083,22088,22091,22096],{"data":22084,"marks":22085,"value":22087,"nodeType":864},{},[22086],{"type":899},"Developer reputation and \"Featured\" and \"Verified\"",{"data":22089,"marks":22090,"value":1171,"nodeType":864},{},[],{"data":22092,"marks":22093,"value":22095,"nodeType":864},{},[22094],{"type":899},"badges",{"data":22097,"marks":22098,"value":22099,"nodeType":864},{},[]," fail for a related but slightly different reason: the attack typically doesn't come from a known-bad developer. It comes from a reputable developer whose account has been compromised, or from an extension that has changed hands. ",{"data":22101,"content":22105,"nodeType":996},{"target":22102},{"sys":22103},{"id":22104,"type":1001,"linkType":1002},"d1C5wKxUnKFwfhf4OBQAq",[],{"data":22107,"content":22108,"nodeType":860},{},[22109],{"data":22110,"marks":22111,"value":22112,"nodeType":864},{},[],"The net result across all of these signals is that the extensions most likely to appear in breach headlines — established tools with large user bases, good ratings, verified badges, and reputable developers — are precisely the ones that risk scoring would rate as low-risk.",{"data":22114,"content":22115,"nodeType":1312},{},[22116],{"data":22117,"marks":22118,"value":22119,"nodeType":864},{},[],"Code analysis",{"data":22121,"content":22122,"nodeType":860},{},[22123],{"data":22124,"marks":22125,"value":22126,"nodeType":864},{},[],"Static analysis of extension code is the approach that sounds most rigorous, and it's the basis for Chrome Web Store's own review process. Google operates a hybrid system combining automated analysis and manual review, with manual review typically reserved for submissions that trigger specific signals such as sensitive permissions or large code volumes.",{"data":22128,"content":22129,"nodeType":860},{},[22130],{"data":22131,"marks":22132,"value":22133,"nodeType":864},{},[],"But attackers have developed reliable techniques to pass these checks, and the specific evasion methods used in major campaigns illustrate why static analysis consistently falls short. ",{"data":22135,"content":22136,"nodeType":941},{},[22137,22147],{"data":22138,"content":22139,"nodeType":945},{},[22140],{"data":22141,"content":22142,"nodeType":860},{},[22143],{"data":22144,"marks":22145,"value":22146,"nodeType":864},{},[],"The Cyberhaven compromise used dynamically loaded content fetched from a remote server via service workers, with the C2 infrastructure delivering different malicious configurations to different end-users — meaning that even if a scanner fetched the remote payload, it might receive a benign configuration depending on the target profile.",{"data":22148,"content":22149,"nodeType":945},{},[22150],{"data":22151,"content":22152,"nodeType":860},{},[22153],{"data":22154,"marks":22155,"value":22156,"nodeType":864},{},[],"The GhostPoster campaign (part of the broader DarkSpectre operation) took evasion further still: the extension waited 48 hours between configuration check-ins and only loaded a malicious payload 10% of the time. No sandbox is running for 48 hours, and a 10% activation rate means that nine out of ten analysis runs would see nothing at all.",{"data":22158,"content":22162,"nodeType":996},{"target":22159},{"sys":22160},{"id":22161,"type":1001,"linkType":1002},"6jy6jvYcHTXO2uMd7kx647",[],{"data":22164,"content":22165,"nodeType":860},{},[22166],{"data":22167,"marks":22168,"value":22169,"nodeType":864},{},[],"It's also worth noting that Chrome Web Store policy explicitly disallows code obfuscation, precisely because it makes review impossible. The fact that attackers have found ways to hide malicious behavior without technically obfuscating their code speaks to the fundamental asymmetry at play: the attacker controls when and how malicious functionality appears, and static analysis can only evaluate what's present at the time of review.",{"data":22171,"content":22172,"nodeType":1312},{},[22173],{"data":22174,"marks":22175,"value":22176,"nodeType":864},{},[],"But extension scores combine all of these things …",{"data":22178,"content":22179,"nodeType":860},{},[22180],{"data":22181,"marks":22182,"value":22183,"nodeType":864},{},[],"The obvious counterargument is that no serious risk scoring system relies on any single signal in isolation — the value is supposed to come from combining permissions, install count, ratings, code analysis, and developer reputation into a composite score that's more predictive than any individual input. In theory, this sounds like the right approach: weak signals aggregated together should produce a stronger signal.",{"data":22185,"content":22186,"nodeType":860},{},[22187,22192],{"data":22188,"marks":22189,"value":22191,"nodeType":864},{},[22190],{"type":899},"In practice, combining signals that are individually unable to predict supply chain compromise doesn't produce a signal that can. ",{"data":22193,"marks":22194,"value":22195,"nodeType":864},{},[],"Aggregating a set of backward-looking indicators doesn't make the aggregate forward-looking; it just gives you a more detailed description of the present state, which is the state before the attack has happened. No weighting or combination of install count, code behavior, and developer reputation would have flagged Cyberhaven, or DarkSpectre, or Trust Wallet before the malicious update shipped, because at that point every input to the composite score was returning a legitimate value.",{"data":22197,"content":22198,"nodeType":860},{},[22199,22203,22208,22212,22217],{"data":22200,"marks":22201,"value":22202,"nodeType":864},{},[],"Meanwhile, the indicators that ",{"data":22204,"marks":22205,"value":22207,"nodeType":864},{},[22206],{"type":2246},"do",{"data":22209,"marks":22210,"value":22211,"nodeType":864},{},[]," predict real-world compromise — an extension changing ownership, a developer account being phished, an update introducing behavior that wasn't present in prior versions, or an extension being explicitly confirmed as malicious through threat intelligence — aren't predictive risk score inputs. ",{"data":22213,"marks":22214,"value":22216,"nodeType":864},{},[22215],{"type":899},"They're discrete events that require monitoring and an immediate response, not a recalculated number on a dashboard. ",{"data":22218,"marks":22219,"value":22220,"nodeType":864},{},[],"This is an important distinction: the signals that matter are changes over time, not static attributes at a point in time, and they call for a detection-and-response workflow rather than a periodic risk review.",{"data":22222,"content":22223,"nodeType":1005},{},[],{"data":22225,"content":22226,"nodeType":1009},{},[22227],{"data":22228,"marks":22229,"value":22231,"nodeType":864},{},[22230],{"type":899},"What works instead",{"data":22233,"content":22234,"nodeType":860},{},[22235],{"data":22236,"marks":22237,"value":22238,"nodeType":864},{},[],"If the goal is to reduce your exposure to extension-based supply chain compromise rather than to generate a ranked list of risk, the approach is operationally straightforward — even if it requires more discipline than deploying a scoring dashboard.",{"data":22240,"content":22241,"nodeType":1312},{},[22242],{"data":22243,"marks":22244,"value":22245,"nodeType":864},{},[],"Reduce your attack surface through allowlisting",{"data":22247,"content":22248,"nodeType":860},{},[22249],{"data":22250,"marks":22251,"value":22252,"nodeType":864},{},[],"Build a complete inventory of every extension running across your environment — what's installed, how it got there (managed deployment, manual install, sideloaded, developer mode), what permissions it has, who's using it, and whether it serves a legitimate work purpose. Then create a strict allowlist of vetted and approved extensions and block everything else.",{"data":22254,"content":22255,"nodeType":860},{},[22256,22260,22268],{"data":22257,"marks":22258,"value":22259,"nodeType":864},{},[],"This is the same default-deny approach that's been best practice for firewall policy and endpoint allowlisting for decades. ",{"data":22261,"content":22262,"nodeType":883},{"uri":12794},[22263],{"data":22264,"marks":22265,"value":22267,"nodeType":864},{},[22266],{"type":1455},"In Push, it works like building a firewall rule",{"data":22269,"marks":22270,"value":22271,"nodeType":864},{},[],": a global block rule at the bottom that disables all browser extensions, with explicit exceptions above it for approved tools. Users who attempt to install unapproved extensions see a block screen.",{"data":22273,"content":22277,"nodeType":996},{"target":22274},{"sys":22275},{"id":22276,"type":1001,"linkType":1002},"97dDukjKsRsAptpHV1kpn",[],{"data":22279,"content":22280,"nodeType":860},{},[22281,22286,22292,22297],{"data":22282,"marks":22283,"value":22285,"nodeType":864},{},[22284],{"type":899},"The key insight is that every extension you don't ",{"data":22287,"marks":22288,"value":22291,"nodeType":864},{},[22289,22290],{"type":899},{"type":2246},"really ",{"data":22293,"marks":22294,"value":22296,"nodeType":864},{},[22295],{"type":899},"need, but haven't blocked, is attack surface that exists for no business reason. ",{"data":22298,"marks":22299,"value":22300,"nodeType":864},{},[],"Most organizations are surprised by how many of the extensions in their environment are unused, forgotten, or have readily available alternatives. Reducing the population of installed extensions to only the ones that serve a genuine work purpose is the single most effective thing you can do — and it doesn't require a risk score to accomplish.",{"data":22302,"content":22303,"nodeType":1312},{},[22304],{"data":22305,"marks":22306,"value":22307,"nodeType":864},{},[],"Monitor for changes that indicate weaponization",{"data":22309,"content":22310,"nodeType":860},{},[22311],{"data":22312,"marks":22313,"value":22314,"nodeType":864},{},[],"Once you have a controlled baseline, the risk shifts from unmanaged installations (those are blocked) to changes in the extensions you've already approved. These are the signals that map to real-world attack patterns and serve as leading indicators of weaponization:",{"data":22316,"content":22317,"nodeType":941},{},[22318,22362,22377,22392,22407],{"data":22319,"content":22320,"nodeType":945},{},[22321],{"data":22322,"content":22323,"nodeType":860},{},[22324,22329,22333,22342,22347,22351,22359],{"data":22325,"marks":22326,"value":22328,"nodeType":864},{},[22327],{"type":899},"Ownership changes",{"data":22330,"marks":22331,"value":22332,"nodeType":864},{},[]," — an extension changing hands is one of the most reliable precursors to supply chain compromise, as demonstrated by the ",{"data":22334,"content":22336,"nodeType":883},{"uri":22335},"https://thehackernews.com/2026/03/chrome-extension-turns-malicious-after.html",[22337],{"data":22338,"marks":22339,"value":22341,"nodeType":864},{},[22340],{"type":1455},"QuickLens and ShotBird attack",{"data":22343,"marks":22344,"value":22346,"nodeType":864},{},[22345],{"type":1455},"s",{"data":22348,"marks":22349,"value":22350,"nodeType":864},{},[]," and the acquired-extension clusters documented by ",{"data":22352,"content":22353,"nodeType":883},{"uri":21832},[22354],{"data":22355,"marks":22356,"value":22358,"nodeType":864},{},[22357],{"type":1455},"GitLab",{"data":22360,"marks":22361,"value":2924,"nodeType":864},{},[],{"data":22363,"content":22364,"nodeType":945},{},[22365],{"data":22366,"content":22367,"nodeType":860},{},[22368,22373],{"data":22369,"marks":22370,"value":22372,"nodeType":864},{},[22371],{"type":899},"Developer contact information changes",{"data":22374,"marks":22375,"value":22376,"nodeType":864},{},[]," — often an early indicator that an extension has been sold or that a developer account has been taken over.",{"data":22378,"content":22379,"nodeType":945},{},[22380],{"data":22381,"content":22382,"nodeType":860},{},[22383,22388],{"data":22384,"marks":22385,"value":22387,"nodeType":864},{},[22386],{"type":899},"Permission escalations in updates",{"data":22389,"marks":22390,"value":22391,"nodeType":864},{},[]," — a previously-scoped extension suddenly requesting broad host permissions or cookie access.",{"data":22393,"content":22394,"nodeType":945},{},[22395],{"data":22396,"content":22397,"nodeType":860},{},[22398,22403],{"data":22399,"marks":22400,"value":22402,"nodeType":864},{},[22401],{"type":899},"Delisting from the web store",{"data":22404,"marks":22405,"value":22406,"nodeType":864},{},[]," — can indicate that the store's review process has caught something, or that the developer has abandoned the extension.",{"data":22408,"content":22409,"nodeType":945},{},[22410],{"data":22411,"content":22412,"nodeType":860},{},[22413,22418,22422,22430,22435],{"data":22414,"marks":22415,"value":22417,"nodeType":864},{},[22416],{"type":899},"Known malicious classification",{"data":22419,"marks":22420,"value":22421,"nodeType":864},{},[]," — when an extension is confirmed as weaponized or linked to an active campaign through threat intelligence. (",{"data":22423,"content":22424,"nodeType":883},{"uri":12794},[22425],{"data":22426,"marks":22427,"value":22429,"nodeType":864},{},[22428],{"type":1455},"Push blocks known-bad extensions automaticall",{"data":22431,"marks":22432,"value":22434,"nodeType":864},{},[22433],{"type":1455},"y",{"data":22436,"marks":22437,"value":22438,"nodeType":864},{},[],").",{"data":22440,"content":22444,"nodeType":996},{"target":22441},{"sys":22442},{"id":22443,"type":1001,"linkType":1002},"4PWyOD92E549plkeNH1DxO",[],{"data":22446,"content":22447,"nodeType":860},{},[22448],{"data":22449,"marks":22450,"value":22451,"nodeType":864},{},[],"To make this concrete: Push emits structured events via webhook whenever extension metadata changes that captures all of the variables above. These these can be fed directly into your SIEM or SOAR workflows, making it easy for security teams to detect when a meaningful change occurs. An ownership change on its own warrants investigation; an ownership change paired with a new version and added permissions warrants an immediate block pending review.",{"data":22453,"content":22454,"nodeType":860},{},[22455],{"data":22456,"marks":22457,"value":22458,"nodeType":864},{},[],"Push detects these changes in real time and can automatically block an extension when a meaningful risk indicator fires, before the damage propagates. This is fundamentally different from a periodic risk score: rather than attempting to predict which extensions might go bad based on static attributes, Push monitors for the specific events that precede or accompany weaponization in the attacks we've actually observed.",{"data":22460,"content":22461,"nodeType":1005},{},[],{"data":22463,"content":22464,"nodeType":1009},{},[22465],{"data":22466,"marks":22467,"value":22469,"nodeType":864},{},[22468],{"type":899},"The bottom line",{"data":22471,"content":22472,"nodeType":860},{},[22473],{"data":22474,"marks":22475,"value":22476,"nodeType":864},{},[],"Traditional extension risk scores — based on permissions, store metadata, code analysis, and developer reputation — are poor predictors of which extensions will actually compromise you. The extensions involved in the major breaches of the past 18 months consistently scored as normal or low-risk right up until the moment they were weaponized. If your extension management strategy is built around \"identify the riskiest extensions and remove them,\" the extension that gets you is the one that wasn't on the list.",{"data":22478,"content":22479,"nodeType":860},{},[22480,22484,22492],{"data":22481,"marks":22482,"value":22483,"nodeType":864},{},[],"Browser extensions are software. They're third-party code running with significant privilege inside the browser, capable of reading and modifying page content, accessing cookies and session tokens, and interacting with virtually every web application your employees use. Like any other software dependency — ",{"data":22485,"content":22486,"nodeType":883},{"uri":4103},[22487],{"data":22488,"marks":22489,"value":22491,"nodeType":864},{},[22490],{"type":1455},"OAuth integrations",{"data":22493,"marks":22494,"value":22495,"nodeType":864},{},[]," being another relevant recent example in public breaches — each one expands your attack surface. ",{"data":22497,"content":22498,"nodeType":860},{},[22499],{"data":22500,"marks":22501,"value":22502,"nodeType":864},{},[],"The principles behind managing browser extensions need to be the same as any other software — default-deny, build an allowlist, monitor and maintain that allowlist. This might trigger some PTSD for security teams, but it shouldn’t. On the endpoint, application allowlisting has always been operationally painful — diverse workflows, unpredictable application needs, and the overhead of vetting every binary made it impractical for most organizations outside of high-security environments. In the browser, it’s not that serious. You’re not going to brick an endpoint by blocking a third-party browser extension. ",{"data":22504,"content":22505,"nodeType":860},{},[22506],{"data":22507,"marks":22508,"value":22510,"nodeType":864},{},[22509],{"type":899},"The browser is one of the few environments where an allowlisting approach is both technically feasible and operationally lightweight: use it to your advantage. ",{"data":22512,"content":22513,"nodeType":1005},{},[],{"data":22515,"content":22516,"nodeType":860},{},[22517,22521,22529],{"data":22518,"marks":22519,"value":22520,"nodeType":864},{},[],"Push detects and blocks malicious browser extensions, and gives security teams the controls to ",{"data":22522,"content":22523,"nodeType":883},{"uri":12794},[22524],{"data":22525,"marks":22526,"value":22528,"nodeType":864},{},[22527],{"type":1455},"enforce an extension allowlist and monitor for risky changes",{"data":22530,"marks":22531,"value":22532,"nodeType":864},{},[]," across every browser in the environment. Combined with protection against AiTM phishing, ClickFix attacks, session hijacking, and stolen credentials — plus proactive hardening for ghost logins, SSO coverage gaps, MFA gaps, and vulnerable passwords — Push provides browser-native visibility and control where it matters most.",{"data":22534,"content":22535,"nodeType":860},{},[22536,22539,22545,22548,22554,22557,22563],{"data":22537,"marks":22538,"value":12936,"nodeType":864},{},[],{"data":22540,"content":22541,"nodeType":883},{"uri":12939},[22542],{"data":22543,"marks":22544,"value":12944,"nodeType":864},{},[],{"data":22546,"marks":22547,"value":3731,"nodeType":864},{},[],{"data":22549,"content":22550,"nodeType":883},{"uri":12950},[22551],{"data":22552,"marks":22553,"value":12956,"nodeType":864},{},[],{"data":22555,"marks":22556,"value":12960,"nodeType":864},{},[],{"data":22558,"content":22559,"nodeType":883},{"uri":1700},[22560],{"data":22561,"marks":22562,"value":12967,"nodeType":864},{},[],{"data":22564,"marks":22565,"value":2924,"nodeType":864},{},[],"Why relying on browser extension risk scoring is an antipattern that won’t predict your next breach","Why typical browser extension risk scores are poor predictors of which extensions will actually lead to a compromise.","2026-04-29T00:00:00.000Z","why-browser-extension-risk-scoring-wont-predict-your-next-breach",{"items":22571},[22572,22574],{"sys":22573,"name":342},{"id":6596},{"sys":22575,"name":6593},{"id":6592},{"items":22577},[22578],{"fullName":2736,"firstName":2737,"jobTitle":2738,"profilePicture":22579},{"url":2740},"analyzing-the-instructure-breach","blog/analyzing-the-instructure-breach",{"json":22583},{"data":22584,"content":22585,"nodeType":856},{},[22586],{"data":22587,"content":22588,"nodeType":860},{},[22589],{"data":22590,"marks":22591,"value":22592,"nodeType":864},{},[],"ShinyHunters' 2025 hacking spree has continued at pace in 2026. In this blog post, we break down their main techniques and what security teams can do to counter the threat.","ShinyHunters' breach of Instructure is the latest in a long series of attacks. Here's our view of the big picture. ",{"id":22595,"publishedAt":22596},"3jF1fypt08TNlSoWuoMWhj","2026-08-12T12:01:00.410Z",{"items":22598},[22599,22601],{"sys":22600,"name":6593},{"id":6592},{"sys":22602,"name":342},{"id":6596},{"items":22604},[22605,22607,22609,22611,22613,22615,22617,22619,22621,22623,22625,22627,22629,22631,22633,22635,22637],{"sys":22606,"name":279,"slug":280,"tier":31},{"id":276},{"sys":22608,"name":413,"slug":414,"tier":31},{"id":410},{"sys":22610,"name":545,"slug":546,"tier":31},{"id":542},{"sys":22612,"name":519,"slug":520,"tier":31},{"id":516},{"sys":22614,"name":642,"slug":643,"tier":31},{"id":639},{"sys":22616,"name":616,"slug":617,"tier":31},{"id":613},{"sys":22618,"name":650,"slug":651,"tier":45},{"id":647},{"sys":22620,"name":261,"slug":262,"tier":45},{"id":258},{"sys":22622,"name":360,"slug":361,"tier":45},{"id":357},{"sys":22624,"name":484,"slug":485,"tier":45},{"id":481},{"sys":22626,"name":528,"slug":529,"tier":45},{"id":525},{"sys":22628,"name":422,"slug":423,"tier":45},{"id":419},{"sys":22630,"name":333,"slug":334,"tier":45},{"id":330},{"sys":22632,"name":511,"slug":512,"tier":45},{"id":508},{"sys":22634,"name":607,"slug":608,"tier":45},{"id":604},{"sys":22636,"name":571,"slug":572,"tier":45},{"id":568},{"sys":22638,"name":633,"slug":634,"tier":45},{"id":630},"q9ktZNEnjjJ4_6n87yiRtMpJvFaran6mMq5hhAKk8U0",{"id":22641,"title":12971,"authorsCollection":22642,"content":22647,"extension":228,"faqItemsCollection":23462,"faqTitle":59,"featured":6,"hashTags":59,"meta":23464,"metaTitle":23465,"ogImage":59,"postType":23466,"publishedDate":12973,"relatedBlogPostsCollection":23467,"slug":12974,"stem":28793,"subtitle":59,"summary":28794,"synopsis":12972,"sys":28805,"tagsCollection":28807,"topicsCollection":28813,"__hash__":28855},"blog/blog/unpacking-the-vercel-breach.json",{"items":22643},[22644],{"fullName":2736,"firstName":2737,"jobTitle":2738,"socialLinks":22645,"profilePicture":22646},[11304],{"url":2740},{"json":22648,"links":23283},{"data":22649,"content":22650,"nodeType":856},{},[22651,22674,22700,22706,22711,22714,22721,22727,22732,22747,22753,22760,22776,22789,22795,22801,22804,22811,22817,22823,22878,22884,22891,22901,22907,22913,22918,22925,22931,22937,22943,22949,22954,22961,22967,23038,23043,23046,23053,23059,23072,23078,23084,23089,23105,23108,23115,23121,23126,23142,23148,23154,23159,23162,23169,23175,23181,23186,23192,23197,23202,23222,23227,23237,23243,23249],{"data":22652,"content":22653,"nodeType":860},{},[22654,22657,22664,22667,22671],{"data":22655,"marks":22656,"value":12231,"nodeType":864},{},[],{"data":22658,"content":22659,"nodeType":883},{"uri":6237},[22660],{"data":22661,"marks":22662,"value":12239,"nodeType":864},{},[22663],{"type":1455},{"data":22665,"marks":22666,"value":12243,"nodeType":864},{},[],{"data":22668,"marks":22669,"value":12248,"nodeType":864},{},[22670],{"type":899},{"data":22672,"marks":22673,"value":12252,"nodeType":864},{},[],{"data":22675,"content":22676,"nodeType":860},{},[22677,22680,22687,22690,22697],{"data":22678,"marks":22679,"value":12259,"nodeType":864},{},[],{"data":22681,"content":22682,"nodeType":883},{"uri":12262},[22683],{"data":22684,"marks":22685,"value":12268,"nodeType":864},{},[22686],{"type":1455},{"data":22688,"marks":22689,"value":12272,"nodeType":864},{},[],{"data":22691,"content":22692,"nodeType":883},{"uri":12275},[22693],{"data":22694,"marks":22695,"value":12281,"nodeType":864},{},[22696],{"type":1455},{"data":22698,"marks":22699,"value":12285,"nodeType":864},{},[],{"data":22701,"content":22702,"nodeType":860},{},[22703],{"data":22704,"marks":22705,"value":12292,"nodeType":864},{},[],{"data":22707,"content":22710,"nodeType":996},{"target":22708},{"sys":22709},{"id":12297,"type":1001,"linkType":1002},[],{"data":22712,"content":22713,"nodeType":1005},{},[],{"data":22715,"content":22716,"nodeType":1009},{},[22717],{"data":22718,"marks":22719,"value":12309,"nodeType":864},{},[22720],{"type":899},{"data":22722,"content":22723,"nodeType":860},{},[22724],{"data":22725,"marks":22726,"value":12316,"nodeType":864},{},[],{"data":22728,"content":22731,"nodeType":996},{"target":22729},{"sys":22730},{"id":12321,"type":1001,"linkType":1002},[],{"data":22733,"content":22734,"nodeType":860},{},[22735,22738,22744],{"data":22736,"marks":22737,"value":12329,"nodeType":864},{},[],{"data":22739,"content":22740,"nodeType":883},{"uri":12332},[22741],{"data":22742,"marks":22743,"value":12337,"nodeType":864},{},[],{"data":22745,"marks":22746,"value":12341,"nodeType":864},{},[],{"data":22748,"content":22749,"nodeType":860},{},[22750],{"data":22751,"marks":22752,"value":12348,"nodeType":864},{},[],{"data":22754,"content":22755,"nodeType":1312},{},[22756],{"data":22757,"marks":22758,"value":12356,"nodeType":864},{},[22759],{"type":899},{"data":22761,"content":22762,"nodeType":860},{},[22763,22766,22773],{"data":22764,"marks":22765,"value":12363,"nodeType":864},{},[],{"data":22767,"content":22768,"nodeType":883},{"uri":12366},[22769],{"data":22770,"marks":22771,"value":12372,"nodeType":864},{},[22772],{"type":1455},{"data":22774,"marks":22775,"value":12376,"nodeType":864},{},[],{"data":22777,"content":22778,"nodeType":860},{},[22779,22782,22786],{"data":22780,"marks":22781,"value":12383,"nodeType":864},{},[],{"data":22783,"marks":22784,"value":12388,"nodeType":864},{},[22785],{"type":2246},{"data":22787,"marks":22788,"value":12392,"nodeType":864},{},[],{"data":22790,"content":22791,"nodeType":860},{},[22792],{"data":22793,"marks":22794,"value":12399,"nodeType":864},{},[],{"data":22796,"content":22797,"nodeType":860},{},[22798],{"data":22799,"marks":22800,"value":12406,"nodeType":864},{},[],{"data":22802,"content":22803,"nodeType":1005},{},[],{"data":22805,"content":22806,"nodeType":1009},{},[22807],{"data":22808,"marks":22809,"value":12417,"nodeType":864},{},[22810],{"type":899},{"data":22812,"content":22813,"nodeType":860},{},[22814],{"data":22815,"marks":22816,"value":12424,"nodeType":864},{},[],{"data":22818,"content":22819,"nodeType":860},{},[22820],{"data":22821,"marks":22822,"value":12431,"nodeType":864},{},[],{"data":22824,"content":22825,"nodeType":941},{},[22826,22839,22852,22865],{"data":22827,"content":22828,"nodeType":945},{},[22829],{"data":22830,"content":22831,"nodeType":860},{},[22832,22836],{"data":22833,"marks":22834,"value":12445,"nodeType":864},{},[22835],{"type":899},{"data":22837,"marks":22838,"value":12449,"nodeType":864},{},[],{"data":22840,"content":22841,"nodeType":945},{},[22842],{"data":22843,"content":22844,"nodeType":860},{},[22845,22849],{"data":22846,"marks":22847,"value":12460,"nodeType":864},{},[22848],{"type":899},{"data":22850,"marks":22851,"value":12464,"nodeType":864},{},[],{"data":22853,"content":22854,"nodeType":945},{},[22855],{"data":22856,"content":22857,"nodeType":860},{},[22858,22862],{"data":22859,"marks":22860,"value":12475,"nodeType":864},{},[22861],{"type":899},{"data":22863,"marks":22864,"value":12479,"nodeType":864},{},[],{"data":22866,"content":22867,"nodeType":945},{},[22868],{"data":22869,"content":22870,"nodeType":860},{},[22871,22875],{"data":22872,"marks":22873,"value":12490,"nodeType":864},{},[22874],{"type":899},{"data":22876,"marks":22877,"value":12494,"nodeType":864},{},[],{"data":22879,"content":22880,"nodeType":860},{},[22881],{"data":22882,"marks":22883,"value":12501,"nodeType":864},{},[],{"data":22885,"content":22886,"nodeType":1312},{},[22887],{"data":22888,"marks":22889,"value":12509,"nodeType":864},{},[22890],{"type":899},{"data":22892,"content":22893,"nodeType":860},{},[22894,22898],{"data":22895,"marks":22896,"value":12517,"nodeType":864},{},[22897],{"type":899},{"data":22899,"marks":22900,"value":12521,"nodeType":864},{},[],{"data":22902,"content":22903,"nodeType":860},{},[22904],{"data":22905,"marks":22906,"value":12528,"nodeType":864},{},[],{"data":22908,"content":22909,"nodeType":860},{},[22910],{"data":22911,"marks":22912,"value":12535,"nodeType":864},{},[],{"data":22914,"content":22917,"nodeType":996},{"target":22915},{"sys":22916},{"id":12540,"type":1001,"linkType":1002},[],{"data":22919,"content":22920,"nodeType":1312},{},[22921],{"data":22922,"marks":22923,"value":12549,"nodeType":864},{},[22924],{"type":899},{"data":22926,"content":22927,"nodeType":860},{},[22928],{"data":22929,"marks":22930,"value":12556,"nodeType":864},{},[],{"data":22932,"content":22933,"nodeType":860},{},[22934],{"data":22935,"marks":22936,"value":12563,"nodeType":864},{},[],{"data":22938,"content":22939,"nodeType":860},{},[22940],{"data":22941,"marks":22942,"value":12570,"nodeType":864},{},[],{"data":22944,"content":22945,"nodeType":860},{},[22946],{"data":22947,"marks":22948,"value":12577,"nodeType":864},{},[],{"data":22950,"content":22953,"nodeType":996},{"target":22951},{"sys":22952},{"id":12582,"type":1001,"linkType":1002},[],{"data":22955,"content":22956,"nodeType":1312},{},[22957],{"data":22958,"marks":22959,"value":12591,"nodeType":864},{},[22960],{"type":899},{"data":22962,"content":22963,"nodeType":860},{},[22964],{"data":22965,"marks":22966,"value":12598,"nodeType":864},{},[],{"data":22968,"content":22969,"nodeType":941},{},[22970,23009],{"data":22971,"content":22972,"nodeType":945},{},[22973],{"data":22974,"content":22975,"nodeType":860},{},[22976,22979,22986,22989,22996,22999,23006],{"data":22977,"marks":22978,"value":12611,"nodeType":864},{},[],{"data":22980,"content":22981,"nodeType":883},{"uri":6237},[22982],{"data":22983,"marks":22984,"value":6242,"nodeType":864},{},[22985],{"type":1455},{"data":22987,"marks":22988,"value":12622,"nodeType":864},{},[],{"data":22990,"content":22991,"nodeType":883},{"uri":12625},[22992],{"data":22993,"marks":22994,"value":12631,"nodeType":864},{},[22995],{"type":1455},{"data":22997,"marks":22998,"value":12635,"nodeType":864},{},[],{"data":23000,"content":23001,"nodeType":883},{"uri":12638},[23002],{"data":23003,"marks":23004,"value":12644,"nodeType":864},{},[23005],{"type":1455},{"data":23007,"marks":23008,"value":12648,"nodeType":864},{},[],{"data":23010,"content":23011,"nodeType":945},{},[23012],{"data":23013,"content":23014,"nodeType":860},{},[23015,23018,23025,23028,23035],{"data":23016,"marks":23017,"value":12658,"nodeType":864},{},[],{"data":23019,"content":23020,"nodeType":883},{"uri":12098},[23021],{"data":23022,"marks":23023,"value":12101,"nodeType":864},{},[23024],{"type":1455},{"data":23026,"marks":23027,"value":12669,"nodeType":864},{},[],{"data":23029,"content":23030,"nodeType":883},{"uri":12672},[23031],{"data":23032,"marks":23033,"value":12678,"nodeType":864},{},[23034],{"type":1455},{"data":23036,"marks":23037,"value":12682,"nodeType":864},{},[],{"data":23039,"content":23042,"nodeType":996},{"target":23040},{"sys":23041},{"id":12687,"type":1001,"linkType":1002},[],{"data":23044,"content":23045,"nodeType":1005},{},[],{"data":23047,"content":23048,"nodeType":1009},{},[23049],{"data":23050,"marks":23051,"value":12699,"nodeType":864},{},[23052],{"type":899},{"data":23054,"content":23055,"nodeType":860},{},[23056],{"data":23057,"marks":23058,"value":12706,"nodeType":864},{},[],{"data":23060,"content":23061,"nodeType":860},{},[23062,23065,23069],{"data":23063,"marks":23064,"value":12713,"nodeType":864},{},[],{"data":23066,"marks":23067,"value":12718,"nodeType":864},{},[23068],{"type":899},{"data":23070,"marks":23071,"value":12722,"nodeType":864},{},[],{"data":23073,"content":23074,"nodeType":860},{},[23075],{"data":23076,"marks":23077,"value":12729,"nodeType":864},{},[],{"data":23079,"content":23080,"nodeType":860},{},[23081],{"data":23082,"marks":23083,"value":12736,"nodeType":864},{},[],{"data":23085,"content":23088,"nodeType":996},{"target":23086},{"sys":23087},{"id":12741,"type":1001,"linkType":1002},[],{"data":23090,"content":23091,"nodeType":860},{},[23092,23095,23102],{"data":23093,"marks":23094,"value":12749,"nodeType":864},{},[],{"data":23096,"content":23097,"nodeType":883},{"uri":6024},[23098],{"data":23099,"marks":23100,"value":12757,"nodeType":864},{},[23101],{"type":1455},{"data":23103,"marks":23104,"value":12761,"nodeType":864},{},[],{"data":23106,"content":23107,"nodeType":1005},{},[],{"data":23109,"content":23110,"nodeType":1009},{},[23111],{"data":23112,"marks":23113,"value":2578,"nodeType":864},{},[23114],{"type":899},{"data":23116,"content":23117,"nodeType":860},{},[23118],{"data":23119,"marks":23120,"value":12778,"nodeType":864},{},[],{"data":23122,"content":23125,"nodeType":996},{"target":23123},{"sys":23124},{"id":12783,"type":1001,"linkType":1002},[],{"data":23127,"content":23128,"nodeType":860},{},[23129,23132,23139],{"data":23130,"marks":23131,"value":12791,"nodeType":864},{},[],{"data":23133,"content":23134,"nodeType":883},{"uri":12794},[23135],{"data":23136,"marks":23137,"value":12800,"nodeType":864},{},[23138],{"type":1455},{"data":23140,"marks":23141,"value":12252,"nodeType":864},{},[],{"data":23143,"content":23144,"nodeType":860},{},[23145],{"data":23146,"marks":23147,"value":12810,"nodeType":864},{},[],{"data":23149,"content":23150,"nodeType":860},{},[23151],{"data":23152,"marks":23153,"value":12817,"nodeType":864},{},[],{"data":23155,"content":23158,"nodeType":996},{"target":23156},{"sys":23157},{"id":12822,"type":1001,"linkType":1002},[],{"data":23160,"content":23161,"nodeType":1005},{},[],{"data":23163,"content":23164,"nodeType":1009},{},[23165],{"data":23166,"marks":23167,"value":8991,"nodeType":864},{},[23168],{"type":899},{"data":23170,"content":23171,"nodeType":860},{},[23172],{"data":23173,"marks":23174,"value":12840,"nodeType":864},{},[],{"data":23176,"content":23177,"nodeType":860},{},[23178],{"data":23179,"marks":23180,"value":12847,"nodeType":864},{},[],{"data":23182,"content":23185,"nodeType":996},{"target":23183},{"sys":23184},{"id":12852,"type":1001,"linkType":1002},[],{"data":23187,"content":23188,"nodeType":860},{},[23189],{"data":23190,"marks":23191,"value":12860,"nodeType":864},{},[],{"data":23193,"content":23196,"nodeType":996},{"target":23194},{"sys":23195},{"id":12865,"type":1001,"linkType":1002},[],{"data":23198,"content":23201,"nodeType":996},{"target":23199},{"sys":23200},{"id":12871,"type":1001,"linkType":1002},[],{"data":23203,"content":23204,"nodeType":860},{},[23205,23208,23212,23215,23219],{"data":23206,"marks":23207,"value":12879,"nodeType":864},{},[],{"data":23209,"marks":23210,"value":12884,"nodeType":864},{},[23211],{"type":899},{"data":23213,"marks":23214,"value":12888,"nodeType":864},{},[],{"data":23216,"marks":23217,"value":12893,"nodeType":864},{},[23218],{"type":899},{"data":23220,"marks":23221,"value":12897,"nodeType":864},{},[],{"data":23223,"content":23226,"nodeType":996},{"target":23224},{"sys":23225},{"id":12902,"type":1001,"linkType":1002},[],{"data":23228,"content":23229,"nodeType":1312},{},[23230,23233],{"data":23231,"marks":23232,"value":12910,"nodeType":864},{},[],{"data":23234,"marks":23235,"value":12915,"nodeType":864},{},[23236],{"type":899},{"data":23238,"content":23239,"nodeType":860},{},[23240],{"data":23241,"marks":23242,"value":12922,"nodeType":864},{},[],{"data":23244,"content":23245,"nodeType":860},{},[23246],{"data":23247,"marks":23248,"value":12929,"nodeType":864},{},[],{"data":23250,"content":23251,"nodeType":860},{},[23252,23255,23261,23264,23271,23274,23280],{"data":23253,"marks":23254,"value":12936,"nodeType":864},{},[],{"data":23256,"content":23257,"nodeType":883},{"uri":12939},[23258],{"data":23259,"marks":23260,"value":12944,"nodeType":864},{},[],{"data":23262,"marks":23263,"value":3731,"nodeType":864},{},[],{"data":23265,"content":23266,"nodeType":883},{"uri":12950},[23267],{"data":23268,"marks":23269,"value":12956,"nodeType":864},{},[23270],{"type":1455},{"data":23272,"marks":23273,"value":12960,"nodeType":864},{},[],{"data":23275,"content":23276,"nodeType":883},{"uri":1700},[23277],{"data":23278,"marks":23279,"value":12967,"nodeType":864},{},[],{"data":23281,"marks":23282,"value":2924,"nodeType":864},{},[],{"entries":23284},{"hyperlink":23285,"inline":23286,"block":23287},[],[],[23288,23296,23310,23318,23325,23351,23389,23408,23435,23441,23447,23454],{"sys":23289,"__typename":1724,"title":23290,"caption":23291,"layoutMode":59,"file":23292},{"id":12297},"Vercel breach summary","Overview of the breach and Vercel's response. ",{"url":23293,"width":23294,"height":23295},"https://images.ctfassets.net/y1cdw1ablpvd/63DxqlpuTD1qIjsSh2gXI2/f1da745b30082c52362c4eb875737548/Screenshot_2026-04-28_at_09.07.41.png",2912,912,{"sys":23297,"__typename":1740,"content":23298,"name":23309,"title":59},{"id":12321},{"json":23299},{"data":23300,"content":23301,"nodeType":856},{},[23302],{"data":23303,"content":23304,"nodeType":860},{},[23305],{"data":23306,"marks":23307,"value":23308,"nodeType":864},{},[],"An all-too-common tale in the modern enterprise is the SaaS app that was trialled by a single employee, lightly used, integrated with core app tenants, and forgotten about — adding an invisible node to the organization’s attack surface.","Vercel IB 4",{"sys":23311,"__typename":1724,"title":23312,"caption":23313,"layoutMode":59,"file":23314},{"id":12540},"Illustrative example of SaaS OAuth sprawl. AI apps are highlighted orange.","Illustrative example of SaaS OAuth sprawl, from primary enterprise cloud, to core apps, to wider SaaS. AI apps are highlighted orange.",{"url":23315,"width":23316,"height":23317},"https://images.ctfassets.net/y1cdw1ablpvd/6u0rnGPxUjcFSxdbsIcNz0/b093fbd09053a6a764b03af9ba56e5df/Screenshot_2026-04-23_at_20.41.29.png",2516,2086,{"sys":23319,"__typename":1724,"title":23320,"caption":23320,"layoutMode":59,"file":23321},{"id":12582},"A normal employee in a poorly governed org can expose as much or more data than a developer in a well-governed one.",{"url":23322,"width":23323,"height":23324},"https://images.ctfassets.net/y1cdw1ablpvd/R2st9zXI0vB5Mu9Co2pA1/dc1843bc5be5da60252c9c7ea7caf677/oauth-blast-radius-push_1__4_.png",2880,2040,{"sys":23326,"__typename":1740,"content":23327,"name":23350,"title":59},{"id":12687},{"json":23328},{"nodeType":856,"data":23329,"content":23330},{},[23331],{"nodeType":860,"data":23332,"content":23333},{},[23334,23338,23346],{"nodeType":864,"value":23335,"marks":23336,"data":23337},"Not only are attackers abusing existing (legitimate) OAuth connections as part of supply chain attacks, but they’re using OAuth-focused phishing as the front door to victim environments. Last year’s Salesforce campaign began with ",[],{},{"nodeType":883,"data":23339,"content":23340},{"uri":3259},[23341],{"nodeType":864,"value":23342,"marks":23343,"data":23345},"device code phishing",[23344],{"type":1455},{},{"nodeType":864,"value":23347,"marks":23348,"data":23349},", where attackers tricked victims into registering an attacker-controlled app into their Salesforce tenant, granting full API access for mass data exfiltration.",[],{},"Vercel IB 1",{"sys":23352,"__typename":1740,"content":23353,"name":23388,"title":59},{"id":12741},{"json":23354},{"nodeType":856,"data":23355,"content":23356},{},[23357,23376],{"nodeType":860,"data":23358,"content":23359},{},[23360,23364,23372],{"nodeType":864,"value":23361,"marks":23362,"data":23363},"If you’re wondering how a personal device could result in corporate credential leakage, browser syncing (",[],{},{"nodeType":883,"data":23365,"content":23366},{"uri":12275},[23367],{"nodeType":864,"value":23368,"marks":23369,"data":23371},"where users sign into their personal account in a corporate browser",[23370],{"type":1455},{},{"nodeType":864,"value":23373,"marks":23374,"data":23375},") can lead to this exact scenario. And given Vercel’s potentially lacking controls around OAuth integrations in their Workspace, it’s also possible that browser syncing had not been identified as a security risk and disabled. ",[],{},{"nodeType":860,"data":23377,"content":23378},{},[23379,23383],{"nodeType":864,"value":23380,"marks":23381,"data":23382},"The 2025 Verizon DBIR reported that 54% of all ransomware attacks traced back to infostealer-enabled credential theft. ",[],{},{"nodeType":864,"value":23384,"marks":23385,"data":23387},"46% of systems with compromised corporate credentials were non-managed devices. ",[23386],{"type":899},{},"Vercel IB 2",{"sys":23390,"__typename":1740,"content":23391,"name":23407,"title":59},{"id":12783},{"json":23392},{"nodeType":856,"data":23393,"content":23394},{},[23395],{"nodeType":860,"data":23396,"content":23397},{},[23398,23403],{"nodeType":864,"value":23399,"marks":23400,"data":23402},"OAuth App:",[23401],{"type":899},{},{"nodeType":864,"value":23404,"marks":23405,"data":23406}," 110671459871-30f1spbu0hptbs60cb4vsmv79i7bbvqj.apps.googleusercontent.com",[],{},"Vercel IB 5",{"sys":23409,"__typename":1740,"content":23410,"name":23434,"title":59},{"id":12822},{"json":23411},{"nodeType":856,"data":23412,"content":23413},{},[23414],{"nodeType":860,"data":23415,"content":23416},{},[23417,23421,23430],{"nodeType":864,"value":23418,"marks":23419,"data":23420},"Since the breach was initially reported, ",[],{},{"nodeType":883,"data":23422,"content":23424},{"uri":23423},"https://thehackernews.com/2026/04/vercel-breach-tied-to-context-ai-hack.html",[23425],{"nodeType":864,"value":23426,"marks":23427,"data":23429},"it has also emerged that",[23428],{"type":1455},{},{"nodeType":864,"value":23431,"marks":23432,"data":23433}," Context.ai’s browser extension has also been pulled from the Chrome store. It’s unclear whether attackers were able to publish a malicious extension update too, whether the extension was removed at Context.ai’s request (because the app has been deprecated), or Google pulled it down as a precaution in light of the incident. ",[],{},"Vercel IB 3",{"sys":23436,"__typename":1724,"title":23437,"caption":23437,"layoutMode":59,"file":23438},{"id":12852},"Inspect apps and identities to uncover and remediate vulnerabilities.",{"url":23439,"width":1736,"height":23440},"https://images.ctfassets.net/y1cdw1ablpvd/4rfQX7ICFP2tiio0Ra9r0f/ef6cdc27bc3dde03127105189523e405/image5.png",1074,{"sys":23442,"__typename":1724,"title":23443,"caption":23443,"layoutMode":59,"file":23444},{"id":12865},"Analyse OAuth integrations, including permissions, user count, and other useful metadata. ",{"url":23445,"width":1736,"height":23446},"https://images.ctfassets.net/y1cdw1ablpvd/6srKhXfs62Ql2vIUc0QszJ/58ae9672ed3e79bfef1fb65a6cd7450a/image3.png",1091,{"sys":23448,"__typename":1724,"title":23449,"caption":23449,"layoutMode":59,"file":23450},{"id":12871},"Easily delete unwanted integrations. ",{"url":23451,"width":23452,"height":23453},"https://images.ctfassets.net/y1cdw1ablpvd/8BTe7GRIl7aLnwcmkRQkb/eb26d8d0ecb0165d4ab3c4d4a3ac6111/image1.png",567,213,{"sys":23455,"__typename":1724,"title":23456,"caption":23457,"layoutMode":59,"file":23458},{"id":12902},"Block OAuth connection attempts as they transit the browser using Push.","Block OAuth connection attempts as they transit the browser using Push. Example shows blocking Claude connectors. ",{"url":23459,"width":23460,"height":23461},"https://images.ctfassets.net/y1cdw1ablpvd/4TIl7F28Qd1Mk5M4vrFUF7/1b983ddc567ea7130cc76c3397d8fb69/OAuth_blocking.gif",1280,720,{"items":23463},[],{},"Unpacking the Vercel breach: Shadow AI and OAuth sprawl","breach-analysis",{"items":23468},[23469,26471,27430],{"__typename":2059,"sys":23470,"content":23472,"title":26458,"synopsis":26459,"hashTags":59,"publishedDate":26460,"slug":361,"tagsCollection":26461,"authorsCollection":26467},{"id":23471},"5DmCqTU2Tg4adYScA5vT2x",{"json":23473},{"data":23474,"content":23475,"nodeType":856},{},[23476,23482,23502,23520,23527,23533,23540,23547,23550,23558,23564,23648,23668,23674,23681,23795,23801,23804,23812,23819,23825,23828,23836,23877,23883,23890,23897,23904,23911,23930,23936,23942,23948,23954,23960,23966,23972,23978,24241,24244,24252,24387,24393,24396,24404,24444,24578,24584,24587,24595,24742,24748,24751,24759,24765,24905,24911,24917,24920,24928,25075,25081,25084,25092,25238,25244,25247,25255,25350,25356,25359,25367,25461,25467,25470,25478,25484,25617,25623,25626,25634,25683,25689,25692,25700,25839,25844,25847,25855,25987,25993,25996,26004,26016,26023,26029,26035,26042,26063,26079,26085,26088,26096,26104,26125,26146,26151,26158,26165,26173,26180,26187,26194,26202,26209,26259,26265,26268,26276,26283,26290,26337,26343,26350,26353,26361,26368,26375,26395,26401,26408,26415,26422],{"data":23477,"content":23481,"nodeType":996},{"target":23478},{"sys":23479},{"id":23480,"type":1001,"linkType":1002},"XOFOeNqmRHeiRbkPOJrP1",[],{"data":23483,"content":23484,"nodeType":860},{},[23485,23489,23498],{"data":23486,"marks":23487,"value":23488,"nodeType":864},{},[],"The OAuth 2.0 ",{"data":23490,"content":23492,"nodeType":883},{"uri":23491},"https://www.rfc-editor.org/rfc/rfc8628",[23493],{"data":23494,"marks":23495,"value":23497,"nodeType":864},{},[23496],{"type":1455},"device authorization grant",{"data":23499,"marks":23500,"value":23501,"nodeType":864},{},[]," was designed to enable input-constrained devices to sign-in to apps by asking the user to complete the login on a separate device by entering a code. But today, it’s mainly used when accessing CLI tools, meaning that many users encounter the device code flow daily. ",{"data":23503,"content":23504,"nodeType":860},{},[23505,23508,23516],{"data":23506,"marks":23507,"value":21,"nodeType":864},{},[],{"data":23509,"content":23511,"nodeType":883},{"uri":23510},"https://github.com/pushsecurity/saas-attacks/blob/main/techniques/device_code_phishing/description.md",[23512],{"data":23513,"marks":23514,"value":360,"nodeType":864},{},[23515],{"type":1455},{"data":23517,"marks":23518,"value":23519,"nodeType":864},{},[]," attacks designed to exploit this authorization flow are not new — it was among the first techniques that we added to the SaaS attacks matrix back in 2023. But it’s taken until now for it to really enter mainstream adoption. ",{"data":23521,"content":23522,"nodeType":860},{},[23523],{"data":23524,"marks":23525,"value":23526,"nodeType":864},{},[],"The technique tricks a user into issuing access tokens for an attacker-controlled application (not a device, confusingly). Any app that supports device code logins can be a target. Popular examples include Microsoft, Google, Salesforce, GitHub, and AWS. That said, Microsoft is, as always, much more heavily targeted at scale now than any other app.",{"data":23528,"content":23532,"nodeType":996},{"target":23529},{"sys":23530},{"id":23531,"type":1001,"linkType":1002},"Al0pGH8vmOYiufDFiAbt0",[],{"data":23534,"content":23535,"nodeType":860},{},[23536],{"data":23537,"marks":23538,"value":23539,"nodeType":864},{},[],"We’ve always been surprised that attackers haven’t commonly used device code phishing in their standard toolkit, preferring session-stealing AITM phishing and other social engineering attacks like ClickFix. But it’s pretty clear from the recent data that the shift to mainstream adoption has now happened. ",{"data":23541,"content":23542,"nodeType":860},{},[23543],{"data":23544,"marks":23545,"value":23546,"nodeType":864},{},[],"In this blog post, we’ll explore the history of device code phishing, what’s changed for it to enter mainstream adoption, how it works under the hood (with recent examples), and what security teams can do about it. ",{"data":23548,"content":23549,"nodeType":1005},{},[],{"data":23551,"content":23552,"nodeType":1009},{},[23553],{"data":23554,"marks":23555,"value":23557,"nodeType":864},{},[23556],{"type":899},"A brief history of device code phishing",{"data":23559,"content":23563,"nodeType":996},{"target":23560},{"sys":23561},{"id":23562,"type":1001,"linkType":1002},"6u3DgvSGChtTJu7l9I7PG1",[],{"data":23565,"content":23566,"nodeType":860},{},[23567,23571,23580,23584,23593,23597,23606,23610,23619,23623,23632,23635,23644],{"data":23568,"marks":23569,"value":23570,"nodeType":864},{},[],"The technique was first documented in 2020, before Secureworks released the first tooling framework ",{"data":23572,"content":23574,"nodeType":883},{"uri":23573},"https://github.com/secureworks/PhishInSuits",[23575],{"data":23576,"marks":23577,"value":23579,"nodeType":864},{},[23578],{"type":1455},"PhishInSuits",{"data":23581,"marks":23582,"value":23583,"nodeType":864},{},[]," a year later. A host of research followed, including ",{"data":23585,"content":23587,"nodeType":883},{"uri":23586},"https://github.com/secureworks/squarephish",[23588],{"data":23589,"marks":23590,"value":23592,"nodeType":864},{},[23591],{"type":1455},"SquarePhish",{"data":23594,"marks":23595,"value":23596,"nodeType":864},{},[]," v1 (using QR codes to trigger the 15 minute code expiration window), Dirk-Jan Mollema’s ",{"data":23598,"content":23600,"nodeType":883},{"uri":23599},"https://dirkjanm.io/phishing-for-microsoft-entra-primary-refresh-tokens/",[23601],{"data":23602,"marks":23603,"value":23605,"nodeType":864},{},[23604],{"type":1455},"key research",{"data":23607,"marks":23608,"value":23609,"nodeType":864},{},[]," (chaining device code phishing via Microsoft apps into Primary Refresh Token (PRT) acquisition to gain full browser-level access) and Dennis Kniep’s ",{"data":23611,"content":23613,"nodeType":883},{"uri":23612},"https://github.com/denniskniep/DeviceCodePhishing",[23614],{"data":23615,"marks":23616,"value":23618,"nodeType":864},{},[23617],{"type":1455},"DeviceCodePhishing tool",{"data":23620,"marks":23621,"value":23622,"nodeType":864},{},[]," which automates the entire flow with a headless browser. (Other recent noteworthy tools include ",{"data":23624,"content":23626,"nodeType":883},{"uri":23625},"https://github.com/nromsdahl/squarephish2",[23627],{"data":23628,"marks":23629,"value":23631,"nodeType":864},{},[23630],{"type":1455},"SquarePhish2",{"data":23633,"marks":23634,"value":902,"nodeType":864},{},[],{"data":23636,"content":23638,"nodeType":883},{"uri":23637},"https://github.com/praetorian-inc/GitPhish",[23639],{"data":23640,"marks":23641,"value":23643,"nodeType":864},{},[23642],{"type":1455},"GitPhish",{"data":23645,"marks":23646,"value":23647,"nodeType":864},{},[],", so shout out to those too). ",{"data":23649,"content":23650,"nodeType":860},{},[23651,23655,23664],{"data":23652,"marks":23653,"value":23654,"nodeType":864},{},[],"It wasn’t until August 2024 that in-the-wild exploitation was first identified, with Russia-linked campaigns then continuing into 2025 before entering mainstream criminal adoption. This trend has continued to gather momentum in 2026 with ",{"data":23656,"content":23658,"nodeType":883},{"uri":23657},"https://thehackernews.com/2026/03/device-code-phishing-hits-340-microsoft.html",[23659],{"data":23660,"marks":23661,"value":23663,"nodeType":864},{},[23662],{"type":1455},"EvilTokens",{"data":23665,"marks":23666,"value":23667,"nodeType":864},{},[],", the first reported criminal PhaaS kit for device code phishing, already powering massive campaigns after launching in February. ",{"data":23669,"content":23673,"nodeType":996},{"target":23670},{"sys":23671},{"id":23672,"type":1001,"linkType":1002},"6xsfmbYEzpW7CdDiNzO6cu",[],{"data":23675,"content":23676,"nodeType":860},{},[23677],{"data":23678,"marks":23679,"value":23680,"nodeType":864},{},[],"Some of the noteworthy in-the-wild campaigns include:",{"data":23682,"content":23683,"nodeType":941},{},[23684,23716,23736],{"data":23685,"content":23686,"nodeType":945},{},[23687],{"data":23688,"content":23689,"nodeType":860},{},[23690,23694,23701,23704,23712],{"data":23691,"marks":23692,"value":23693,"nodeType":864},{},[],"Storm-2372, tracked by ",{"data":23695,"content":23696,"nodeType":883},{"uri":19119},[23697],{"data":23698,"marks":23699,"value":23700,"nodeType":864},{},[],"Microsoft",{"data":23702,"marks":23703,"value":902,"nodeType":864},{},[],{"data":23705,"content":23707,"nodeType":883},{"uri":23706},"https://www.volexity.com/blog/2025/02/13/multiple-russian-threat-actors-targeting-microsoft-device-code-authentication/",[23708],{"data":23709,"marks":23710,"value":23711,"nodeType":864},{},[],"Volexity",{"data":23713,"marks":23714,"value":23715,"nodeType":864},{},[],", linked to multiple Russia-aligned clusters, combining spear-phishing and social engineering with device code phishing payloads against strategic intelligence targets.",{"data":23717,"content":23718,"nodeType":945},{},[23719],{"data":23720,"content":23721,"nodeType":860},{},[23722,23726,23732],{"data":23723,"marks":23724,"value":23725,"nodeType":864},{},[],"The massive Salesforce campaign operated by ",{"data":23727,"content":23728,"nodeType":883},{"uri":6237},[23729],{"data":23730,"marks":23731,"value":6242,"nodeType":864},{},[],{"data":23733,"marks":23734,"value":23735,"nodeType":864},{},[]," (SLH) combined vishing with a device code phishing payload targeting Salesforce. The attacks morphed into a broader supply chain campaign using stolen credentials, ultimately resulting in 1000+ organizations being compromised and over 1.5 billion stolen records claimed. ",{"data":23737,"content":23738,"nodeType":945},{},[23739],{"data":23740,"content":23741,"nodeType":860},{},[23742,23746,23754,23758,23767,23770,23779,23783,23791],{"data":23743,"marks":23744,"value":23745,"nodeType":864},{},[],"A massive spike in activity in late 2025 and 2026. This includes ",{"data":23747,"content":23749,"nodeType":883},{"uri":23748},"https://www.proofpoint.com/us/blog/threat-insight/access-granted-phishing-device-code-authorization-account-takeover",[23750],{"data":23751,"marks":23752,"value":23753,"nodeType":864},{},[],"multiple threat clusters",{"data":23755,"marks":23756,"value":23757,"nodeType":864},{},[]," tracked using device code phishing techniques, more ",{"data":23759,"content":23761,"nodeType":883},{"uri":23760},"https://www.bleepingcomputer.com/news/security/hackers-target-microsoft-entra-accounts-in-device-code-vishing-attacks/",[23762],{"data":23763,"marks":23764,"value":23766,"nodeType":864},{},[23765],{"type":1455},"criminal operations linked to SLH",{"data":23768,"marks":23769,"value":2232,"nodeType":864},{},[],{"data":23771,"content":23773,"nodeType":883},{"uri":23772},"https://newtonpaul.com/blog/device-code-phish-update/",[23774],{"data":23775,"marks":23776,"value":23778,"nodeType":864},{},[23777],{"type":1455},"hundreds of organizations being targeted via PhaaS architecture,",{"data":23780,"marks":23781,"value":23782,"nodeType":864},{},[]," which looks to be the same campaign as the recently uncovered EvilTokens PhaaS reported by ",{"data":23784,"content":23785,"nodeType":883},{"uri":7591},[23786],{"data":23787,"marks":23788,"value":23790,"nodeType":864},{},[23789],{"type":1455},"Huntress",{"data":23792,"marks":23793,"value":23794,"nodeType":864},{},[]," (featuring abuse of the Railway PaaS platform). ",{"data":23796,"content":23800,"nodeType":996},{"target":23797},{"sys":23798},{"id":23799,"type":1001,"linkType":1002},"3WLt6qLCK8CSwr0QZxZiMv",[],{"data":23802,"content":23803,"nodeType":1005},{},[],{"data":23805,"content":23806,"nodeType":1009},{},[23807],{"data":23808,"marks":23809,"value":23811,"nodeType":864},{},[23810],{"type":899},"What we’re seeing in the wild",{"data":23813,"content":23814,"nodeType":860},{},[23815],{"data":23816,"marks":23817,"value":23818,"nodeType":864},{},[],"As mentioned, we’ve also seen a huge spike in device code phishing activity this year, with multiple kits, page designs, and lure types. We’ve now identified 14+ distinct kits in circulation in the wild, with EvilTokens being the most prevalent. It’s clear that attackers are both spinning up their own kits and creative derivatives of others — we’ve seen kits that are visually similar to EvilTokens (close enough to be clones or forks) but with very different backends, for example AWS, Digital Ocean, 2cloud, and more. ",{"data":23820,"content":23824,"nodeType":996},{"target":23821},{"sys":23822},{"id":23823,"type":1001,"linkType":1002},"nJCbTw85GKXdqrlIkzZwi",[],{"data":23826,"content":23827,"nodeType":1005},{},[],{"data":23829,"content":23830,"nodeType":1312},{},[23831],{"data":23832,"marks":23833,"value":23835,"nodeType":864},{},[23834],{"type":899},"“ANTIBOT” (EvilTokens)",{"data":23837,"content":23838,"nodeType":860},{},[23839,23842,23849,23852,23861,23865,23873],{"data":23840,"marks":23841,"value":21,"nodeType":864},{},[],{"data":23843,"content":23844,"nodeType":883},{"uri":7591},[23845],{"data":23846,"marks":23847,"value":23790,"nodeType":864},{},[23848],{"type":1455},{"data":23850,"marks":23851,"value":3731,"nodeType":864},{},[],{"data":23853,"content":23855,"nodeType":883},{"uri":23854},"https://blog.sekoia.io/new-widespread-eviltokens-kit-device-code-phishing-as-a-service-part-1/",[23856],{"data":23857,"marks":23858,"value":23860,"nodeType":864},{},[23859],{"type":1455},"Sekoia",{"data":23862,"marks":23863,"value":23864,"nodeType":864},{},[],", and researcher ",{"data":23866,"content":23867,"nodeType":883},{"uri":23772},[23868],{"data":23869,"marks":23870,"value":23872,"nodeType":864},{},[23871],{"type":1455},"Paul Newton",{"data":23874,"marks":23875,"value":23876,"nodeType":864},{},[]," have already done a great job of providing IOCs for the recent EvilTokens activity spike, including multiple backend Railway IPs in authentication events. ",{"data":23878,"content":23882,"nodeType":996},{"target":23879},{"sys":23880},{"id":23881,"type":1001,"linkType":1002},"1XNviq5OvMf5TEAc59F6g5",[],{"data":23884,"content":23885,"nodeType":860},{},[23886],{"data":23887,"marks":23888,"value":23889,"nodeType":864},{},[],"Beyond the most widely observed implementation featuring a Cloudflare Workers frontend and Railway backend for authentication, we’ve also tracked additional versions of EvilTokens in circulation since January 2026 (many of which remain live along with the current “production” version of the kit). ",{"data":23891,"content":23892,"nodeType":860},{},[23893],{"data":23894,"marks":23895,"value":23896,"nodeType":864},{},[],"You can see an evolution of the kit in the videos and screenshots below, from early precursors seen in mid-January, the first mentions of ANTIBOT in the page code in late-January, the parallel development of a “Courts Access” fork that lacks the ANTIBOT references, and finally production EvilTokens in February. One of the key threads between the versions is the presence of a generateFallbackCode() JS function and use of a /generate-codes API call. ",{"data":23898,"content":23899,"nodeType":860},{},[23900],{"data":23901,"marks":23902,"value":23903,"nodeType":864},{},[],"Early implementations were quite different, for example using ScrapingBee to generate the displayed code, and varied hosting on vercel, fastly, edgeone, and others. ",{"data":23905,"content":23906,"nodeType":860},{},[23907],{"data":23908,"marks":23909,"value":23910,"nodeType":864},{},[],"After initially appearing on custom domains, the production version is now predominantly hosted on Cloudflare Workers, as per the broader tracking of the campaign. The descriptive HTML comments around ANTIBOT functions have also been removed in later versions. ",{"data":23912,"content":23913,"nodeType":860},{},[23914,23918,23926],{"data":23915,"marks":23916,"value":23917,"nodeType":864},{},[],"The production version of EvilTokens showcases common ",{"data":23919,"content":23920,"nodeType":883},{"uri":7124},[23921],{"data":23922,"marks":23923,"value":23925,"nodeType":864},{},[23924],{"type":1455},"detection evasion techniques",{"data":23927,"marks":23928,"value":23929,"nodeType":864},{},[]," we've come to associate with PhaaS kits in the AiTM space — using multiple redirects through trusted sites before serving the malicious page, using bot protection to block security tools from analyzing the page, and so on. It also uses a pop-up window for the device code entry rather than a redirect, reducing the friction for the victim (it looks pretty convincing, too).",{"data":23931,"content":23935,"nodeType":996},{"target":23932},{"sys":23933},{"id":23934,"type":1001,"linkType":1002},"73rNOIEDPfP5IJwpFaxVc2",[],{"data":23937,"content":23941,"nodeType":996},{"target":23938},{"sys":23939},{"id":23940,"type":1001,"linkType":1002},"5BJSvOQUW9UpsQtoDNtgTC",[],{"data":23943,"content":23947,"nodeType":996},{"target":23944},{"sys":23945},{"id":23946,"type":1001,"linkType":1002},"3dbePPxVb4h4SauGg3glIL",[],{"data":23949,"content":23953,"nodeType":996},{"target":23950},{"sys":23951},{"id":23952,"type":1001,"linkType":1002},"1UOLcmNQvOsL5tdLSVuviq",[],{"data":23955,"content":23959,"nodeType":996},{"target":23956},{"sys":23957},{"id":23958,"type":1001,"linkType":1002},"55XRqLSwUUi2D4ZVpJboml",[],{"data":23961,"content":23965,"nodeType":996},{"target":23962},{"sys":23963},{"id":23964,"type":1001,"linkType":1002},"5wg5yr2Lo8t3f72ZV815c",[],{"data":23967,"content":23971,"nodeType":996},{"target":23968},{"sys":23969},{"id":23970,"type":1001,"linkType":1002},"35cowlL6i3rkGXOGmSxlI1",[],{"data":23973,"content":23974,"nodeType":860},{},[23975],{"data":23976,"marks":23977,"value":21,"nodeType":864},{},[],{"data":23979,"content":23980,"nodeType":4845},{},[23981,24005,24088,24140,24164],{"data":23982,"content":23983,"nodeType":4581},{},[23984,23995],{"data":23985,"content":23986,"nodeType":4569},{},[23987],{"data":23988,"content":23989,"nodeType":860},{},[23990],{"data":23991,"marks":23992,"value":23994,"nodeType":864},{},[23993],{"type":899},"Frontend infrastructure",{"data":23996,"content":23997,"nodeType":4569},{},[23998],{"data":23999,"content":24000,"nodeType":860},{},[24001],{"data":24002,"marks":24003,"value":24004,"nodeType":864},{},[],"Workers.dev, vercel.app, github.io, fastly.net, edgeone.dev",{"data":24006,"content":24007,"nodeType":4581},{},[24008,24019],{"data":24009,"content":24010,"nodeType":4569},{},[24011],{"data":24012,"content":24013,"nodeType":860},{},[24014],{"data":24015,"marks":24016,"value":24018,"nodeType":864},{},[24017],{"type":899},"Backend infrastructure",{"data":24020,"content":24021,"nodeType":4569},{},[24022,24052],{"data":24023,"content":24024,"nodeType":860},{},[24025,24030,24034,24039,24043,24048],{"data":24026,"marks":24027,"value":24029,"nodeType":864},{},[24028],{"type":899},"Example IP: (V3) ",{"data":24031,"marks":24032,"value":24033,"nodeType":864},{},[],"162.220.232.71 (Railway AS400940) ",{"data":24035,"marks":24036,"value":24038,"nodeType":864},{},[24037],{"type":899},"(V2)",{"data":24040,"marks":24041,"value":24042,"nodeType":864},{},[]," 71.11.42.193 ",{"data":24044,"marks":24045,"value":24047,"nodeType":864},{},[24046],{"type":899},"(V1) ",{"data":24049,"marks":24050,"value":24051,"nodeType":864},{},[],"72.218.25.107",{"data":24053,"content":24054,"nodeType":860},{},[24055,24060,24063,24068,24072,24076,24080,24084],{"data":24056,"marks":24057,"value":24059,"nodeType":864},{},[24058],{"type":899},"Backend User Agent:",{"data":24061,"marks":24062,"value":1171,"nodeType":864},{},[],{"data":24064,"marks":24065,"value":24067,"nodeType":864},{},[24066],{"type":899},"(V3) ",{"data":24069,"marks":24070,"value":24071,"nodeType":864},{},[],"node, ",{"data":24073,"marks":24074,"value":24038,"nodeType":864},{},[24075],{"type":899},{"data":24077,"marks":24078,"value":24079,"nodeType":864},{},[],", Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683 Safari/537.36 OPR/57.0.3098.91 ",{"data":24081,"marks":24082,"value":24047,"nodeType":864},{},[24083],{"type":899},{"data":24085,"marks":24086,"value":24087,"nodeType":864},{},[],"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36 OPR/56.0.3051.52 ",{"data":24089,"content":24090,"nodeType":4581},{},[24091,24102],{"data":24092,"content":24093,"nodeType":4569},{},[24094],{"data":24095,"content":24096,"nodeType":860},{},[24097],{"data":24098,"marks":24099,"value":24101,"nodeType":864},{},[24100],{"type":899},"Network paths",{"data":24103,"content":24104,"nodeType":4569},{},[24105,24112,24119,24126,24133],{"data":24106,"content":24107,"nodeType":860},{},[24108],{"data":24109,"marks":24110,"value":24111,"nodeType":864},{},[],"/api/rate-limit ",{"data":24113,"content":24114,"nodeType":860},{},[24115],{"data":24116,"marks":24117,"value":24118,"nodeType":864},{},[],"/api/fingerprint ",{"data":24120,"content":24121,"nodeType":860},{},[24122],{"data":24123,"marks":24124,"value":24125,"nodeType":864},{},[],"/api/captcha-verify ",{"data":24127,"content":24128,"nodeType":860},{},[24129],{"data":24130,"marks":24131,"value":24132,"nodeType":864},{},[],"/api/init /api/generate-code ",{"data":24134,"content":24135,"nodeType":860},{},[24136],{"data":24137,"marks":24138,"value":24139,"nodeType":864},{},[],"/api/check-auth",{"data":24141,"content":24142,"nodeType":4581},{},[24143,24154],{"data":24144,"content":24145,"nodeType":4569},{},[24146],{"data":24147,"content":24148,"nodeType":860},{},[24149],{"data":24150,"marks":24151,"value":24153,"nodeType":864},{},[24152],{"type":899},"Lure themes",{"data":24155,"content":24156,"nodeType":4569},{},[24157],{"data":24158,"content":24159,"nodeType":860},{},[24160],{"data":24161,"marks":24162,"value":24163,"nodeType":864},{},[],"Various MS lures (e.g. Outlook, SharePoint, Teams) DocuSign, Adobe",{"data":24165,"content":24166,"nodeType":4581},{},[24167,24178],{"data":24168,"content":24169,"nodeType":4569},{},[24170],{"data":24171,"content":24172,"nodeType":860},{},[24173],{"data":24174,"marks":24175,"value":24177,"nodeType":864},{},[24176],{"type":899},"Example Domain",{"data":24179,"content":24180,"nodeType":4569},{},[24181,24193,24205,24217,24229],{"data":24182,"content":24183,"nodeType":860},{},[24184,24189],{"data":24185,"marks":24186,"value":24188,"nodeType":864},{},[24187],{"type":899},"Precursor A:",{"data":24190,"marks":24191,"value":24192,"nodeType":864},{},[]," teams-zpfvwnpxuc[.]edgeone.dev",{"data":24194,"content":24195,"nodeType":860},{},[24196,24201],{"data":24197,"marks":24198,"value":24200,"nodeType":864},{},[24199],{"type":899},"Precursor B: ",{"data":24202,"marks":24203,"value":24204,"nodeType":864},{},[],"authenticate-m365-accountsecurity-m-pi[.]vercel.app",{"data":24206,"content":24207,"nodeType":860},{},[24208,24213],{"data":24209,"marks":24210,"value":24212,"nodeType":864},{},[24211],{"type":899},"Courts Access: ",{"data":24214,"marks":24215,"value":24216,"nodeType":864},{},[],"secure-systems-validations-courts[.]vercel.app",{"data":24218,"content":24219,"nodeType":860},{},[24220,24225],{"data":24221,"marks":24222,"value":24224,"nodeType":864},{},[24223],{"type":899},"Early ANTIBOT:",{"data":24226,"marks":24227,"value":24228,"nodeType":864},{},[]," interface-auth-en-useast[.]global.ssl.fastly.net",{"data":24230,"content":24231,"nodeType":860},{},[24232,24237],{"data":24233,"marks":24234,"value":24236,"nodeType":864},{},[24235],{"type":899},"Production ANTIBOT: ",{"data":24238,"marks":24239,"value":24240,"nodeType":864},{},[],"index-z059-document-pending-reviewsign-xlss7994824[.]awalizer[.]workers.dev",{"data":24242,"content":24243,"nodeType":1005},{},[],{"data":24245,"content":24246,"nodeType":1312},{},[24247],{"data":24248,"marks":24249,"value":24251,"nodeType":864},{},[24250],{"type":899},"“SHAREFILE”",{"data":24253,"content":24254,"nodeType":4845},{},[24255,24278,24317,24340,24363],{"data":24256,"content":24257,"nodeType":4581},{},[24258,24268],{"data":24259,"content":24260,"nodeType":4569},{},[24261],{"data":24262,"content":24263,"nodeType":860},{},[24264],{"data":24265,"marks":24266,"value":23994,"nodeType":864},{},[24267],{"type":899},{"data":24269,"content":24270,"nodeType":4569},{},[24271],{"data":24272,"content":24273,"nodeType":860},{},[24274],{"data":24275,"marks":24276,"value":24277,"nodeType":864},{},[],"No hosting markers visible.",{"data":24279,"content":24280,"nodeType":4581},{},[24281,24291],{"data":24282,"content":24283,"nodeType":4569},{},[24284],{"data":24285,"content":24286,"nodeType":860},{},[24287],{"data":24288,"marks":24289,"value":24018,"nodeType":864},{},[24290],{"type":899},{"data":24292,"content":24293,"nodeType":4569},{},[24294,24306],{"data":24295,"content":24296,"nodeType":860},{},[24297,24302],{"data":24298,"marks":24299,"value":24301,"nodeType":864},{},[24300],{"type":899},"Example IP:",{"data":24303,"marks":24304,"value":24305,"nodeType":864},{},[]," 147.45.60.47 (Global Connectivity Solutions LLP AS215540)",{"data":24307,"content":24308,"nodeType":860},{},[24309,24313],{"data":24310,"marks":24311,"value":24059,"nodeType":864},{},[24312],{"type":899},{"data":24314,"marks":24315,"value":24316,"nodeType":864},{},[]," node",{"data":24318,"content":24319,"nodeType":4581},{},[24320,24330],{"data":24321,"content":24322,"nodeType":4569},{},[24323],{"data":24324,"content":24325,"nodeType":860},{},[24326],{"data":24327,"marks":24328,"value":24101,"nodeType":864},{},[24329],{"type":899},{"data":24331,"content":24332,"nodeType":4569},{},[24333],{"data":24334,"content":24335,"nodeType":860},{},[24336],{"data":24337,"marks":24338,"value":24339,"nodeType":864},{},[],"POST /api/device/start  POST /api/device/poll",{"data":24341,"content":24342,"nodeType":4581},{},[24343,24353],{"data":24344,"content":24345,"nodeType":4569},{},[24346],{"data":24347,"content":24348,"nodeType":860},{},[24349],{"data":24350,"marks":24351,"value":24153,"nodeType":864},{},[24352],{"type":899},{"data":24354,"content":24355,"nodeType":4569},{},[24356],{"data":24357,"content":24358,"nodeType":860},{},[24359],{"data":24360,"marks":24361,"value":24362,"nodeType":864},{},[],"Citrix ShareFile document transfer — file card with sender info, expiry warning, download/preview buttons",{"data":24364,"content":24365,"nodeType":4581},{},[24366,24377],{"data":24367,"content":24368,"nodeType":4569},{},[24369],{"data":24370,"content":24371,"nodeType":860},{},[24372],{"data":24373,"marks":24374,"value":24376,"nodeType":864},{},[24375],{"type":899},"Example domain",{"data":24378,"content":24379,"nodeType":4569},{},[24380],{"data":24381,"content":24382,"nodeType":860},{},[24383],{"data":24384,"marks":24385,"value":24386,"nodeType":864},{},[],"cghdfg[.]vbchkioi[.]su",{"data":24388,"content":24392,"nodeType":996},{"target":24389},{"sys":24390},{"id":24391,"type":1001,"linkType":1002},"1TtZ6VsMSTlPvy7W996w9E",[],{"data":24394,"content":24395,"nodeType":1005},{},[],{"data":24397,"content":24398,"nodeType":1312},{},[24399],{"data":24400,"marks":24401,"value":24403,"nodeType":864},{},[24402],{"type":899},"Kali365 (internal name “CLURE”)",{"data":24405,"content":24406,"nodeType":860},{},[24407,24411,24416,24420,24428,24432,24440],{"data":24408,"marks":24409,"value":24410,"nodeType":864},{},[],"Clure was recently linked to the ",{"data":24412,"marks":24413,"value":24415,"nodeType":864},{},[24414],{"type":899},"Kali365",{"data":24417,"marks":24418,"value":24419,"nodeType":864},{},[]," PhaaS platform based on an ",{"data":24421,"content":24423,"nodeType":883},{"uri":24422},"https://www.ic3.gov/PSA/2026/PSA260521",[24424],{"data":24425,"marks":24426,"value":24427,"nodeType":864},{},[],"FBI advisory",{"data":24429,"marks":24430,"value":24431,"nodeType":864},{},[]," and additional research from ",{"data":24433,"content":24435,"nodeType":883},{"uri":24434},"https://arcticwolf.com/resources/blog/token-bingo-dont-let-your-code-be-the-winner/",[24436],{"data":24437,"marks":24438,"value":24439,"nodeType":864},{},[],"Arctic Wolf",{"data":24441,"marks":24442,"value":24443,"nodeType":864},{},[],". This is yet another example of Device Code Phishing and AiTM phishing capabilities being integrated into unified phishing platforms. ",{"data":24445,"content":24446,"nodeType":4845},{},[24447,24470,24509,24532,24555],{"data":24448,"content":24449,"nodeType":4581},{},[24450,24460],{"data":24451,"content":24452,"nodeType":4569},{},[24453],{"data":24454,"content":24455,"nodeType":860},{},[24456],{"data":24457,"marks":24458,"value":23994,"nodeType":864},{},[24459],{"type":899},{"data":24461,"content":24462,"nodeType":4569},{},[24463],{"data":24464,"content":24465,"nodeType":860},{},[24466],{"data":24467,"marks":24468,"value":24469,"nodeType":864},{},[],"API on api.duemineral.uk:8443 and api.loadingdocuments.uk:8443 (rotates). ",{"data":24471,"content":24472,"nodeType":4581},{},[24473,24483],{"data":24474,"content":24475,"nodeType":4569},{},[24476],{"data":24477,"content":24478,"nodeType":860},{},[24479],{"data":24480,"marks":24481,"value":24018,"nodeType":864},{},[24482],{"type":899},{"data":24484,"content":24485,"nodeType":4569},{},[24486,24498],{"data":24487,"content":24488,"nodeType":860},{},[24489,24494],{"data":24490,"marks":24491,"value":24493,"nodeType":864},{},[24492],{"type":899},"Example IP: ",{"data":24495,"marks":24496,"value":24497,"nodeType":864},{},[],"162.243.166.119 (DigitalOcean AS14061)",{"data":24499,"content":24500,"nodeType":860},{},[24501,24505],{"data":24502,"marks":24503,"value":24059,"nodeType":864},{},[24504],{"type":899},{"data":24506,"marks":24507,"value":24508,"nodeType":864},{},[]," python-requests/2.32.5",{"data":24510,"content":24511,"nodeType":4581},{},[24512,24522],{"data":24513,"content":24514,"nodeType":4569},{},[24515],{"data":24516,"content":24517,"nodeType":860},{},[24518],{"data":24519,"marks":24520,"value":24101,"nodeType":864},{},[24521],{"type":899},{"data":24523,"content":24524,"nodeType":4569},{},[24525],{"data":24526,"content":24527,"nodeType":860},{},[24528],{"data":24529,"marks":24530,"value":24531,"nodeType":864},{},[],"GET /api/status/{numeric_SID} (port :8443)",{"data":24533,"content":24534,"nodeType":4581},{},[24535,24545],{"data":24536,"content":24537,"nodeType":4569},{},[24538],{"data":24539,"content":24540,"nodeType":860},{},[24541],{"data":24542,"marks":24543,"value":24153,"nodeType":864},{},[24544],{"type":899},{"data":24546,"content":24547,"nodeType":4569},{},[24548],{"data":24549,"content":24550,"nodeType":860},{},[24551],{"data":24552,"marks":24553,"value":24554,"nodeType":864},{},[],"SharePoint \"Team Site\" doc library, SharePoint \"Shared Document\" individual share",{"data":24556,"content":24557,"nodeType":4581},{},[24558,24568],{"data":24559,"content":24560,"nodeType":4569},{},[24561],{"data":24562,"content":24563,"nodeType":860},{},[24564],{"data":24565,"marks":24566,"value":24376,"nodeType":864},{},[24567],{"type":899},{"data":24569,"content":24570,"nodeType":4569},{},[24571],{"data":24572,"content":24573,"nodeType":860},{},[24574],{"data":24575,"marks":24576,"value":24577,"nodeType":864},{},[],"auth[.]duemineral[.]uk",{"data":24579,"content":24583,"nodeType":996},{"target":24580},{"sys":24581},{"id":24582,"type":1001,"linkType":1002},"Y1AiT3dJRTXz64pb68kca",[],{"data":24585,"content":24586,"nodeType":1005},{},[],{"data":24588,"content":24589,"nodeType":1312},{},[24590],{"data":24591,"marks":24592,"value":24594,"nodeType":864},{},[24593],{"type":899},"“LINKID”",{"data":24596,"content":24597,"nodeType":4845},{},[24598,24621,24666,24696,24719],{"data":24599,"content":24600,"nodeType":4581},{},[24601,24611],{"data":24602,"content":24603,"nodeType":4569},{},[24604],{"data":24605,"content":24606,"nodeType":860},{},[24607],{"data":24608,"marks":24609,"value":23994,"nodeType":864},{},[24610],{"type":899},{"data":24612,"content":24613,"nodeType":4569},{},[24614],{"data":24615,"content":24616,"nodeType":860},{},[24617],{"data":24618,"marks":24619,"value":24620,"nodeType":864},{},[],"Adobe variant has Cloudflare challenge-platform iframe (CF-protected origin). Relative API paths — self-hosted.",{"data":24622,"content":24623,"nodeType":4581},{},[24624,24634],{"data":24625,"content":24626,"nodeType":4569},{},[24627],{"data":24628,"content":24629,"nodeType":860},{},[24630],{"data":24631,"marks":24632,"value":24018,"nodeType":864},{},[24633],{"type":899},{"data":24635,"content":24636,"nodeType":4569},{},[24637,24648,24655],{"data":24638,"content":24639,"nodeType":860},{},[24640,24644],{"data":24641,"marks":24642,"value":24493,"nodeType":864},{},[24643],{"type":899},{"data":24645,"marks":24646,"value":24647,"nodeType":864},{},[],"185.176.220.22 (2cloud.eu AS39845)",{"data":24649,"content":24650,"nodeType":860},{},[24651],{"data":24652,"marks":24653,"value":24654,"nodeType":864},{},[],"2600:1f10:470d:9a00:1437:ec30:be61:3494 (AWS AS16509)",{"data":24656,"content":24657,"nodeType":860},{},[24658,24662],{"data":24659,"marks":24660,"value":24059,"nodeType":864},{},[24661],{"type":899},{"data":24663,"marks":24664,"value":24665,"nodeType":864},{},[]," axios/1.10.0 , axios/1.13.6",{"data":24667,"content":24668,"nodeType":4581},{},[24669,24679],{"data":24670,"content":24671,"nodeType":4569},{},[24672],{"data":24673,"content":24674,"nodeType":860},{},[24675],{"data":24676,"marks":24677,"value":24101,"nodeType":864},{},[24678],{"type":899},{"data":24680,"content":24681,"nodeType":4569},{},[24682,24689],{"data":24683,"content":24684,"nodeType":860},{},[24685],{"data":24686,"marks":24687,"value":24688,"nodeType":864},{},[],"POST /api/device/start",{"data":24690,"content":24691,"nodeType":860},{},[24692],{"data":24693,"marks":24694,"value":24695,"nodeType":864},{},[],"GET /api/device/status/{sessionId}",{"data":24697,"content":24698,"nodeType":4581},{},[24699,24709],{"data":24700,"content":24701,"nodeType":4569},{},[24702],{"data":24703,"content":24704,"nodeType":860},{},[24705],{"data":24706,"marks":24707,"value":24153,"nodeType":864},{},[24708],{"type":899},{"data":24710,"content":24711,"nodeType":4569},{},[24712],{"data":24713,"content":24714,"nodeType":860},{},[24715],{"data":24716,"marks":24717,"value":24718,"nodeType":864},{},[],"MS Teams meeting invitation (with interactive date/time picker), Adobe Acrobat Sign document review",{"data":24720,"content":24721,"nodeType":4581},{},[24722,24732],{"data":24723,"content":24724,"nodeType":4569},{},[24725],{"data":24726,"content":24727,"nodeType":860},{},[24728],{"data":24729,"marks":24730,"value":24376,"nodeType":864},{},[24731],{"type":899},{"data":24733,"content":24734,"nodeType":4569},{},[24735],{"data":24736,"content":24737,"nodeType":860},{},[24738],{"data":24739,"marks":24740,"value":24741,"nodeType":864},{},[],"sdtr-site[.]cfd",{"data":24743,"content":24747,"nodeType":996},{"target":24744},{"sys":24745},{"id":24746,"type":1001,"linkType":1002},"22hsIzlkptC2JTIUtbOuUn",[],{"data":24749,"content":24750,"nodeType":1005},{},[],{"data":24752,"content":24753,"nodeType":1312},{},[24754],{"data":24755,"marks":24756,"value":24758,"nodeType":864},{},[24757],{"type":899},"Device Code Lab (formerly codename \"AUTHOV”)",{"data":24760,"content":24764,"nodeType":996},{"target":24761},{"sys":24762},{"id":24763,"type":1001,"linkType":1002},"5vllVaa0Ry0wKs46ssrZLC",[],{"data":24766,"content":24767,"nodeType":4845},{},[24768,24791,24836,24859,24882],{"data":24769,"content":24770,"nodeType":4581},{},[24771,24781],{"data":24772,"content":24773,"nodeType":4569},{},[24774],{"data":24775,"content":24776,"nodeType":860},{},[24777],{"data":24778,"marks":24779,"value":23994,"nodeType":864},{},[24780],{"type":899},{"data":24782,"content":24783,"nodeType":4569},{},[24784],{"data":24785,"content":24786,"nodeType":860},{},[24787],{"data":24788,"marks":24789,"value":24790,"nodeType":864},{},[],"workers.dev",{"data":24792,"content":24793,"nodeType":4581},{},[24794,24804],{"data":24795,"content":24796,"nodeType":4569},{},[24797],{"data":24798,"content":24799,"nodeType":860},{},[24800],{"data":24801,"marks":24802,"value":24018,"nodeType":864},{},[24803],{"type":899},{"data":24805,"content":24806,"nodeType":4569},{},[24807,24818],{"data":24808,"content":24809,"nodeType":860},{},[24810,24814],{"data":24811,"marks":24812,"value":24493,"nodeType":864},{},[24813],{"type":899},{"data":24815,"marks":24816,"value":24817,"nodeType":864},{},[],"192.3.225.100 (HostPapa / ColoCrossing AS36352)",{"data":24819,"content":24820,"nodeType":860},{},[24821,24825,24828,24832],{"data":24822,"marks":24823,"value":24059,"nodeType":864},{},[24824],{"type":899},{"data":24826,"marks":24827,"value":1171,"nodeType":864},{},[],{"data":24829,"marks":24830,"value":8618,"nodeType":864},{},[24831],{"type":899},{"data":24833,"marks":24834,"value":24835,"nodeType":864},{},[],"python-httpx/0.28.1",{"data":24837,"content":24838,"nodeType":4581},{},[24839,24849],{"data":24840,"content":24841,"nodeType":4569},{},[24842],{"data":24843,"content":24844,"nodeType":860},{},[24845],{"data":24846,"marks":24847,"value":24101,"nodeType":864},{},[24848],{"type":899},{"data":24850,"content":24851,"nodeType":4569},{},[24852],{"data":24853,"content":24854,"nodeType":860},{},[24855],{"data":24856,"marks":24857,"value":24858,"nodeType":864},{},[],"GET /landing/api/session-status?session_id=&token=",{"data":24860,"content":24861,"nodeType":4581},{},[24862,24872],{"data":24863,"content":24864,"nodeType":4569},{},[24865],{"data":24866,"content":24867,"nodeType":860},{},[24868],{"data":24869,"marks":24870,"value":24153,"nodeType":864},{},[24871],{"type":899},{"data":24873,"content":24874,"nodeType":4569},{},[24875],{"data":24876,"content":24877,"nodeType":860},{},[24878],{"data":24879,"marks":24880,"value":24881,"nodeType":864},{},[],"Adobe Acrobat document sharing (PDF preview, sender avatar)",{"data":24883,"content":24884,"nodeType":4581},{},[24885,24895],{"data":24886,"content":24887,"nodeType":4569},{},[24888],{"data":24889,"content":24890,"nodeType":860},{},[24891],{"data":24892,"marks":24893,"value":24376,"nodeType":864},{},[24894],{"type":899},{"data":24896,"content":24897,"nodeType":4569},{},[24898],{"data":24899,"content":24900,"nodeType":860},{},[24901],{"data":24902,"marks":24903,"value":24904,"nodeType":864},{},[],"milosh-solibella-0dcio[.]sgttommy.workers.dev",{"data":24906,"content":24910,"nodeType":996},{"target":24907},{"sys":24908},{"id":24909,"type":1001,"linkType":1002},"6szO6IKJ32usyxIKX1efZy",[],{"data":24912,"content":24916,"nodeType":996},{"target":24913},{"sys":24914},{"id":24915,"type":1001,"linkType":1002},"lEqV3RTMIY8y011lnhX7P",[],{"data":24918,"content":24919,"nodeType":1005},{},[],{"data":24921,"content":24922,"nodeType":1312},{},[24923],{"data":24924,"marks":24925,"value":24927,"nodeType":864},{},[24926],{"type":899},"“DOCUPOLL”",{"data":24929,"content":24930,"nodeType":4845},{},[24931,24954,24992,25029,25052],{"data":24932,"content":24933,"nodeType":4581},{},[24934,24944],{"data":24935,"content":24936,"nodeType":4569},{},[24937],{"data":24938,"content":24939,"nodeType":860},{},[24940],{"data":24941,"marks":24942,"value":23994,"nodeType":864},{},[24943],{"type":899},{"data":24945,"content":24946,"nodeType":4569},{},[24947],{"data":24948,"content":24949,"nodeType":860},{},[24950],{"data":24951,"marks":24952,"value":24953,"nodeType":864},{},[],"Github.io and workers.dev hosting",{"data":24955,"content":24956,"nodeType":4581},{},[24957,24967],{"data":24958,"content":24959,"nodeType":4569},{},[24960],{"data":24961,"content":24962,"nodeType":860},{},[24963],{"data":24964,"marks":24965,"value":24018,"nodeType":864},{},[24966],{"type":899},{"data":24968,"content":24969,"nodeType":4569},{},[24970,24981],{"data":24971,"content":24972,"nodeType":860},{},[24973,24977],{"data":24974,"marks":24975,"value":24493,"nodeType":864},{},[24976],{"type":899},{"data":24978,"marks":24979,"value":24980,"nodeType":864},{},[],"144.172.103.240 (FranTech Solutions / RouterHosting / Cloudzy AS14956)",{"data":24982,"content":24983,"nodeType":860},{},[24984,24988],{"data":24985,"marks":24986,"value":24059,"nodeType":864},{},[24987],{"type":899},{"data":24989,"marks":24990,"value":24991,"nodeType":864},{},[]," Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36 Edge/18.19042",{"data":24993,"content":24994,"nodeType":4581},{},[24995,25005],{"data":24996,"content":24997,"nodeType":4569},{},[24998],{"data":24999,"content":25000,"nodeType":860},{},[25001],{"data":25002,"marks":25003,"value":24101,"nodeType":864},{},[25004],{"type":899},{"data":25006,"content":25007,"nodeType":4569},{},[25008,25015,25022],{"data":25009,"content":25010,"nodeType":860},{},[25011],{"data":25012,"marks":25013,"value":25014,"nodeType":864},{},[],"POST /api/v1/landing-pages/public/{slug}/init",{"data":25016,"content":25017,"nodeType":860},{},[25018],{"data":25019,"marks":25020,"value":25021,"nodeType":864},{},[],"POST .../poll",{"data":25023,"content":25024,"nodeType":860},{},[25025],{"data":25026,"marks":25027,"value":25028,"nodeType":864},{},[],"POST .../track",{"data":25030,"content":25031,"nodeType":4581},{},[25032,25042],{"data":25033,"content":25034,"nodeType":4569},{},[25035],{"data":25036,"content":25037,"nodeType":860},{},[25038],{"data":25039,"marks":25040,"value":24153,"nodeType":864},{},[25041],{"type":899},{"data":25043,"content":25044,"nodeType":4569},{},[25045],{"data":25046,"content":25047,"nodeType":860},{},[25048],{"data":25049,"marks":25050,"value":25051,"nodeType":864},{},[],"DocuSign document signing. One sample is a full scrape of real docusign.com (free-account page) with kit injected.",{"data":25053,"content":25054,"nodeType":4581},{},[25055,25065],{"data":25056,"content":25057,"nodeType":4569},{},[25058],{"data":25059,"content":25060,"nodeType":860},{},[25061],{"data":25062,"marks":25063,"value":24376,"nodeType":864},{},[25064],{"type":899},{"data":25066,"content":25067,"nodeType":4569},{},[25068],{"data":25069,"content":25070,"nodeType":860},{},[25071],{"data":25072,"marks":25073,"value":25074,"nodeType":864},{},[],"docufirmar[.]github.io",{"data":25076,"content":25080,"nodeType":996},{"target":25077},{"sys":25078},{"id":25079,"type":1001,"linkType":1002},"6Y1XABHnQD82R3MW80HnQZ",[],{"data":25082,"content":25083,"nodeType":1005},{},[],{"data":25085,"content":25086,"nodeType":1312},{},[25087],{"data":25088,"marks":25089,"value":25091,"nodeType":864},{},[25090],{"type":899},"“FLOW_TOKEN”",{"data":25093,"content":25094,"nodeType":4845},{},[25095,25117,25162,25192,25215],{"data":25096,"content":25097,"nodeType":4581},{},[25098,25108],{"data":25099,"content":25100,"nodeType":4569},{},[25101],{"data":25102,"content":25103,"nodeType":860},{},[25104],{"data":25105,"marks":25106,"value":23994,"nodeType":864},{},[25107],{"type":899},{"data":25109,"content":25110,"nodeType":4569},{},[25111],{"data":25112,"content":25113,"nodeType":860},{},[25114],{"data":25115,"marks":25116,"value":24790,"nodeType":864},{},[],{"data":25118,"content":25119,"nodeType":4581},{},[25120,25130],{"data":25121,"content":25122,"nodeType":4569},{},[25123],{"data":25124,"content":25125,"nodeType":860},{},[25126],{"data":25127,"marks":25128,"value":24018,"nodeType":864},{},[25129],{"type":899},{"data":25131,"content":25132,"nodeType":4569},{},[25133,25144],{"data":25134,"content":25135,"nodeType":860},{},[25136,25140],{"data":25137,"marks":25138,"value":24493,"nodeType":864},{},[25139],{"type":899},{"data":25141,"marks":25142,"value":25143,"nodeType":864},{},[],"43.166.163.163 (Tencent Cloud AS132203)",{"data":25145,"content":25146,"nodeType":860},{},[25147,25151,25154,25158],{"data":25148,"marks":25149,"value":24059,"nodeType":864},{},[25150],{"type":899},{"data":25152,"marks":25153,"value":1171,"nodeType":864},{},[],{"data":25155,"marks":25156,"value":8618,"nodeType":864},{},[25157],{"type":899},{"data":25159,"marks":25160,"value":25161,"nodeType":864},{},[],"(null)",{"data":25163,"content":25164,"nodeType":4581},{},[25165,25175],{"data":25166,"content":25167,"nodeType":4569},{},[25168],{"data":25169,"content":25170,"nodeType":860},{},[25171],{"data":25172,"marks":25173,"value":24101,"nodeType":864},{},[25174],{"type":899},{"data":25176,"content":25177,"nodeType":4569},{},[25178,25185],{"data":25179,"content":25180,"nodeType":860},{},[25181],{"data":25182,"marks":25183,"value":25184,"nodeType":864},{},[],"POST /api/handler.php ",{"data":25186,"content":25187,"nodeType":860},{},[25188],{"data":25189,"marks":25190,"value":25191,"nodeType":864},{},[],"(actions: device_code_generate, device_code_poll_public)",{"data":25193,"content":25194,"nodeType":4581},{},[25195,25205],{"data":25196,"content":25197,"nodeType":4569},{},[25198],{"data":25199,"content":25200,"nodeType":860},{},[25201],{"data":25202,"marks":25203,"value":24153,"nodeType":864},{},[25204],{"type":899},{"data":25206,"content":25207,"nodeType":4569},{},[25208],{"data":25209,"content":25210,"nodeType":860},{},[25211],{"data":25212,"marks":25213,"value":25214,"nodeType":864},{},[],"DocuSign \"Salary Adjustment Document — 2026\", Microsoft banner · HR Department sender",{"data":25216,"content":25217,"nodeType":4581},{},[25218,25228],{"data":25219,"content":25220,"nodeType":4569},{},[25221],{"data":25222,"content":25223,"nodeType":860},{},[25224],{"data":25225,"marks":25226,"value":24376,"nodeType":864},{},[25227],{"type":899},{"data":25229,"content":25230,"nodeType":4569},{},[25231],{"data":25232,"content":25233,"nodeType":860},{},[25234],{"data":25235,"marks":25236,"value":25237,"nodeType":864},{},[],"salaryadjustment-2afb52.pmb6fefc52b3f9aa5c2dbf[.]workers.dev",{"data":25239,"content":25243,"nodeType":996},{"target":25240},{"sys":25241},{"id":25242,"type":1001,"linkType":1002},"6xiTDHStbiJh7LMhjAZcPd",[],{"data":25245,"content":25246,"nodeType":1005},{},[],{"data":25248,"content":25249,"nodeType":1312},{},[25250],{"data":25251,"marks":25252,"value":25254,"nodeType":864},{},[25253],{"type":899},"“PAPRIKA”",{"data":25256,"content":25257,"nodeType":4845},{},[25258,25281,25304,25327],{"data":25259,"content":25260,"nodeType":4581},{},[25261,25271],{"data":25262,"content":25263,"nodeType":4569},{},[25264],{"data":25265,"content":25266,"nodeType":860},{},[25267],{"data":25268,"marks":25269,"value":23994,"nodeType":864},{},[25270],{"type":899},{"data":25272,"content":25273,"nodeType":4569},{},[25274],{"data":25275,"content":25276,"nodeType":860},{},[25277],{"data":25278,"marks":25279,"value":25280,"nodeType":864},{},[],"AWS S3 hosting",{"data":25282,"content":25283,"nodeType":4581},{},[25284,25294],{"data":25285,"content":25286,"nodeType":4569},{},[25287],{"data":25288,"content":25289,"nodeType":860},{},[25290],{"data":25291,"marks":25292,"value":24101,"nodeType":864},{},[25293],{"type":899},{"data":25295,"content":25296,"nodeType":4569},{},[25297],{"data":25298,"content":25299,"nodeType":860},{},[25300],{"data":25301,"marks":25302,"value":25303,"nodeType":864},{},[],"POST /api/v1/loader",{"data":25305,"content":25306,"nodeType":4581},{},[25307,25317],{"data":25308,"content":25309,"nodeType":4569},{},[25310],{"data":25311,"content":25312,"nodeType":860},{},[25313],{"data":25314,"marks":25315,"value":24153,"nodeType":864},{},[25316],{"type":899},{"data":25318,"content":25319,"nodeType":4569},{},[25320],{"data":25321,"content":25322,"nodeType":860},{},[25323],{"data":25324,"marks":25325,"value":25326,"nodeType":864},{},[],"MS login clone (\"Sign in to your account\"), \"Office 365\" branding, fake \"Powered by Okta\" footer",{"data":25328,"content":25329,"nodeType":4581},{},[25330,25340],{"data":25331,"content":25332,"nodeType":4569},{},[25333],{"data":25334,"content":25335,"nodeType":860},{},[25336],{"data":25337,"marks":25338,"value":24376,"nodeType":864},{},[25339],{"type":899},{"data":25341,"content":25342,"nodeType":4569},{},[25343],{"data":25344,"content":25345,"nodeType":860},{},[25346],{"data":25347,"marks":25348,"value":25349,"nodeType":864},{},[],"redirect-523346-d95027ec[.]s3.amazonaws.com",{"data":25351,"content":25355,"nodeType":996},{"target":25352},{"sys":25353},{"id":25354,"type":1001,"linkType":1002},"6WFXqUDzcJHKWSwVIcDZAf",[],{"data":25357,"content":25358,"nodeType":1005},{},[],{"data":25360,"content":25361,"nodeType":1312},{},[25362],{"data":25363,"marks":25364,"value":25366,"nodeType":864},{},[25365],{"type":899},"“DCSTATUS”",{"data":25368,"content":25369,"nodeType":4845},{},[25370,25392,25415,25438],{"data":25371,"content":25372,"nodeType":4581},{},[25373,25383],{"data":25374,"content":25375,"nodeType":4569},{},[25376],{"data":25377,"content":25378,"nodeType":860},{},[25379],{"data":25380,"marks":25381,"value":23994,"nodeType":864},{},[25382],{"type":899},{"data":25384,"content":25385,"nodeType":4569},{},[25386],{"data":25387,"content":25388,"nodeType":860},{},[25389],{"data":25390,"marks":25391,"value":24277,"nodeType":864},{},[],{"data":25393,"content":25394,"nodeType":4581},{},[25395,25405],{"data":25396,"content":25397,"nodeType":4569},{},[25398],{"data":25399,"content":25400,"nodeType":860},{},[25401],{"data":25402,"marks":25403,"value":24101,"nodeType":864},{},[25404],{"type":899},{"data":25406,"content":25407,"nodeType":4569},{},[25408],{"data":25409,"content":25410,"nodeType":860},{},[25411],{"data":25412,"marks":25413,"value":25414,"nodeType":864},{},[],"GET /dc/status/{base64url_sid}",{"data":25416,"content":25417,"nodeType":4581},{},[25418,25428],{"data":25419,"content":25420,"nodeType":4569},{},[25421],{"data":25422,"content":25423,"nodeType":860},{},[25424],{"data":25425,"marks":25426,"value":24153,"nodeType":864},{},[25427],{"type":899},{"data":25429,"content":25430,"nodeType":4569},{},[25431],{"data":25432,"content":25433,"nodeType":860},{},[25434],{"data":25435,"marks":25436,"value":25437,"nodeType":864},{},[],"Generic \"Microsoft 365 - Secure Access\" verification page",{"data":25439,"content":25440,"nodeType":4581},{},[25441,25451],{"data":25442,"content":25443,"nodeType":4569},{},[25444],{"data":25445,"content":25446,"nodeType":860},{},[25447],{"data":25448,"marks":25449,"value":24376,"nodeType":864},{},[25450],{"type":899},{"data":25452,"content":25453,"nodeType":4569},{},[25454],{"data":25455,"content":25456,"nodeType":860},{},[25457],{"data":25458,"marks":25459,"value":25460,"nodeType":864},{},[],"owa[.]apmmacleans[.]ca",{"data":25462,"content":25466,"nodeType":996},{"target":25463},{"sys":25464},{"id":25465,"type":1001,"linkType":1002},"ugYhHeXY1lQdKooALmrIs",[],{"data":25468,"content":25469,"nodeType":1005},{},[],{"data":25471,"content":25472,"nodeType":1312},{},[25473],{"data":25474,"marks":25475,"value":25477,"nodeType":864},{},[25476],{"type":899},"“DOLCE”",{"data":25479,"content":25483,"nodeType":996},{"target":25480},{"sys":25481},{"id":25482,"type":1001,"linkType":1002},"7TzU6kk01Un45NB0buEz2",[],{"data":25485,"content":25486,"nodeType":4845},{},[25487,25510,25548,25571,25594],{"data":25488,"content":25489,"nodeType":4581},{},[25490,25500],{"data":25491,"content":25492,"nodeType":4569},{},[25493],{"data":25494,"content":25495,"nodeType":860},{},[25496],{"data":25497,"marks":25498,"value":23994,"nodeType":864},{},[25499],{"type":899},{"data":25501,"content":25502,"nodeType":4569},{},[25503],{"data":25504,"content":25505,"nodeType":860},{},[25506],{"data":25507,"marks":25508,"value":25509,"nodeType":864},{},[],"Microsoft PowerApps hosting",{"data":25511,"content":25512,"nodeType":4581},{},[25513,25523],{"data":25514,"content":25515,"nodeType":4569},{},[25516],{"data":25517,"content":25518,"nodeType":860},{},[25519],{"data":25520,"marks":25521,"value":24018,"nodeType":864},{},[25522],{"type":899},{"data":25524,"content":25525,"nodeType":4569},{},[25526,25537],{"data":25527,"content":25528,"nodeType":860},{},[25529,25533],{"data":25530,"marks":25531,"value":24493,"nodeType":864},{},[25532],{"type":899},{"data":25534,"marks":25535,"value":25536,"nodeType":864},{},[],"34.53.159.84 (Google Cloud AS396982)",{"data":25538,"content":25539,"nodeType":860},{},[25540,25544],{"data":25541,"marks":25542,"value":24059,"nodeType":864},{},[25543],{"type":899},{"data":25545,"marks":25546,"value":25547,"nodeType":864},{},[]," Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36",{"data":25549,"content":25550,"nodeType":4581},{},[25551,25561],{"data":25552,"content":25553,"nodeType":4569},{},[25554],{"data":25555,"content":25556,"nodeType":860},{},[25557],{"data":25558,"marks":25559,"value":24101,"nodeType":864},{},[25560],{"type":899},{"data":25562,"content":25563,"nodeType":4569},{},[25564],{"data":25565,"content":25566,"nodeType":860},{},[25567],{"data":25568,"marks":25569,"value":25570,"nodeType":864},{},[],"GET /api/generatecode (CloudFront)",{"data":25572,"content":25573,"nodeType":4581},{},[25574,25584],{"data":25575,"content":25576,"nodeType":4569},{},[25577],{"data":25578,"content":25579,"nodeType":860},{},[25580],{"data":25581,"marks":25582,"value":24153,"nodeType":864},{},[25583],{"type":899},{"data":25585,"content":25586,"nodeType":4569},{},[25587],{"data":25588,"content":25589,"nodeType":860},{},[25590],{"data":25591,"marks":25592,"value":25593,"nodeType":864},{},[],"Dolce & Gabbana branded, Italian language, MS account verification",{"data":25595,"content":25596,"nodeType":4581},{},[25597,25607],{"data":25598,"content":25599,"nodeType":4569},{},[25600],{"data":25601,"content":25602,"nodeType":860},{},[25603],{"data":25604,"marks":25605,"value":24376,"nodeType":864},{},[25606],{"type":899},{"data":25608,"content":25609,"nodeType":4569},{},[25610],{"data":25611,"content":25612,"nodeType":860},{},[25613],{"data":25614,"marks":25615,"value":25616,"nodeType":864},{},[],"data-migration-dolcegabbana[.]powerappsportals.com",{"data":25618,"content":25622,"nodeType":996},{"target":25619},{"sys":25620},{"id":25621,"type":1001,"linkType":1002},"4ayQDvpf5NNOBrj9wZZRiO",[],{"data":25624,"content":25625,"nodeType":1005},{},[],{"data":25627,"content":25628,"nodeType":1312},{},[25629],{"data":25630,"marks":25631,"value":25633,"nodeType":864},{},[25632],{"type":899},"Venom",{"data":25635,"content":25636,"nodeType":4845},{},[25637,25660],{"data":25638,"content":25639,"nodeType":4581},{},[25640,25650],{"data":25641,"content":25642,"nodeType":4569},{},[25643],{"data":25644,"content":25645,"nodeType":860},{},[25646],{"data":25647,"marks":25648,"value":24101,"nodeType":864},{},[25649],{"type":899},{"data":25651,"content":25652,"nodeType":4569},{},[25653],{"data":25654,"content":25655,"nodeType":860},{},[25656],{"data":25657,"marks":25658,"value":25659,"nodeType":864},{},[],"POST /token/api/device/start\nGET /token/api/device/status/{sessionId}",{"data":25661,"content":25662,"nodeType":4581},{},[25663,25673],{"data":25664,"content":25665,"nodeType":4569},{},[25666],{"data":25667,"content":25668,"nodeType":860},{},[25669],{"data":25670,"marks":25671,"value":24153,"nodeType":864},{},[25672],{"type":899},{"data":25674,"content":25675,"nodeType":4569},{},[25676],{"data":25677,"content":25678,"nodeType":860},{},[25679],{"data":25680,"marks":25681,"value":25682,"nodeType":864},{},[],"Various: examples include DocuSign \"Verification\" (Microsoft sign-in pretext); DHL \"Delivery Checkpoint\" package shipment pretext",{"data":25684,"content":25688,"nodeType":996},{"target":25685},{"sys":25686},{"id":25687,"type":1001,"linkType":1002},"79C3fces0hgTdf3G68cIrf",[],{"data":25690,"content":25691,"nodeType":1005},{},[],{"data":25693,"content":25694,"nodeType":1312},{},[25695],{"data":25696,"marks":25697,"value":25699,"nodeType":864},{},[25698],{"type":899},"Tycoon2FA",{"data":25701,"content":25702,"nodeType":4845},{},[25703,25733,25770,25793,25816],{"data":25704,"content":25705,"nodeType":4581},{},[25706,25716],{"data":25707,"content":25708,"nodeType":4569},{},[25709],{"data":25710,"content":25711,"nodeType":860},{},[25712],{"data":25713,"marks":25714,"value":23994,"nodeType":864},{},[25715],{"type":899},{"data":25717,"content":25718,"nodeType":4569},{},[25719,25726],{"data":25720,"content":25721,"nodeType":860},{},[25722],{"data":25723,"marks":25724,"value":25725,"nodeType":864},{},[],"Github.io and Cloudflare Workers (workers.dev) hosting",{"data":25727,"content":25728,"nodeType":860},{},[25729],{"data":25730,"marks":25731,"value":25732,"nodeType":864},{},[],"Compromised-site landing pages and CF Workers (*.workers.dev) used as frontends; victim email passed in URL as last path segment ($base64) or ?acct/?encoded query",{"data":25734,"content":25735,"nodeType":4581},{},[25736,25746],{"data":25737,"content":25738,"nodeType":4569},{},[25739],{"data":25740,"content":25741,"nodeType":860},{},[25742],{"data":25743,"marks":25744,"value":24018,"nodeType":864},{},[25745],{"type":899},{"data":25747,"content":25748,"nodeType":4569},{},[25749,25760],{"data":25750,"content":25751,"nodeType":860},{},[25752,25756],{"data":25753,"marks":25754,"value":24493,"nodeType":864},{},[25755],{"type":899},{"data":25757,"marks":25758,"value":25759,"nodeType":864},{},[],"47.253.5.88 (Alibaba Cloud)",{"data":25761,"content":25762,"nodeType":860},{},[25763,25767],{"data":25764,"marks":25765,"value":24059,"nodeType":864},{},[25766],{"type":899},{"data":25768,"marks":25769,"value":24316,"nodeType":864},{},[],{"data":25771,"content":25772,"nodeType":4581},{},[25773,25783],{"data":25774,"content":25775,"nodeType":4569},{},[25776],{"data":25777,"content":25778,"nodeType":860},{},[25779],{"data":25780,"marks":25781,"value":24101,"nodeType":864},{},[25782],{"type":899},{"data":25784,"content":25785,"nodeType":4569},{},[25786],{"data":25787,"content":25788,"nodeType":860},{},[25789],{"data":25790,"marks":25791,"value":25792,"nodeType":864},{},[],"GET /api/session/{UUIDv4} polled with header X-API-Key: \u003Cprefix>_\u003C64-hex> (key materialised at runtime via atob(window.__cyb3r.k)) \nPOST /api/device-code with body {\"prt_foci_session_id\": \"\u003CUUID>\"} (second-stage code retrieval after initial session error)",{"data":25794,"content":25795,"nodeType":4581},{},[25796,25806],{"data":25797,"content":25798,"nodeType":4569},{},[25799],{"data":25800,"content":25801,"nodeType":860},{},[25802],{"data":25803,"marks":25804,"value":24153,"nodeType":864},{},[25805],{"type":899},{"data":25807,"content":25808,"nodeType":4569},{},[25809],{"data":25810,"content":25811,"nodeType":860},{},[25812],{"data":25813,"marks":25814,"value":25815,"nodeType":864},{},[],"Various: SharePoint \"Remittance Advice\"; Microsoft 365 generic sign-in; Microsoft 365 Voicemail (.mp3 attachment); OneDrive \"Shared file\"; German \"Sicheres Dokumentenportal\" PDF lure",{"data":25817,"content":25818,"nodeType":4581},{},[25819,25829],{"data":25820,"content":25821,"nodeType":4569},{},[25822],{"data":25823,"content":25824,"nodeType":860},{},[25825],{"data":25826,"marks":25827,"value":24376,"nodeType":864},{},[25828],{"type":899},{"data":25830,"content":25831,"nodeType":4569},{},[25832],{"data":25833,"content":25834,"nodeType":860},{},[25835],{"data":25836,"marks":25837,"value":25838,"nodeType":864},{},[],"afriqbeauglobal[.]com/homepage/index[.]html",{"data":25840,"content":25843,"nodeType":996},{"target":25841},{"sys":25842},{"id":7719,"type":1001,"linkType":1002},[],{"data":25845,"content":25846,"nodeType":1005},{},[],{"data":25848,"content":25849,"nodeType":1312},{},[25850],{"data":25851,"marks":25852,"value":25854,"nodeType":864},{},[25853],{"type":899},"\"CYB3R\"",{"data":25856,"content":25857,"nodeType":4845},{},[25858,25881,25919,25941,25964],{"data":25859,"content":25860,"nodeType":4581},{},[25861,25871],{"data":25862,"content":25863,"nodeType":4569},{},[25864],{"data":25865,"content":25866,"nodeType":860},{},[25867],{"data":25868,"marks":25869,"value":23994,"nodeType":864},{},[25870],{"type":899},{"data":25872,"content":25873,"nodeType":4569},{},[25874],{"data":25875,"content":25876,"nodeType":860},{},[25877],{"data":25878,"marks":25879,"value":25880,"nodeType":864},{},[],"Cloudflare Workers (workers.dev) hosting",{"data":25882,"content":25883,"nodeType":4581},{},[25884,25894],{"data":25885,"content":25886,"nodeType":4569},{},[25887],{"data":25888,"content":25889,"nodeType":860},{},[25890],{"data":25891,"marks":25892,"value":24018,"nodeType":864},{},[25893],{"type":899},{"data":25895,"content":25896,"nodeType":4569},{},[25897,25908],{"data":25898,"content":25899,"nodeType":860},{},[25900,25904],{"data":25901,"marks":25902,"value":24493,"nodeType":864},{},[25903],{"type":899},{"data":25905,"marks":25906,"value":25907,"nodeType":864},{},[],"2400:8d60:2::1:c116:843e (Evoxt VPS)",{"data":25909,"content":25910,"nodeType":860},{},[25911,25915],{"data":25912,"marks":25913,"value":24059,"nodeType":864},{},[25914],{"type":899},{"data":25916,"marks":25917,"value":25918,"nodeType":864},{},[]," axios/1.13.6",{"data":25920,"content":25921,"nodeType":4581},{},[25922,25932],{"data":25923,"content":25924,"nodeType":4569},{},[25925],{"data":25926,"content":25927,"nodeType":860},{},[25928],{"data":25929,"marks":25930,"value":24101,"nodeType":864},{},[25931],{"type":899},{"data":25933,"content":25934,"nodeType":4569},{},[25935],{"data":25936,"content":25937,"nodeType":860},{},[25938],{"data":25939,"marks":25940,"value":25792,"nodeType":864},{},[],{"data":25942,"content":25943,"nodeType":4581},{},[25944,25954],{"data":25945,"content":25946,"nodeType":4569},{},[25947],{"data":25948,"content":25949,"nodeType":860},{},[25950],{"data":25951,"marks":25952,"value":24153,"nodeType":864},{},[25953],{"type":899},{"data":25955,"content":25956,"nodeType":4569},{},[25957],{"data":25958,"content":25959,"nodeType":860},{},[25960],{"data":25961,"marks":25962,"value":25963,"nodeType":864},{},[],"DocuSign in Spanish (\"Documento Firmar — COTIZACIÓN/ESTIMACIÓN.pdf\", \"Complete su firma\", \"Verifique su identidad\", \"Continuar a Microsoft\").",{"data":25965,"content":25966,"nodeType":4581},{},[25967,25977],{"data":25968,"content":25969,"nodeType":4569},{},[25970],{"data":25971,"content":25972,"nodeType":860},{},[25973],{"data":25974,"marks":25975,"value":24376,"nodeType":864},{},[25976],{"type":899},{"data":25978,"content":25979,"nodeType":4569},{},[25980],{"data":25981,"content":25982,"nodeType":860},{},[25983],{"data":25984,"marks":25985,"value":25986,"nodeType":864},{},[],"muzagestion[.]secure-share[.]workers.dev",{"data":25988,"content":25992,"nodeType":996},{"target":25989},{"sys":25990},{"id":25991,"type":1001,"linkType":1002},"5EU0QNteiQcYybKG1W1cS3",[],{"data":25994,"content":25995,"nodeType":1005},{},[],{"data":25997,"content":25998,"nodeType":1009},{},[25999],{"data":26000,"marks":26001,"value":26003,"nodeType":864},{},[26002],{"type":899},"Device code phishing under the hood",{"data":26005,"content":26006,"nodeType":860},{},[26007,26011],{"data":26008,"marks":26009,"value":26010,"nodeType":864},{},[],"The attacker POSTs to the authorization server's device authorization endpoint with its client_id (i.e. an application ID) and requested scopes or resources. The server responds with a device_code (used for polling), a user_code, a verification_uri, an expires_in value, and a polling interval. The user visits the URL, enters the code and approves the request. Meanwhile, the device polls the token endpoint. Once approved, the server returns an access token, a refresh token (if offline_access was requested), and an ID token (if openid was included). ",{"data":26012,"marks":26013,"value":26015,"nodeType":864},{},[26014],{"type":899},"The attacker now has API access to the victim's account. ",{"data":26017,"content":26018,"nodeType":860},{},[26019],{"data":26020,"marks":26021,"value":26022,"nodeType":864},{},[],"Broadly, this gives the attacker a comparable level of control to a “normal” phishing attack (with conditions based on the scopes granted and specific app being targeted) while API access grants additional capabilities beyond standard browser sessions. When combined with other techniques, this access can be exchanged to open normal browser app sessions and access SSO connected apps.",{"data":26024,"content":26028,"nodeType":996},{"target":26025},{"sys":26026},{"id":26027,"type":1001,"linkType":1002},"4WtQR2xsE236yoyhSXj58Z",[],{"data":26030,"content":26034,"nodeType":996},{"target":26031},{"sys":26032},{"id":26033,"type":1001,"linkType":1002},"1x7Lip7JdY2xlHKKurT7qJ",[],{"data":26036,"content":26037,"nodeType":860},{},[26038],{"data":26039,"marks":26040,"value":26041,"nodeType":864},{},[],"At this point, you can achieve a number of objectives both inside the app ecosystem and across SSO connected apps — e.g. data theft, disruption, and ultimately extortion.",{"data":26043,"content":26044,"nodeType":860},{},[26045,26049,26054,26058],{"data":26046,"marks":26047,"value":26048,"nodeType":864},{},[],"Critically, the initial request to generate a device code is typically ",{"data":26050,"marks":26051,"value":26053,"nodeType":864},{},[26052],{"type":899},"unauthenticated",{"data":26055,"marks":26056,"value":26057,"nodeType":864},{},[]," across all providers — ",{"data":26059,"marks":26060,"value":26062,"nodeType":864},{},[26061],{"type":899},"anyone can generate one, from any machine, without proving any relationship to the target organization.",{"data":26064,"content":26065,"nodeType":860},{},[26066,26070,26075],{"data":26067,"marks":26068,"value":26069,"nodeType":864},{},[],"So, the attacker has to deliver a set of instructions via a phishing channel (e.g. email, social media DM, corp IM platform, and so on) with a device code that they have generated. The victim then enters this code on the ",{"data":26071,"marks":26072,"value":26074,"nodeType":864},{},[26073],{"type":899},"legitimate device code login page",{"data":26076,"marks":26077,"value":26078,"nodeType":864},{},[]," for that app and issues the tokens to the attacker.",{"data":26080,"content":26084,"nodeType":996},{"target":26081},{"sys":26082},{"id":26083,"type":1001,"linkType":1002},"1txUYuQjH9FlbDGTo8AbZB",[],{"data":26086,"content":26087,"nodeType":1005},{},[],{"data":26089,"content":26090,"nodeType":1009},{},[26091],{"data":26092,"marks":26093,"value":26095,"nodeType":864},{},[26094],{"type":899},"Why device code phishing is so dangerous",{"data":26097,"content":26098,"nodeType":1312},{},[26099],{"data":26100,"marks":26101,"value":26103,"nodeType":864},{},[26102],{"type":899},"Device code phishing bypasses authentication controls (including passkeys)",{"data":26105,"content":26106,"nodeType":860},{},[26107,26111,26116,26120],{"data":26108,"marks":26109,"value":26110,"nodeType":864},{},[],"A device code phishing attack ",{"data":26112,"marks":26113,"value":26115,"nodeType":864},{},[26114],{"type":899},"cannot be prevented with authentication controls",{"data":26117,"marks":26118,"value":26119,"nodeType":864},{},[],". This includes all forms of MFA and ",{"data":26121,"marks":26122,"value":26124,"nodeType":864},{},[26123],{"type":899},"even “phishing-resistant” authentication methods such as passkeys. ",{"data":26126,"content":26127,"nodeType":860},{},[26128,26133,26137,26142],{"data":26129,"marks":26130,"value":26132,"nodeType":864},{},[26131],{"type":899},"The device code authorization is effectively performed post-authentication. ",{"data":26134,"marks":26135,"value":26136,"nodeType":864},{},[],"If you already have an active session in your browser, entering the device code and selecting your account from a drop-down menu is all that's needed. ",{"data":26138,"marks":26139,"value":26141,"nodeType":864},{},[26140],{"type":899},"No password or MFA required. ",{"data":26143,"marks":26144,"value":26145,"nodeType":864},{},[],"You can see an example in the video below.",{"data":26147,"content":26150,"nodeType":996},{"target":26148},{"sys":26149},{"id":25079,"type":1001,"linkType":1002},[],{"data":26152,"content":26153,"nodeType":860},{},[26154],{"data":26155,"marks":26156,"value":26157,"nodeType":864},{},[],"Even if you do have to sign in again (because you're not already signed in for some reason), the attack still works because it isn't targeting the login — it's targeting the authorization layer instead.",{"data":26159,"content":26160,"nodeType":860},{},[26161],{"data":26162,"marks":26163,"value":26164,"nodeType":864},{},[],"This is what makes device code phishing different to other standard phishing methods like AiTM phishing (and arguably even more effective in environments with strict identity control enforcement). ",{"data":26166,"content":26167,"nodeType":1312},{},[26168],{"data":26169,"marks":26170,"value":26172,"nodeType":864},{},[26171],{"type":899},"Device code logins are a feature, not a vulnerability, making attacks difficult to block",{"data":26174,"content":26175,"nodeType":860},{},[26176],{"data":26177,"marks":26178,"value":26179,"nodeType":864},{},[],"Device code authorization is a legitimate mechanism regularly used in enterprise environments, particularly for CLI logins. Tools like Azure CLI, GitHub CLI, and AWS CLI all use (or have used) the device code flow as a primary or fallback authentication method. This creates a dual problem for defenders. ",{"data":26181,"content":26182,"nodeType":860},{},[26183],{"data":26184,"marks":26185,"value":26186,"nodeType":864},{},[],"First, the phishing attack happens entirely on a legitimate site — there's no fake login page, no malicious payload to scan for, and the URL in the browser is genuine. Since there's no traditional phishing content being delivered, these attacks are more resistant to detection by email and network security tools.",{"data":26188,"content":26189,"nodeType":860},{},[26190],{"data":26191,"marks":26192,"value":26193,"nodeType":864},{},[],"Second, the widespread legitimate use of device code flow — particularly among developers and technical users — normalizes the experience of entering device codes. A phishing lure asking them to do the same thing is indistinguishable from a legitimate IT request. And for non-technical users, this experience isn't much different to, for example, entering a code sent via email or authenticator app. ",{"data":26195,"content":26196,"nodeType":1312},{},[26197],{"data":26198,"marks":26199,"value":26201,"nodeType":864},{},[26200],{"type":899},"Multiple apps are vulnerable, with different risk profiles",{"data":26203,"content":26204,"nodeType":860},{},[26205],{"data":26206,"marks":26207,"value":26208,"nodeType":864},{},[],"Various apps implement the device code flow, each with different levels of control and default security, but the risk is not uniform across platforms. ",{"data":26210,"content":26211,"nodeType":941},{},[26212,26227,26241],{"data":26213,"content":26214,"nodeType":945},{},[26215],{"data":26216,"content":26217,"nodeType":860},{},[26218,26223],{"data":26219,"marks":26220,"value":26222,"nodeType":864},{},[26221],{"type":899},"Google Workspace ",{"data":26224,"marks":26225,"value":26226,"nodeType":864},{},[],"is a significantly lower-risk target because Google explicitly limits which scopes are available to the device code flow — Gmail, Calendar, and most Workspace APIs are simply unavailable through this mechanism. ",{"data":26228,"content":26229,"nodeType":945},{},[26230],{"data":26231,"content":26232,"nodeType":860},{},[26233,26237],{"data":26234,"marks":26235,"value":23700,"nodeType":864},{},[26236],{"type":899},{"data":26238,"marks":26239,"value":26240,"nodeType":864},{},[]," offers the broadest attack surface due to unrestricted scopes, reusable first-party client IDs, and the FOCI/PRT escalation paths. ",{"data":26242,"content":26243,"nodeType":945},{},[26244],{"data":26245,"content":26246,"nodeType":860},{},[26247,26251,26255],{"data":26248,"marks":26249,"value":26250,"nodeType":864},{},[],"Apps like ",{"data":26252,"marks":26253,"value":6423,"nodeType":864},{},[26254],{"type":899},{"data":26256,"marks":26257,"value":26258,"nodeType":864},{},[]," sit in between — broad scopes are available (including full repository access), but the attacker must control their own OAuth app and the victim sees an explicit consent screen. ",{"data":26260,"content":26264,"nodeType":996},{"target":26261},{"sys":26262},{"id":26263,"type":1001,"linkType":1002},"ejNSC76jge1p1zzz9wwiG",[],{"data":26266,"content":26267,"nodeType":1005},{},[],{"data":26269,"content":26270,"nodeType":1009},{},[26271],{"data":26272,"marks":26273,"value":26275,"nodeType":864},{},[26274],{"type":899},"Security recommendations",{"data":26277,"content":26278,"nodeType":860},{},[26279],{"data":26280,"marks":26281,"value":26282,"nodeType":864},{},[],"Security teams need to consider the risk posed by device code phishing across multiple apps where device code authorization grants are common, particularly for developers and technical users. ",{"data":26284,"content":26285,"nodeType":860},{},[26286],{"data":26287,"marks":26288,"value":26289,"nodeType":864},{},[],"In an ideal world, you would simply block device code logins. But this can’t be done without causing serious disruption in some environments, while some apps simply don’t provide the tools required to do so. For example, device code is the default CLI sign-in method for GitHub. Developer-heavy organizations are likely to encounter higher levels of legitimate use.",{"data":26291,"content":26292,"nodeType":860},{},[26293,26297,26306,26310,26315,26319,26324,26328,26333],{"data":26294,"marks":26295,"value":26296,"nodeType":864},{},[],"Microsoft arguably offers the strongest control options (other than Google, who negate it right out of the gate), though they do require a fair amount of work. ",{"data":26298,"content":26300,"nodeType":883},{"uri":26299},"https://techcommunity.microsoft.com/blog/microsoft-entra-blog/new-microsoft-managed-policies-to-raise-your-identity-security-posture/4286758",[26301],{"data":26302,"marks":26303,"value":26305,"nodeType":864},{},[26304],{"type":1455},"Microsoft now explicitly recommends",{"data":26307,"marks":26308,"value":26309,"nodeType":864},{},[]," blocking device code flow for tenants that haven't used it in the past 25 days. Their guidance is to create a custom CA policy: target relevant users, set the ",{"data":26311,"marks":26312,"value":26314,"nodeType":864},{},[26313],{"type":899},"Authentication Flows",{"data":26316,"marks":26317,"value":26318,"nodeType":864},{},[]," condition to block ",{"data":26320,"marks":26321,"value":26323,"nodeType":864},{},[26322],{"type":899},"Device Code Flow",{"data":26325,"marks":26326,"value":26327,"nodeType":864},{},[],", and set the grant control to ",{"data":26329,"marks":26330,"value":26332,"nodeType":864},{},[26331],{"type":899},"Block Access",{"data":26334,"marks":26335,"value":26336,"nodeType":864},{},[],". Deploy in report-only mode first to identify any legitimate device code usage, then enforce with narrow exceptions.",{"data":26338,"content":26342,"nodeType":996},{"target":26339},{"sys":26340},{"id":26341,"type":1001,"linkType":1002},"mQIj2o9xRzkZYKNmanB25",[],{"data":26344,"content":26345,"nodeType":860},{},[26346],{"data":26347,"marks":26348,"value":26349,"nodeType":864},{},[],"For other apps, you’re mainly limited to monitoring and response. Ensuring you’re getting authentication logs for these apps is vital, and searching for unusual access patterns (e.g. unusual login protocols, having different IPs for the authorization grant and subsequent account activity). ",{"data":26351,"content":26352,"nodeType":1005},{},[],{"data":26354,"content":26355,"nodeType":1009},{},[26356],{"data":26357,"marks":26358,"value":26360,"nodeType":864},{},[26359],{"type":899},"How Push Security can help",{"data":26362,"content":26363,"nodeType":860},{},[26364],{"data":26365,"marks":26366,"value":26367,"nodeType":864},{},[],"Push customers can use our browser-based capabilities to overcome the limitations of app-level controls and detect, intercept, and shut down attacks in real time. ",{"data":26369,"content":26370,"nodeType":860},{},[26371],{"data":26372,"marks":26373,"value":26374,"nodeType":864},{},[],"Our research team is already tracking multiple device code phishing campaigns and toolkits, including the EvilTokens kit. Blocking controls are already in place to prevent customers from interacting with malicious pages that match our detections for these new toolkits, ensuring that these pages can be identified and blocked in real time regardless of the infrastructure. ",{"data":26376,"content":26377,"nodeType":860},{},[26378,26382,26391],{"data":26379,"marks":26380,"value":26381,"nodeType":864},{},[],"Using Push you can also ",{"data":26383,"content":26385,"nodeType":883},{"uri":26384},"https://pushsecurity.com/help/can-i-use-push-to-help-protect-against-device-code-phishing-scenarios/",[26386],{"data":26387,"marks":26388,"value":26390,"nodeType":864},{},[26389],{"type":1455},"configure in-browser warnings",{"data":26392,"marks":26393,"value":26394,"nodeType":864},{},[]," whenever a user accesses a URL used for device code logins. This provides universal, last-mile protection against even ‘zero-day’ device code phishing attacks using previously unidentified toolkits.  ",{"data":26396,"content":26400,"nodeType":996},{"target":26397},{"sys":26398},{"id":26399,"type":1001,"linkType":1002},"3JsbGaOKSS3INzBUJpoh1W",[],{"data":26402,"content":26403,"nodeType":860},{},[26404],{"data":26405,"marks":26406,"value":26407,"nodeType":864},{},[],"When a user visits those URLs, Push will also emit a webhook event that the banner was shown and acknowledged. If a user opts to proceed, you can treat this as a high-fidelity alert for your security team to investigate, providing app-agnostic telemetry that may not already be provided in your logs from that particular vendor. You can also simply use Push to block users from accessing device login pages if you’re confident that disruption won’t be caused. ",{"data":26409,"content":26410,"nodeType":1312},{},[26411],{"data":26412,"marks":26413,"value":3578,"nodeType":864},{},[26414],{"type":899},{"data":26416,"content":26417,"nodeType":860},{},[26418],{"data":26419,"marks":26420,"value":26421,"nodeType":864},{},[],"Push Security's browser-based security platform detects and blocks browser-based attacks like AiTM phishing, credential stuffing, malicious browser extensions, ClickFix, and session hijacking. You don't need to wait until it all goes wrong either — you can use Push to proactively find and fix vulnerabilities across the apps that your employees use, like ghost logins, SSO coverage gaps, MFA gaps, vulnerable passwords, and more to harden your attack surface.",{"data":26423,"content":26424,"nodeType":860},{},[26425,26428,26435,26438,26445,26448,26455],{"data":26426,"marks":26427,"value":12936,"nodeType":864},{},[],{"data":26429,"content":26430,"nodeType":883},{"uri":12939},[26431],{"data":26432,"marks":26433,"value":12944,"nodeType":864},{},[26434],{"type":1455},{"data":26436,"marks":26437,"value":3731,"nodeType":864},{},[],{"data":26439,"content":26440,"nodeType":883},{"uri":12950},[26441],{"data":26442,"marks":26443,"value":12956,"nodeType":864},{},[26444],{"type":1455},{"data":26446,"marks":26447,"value":12960,"nodeType":864},{},[],{"data":26449,"content":26450,"nodeType":883},{"uri":1700},[26451],{"data":26452,"marks":26453,"value":12967,"nodeType":864},{},[26454],{"type":1455},{"data":26456,"marks":26457,"value":2924,"nodeType":864},{},[],"Device code phishing attacks have skyrocketed: here’s what you need to know","Device code phishing is seeing a huge spike in adoption in 2026, enabling attackers to steal access tokens while bypassing standard access controls.","2026-04-04T00:00:00.000Z",{"items":26462},[26463,26465],{"sys":26464,"name":6593},{"id":6592},{"sys":26466,"name":342},{"id":6596},{"items":26468},[26469],{"fullName":4949,"firstName":4950,"jobTitle":4951,"profilePicture":26470},{"url":4955},{"__typename":2059,"sys":26472,"content":26474,"title":27416,"synopsis":27417,"hashTags":59,"publishedDate":27418,"slug":27419,"tagsCollection":27420,"authorsCollection":27426},{"id":26473},"2sFCww9xnI8okIxhtOaiY1",{"json":26475},{"data":26476,"content":26477,"nodeType":856},{},[26478,26485,26492,26499,26502,26510,26517,26524,26530,26537,26543,26562,26569,26581,26584,26592,26599,26615,26622,26634,26640,26643,26651,26659,26665,26674,26694,26703,26710,26719,26738,26747,26754,26763,26794,26803,26810,26819,26837,26843,26852,26859,26868,26909,26912,26920,26929,26949,26958,26965,26974,27007,27013,27022,27029,27035,27038,27045,27054,27061,27120,27126,27129,27136,27145,27152,27158,27161,27168,27175,27182,27250,27257,27320,27327,27330,27338,27345,27352,27358,27361,27368,27375,27382,27389],{"data":26479,"content":26480,"nodeType":860},{},[26481],{"data":26482,"marks":26483,"value":26484,"nodeType":864},{},[],"The biggest cybersecurity story this year (so far) has been the emergence of “Scattered Lapsus$ Hunters” and their record-breaking worldwide hacking spree. ",{"data":26486,"content":26487,"nodeType":860},{},[26488],{"data":26489,"marks":26490,"value":26491,"nodeType":864},{},[],"Scattered Lapsus$ Hunters is part of “The Com”, the name for the broad community of English-speaking cybercriminals with international criminal connections — including with nation-state sponsored groups. They are also known to collaborate with a range of cybercrime “as-a-Service” organizations for phishing, initial access, ransomware, and more. ",{"data":26493,"content":26494,"nodeType":860},{},[26495],{"data":26496,"marks":26497,"value":26498,"nodeType":864},{},[],"It’s difficult to pin down exactly who the individuals are that make up this criminal collective. But what is known is their MO — making money through extortion by means of account takeover, mass data theft, and ransomware deployment. ",{"data":26500,"content":26501,"nodeType":1005},{},[],{"data":26503,"content":26504,"nodeType":1009},{},[26505],{"data":26506,"marks":26507,"value":26509,"nodeType":864},{},[26508],{"type":899},"How did we get here? ",{"data":26511,"content":26512,"nodeType":860},{},[26513],{"data":26514,"marks":26515,"value":26516,"nodeType":864},{},[],"Earlier this year, the threat group known to most analysts as Scattered Spider (also tracked as 0ktapus, Octo Tempest, Scatter Swine, Muddled Libra, and UNC3944) re-emerged after a series of arrests in late 2024. ",{"data":26518,"content":26519,"nodeType":860},{},[26520],{"data":26521,"marks":26522,"value":26523,"nodeType":864},{},[],"This group has been active in peaks and troughs over the years, but are mainly known for high-profile ransomware attacks on Caesars and MGM Resorts in 2024. ",{"data":26525,"content":26529,"nodeType":996},{"target":26526},{"sys":26527},{"id":26528,"type":1001,"linkType":1002},"1Vt269d7n6IGMzOrJs1FDx",[],{"data":26531,"content":26532,"nodeType":860},{},[26533],{"data":26534,"marks":26535,"value":26536,"nodeType":864},{},[],"Scattered Spider hit the headlines again in April 2025 with attacks on UK retailers Marks & Spencer and Co-op, which resulted in significant, prolonged disruption, and a serious downstream impact on the retail supply chain. ",{"data":26538,"content":26542,"nodeType":996},{"target":26539},{"sys":26540},{"id":26541,"type":1001,"linkType":1002},"3kvcGV2zZZUPnM8IK04Y1O",[],{"data":26544,"content":26545,"nodeType":860},{},[26546,26550,26558],{"data":26547,"marks":26548,"value":26549,"nodeType":864},{},[],"It didn’t stop there, though. What followed was a wide-scale campaign targeting Salesforce customers, with the attackers claiming to have stolen ",{"data":26551,"content":26552,"nodeType":883},{"uri":12625},[26553],{"data":26554,"marks":26555,"value":26557,"nodeType":864},{},[26556],{"type":1455},"over 1.5 billion records from 1000+ companies",{"data":26559,"marks":26560,"value":26561,"nodeType":864},{},[]," across multiple verticals, including heavyweights like Google, Cloudflare, Workday, Adidas, FedEx, Disney, LVMH, and many more.",{"data":26563,"content":26564,"nodeType":860},{},[26565],{"data":26566,"marks":26567,"value":26568,"nodeType":864},{},[],"Around this time, the attackers began to refer to themselves as part of a wider collective, assuming the moniker “Scattered Lapsus$ Hunters” (a mash-up of names given by analysts and self-adopted by attackers — Scattered Spider, ShinyHunters, and Lapsus$).",{"data":26570,"content":26571,"nodeType":860},{},[26572,26576],{"data":26573,"marks":26574,"value":26575,"nodeType":864},{},[],"The most significant breach this year to-date impacted Jaguar Land Rover. A ransomware attack resulted in months of disruption that directly impacted the UK’s GDP, with the government underwriting a $1.5B loan to alleviate the supply chain impact. ",{"data":26577,"marks":26578,"value":26580,"nodeType":864},{},[26579],{"type":899},"In fact, this was the most economically consequential cyber attack yet recorded in a G7 economy. ",{"data":26582,"content":26583,"nodeType":1005},{},[],{"data":26585,"content":26586,"nodeType":1009},{},[26587],{"data":26588,"marks":26589,"value":26591,"nodeType":864},{},[26590],{"type":899},"2025 wasn’t a one-off",{"data":26593,"content":26594,"nodeType":860},{},[26595],{"data":26596,"marks":26597,"value":26598,"nodeType":864},{},[],"The developments through 2025 have presented a stronger picture than ever before that cybercriminal operations are heavily interlinked. Groups overlap considerably, and individuals freely move between different cells. ",{"data":26600,"content":26601,"nodeType":860},{},[26602,26606,26611],{"data":26603,"marks":26604,"value":26605,"nodeType":864},{},[],"When we scratch beneath the surface, this is evident in the tactics, techniques and procedures (TTPs) used by these attackers — even stretching as far back as 2021 with the initial rise of Lapsus$. This is not an accident. ",{"data":26607,"marks":26608,"value":26610,"nodeType":864},{},[26609],{"type":899},"The TTPs used show a conscious move by attackers to move away from environments that are well-protected by traditional security tools. ",{"data":26612,"marks":26613,"value":26614,"nodeType":864},{},[],"This means avoiding targeting endpoints with malware, and not relying on software-based exploits. Instead, these attackers look to take over apps and services directly over the internet. ",{"data":26616,"content":26617,"nodeType":860},{},[26618],{"data":26619,"marks":26620,"value":26621,"nodeType":864},{},[],"Most of the time, this is as simple as logging in to a SaaS app, or an enterprise SSO account (e.g. Microsoft, Okta, or Google) and dumping the data. For attackers that want to take it further, they can abuse the sprawl of interconnected apps that make up modern business IT, seeking out specific data or exploitable functionality. Or, they can leverage internet-accessible management portals to chart a path back to your on-premise assets, giving them everything they need to pivot toward more conventional methods such as ransomware deployment. ",{"data":26623,"content":26624,"nodeType":860},{},[26625,26629],{"data":26626,"marks":26627,"value":26628,"nodeType":864},{},[],"When we look at historical breaches, the pattern is clear. ",{"data":26630,"marks":26631,"value":26633,"nodeType":864},{},[26632],{"type":899},"Not one of the attacks attributed to Scattered Lapsus$ Hunters, or its predecessors, started with an endpoint or network attack — they all began with account takeover. ",{"data":26635,"content":26639,"nodeType":996},{"target":26636},{"sys":26637},{"id":26638,"type":1001,"linkType":1002},"6poP5VM2ARrEvwKEG42HgK",[],{"data":26641,"content":26642,"nodeType":1005},{},[],{"data":26644,"content":26645,"nodeType":1009},{},[26646],{"data":26647,"marks":26648,"value":26650,"nodeType":864},{},[26649],{"type":899},"TTP breakdown: Analyzing the top “Scattered Lapsus$ Hunters” breaches since 2021",{"data":26652,"content":26653,"nodeType":1312},{},[26654],{"data":26655,"marks":26656,"value":26658,"nodeType":864},{},[26657],{"type":899},"Phishing and stolen credentials",{"data":26660,"content":26664,"nodeType":996},{"target":26661},{"sys":26662},{"id":26663,"type":1001,"linkType":1002},"4SNOanDIdGZsvRRnMYQVSo",[],{"data":26666,"content":26667,"nodeType":860},{},[26668],{"data":26669,"marks":26670,"value":26673,"nodeType":864},{},[26671,26672],{"type":899},{"type":1455},"EA Games (2021)",{"data":26675,"content":26676,"nodeType":860},{},[26677,26681,26690],{"data":26678,"marks":26679,"value":26680,"nodeType":864},{},[],"Attackers used stolen session cookies to log into EA’s Slack instance, purchased on a criminal forum. Combined with ",{"data":26682,"content":26684,"nodeType":883},{"uri":26683},"https://pushsecurity.com/blog/phishing-slack-persistence/",[26685],{"data":26686,"marks":26687,"value":26689,"nodeType":864},{},[26688],{"type":1455},"social engineering via Slack",{"data":26691,"marks":26692,"value":26693,"nodeType":864},{},[],", this was used to steal 750GB of data, including video game source code. ",{"data":26695,"content":26696,"nodeType":860},{},[26697],{"data":26698,"marks":26699,"value":26702,"nodeType":864},{},[26700,26701],{"type":899},{"type":1455},"Nvidia (2022)",{"data":26704,"content":26705,"nodeType":860},{},[26706],{"data":26707,"marks":26708,"value":26709,"nodeType":864},{},[],"Attackers used stolen credentials to steal 1TB of data from Nvidia’s internal shares, including a significant amount of sensitive information about the designs of Nvidia graphics cards, source code, and the usernames and passwords of more than 71,000 Nvidia employees.",{"data":26711,"content":26712,"nodeType":860},{},[26713],{"data":26714,"marks":26715,"value":26718,"nodeType":864},{},[26716,26717],{"type":899},{"type":1455},"Microsoft (2022)",{"data":26720,"content":26721,"nodeType":860},{},[26722,26726,26734],{"data":26723,"marks":26724,"value":26725,"nodeType":864},{},[],"Attackers used stolen credentials combined with SIM swapping and ",{"data":26727,"content":26729,"nodeType":883},{"uri":26728},"https://github.com/pushsecurity/saas-attacks/blob/main/techniques/mfa_fatigue/description.md",[26730],{"data":26731,"marks":26732,"value":26733,"nodeType":864},{},[],"MFA fatigue",{"data":26735,"marks":26736,"value":26737,"nodeType":864},{},[]," attacks to steal Azure DevOps source code — leaked a 9GB archive of Microsoft source code – including ~90% of Bing and 45% of Cortana code. ",{"data":26739,"content":26740,"nodeType":860},{},[26741],{"data":26742,"marks":26743,"value":26746,"nodeType":864},{},[26744,26745],{"type":899},{"type":1455},"T-Mobile (2022)",{"data":26748,"content":26749,"nodeType":860},{},[26750],{"data":26751,"marks":26752,"value":26753,"nodeType":864},{},[],"Attackers used stolen credentials to establish initial access, coupled with social engineering T-Mobile staff into approving the attacker’s device for VPN access. This resulted in source code being stolen from over 30,000 repositories. ",{"data":26755,"content":26756,"nodeType":860},{},[26757],{"data":26758,"marks":26759,"value":26762,"nodeType":864},{},[26760,26761],{"type":899},{"type":1455},"Snowflake (165 customers) (2024)",{"data":26764,"content":26765,"nodeType":860},{},[26766,26770,26778,26782,26790],{"data":26767,"marks":26768,"value":26769,"nodeType":864},{},[],"Attackers targeted ",{"data":26771,"content":26772,"nodeType":883},{"uri":3751},[26773],{"data":26774,"marks":26775,"value":26777,"nodeType":864},{},[26776],{"type":1455},"165 Snowflake customers",{"data":26779,"marks":26780,"value":26781,"nodeType":864},{},[]," using stolen credentials from credential breaches dating back as far as 2020. Due to widespread MFA gaps and the presence of ",{"data":26783,"content":26785,"nodeType":883},{"uri":26784},"https://github.com/pushsecurity/saas-attacks/blob/main/techniques/ghost_logins/description.md",[26786],{"data":26787,"marks":26788,"value":17706,"nodeType":864},{},[26789],{"type":1455},{"data":26791,"marks":26792,"value":26793,"nodeType":864},{},[],", attackers were able to simply log in to individual customer tenants, dump the data, and use it to extort the companies. In total, 9 public victims were named following the breach, with over 1B breached customer records. ",{"data":26795,"content":26796,"nodeType":860},{},[26797],{"data":26798,"marks":26799,"value":26802,"nodeType":864},{},[26800,26801],{"type":899},{"type":1455},"PowerSchool (2024)",{"data":26804,"content":26805,"nodeType":860},{},[26806],{"data":26807,"marks":26808,"value":26809,"nodeType":864},{},[],"Attackers gained access to a community-focused customer support portal, PowerSource, using compromised credentials and stole data using an \"export data manager\" customer support tool, stealing the data of 62.4 million students and 9.5 million teachers. PowerSchool paid an undisclosed ransom fee, but hackers returned later to extort schools and individuals separately anyway.",{"data":26811,"content":26812,"nodeType":860},{},[26813],{"data":26814,"marks":26815,"value":26818,"nodeType":864},{},[26816,26817],{"type":899},{"type":1455},"Red Hat (2025)",{"data":26820,"content":26821,"nodeType":860},{},[26822,26826,26833],{"data":26823,"marks":26824,"value":26825,"nodeType":864},{},[],"Attackers breached Red Hat’s GitLab instance via a compromised account — the result of ",{"data":26827,"content":26828,"nodeType":883},{"uri":26784},[26829],{"data":26830,"marks":26831,"value":17706,"nodeType":864},{},[26832],{"type":1455},{"data":26834,"marks":26835,"value":26836,"nodeType":864},{},[]," providing a backdoor to access an otherwise secure, SSO-connected account. Stolen data included approximately 800 Customer Engagement Reports (CERs), authentication tokens, full database URIs, and other private information in Red Hat code and CERs, which they claimed to use to gain access to downstream customer infrastructure. ",{"data":26838,"content":26842,"nodeType":996},{"target":26839},{"sys":26840},{"id":26841,"type":1001,"linkType":1002},"G1V7d5Dvevmr9p0YXElPX",[],{"data":26844,"content":26845,"nodeType":860},{},[26846],{"data":26847,"marks":26848,"value":26851,"nodeType":864},{},[26849,26850],{"type":899},{"type":1455},"Discord (2025)",{"data":26853,"content":26854,"nodeType":860},{},[26855],{"data":26856,"marks":26857,"value":26858,"nodeType":864},{},[],"Attackers compromised a Zendesk customer support account, stealing 1.6TB of data. The hackers say this consisted of roughly 8.4 million tickets affecting 5.5 million unique users, and that about 580,000 users contained payment information.",{"data":26860,"content":26861,"nodeType":860},{},[26862],{"data":26863,"marks":26864,"value":26867,"nodeType":864},{},[26865,26866],{"type":899},{"type":1455},"SoundCloud, MatchGroup, Crunchbase, Betterment... (2026)",{"data":26869,"content":26870,"nodeType":860},{},[26871,26875,26883,26886,26894,26898,26905],{"data":26872,"marks":26873,"value":26874,"nodeType":864},{},[],"Scattered Lapsus$ Hunters have already claimed several public victims in 2026, with over 60 million breached records. ",{"data":26876,"content":26878,"nodeType":883},{"uri":26877},"https://www.bleepingcomputer.com/news/security/shinyhunters-claim-to-be-behind-sso-account-data-theft-attacks/",[26879],{"data":26880,"marks":26881,"value":26882,"nodeType":864},{},[],"SoundCloud, Betterment, Crunchbase",{"data":26884,"marks":26885,"value":902,"nodeType":864},{},[],{"data":26887,"content":26889,"nodeType":883},{"uri":26888},"https://www.bleepingcomputer.com/news/security/match-group-breach-exposes-data-from-hinge-tinder-okcupid-and-match/",[26890],{"data":26891,"marks":26892,"value":26893,"nodeType":864},{},[],"MatchGroup",{"data":26895,"marks":26896,"value":26897,"nodeType":864},{},[]," have all reported breaches this month, powered by a brand ",{"data":26899,"content":26900,"nodeType":883},{"uri":6259},[26901],{"data":26902,"marks":26903,"value":26904,"nodeType":864},{},[],"new real-time-operated AiTM phishing kit",{"data":26906,"marks":26907,"value":26908,"nodeType":864},{},[]," targeting Okta, Entra, and Google SSO accounts. This is a developing situation, with more victims expected to be announced publicly soon.",{"data":26910,"content":26911,"nodeType":1005},{},[],{"data":26913,"content":26914,"nodeType":1312},{},[26915],{"data":26916,"marks":26917,"value":26919,"nodeType":864},{},[26918],{"type":899},"Vishing and help desk scams",{"data":26921,"content":26922,"nodeType":860},{},[26923],{"data":26924,"marks":26925,"value":26928,"nodeType":864},{},[26926,26927],{"type":899},{"type":1455},"MGM Resorts & Caesars (2023)",{"data":26930,"content":26931,"nodeType":860},{},[26932,26936,26945],{"data":26933,"marks":26934,"value":26935,"nodeType":864},{},[],"MGM Resorts and Caesars were hit with twin breaches in 2023. Attackers socially engineered help desk personnel to take over accounts with Super Administrator privileges within MGM Resorts’ Okta tenant, which they then used to register a second, attacker-controlled IdP via ",{"data":26937,"content":26939,"nodeType":883},{"uri":26938},"https://github.com/pushsecurity/saas-attacks/blob/main/techniques/inbound_federation/description.md",[26940],{"data":26941,"marks":26942,"value":26944,"nodeType":864},{},[26943],{"type":1455},"inbound federation",{"data":26946,"marks":26947,"value":26948,"nodeType":864},{},[]," — granting comprehensive access that was used to deploy ransomware. ",{"data":26950,"content":26951,"nodeType":860},{},[26952],{"data":26953,"marks":26954,"value":26957,"nodeType":864},{},[26955,26956],{"type":899},{"type":1455},"Transport for London (2024)",{"data":26959,"content":26960,"nodeType":860},{},[26961],{"data":26962,"marks":26963,"value":26964,"nodeType":864},{},[],"Attackers socially engineered the Transport for London help desk to gain privileged access to the IT environment, resulting in prolonged disruption to key online services underpinning London’s public transport network, theft of 5,000 users bank details, and all 30,000 staff members having to reset their online credentials in person.",{"data":26966,"content":26967,"nodeType":860},{},[26968],{"data":26969,"marks":26970,"value":26973,"nodeType":864},{},[26971,26972],{"type":899},{"type":1455},"Marks & Spencer (2025)",{"data":26975,"content":26976,"nodeType":860},{},[26977,26981,26990,26994,27003],{"data":26978,"marks":26979,"value":26980,"nodeType":864},{},[],"Attackers compromised a Microsoft Entra account belonging to a privileged user via a ",{"data":26982,"content":26984,"nodeType":883},{"uri":26983},"https://pushsecurity.com/blog/scattered-spider-defending-against-help-desk-scams/",[26985],{"data":26986,"marks":26987,"value":26989,"nodeType":864},{},[26988],{"type":1455},"help desk scam",{"data":26991,"marks":26992,"value":26993,"nodeType":864},{},[],", which enabled them to steal sensitive data from cloud environments, as well as pivot to deploy ransomware via the ",{"data":26995,"content":26997,"nodeType":883},{"uri":26996},"https://cloud.google.com/blog/topics/threat-intelligence/vsphere-active-directory-integration-risks",[26998],{"data":26999,"marks":27000,"value":27002,"nodeType":864},{},[27001],{"type":1455},"VMware admin console",{"data":27004,"marks":27005,"value":27006,"nodeType":864},{},[],". This enabled ransomware to be deployed at the hypervisor layer, evading host-based protections like EDR. ",{"data":27008,"content":27012,"nodeType":996},{"target":27009},{"sys":27010},{"id":27011,"type":1001,"linkType":1002},"7hBdHG74NaA3bQfOMpYA9o",[],{"data":27014,"content":27015,"nodeType":860},{},[27016],{"data":27017,"marks":27018,"value":27021,"nodeType":864},{},[27019,27020],{"type":899},{"type":1455},"Jaguar Land Rover (2025)",{"data":27023,"content":27024,"nodeType":860},{},[27025],{"data":27026,"marks":27027,"value":27028,"nodeType":864},{},[],"Attackers compromised highly privileged admin accounts via a help desk scam, which they leveraged to access and deploy ransomware to all aspects of Jaguar’s business, from CAD and engineering software, to payments tracking, to customer car delivery, using similar techniques to the Marks & Spencer breach. ",{"data":27030,"content":27034,"nodeType":996},{"target":27031},{"sys":27032},{"id":27033,"type":1001,"linkType":1002},"6s1X2fo4K9EeVLBmHm4YXb",[],{"data":27036,"content":27037,"nodeType":1005},{},[],{"data":27039,"content":27040,"nodeType":1312},{},[27041],{"data":27042,"marks":27043,"value":694,"nodeType":864},{},[27044],{"type":899},{"data":27046,"content":27047,"nodeType":860},{},[27048],{"data":27049,"marks":27050,"value":27053,"nodeType":864},{},[27051,27052],{"type":899},{"type":1455},"Salesforce & Salesloft (1000+ customers) (2025)",{"data":27055,"content":27056,"nodeType":860},{},[27057],{"data":27058,"marks":27059,"value":27060,"nodeType":864},{},[],"A vast campaign against Salesforce customers resulted in the compromise of 1000+ Salesforce tenants (according to the attacker) with more than 1.5 billion records stolen. This campaign can consisted of three phases:",{"data":27062,"content":27063,"nodeType":941},{},[27064,27079,27094],{"data":27065,"content":27066,"nodeType":945},{},[27067],{"data":27068,"content":27069,"nodeType":860},{},[27070,27075],{"data":27071,"marks":27072,"value":27074,"nodeType":864},{},[27073],{"type":899},"Phase 1:",{"data":27076,"marks":27077,"value":27078,"nodeType":864},{},[]," The attacker conducted a large-scale vishing campaign against Salesforce customers, calling up users and socially engineering them into connecting a malicious version of the “Data Loader” app into their tenant. This was in fact an attacker-controlled app that enabled data to be mass-exfiltrated via API. ",{"data":27080,"content":27081,"nodeType":945},{},[27082],{"data":27083,"content":27084,"nodeType":860},{},[27085,27090],{"data":27086,"marks":27087,"value":27089,"nodeType":864},{},[27088],{"type":899},"Phase 2: ",{"data":27091,"marks":27092,"value":27093,"nodeType":864},{},[],"The attacker conducted a supply-chain compromise against customers of Salesloft. Users of Salesloft’s “Drift” integration were impacted by attackers stealing access tokens from Salesloft’s AWS environment. This integration allowed the attacker to steal data from customers that had deployed Drift to connected environments — namely, Salesforce, and Google Workspace. ",{"data":27095,"content":27096,"nodeType":945},{},[27097],{"data":27098,"content":27099,"nodeType":860},{},[27100,27105,27109,27116],{"data":27101,"marks":27102,"value":27104,"nodeType":864},{},[27103],{"type":899},"Phase 3:",{"data":27106,"marks":27107,"value":27108,"nodeType":864},{},[]," The attacker then conducted a separate supply-chain compromise involving Gainsight (allegedly using OAuth tokens stolen in the Salesloft attack) which enabled them to ",{"data":27110,"content":27111,"nodeType":883},{"uri":12638},[27112],{"data":27113,"marks":27114,"value":27115,"nodeType":864},{},[],"breach a further 285 Salesforce instances",{"data":27117,"marks":27118,"value":27119,"nodeType":864},{},[]," using stolen OAuth tokens from Gainsight's integrations. ",{"data":27121,"content":27125,"nodeType":996},{"target":27122},{"sys":27123},{"id":27124,"type":1001,"linkType":1002},"3TwjpVKQ42SwQRhvGFbZdn",[],{"data":27127,"content":27128,"nodeType":1005},{},[],{"data":27130,"content":27131,"nodeType":1312},{},[27132],{"data":27133,"marks":27134,"value":699,"nodeType":864},{},[27135],{"type":899},{"data":27137,"content":27138,"nodeType":860},{},[27139],{"data":27140,"marks":27141,"value":27144,"nodeType":864},{},[27142,27143],{"type":899},{"type":1455},"CyberHaven (2024)",{"data":27146,"content":27147,"nodeType":860},{},[27148],{"data":27149,"marks":27150,"value":27151,"nodeType":864},{},[],"Hackers phished a CyberHaven extension developer and uploaded a malicious version of the CyberHaven extension to the Chrome Web Store, leading to customer data breaches where installed in user browsers, impacting CyberHaven’s estimated ~400 business customers. This was part of a broader campaign that targeted 35 Chrome extensions, collectively impacting over 2.5 million users.",{"data":27153,"content":27157,"nodeType":996},{"target":27154},{"sys":27155},{"id":27156,"type":1001,"linkType":1002},"4ErDI0xi0Vj2Zrk8Qsb2NB",[],{"data":27159,"content":27160,"nodeType":1005},{},[],{"data":27162,"content":27163,"nodeType":1009},{},[27164],{"data":27165,"marks":27166,"value":5520,"nodeType":864},{},[27167],{"type":899},{"data":27169,"content":27170,"nodeType":860},{},[27171],{"data":27172,"marks":27173,"value":27174,"nodeType":864},{},[],"Scattered Lapsus$ Hunters are dominating the headlines right now, but they aren’t the only attackers using these modern techniques and consciously evading established security controls. ",{"data":27176,"content":27177,"nodeType":860},{},[27178],{"data":27179,"marks":27180,"value":27181,"nodeType":864},{},[],"Threat reports agree that attackers are steering away from traditional exploit and malware-driven breaches towards identities:",{"data":27183,"content":27184,"nodeType":941},{},[27185,27207,27229],{"data":27186,"content":27187,"nodeType":945},{},[27188],{"data":27189,"content":27190,"nodeType":860},{},[27191,27195,27203],{"data":27192,"marks":27193,"value":27194,"nodeType":864},{},[],"Identity-based attacks surged 32% in the last year, while 97% of identity attacks are password-based, driven by credential leaks and infostealer malware. (",{"data":27196,"content":27198,"nodeType":883},{"uri":27197},"https://cdn-dynmedia-1.microsoft.com/is/content/microsoftcorp/microsoft/msc/documents/presentations/CSR/Microsoft-Digital-Defense-Report-2025.pdf#page=1",[27199],{"data":27200,"marks":27201,"value":23700,"nodeType":864},{},[27202],{"type":1455},{"data":27204,"marks":27205,"value":27206,"nodeType":864},{},[],")",{"data":27208,"content":27209,"nodeType":945},{},[27210],{"data":27211,"content":27212,"nodeType":860},{},[27213,27217,27226],{"data":27214,"marks":27215,"value":27216,"nodeType":864},{},[],"79% of detections were malware-free in the last year, up from 40% in 2019. (",{"data":27218,"content":27220,"nodeType":883},{"uri":27219},"https://www.crowdstrike.com/en-gb/global-threat-report/",[27221],{"data":27222,"marks":27223,"value":27225,"nodeType":864},{},[27224],{"type":1455},"CrowdStrike",{"data":27227,"marks":27228,"value":27206,"nodeType":864},{},[],{"data":27230,"content":27231,"nodeType":945},{},[27232],{"data":27233,"content":27234,"nodeType":860},{},[27235,27239,27247],{"data":27236,"marks":27237,"value":27238,"nodeType":864},{},[],"Credential abuse and phishing combined accounted for 38% of breaches, making identity the primary breach vector observed. (",{"data":27240,"content":27241,"nodeType":883},{"uri":8628},[27242],{"data":27243,"marks":27244,"value":27246,"nodeType":864},{},[27245],{"type":1455},"Verizon",{"data":27248,"marks":27249,"value":27206,"nodeType":864},{},[],{"data":27251,"content":27252,"nodeType":860},{},[27253],{"data":27254,"marks":27255,"value":27256,"nodeType":864},{},[],"And other public breaches from this year alone demonstrate similar TTPs from outside of the Scattered Lapsus$ Hunters orbit:",{"data":27258,"content":27259,"nodeType":941},{},[27260,27275,27290,27305],{"data":27261,"content":27262,"nodeType":945},{},[27263],{"data":27264,"content":27265,"nodeType":860},{},[27266,27271],{"data":27267,"marks":27268,"value":27270,"nodeType":864},{},[27269],{"type":899},"Nikkei",{"data":27272,"marks":27273,"value":27274,"nodeType":864},{},[],": Japanese publishing giant Nikkei’s Slack messaging platform was compromised using stolen credentials, leaking the names, email addresses, and chat histories for 17,368 individuals registered on Slack.",{"data":27276,"content":27277,"nodeType":945},{},[27278],{"data":27279,"content":27280,"nodeType":860},{},[27281,27286],{"data":27282,"marks":27283,"value":27285,"nodeType":864},{},[27284],{"type":899},"Evertec",{"data":27287,"marks":27288,"value":27289,"nodeType":864},{},[],": Hackers tried to steal $130 million from Evertec’s Brazilian subsidiary Sinqia S.A.after gaining unauthorized access to its environment on the central bank’s real-time payment system (Pix) using stolen credentials.",{"data":27291,"content":27292,"nodeType":945},{},[27293],{"data":27294,"content":27295,"nodeType":860},{},[27296,27301],{"data":27297,"marks":27298,"value":27300,"nodeType":864},{},[27299],{"type":899},"Hy-Vee:",{"data":27302,"marks":27303,"value":27304,"nodeType":864},{},[]," Was hit with a data breach after hackers logged in with stolen credentials, exposing 53GB of sensitive data.",{"data":27306,"content":27307,"nodeType":945},{},[27308],{"data":27309,"content":27310,"nodeType":860},{},[27311,27316],{"data":27312,"marks":27313,"value":27315,"nodeType":864},{},[27314],{"type":899},"Scania: ",{"data":27317,"marks":27318,"value":27319,"nodeType":864},{},[],"Automotive giant Scania confirmed it suffered a cybersecurity incident where threat actors used compromised credentials to breach its Financial Services systems and steal insurance claim documents.",{"data":27321,"content":27322,"nodeType":860},{},[27323],{"data":27324,"marks":27325,"value":27326,"nodeType":864},{},[],"Scattered Lapsus$ Hunters may be grabbing the headlines — but this a huge movement in a vast and flexible community of attackers. And criminals around the world are learning from their success. ",{"data":27328,"content":27329,"nodeType":1005},{},[],{"data":27331,"content":27332,"nodeType":1009},{},[27333],{"data":27334,"marks":27335,"value":27337,"nodeType":864},{},[27336],{"type":899},"Lessons learned",{"data":27339,"content":27340,"nodeType":860},{},[27341],{"data":27342,"marks":27343,"value":27344,"nodeType":864},{},[],"The common thread with all of these attacks is that they are evading established security controls by targeting applications directly, over the internet, via account takeover.",{"data":27346,"content":27347,"nodeType":860},{},[27348],{"data":27349,"marks":27350,"value":27351,"nodeType":864},{},[],"Clearly, the success of these attacks shows the limitations of multiple control layers. Endpoint and network layer controls have no visibility of this attack surface. Identity-focused controls are being undermined by ghost logins and shadow IT. And the limitations of cloud security controls in their ability to encompass all apps, and detect and stop malicious actions in real-time (that often blend in seamlessly with normal user activity). ",{"data":27353,"content":27357,"nodeType":996},{"target":27354},{"sys":27355},{"id":27356,"type":1001,"linkType":1002},"4Dg3fZEGf7ShyQJ8jlNDME",[],{"data":27359,"content":27360,"nodeType":1005},{},[],{"data":27362,"content":27363,"nodeType":1009},{},[27364],{"data":27365,"marks":27366,"value":8991,"nodeType":864},{},[27367],{"type":899},{"data":27369,"content":27370,"nodeType":860},{},[27371],{"data":27372,"marks":27373,"value":27374,"nodeType":864},{},[],"Stopping attacks that are designed to evade established controls is in our DNA — it’s the reason Push was founded. ",{"data":27376,"content":27377,"nodeType":860},{},[27378],{"data":27379,"marks":27380,"value":27381,"nodeType":864},{},[],"The browser is the gateway to to the apps and identities that attackers are now targeting, with many attacks taking place inside the user’s browser — whether that’s entering credentials onto a phishing page, approving a malicious OAuth grant, installing a risky browser extension, or insecurely accessing an app with a weak password and no MFA. ",{"data":27383,"content":27384,"nodeType":860},{},[27385],{"data":27386,"marks":27387,"value":27388,"nodeType":864},{},[],"Push’s browser-based security platform provides comprehensive detection and response capabilities against attacks like AiTM phishing, credential stuffing, malicious browser extensions, malicious OAuth grants, ClickFix, and session hijacking. You don’t need to wait until it all goes wrong either — you can use Push to proactively find and fix vulnerabilities across the apps that your employees use, like ghost logins, SSO coverage gaps, MFA gaps, vulnerable passwords, and more to harden your attack surface.",{"data":27390,"content":27391,"nodeType":860},{},[27392,27395,27402,27406,27413],{"data":27393,"marks":27394,"value":12936,"nodeType":864},{},[],{"data":27396,"content":27397,"nodeType":883},{"uri":12939},[27398],{"data":27399,"marks":27400,"value":12944,"nodeType":864},{},[27401],{"type":1455},{"data":27403,"marks":27404,"value":27405,"nodeType":864},{},[]," or ",{"data":27407,"content":27408,"nodeType":883},{"uri":1700},[27409],{"data":27410,"marks":27411,"value":12967,"nodeType":864},{},[27412],{"type":1455},{"data":27414,"marks":27415,"value":2924,"nodeType":864},{},[],"\"Scattered Lapsus$ Hunters\" — how modern attackers exploit the gaps in your security stack ","How Scattered Lapsus$ Hunters breaches demonstrate the evolution of attacker TTPs, shaping the future of cyber attacks.","2025-11-13T00:00:00.000Z","scattered-lapsus-hunters",{"items":27421},[27422,27424],{"sys":27423,"name":6593},{"id":6592},{"sys":27425,"name":342},{"id":6596},{"items":27427},[27428],{"fullName":2736,"firstName":2737,"jobTitle":2738,"profilePicture":27429},{"url":2740},{"__typename":2059,"sys":27431,"content":27433,"title":28779,"synopsis":28780,"hashTags":59,"publishedDate":28781,"slug":28782,"tagsCollection":28783,"authorsCollection":28789},{"id":27432},"wI3paLVDlEKdaRI5qMYFc",{"json":27434},{"data":27435,"content":27436,"nodeType":856},{},[27437,27444,27467,27474,27480,27487,27494,27501,27507,27510,27518,27525,27531,27537,27553,27755,27767,27775,27782,27789,27796,27816,27822,27829,27832,27840,27847,27880,27887,27903,27924,27959,27965,27972,27991,27998,28005,28008,28016,28023,28116,28123,28130,28138,28145,28152,28159,28165,28173,28180,28187,28194,28200,28207,28215,28233,28241,28248,28254,28257,28265,28272,28279,28389,28395,28402,28409,28416,28423,28430,28438,28445,28452,28476,28482,28498,28513,28528,28534,28542,28549,28557,28564,28567,28575,28582,28614,28620,28642,28649,28652,28660,28667,28683,28689,28696,28703,28706,28713,28731,28738],{"data":27438,"content":27439,"nodeType":860},{},[27440],{"data":27441,"marks":27442,"value":27443,"nodeType":864},{},[],"Here are two things that can’t both be true:",{"data":27445,"content":27446,"nodeType":941},{},[27447,27457],{"data":27448,"content":27449,"nodeType":945},{},[27450],{"data":27451,"content":27452,"nodeType":860},{},[27453],{"data":27454,"marks":27455,"value":27456,"nodeType":864},{},[],"Users are the weakest link in security. They just need to stop clicking on things.",{"data":27458,"content":27459,"nodeType":945},{},[27460],{"data":27461,"content":27462,"nodeType":860},{},[27463],{"data":27464,"marks":27465,"value":27466,"nodeType":864},{},[],"The internet is a giant clicking-on-things machine.",{"data":27468,"content":27469,"nodeType":860},{},[27470],{"data":27471,"marks":27472,"value":27473,"nodeType":864},{},[],"In particular, when we look at the TTPs of modern browser-based attacks that target employees, it’s obvious where this disconnect has real consequences. ",{"data":27475,"content":27479,"nodeType":996},{"target":27476},{"sys":27477},{"id":27478,"type":1001,"linkType":1002},"2x3blnHzZYcJ8c439C4NqI",[],{"data":27481,"content":27482,"nodeType":860},{},[27483],{"data":27484,"marks":27485,"value":27486,"nodeType":864},{},[],"Here’s why: Security tooling hasn’t kept up with adversary advances, and normal human behaviors are being expressly targeted via the browser to achieve compromise of accounts and endpoints. If you list the pitfalls facing the common end-user encountering these kinds of attack methods, the picture becomes even more stark.",{"data":27488,"content":27489,"nodeType":860},{},[27490],{"data":27491,"marks":27492,"value":27493,"nodeType":864},{},[],"To solve these problems, you need security tooling that sits in line with the user where they’re already working: In the browser. In this Push product guide, we’ll cover how you can use Push to provide point-in-time guidance — everything from block pages to informational banners — to protect users from modern browser-based TTPs and to guide them to remediate common vulnerabilities that can lead to account takeover.",{"data":27495,"content":27496,"nodeType":860},{},[27497],{"data":27498,"marks":27499,"value":27500,"nodeType":864},{},[],"We’ve also recently introduced custom branding and styling options for user-facing block pages and banners so you can provide a cohesive and trustworthy experience across your security ecosystem.",{"data":27502,"content":27506,"nodeType":996},{"target":27503},{"sys":27504},{"id":27505,"type":1001,"linkType":1002},"7fwCnr9bz76rWWCL6EReOT",[],{"data":27508,"content":27509,"nodeType":1005},{},[],{"data":27511,"content":27512,"nodeType":1009},{},[27513],{"data":27514,"marks":27515,"value":27517,"nodeType":864},{},[27516],{"type":899},"Why you can’t train users to recognize modern browser-based attack methods",{"data":27519,"content":27520,"nodeType":860},{},[27521],{"data":27522,"marks":27523,"value":27524,"nodeType":864},{},[],"User awareness training can help you build your workforce’s basic security baseline. But it’s not a reliable remedy for modern browser-based TTPs. When you look at the creative methods attackers are using — and rapidly improving on — it’s obvious why.",{"data":27526,"content":27530,"nodeType":996},{"target":27527},{"sys":27528},{"id":27529,"type":1001,"linkType":1002},"eHla7GPCH5eTpdfEqW5Zo",[],{"data":27532,"content":27536,"nodeType":996},{"target":27533},{"sys":27534},{"id":27535,"type":1001,"linkType":1002},"29vUtbEUam8fhbwnQdINRJ",[],{"data":27538,"content":27539,"nodeType":860},{},[27540,27544,27549],{"data":27541,"marks":27542,"value":27543,"nodeType":864},{},[],"To avoid account or endpoint compromise while going about your daily work as a user, you would need to accomplish these ",{"data":27545,"marks":27546,"value":27548,"nodeType":864},{},[27547],{"type":2246},"extremely 100% achievable activities",{"data":27550,"marks":27551,"value":27552,"nodeType":864},{},[],", including:",{"data":27554,"content":27555,"nodeType":4845},{},[27556,27581,27623,27646,27680,27712],{"data":27557,"content":27558,"nodeType":4581},{},[27559,27570],{"data":27560,"content":27561,"nodeType":7282},{},[27562],{"data":27563,"content":27564,"nodeType":860},{},[27565],{"data":27566,"marks":27567,"value":27569,"nodeType":864},{},[27568],{"type":899},"Scenario",{"data":27571,"content":27572,"nodeType":7282},{},[27573],{"data":27574,"content":27575,"nodeType":860},{},[27576],{"data":27577,"marks":27578,"value":27580,"nodeType":864},{},[27579],{"type":899},"Threat",{"data":27582,"content":27583,"nodeType":4581},{},[27584,27609],{"data":27585,"content":27586,"nodeType":4569},{},[27587],{"data":27588,"content":27589,"nodeType":860},{},[27590,27594,27605],{"data":27591,"marks":27592,"value":27593,"nodeType":864},{},[],"While using search engines, never click on a ",{"data":27595,"content":27599,"nodeType":27604},{"target":27596},{"sys":27597},{"id":27598,"type":1001,"linkType":1002},"2YmiesBvJHGw4wiKEKzLUq",[27600],{"data":27601,"marks":27602,"value":27603,"nodeType":864},{},[],"malicious link","entry-hyperlink",{"data":27606,"marks":27607,"value":27608,"nodeType":864},{},[]," in sponsored or organic results (it's often the first link you see, too).",{"data":27610,"content":27611,"nodeType":4569},{},[27612],{"data":27613,"content":27614,"nodeType":860},{},[27615,27619],{"data":27616,"marks":27617,"value":27618,"nodeType":864},{},[],"M",{"data":27620,"marks":27621,"value":27622,"nodeType":864},{},[],"alvertising, SEO poisoning, compromised legitimate webpages, vibecoded phishing webpages.",{"data":27624,"content":27625,"nodeType":4581},{},[27626,27636],{"data":27627,"content":27628,"nodeType":4569},{},[27629],{"data":27630,"content":27631,"nodeType":860},{},[27632],{"data":27633,"marks":27634,"value":27635,"nodeType":864},{},[],"Know when to trust an email coming from an app you use every day, and when it could be malicious (it looks the same).",{"data":27637,"content":27638,"nodeType":4569},{},[27639],{"data":27640,"content":27641,"nodeType":860},{},[27642],{"data":27643,"marks":27644,"value":27645,"nodeType":864},{},[],"Using SaaS services to distribute malicious links using trusted sites (also a handy way of evading email controls).",{"data":27647,"content":27648,"nodeType":4581},{},[27649,27670],{"data":27650,"content":27651,"nodeType":4569},{},[27652],{"data":27653,"content":27654,"nodeType":860},{},[27655,27659,27667],{"data":27656,"marks":27657,"value":27658,"nodeType":864},{},[],"When reading a LinkedIn DM from a colleague, anticipate that they might have been hacked and have sent you a malicious link. (Yes, this was a ",{"data":27660,"content":27662,"nodeType":883},{"uri":27661},"https://pushsecurity.com/blog/how-push-stopped-a-high-risk-linkedin-spear-phishing-attack/",[27663],{"data":27664,"marks":27665,"value":27666,"nodeType":864},{},[],"real scenario",{"data":27668,"marks":27669,"value":7133,"nodeType":864},{},[],{"data":27671,"content":27672,"nodeType":4569},{},[27673],{"data":27674,"content":27675,"nodeType":860},{},[27676],{"data":27677,"marks":27678,"value":27679,"nodeType":864},{},[],"Abuse of social media, IM platforms, and other apps where you can be directly contacted by users external to your organization. ",{"data":27681,"content":27682,"nodeType":4581},{},[27683,27693],{"data":27684,"content":27685,"nodeType":4569},{},[27686],{"data":27687,"content":27688,"nodeType":860},{},[27689],{"data":27690,"marks":27691,"value":27692,"nodeType":864},{},[],"When logging in to an app, never follow benign-seeming but actually malicious instructions to enter a code onto a legitimate page to complete your login.",{"data":27694,"content":27695,"nodeType":4569},{},[27696],{"data":27697,"content":27698,"nodeType":860},{},[27699,27703,27709],{"data":27700,"marks":27701,"value":27702,"nodeType":864},{},[],"AiTM phishing, OAuth consent phishing, ",{"data":27704,"content":27705,"nodeType":883},{"uri":3259},[27706],{"data":27707,"marks":27708,"value":23342,"nodeType":864},{},[],{"data":27710,"marks":27711,"value":2924,"nodeType":864},{},[],{"data":27713,"content":27714,"nodeType":4581},{},[27715,27725],{"data":27716,"content":27717,"nodeType":4569},{},[27718],{"data":27719,"content":27720,"nodeType":860},{},[27721],{"data":27722,"marks":27723,"value":27724,"nodeType":864},{},[],"Know which instructions to follow and which are malicious when verifying that you're human on a CAPTCHA-style page.",{"data":27726,"content":27727,"nodeType":4569},{},[27728],{"data":27729,"content":27730,"nodeType":860},{},[27731,27734,27741,27745,27751],{"data":27732,"marks":27733,"value":21,"nodeType":864},{},[],{"data":27735,"content":27737,"nodeType":883},{"uri":27736},"https://pushsecurity.com/blog/the-most-advanced-clickfix-yet/",[27738],{"data":27739,"marks":27740,"value":315,"nodeType":864},{},[],{"data":27742,"marks":27743,"value":27744,"nodeType":864},{},[],"-style attacks that trick the user into running a malicious script or command, or ",{"data":27746,"content":27747,"nodeType":883},{"uri":6036},[27748],{"data":27749,"marks":27750,"value":6041,"nodeType":864},{},[],{"data":27752,"marks":27753,"value":27754,"nodeType":864},{},[]," (which is even sneakier and simply involves copying a URL).",{"data":27756,"content":27757,"nodeType":860},{},[27758,27762],{"data":27759,"marks":27760,"value":27761,"nodeType":864},{},[],"And we're barely scratching the surface here. ",{"data":27763,"marks":27764,"value":27766,"nodeType":864},{},[27765],{"type":899},"Easy, right?",{"data":27768,"content":27769,"nodeType":1312},{},[27770],{"data":27771,"marks":27772,"value":27774,"nodeType":864},{},[27773],{"type":899},"Can't we block users from interacting with bad content? ",{"data":27776,"content":27777,"nodeType":860},{},[27778],{"data":27779,"marks":27780,"value":27781,"nodeType":864},{},[],"So if you can’t train your way out of these problems, what about locking down and blocking your way out of the problem?",{"data":27783,"content":27784,"nodeType":860},{},[27785],{"data":27786,"marks":27787,"value":27788,"nodeType":864},{},[],"This, too, simply isn’t really feasible. ",{"data":27790,"content":27791,"nodeType":860},{},[27792],{"data":27793,"marks":27794,"value":27795,"nodeType":864},{},[],"Modern cloud-first adversaries routinely rotate domains on malicious pages; use trusted services like SharePoint, Adobe, Google Sites, Cloudflare, and Atlassian to deliver lures; target end-users across multiple channels, including social media, forums, chat platforms, Google search results, email, and webpages; and use legitimate security tools like bot protection to bypass detection by other legitimate security tools, such as web content scanning and analysis solutions.",{"data":27797,"content":27798,"nodeType":860},{},[27799,27803,27807,27812],{"data":27800,"marks":27801,"value":27802,"nodeType":864},{},[],"To safely navigate the internet today, y",{"data":27804,"marks":27805,"value":27806,"nodeType":864},{},[],"ou need to be able to spot malicious pages and content ",{"data":27808,"marks":27809,"value":27811,"nodeType":864},{},[27810],{"type":899},"the first time they're seen in the wild",{"data":27813,"marks":27814,"value":27815,"nodeType":864},{},[],". If you're relying on indicators of known bad, you're always a step behind, leaving users exposed.",{"data":27817,"content":27821,"nodeType":996},{"target":27818},{"sys":27819},{"id":27820,"type":1001,"linkType":1002},"3ZfqOLRdJZJIc78rj9E9JZ",[],{"data":27823,"content":27824,"nodeType":860},{},[27825],{"data":27826,"marks":27827,"value":27828,"nodeType":864},{},[],"To protect users while they work online, you need a purpose-built security tool that can respond in real time to modern TTPs and guide users securely — without introducing extra work or a lot of friction. Push can help with that.",{"data":27830,"content":27831,"nodeType":1005},{},[],{"data":27833,"content":27834,"nodeType":1009},{},[27835],{"data":27836,"marks":27837,"value":27839,"nodeType":864},{},[27838],{"type":899},"Why in-browser controls?",{"data":27841,"content":27842,"nodeType":860},{},[27843],{"data":27844,"marks":27845,"value":27846,"nodeType":864},{},[],"Simply put, using in-browser security controls gets you the closest to the user and their work in order to protect them from modern browser-based threats. Adding in-browser controls also solves two tricky problems for security teams: ",{"data":27848,"content":27849,"nodeType":941},{},[27850,27865],{"data":27851,"content":27852,"nodeType":945},{},[27853],{"data":27854,"content":27855,"nodeType":860},{},[27856,27861],{"data":27857,"marks":27858,"value":27860,"nodeType":864},{},[27859],{"type":899},"Filling the gap between solution layers",{"data":27862,"marks":27863,"value":27864,"nodeType":864},{},[]," in order to detect and block attack methods like Adversary-in-the-Middle phishing, malicious browser extensions, and ClickFix-style social engineering attacks that other tools miss.",{"data":27866,"content":27867,"nodeType":945},{},[27868],{"data":27869,"content":27870,"nodeType":860},{},[27871,27876],{"data":27872,"marks":27873,"value":27875,"nodeType":864},{},[27874],{"type":899},"Providing just-in-time security enforcement",{"data":27877,"marks":27878,"value":27879,"nodeType":864},{},[]," to end-users when it’s the right moment to act on that guidance, reducing your attack surface across your online apps, browser extensions, and accounts, and ensuring your app usage policies are followed.",{"data":27881,"content":27882,"nodeType":1312},{},[27883],{"data":27884,"marks":27885,"value":27886,"nodeType":864},{},[],"Fill the gap between solution layers",{"data":27888,"content":27889,"nodeType":860},{},[27890,27894,27899],{"data":27891,"marks":27892,"value":27893,"nodeType":864},{},[],"Most existing security solutions operate just ",{"data":27895,"marks":27896,"value":27898,"nodeType":864},{},[27897],{"type":2246},"outside",{"data":27900,"marks":27901,"value":27902,"nodeType":864},{},[]," the context of a user interacting with a webpage. This leaves blind spots that attackers are exploiting between layers of security tooling.",{"data":27904,"content":27905,"nodeType":860},{},[27906,27910,27920],{"data":27907,"marks":27908,"value":27909,"nodeType":864},{},[],"For example, network proxies see HTTP requests, URLs, and page headers, but not the ",{"data":27911,"content":27915,"nodeType":27604},{"target":27912},{"sys":27913},{"id":27914,"type":1001,"linkType":1002},"5caCcGCqMMPm5KlwUv0sbz",[27916],{"data":27917,"marks":27918,"value":27919,"nodeType":864},{},[],"structural elements",{"data":27921,"marks":27922,"value":27923,"nodeType":864},{},[]," of the DOM or on-page user interactions that are key to fingerprinting the behavior of AiTM phishing kits or ClickFix-style social engineering attacks. ",{"data":27925,"content":27926,"nodeType":860},{},[27927,27931,27941,27945,27955],{"data":27928,"marks":27929,"value":27930,"nodeType":864},{},[],"Similarly, ",{"data":27932,"content":27936,"nodeType":27604},{"target":27933},{"sys":27934},{"id":27935,"type":1001,"linkType":1002},"6YWYKGESlyUKQxvhKmBzeH",[27937],{"data":27938,"marks":27939,"value":27940,"nodeType":864},{},[],"EDR tools",{"data":27942,"marks":27943,"value":27944,"nodeType":864},{},[]," only see the bad thing when it hits the endpoint, and many ",{"data":27946,"content":27950,"nodeType":27604},{"target":27947},{"sys":27948},{"id":27949,"type":1001,"linkType":1002},"2k2aDK5dyQKlQBrk66pMXE",[27951],{"data":27952,"marks":27953,"value":27954,"nodeType":864},{},[],"cloud security tools",{"data":27956,"marks":27957,"value":27958,"nodeType":864},{},[]," rely on complex policy configurations across a core set of apps to provide security protection — leaving a gap in detection and response capabilities outside their purview.",{"data":27960,"content":27964,"nodeType":996},{"target":27961},{"sys":27962},{"id":27963,"type":1001,"linkType":1002},"50NyBpr96dKspvTzJTBOlC",[],{"data":27966,"content":27967,"nodeType":1312},{},[27968],{"data":27969,"marks":27970,"value":27971,"nodeType":864},{},[],"Provide just-in-time security enforcement",{"data":27973,"content":27974,"nodeType":860},{},[27975,27979,27987],{"data":27976,"marks":27977,"value":27978,"nodeType":864},{},[],"As some of our customers like to say, Push provides security teams with a ",{"data":27980,"content":27982,"nodeType":883},{"uri":27981},"/customer-stories/upvest",[27983],{"data":27984,"marks":27985,"value":27986,"nodeType":864},{},[],"“seat on the user’s side”",{"data":27988,"marks":27989,"value":27990,"nodeType":864},{},[]," of the equation so you can enforce security best practices.",{"data":27992,"content":27993,"nodeType":860},{},[27994],{"data":27995,"marks":27996,"value":27997,"nodeType":864},{},[],"Having that seat on the user’s side also helps you deliver guidance in the right context for it to be followed: When the user is engaged in doing the behavior you want to influence (or prevent). The right information, at the right time, in the right format — not a belated reminder through a different channel that’s easy to ignore.",{"data":27999,"content":28000,"nodeType":860},{},[28001],{"data":28002,"marks":28003,"value":28004,"nodeType":864},{},[],"With those outcomes in mind, let’s look at some specific solutions from the Push platform.",{"data":28006,"content":28007,"nodeType":1005},{},[],{"data":28009,"content":28010,"nodeType":1009},{},[28011],{"data":28012,"marks":28013,"value":28015,"nodeType":864},{},[28014],{"type":899},"How Push helps you protect users from browser-based ATO, ClickFix, and similar attacks",{"data":28017,"content":28018,"nodeType":860},{},[28019],{"data":28020,"marks":28021,"value":28022,"nodeType":864},{},[],"The Push platform provides out-of-the-box detections for browser-based attacks, including:",{"data":28024,"content":28025,"nodeType":941},{},[28026,28049,28072,28093],{"data":28027,"content":28028,"nodeType":945},{},[28029],{"data":28030,"content":28031,"nodeType":860},{},[28032,28035,28045],{"data":28033,"marks":28034,"value":21,"nodeType":864},{},[],{"data":28036,"content":28040,"nodeType":27604},{"target":28037},{"sys":28038},{"id":28039,"type":1001,"linkType":1002},"7KRnTSnJAbbiho69gNyN0B",[28041],{"data":28042,"marks":28043,"value":28044,"nodeType":864},{},[],"AiTM phishing kits",{"data":28046,"marks":28047,"value":28048,"nodeType":864},{},[]," that can bypass MFA",{"data":28050,"content":28051,"nodeType":945},{},[28052],{"data":28053,"content":28054,"nodeType":860},{},[28055,28058,28068],{"data":28056,"marks":28057,"value":21,"nodeType":864},{},[],{"data":28059,"content":28063,"nodeType":27604},{"target":28060},{"sys":28061},{"id":28062,"type":1001,"linkType":1002},"jN3GN5ddMJZiDtl0fgUVd",[28064],{"data":28065,"marks":28066,"value":28067,"nodeType":864},{},[],"Cloned login pages",{"data":28069,"marks":28070,"value":28071,"nodeType":864},{},[]," designed to steal user credentials",{"data":28073,"content":28074,"nodeType":945},{},[28075],{"data":28076,"content":28077,"nodeType":860},{},[28078,28081,28090],{"data":28079,"marks":28080,"value":21,"nodeType":864},{},[],{"data":28082,"content":28086,"nodeType":27604},{"target":28083},{"sys":28084},{"id":28085,"type":1001,"linkType":1002},"5NyiWgjMDwk16XZ0S681JK",[28087],{"data":28088,"marks":28089,"value":699,"nodeType":864},{},[],{"data":28091,"marks":28092,"value":21,"nodeType":864},{},[],{"data":28094,"content":28095,"nodeType":945},{},[28096],{"data":28097,"content":28098,"nodeType":860},{},[28099,28102,28112],{"data":28100,"marks":28101,"value":21,"nodeType":864},{},[],{"data":28103,"content":28107,"nodeType":27604},{"target":28104},{"sys":28105},{"id":28106,"type":1001,"linkType":1002},"7jygmadjoz0asAHv7e5PuK",[28108],{"data":28109,"marks":28110,"value":28111,"nodeType":864},{},[],"Malicious copy and paste attacks",{"data":28113,"marks":28114,"value":28115,"nodeType":864},{},[]," like ClickFix, FileFix, and similar",{"data":28117,"content":28118,"nodeType":860},{},[28119],{"data":28120,"marks":28121,"value":28122,"nodeType":864},{},[],"For each of these attack vectors, Push delivers detection events and associated metadata for quick triage by the security team, as well as employee-facing warn or block screens, based on your selected configuration.",{"data":28124,"content":28125,"nodeType":860},{},[28126],{"data":28127,"marks":28128,"value":28129,"nodeType":864},{},[],"Here’s a snapshot of the capabilities of these controls and what end-users will experience.",{"data":28131,"content":28132,"nodeType":1312},{},[28133],{"data":28134,"marks":28135,"value":28137,"nodeType":864},{},[28136],{"type":899},"The scenario:",{"data":28139,"content":28140,"nodeType":860},{},[28141],{"data":28142,"marks":28143,"value":28144,"nodeType":864},{},[],"When a user encounters a malicious page — whether that’s an AiTM phishing tool running on a webpage, or a ClickFix-style attack — or attempts to install a malicious extension, Push immediately steps in. ",{"data":28146,"content":28147,"nodeType":860},{},[28148],{"data":28149,"marks":28150,"value":28151,"nodeType":864},{},[],"Push can prevent users from entering their credentials on phishing pages, including cloned login pages, or from pasting malicious clipboard contents that can run malware on their device. Push can also prevent users from installing known-bad browser extensions. ",{"data":28153,"content":28154,"nodeType":860},{},[28155],{"data":28156,"marks":28157,"value":28158,"nodeType":864},{},[],"In each of these scenarios, Push admins get detailed detection information they can use to triage the incident.",{"data":28160,"content":28164,"nodeType":996},{"target":28161},{"sys":28162},{"id":28163,"type":1001,"linkType":1002},"5jR3YVUiusHGnXDOyrgYpr",[],{"data":28166,"content":28167,"nodeType":1312},{},[28168],{"data":28169,"marks":28170,"value":28172,"nodeType":864},{},[28171],{"type":899},"How it works:",{"data":28174,"content":28175,"nodeType":860},{},[28176],{"data":28177,"marks":28178,"value":28179,"nodeType":864},{},[],"Rather than relying on known-bad intelligence like domains or URLs, Push performs a behavioral and structural analysis of malicious pages in real time.",{"data":28181,"content":28182,"nodeType":860},{},[28183],{"data":28184,"marks":28185,"value":28186,"nodeType":864},{},[],"That means a phishing page never has to appear in a threat intelligence feed in order to be detected and blocked.",{"data":28188,"content":28189,"nodeType":860},{},[28190],{"data":28191,"marks":28192,"value":28193,"nodeType":864},{},[],"Similarly, for malicious copy and paste attacks like ClickFix, Push analyzes the content copied to the clipboard but also evaluates the context of the page to reduce false positives. In blocking mode, Push’s control for ClickFix-style attacks replaces the malicious clipboard contents with safe text — preventing potential endpoint compromise before it can occur.",{"data":28195,"content":28199,"nodeType":996},{"target":28196},{"sys":28197},{"id":28198,"type":1001,"linkType":1002},"3OkejjEjV9xflBc5ouOVFn",[],{"data":28201,"content":28202,"nodeType":860},{},[28203],{"data":28204,"marks":28205,"value":28206,"nodeType":864},{},[],"Finally, for identifying malicious browser extensions, Push takes a slightly different approach — combining both behavioral detections and curated intelligence of known-bad extensions from our own research and from trusted industry sources. We’ve found this combination provides the highest-fidelity way to identify malicious extensions without relying on approaches like analyzing extension permissions, which often isn’t actionable. ",{"data":28208,"content":28209,"nodeType":1312},{},[28210],{"data":28211,"marks":28212,"value":28214,"nodeType":864},{},[28213],{"type":899},"Your security team gets:",{"data":28216,"content":28217,"nodeType":860},{},[28218,28222,28230],{"data":28219,"marks":28220,"value":28221,"nodeType":864},{},[],"Readymade detection and alerting, combined with detailed telemetry. Detections and their associated metadata can be consumed via ",{"data":28223,"content":28225,"nodeType":883},{"uri":28224},"/help/audience/administrators/docs/getting-started/#api-and-webhooks",[28226],{"data":28227,"marks":28228,"value":28229,"nodeType":864},{},[],"Push’s REST API and webhooks",{"data":28231,"marks":28232,"value":1774,"nodeType":864},{},[],{"data":28234,"content":28235,"nodeType":1312},{},[28236],{"data":28237,"marks":28238,"value":28240,"nodeType":864},{},[28239],{"type":899},"Your end-users see:",{"data":28242,"content":28243,"nodeType":860},{},[28244],{"data":28245,"marks":28246,"value":28247,"nodeType":864},{},[],"An immediate block screen in your company colors and brand style, providing a highly memorable, contextual moment of learning — and reassuring them that an incident has been prevented.",{"data":28249,"content":28253,"nodeType":996},{"target":28250},{"sys":28251},{"id":28252,"type":1001,"linkType":1002},"4QfjDDfKjohKr1qqDLRT0m",[],{"data":28255,"content":28256,"nodeType":1005},{},[],{"data":28258,"content":28259,"nodeType":1009},{},[28260],{"data":28261,"marks":28262,"value":28264,"nodeType":864},{},[28263],{"type":899},"How Push helps you remediate account vulnerabilities at scale",{"data":28266,"content":28267,"nodeType":860},{},[28268],{"data":28269,"marks":28270,"value":28271,"nodeType":864},{},[],"Just-in-time security enforcement works best when it’s trustworthy and contextual — without making a lot more work for your team. Push also provides readymade controls for remediating common account vulnerabilities that contribute to your attack surface online, helping you harden existing accounts and reduce behaviors that introduce new risks.",{"data":28273,"content":28274,"nodeType":860},{},[28275],{"data":28276,"marks":28277,"value":28278,"nodeType":864},{},[],"With Push, you can:",{"data":28280,"content":28281,"nodeType":941},{},[28282,28305,28342,28366],{"data":28283,"content":28284,"nodeType":945},{},[28285],{"data":28286,"content":28287,"nodeType":860},{},[28288,28291,28301],{"data":28289,"marks":28290,"value":21,"nodeType":864},{},[],{"data":28292,"content":28296,"nodeType":27604},{"target":28293},{"sys":28294},{"id":28295,"type":1001,"linkType":1002},"6FYHbkcRUrtznPo7RarRsz",[28297],{"data":28298,"marks":28299,"value":28300,"nodeType":864},{},[],"Prevent the phishing or reuse of high-value passwords",{"data":28302,"marks":28303,"value":28304,"nodeType":864},{},[],", like your IdP, AWS, or code repository passwords.",{"data":28306,"content":28307,"nodeType":945},{},[28308],{"data":28309,"content":28310,"nodeType":860},{},[28311,28315,28325,28328,28338],{"data":28312,"marks":28313,"value":28314,"nodeType":864},{},[],"Remediate ",{"data":28316,"content":28320,"nodeType":27604},{"target":28317},{"sys":28318},{"id":28319,"type":1001,"linkType":1002},"2WAc5HflKonFN7Jc53ROgj",[28321],{"data":28322,"marks":28323,"value":28324,"nodeType":864},{},[],"missing MFA",{"data":28326,"marks":28327,"value":27405,"nodeType":864},{},[],{"data":28329,"content":28333,"nodeType":27604},{"target":28330},{"sys":28331},{"id":28332,"type":1001,"linkType":1002},"2dAP36chda6ZDGKzw0Itfs",[28334],{"data":28335,"marks":28336,"value":28337,"nodeType":864},{},[],"insecure passwords",{"data":28339,"marks":28340,"value":28341,"nodeType":864},{},[]," on any work app, even those not managed by your SSO solution.",{"data":28343,"content":28344,"nodeType":945},{},[28345],{"data":28346,"content":28347,"nodeType":860},{},[28348,28352,28362],{"data":28349,"marks":28350,"value":28351,"nodeType":864},{},[],"Use ",{"data":28353,"content":28357,"nodeType":27604},{"target":28354},{"sys":28355},{"id":28356,"type":1001,"linkType":1002},"2ZpKnuljaUH0jzVaae4SMN",[28358],{"data":28359,"marks":28360,"value":28361,"nodeType":864},{},[],"in-browser banners",{"data":28363,"marks":28364,"value":28365,"nodeType":864},{},[]," to add guardrails to app usage, including blocking unapproved SaaS or collecting a business reason to access an app before approving it.",{"data":28367,"content":28368,"nodeType":945},{},[28369],{"data":28370,"content":28371,"nodeType":860},{},[28372,28375,28385],{"data":28373,"marks":28374,"value":21,"nodeType":864},{},[],{"data":28376,"content":28380,"nodeType":27604},{"target":28377},{"sys":28378},{"id":28379,"type":1001,"linkType":1002},"3ibVBa6u0XfcXXDVtON5th",[28381],{"data":28382,"marks":28383,"value":28384,"nodeType":864},{},[],"Block unwanted or unapproved browser extensions",{"data":28386,"marks":28387,"value":28388,"nodeType":864},{},[]," from being installed, or disable them if they’ve been installed previously.",{"data":28390,"content":28391,"nodeType":860},{},[28392],{"data":28393,"marks":28394,"value":28129,"nodeType":864},{},[],{"data":28396,"content":28397,"nodeType":1312},{},[28398],{"data":28399,"marks":28400,"value":28137,"nodeType":864},{},[28401],{"type":899},{"data":28403,"content":28404,"nodeType":860},{},[28405],{"data":28406,"marks":28407,"value":28408,"nodeType":864},{},[],"Push uses in-browser controls to intervene when a user is missing MFA; reusing a high-value password; using an insecure password; attempting to log in to an unapproved app; or attempting to install a blocked extension. ",{"data":28410,"content":28411,"nodeType":860},{},[28412],{"data":28413,"marks":28414,"value":28415,"nodeType":864},{},[],"Push can block users from reusing passwords set as “protected” (meaning they can’t be reused on any other page or app) or from using unapproved apps or extensions. Push can guide users to update their password or register for MFA on accounts where they lack it. Push can also provide any other specific security or policy guidance to employees via banners that appear on apps in your environment, including GenAI apps. ",{"data":28417,"content":28418,"nodeType":860},{},[28419],{"data":28420,"marks":28421,"value":28422,"nodeType":864},{},[],"For all of these scenarios, you can tune Push controls to your preferred mode (informing vs. blocking, for example) and select which employees, employee groups, and apps or accounts to focus on.",{"data":28424,"content":28425,"nodeType":860},{},[28426],{"data":28427,"marks":28428,"value":28429,"nodeType":864},{},[],"You can also customize the message that employees see, to match your organizational culture and policies.",{"data":28431,"content":28432,"nodeType":1312},{},[28433],{"data":28434,"marks":28435,"value":28437,"nodeType":864},{},[28436],{"type":899},"How it works: ",{"data":28439,"content":28440,"nodeType":860},{},[28441],{"data":28442,"marks":28443,"value":28444,"nodeType":864},{},[],"The Push browser agent observes real-time user behavior and securely analyzes users’ account vulnerabilities in order to identify risks and execute your preconfigured controls. ",{"data":28446,"content":28447,"nodeType":860},{},[28448],{"data":28449,"marks":28450,"value":28451,"nodeType":864},{},[],"To identify MFA status, Push uses the app’s own API to query the logged-in user’s registered MFA methods. To analyze password security, Push creates a salted, truncated hash that is stored locally in the user’s browser and then used for comparison to find reused passwords, leaked passwords, and shared passwords. ",{"data":28453,"content":28454,"nodeType":860},{},[28455,28459,28464,28467,28472],{"data":28456,"marks":28457,"value":28458,"nodeType":864},{},[],"Using the ",{"data":28460,"marks":28461,"value":28463,"nodeType":864},{},[28462],{"type":899},"MFA enforcement",{"data":28465,"marks":28466,"value":902,"nodeType":864},{},[],{"data":28468,"marks":28469,"value":28471,"nodeType":864},{},[28470],{"type":899},"Strong password enforcement",{"data":28473,"marks":28474,"value":28475,"nodeType":864},{},[]," controls, you can then automatically display a banner to users with those account vulnerabilities, guiding them to fix the issue.",{"data":28477,"content":28481,"nodeType":996},{"target":28478},{"sys":28479},{"id":28480,"type":1001,"linkType":1002},"7Ka4CumZk9it6GsdlNHREA",[],{"data":28483,"content":28484,"nodeType":860},{},[28485,28489,28494],{"data":28486,"marks":28487,"value":28488,"nodeType":864},{},[],"Using Push’s ",{"data":28490,"marks":28491,"value":28493,"nodeType":864},{},[28492],{"type":899},"Password protection",{"data":28495,"marks":28496,"value":28497,"nodeType":864},{},[]," control, you can select apps where you want to essentially “pin” the high-value password to only that app and prevent its reuse (or phishing) on any other domain. ",{"data":28499,"content":28500,"nodeType":860},{},[28501,28504,28509],{"data":28502,"marks":28503,"value":28488,"nodeType":864},{},[],{"data":28505,"marks":28506,"value":28508,"nodeType":864},{},[28507],{"type":899},"Browser extension blocking",{"data":28510,"marks":28511,"value":28512,"nodeType":864},{},[]," control, you can create a blocklist or allowlist of extensions and prevent users from installing or enabling blocked extensions.",{"data":28514,"content":28515,"nodeType":860},{},[28516,28520,28524],{"data":28517,"marks":28518,"value":28519,"nodeType":864},{},[],"Finally, using Push’s ",{"data":28521,"marks":28522,"value":1366,"nodeType":864},{},[28523],{"type":899},{"data":28525,"marks":28526,"value":28527,"nodeType":864},{},[]," feature, you can add custom messages in a range of modes — from informing to blocking — to apps in use across your business, or even specific URL patterns.",{"data":28529,"content":28533,"nodeType":996},{"target":28530},{"sys":28531},{"id":28532,"type":1001,"linkType":1002},"5Mq4PEzEhW8p1qLvS9aZMm",[],{"data":28535,"content":28536,"nodeType":1312},{},[28537],{"data":28538,"marks":28539,"value":28541,"nodeType":864},{},[28540],{"type":899},"Your security team gets: ",{"data":28543,"content":28544,"nodeType":860},{},[28545],{"data":28546,"marks":28547,"value":28548,"nodeType":864},{},[],"A flexible and highly configurable set of controls to solve account vulnerabilities at scale and to enforce your security controls around browser extensions and app usage.",{"data":28550,"content":28551,"nodeType":1312},{},[28552],{"data":28553,"marks":28554,"value":28556,"nodeType":864},{},[28555],{"type":899},"Your end-users see: ",{"data":28558,"content":28559,"nodeType":860},{},[28560],{"data":28561,"marks":28562,"value":28563,"nodeType":864},{},[],"Contextual, actionable guidance in the midst of their actual workflow, helping them fix the issue or guiding them to safety.",{"data":28565,"content":28566,"nodeType":1005},{},[],{"data":28568,"content":28569,"nodeType":1009},{},[28570],{"data":28571,"marks":28572,"value":28574,"nodeType":864},{},[28573],{"type":899},"Implementation tips",{"data":28576,"content":28577,"nodeType":860},{},[28578],{"data":28579,"marks":28580,"value":28581,"nodeType":864},{},[],"Push allows you to set the scope and mode of each control, making it simple to roll out. ",{"data":28583,"content":28584,"nodeType":860},{},[28585,28589,28593,28597,28601,28605,28610],{"data":28586,"marks":28587,"value":28588,"nodeType":864},{},[],"We recommend starting in ",{"data":28590,"marks":28591,"value":1334,"nodeType":864},{},[28592],{"type":899},{"data":28594,"marks":28595,"value":28596,"nodeType":864},{},[]," mode for controls that intervene in end-user activities. That way, you can perform testing with sample malicious sites or scenarios like reused protected passwords, tune out any benign true positives, and develop the messaging you want to use on warn or block pages. (For controls without an explicit monitor mode, like ",{"data":28598,"marks":28599,"value":28471,"nodeType":864},{},[28600],{"type":899},{"data":28602,"marks":28603,"value":28604,"nodeType":864},{},[],", you can still monitor for related events on the ",{"data":28606,"marks":28607,"value":28609,"nodeType":864},{},[28608],{"type":899},"Events",{"data":28611,"marks":28612,"value":28613,"nodeType":864},{},[]," page, such as account security findings, or by consuming webhooks into a downstream tool.)",{"data":28615,"content":28619,"nodeType":996},{"target":28616},{"sys":28617},{"id":28618,"type":1001,"linkType":1002},"7vk8DHv01cM1o2C0ZpAvZu",[],{"data":28621,"content":28622,"nodeType":860},{},[28623,28627,28631,28634,28638],{"data":28624,"marks":28625,"value":28626,"nodeType":864},{},[],"When you’re ready, set the mode to ",{"data":28628,"marks":28629,"value":1503,"nodeType":864},{},[28630],{"type":899},{"data":28632,"marks":28633,"value":27405,"nodeType":864},{},[],{"data":28635,"marks":28636,"value":1397,"nodeType":864},{},[28637],{"type":899},{"data":28639,"marks":28640,"value":28641,"nodeType":864},{},[]," and use the scope options to perform a phased rollout to your user population by adding additional user groups to the control until you have complete coverage of your population.",{"data":28643,"content":28644,"nodeType":860},{},[28645],{"data":28646,"marks":28647,"value":28648,"nodeType":864},{},[],"By consuming webhook events into your SIEM, you can integrate Push alerts into your existing security workflows, monitoring for new detections or tracking when account vulnerabilities are resolved.",{"data":28650,"content":28651,"nodeType":1005},{},[],{"data":28653,"content":28654,"nodeType":1009},{},[28655],{"data":28656,"marks":28657,"value":28659,"nodeType":864},{},[28658],{"type":899},"Enhancing user trust with custom branding",{"data":28661,"content":28662,"nodeType":860},{},[28663],{"data":28664,"marks":28665,"value":28666,"nodeType":864},{},[],"We recently released the option to customize the look and feel of all employee-facing banners and block pages. ",{"data":28668,"content":28669,"nodeType":860},{},[28670,28674,28679],{"data":28671,"marks":28672,"value":28673,"nodeType":864},{},[],"From the ",{"data":28675,"marks":28676,"value":28678,"nodeType":864},{},[28677],{"type":899},"Settings",{"data":28680,"marks":28681,"value":28682,"nodeType":864},{},[]," page in the Push admin console, you can upload your logo, add accent colors, and choose from light or dark backgrounds.",{"data":28684,"content":28688,"nodeType":996},{"target":28685},{"sys":28686},{"id":28687,"type":1001,"linkType":1002},"51lk1VRP20G7H4PAoRZANI",[],{"data":28690,"content":28691,"nodeType":860},{},[28692],{"data":28693,"marks":28694,"value":28695,"nodeType":864},{},[],"Custom branding increases the trustworthiness of these in-the-moment security guardrails so that users recognize them immediately and act on their guidance.",{"data":28697,"content":28698,"nodeType":860},{},[28699],{"data":28700,"marks":28701,"value":28702,"nodeType":864},{},[],"The result: Better compliance and lower friction for you and your employees.",{"data":28704,"content":28705,"nodeType":1005},{},[],{"data":28707,"content":28708,"nodeType":1009},{},[28709],{"data":28710,"marks":28711,"value":3578,"nodeType":864},{},[28712],{"type":899},{"data":28714,"content":28715,"nodeType":860},{},[28716,28720,28727],{"data":28717,"marks":28718,"value":28719,"nodeType":864},{},[],"Push Security’s browser-based security platform stops browser-based attacks like AiTM phishing, credential stuffing, malicious browser extensions, ClickFix, and session hijacking — ",{"data":28721,"content":28722,"nodeType":883},{"uri":152},[28723],{"data":28724,"marks":28725,"value":28726,"nodeType":864},{},[],"modern attack techniques",{"data":28728,"marks":28729,"value":28730,"nodeType":864},{},[]," that are the leading cause of breaches today.",{"data":28732,"content":28733,"nodeType":860},{},[28734],{"data":28735,"marks":28736,"value":28737,"nodeType":864},{},[],"You don’t need to wait until it all goes wrong either. You can also use Push to proactively find and fix vulnerabilities across the apps that your employees use, like ghost logins, SSO coverage gaps, MFA gaps, vulnerable passwords, and more to harden your attack surface.",{"data":28739,"content":28740,"nodeType":860},{},[28741,28745,28753,28757,28765,28769,28776],{"data":28742,"marks":28743,"value":28744,"nodeType":864},{},[],"Want to learn more about Push? Check out our latest ",{"data":28746,"content":28748,"nodeType":883},{"uri":28747},"/resources/product-brochure",[28749],{"data":28750,"marks":28751,"value":28752,"nodeType":864},{},[],"product overview",{"data":28754,"marks":28755,"value":28756,"nodeType":864},{},[],", visit our ",{"data":28758,"content":28760,"nodeType":883},{"uri":28759},"/product-demo/",[28761],{"data":28762,"marks":28763,"value":28764,"nodeType":864},{},[],"demo library",{"data":28766,"marks":28767,"value":28768,"nodeType":864},{},[],", or book some time with one of our team for a ",{"data":28770,"content":28772,"nodeType":883},{"uri":28771},"/demo",[28773],{"data":28774,"marks":28775,"value":2715,"nodeType":864},{},[],{"data":28777,"marks":28778,"value":2924,"nodeType":864},{},[],"Guide: How to use Push controls to protect your users from modern browser threats","How to use in-browser controls to stop browser-based attacks before compromise can occur","2026-04-08T00:00:00.000Z","guide-how-to-use-push-controls-to-protect-your-users-from-modern-attacks",{"items":28784},[28785,28787],{"sys":28786,"name":6593},{"id":6592},{"sys":28788,"name":342},{"id":6596},{"items":28790},[28791],{"fullName":849,"firstName":850,"jobTitle":851,"profilePicture":28792},{"url":853},"blog/unpacking-the-vercel-breach",{"json":28795},{"data":28796,"content":28797,"nodeType":856},{},[28798],{"data":28799,"content":28800,"nodeType":860},{},[28801],{"data":28802,"marks":28803,"value":28804,"nodeType":864},{},[],"In April 2026, Vercel was compromised via an OAuth app integrated into their Google Workspace tenant stemming from a compromised third-party AI SaaS provider. Here’s what you need to know. ",{"id":12220,"publishedAt":28806},"2026-08-12T12:01:06.679Z",{"items":28808},[28809,28811],{"sys":28810,"name":6593},{"id":6592},{"sys":28812,"name":342},{"id":6596},{"items":28814},[28815,28817,28819,28821,28823,28825,28827,28829,28831,28833,28835,28837,28839,28841,28843,28845,28847,28849,28851,28853],{"sys":28816,"name":545,"slug":546,"tier":31},{"id":542},{"sys":28818,"name":235,"slug":236,"tier":31},{"id":232},{"sys":28820,"name":413,"slug":414,"tier":31},{"id":410},{"sys":28822,"name":279,"slug":280,"tier":31},{"id":276},{"sys":28824,"name":297,"slug":298,"tier":31},{"id":294},{"sys":28826,"name":484,"slug":485,"tier":45},{"id":481},{"sys":28828,"name":580,"slug":581,"tier":45},{"id":577},{"sys":28830,"name":633,"slug":634,"tier":45},{"id":630},{"sys":28832,"name":528,"slug":529,"tier":45},{"id":525},{"sys":28834,"name":589,"slug":590,"tier":45},{"id":586},{"sys":28836,"name":422,"slug":423,"tier":45},{"id":419},{"sys":28838,"name":395,"slug":396,"tier":45},{"id":392},{"sys":28840,"name":360,"slug":361,"tier":45},{"id":357},{"sys":28842,"name":288,"slug":289,"tier":45},{"id":285},{"sys":28844,"name":333,"slug":334,"tier":45},{"id":330},{"sys":28846,"name":502,"slug":503,"tier":45},{"id":499},{"sys":28848,"name":457,"slug":458,"tier":45},{"id":454},{"sys":28850,"name":315,"slug":316,"tier":45},{"id":312},{"sys":28852,"name":440,"slug":441,"tier":45},{"id":437},{"sys":28854,"name":404,"slug":405,"tier":45},{"id":401},"7b4KOofBwc7_L33LnSIjbalheJLEQ9Kb7k3oS_lnjZk",{"id":28857,"title":28858,"authorsCollection":28859,"content":28864,"extension":228,"faqItemsCollection":29680,"faqTitle":59,"featured":6,"hashTags":59,"meta":29682,"metaTitle":29683,"ogImage":59,"postType":29684,"publishedDate":29685,"relatedBlogPostsCollection":29686,"slug":30788,"stem":30789,"subtitle":59,"summary":30790,"synopsis":30805,"sys":30806,"tagsCollection":30809,"topicsCollection":30815,"__hash__":30835},"blog/blog/cyber-essentials-april-2026-update.json","Cyber Essentials April 2026 update: Mandatory MFA on ALL cloud services (and how Push can help)",{"items":28860},[28861],{"fullName":2736,"firstName":2737,"jobTitle":2738,"socialLinks":28862,"profilePicture":28863},[11304],{"url":2740},{"json":28865,"links":29540},{"data":28866,"content":28867,"nodeType":856},{},[28868,28876,28909,28915,28921,28928,29007,29014,29017,29025,29032,29039,29046,29052,29059,29062,29070,29077,29085,29092,29098,29117,29137,29145,29151,29188,29194,29202,29209,29232,29238,29244,29250,29253,29261,29268,29274,29281,29289,29296,29303,29350,29356,29363,29366,29374,29381,29444,29447,29455,29475,29482,29489,29528,29534],{"data":28869,"content":28870,"nodeType":1009},{},[28871],{"data":28872,"marks":28873,"value":28875,"nodeType":864},{},[28874],{"type":899},"Key changes for 2026 — and what they mean in practice",{"data":28877,"content":28878,"nodeType":860},{},[28879,28883,28892,28896,28905],{"data":28880,"marks":28881,"value":28882,"nodeType":864},{},[],"Backed by the UK’s National Cyber Security Centre (NCSC), Cyber Essentials is a minimum requirement for operating in the UK and working with UK businesses. NCSC and IASME have issued an ",{"data":28884,"content":28886,"nodeType":883},{"uri":28885},"https://www.ncsc.gov.uk/files/cyber-essentials-requirements-for-it-infrastructure-v3-3.pdf",[28887],{"data":28888,"marks":28889,"value":28891,"nodeType":864},{},[28890],{"type":1455},"updated requirements document",{"data":28893,"marks":28894,"value":28895,"nodeType":864},{},[]," as well as ",{"data":28897,"content":28899,"nodeType":883},{"uri":28898},"https://iasme.co.uk/articles/upcoming-changes-to-the-cyber-essentials-scheme-april-2026-update/",[28900],{"data":28901,"marks":28902,"value":28904,"nodeType":864},{},[28903],{"type":1455},"guidance on the changes",{"data":28906,"marks":28907,"value":28908,"nodeType":864},{},[]," planned to go-live in April 2026. The key changes relate to the definition of cloud services and the expectations around MFA enforcement, which will significantly expand the breadth of cloud and SaaS services in scope, as well as how compliance is measured.",{"data":28910,"content":28914,"nodeType":996},{"target":28911},{"sys":28912},{"id":28913,"type":1001,"linkType":1002},"49tk5y1sUXUQzDBhY7I8YM",[],{"data":28916,"content":28920,"nodeType":996},{"target":28917},{"sys":28918},{"id":28919,"type":1001,"linkType":1002},"5kGX19qPB7NQnojHXShBsW",[],{"data":28922,"content":28923,"nodeType":860},{},[28924],{"data":28925,"marks":28926,"value":28927,"nodeType":864},{},[],"This means that:",{"data":28929,"content":28930,"nodeType":941},{},[28931,28941,28969,28979,28997],{"data":28932,"content":28933,"nodeType":945},{},[28934],{"data":28935,"content":28936,"nodeType":860},{},[28937],{"data":28938,"marks":28939,"value":28940,"nodeType":864},{},[],"Any service accessed via a business email or account is considered in-scope. It doesn’t matter whether this is a “free” tier account on a SaaS service or a fully managed enterprise cloud platform. ",{"data":28942,"content":28943,"nodeType":945},{},[28944],{"data":28945,"content":28946,"nodeType":860},{},[28947,28951,28956,28960,28965],{"data":28948,"marks":28949,"value":28950,"nodeType":864},{},[],"If a service offers MFA, it ",{"data":28952,"marks":28953,"value":28955,"nodeType":864},{},[28954],{"type":899},"must",{"data":28957,"marks":28958,"value":28959,"nodeType":864},{},[]," be enabled for ",{"data":28961,"marks":28962,"value":28964,"nodeType":864},{},[28963],{"type":899},"all users",{"data":28966,"marks":28967,"value":28968,"nodeType":864},{},[],". (Apps that don’t offer MFA are incredibly rare).",{"data":28970,"content":28971,"nodeType":945},{},[28972],{"data":28973,"content":28974,"nodeType":860},{},[28975],{"data":28976,"marks":28977,"value":28978,"nodeType":864},{},[],"If a service offers MFA only as a \"paid add-on\" or part of a higher subscription tier (e.g., \"Enterprise\" vs. \"Basic\"), you are now required to pay for and enable it. ",{"data":28980,"content":28981,"nodeType":945},{},[28982],{"data":28983,"content":28984,"nodeType":860},{},[28985,28989,28993],{"data":28986,"marks":28987,"value":28988,"nodeType":864},{},[],"If the service doesn't have native MFA but allows you to sign in via a provider that ",{"data":28990,"marks":28991,"value":3053,"nodeType":864},{},[28992],{"type":2246},{"data":28994,"marks":28995,"value":28996,"nodeType":864},{},[]," (like \"Sign in with Microsoft\" or Google), you must use only that method.",{"data":28998,"content":28999,"nodeType":945},{},[29000],{"data":29001,"content":29002,"nodeType":860},{},[29003],{"data":29004,"marks":29005,"value":29006,"nodeType":864},{},[],"This means that if \"shadow\" apps and accounts are identified — e.g. they find that your team is using a SaaS tool that doesn't have MFA, and it wasn't listed in your submission — you will be non-compliant.",{"data":29008,"content":29009,"nodeType":860},{},[29010],{"data":29011,"marks":29012,"value":29013,"nodeType":864},{},[],"This has significant ramifications for the attestation process that requires comprehensive visibility of every app, login method, and MFA factor. ",{"data":29015,"content":29016,"nodeType":1005},{},[],{"data":29018,"content":29019,"nodeType":1009},{},[29020],{"data":29021,"marks":29022,"value":29024,"nodeType":864},{},[29023],{"type":899},"Don’t worry, Push Security has the solution",{"data":29026,"content":29027,"nodeType":860},{},[29028],{"data":29029,"marks":29030,"value":29031,"nodeType":864},{},[],"Push provides you with visibility of every single cloud app your employees access and how they’re authenticating to them, giving you the controls needed to automatically enforce MFA and strong, unique passwords on all your corporate accounts. ",{"data":29033,"content":29034,"nodeType":860},{},[29035],{"data":29036,"marks":29037,"value":29038,"nodeType":864},{},[],"Push is able to do this by deploying into your employees’ existing browser, from where it observes the actual login process in real-time. This allows Push to capture 100% of cloud app usage, including free-tier apps and those accessed via personal email addresses or local credentials, which centralized SSO logs would miss.",{"data":29040,"content":29041,"nodeType":860},{},[29042],{"data":29043,"marks":29044,"value":29045,"nodeType":864},{},[],"Here’s a short interactive demo that shows you how Push helps you to prepare for Cyber Essentials by capturing all your cloud services and making sure MFA is enabled on all your user accounts.",{"data":29047,"content":29051,"nodeType":996},{"target":29048},{"sys":29049},{"id":29050,"type":1001,"linkType":1002},"2P0DtMURb1EvQJ4e8Ze4IC",[],{"data":29053,"content":29054,"nodeType":860},{},[29055],{"data":29056,"marks":29057,"value":29058,"nodeType":864},{},[],"This isn’t all Push does — we also detect and stop browser-native attacks like zero-day phishing, AitM toolkits, ClickFix attacks and account takeover — but more on that later. ",{"data":29060,"content":29061,"nodeType":1005},{},[],{"data":29063,"content":29064,"nodeType":1009},{},[29065],{"data":29066,"marks":29067,"value":29069,"nodeType":864},{},[29068],{"type":899},"But all our apps are managed and accessed via SSO…",{"data":29071,"content":29072,"nodeType":860},{},[29073],{"data":29074,"marks":29075,"value":29076,"nodeType":864},{},[],"Most organizations work on the assumption that their employees are using SSO to access the suite of business apps they use on a daily basis. Apps go through an onboarding process where they are configured to use the preferred SSO method (e.g. SAML, OIDC) from the preferred identity provider (Okta, Microsoft, Google, etc.). By enforcing secure login requirements on how employees login to their IdP account, you essentially secure the downstream logins to all of the business apps in use. ",{"data":29078,"content":29079,"nodeType":860},{},[29080],{"data":29081,"marks":29082,"value":29084,"nodeType":864},{},[29083],{"type":899},"The reality is quite different. ",{"data":29086,"content":29087,"nodeType":860},{},[29088],{"data":29089,"marks":29090,"value":29091,"nodeType":864},{},[],"Apps are routinely self-adopted by users. Most enterprises are using hundreds of apps across their workforce, for a variety of business purposes. ",{"data":29093,"content":29097,"nodeType":996},{"target":29094},{"sys":29095},{"id":29096,"type":1001,"linkType":1002},"6TjtfVoZ2vsWv6iD9IRL2r",[],{"data":29099,"content":29100,"nodeType":860},{},[29101,29105,29113],{"data":29102,"marks":29103,"value":29104,"nodeType":864},{},[],"Apps typically allow multiple, simultaneous login methods to exist. Many apps don’t allow you to restrict this even with admin-level controls (or needing to pay extra for the privilege). A huge number of apps don't even allow you to configure SAML SSO ",{"data":29106,"content":29108,"nodeType":883},{"uri":29107},"https://sso.tax/",[29109],{"data":29110,"marks":29111,"value":29112,"nodeType":864},{},[],"without paying extra for the privilege",{"data":29114,"marks":29115,"value":29116,"nodeType":864},{},[]," (if they offer it at all).",{"data":29118,"content":29119,"nodeType":860},{},[29120,29124,29128,29132],{"data":29121,"marks":29122,"value":29123,"nodeType":864},{},[],"This means you can have a local password active at the same time as a secure SSO login option — we call these ",{"data":29125,"marks":29126,"value":17706,"nodeType":864},{},[29127],{"type":899},{"data":29129,"marks":29130,"value":29131,"nodeType":864},{},[],". The worst part is that you can have an SSO login protected by MFA, at the same time as a local password without. This is one of the key reasons why we see that",{"data":29133,"marks":29134,"value":29136,"nodeType":864},{},[29135],{"type":899}," 2 in 5 accounts are missing MFA. ",{"data":29138,"content":29139,"nodeType":860},{},[29140],{"data":29141,"marks":29142,"value":29144,"nodeType":864},{},[29143],{"type":899},"Under the new regulations, this would be an automatic fail if discovered. ",{"data":29146,"content":29150,"nodeType":996},{"target":29147},{"sys":29148},{"id":29149,"type":1001,"linkType":1002},"4QnFioDFWpwzMR3XxC6GyX",[],{"data":29152,"content":29153,"nodeType":860},{},[29154,29158,29163,29167,29172,29176,29185],{"data":29155,"marks":29156,"value":29157,"nodeType":864},{},[],"Even more complexity comes in ",{"data":29159,"marks":29160,"value":4047,"nodeType":864},{},[29161,29162],{"type":2246},{"type":899},{"data":29164,"marks":29165,"value":29166,"nodeType":864},{},[]," MFA can be enforced. ",{"data":29168,"marks":29169,"value":29171,"nodeType":864},{},[29170],{"type":899},"Some SaaS services only allow MFA to be self-adopted",{"data":29173,"marks":29174,"value":29175,"nodeType":864},{},[]," rather than centrally enforced by admin controls. This can often be linked to the product tier, with a higher level subscription required for tenant-level security features. Similarly, some apps do not provide admin-level visibility of MFA configuration for individual accounts. ",{"data":29177,"content":29179,"nodeType":883},{"uri":29178},"https://pushsecurity.com/blog/minimum-viable-identity-security/",[29180],{"data":29181,"marks":29182,"value":29184,"nodeType":864},{},[29183],{"type":1455},"How each vendor chooses to set up their app is very inconsistent.",{"data":29186,"marks":29187,"value":1171,"nodeType":864},{},[],{"data":29189,"content":29193,"nodeType":996},{"target":29190},{"sys":29191},{"id":29192,"type":1001,"linkType":1002},"3Dw7AHvU9oYZDBfcZBNEEO",[],{"data":29195,"content":29196,"nodeType":1312},{},[29197],{"data":29198,"marks":29199,"value":29201,"nodeType":864},{},[29200],{"type":899},"The ripple effect",{"data":29203,"content":29204,"nodeType":860},{},[29205],{"data":29206,"marks":29207,"value":29208,"nodeType":864},{},[],"The nature of the changes to the scope means that areas you were previously comfortable attesting to become way more complex. ",{"data":29210,"content":29211,"nodeType":941},{},[29212,29222],{"data":29213,"content":29214,"nodeType":945},{},[29215],{"data":29216,"content":29217,"nodeType":860},{},[29218],{"data":29219,"marks":29220,"value":29221,"nodeType":864},{},[],"You have to enforce password policies and account lifecycle management on a long tail of SaaS, not just previously identified “core” apps. ",{"data":29223,"content":29224,"nodeType":945},{},[29225],{"data":29226,"content":29227,"nodeType":860},{},[29228],{"data":29229,"marks":29230,"value":29231,"nodeType":864},{},[],"This applies to external contractors too.",{"data":29233,"content":29237,"nodeType":996},{"target":29234},{"sys":29235},{"id":29236,"type":1001,"linkType":1002},"6qdjxv3WOfQKPomoZWKuyA",[],{"data":29239,"content":29243,"nodeType":996},{"target":29240},{"sys":29241},{"id":29242,"type":1001,"linkType":1002},"2aTPDpdbAgO6skBV4RQfqK",[],{"data":29245,"content":29249,"nodeType":996},{"target":29246},{"sys":29247},{"id":29248,"type":1001,"linkType":1002},"Zfg0cIez6MOHTvnEpeNa3",[],{"data":29251,"content":29252,"nodeType":1005},{},[],{"data":29254,"content":29255,"nodeType":1009},{},[29256],{"data":29257,"marks":29258,"value":29260,"nodeType":864},{},[29259],{"type":899},"Will your assumptions stand up to scrutiny? ",{"data":29262,"content":29263,"nodeType":860},{},[29264],{"data":29265,"marks":29266,"value":29267,"nodeType":864},{},[],"Previously, the approach to an audit would have been to show that the IdP dashboard is configured to require mandatory MFA, and all business apps are accessed securely via the IdP interface.  ",{"data":29269,"content":29273,"nodeType":996},{"target":29270},{"sys":29271},{"id":29272,"type":1001,"linkType":1002},"3eLWMRE98VZqlAb9g4AKIa",[],{"data":29275,"content":29276,"nodeType":860},{},[29277],{"data":29278,"marks":29279,"value":29280,"nodeType":864},{},[],"But this only shows part of the picture. Cyber Essentials auditors typically interview employees and ask them to demonstrate logging into a variety of apps to show the MFA status and overall login process (e.g. are they using a password manager, do passwords meet the requirements, etc.). If the auditor discovers an app you were unaware of, that is accessed without using MFA, you’ve failed. ",{"data":29282,"content":29283,"nodeType":1312},{},[29284],{"data":29285,"marks":29286,"value":29288,"nodeType":864},{},[29287],{"type":899},"This isn’t just a compliance concern — it’s a real security threat",{"data":29290,"content":29291,"nodeType":860},{},[29292],{"data":29293,"marks":29294,"value":29295,"nodeType":864},{},[],"The reason that compliance is being forced to evolve is that this kind of security gap is being routinely exploited by attackers in the wild. Compromised credentials are available online in their billions, and that’s all an attacker needs to log into an account without MFA. ",{"data":29297,"content":29298,"nodeType":860},{},[29299],{"data":29300,"marks":29301,"value":29302,"nodeType":864},{},[],"The recent criminal campaigns against Snowflake and Jira customers demonstrate this risk. ",{"data":29304,"content":29305,"nodeType":941},{},[29306,29328],{"data":29307,"content":29308,"nodeType":945},{},[29309],{"data":29310,"content":29311,"nodeType":860},{},[29312,29316,29324],{"data":29313,"marks":29314,"value":29315,"nodeType":864},{},[],"The 2024 ",{"data":29317,"content":29318,"nodeType":883},{"uri":3751},[29319],{"data":29320,"marks":29321,"value":29323,"nodeType":864},{},[29322],{"type":1455},"Snowflake",{"data":29325,"marks":29326,"value":29327,"nodeType":864},{},[]," breaches resulted in billions of records being stolen from 165+ Snowflake tenants. Attackers simply logged into accounts without MFA at scale — >80% of the credentials had been leaked online as early as 2020. ",{"data":29329,"content":29330,"nodeType":945},{},[29331],{"data":29332,"content":29333,"nodeType":860},{},[29334,29338,29346],{"data":29335,"marks":29336,"value":29337,"nodeType":864},{},[],"Criminals went on a ",{"data":29339,"content":29340,"nodeType":883},{"uri":18552},[29341],{"data":29342,"marks":29343,"value":29345,"nodeType":864},{},[29344],{"type":1455},"Jira",{"data":29347,"marks":29348,"value":29349,"nodeType":864},{},[]," hacking spree, compromising 10 organizations publicly — including Jaguar Land Rover. The same attackers were then involved in the Scattered Lapsus$ Hunters ransomware operation that went down as the most economically consequential cyber breach to affect a G7 economy. ",{"data":29351,"content":29355,"nodeType":996},{"target":29352},{"sys":29353},{"id":29354,"type":1001,"linkType":1002},"7baNZATRrb7yrLqsJxQo83",[],{"data":29357,"content":29358,"nodeType":860},{},[29359],{"data":29360,"marks":29361,"value":29362,"nodeType":864},{},[],"The reality is that this has been happening for years. Regulation is always slow to catch up. It’s important that organizations understand why these changes are being made — to tackle the threat. ",{"data":29364,"content":29365,"nodeType":1005},{},[],{"data":29367,"content":29368,"nodeType":1009},{},[29369],{"data":29370,"marks":29371,"value":29373,"nodeType":864},{},[29372],{"type":899},"Achieving compliance (and more importantly, security) with Push",{"data":29375,"content":29376,"nodeType":860},{},[29377],{"data":29378,"marks":29379,"value":29380,"nodeType":864},{},[],"Here’s how you can use Push to comply with Cyber Essentials v3.3 onwards, as well as safeguard your business and users from threats.",{"data":29382,"content":29383,"nodeType":941},{},[29384,29399,29414,29429],{"data":29385,"content":29386,"nodeType":945},{},[29387],{"data":29388,"content":29389,"nodeType":860},{},[29390,29395],{"data":29391,"marks":29392,"value":29394,"nodeType":864},{},[29393],{"type":899},"Discover apps and get them behind SSO: ",{"data":29396,"marks":29397,"value":29398,"nodeType":864},{},[],"Push captures every login from the browser, regardless of whether it’s federated or shadow. It builds a full map of your organization’s true identity footprint, including all accounts, apps, authentication methods, and SSO gaps. This allows you to spot apps that have been self adopted and take action. ",{"data":29400,"content":29401,"nodeType":945},{},[29402],{"data":29403,"content":29404,"nodeType":860},{},[29405,29410],{"data":29406,"marks":29407,"value":29409,"nodeType":864},{},[29408],{"type":899},"Review MFA status and enforce MFA: ",{"data":29411,"marks":29412,"value":29413,"nodeType":864},{},[],"You can see the MFA status of every app, both at the IdP and local app level, as well as the type of MFA method used to assess security strength. This allows you to find and eliminate “ghost logins” not protected by MFA — by configuring MFA at the app level, or removing the local credential. You can also prompt employees to register an MFA method in real time as they access an app in their browser.",{"data":29415,"content":29416,"nodeType":945},{},[29417],{"data":29418,"content":29419,"nodeType":860},{},[29420,29425],{"data":29421,"marks":29422,"value":29424,"nodeType":864},{},[29423],{"type":899},"Find and fix weak, breached, and reused passwords: ",{"data":29426,"marks":29427,"value":29428,"nodeType":864},{},[],"Push check the posture of all your employee passwords. The browser agent accomplishes this by creating a salted hash of a user’s observed password and then taking the first 8 characters of that hash to store locally in the browser, checking it against a list of 10,000 common basewords and common permutations); flagging if it is reused across accounts (i.e. not unique) and has appeared in a data breach or compromised credential feed.",{"data":29430,"content":29431,"nodeType":945},{},[29432],{"data":29433,"content":29434,"nodeType":860},{},[29435,29440],{"data":29436,"marks":29437,"value":29439,"nodeType":864},{},[29438],{"type":899},"Easily deploy to contractors and third-parties: ",{"data":29441,"marks":29442,"value":29443,"nodeType":864},{},[],"Push’s lightweight extension is easy to deploy to any machine, including those you don’t directly manage. Deploying Push into a dedicated contractor browser profile means you can track third-party logins to your apps exactly like you would an internal employee. ",{"data":29445,"content":29446,"nodeType":1005},{},[],{"data":29448,"content":29449,"nodeType":1009},{},[29450],{"data":29451,"marks":29452,"value":29454,"nodeType":864},{},[29453],{"type":899},"Final thoughts",{"data":29456,"content":29457,"nodeType":860},{},[29458,29462,29471],{"data":29459,"marks":29460,"value":29461,"nodeType":864},{},[],"Cyber Essentials has taken a meaningful step toward addressing the real threat organizations face in the form of compromised credentials and MFA gaps, but they’re not alone. When missing MFA has led to a cyber breach, it has been met with both ",{"data":29463,"content":29465,"nodeType":883},{"uri":29464},"https://pushsecurity.com/resources/mfa-regulation-compliance",[29466],{"data":29467,"marks":29468,"value":29470,"nodeType":864},{},[29469],{"type":1455},"regulatory fines and insurance non-payment",{"data":29472,"marks":29473,"value":29474,"nodeType":864},{},[],", with NYDFS in particular leading the charge. ",{"data":29476,"content":29477,"nodeType":860},{},[29478],{"data":29479,"marks":29480,"value":29481,"nodeType":864},{},[],"But this isn’t the only threat organizations face. Modern, browser-native attacks are dominating the breach headlines, with attacks like AiTM phishing, credential stuffing, malicious browser extensions, ClickFix, ConsentFix, and session hijacking. ",{"data":29483,"content":29484,"nodeType":860},{},[29485],{"data":29486,"marks":29487,"value":29488,"nodeType":864},{},[],"Push tackles all of these attacks using behavioral threat detection controls, powered by deep browser telemetry, to provide broad detection and blocking capabilities against attacks happening in the browser. This means analyzing the end-to-end process of a webpage loading/running in the browser, and how the user interacts with the page, to spot universal indicators of bad activity. ",{"data":29490,"content":29491,"nodeType":860},{},[29492,29496,29504,29507,29515,29518,29525],{"data":29493,"marks":29494,"value":29495,"nodeType":864},{},[],"Want to learn more about Push and how we can help? ",{"data":29497,"content":29498,"nodeType":883},{"uri":12939},[29499],{"data":29500,"marks":29501,"value":29503,"nodeType":864},{},[29502],{"type":1455},"Check out our latest product overview",{"data":29505,"marks":29506,"value":3731,"nodeType":864},{},[],{"data":29508,"content":29509,"nodeType":883},{"uri":12950},[29510],{"data":29511,"marks":29512,"value":29514,"nodeType":864},{},[29513],{"type":1455},"visit our demo library",{"data":29516,"marks":29517,"value":12960,"nodeType":864},{},[],{"data":29519,"content":29520,"nodeType":883},{"uri":1700},[29521],{"data":29522,"marks":29523,"value":12967,"nodeType":864},{},[29524],{"type":1455},{"data":29526,"marks":29527,"value":2924,"nodeType":864},{},[],{"data":29529,"content":29533,"nodeType":996},{"target":29530},{"sys":29531},{"id":29532,"type":1001,"linkType":1002},"2mpx0GOwIviUAdvLGitxua",[],{"data":29535,"content":29536,"nodeType":860},{},[29537],{"data":29538,"marks":29539,"value":21,"nodeType":864},{},[],{"entries":29541},{"hyperlink":29542,"inline":29543,"block":29544},[],[],[29545,29552,29559,29564,29570,29576,29627,29633,29639,29646,29652,29677],{"sys":29546,"__typename":1724,"title":29547,"caption":29547,"layoutMode":59,"file":29548},{"id":28913},"Update to the definition of cloud services (NCSC): i.e. any service that is accessed with a business email or account.",{"url":29549,"width":29550,"height":29551},"https://images.ctfassets.net/y1cdw1ablpvd/fIVcKhF4DdxwjGFPBv8AP/744683ac8a97c90483b98cf2289c8c8a/image8_1.png",1193,247,{"sys":29553,"__typename":1724,"title":29554,"caption":29554,"layoutMode":59,"file":29555},{"id":28919},"Changes to the marking criteria (IASME): i.e. MFA is expected to be enforced for logins to every cloud service.",{"url":29556,"width":29557,"height":29558},"https://images.ctfassets.net/y1cdw1ablpvd/1Kn7L6pvmeNtC5SLOL92Af/4311c559323df3613d7ed2038bf6a50a/image1_6.png",1504,816,{"sys":29560,"__typename":9318,"title":29561,"arcadeDemoUrl":29562,"playText":29563},{"id":29050},"Solving Shadow SaaS & MFA Gaps","https://demo.arcade.software/P3zLqR7AyL98bziCV7b4?embed","1 mins",{"sys":29565,"__typename":1724,"title":29566,"caption":29566,"layoutMode":59,"file":29567},{"id":29096},"There are 100s of apps in use across an enterprise, resulting in 1000s of accounts (we see an average of 15x accounts per employee).",{"url":29568,"width":1736,"height":29569},"https://images.ctfassets.net/y1cdw1ablpvd/7Bsch6QgVymNTG3rAhlDP3/2288395e281255e6826314ed84618a27/image2_3.png",1274,{"sys":29571,"__typename":1724,"title":29572,"caption":29572,"layoutMode":59,"file":29573},{"id":29149},"Ghost logins enable attackers to bypass secure authentication methods. ",{"url":29574,"width":1736,"height":29575},"https://images.ctfassets.net/y1cdw1ablpvd/2disLRprEmiYXBc5B9ekJl/8ce8faba41e94b95672a8275e173e4bf/image6_1.png",1139,{"sys":29577,"__typename":1740,"content":29578,"name":29626,"title":59},{"id":29192},{"json":29579},{"nodeType":856,"data":29580,"content":29581},{},[29582],{"nodeType":860,"data":29583,"content":29584},{},[29585,29589,29594,29598,29603,29607,29612,29616,29623],{"nodeType":864,"value":29586,"marks":29587,"data":29588},"Combining the ",[],{},{"nodeType":864,"value":29590,"marks":29591,"data":29593},"lack of SSO support",[29592],{"type":899},{},{"nodeType":864,"value":29595,"marks":29596,"data":29597}," with the ",[],{},{"nodeType":864,"value":29599,"marks":29600,"data":29602},"ease of self adoption",[29601],{"type":899},{},{"nodeType":864,"value":29604,"marks":29605,"data":29606}," and issue of ",[],{},{"nodeType":864,"value":29608,"marks":29609,"data":29611},"concurrent login methods",[29610],{"type":899},{},{"nodeType":864,"value":29613,"marks":29614,"data":29615},", we're in a world where passwords aren't going anywhere fast. And if you think your employees are using only one password at best (to log into their enterprise SSO) ",[],{},{"nodeType":883,"data":29617,"content":29618},{"uri":15980},[29619],{"nodeType":864,"value":29620,"marks":29621,"data":29622},"you're in for a big surprise",[],{},{"nodeType":864,"value":1774,"marks":29624,"data":29625},[],{},"Cyber Essentials Insight Box 3",{"sys":29628,"__typename":1724,"title":29629,"caption":29629,"layoutMode":59,"file":29630},{"id":29236},"Account management requirements.",{"url":29631,"width":1736,"height":29632},"https://images.ctfassets.net/y1cdw1ablpvd/50nkfseFjz2aJQlZLoNCpO/fd883edf749f715ac7d0b52774873f36/image5_5.png",1156,{"sys":29634,"__typename":1724,"title":29635,"caption":29635,"layoutMode":59,"file":29636},{"id":29242},"Password policy requirements.",{"url":29637,"width":1736,"height":29638},"https://images.ctfassets.net/y1cdw1ablpvd/fwBDarwTnB8YJ7VQrFQqa/8b9a6a22f9ac62ff4b4716b155403a3d/image3_8.png",951,{"sys":29640,"__typename":1724,"title":29641,"caption":29641,"layoutMode":59,"file":29642},{"id":29248},"Third-party requirements.",{"url":29643,"width":29644,"height":29645},"https://images.ctfassets.net/y1cdw1ablpvd/6ulZcdHXvmr15qEeNdFaol/de23532bbb2502a7084dbdbdd9e61e7d/image7_3.png",1234,552,{"sys":29647,"__typename":1724,"title":29648,"caption":29648,"layoutMode":59,"file":29649},{"id":29272},"Microsoft Entra and Okta SSO dashboard examples.",{"url":29650,"width":1736,"height":29651},"https://images.ctfassets.net/y1cdw1ablpvd/3KhjNWelYkdooqHcZsJwgX/51ada3120e9ed0188ef195fbb2819870/image4.png",680,{"sys":29653,"__typename":1740,"content":29654,"name":29676,"title":59},{"id":29354},{"json":29655},{"nodeType":856,"data":29656,"content":29657},{},[29658],{"nodeType":860,"data":29659,"content":29660},{},[29661,29665,29673],{"nodeType":864,"value":29662,"marks":29663,"data":29664},"You can read more about these Scattered Lapsus$ Hunters attacks and the bigger picture ",[],{},{"nodeType":883,"data":29666,"content":29667},{"uri":6237},[29668],{"nodeType":864,"value":29669,"marks":29670,"data":29672},"here",[29671],{"type":1455},{},{"nodeType":864,"value":2924,"marks":29674,"data":29675},[],{},"Cyber Essentials Insight Box 2",{"sys":29678,"__typename":1717,"type":1718,"ctaText":29679,"buttonLabel":151,"buttonColour":1721,"buttonUrl":29464},{"id":29532},"Get our whitepaper to learn how attackers are exploiting MFA gaps and what security teams can do about it",{"items":29681},[],{},"Cyber Essentials 2026: Mandatory MFA on ALL cloud services","regulation-and-compliance","2026-02-12T00:00:00.000Z",{"items":29687},[29688,30272],{"__typename":2059,"sys":29689,"content":29691,"title":30258,"synopsis":30259,"hashTags":59,"publishedDate":30260,"slug":30261,"tagsCollection":30262,"authorsCollection":30268},{"id":29690},"7pU8f4ojNr8rttiSNS2qSU",{"json":29692},{"data":29693,"content":29694,"nodeType":856},{},[29695,29714,29721,29728,29797,29841,29847,29854,29857,29865,29872,29920,29941,29948,29951,29959,29966,29999,30006,30014,30017,30025,30033,30040,30047,30055,30062,30069,30076,30083,30102,30108,30111,30119,30126,30145,30152,30159,30162,30169,30176,30183,30190,30197,30203,30206,30214,30221,30247,30252],{"data":29696,"content":29697,"nodeType":860},{},[29698,29701,29710],{"data":29699,"marks":29700,"value":2761,"nodeType":864},{},[],{"data":29702,"content":29704,"nodeType":883},{"uri":29703},"https://therecord.media/auto-insurance-companies-fined-ny-state-pre-fill-data-breaches",[29705],{"data":29706,"marks":29707,"value":29709,"nodeType":864},{},[29708],{"type":1455},"latest regulatory enforcement",{"data":29711,"marks":29712,"value":29713,"nodeType":864},{},[]," from NYDFS resulted in a total of $14.2m in fines across 8 insurance providers following data breaches that exposed the private information of more than 825,000 people, due to vulnerabilities affecting both its consumer-facing and internal quoting tools. ",{"data":29715,"content":29716,"nodeType":860},{},[29717],{"data":29718,"marks":29719,"value":29720,"nodeType":864},{},[],"Several of the companies did not have multi-factor authentication in place for insurance agents who used the private version of the tool. ",{"data":29722,"content":29723,"nodeType":860},{},[29724],{"data":29725,"marks":29726,"value":29727,"nodeType":864},{},[],"This isn’t the first time that NYDFS has issued fines for missing MFA. NYDFS fined:",{"data":29729,"content":29730,"nodeType":941},{},[29731,29753,29775],{"data":29732,"content":29733,"nodeType":945},{},[29734],{"data":29735,"content":29736,"nodeType":860},{},[29737,29740,29749],{"data":29738,"marks":29739,"value":21,"nodeType":864},{},[],{"data":29741,"content":29743,"nodeType":883},{"uri":29742},"https://therecord.media/new-york-fines-auto-insurers-11-million-leaked-data",[29744],{"data":29745,"marks":29746,"value":29748,"nodeType":864},{},[29747],{"type":1455},"Travelers Insurance",{"data":29750,"marks":29751,"value":29752,"nodeType":864},{},[]," $1.55m for failing to enforce MFA on its system used by insurance agents.",{"data":29754,"content":29755,"nodeType":945},{},[29756],{"data":29757,"content":29758,"nodeType":860},{},[29759,29762,29771],{"data":29760,"marks":29761,"value":21,"nodeType":864},{},[],{"data":29763,"content":29765,"nodeType":883},{"uri":29764},"https://www.dfs.ny.gov/reports_and_publications/press_releases/pr202104141",[29766],{"data":29767,"marks":29768,"value":29770,"nodeType":864},{},[29769],{"type":1455},"National Securities Corporation",{"data":29772,"marks":29773,"value":29774,"nodeType":864},{},[]," $3m for failing to implement MFA.",{"data":29776,"content":29777,"nodeType":945},{},[29778],{"data":29779,"content":29780,"nodeType":860},{},[29781,29784,29793],{"data":29782,"marks":29783,"value":21,"nodeType":864},{},[],{"data":29785,"content":29787,"nodeType":883},{"uri":29786},"https://www.dfs.ny.gov/system/files/documents/2023/05/ea20230524_co_onemain.pdf",[29788],{"data":29789,"marks":29790,"value":29792,"nodeType":864},{},[29791],{"type":1455},"OneMain Financial",{"data":29794,"marks":29795,"value":29796,"nodeType":864},{},[]," $4.2m for working with third-party service providers that did not enforce MFA.",{"data":29798,"content":29799,"nodeType":860},{},[29800,29804,29813,29816,29824,29828,29837],{"data":29801,"marks":29802,"value":29803,"nodeType":864},{},[],"NYDFS is not alone in issuing enforcements for missing MFA. Fines levied under ",{"data":29805,"content":29807,"nodeType":883},{"uri":29806},"https://compliancy-group.com/childrens-hospital-colorado-fined-by-ocr/",[29808],{"data":29809,"marks":29810,"value":29812,"nodeType":864},{},[29811],{"type":1455},"HIPAA",{"data":29814,"marks":29815,"value":902,"nodeType":864},{},[],{"data":29817,"content":29819,"nodeType":883},{"uri":29818},"https://ico.org.uk/about-the-ico/media-centre/news-and-blogs/2025/03/software-provider-fined-3m-following-2022-ransomware-attack/",[29820],{"data":29821,"marks":29822,"value":662,"nodeType":864},{},[29823],{"type":1455},{"data":29825,"marks":29826,"value":29827,"nodeType":864},{},[]," have also penalised MFA gaps. There are also recent examples of ",{"data":29829,"content":29831,"nodeType":883},{"uri":29830},"https://www.cbc.ca/news/canada/hamilton/cybersecurity-breach-1.7597713",[29832],{"data":29833,"marks":29834,"value":29836,"nodeType":864},{},[29835],{"type":1455},"insurance claim denial",{"data":29838,"marks":29839,"value":29840,"nodeType":864},{},[]," due to the lack of MFA. ",{"data":29842,"content":29846,"nodeType":996},{"target":29843},{"sys":29844},{"id":29845,"type":1001,"linkType":1002},"29fhgKLvjD3OJfJF1ZgC5g",[],{"data":29848,"content":29849,"nodeType":860},{},[29850],{"data":29851,"marks":29852,"value":29853,"nodeType":864},{},[],"This serves as the backdrop for upcoming changes to NYCRR Part 500 that will further tighten the requirements around MFA and asset inventory procedures. ",{"data":29855,"content":29856,"nodeType":1005},{},[],{"data":29858,"content":29859,"nodeType":1009},{},[29860],{"data":29861,"marks":29862,"value":29864,"nodeType":864},{},[29863],{"type":899},"How NYCRR Part 500 is getting stricter on MFA",{"data":29866,"content":29867,"nodeType":860},{},[29868],{"data":29869,"marks":29870,"value":29871,"nodeType":864},{},[],"As demonstrated by the enforcements relating to MFA gaps, NYCRR Part 500 is already quite strict on its MFA requirements. Section 500.12 mandates MFA for:",{"data":29873,"content":29874,"nodeType":941},{},[29875,29890,29905],{"data":29876,"content":29877,"nodeType":945},{},[29878],{"data":29879,"content":29880,"nodeType":860},{},[29881,29886],{"data":29882,"marks":29883,"value":29885,"nodeType":864},{},[29884],{"type":899},"Remote access to internal systems:",{"data":29887,"marks":29888,"value":29889,"nodeType":864},{},[]," Any user connecting from outside the organization’s network (e.g. over the internet or other external networks) must authenticate with MFA.",{"data":29891,"content":29892,"nodeType":945},{},[29893],{"data":29894,"content":29895,"nodeType":860},{},[29896,29901],{"data":29897,"marks":29898,"value":29900,"nodeType":864},{},[29899],{"type":899},"Remote access to third-party or cloud applications holding non-public information: ",{"data":29902,"marks":29903,"value":29904,"nodeType":864},{},[],"Covered entities must also use MFA for access to external applications (such as cloud services) that contain non-public Information. NYDFS explicitly considers platforms like Office 365, Google Workspace, Salesforce, AWS/Azure cloud resources, fintech or AI platforms, and any other third-party service provider systems that handle the company’s data as part of a firm’s “internal network”.",{"data":29906,"content":29907,"nodeType":945},{},[29908],{"data":29909,"content":29910,"nodeType":860},{},[29911,29916],{"data":29912,"marks":29913,"value":29915,"nodeType":864},{},[29914],{"type":899},"Privileged accounts: ",{"data":29917,"marks":29918,"value":29919,"nodeType":864},{},[],"MFA is required for all privileged accounts (administrative or elevated privilege accounts) to prevent unauthorized use. ",{"data":29921,"content":29922,"nodeType":860},{},[29923,29927,29932,29936],{"data":29924,"marks":29925,"value":29926,"nodeType":864},{},[],"The changes coming into place on November 1st broaden the scope of MFA to ",{"data":29928,"marks":29929,"value":29931,"nodeType":864},{},[29930],{"type":899},"all access",{"data":29933,"marks":29934,"value":29935,"nodeType":864},{},[],": covered entities must require multi-factor authentication for any individual accessing any of the entity’s information systems, regardless of user type, location, or the sensitivity of the system. In other words, ",{"data":29937,"marks":29938,"value":29940,"nodeType":864},{},[29939],{"type":899},"MFA is no longer limited to remote logins or systems containing non-public information – it now applies enterprise-wide, even for internal or on-premises access and for systems that may not hold sensitive data.",{"data":29942,"content":29943,"nodeType":860},{},[29944],{"data":29945,"marks":29946,"value":29947,"nodeType":864},{},[],"The newly introduced requirement for a maintained and periodically reviewed asset inventory of all information systems also directly impacts the scope of MFA enforcement. NYDFS has consistently included outsourced, third-party, and cloud applications services used by an organization within its scope.",{"data":29949,"content":29950,"nodeType":1005},{},[],{"data":29952,"content":29953,"nodeType":1009},{},[29954],{"data":29955,"marks":29956,"value":29958,"nodeType":864},{},[29957],{"type":899},"What this means for compliance",{"data":29960,"content":29961,"nodeType":860},{},[29962],{"data":29963,"marks":29964,"value":29965,"nodeType":864},{},[],"To be able to maintain compliance with NYCRR Part 500, organizations must:",{"data":29967,"content":29968,"nodeType":941},{},[29969,29979,29989],{"data":29970,"content":29971,"nodeType":945},{},[29972],{"data":29973,"content":29974,"nodeType":860},{},[29975],{"data":29976,"marks":29977,"value":29978,"nodeType":864},{},[],"Inventory all apps and services that are accessed over the internet.",{"data":29980,"content":29981,"nodeType":945},{},[29982],{"data":29983,"content":29984,"nodeType":860},{},[29985],{"data":29986,"marks":29987,"value":29988,"nodeType":864},{},[],"Achieve MFA compliance across all apps. ",{"data":29990,"content":29991,"nodeType":945},{},[29992],{"data":29993,"content":29994,"nodeType":860},{},[29995],{"data":29996,"marks":29997,"value":29998,"nodeType":864},{},[],"Regularly demonstrate an up-to-date app inventory and MFA coverage. ",{"data":30000,"content":30001,"nodeType":860},{},[30002],{"data":30003,"marks":30004,"value":30005,"nodeType":864},{},[],"If this cannot be achieved or a breach occurs that demonstrates inadequate visibility or coverage, precedent indicates that regulatory enforcement will follow. ",{"data":30007,"content":30008,"nodeType":860},{},[30009],{"data":30010,"marks":30011,"value":30013,"nodeType":864},{},[30012],{"type":899},"Unfortunately, this is easier said than done for most organizations. ",{"data":30015,"content":30016,"nodeType":1005},{},[],{"data":30018,"content":30019,"nodeType":1009},{},[30020],{"data":30021,"marks":30022,"value":30024,"nodeType":864},{},[30023],{"type":899},"Why is this a problem?",{"data":30026,"content":30027,"nodeType":1312},{},[30028],{"data":30029,"marks":30030,"value":30032,"nodeType":864},{},[30031],{"type":899},"App sprawl and shadow SaaS",{"data":30034,"content":30035,"nodeType":860},{},[30036],{"data":30037,"marks":30038,"value":30039,"nodeType":864},{},[],"Most organizations now use hundreds of SaaS applications, which translates into thousands of sprawling user identities, login methods, and ways to access company systems and data. True MFA coverage expands beyond your centrally managed, SSO-connected apps or your primary enterprise login to any and every app used by your employees for work.",{"data":30041,"content":30042,"nodeType":860},{},[30043],{"data":30044,"marks":30045,"value":30046,"nodeType":864},{},[],"But with many apps not directly managed by IT or properly onboarded, it’s all too common for shadow apps to sit outside the scope of typical audits — but inside the reach of attackers.",{"data":30048,"content":30049,"nodeType":1312},{},[30050],{"data":30051,"marks":30052,"value":30054,"nodeType":864},{},[30053],{"type":899},"Configuration challenges",{"data":30056,"content":30057,"nodeType":860},{},[30058],{"data":30059,"marks":30060,"value":30061,"nodeType":864},{},[],"Even when apps are known about, each app is built differently. Design choices can have a big impact on how authentication and account management is handled. This leads to situations where, for example, apps allow simultaneous login methods, don’t provide admin-level controls to enforce MFA, or allow account config changes on behalf of users in your app tenant.",{"data":30063,"content":30064,"nodeType":860},{},[30065],{"data":30066,"marks":30067,"value":30068,"nodeType":864},{},[],"This isn’t just an app sprawl problem either — even when it comes to core environments the complexities of configuration can lead to coverage gaps. Anyone that’s had to manage group policy in Microsoft, for example, can attest to how convoluted and error-prone this is. ",{"data":30070,"content":30071,"nodeType":1312},{},[30072],{"data":30073,"marks":30074,"value":395,"nodeType":864},{},[30075],{"type":899},{"data":30077,"content":30078,"nodeType":860},{},[30079],{"data":30080,"marks":30081,"value":30082,"nodeType":864},{},[],"When an app is first used, particularly if self-adopted, a username and password is typically created. Even when an SSO login is created, it’s usually added on top of password authentication instead of replacing it. And unless specifically disabled or removed, these password-based login methods can continue to be used. ",{"data":30084,"content":30085,"nodeType":860},{},[30086,30090,30098],{"data":30087,"marks":30088,"value":30089,"nodeType":864},{},[],"Because most organizations rely on configuring MFA at their IdP login, local logins without MFA can go unnoticed. These “ghost logins” can lead to unexpected MFA gaps that leave accounts exposed. According to Push data, ",{"data":30091,"content":30092,"nodeType":883},{"uri":15980},[30093],{"data":30094,"marks":30095,"value":30097,"nodeType":864},{},[30096],{"type":1455},"2 in 5 accounts are missing MFA",{"data":30099,"marks":30100,"value":30101,"nodeType":864},{},[],", and many also have a password vulnerability (such as appearing in a password breach or compromised credential feed) that means they’re sitting ducks for an attacker, waiting to be exploited.",{"data":30103,"content":30107,"nodeType":996},{"target":30104},{"sys":30105},{"id":30106,"type":1001,"linkType":1002},"3ZLHFb7DD3Q3f8oH5f3l9X",[],{"data":30109,"content":30110,"nodeType":1005},{},[],{"data":30112,"content":30113,"nodeType":1009},{},[30114],{"data":30115,"marks":30116,"value":30118,"nodeType":864},{},[30117],{"type":899},"The future of compliance",{"data":30120,"content":30121,"nodeType":860},{},[30122],{"data":30123,"marks":30124,"value":30125,"nodeType":864},{},[],"NYDFS is leading the way in terms of its stance on MFA and understanding of the modern, decentralized, SaaS-centric IT landscape. But they’re not alone, and other regulators will follow suit as breaches continue to dominate the headlines. ",{"data":30127,"content":30128,"nodeType":860},{},[30129,30133,30141],{"data":30130,"marks":30131,"value":30132,"nodeType":864},{},[],"It can take a while for a major breach to translate into regulatory enforcement. ",{"data":30134,"content":30135,"nodeType":883},{"uri":3751},[30136],{"data":30137,"marks":30138,"value":30140,"nodeType":864},{},[30139],{"type":1455},"2024’s Snowflake breaches",{"data":30142,"marks":30143,"value":30144,"nodeType":864},{},[]," are a great example of this. Attackers exploited widespread MFA gaps to log into customer Snowflake tenants and steal hundreds of millions of customer records. This was made worse by the fact that the credentials used to access these accounts were found in infostealer credential dumps dating back to 2020 — just sitting around waiting for attackers to exploit them. ",{"data":30146,"content":30147,"nodeType":860},{},[30148],{"data":30149,"marks":30150,"value":30151,"nodeType":864},{},[],"In the wake of Snowflake, multiple regulatory bodies have yet to make a judgement. The Spanish data protection authority (AEPD), the U.S. FCC, FTC, and various state data protection authorities all have investigations ongoing, with class action lawsuits also taking place against many of the impacted businesses. ",{"data":30153,"content":30154,"nodeType":860},{},[30155],{"data":30156,"marks":30157,"value":30158,"nodeType":864},{},[],"As we’ve seen with NYDFS’s post-breach enforcement, even if you think you’ve complied by rolling out MFA at the application level, but still have vulnerable accounts, you will be penalised in the event of a breach. This is why a policy or control based view of MFA compliance is no longer sufficient — you need to be able to audit and validate MFA configuration at the account level.",{"data":30160,"content":30161,"nodeType":1005},{},[],{"data":30163,"content":30164,"nodeType":1009},{},[30165],{"data":30166,"marks":30167,"value":26360,"nodeType":864},{},[30168],{"type":899},{"data":30170,"content":30171,"nodeType":860},{},[30172],{"data":30173,"marks":30174,"value":30175,"nodeType":864},{},[],"Push Security’s browser-based security platform observes logins directly in employee browsers, building a comprehensive picture of user identities and login methods across every app.",{"data":30177,"content":30178,"nodeType":860},{},[30179],{"data":30180,"marks":30181,"value":30182,"nodeType":864},{},[],"Push shows you every app your employees are using (even the unmanaged ones you don’t know about), providing detailed information about how users are logging in, and where vulnerabilities exist. This includes accounts missing MFA, where users are logging in with a username and password over SSO, and where a user’s password has appeared in a compromised credential feed. You can also use Push to deliver in-browser guidance to users to prompt them to remediate insecure logins.",{"data":30184,"content":30185,"nodeType":860},{},[30186],{"data":30187,"marks":30188,"value":30189,"nodeType":864},{},[],"With Push, you can build a full picture of your app estate and MFA posture down to the individual account level, with real-time, continuous monitoring of identities to catch and course-correct any drift that could be exploited by attackers — helping you to achieve and maintain compliance with regulations like NYCRR Part 500.",{"data":30191,"content":30192,"nodeType":860},{},[30193],{"data":30194,"marks":30195,"value":30196,"nodeType":864},{},[],"Check out the video below for more information.",{"data":30198,"content":30202,"nodeType":996},{"target":30199},{"sys":30200},{"id":30201,"type":1001,"linkType":1002},"1axELRNRyXglrf81FEkDhb",[],{"data":30204,"content":30205,"nodeType":1005},{},[],{"data":30207,"content":30208,"nodeType":1009},{},[30209],{"data":30210,"marks":30211,"value":30213,"nodeType":864},{},[30212],{"type":899},"Learn more",{"data":30215,"content":30216,"nodeType":860},{},[30217],{"data":30218,"marks":30219,"value":30220,"nodeType":864},{},[],"This isn’t all we do: Push’s browser-based security platform provides comprehensive detection and response capabilities against the leading cause of breaches. Push blocks browser-based attacks like AiTM phishing, credential stuffing, malicious browser extensions, malicious OAuth grants, ClickFix, and session hijacking. You don’t need to wait until it all goes wrong — you can also use Push to proactively find and fix vulnerabilities across the apps that your employees use, like ghost logins, SSO coverage gaps, MFA gaps, vulnerable passwords, and more to harden your identity attack surface.",{"data":30222,"content":30223,"nodeType":860},{},[30224,30227,30234,30237,30244],{"data":30225,"marks":30226,"value":12936,"nodeType":864},{},[],{"data":30228,"content":30229,"nodeType":883},{"uri":12939},[30230],{"data":30231,"marks":30232,"value":12944,"nodeType":864},{},[30233],{"type":1455},{"data":30235,"marks":30236,"value":27405,"nodeType":864},{},[],{"data":30238,"content":30239,"nodeType":883},{"uri":1700},[30240],{"data":30241,"marks":30242,"value":12967,"nodeType":864},{},[30243],{"type":1455},{"data":30245,"marks":30246,"value":2924,"nodeType":864},{},[],{"data":30248,"content":30251,"nodeType":996},{"target":30249},{"sys":30250},{"id":29845,"type":1001,"linkType":1002},[],{"data":30253,"content":30254,"nodeType":860},{},[30255],{"data":30256,"marks":30257,"value":21,"nodeType":864},{},[],"What the expansion of NYCRR Part 500 means for MFA regulation and compliance","NYCRR Part 500 is tightening its MFA and asset management requirements. Here's what the changes means for compliance. ","2025-10-31T00:00:00.000Z","what-the-expansion-of-nydfs-nycrr-part-500-means-for-mfa-compliance",{"items":30263},[30264,30266],{"sys":30265,"name":2729},{"id":2728},{"sys":30267,"name":6593},{"id":6592},{"items":30269},[30270],{"fullName":3621,"firstName":3622,"jobTitle":3623,"profilePicture":30271},{"url":3625},{"__typename":2059,"sys":30273,"content":30275,"title":30774,"synopsis":30775,"hashTags":59,"publishedDate":30776,"slug":30777,"tagsCollection":30778,"authorsCollection":30784},{"id":30274},"3YXrPQptEX3P0Hrd550its",{"json":30276},{"data":30277,"content":30278,"nodeType":856},{},[30279,30286,30304,30311,30314,30322,30329,30336,30460,30467,30473,30476,30484,30491,30498,30505,30512,30520,30527,30534,30537,30545,30552,30559,30566,30572,30579,30607,30617,30623,30626,30634,30642,30649,30682,30687,30693,30698,30701,30709,30716,30735,30741,30748],{"data":30280,"content":30281,"nodeType":860},{},[30282],{"data":30283,"marks":30284,"value":30285,"nodeType":864},{},[],"Many security leaders would confidently say they have MFA deployed everywhere. But that confidence often disappears when a breach investigation begins. The reality? MFA coverage is far from complete.",{"data":30287,"content":30288,"nodeType":860},{},[30289,30293,30301],{"data":30290,"marks":30291,"value":30292,"nodeType":864},{},[],"MFA is inconsistently enforced across the modern identity surface. Logins without MFA frequently slip through the cracks, exposing critical access points to business systems and data. And attackers know it — as they demonstrated best in ",{"data":30294,"content":30295,"nodeType":883},{"uri":3751},[30296],{"data":30297,"marks":30298,"value":30300,"nodeType":864},{},[30299],{"type":1455},"2024's infamous Snowflake breaches",{"data":30302,"marks":30303,"value":12252,"nodeType":864},{},[],{"data":30305,"content":30306,"nodeType":860},{},[30307],{"data":30308,"marks":30309,"value":30310,"nodeType":864},{},[],"Regulators and insurers are catching on, too. Where MFA was once considered best practice, it’s now an expectation; implied in some frameworks, explicitly required in others, and enforced more aggressively than ever before. Whether you’re trying to meet PCI DSS, HIPAA, or GDPR requirements, the question is no longer if you have MFA, it’s where and how it’s enforced — and can you prove it?",{"data":30312,"content":30313,"nodeType":1005},{},[],{"data":30315,"content":30316,"nodeType":1009},{},[30317],{"data":30318,"marks":30319,"value":30321,"nodeType":864},{},[30320],{"type":899},"Framework-by-framework breakdown: what they really say about MFA",{"data":30323,"content":30324,"nodeType":860},{},[30325],{"data":30326,"marks":30327,"value":30328,"nodeType":864},{},[],"MFA isn’t just a checkbox. It’s a regulatory expectation. While some frameworks spell that out clearly, others imply it in broader language. Either way, the enforcement trend is undeniable: organizations are being held accountable if MFA is missing.",{"data":30330,"content":30331,"nodeType":860},{},[30332],{"data":30333,"marks":30334,"value":30335,"nodeType":864},{},[],"Here’s how key frameworks treat MFA today:",{"data":30337,"content":30338,"nodeType":941},{},[30339,30349,30371,30393,30440,30450],{"data":30340,"content":30341,"nodeType":945},{},[30342],{"data":30343,"content":30344,"nodeType":860},{},[30345],{"data":30346,"marks":30347,"value":30348,"nodeType":864},{},[],"PCI DSS v4.0 requires mandatory MFA for all non-console administrative access and remote access to cardholder environments.",{"data":30350,"content":30351,"nodeType":945},{},[30352],{"data":30353,"content":30354,"nodeType":860},{},[30355,30359,30367],{"data":30356,"marks":30357,"value":30358,"nodeType":864},{},[],"HIPAA doesn’t use the term “MFA” directly, but under the Security Rule, it mandates “reasonable and appropriate safeguards,” and the absence of MFA has led to audit findings and penalties — e.g. a US children’s hospital received a ",{"data":30360,"content":30361,"nodeType":883},{"uri":29806},[30362],{"data":30363,"marks":30364,"value":30366,"nodeType":864},{},[30365],{"type":1455},"$500,000",{"data":30368,"marks":30369,"value":30370,"nodeType":864},{},[]," HIPAA fine for insufficient MFA.",{"data":30372,"content":30373,"nodeType":945},{},[30374],{"data":30375,"content":30376,"nodeType":860},{},[30377,30381,30389],{"data":30378,"marks":30379,"value":30380,"nodeType":864},{},[],"GDPR similarly focuses on “appropriate technical measures.” In 2023, the UK’s ICO fined a UK software company ",{"data":30382,"content":30383,"nodeType":883},{"uri":29818},[30384],{"data":30385,"marks":30386,"value":30388,"nodeType":864},{},[30387],{"type":1455},"£3.07 million",{"data":30390,"marks":30391,"value":30392,"nodeType":864},{},[]," for a breach involving missing MFA, setting a clear precedent.",{"data":30394,"content":30395,"nodeType":945},{},[30396],{"data":30397,"content":30398,"nodeType":860},{},[30399,30403,30411,30415,30423,30427,30436],{"data":30400,"marks":30401,"value":30402,"nodeType":864},{},[],"NYDFS 500 is clear: MFA is required for all user access to covered systems, not just privileged accounts. MFA gaps resulted in a ",{"data":30404,"content":30405,"nodeType":883},{"uri":29764},[30406],{"data":30407,"marks":30408,"value":30410,"nodeType":864},{},[30409],{"type":1455},"$3 million settlement",{"data":30412,"marks":30413,"value":30414,"nodeType":864},{},[]," against a financial services company, a ",{"data":30416,"content":30417,"nodeType":883},{"uri":29786},[30418],{"data":30419,"marks":30420,"value":30422,"nodeType":864},{},[30421],{"type":1455},"$4.2 million",{"data":30424,"marks":30425,"value":30426,"nodeType":864},{},[]," dollar fine against a personal loan provider, and a ",{"data":30428,"content":30430,"nodeType":883},{"uri":30429},"https://www.dfs.ny.gov/reports_and_publications/press_releases/pr20241125",[30431],{"data":30432,"marks":30433,"value":30435,"nodeType":864},{},[30434],{"type":1455},"$1.55 million",{"data":30437,"marks":30438,"value":30439,"nodeType":864},{},[]," fine against an auto insurer.",{"data":30441,"content":30442,"nodeType":945},{},[30443],{"data":30444,"content":30445,"nodeType":860},{},[30446],{"data":30447,"marks":30448,"value":30449,"nodeType":864},{},[],"NIST SP 800-63-3 and CISA’s EO 14028 elevate the standard further, calling for phishing-resistant MFA for federal systems and contractors.",{"data":30451,"content":30452,"nodeType":945},{},[30453],{"data":30454,"content":30455,"nodeType":860},{},[30456],{"data":30457,"marks":30458,"value":30459,"nodeType":864},{},[],"Frameworks and standards like ISO/IEC 27001, CIS Controls v8, and SOC 2 increasingly expect MFA coverage to be demonstrated during audits and certification processes.",{"data":30461,"content":30462,"nodeType":860},{},[30463],{"data":30464,"marks":30465,"value":30466,"nodeType":864},{},[],"These frameworks vary in tone and scope, but the message is consistent across the board. MFA must be enforced, not just in theory.",{"data":30468,"content":30472,"nodeType":996},{"target":30469},{"sys":30470},{"id":30471,"type":1001,"linkType":1002},"7dOxw1w8Ut5WDBDOki20We",[],{"data":30474,"content":30475,"nodeType":1005},{},[],{"data":30477,"content":30478,"nodeType":1009},{},[30479],{"data":30480,"marks":30481,"value":30483,"nodeType":864},{},[30482],{"type":899},"Insurers are scrutinising MFA gaps too",{"data":30485,"content":30486,"nodeType":860},{},[30487],{"data":30488,"marks":30489,"value":30490,"nodeType":864},{},[],"It’s not just regulators getting stricter. Insurers are building in MFA as a minimum condition of insurance coverage. ",{"data":30492,"content":30493,"nodeType":860},{},[30494],{"data":30495,"marks":30496,"value":30497,"nodeType":864},{},[],"Organizations are incentivized to have MFA. Roughly 20-25% of cyber insurance premiums are dictated by the security controls in place: MFA, EDR, regular patching, etc. ",{"data":30499,"content":30500,"nodeType":860},{},[30501],{"data":30502,"marks":30503,"value":30504,"nodeType":864},{},[],"After a breach, insurers bring in incident response teams to analyze what happened. Their job is to determine how the attacker got in and whether the controls you claimed to have were actually in place. If the entry point had no effective MFA and your policy attested that it did, the insurer may treat that as misrepresentation.",{"data":30506,"content":30507,"nodeType":860},{},[30508],{"data":30509,"marks":30510,"value":30511,"nodeType":864},{},[],"If your self-attested MFA coverage doesn’t hold up under investigation, your provider may not be required to pay, and you’re left footing the bill for IR, recovery, legal fees, and business disruption.",{"data":30513,"content":30514,"nodeType":1312},{},[30515],{"data":30516,"marks":30517,"value":30519,"nodeType":864},{},[30518],{"type":899},"Case study: City of Hamilton, Ontario",{"data":30521,"content":30522,"nodeType":860},{},[30523],{"data":30524,"marks":30525,"value":30526,"nodeType":864},{},[],"The Canadian city of Hamilton, Ontario fell victim to a ransomware attack in February 2024. Attackers disabled nearly 80% of the city’s network and demanded a ransom of roughly $18.5 million in exchange for a decryption tool to unscramble the data.",{"data":30528,"content":30529,"nodeType":860},{},[30530],{"data":30531,"marks":30532,"value":30533,"nodeType":864},{},[],"They attempted to claim $5 million under their cyber insurance policy. After more than a year of dispute, the claim was denied because of MFA gaps — a condition of the coverage. Taxpayers were left to foot the $18.3 million bill, including cleanup, rebuild, and one-time consultancy fees.",{"data":30535,"content":30536,"nodeType":1005},{},[],{"data":30538,"content":30539,"nodeType":1009},{},[30540],{"data":30541,"marks":30542,"value":30544,"nodeType":864},{},[30543],{"type":899},"The future of compliance will be driven by cyber attacks",{"data":30546,"content":30547,"nodeType":860},{},[30548],{"data":30549,"marks":30550,"value":30551,"nodeType":864},{},[],"The direction of travel is consistent: frameworks are getting stricter, auditors are getting more technical, and enforcement is starting to hit data processors as well as controllers. ",{"data":30553,"content":30554,"nodeType":860},{},[30555],{"data":30556,"marks":30557,"value":30558,"nodeType":864},{},[],"But there’s more to it than that. In-the-wild breaches are exposing just how much business IT has evolved — and where security controls haven’t kept up. ",{"data":30560,"content":30561,"nodeType":860},{},[30562],{"data":30563,"marks":30564,"value":30565,"nodeType":864},{},[],"With the SaaS-ification of enterprise IT, core business systems aren’t locally deployed and centrally managed in the way they used to be. Instead, they’re logged into over the internet, via a web browser.",{"data":30567,"content":30571,"nodeType":996},{"target":30568},{"sys":30569},{"id":30570,"type":1001,"linkType":1002},"4h4hUYAghbZavOwjRTnBe2",[],{"data":30573,"content":30574,"nodeType":860},{},[30575],{"data":30576,"marks":30577,"value":30578,"nodeType":864},{},[],"So it’s not surprising that modern attackers are now targeting these apps directly. The most logical way to do this is by targeting users of those apps via identities — the vehicle by which apps are accessed and used. ",{"data":30580,"content":30581,"nodeType":860},{},[30582,30586,30594,30598,30603],{"data":30583,"marks":30584,"value":30585,"nodeType":864},{},[],"Sitting outside the typical security control boundary, it’s no surprise that this has become the soft underbelly in the crosshairs of attackers. Organizations are dealing with a vast and vulnerable attack surface consisting of ",{"data":30587,"content":30588,"nodeType":883},{"uri":15980},[30589],{"data":30590,"marks":30591,"value":30593,"nodeType":864},{},[30592],{"type":1455},"hundreds of applications, with thousands of accounts",{"data":30595,"marks":30596,"value":30597,"nodeType":864},{},[]," spread across the app estate. ",{"data":30599,"marks":30600,"value":30602,"nodeType":864},{},[30601],{"type":899},"2 in 5 of these accounts are missing MFA",{"data":30604,"marks":30605,"value":30606,"nodeType":864},{},[],", and many also have a password vulnerability (such as appearing in a password breach or compromised credential feed) that means they’re sitting ducks for an attacker, waiting to be exploited. ",{"data":30608,"content":30609,"nodeType":1116},{},[30610],{"data":30611,"content":30612,"nodeType":860},{},[30613],{"data":30614,"marks":30615,"value":30616,"nodeType":864},{},[],"Due to SaaS blind-spots, 2 in 5 accounts are missing MFA. ",{"data":30618,"content":30622,"nodeType":996},{"target":30619},{"sys":30620},{"id":30621,"type":1001,"linkType":1002},"3WFzina1t5j6bDlTlGQA0l",[],{"data":30624,"content":30625,"nodeType":1005},{},[],{"data":30627,"content":30628,"nodeType":1009},{},[30629],{"data":30630,"marks":30631,"value":30633,"nodeType":864},{},[30632],{"type":899},"What security teams can do about it",{"data":30635,"content":30636,"nodeType":1312},{},[30637],{"data":30638,"marks":30639,"value":30641,"nodeType":864},{},[30640],{"type":899},"Achieve complete MFA visibility and remediate gaps with Push Security",{"data":30643,"content":30644,"nodeType":860},{},[30645],{"data":30646,"marks":30647,"value":30648,"nodeType":864},{},[],"You can’t enforce identity policy if you can’t see where it breaks. Push gives you live, browser-based insight into how users actually authenticate – what apps they access, how they log in, and where protections like MFA fall short. Because Push runs natively in the browser, you get full coverage and built-in guardrails, without relying on app integrations, enabling you to:",{"data":30650,"content":30651,"nodeType":941},{},[30652,30662,30672],{"data":30653,"content":30654,"nodeType":945},{},[30655],{"data":30656,"content":30657,"nodeType":860},{},[30658],{"data":30659,"marks":30660,"value":30661,"nodeType":864},{},[],"Understand how identities are really used across apps",{"data":30663,"content":30664,"nodeType":945},{},[30665],{"data":30666,"content":30667,"nodeType":860},{},[30668],{"data":30669,"marks":30670,"value":30671,"nodeType":864},{},[],"Catch misconfigurations, missing MFA, and accounts using vulnerable passwords",{"data":30673,"content":30674,"nodeType":945},{},[30675],{"data":30676,"content":30677,"nodeType":860},{},[30678],{"data":30679,"marks":30680,"value":30681,"nodeType":864},{},[],"Guide users to fix issues before they become incidents",{"data":30683,"content":30686,"nodeType":996},{"target":30684},{"sys":30685},{"id":30201,"type":1001,"linkType":1002},[],{"data":30688,"content":30689,"nodeType":860},{},[30690],{"data":30691,"marks":30692,"value":21,"nodeType":864},{},[],{"data":30694,"content":30697,"nodeType":996},{"target":30695},{"sys":30696},{"id":29532,"type":1001,"linkType":1002},[],{"data":30699,"content":30700,"nodeType":1005},{},[],{"data":30702,"content":30703,"nodeType":1312},{},[30704],{"data":30705,"marks":30706,"value":30708,"nodeType":864},{},[30707],{"type":899},"Prepare your organization for the new world of browser-based attacks",{"data":30710,"content":30711,"nodeType":860},{},[30712],{"data":30713,"marks":30714,"value":30715,"nodeType":864},{},[],"As attacks continue to evolve, we can expect regulators, insurers, and policy-makers to follow. ",{"data":30717,"content":30718,"nodeType":860},{},[30719,30722,30731],{"data":30720,"marks":30721,"value":21,"nodeType":864},{},[],{"data":30723,"content":30725,"nodeType":883},{"uri":30724},"https://pushsecurity.com/blog/6-browser-based-attacks-every-security-team-should-be-prepared-for/",[30726],{"data":30727,"marks":30728,"value":30730,"nodeType":864},{},[30729],{"type":1455},"Attacks that target users in their web browsers have seen an unprecedented rise in recent years",{"data":30732,"marks":30733,"value":30734,"nodeType":864},{},[],", exploiting the biggest security blind-spot in the enterprise security stack. ",{"data":30736,"content":30740,"nodeType":996},{"target":30737},{"sys":30738},{"id":30739,"type":1001,"linkType":1002},"4ogNqZdObSIJXavHP44lom",[],{"data":30742,"content":30743,"nodeType":860},{},[30744],{"data":30745,"marks":30746,"value":30747,"nodeType":864},{},[],"Push Security’s browser-based security platform provides comprehensive detection and response capabilities against the leading cause of breaches. Push blocks browser-based attacks like AiTM phishing, credential stuffing, password spraying and session hijacking using stolen session tokens. You can also use Push to find and fix vulnerabilities across the apps that your employees use, like ghost logins, SSO coverage gaps, MFA gaps, vulnerable passwords, risky OAuth integrations, and more to harden your identity attack surface.",{"data":30749,"content":30750,"nodeType":860},{},[30751,30754,30761,30764,30771],{"data":30752,"marks":30753,"value":12936,"nodeType":864},{},[],{"data":30755,"content":30756,"nodeType":883},{"uri":12939},[30757],{"data":30758,"marks":30759,"value":12944,"nodeType":864},{},[30760],{"type":1455},{"data":30762,"marks":30763,"value":27405,"nodeType":864},{},[],{"data":30765,"content":30766,"nodeType":883},{"uri":1700},[30767],{"data":30768,"marks":30769,"value":12967,"nodeType":864},{},[30770],{"type":1455},{"data":30772,"marks":30773,"value":2924,"nodeType":864},{},[],"How cyber breaches are driving tighter MFA requirements and enforcement","MFA regulators, insurers, and policy-makers are getting tighter on their MFA requirements, fuelled by public cyber breaches. ","2025-09-19T00:00:00.000Z","how-cyber-breaches-are-driving-tighter-mfa-requirements-and-enforcement",{"items":30779},[30780,30782],{"sys":30781,"name":6593},{"id":6592},{"sys":30783,"name":297},{"id":2732},{"items":30785},[30786],{"fullName":2736,"firstName":2737,"jobTitle":2738,"profilePicture":30787},{"url":2740},"cyber-essentials-april-2026-update","blog/cyber-essentials-april-2026-update",{"json":30791},{"data":30792,"content":30793,"nodeType":856},{},[30794],{"data":30795,"content":30796,"nodeType":860},{},[30797,30801],{"data":30798,"marks":30799,"value":30800,"nodeType":864},{},[],"Big changes are being made to the Cyber Essentials scheme in 2026 that will significantly change how companies are required to validate compliance. Here’s what you need to know about the changes ",{"data":30802,"marks":30803,"value":30804,"nodeType":864},{},[],"and how Push Security can help you deal with them. ","Big changes are being made to the Cyber Essentials scheme in 2026 that will change how companies must validate compliance. Here’s what you need to know. ",{"id":30807,"publishedAt":30808},"40T71ukTt8FYSIuFJCYM8H","2026-08-12T11:53:10.721Z",{"items":30810},[30811,30813],{"sys":30812,"name":2729},{"id":2728},{"sys":30814,"name":297},{"id":2732},{"items":30816},[30817,30819,30821,30823,30825,30827,30829,30831,30833],{"sys":30818,"name":413,"slug":414,"tier":31},{"id":410},{"sys":30820,"name":545,"slug":546,"tier":31},{"id":542},{"sys":30822,"name":297,"slug":298,"tier":31},{"id":294},{"sys":30824,"name":457,"slug":458,"tier":45},{"id":454},{"sys":30826,"name":395,"slug":396,"tier":45},{"id":392},{"sys":30828,"name":589,"slug":590,"tier":45},{"id":586},{"sys":30830,"name":502,"slug":503,"tier":45},{"id":499},{"sys":30832,"name":333,"slug":334,"tier":45},{"id":330},{"sys":30834,"name":528,"slug":529,"tier":45},{"id":525},"NbKq6AoTWjVyoGtaraUEECBxeojLCQEkRltaCS1wcNY",{"id":30837,"title":30258,"authorsCollection":30838,"content":30842,"extension":228,"faqItemsCollection":31367,"faqTitle":59,"featured":6,"hashTags":59,"meta":31369,"metaTitle":31370,"ogImage":59,"postType":29684,"publishedDate":30260,"relatedBlogPostsCollection":31371,"slug":30261,"stem":32995,"subtitle":59,"summary":32996,"synopsis":30259,"sys":33007,"tagsCollection":33009,"topicsCollection":33015,"__hash__":33033},"blog/blog/what-the-expansion-of-nydfs-nycrr-part-500-means-for-mfa-compliance.json",{"items":30839},[30840],{"fullName":3621,"firstName":3622,"jobTitle":3623,"socialLinks":59,"profilePicture":30841},{"url":3625},{"json":30843,"links":31339},{"data":30844,"content":30845,"nodeType":856},{},[30846,30862,30868,30874,30934,30970,30975,30981,30984,30991,30997,31039,31056,31062,31065,31072,31078,31108,31114,31121,31124,31131,31138,31144,31150,31157,31163,31169,31176,31182,31198,31203,31206,31213,31219,31235,31241,31247,31250,31257,31263,31269,31275,31281,31286,31289,31296,31302,31328,31333],{"data":30847,"content":30848,"nodeType":860},{},[30849,30852,30859],{"data":30850,"marks":30851,"value":2761,"nodeType":864},{},[],{"data":30853,"content":30854,"nodeType":883},{"uri":29703},[30855],{"data":30856,"marks":30857,"value":29709,"nodeType":864},{},[30858],{"type":1455},{"data":30860,"marks":30861,"value":29713,"nodeType":864},{},[],{"data":30863,"content":30864,"nodeType":860},{},[30865],{"data":30866,"marks":30867,"value":29720,"nodeType":864},{},[],{"data":30869,"content":30870,"nodeType":860},{},[30871],{"data":30872,"marks":30873,"value":29727,"nodeType":864},{},[],{"data":30875,"content":30876,"nodeType":941},{},[30877,30896,30915],{"data":30878,"content":30879,"nodeType":945},{},[30880],{"data":30881,"content":30882,"nodeType":860},{},[30883,30886,30893],{"data":30884,"marks":30885,"value":21,"nodeType":864},{},[],{"data":30887,"content":30888,"nodeType":883},{"uri":29742},[30889],{"data":30890,"marks":30891,"value":29748,"nodeType":864},{},[30892],{"type":1455},{"data":30894,"marks":30895,"value":29752,"nodeType":864},{},[],{"data":30897,"content":30898,"nodeType":945},{},[30899],{"data":30900,"content":30901,"nodeType":860},{},[30902,30905,30912],{"data":30903,"marks":30904,"value":21,"nodeType":864},{},[],{"data":30906,"content":30907,"nodeType":883},{"uri":29764},[30908],{"data":30909,"marks":30910,"value":29770,"nodeType":864},{},[30911],{"type":1455},{"data":30913,"marks":30914,"value":29774,"nodeType":864},{},[],{"data":30916,"content":30917,"nodeType":945},{},[30918],{"data":30919,"content":30920,"nodeType":860},{},[30921,30924,30931],{"data":30922,"marks":30923,"value":21,"nodeType":864},{},[],{"data":30925,"content":30926,"nodeType":883},{"uri":29786},[30927],{"data":30928,"marks":30929,"value":29792,"nodeType":864},{},[30930],{"type":1455},{"data":30932,"marks":30933,"value":29796,"nodeType":864},{},[],{"data":30935,"content":30936,"nodeType":860},{},[30937,30940,30947,30950,30957,30960,30967],{"data":30938,"marks":30939,"value":29803,"nodeType":864},{},[],{"data":30941,"content":30942,"nodeType":883},{"uri":29806},[30943],{"data":30944,"marks":30945,"value":29812,"nodeType":864},{},[30946],{"type":1455},{"data":30948,"marks":30949,"value":902,"nodeType":864},{},[],{"data":30951,"content":30952,"nodeType":883},{"uri":29818},[30953],{"data":30954,"marks":30955,"value":662,"nodeType":864},{},[30956],{"type":1455},{"data":30958,"marks":30959,"value":29827,"nodeType":864},{},[],{"data":30961,"content":30962,"nodeType":883},{"uri":29830},[30963],{"data":30964,"marks":30965,"value":29836,"nodeType":864},{},[30966],{"type":1455},{"data":30968,"marks":30969,"value":29840,"nodeType":864},{},[],{"data":30971,"content":30974,"nodeType":996},{"target":30972},{"sys":30973},{"id":29845,"type":1001,"linkType":1002},[],{"data":30976,"content":30977,"nodeType":860},{},[30978],{"data":30979,"marks":30980,"value":29853,"nodeType":864},{},[],{"data":30982,"content":30983,"nodeType":1005},{},[],{"data":30985,"content":30986,"nodeType":1009},{},[30987],{"data":30988,"marks":30989,"value":29864,"nodeType":864},{},[30990],{"type":899},{"data":30992,"content":30993,"nodeType":860},{},[30994],{"data":30995,"marks":30996,"value":29871,"nodeType":864},{},[],{"data":30998,"content":30999,"nodeType":941},{},[31000,31013,31026],{"data":31001,"content":31002,"nodeType":945},{},[31003],{"data":31004,"content":31005,"nodeType":860},{},[31006,31010],{"data":31007,"marks":31008,"value":29885,"nodeType":864},{},[31009],{"type":899},{"data":31011,"marks":31012,"value":29889,"nodeType":864},{},[],{"data":31014,"content":31015,"nodeType":945},{},[31016],{"data":31017,"content":31018,"nodeType":860},{},[31019,31023],{"data":31020,"marks":31021,"value":29900,"nodeType":864},{},[31022],{"type":899},{"data":31024,"marks":31025,"value":29904,"nodeType":864},{},[],{"data":31027,"content":31028,"nodeType":945},{},[31029],{"data":31030,"content":31031,"nodeType":860},{},[31032,31036],{"data":31033,"marks":31034,"value":29915,"nodeType":864},{},[31035],{"type":899},{"data":31037,"marks":31038,"value":29919,"nodeType":864},{},[],{"data":31040,"content":31041,"nodeType":860},{},[31042,31045,31049,31052],{"data":31043,"marks":31044,"value":29926,"nodeType":864},{},[],{"data":31046,"marks":31047,"value":29931,"nodeType":864},{},[31048],{"type":899},{"data":31050,"marks":31051,"value":29935,"nodeType":864},{},[],{"data":31053,"marks":31054,"value":29940,"nodeType":864},{},[31055],{"type":899},{"data":31057,"content":31058,"nodeType":860},{},[31059],{"data":31060,"marks":31061,"value":29947,"nodeType":864},{},[],{"data":31063,"content":31064,"nodeType":1005},{},[],{"data":31066,"content":31067,"nodeType":1009},{},[31068],{"data":31069,"marks":31070,"value":29958,"nodeType":864},{},[31071],{"type":899},{"data":31073,"content":31074,"nodeType":860},{},[31075],{"data":31076,"marks":31077,"value":29965,"nodeType":864},{},[],{"data":31079,"content":31080,"nodeType":941},{},[31081,31090,31099],{"data":31082,"content":31083,"nodeType":945},{},[31084],{"data":31085,"content":31086,"nodeType":860},{},[31087],{"data":31088,"marks":31089,"value":29978,"nodeType":864},{},[],{"data":31091,"content":31092,"nodeType":945},{},[31093],{"data":31094,"content":31095,"nodeType":860},{},[31096],{"data":31097,"marks":31098,"value":29988,"nodeType":864},{},[],{"data":31100,"content":31101,"nodeType":945},{},[31102],{"data":31103,"content":31104,"nodeType":860},{},[31105],{"data":31106,"marks":31107,"value":29998,"nodeType":864},{},[],{"data":31109,"content":31110,"nodeType":860},{},[31111],{"data":31112,"marks":31113,"value":30005,"nodeType":864},{},[],{"data":31115,"content":31116,"nodeType":860},{},[31117],{"data":31118,"marks":31119,"value":30013,"nodeType":864},{},[31120],{"type":899},{"data":31122,"content":31123,"nodeType":1005},{},[],{"data":31125,"content":31126,"nodeType":1009},{},[31127],{"data":31128,"marks":31129,"value":30024,"nodeType":864},{},[31130],{"type":899},{"data":31132,"content":31133,"nodeType":1312},{},[31134],{"data":31135,"marks":31136,"value":30032,"nodeType":864},{},[31137],{"type":899},{"data":31139,"content":31140,"nodeType":860},{},[31141],{"data":31142,"marks":31143,"value":30039,"nodeType":864},{},[],{"data":31145,"content":31146,"nodeType":860},{},[31147],{"data":31148,"marks":31149,"value":30046,"nodeType":864},{},[],{"data":31151,"content":31152,"nodeType":1312},{},[31153],{"data":31154,"marks":31155,"value":30054,"nodeType":864},{},[31156],{"type":899},{"data":31158,"content":31159,"nodeType":860},{},[31160],{"data":31161,"marks":31162,"value":30061,"nodeType":864},{},[],{"data":31164,"content":31165,"nodeType":860},{},[31166],{"data":31167,"marks":31168,"value":30068,"nodeType":864},{},[],{"data":31170,"content":31171,"nodeType":1312},{},[31172],{"data":31173,"marks":31174,"value":395,"nodeType":864},{},[31175],{"type":899},{"data":31177,"content":31178,"nodeType":860},{},[31179],{"data":31180,"marks":31181,"value":30082,"nodeType":864},{},[],{"data":31183,"content":31184,"nodeType":860},{},[31185,31188,31195],{"data":31186,"marks":31187,"value":30089,"nodeType":864},{},[],{"data":31189,"content":31190,"nodeType":883},{"uri":15980},[31191],{"data":31192,"marks":31193,"value":30097,"nodeType":864},{},[31194],{"type":1455},{"data":31196,"marks":31197,"value":30101,"nodeType":864},{},[],{"data":31199,"content":31202,"nodeType":996},{"target":31200},{"sys":31201},{"id":30106,"type":1001,"linkType":1002},[],{"data":31204,"content":31205,"nodeType":1005},{},[],{"data":31207,"content":31208,"nodeType":1009},{},[31209],{"data":31210,"marks":31211,"value":30118,"nodeType":864},{},[31212],{"type":899},{"data":31214,"content":31215,"nodeType":860},{},[31216],{"data":31217,"marks":31218,"value":30125,"nodeType":864},{},[],{"data":31220,"content":31221,"nodeType":860},{},[31222,31225,31232],{"data":31223,"marks":31224,"value":30132,"nodeType":864},{},[],{"data":31226,"content":31227,"nodeType":883},{"uri":3751},[31228],{"data":31229,"marks":31230,"value":30140,"nodeType":864},{},[31231],{"type":1455},{"data":31233,"marks":31234,"value":30144,"nodeType":864},{},[],{"data":31236,"content":31237,"nodeType":860},{},[31238],{"data":31239,"marks":31240,"value":30151,"nodeType":864},{},[],{"data":31242,"content":31243,"nodeType":860},{},[31244],{"data":31245,"marks":31246,"value":30158,"nodeType":864},{},[],{"data":31248,"content":31249,"nodeType":1005},{},[],{"data":31251,"content":31252,"nodeType":1009},{},[31253],{"data":31254,"marks":31255,"value":26360,"nodeType":864},{},[31256],{"type":899},{"data":31258,"content":31259,"nodeType":860},{},[31260],{"data":31261,"marks":31262,"value":30175,"nodeType":864},{},[],{"data":31264,"content":31265,"nodeType":860},{},[31266],{"data":31267,"marks":31268,"value":30182,"nodeType":864},{},[],{"data":31270,"content":31271,"nodeType":860},{},[31272],{"data":31273,"marks":31274,"value":30189,"nodeType":864},{},[],{"data":31276,"content":31277,"nodeType":860},{},[31278],{"data":31279,"marks":31280,"value":30196,"nodeType":864},{},[],{"data":31282,"content":31285,"nodeType":996},{"target":31283},{"sys":31284},{"id":30201,"type":1001,"linkType":1002},[],{"data":31287,"content":31288,"nodeType":1005},{},[],{"data":31290,"content":31291,"nodeType":1009},{},[31292],{"data":31293,"marks":31294,"value":30213,"nodeType":864},{},[31295],{"type":899},{"data":31297,"content":31298,"nodeType":860},{},[31299],{"data":31300,"marks":31301,"value":30220,"nodeType":864},{},[],{"data":31303,"content":31304,"nodeType":860},{},[31305,31308,31315,31318,31325],{"data":31306,"marks":31307,"value":12936,"nodeType":864},{},[],{"data":31309,"content":31310,"nodeType":883},{"uri":12939},[31311],{"data":31312,"marks":31313,"value":12944,"nodeType":864},{},[31314],{"type":1455},{"data":31316,"marks":31317,"value":27405,"nodeType":864},{},[],{"data":31319,"content":31320,"nodeType":883},{"uri":1700},[31321],{"data":31322,"marks":31323,"value":12967,"nodeType":864},{},[31324],{"type":1455},{"data":31326,"marks":31327,"value":2924,"nodeType":864},{},[],{"data":31329,"content":31332,"nodeType":996},{"target":31330},{"sys":31331},{"id":29845,"type":1001,"linkType":1002},[],{"data":31334,"content":31335,"nodeType":860},{},[31336],{"data":31337,"marks":31338,"value":21,"nodeType":864},{},[],{"entries":31340},{"hyperlink":31341,"inline":31342,"block":31343},[],[],[31344,31348,31363],{"sys":31345,"__typename":1717,"type":1718,"ctaText":31346,"buttonLabel":31347,"buttonColour":1721,"buttonUrl":29464},{"id":29845},"Read our whitepaper for more information on the state of MFA regulation and compliance.","Download Now",{"sys":31349,"__typename":1740,"content":31350,"name":31362,"title":59},{"id":30106},{"json":31351},{"nodeType":856,"data":31352,"content":31353},{},[31354],{"nodeType":860,"data":31355,"content":31356},{},[31357],{"nodeType":864,"value":31358,"marks":31359,"data":31361},"So even if you think you’ve configured MFA for a given app, or that all employees log in via SSO, the reality can be way different. It’s tempting to think of MFA as binary: enabled or not. The reality is that MFA needs to be enabled and validated across every app and login. This is no small task. ",[31360],{"type":899},{},"NYDFS blog insight box 1",{"sys":31364,"__typename":9318,"title":31365,"arcadeDemoUrl":31366,"playText":9321},{"id":30201},"Find and close MFA gaps with Push Security","https://demo.arcade.software/qEDIGb9n7EEPCWFntm56?embed",{"items":31368},[],{},"What the expansion of NYCRR 500 means for MFA regulation",{"items":31372},[31373,31876,32538],{"__typename":2059,"sys":31374,"content":31376,"title":31862,"synopsis":31863,"hashTags":59,"publishedDate":31864,"slug":31865,"tagsCollection":31866,"authorsCollection":31872},{"id":31375},"6jYmU1ROpwI41mmzk7ioKd",{"json":31377},{"data":31378,"content":31379,"nodeType":856},{},[31380,31387,31394,31397,31404,31438,31450,31475,31482,31485,31492,31499,31506,31512,31519,31549,31555,31562,31582,31588,31595,31601,31604,31611,31647,31654,31697,31704,31710,31717,31724,31727,31734,31741,31748,31768,31774,31781,31788,31795,31801,31808,31814,31817,31824,31831,31838],{"data":31381,"content":31382,"nodeType":860},{},[31383],{"data":31384,"marks":31385,"value":31386,"nodeType":864},{},[],"After more than two decades in cybersecurity, I’ve witnessed the evolution (and at times, devolution) of detection and response capabilities. I’ve sat in countless SOCs watching analysts drown in a sea of alerts, spent hours chasing false positives, and seen talented security professionals burn out from the relentless noise of low-fidelity detection systems. ",{"data":31388,"content":31389,"nodeType":860},{},[31390],{"data":31391,"marks":31392,"value":31393,"nodeType":864},{},[],"It’s a problem that’s reached crisis proportions, and it’s exactly why our approach to browser security represents not just a technological shift, but a philosophical one.",{"data":31395,"content":31396,"nodeType":1005},{},[],{"data":31398,"content":31399,"nodeType":1009},{},[31400],{"data":31401,"marks":31402,"value":31403,"nodeType":864},{},[],"The alert fatigue epidemic",{"data":31405,"content":31406,"nodeType":860},{},[31407,31411,31416,31420,31425,31429,31434],{"data":31408,"marks":31409,"value":31410,"nodeType":864},{},[],"Early in my career, getting ",{"data":31412,"marks":31413,"value":31415,"nodeType":864},{},[31414],{"type":2246},"any",{"data":31417,"marks":31418,"value":31419,"nodeType":864},{},[]," alert felt like a victory. We were flying blind outside of our small windows of network traffic. But as the industry matured, something troubling happened: we began equating ",{"data":31421,"marks":31422,"value":31424,"nodeType":864},{},[31423],{"type":899},"volume",{"data":31426,"marks":31427,"value":31428,"nodeType":864},{},[]," with ",{"data":31430,"marks":31431,"value":31433,"nodeType":864},{},[31432],{"type":899},"value",{"data":31435,"marks":31436,"value":31437,"nodeType":864},{},[],". Vendors started competing on how many alerts they could generate, how much data they could collect, and how comprehensive their “visibility” could be. ",{"data":31439,"content":31440,"nodeType":860},{},[31441,31445],{"data":31442,"marks":31443,"value":31444,"nodeType":864},{},[],"Security teams followed suit with operational metrics that captured how many alerts they’d resolved, how many “attacks” they’d stopped, and how many tickets they’d opened and closed in a given work cycle. But as many teams have now realized, ",{"data":31446,"marks":31447,"value":31449,"nodeType":864},{},[31448],{"type":899},"volume is a vanity metric; fidelity is what keeps you safe.",{"data":31451,"content":31452,"nodeType":860},{},[31453,31457,31466,31470],{"data":31454,"marks":31455,"value":31456,"nodeType":864},{},[],"In my course on ",{"data":31458,"content":31460,"nodeType":883},{"uri":31459},"https://www.sans.org/cyber-security-courses/building-leading-security-operations-centers",[31461],{"data":31462,"marks":31463,"value":31465,"nodeType":864},{},[31464],{"type":1455},"Building and Leading Security Operations teams",{"data":31467,"marks":31468,"value":31469,"nodeType":864},{},[],", we discuss the importance of analytic outcomes and addressing ineffective alerts to continuously improve fidelity. My students often find it hard to believe how much time and effort it takes to audit alert quality and implement continuous improvements on a large scale. This isn’t just an operational problem — it’s an existential threat to effective security. ",{"data":31471,"marks":31472,"value":31474,"nodeType":864},{},[31473],{"type":899},"When everything is an alert, nothing is. ",{"data":31476,"content":31477,"nodeType":860},{},[31478],{"data":31479,"marks":31480,"value":31481,"nodeType":864},{},[],"And while we have been busy focusing on more (and occasionally, better) detections at the endpoint and network layers, attackers have shifted to infrastructure that isn’t as well-instrumented: SaaS and the browser.",{"data":31483,"content":31484,"nodeType":1005},{},[],{"data":31486,"content":31487,"nodeType":1009},{},[31488],{"data":31489,"marks":31490,"value":31491,"nodeType":864},{},[],"The browser: a new frontier in detection and response",{"data":31493,"content":31494,"nodeType":860},{},[31495],{"data":31496,"marks":31497,"value":31498,"nodeType":864},{},[],"Today, the browser is the place where most cyber attacks happen. It’s where users interact with the applications that your business runs on, handle sensitive data, and unfortunately, where they encounter sophisticated phishing campaigns, credential harvesting attacks, and malicious downloads. ",{"data":31500,"content":31501,"nodeType":860},{},[31502],{"data":31503,"marks":31504,"value":31505,"nodeType":864},{},[],"Yet for most security teams, the browser remains a black box, obscured from the view from the network and the endpoint. Even worse, attack models often applied to detection engineering for endpoint or network-centric threats don’t really apply; modern identity attacks skip entire phases of the attack chain, eliminating many detection opportunities along the way. The modern attack path doesn’t need to touch the endpoint or your network at all — it can happen entirely over the internet. ",{"data":31507,"content":31511,"nodeType":996},{"target":31508},{"sys":31509},{"id":31510,"type":1001,"linkType":1002},"4wYYgbKmmVAZTF7niXJEGc",[],{"data":31513,"content":31514,"nodeType":1312},{},[31515],{"data":31516,"marks":31517,"value":31518,"nodeType":864},{},[],"Attackers are exploiting the detection gap",{"data":31520,"content":31521,"nodeType":860},{},[31522,31526,31533,31537,31545],{"data":31523,"marks":31524,"value":31525,"nodeType":864},{},[],"You only need to look at in-the-wild breaches such as last year’s ",{"data":31527,"content":31528,"nodeType":883},{"uri":3751},[31529],{"data":31530,"marks":31531,"value":29323,"nodeType":864},{},[31532],{"type":1455},{"data":31534,"marks":31535,"value":31536,"nodeType":864},{},[]," attacks, or the recent ",{"data":31538,"content":31539,"nodeType":883},{"uri":12625},[31540],{"data":31541,"marks":31542,"value":31544,"nodeType":864},{},[31543],{"type":1455},"Salesforce",{"data":31546,"marks":31547,"value":31548,"nodeType":864},{},[]," breaches to see the impact that attackers can have by executing attacks entirely over the internet, without touching traditional network devices or user endpoints. ",{"data":31550,"content":31554,"nodeType":996},{"target":31551},{"sys":31552},{"id":31553,"type":1001,"linkType":1002},"VfTps3SGKJDlhFcmh42d9",[],{"data":31556,"content":31557,"nodeType":860},{},[31558],{"data":31559,"marks":31560,"value":31561,"nodeType":864},{},[],"But even in the context of more “conventional” attacks (e.g. the classic route of compromising an endpoint, moving laterally through an environment, taking control of a domain, and deploying ransomware), most of the time, these attacks begin in the browser with identities and cloud apps rather than exploit-driven initial access — such as with the recent attacks on Marks & Spencer, Co-op, and Jaguar Land Rover. ",{"data":31563,"content":31564,"nodeType":860},{},[31565,31569,31578],{"data":31566,"marks":31567,"value":31568,"nodeType":864},{},[],"While the ",{"data":31570,"content":31572,"nodeType":883},{"uri":31571},"https://cloud.google.com/security/resources/insights/targeted-attack-lifecycle",[31573],{"data":31574,"marks":31575,"value":31577,"nodeType":864},{},[31576],{"type":1455},"attack cycle",{"data":31579,"marks":31580,"value":31581,"nodeType":864},{},[]," and similar mental models are valuable for planning in-depth detections of sophisticated, multi-stage attacks, focusing too heavily on them can lead to overlooked scenarios. These high-profile incidents have demonstrated the opportunity cost of neglecting visibility into attacks that don't perfectly align with these models. ",{"data":31583,"content":31587,"nodeType":996},{"target":31584},{"sys":31585},{"id":31586,"type":1001,"linkType":1002},"3TsKtoWuxQMFl1xd3w1j86",[],{"data":31589,"content":31590,"nodeType":860},{},[31591],{"data":31592,"marks":31593,"value":31594,"nodeType":864},{},[],"Just as endpoint detection and response revolutionized host-based security by providing visibility and control directly at the point of attack, browser-based security platforms can do the same for web-borne threats. It’s an important addition to the detection and response stack that illuminates a “missing middle” in modern attack investigations, and intervenes in real time, much like traditional EDR did for the endpoint years ago.",{"data":31596,"content":31600,"nodeType":996},{"target":31597},{"sys":31598},{"id":31599,"type":1001,"linkType":1002},"1eCXGC6U6SdzHmOH1gv24O",[],{"data":31602,"content":31603,"nodeType":1005},{},[],{"data":31605,"content":31606,"nodeType":1009},{},[31607],{"data":31608,"marks":31609,"value":31610,"nodeType":864},{},[],"High-fidelity detection: quality over quantity",{"data":31612,"content":31613,"nodeType":860},{},[31614,31618,31625,31629,31634,31638,31643],{"data":31615,"marks":31616,"value":31617,"nodeType":864},{},[],"Our ",{"data":31619,"content":31620,"nodeType":883},{"uri":7425},[31621],{"data":31622,"marks":31623,"value":31624,"nodeType":864},{},[],"design philosophy",{"data":31626,"marks":31627,"value":31628,"nodeType":864},{},[]," centers on a principle often overlooked in the security industry: prioritizing actionable problems for security teams. This involves differentiating between \"",{"data":31630,"marks":31631,"value":31633,"nodeType":864},{},[31632],{"type":899},"events",{"data":31635,"marks":31636,"value":31637,"nodeType":864},{},[],"\" – environment data that may or may not be useful – and \"",{"data":31639,"marks":31640,"value":31642,"nodeType":864},{},[31641],{"type":899},"detections",{"data":31644,"marks":31645,"value":31646,"nodeType":864},{},[],"\" – high-fidelity, actionable signals with a negligible false positive rate. We also empower our customers with the ability to intervene in real-time when there are high-confidence indicators of an attack. We focus on detecting not atomic indicators, but on attacker tooling and behaviors.",{"data":31648,"content":31649,"nodeType":860},{},[31650],{"data":31651,"marks":31652,"value":31653,"nodeType":864},{},[],"Compare this to traditional approaches that might generate alerts for:",{"data":31655,"content":31656,"nodeType":941},{},[31657,31667,31677,31687],{"data":31658,"content":31659,"nodeType":945},{},[31660],{"data":31661,"content":31662,"nodeType":860},{},[31663],{"data":31664,"marks":31665,"value":31666,"nodeType":864},{},[],"Visiting domains with low reputation scores (but not necessarily malicious)",{"data":31668,"content":31669,"nodeType":945},{},[31670],{"data":31671,"content":31672,"nodeType":860},{},[31673],{"data":31674,"marks":31675,"value":31676,"nodeType":864},{},[],"Downloading files that match certain heuristics (but may be legitimate)",{"data":31678,"content":31679,"nodeType":945},{},[31680],{"data":31681,"content":31682,"nodeType":860},{},[31683],{"data":31684,"marks":31685,"value":31686,"nodeType":864},{},[],"Accessing new web applications (that may be approved, or tacitly allowed, shadow IT)",{"data":31688,"content":31689,"nodeType":945},{},[31690],{"data":31691,"content":31692,"nodeType":860},{},[31693],{"data":31694,"marks":31695,"value":31696,"nodeType":864},{},[],"Employee usernames, passwords, and email addresses for sale on the dark web (which may no longer be valid)",{"data":31698,"content":31699,"nodeType":860},{},[31700],{"data":31701,"marks":31702,"value":31703,"nodeType":864},{},[],"These low-fidelity alerts create work without providing solutions. They force analysts to become investigators rather than responders, spending precious time determining whether an alert represents a genuine threat rather than focusing on mitigation and recovery. ",{"data":31705,"content":31709,"nodeType":996},{"target":31706},{"sys":31707},{"id":31708,"type":1001,"linkType":1002},"4MydcqvHnWsziCOPUNC3YS",[],{"data":31711,"content":31712,"nodeType":860},{},[31713],{"data":31714,"marks":31715,"value":31716,"nodeType":864},{},[],"Poor quality detections also present an easy opportunity for security teams to commit a cardinal sin: disrupting users and business processes without a clear justification for doing so. User trust and support should always be treated as a finite resource, and every account locked, website blocked, and laptop reimaged chips away at that resource. ",{"data":31718,"content":31719,"nodeType":860},{},[31720],{"data":31721,"marks":31722,"value":31723,"nodeType":864},{},[],"Likewise, the more disruptive, the more likely users will look for ways around said controls. If your users are actively working against you, and feel you are preventing them from doing their jobs, they’ll always find new and unexpected ways around security blocks. ",{"data":31725,"content":31726,"nodeType":1005},{},[],{"data":31728,"content":31729,"nodeType":1009},{},[31730],{"data":31731,"marks":31732,"value":31733,"nodeType":864},{},[],"The SOC analyst's perspective",{"data":31735,"content":31736,"nodeType":860},{},[31737],{"data":31738,"marks":31739,"value":31740,"nodeType":864},{},[],"The most successful SOC analysts share a common trait: they’re extraordinarily good at quickly distinguishing signal from noise. But this skill shouldn’t be required! It’s a failure of our detection systems that we’re forcing human analysts to perform pattern matching that our technology should handle. ",{"data":31742,"content":31743,"nodeType":860},{},[31744],{"data":31745,"marks":31746,"value":31747,"nodeType":864},{},[],"But even for the most skilled analyst, it’s a tall order to ask your security team to also be experts in every cloud app your business relies on, making it even harder than normal to build context-driven alerts. Most of the time, the information required simply doesn't exist, with logs simply not available (generally, or at your product tier) or the work required to extract the logs and turn them into context-driven alerts hasn’t happened yet. If your team is under-resourced and drowning in low-fidelity alerts already, then realistically it might never happen. ",{"data":31749,"content":31750,"nodeType":860},{},[31751,31755,31764],{"data":31752,"marks":31753,"value":31754,"nodeType":864},{},[],"Effective browser security changes this dynamic. Instead of presenting analysts with hundreds of “suspicious web activity” alerts that require investigation, ",{"data":31756,"content":31758,"nodeType":883},{"uri":31757},"https://pushsecurity.com/blog/detecting-and-blocking-phishing-attacks-in-the-browser/",[31759],{"data":31760,"marks":31761,"value":31763,"nodeType":864},{},[31762],{"type":1455},"our platform focuses on high-reliability indicators",{"data":31765,"marks":31766,"value":31767,"nodeType":864},{},[]," like whether a phishing kit was observed running on the page, or whether the page was cloned from a legitimate site. We even detect user behaviors that could indicate a risk in the context of a phishing attack, like when a user attempts to authenticate with credentials that have been previously used on another page — either a sign of credential reuse (bad) or a phishing attack (even worse) — at which point Push can be set to block the attack in real time. ",{"data":31769,"content":31773,"nodeType":996},{"target":31770},{"sys":31771},{"id":31772,"type":1001,"linkType":1002},"3998Iy2kp9MW0HFeqmo900",[],{"data":31775,"content":31776,"nodeType":1312},{},[31777],{"data":31778,"marks":31779,"value":31780,"nodeType":864},{},[],"Browser security provides a new layer of protection, reducing the risk of breach",{"data":31782,"content":31783,"nodeType":860},{},[31784],{"data":31785,"marks":31786,"value":31787,"nodeType":864},{},[],"Attack detection has always been a cat-and-mouse game. For years, attackers have grappled with endpoint and network security vendors. And sometimes, the attackers win. The fact is that a lot of attacker innovation has gone into sandbox aware malware, breaking detection signatures, disabling security tools, and so on.    ",{"data":31789,"content":31790,"nodeType":860},{},[31791],{"data":31792,"marks":31793,"value":31794,"nodeType":864},{},[],"But with so many attacks now passing through the browser, defending it enables badness to be filtered out before it reaches the endpoint or network controls that attackers are looking to consciously evade. By preventing malware being delivered, or identities from being compromised, attacks otherwise crafted to evade traditional security controls can be intercepted early — making the crucial difference in whether a breach happens or not.",{"data":31796,"content":31800,"nodeType":996},{"target":31797},{"sys":31798},{"id":31799,"type":1001,"linkType":1002},"4Bh7uOkeguNJFmJ1XUQ317",[],{"data":31802,"content":31803,"nodeType":860},{},[31804],{"data":31805,"marks":31806,"value":31807,"nodeType":864},{},[],"And when it comes to the cloud-centric attacks that attackers are finding so much success with today, this is in effect a net new capability. ",{"data":31809,"content":31813,"nodeType":996},{"target":31810},{"sys":31811},{"id":31812,"type":1001,"linkType":1002},"4JdaY8I3f6Ub2Kifc9Rsj9",[],{"data":31815,"content":31816,"nodeType":1005},{},[],{"data":31818,"content":31819,"nodeType":1009},{},[31820],{"data":31821,"marks":31822,"value":31823,"nodeType":864},{},[],"Learn more about Push Security",{"data":31825,"content":31826,"nodeType":860},{},[31827],{"data":31828,"marks":31829,"value":31830,"nodeType":864},{},[],"The browser represents one of the most significant opportunities in cybersecurity today. As we continue to expand our browser-based security capabilities, we remain committed to this high-fidelity approach. We’re building features that not only detect and prevent attacks but also provide security teams with the rich telemetry they need to develop custom queries and detections.",{"data":31832,"content":31833,"nodeType":860},{},[31834],{"data":31835,"marks":31836,"value":31837,"nodeType":864},{},[],"Push Security’s browser-based security platform provides comprehensive detection and response capabilities against techniques like AiTM phishing, credential stuffing, ClickFixing, malicious browser extensions, and session hijacking using stolen session tokens. You can also use Push to find and fix vulnerabilities across the apps that your employees use, like ghost logins, SSO coverage gaps, MFA gaps, vulnerable passwords, risky OAuth integrations, and more to harden your identity attack surface.",{"data":31839,"content":31840,"nodeType":860},{},[31841,31844,31850,31853,31859],{"data":31842,"marks":31843,"value":12936,"nodeType":864},{},[],{"data":31845,"content":31846,"nodeType":883},{"uri":12939},[31847],{"data":31848,"marks":31849,"value":12944,"nodeType":864},{},[],{"data":31851,"marks":31852,"value":27405,"nodeType":864},{},[],{"data":31854,"content":31855,"nodeType":883},{"uri":1700},[31856],{"data":31857,"marks":31858,"value":12967,"nodeType":864},{},[],{"data":31860,"marks":31861,"value":2924,"nodeType":864},{},[],"Fixing SecOps alert fatigue with browser telemetry","How browser data can improve detection fidelity and reduce alert fatigue, enabling SecOps teams to save time and detect more attacks.","2025-10-07T00:00:00.000Z","fixing-secops-alert-fatigue-with-browser-telemetry",{"items":31867},[31868,31870],{"sys":31869,"name":342},{"id":6596},{"sys":31871,"name":6593},{"id":6592},{"items":31873},[31874],{"fullName":3621,"firstName":3622,"jobTitle":3623,"profilePicture":31875},{"url":3625},{"__typename":2059,"sys":31877,"content":31879,"title":32524,"synopsis":32525,"hashTags":59,"publishedDate":32526,"slug":32527,"tagsCollection":32528,"authorsCollection":32534},{"id":31878},"62Zyr35VUmijkpupWk3hoD",{"json":31880},{"data":31881,"content":31882,"nodeType":856},{},[31883,31899,31906,31909,31917,31924,31931,31950,31956,31963,31970,31977,31984,31987,31995,32002,32007,32014,32022,32029,32036,32042,32061,32067,32074,32081,32088,32094,32097,32105,32123,32130,32162,32169,32176,32182,32189,32196,32203,32206,32214,32232,32238,32245,32252,32258,32265,32272,32275,32283,32290,32310,32354,32361,32368,32375,32378,32386,32393,32400,32407,32410,32418,32425,32455,32475,32482,32485,32493,32500,32506],{"data":31884,"content":31885,"nodeType":860},{},[31886,31890,31895],{"data":31887,"marks":31888,"value":31889,"nodeType":864},{},[],"The view that \"the browser is the new endpoint\" and \"the new battleground for cyber attacks\" is becoming increasingly advocated by security leaders. But what does this ",{"data":31891,"marks":31892,"value":31894,"nodeType":864},{},[31893],{"type":2246},"actually",{"data":31896,"marks":31897,"value":31898,"nodeType":864},{},[]," mean for security teams? ",{"data":31900,"content":31901,"nodeType":860},{},[31902],{"data":31903,"marks":31904,"value":31905,"nodeType":864},{},[],"In this article, we’re cutting out the jargon to explore what a browser-based attack is, and what’s required for effective detection and response. ",{"data":31907,"content":31908,"nodeType":1005},{},[],{"data":31910,"content":31911,"nodeType":1009},{},[31912],{"data":31913,"marks":31914,"value":31916,"nodeType":864},{},[31915],{"type":899},"What is the goal of a browser-based attack?   ",{"data":31918,"content":31919,"nodeType":860},{},[31920],{"data":31921,"marks":31922,"value":31923,"nodeType":864},{},[],"First, it’s important to establish what the point of a browser-based attack is.",{"data":31925,"content":31926,"nodeType":860},{},[31927],{"data":31928,"marks":31929,"value":31930,"nodeType":864},{},[],"In most scenarios, attackers don’t think of themselves as attacking your web browser. Their end-goal is to compromise your business apps and data. That means going after the third-party apps and services that are now the backbone of business IT — and therefore the top target for attackers. ",{"data":31932,"content":31933,"nodeType":860},{},[31934,31938,31946],{"data":31935,"marks":31936,"value":31937,"nodeType":864},{},[],"The most common attack path today sees attackers log into third-party services, dump the data, and monetize it through extortion. You need only look at last year’s ",{"data":31939,"content":31941,"nodeType":883},{"uri":31940},"https://pushsecurity.com/blog/snowflake-retro?utm_source=bleeping-computer&utm_medium=sponsored-content&utm_term=article",[31942],{"data":31943,"marks":31944,"value":29323,"nodeType":864},{},[31945],{"type":1455},{"data":31947,"marks":31948,"value":31949,"nodeType":864},{},[]," customer breaches or the still-ongoing Salesforce attacks to see the impact.",{"data":31951,"content":31955,"nodeType":996},{"target":31952},{"sys":31953},{"id":31954,"type":1001,"linkType":1002},"5agrVXzEdwALmew2F5SPDp",[],{"data":31957,"content":31958,"nodeType":860},{},[31959],{"data":31960,"marks":31961,"value":31962,"nodeType":864},{},[],"The most logical way to do this is by targeting users of those apps. And because of the changes to working practices, your users are more accessible than ever to external attackers.",{"data":31964,"content":31965,"nodeType":860},{},[31966],{"data":31967,"marks":31968,"value":31969,"nodeType":864},{},[],"Once upon a time, email was the primary communication channel with the wider world, and work happened locally — on your device, and inside your locked-down network environment. This made email and the endpoint the highest priority from a security perspective. But now, with modern work happening across a network of decentralized internet apps, and more varied communication channels outside of email, it’s harder to stop users from interacting with malicious content (at least, without significantly impeding their ability to do their jobs).",{"data":31971,"content":31972,"nodeType":860},{},[31973],{"data":31974,"marks":31975,"value":31976,"nodeType":864},{},[],"Given that the browser is the place where business apps are accessed and used, it makes sense that attacks are increasingly playing out there too. ",{"data":31978,"content":31979,"nodeType":860},{},[31980],{"data":31981,"marks":31982,"value":31983,"nodeType":864},{},[],"With that covered off, let’s take a closer look at the most prevalent browser-based attack techniques being used by attackers in the wild today.",{"data":31985,"content":31986,"nodeType":1005},{},[],{"data":31988,"content":31989,"nodeType":1009},{},[31990],{"data":31991,"marks":31992,"value":31994,"nodeType":864},{},[31993],{"type":899},"The 6 key browser-based attacks that security teams need to know about",{"data":31996,"content":31997,"nodeType":860},{},[31998],{"data":31999,"marks":32000,"value":32001,"nodeType":864},{},[],"Attacks that target users in their web browsers have seen an unprecedented rise in recent years. ",{"data":32003,"content":32006,"nodeType":996},{"target":32004},{"sys":32005},{"id":30739,"type":1001,"linkType":1002},[],{"data":32008,"content":32009,"nodeType":860},{},[32010],{"data":32011,"marks":32012,"value":32013,"nodeType":864},{},[],"Here's our breakdown of the top 6 browser-based attacks that should be on every security team's radar right now. ",{"data":32015,"content":32016,"nodeType":1312},{},[32017],{"data":32018,"marks":32019,"value":32021,"nodeType":864},{},[32020],{"type":899},"1. Phishing for credentials and sessions",{"data":32023,"content":32024,"nodeType":860},{},[32025],{"data":32026,"marks":32027,"value":32028,"nodeType":864},{},[],"The most direct way for an attacker to compromise a business application is to phish a user of that app. You might not necessarily think of phishing as a browser-based attack, but that’s exactly what it is today. ",{"data":32030,"content":32031,"nodeType":860},{},[32032],{"data":32033,"marks":32034,"value":32035,"nodeType":864},{},[],"Phishing tooling and infrastructure has evolved a lot in the past decade, while the changes to business IT means there are both many more vectors for phishing attack delivery, and apps and identities to target. Attackers can deliver links over instant messenger apps, social media, SMS, malicious ads, and using in-app messenger functionality, as well as sending emails directly from SaaS services to bypass email-based checks. Likewise, there are now hundreds of apps per enterprise to target, with varying levels of account security configuration. ",{"data":32037,"content":32041,"nodeType":996},{"target":32038},{"sys":32039},{"id":32040,"type":1001,"linkType":1002},"3SrKOgpedLMQRpKIZqUQur",[],{"data":32043,"content":32044,"nodeType":860},{},[32045,32049,32058],{"data":32046,"marks":32047,"value":32048,"nodeType":864},{},[],"Whereas phishing was once entirely focused on credential theft, modern phishing attacks see the attacker intercept the victim’s session on the target app, using reverse-proxy Attacker-in-the-Middle kits that are the standard choice for attackers today. This means most forms of MFA can be bypassed, with the exception of passkeys (though attackers are finding ways to work around passkeys using ",{"data":32050,"content":32052,"nodeType":883},{"uri":32051},"https://pushsecurity.com/blog/mfa-downgrade-attacks/?utm_source=bleeping-computer&utm_medium=sponsored-content&utm_term=article",[32053],{"data":32054,"marks":32055,"value":32057,"nodeType":864},{},[32056],{"type":1455},"downgrade attacks",{"data":32059,"marks":32060,"value":12285,"nodeType":864},{},[],{"data":32062,"content":32066,"nodeType":996},{"target":32063},{"sys":32064},{"id":32065,"type":1001,"linkType":1002},"2sOFEdAwQZjWOGzNAlGavb",[],{"data":32068,"content":32069,"nodeType":860},{},[32070],{"data":32071,"marks":32072,"value":32073,"nodeType":864},{},[],"There are other key differences to be aware of too. Today, phishing operates on an industrial scale, using an array of obfuscation and detection evasion techniques. The latest generation of fully customized AitM phishing kits are dynamically obfuscating the code that loads the web page, implementing custom bot protection (e.g. CAPTCHA or Cloudflare Turnstile), using runtime anti-analysis features, and using legitimate SaaS and cloud services to host and deliver phishing links to cover their tracks.",{"data":32075,"content":32076,"nodeType":860},{},[32077],{"data":32078,"marks":32079,"value":32080,"nodeType":864},{},[],"This means that traditional anti-phishing tools at the email and network layer are struggling to keep up, with many attacks evading email-based detections (or bypassing email altogether). At the same time, proxy-based solutions now see a garbled mess of JavaScript code without the necessary context of what is actually happening in the browser to be able to piece it together effectively. Even if they don’t realize it, this means many organizations are now relying solely on blocking known-bad sites and hosts — a wildly ineffective solution in 2025 with the rate that attackers refresh and rotate their phishing infrastructure. ",{"data":32082,"content":32083,"nodeType":860},{},[32084],{"data":32085,"marks":32086,"value":32087,"nodeType":864},{},[],"These changes make phishing more effective than ever, and increasingly difficult to detect and block without being able to observe and analyze web pages that a user interacts with in real time — something only possible with browser-level visibility. ",{"data":32089,"content":32093,"nodeType":996},{"target":32090},{"sys":32091},{"id":32092,"type":1001,"linkType":1002},"1II2kHyOZcShLsexx1TAgy",[],{"data":32095,"content":32096,"nodeType":1005},{},[],{"data":32098,"content":32099,"nodeType":1312},{},[32100],{"data":32101,"marks":32102,"value":32104,"nodeType":864},{},[32103],{"type":899},"2. Malicious copy and paste (aka. ClickFix, FileFix, etc.)",{"data":32106,"content":32107,"nodeType":860},{},[32108,32112,32120],{"data":32109,"marks":32110,"value":32111,"nodeType":864},{},[],"One of the biggest security trends in the past year has been the emergence of the attack technique known as ",{"data":32113,"content":32115,"nodeType":883},{"uri":32114},"https://www.microsoft.com/en-us/security/blog/2025/08/21/think-before-you-clickfix-analyzing-the-clickfix-social-engineering-technique/",[32116],{"data":32117,"marks":32118,"value":315,"nodeType":864},{},[32119],{"type":1455},{"data":32121,"marks":32122,"value":12252,"nodeType":864},{},[],{"data":32124,"content":32125,"nodeType":860},{},[32126],{"data":32127,"marks":32128,"value":32129,"nodeType":864},{},[],"Originally known as “Fake CAPTCHA”, these attacks attempt to trick users into running malicious commands on their device — typically by solving some form of verification challenge in the browser. ",{"data":32131,"content":32132,"nodeType":860},{},[32133,32137,32146,32150,32159],{"data":32134,"marks":32135,"value":32136,"nodeType":864},{},[],"In reality, by solving the challenge, the victim is actually copying malicious code from the page clipboard and running it on their device. It typically gives the victim instructions that involve clicking prompts and copying, pasting, and running commands directly in the Windows Run dialog box, Terminal, or PowerShell. Variants such as ",{"data":32138,"content":32140,"nodeType":883},{"uri":32139},"https://mrd0x.com/filefix-clickfix-alternative/",[32141],{"data":32142,"marks":32143,"value":32145,"nodeType":864},{},[32144],{"type":1455},"FileFix",{"data":32147,"marks":32148,"value":32149,"nodeType":864},{},[]," have also emerged which instead uses the File Explorer Address Bar to execute OS commands, while recent examples have seen this attack branch out to ",{"data":32151,"content":32153,"nodeType":883},{"uri":32152},"https://www.bleepingcomputer.com/news/security/fake-mac-fixes-trick-users-into-installing-new-shamos-infostealer/",[32154],{"data":32155,"marks":32156,"value":32158,"nodeType":864},{},[32157],{"type":1455},"Mac via the macOS terminal",{"data":32160,"marks":32161,"value":2924,"nodeType":864},{},[],{"data":32163,"content":32164,"nodeType":860},{},[32165],{"data":32166,"marks":32167,"value":32168,"nodeType":864},{},[],"Most commonly, these attacks are used to deliver infostealer malware, using stolen session cookies and credentials to access business apps and services. ",{"data":32170,"content":32171,"nodeType":860},{},[32172],{"data":32173,"marks":32174,"value":32175,"nodeType":864},{},[],"Like modern credential and session phishing, links to malicious pages are distributed over various delivery channels and using a variety of lures, including impersonating CAPTCHA, Cloudflare Turnstile, simulating an error loading a webpage, and many more. ",{"data":32177,"content":32181,"nodeType":996},{"target":32178},{"sys":32179},{"id":32180,"type":1001,"linkType":1002},"6O9YiOfhpGFCDsTil9F3On",[],{"data":32183,"content":32184,"nodeType":860},{},[32185],{"data":32186,"marks":32187,"value":32188,"nodeType":864},{},[],"The variance in lure, and differences between different versions of the same lure, can make it difficult to fingerprint and detect based on visual elements alone. Also, many of the same protections being used to obfuscate and prevent analysis of phishing pages also apply to ClickFix pages, making it equally challenging to detect and block them. ",{"data":32190,"content":32191,"nodeType":860},{},[32192],{"data":32193,"marks":32194,"value":32195,"nodeType":864},{},[],"This leaves most of the detection and blocking down to endpoint-layer controls around user-level code execution and malware running on a device. The quantity of ClickFix-related headlines in the news would indicate that endpoint controls are being routinely bypassed, or perhaps evaded altogether by targeting personal or BYOD devices. ",{"data":32197,"content":32198,"nodeType":860},{},[32199],{"data":32200,"marks":32201,"value":32202,"nodeType":864},{},[],"There is a significant opportunity to detect these attacks in the browser and stop them at the earliest opportunity, before they reach the endpoint. Every ClickFix attack and variant has a key action in common — malicious code is copied from the page’s clipboard. In some cases, this happens without any user interaction (where the only requirement on the user is to run code that has been silently copied behind the scenes), presenting a strong indicator of malicious behavior that can be observed in the browser. ",{"data":32204,"content":32205,"nodeType":1005},{},[],{"data":32207,"content":32208,"nodeType":1312},{},[32209],{"data":32210,"marks":32211,"value":32213,"nodeType":864},{},[32212],{"type":899},"3. Malicious OAuth integrations",{"data":32215,"content":32216,"nodeType":860},{},[32217,32221,32229],{"data":32218,"marks":32219,"value":32220,"nodeType":864},{},[],"Malicious OAuth integrations are another way for attackers to compromise an app by tricking a user into authorizing an integration with a malicious, attacker-controlled app, with the level of data access and functionality dictated by the scopes authorized in the request. This is also known as ",{"data":32222,"content":32224,"nodeType":883},{"uri":32223},"https://github.com/pushsecurity/saas-attacks/blob/main/techniques/consent_phishing/description.md",[32225],{"data":32226,"marks":32227,"value":32228,"nodeType":864},{},[],"consent phishing",{"data":32230,"marks":32231,"value":1774,"nodeType":864},{},[],{"data":32233,"content":32237,"nodeType":996},{"target":32234},{"sys":32235},{"id":32236,"type":1001,"linkType":1002},"5JaP4WSfFsFSbvaa9BQBOq",[],{"data":32239,"content":32240,"nodeType":860},{},[32241],{"data":32242,"marks":32243,"value":32244,"nodeType":864},{},[],"This is an effective way for attackers to bypass hardened authentication and access controls by sidestepping the typical login process to take over an account and compromise business apps. This includes phishing-resistant MFA methods like passkeys — since the standard login process does not apply. ",{"data":32246,"content":32247,"nodeType":860},{},[32248],{"data":32249,"marks":32250,"value":32251,"nodeType":864},{},[],"A variant of this attack has dominated the headlines recently with the ongoing Salesforce breaches. In this scenario, the attacker tricked the victim into authorizing an attacker-controlled OAuth app via the device code authorization flow in Salesforce, which requires the user to enter an 8-digit code in place of a password or MFA factor.",{"data":32253,"content":32257,"nodeType":996},{"target":32254},{"sys":32255},{"id":32256,"type":1001,"linkType":1002},"3odEFcUcpKN553gHh2P5yr",[],{"data":32259,"content":32260,"nodeType":860},{},[32261],{"data":32262,"marks":32263,"value":32264,"nodeType":864},{},[],"Preventing malicious OAuth grants being authorized requires tight in-app management of user permissions and tenant security settings. This is no mean feat when considering the 100s of apps in use across the modern enterprise, many of which are not centrally managed by IT and security teams (or in some cases, are completely unknown to them). Even then, you’re limited by the controls made available by the app vendor. In this case, Salesforce has announced planned changes to OAuth app authorization in order to improve security prompted by these attacks — but many more apps with insecure configs exist for attackers to take advantage of in future. ",{"data":32266,"content":32267,"nodeType":860},{},[32268],{"data":32269,"marks":32270,"value":32271,"nodeType":864},{},[],"However, unlike app-specific integrations, browser-based security tools are well positioned to observe OAuth grants across all apps accessed in the browser — even the ones the security team doesn’t manage or know about, or without needing to pay for the app’s special security add-on to get visibility.",{"data":32273,"content":32274,"nodeType":1005},{},[],{"data":32276,"content":32277,"nodeType":1312},{},[32278],{"data":32279,"marks":32280,"value":32282,"nodeType":864},{},[32281],{"type":899},"4. Malicious browser extensions",{"data":32284,"content":32285,"nodeType":860},{},[32286],{"data":32287,"marks":32288,"value":32289,"nodeType":864},{},[],"Malicious browser extensions are another way for attackers to compromise your business apps by observing and capturing logins as they happen, and/or extracting session cookies and credentials saved in the browser cache and password manager. ",{"data":32291,"content":32292,"nodeType":860},{},[32293,32297,32306],{"data":32294,"marks":32295,"value":32296,"nodeType":864},{},[],"Attackers do this by creating their own malicious extension and tricking your users into installing it, or taking over an existing extension to gain access to browsers where it is already installed (",{"data":32298,"content":32300,"nodeType":883},{"uri":32299},"https://secureannex.com/blog/buying-browser-extensions/",[32301],{"data":32302,"marks":32303,"value":32305,"nodeType":864},{},[32304],{"type":1455},"it’s very easy for attackers to buy and add malicious updates to existing extensions",{"data":32307,"marks":32308,"value":32309,"nodeType":864},{},[],", easily passing extension web store security checks). ",{"data":32311,"content":32312,"nodeType":860},{},[32313,32317,32326,32330,32339,32342,32351],{"data":32314,"marks":32315,"value":32316,"nodeType":864},{},[],"The news around extension-based compromises has been on the rise since the ",{"data":32318,"content":32320,"nodeType":883},{"uri":32319},"https://www.bleepingcomputer.com/news/security/new-details-reveal-how-hackers-hijacked-35-google-chrome-extensions/",[32321],{"data":32322,"marks":32323,"value":32325,"nodeType":864},{},[32324],{"type":1455},"Cyberhaven extension",{"data":32327,"marks":32328,"value":32329,"nodeType":864},{},[]," was hacked in December 2024, along with at least 35 other extensions. Since then, there has been regular reporting on data-stealing extensions ",{"data":32331,"content":32333,"nodeType":883},{"uri":32332},"https://www.bleepingcomputer.com/news/security/data-stealing-chrome-extensions-impersonate-fortinet-youtube-vpns/",[32334],{"data":32335,"marks":32336,"value":32338,"nodeType":864},{},[32337],{"type":1455},"impersonating legitimate brands",{"data":32340,"marks":32341,"value":2232,"nodeType":864},{},[],{"data":32343,"content":32345,"nodeType":883},{"uri":32344},"https://www.bleepingcomputer.com/news/security/chrome-extensions-with-6-million-installs-have-hidden-tracking-code/",[32346],{"data":32347,"marks":32348,"value":32350,"nodeType":864},{},[32349],{"type":1455},"impacting millions of users",{"data":32352,"marks":32353,"value":2924,"nodeType":864},{},[],{"data":32355,"content":32356,"nodeType":860},{},[32357],{"data":32358,"marks":32359,"value":32360,"nodeType":864},{},[],"Risky browser extension permissions include broad data access, the ability to modify website content, track user activity, capture screenshots, and manage tabs or network requests. Permissions like \"read and change all data on all websites\" or access to cookies and browsing history are particularly dangerous as they can be exploited for session hijacking, data theft, malware injection, or phishing.",{"data":32362,"content":32363,"nodeType":860},{},[32364],{"data":32365,"marks":32366,"value":32367,"nodeType":864},{},[],"Generally, your employees should not be randomly installing browser extensions unless pre-approved by your security team. The reality, however, is that many organizations have very little visibility of the extensions their employees are using, and the potential risk they’re exposed to as a result. ",{"data":32369,"content":32370,"nodeType":860},{},[32371],{"data":32372,"marks":32373,"value":32374,"nodeType":864},{},[],"To tackle malicious extensions, security tools operating in the browser can track the browser extensions deployed, highlight risky permissions, compare with known-malicious extensions, identify fraudulent/unofficial versions of a legitimate extension, and highlight other risky properties commonly associated with malicious extensions (e.g. “Developer” extensions). ",{"data":32376,"content":32377,"nodeType":1005},{},[],{"data":32379,"content":32380,"nodeType":1312},{},[32381],{"data":32382,"marks":32383,"value":32385,"nodeType":864},{},[32384],{"type":899},"5. Malicious file delivery",{"data":32387,"content":32388,"nodeType":860},{},[32389],{"data":32390,"marks":32391,"value":32392,"nodeType":864},{},[],"Malicious files have been a core part of malware delivery and credential theft for many years. Just as non-email channels like malvertising and drive-by attacks are used to deliver phishing and ClickFix lures, malicious files are also distributed through similar means — leaving malicious file detection to basic known-bad checks, sandbox analysis using a proxy (not that useful in the context of sandbox-aware malware) or runtime analysis on the endpoint. ",{"data":32394,"content":32395,"nodeType":860},{},[32396],{"data":32397,"marks":32398,"value":32399,"nodeType":864},{},[],"This doesn’t just have to be malicious executables directly dropping malware onto the device. File downloads can also contain additional links taking the user to malicious content. In fact, one of the most common types of downloadable content are HTML Applications (HTAs), commonly used to spawn local phishing pages to stealthily capture credentials. More recently, attackers have been weaponizing SVG files for a similar purpose, running as self-contained phishing pages that render fake login portals entirely client-side. ",{"data":32401,"content":32402,"nodeType":860},{},[32403],{"data":32404,"marks":32405,"value":32406,"nodeType":864},{},[],"Even if malicious content cannot always be flagged from surface-level inspection of a file, recording file downloads in the browser is a useful addition to endpoint-based malware protection, and provides another layer of defense against file downloads that perform client-side attacks, or redirect the user to malicious web-based content. ",{"data":32408,"content":32409,"nodeType":1005},{},[],{"data":32411,"content":32412,"nodeType":1312},{},[32413],{"data":32414,"marks":32415,"value":32417,"nodeType":864},{},[32416],{"type":899},"6. Stolen credentials and MFA gaps",{"data":32419,"content":32420,"nodeType":860},{},[32421],{"data":32422,"marks":32423,"value":32424,"nodeType":864},{},[],"This last one isn’t so much a browser-based attack, but it is a product of them. When credentials are stolen through phishing or infostealer malware they can be used to take over accounts missing MFA. ",{"data":32426,"content":32427,"nodeType":860},{},[32428,32432,32439,32443,32451],{"data":32429,"marks":32430,"value":32431,"nodeType":864},{},[],"This isn’t the most sophisticated attack, but it’s very effective. You need only look at last year’s ",{"data":32433,"content":32434,"nodeType":883},{"uri":31940},[32435],{"data":32436,"marks":32437,"value":29323,"nodeType":864},{},[32438],{"type":1455},{"data":32440,"marks":32441,"value":32442,"nodeType":864},{},[]," account compromises or the ",{"data":32444,"content":32446,"nodeType":883},{"uri":32445},"https://pushsecurity.com/blog/why-attackers-are-targeting-jira-with-stolen-credentials?utm_source=bleeping-computer&utm_medium=sponsored-content&utm_term=article",[32447],{"data":32448,"marks":32449,"value":29345,"nodeType":864},{},[32450],{"type":1455},{"data":32452,"marks":32453,"value":32454,"nodeType":864},{},[]," attacks earlier this year to see how attackers harness stolen credentials at scale. ",{"data":32456,"content":32457,"nodeType":860},{},[32458,32462,32471],{"data":32459,"marks":32460,"value":32461,"nodeType":864},{},[],"With the modern enterprise using hundreds of apps, the likelihood that an app hasn’t been configured for mandatory MFA (if possible) is high. And even when an app has been configured for SSO and connected to your primary corporate identity, ",{"data":32463,"content":32465,"nodeType":883},{"uri":32464},"https://pushsecurity.com/blog/how-many-vulnerable-identities-do-you-have/?utm_source=bleeping-computer&utm_medium=sponsored-content&utm_term=sidebar",[32466],{"data":32467,"marks":32468,"value":32470,"nodeType":864},{},[32469],{"type":1455},"local “ghost logins” can continue to exist",{"data":32472,"marks":32473,"value":32474,"nodeType":864},{},[],", accepting passwords with no MFA required. Just having visibility of your primary Identity Provider accounts (e.g. Google, Microsoft, Okta) and SSO-connected apps doesn't give you a full picture of your identity surface.",{"data":32476,"content":32477,"nodeType":860},{},[32478],{"data":32479,"marks":32480,"value":32481,"nodeType":864},{},[],"Logins can also be observed in the browser — in fact, it’s as close to a universal source of truth as you’re going to get about how your employees are actually logging in, which apps they’re using, and whether MFA is present, enabling security teams to find and fix vulnerable logins before they can be exploited by attackers. ",{"data":32483,"content":32484,"nodeType":1005},{},[],{"data":32486,"content":32487,"nodeType":1009},{},[32488],{"data":32489,"marks":32490,"value":32492,"nodeType":864},{},[32491],{"type":899},"Conclusion",{"data":32494,"content":32495,"nodeType":860},{},[32496],{"data":32497,"marks":32498,"value":32499,"nodeType":864},{},[],"Attacks are increasingly happening in the browser. That makes it the perfect place to detect and respond to these attacks. But right now, the browser is a blind-spot for most security teams. ",{"data":32501,"content":32502,"nodeType":860},{},[32503],{"data":32504,"marks":32505,"value":30747,"nodeType":864},{},[],{"data":32507,"content":32508,"nodeType":860},{},[32509,32513,32521],{"data":32510,"marks":32511,"value":32512,"nodeType":864},{},[],"If you want to learn more about how Push helps you to detect and stop attacks in the browser, ",{"data":32514,"content":32516,"nodeType":883},{"uri":32515},"https://pushsecurity.com/demo?utm_source=bleeping-computer&utm_medium=sponsored-content&utm_term=article",[32517],{"data":32518,"marks":32519,"value":12967,"nodeType":864},{},[32520],{"type":1455},{"data":32522,"marks":32523,"value":2924,"nodeType":864},{},[],"6 browser-based attacks every security team should be prepared for","What security teams need to know about the browser-based attack techniques that are the leading cause of breaches.","2025-09-05T00:00:00.000Z","6-browser-based-attacks-every-security-team-should-be-prepared-for",{"items":32529},[32530,32532],{"sys":32531,"name":6593},{"id":6592},{"sys":32533,"name":342},{"id":6596},{"items":32535},[32536],{"fullName":2736,"firstName":2737,"jobTitle":2738,"profilePicture":32537},{"url":2740},{"__typename":2059,"sys":32539,"content":32541,"title":32981,"synopsis":32982,"hashTags":59,"publishedDate":32983,"slug":32984,"tagsCollection":32985,"authorsCollection":32991},{"id":32540},"4vPEPmjd8MOlARD7oXfOrj",{"json":32542},{"data":32543,"content":32544,"nodeType":856},{},[32545,32562,32578,32584,32591,32598,32601,32609,32627,32634,32640,32647,32653,32660,32666,32673,32679,32686,32692,32695,32703,32721,32727,32735,32755,32763,32795,32802,32810,32830,32838,32858,32864,32867,32874,32893,32900,32906,32909,32917,32936,32942,32949,32955],{"data":32546,"content":32547,"nodeType":860},{},[32548,32552,32559],{"data":32549,"marks":32550,"value":32551,"nodeType":864},{},[],"Push recently detected and blocked a high-risk LinkedIn phishing attack that demonstrated a number of crafty (and increasingly common) ",{"data":32553,"content":32554,"nodeType":883},{"uri":7124},[32555],{"data":32556,"marks":32557,"value":23925,"nodeType":864},{},[32558],{"type":1455},{"data":32560,"marks":32561,"value":12252,"nodeType":864},{},[],{"data":32563,"content":32564,"nodeType":860},{},[32565,32569,32574],{"data":32566,"marks":32567,"value":32568,"nodeType":864},{},[],"Phishing via LinkedIn is increasingly common, although it often goes undetected and unreported. This is to be expected when most of the industry’s data on phishing attacks comes from email security vendors and tools. In contrast to email-centric reporting, ",{"data":32570,"marks":32571,"value":32573,"nodeType":864},{},[32572],{"type":899},"34% of the phishing attacks intercepted by Push last month came through non-email channels",{"data":32575,"marks":32576,"value":32577,"nodeType":864},{},[]," like social media, IM platforms, malicious search engine ads, and in-app communications. ",{"data":32579,"content":32583,"nodeType":996},{"target":32580},{"sys":32581},{"id":32582,"type":1001,"linkType":1002},"7i8panfdFUqW9wqYkd9uDc",[],{"data":32585,"content":32586,"nodeType":860},{},[32587],{"data":32588,"marks":32589,"value":32590,"nodeType":864},{},[],"Phishing via LinkedIn is a great way to catch victims unawares and evade traditionally email-based anti-phishing controls. While often used for work and commonly accessed from corporate devices, it sits outside the purview of enterprise security tools, exploiting a visibility and control blind spot. ",{"data":32592,"content":32593,"nodeType":860},{},[32594],{"data":32595,"marks":32596,"value":32597,"nodeType":864},{},[],"Let’s break it down. ",{"data":32599,"content":32600,"nodeType":1005},{},[],{"data":32602,"content":32603,"nodeType":1009},{},[32604],{"data":32605,"marks":32606,"value":32608,"nodeType":864},{},[32607],{"type":899},"Phishing attack breakdown",{"data":32610,"content":32611,"nodeType":860},{},[32612,32616,32624],{"data":32613,"marks":32614,"value":32615,"nodeType":864},{},[],"The victim was sent a malicious link via LinkedIn DM relating to a fake investment opportunity for executives ",{"data":32617,"content":32619,"nodeType":883},{"uri":32618},"https://www.bleepingcomputer.com/news/security/linkedin-phishing-targets-finance-execs-with-fake-board-invites/",[32620],{"data":32621,"marks":32622,"value":32623,"nodeType":864},{},[],"to join the executive board of a newly created \"Common Wealth\" investment fund.",{"data":32625,"marks":32626,"value":1171,"nodeType":864},{},[],{"data":32628,"content":32629,"nodeType":860},{},[32630],{"data":32631,"marks":32632,"value":32633,"nodeType":864},{},[],"After clicking the link, they were redirected three times — via Google Search, and then payrails-canaccord[.]icu/(redacted) — before being sent to a custom landing page hosted on firebasestorage.googleapis[.]com/(redacted). ",{"data":32635,"content":32639,"nodeType":996},{"target":32636},{"sys":32637},{"id":32638,"type":1001,"linkType":1002},"65PeJOKzn6Ba7FDUQRae3Q",[],{"data":32641,"content":32642,"nodeType":860},{},[32643],{"data":32644,"marks":32645,"value":32646,"nodeType":864},{},[],"Upon clicking on one of the document links on the page, the victim is prompted to “view with Microsoft”. ",{"data":32648,"content":32652,"nodeType":996},{"target":32649},{"sys":32650},{"id":32651,"type":1001,"linkType":1002},"4f27KuwTRx1Do59rs3JoVl",[],{"data":32654,"content":32655,"nodeType":860},{},[32656],{"data":32657,"marks":32658,"value":32659,"nodeType":864},{},[],"The user is then met with a Cloudflare Turnstile gate challenge at login.kggpho[.]icu before the page will fully render, and malicious content is loaded. ",{"data":32661,"content":32665,"nodeType":996},{"target":32662},{"sys":32663},{"id":32664,"type":1001,"linkType":1002},"3lpVmLBZSocOSGdlCKhKnD",[],{"data":32667,"content":32668,"nodeType":860},{},[32669],{"data":32670,"marks":32671,"value":32672,"nodeType":864},{},[],"The Microsoft-impersonating AITM phishing page is then served to the victim. Entering credentials and completing the MFA check will result in their Microsoft session being stolen by the attacker. ",{"data":32674,"content":32678,"nodeType":996},{"target":32675},{"sys":32676},{"id":32677,"type":1001,"linkType":1002},"5FCa4EJwyux13K9KBT3nd4",[],{"data":32680,"content":32681,"nodeType":860},{},[32682],{"data":32683,"marks":32684,"value":32685,"nodeType":864},{},[],"You can see the full timeline of events in the Detection Timeline below. ",{"data":32687,"content":32691,"nodeType":996},{"target":32688},{"sys":32689},{"id":32690,"type":1001,"linkType":1002},"8lizkPJcGdZhtWFV2QEwQ",[],{"data":32693,"content":32694,"nodeType":1005},{},[],{"data":32696,"content":32697,"nodeType":1009},{},[32698],{"data":32699,"marks":32700,"value":32702,"nodeType":864},{},[32701],{"type":899},"Detection evasion techniques observed",{"data":32704,"content":32705,"nodeType":860},{},[32706,32710,32717],{"data":32707,"marks":32708,"value":32709,"nodeType":864},{},[],"The attacker used a number of ",{"data":32711,"content":32712,"nodeType":883},{"uri":7124},[32713],{"data":32714,"marks":32715,"value":23925,"nodeType":864},{},[32716],{"type":1455},{"data":32718,"marks":32719,"value":32720,"nodeType":864},{},[]," to prevent the phishing site being analysed and detected by security tools. ",{"data":32722,"content":32726,"nodeType":996},{"target":32723},{"sys":32724},{"id":32725,"type":1001,"linkType":1002},"7q9D1MREwTCCpnjvZZ5wk1",[],{"data":32728,"content":32729,"nodeType":1312},{},[32730],{"data":32731,"marks":32732,"value":32734,"nodeType":864},{},[32733],{"type":899},"LinkedIn delivery",{"data":32736,"content":32737,"nodeType":860},{},[32738,32742,32751],{"data":32739,"marks":32740,"value":32741,"nodeType":864},{},[],"As we mentioned above, sending phishing lures via ",{"data":32743,"content":32745,"nodeType":883},{"uri":32744},"https://phishing-techniques.pushsecurity.com/techniques/social-media/",[32746],{"data":32747,"marks":32748,"value":32750,"nodeType":864},{},[32749],{"type":1455},"social media apps",{"data":32752,"marks":32753,"value":32754,"nodeType":864},{},[]," like LinkedIn is a great way to reach employees in a place that they expect to be contacted by people outside of their organization. By evading the traditional phishing control point altogether (email) attackers significantly reduce the risk of interception. ",{"data":32756,"content":32757,"nodeType":1312},{},[32758],{"data":32759,"marks":32760,"value":32762,"nodeType":864},{},[32761],{"type":899},"Lengthy redirect chain through trusted sites",{"data":32764,"content":32765,"nodeType":860},{},[32766,32770,32778,32782,32791],{"data":32767,"marks":32768,"value":32769,"nodeType":864},{},[],"Attackers use ",{"data":32771,"content":32772,"nodeType":883},{"uri":7248},[32773],{"data":32774,"marks":32775,"value":32777,"nodeType":864},{},[32776],{"type":1455},"lengthy redirect chains",{"data":32779,"marks":32780,"value":32781,"nodeType":864},{},[]," in combination with hosting pages on ",{"data":32783,"content":32785,"nodeType":883},{"uri":32784},"https://phishing-techniques.pushsecurity.com/techniques/trusted-website-hosting/",[32786],{"data":32787,"marks":32788,"value":32790,"nodeType":864},{},[32789],{"type":1455},"legitimate, trusted sites",{"data":32792,"marks":32793,"value":32794,"nodeType":864},{},[]," (in this case Firebase, Google’s app development platform). This is a technique we see a lot, with various Google and Microsoft sites cropping up time and again, including Google Forms, Google Sites, Google Script, Google AMP, Microsoft Dynamics, SharePoint, Azure Front Door, and many more, all used by attackers as part of their phishing attacks. ",{"data":32796,"content":32797,"nodeType":860},{},[32798],{"data":32799,"marks":32800,"value":32801,"nodeType":864},{},[],"Legitimate services are less likely to be flagged by link analysis tools and effectively cloak the initial URL delivered to the victim to increase the chance of successful delivery of and access to the link, while many services are excluded from page scanning tools owing to their association with trusted domains. ",{"data":32803,"content":32804,"nodeType":1312},{},[32805],{"data":32806,"marks":32807,"value":32809,"nodeType":864},{},[32808],{"type":899},"Bot protection",{"data":32811,"content":32812,"nodeType":860},{},[32813,32817,32826],{"data":32814,"marks":32815,"value":32816,"nodeType":864},{},[],"Attackers are using common ",{"data":32818,"content":32820,"nodeType":883},{"uri":32819},"https://phishing-techniques.pushsecurity.com/techniques/bot-protection/",[32821],{"data":32822,"marks":32823,"value":32825,"nodeType":864},{},[32824],{"type":1455},"bot protection",{"data":32827,"marks":32828,"value":32829,"nodeType":864},{},[]," technologies like CAPTCHA and Cloudflare Turnstile to prevent security bots from accessing their web pages to be able to analyse them (and therefore block pages from being automatically flagged). This requires anyone visiting the page to pass a bot check/challenge before the page can be loaded, meaning the full page cannot be analysed by automated tools. ",{"data":32831,"content":32832,"nodeType":1312},{},[32833],{"data":32834,"marks":32835,"value":32837,"nodeType":864},{},[32836],{"type":899},"Page obfuscation",{"data":32839,"content":32840,"nodeType":860},{},[32841,32845,32854],{"data":32842,"marks":32843,"value":32844,"nodeType":864},{},[],"Phishing pages ",{"data":32846,"content":32848,"nodeType":883},{"uri":32847},"https://phishing-techniques.pushsecurity.com/techniques/page-obfuscation/",[32849],{"data":32850,"marks":32851,"value":32853,"nodeType":864},{},[32852],{"type":1455},"change and even randomize elements of the page",{"data":32855,"marks":32856,"value":32857,"nodeType":864},{},[]," to avoid static fingerprints and defeat comparison-based checks against real pages. This includes the page title, text, images, backgrounds, logos, favicons, etc. — all of which may be signatured components using web page analysis tools. These elements can even be embedded in an encoded form so it isn’t present in the initial HTML, and is instead dynamically set at runtime when loaded. As an example, you can see that the page randomly generated the tab header text.",{"data":32859,"content":32863,"nodeType":996},{"target":32860},{"sys":32861},{"id":32862,"type":1001,"linkType":1002},"2bbOZC9M4y69ACDy7bn209",[],{"data":32865,"content":32866,"nodeType":1005},{},[],{"data":32868,"content":32869,"nodeType":1009},{},[32870],{"data":32871,"marks":32872,"value":7114,"nodeType":864},{},[32873],{"type":899},{"data":32875,"content":32876,"nodeType":860},{},[32877,32881,32889],{"data":32878,"marks":32879,"value":32880,"nodeType":864},{},[],"We’re seeing ",{"data":32882,"content":32883,"nodeType":883},{"uri":27661},[32884],{"data":32885,"marks":32886,"value":32888,"nodeType":864},{},[32887],{"type":1455},"many phishing campaigns pivoting to social media apps like LinkedIn",{"data":32890,"marks":32891,"value":32892,"nodeType":864},{},[]," and organizations should be on guard against this attack vector, which is highly effective at evading common anti-phishing controls.  ",{"data":32894,"content":32895,"nodeType":860},{},[32896],{"data":32897,"marks":32898,"value":32899,"nodeType":864},{},[],"Just because the attack happens over LinkedIn doesn’t lessen the impact — these are corporate credentials and accounts being targeted, even if it is nominally a “personal” application. Taking over a core identity like a Microsoft or Google account can have wide-ranging consequences, putting data at risk in both core apps and any downstream apps that can be accessed via SSO from the compromised account. ",{"data":32901,"content":32905,"nodeType":996},{"target":32902},{"sys":32903},{"id":32904,"type":1001,"linkType":1002},"6QzB0BlVC5mstXwXHvy2c3",[],{"data":32907,"content":32908,"nodeType":1005},{},[],{"data":32910,"content":32911,"nodeType":1009},{},[32912],{"data":32913,"marks":32914,"value":32916,"nodeType":864},{},[32915],{"type":899},"How Push stopped the attack",{"data":32918,"content":32919,"nodeType":860},{},[32920,32924,32932],{"data":32921,"marks":32922,"value":32923,"nodeType":864},{},[],"Push doesn’t detect the redirect tricks or rely on outdated domain TI feeds. The reason we detect these attacks (which make it through all the other layers of phishing protection) is that Push sees what your users see. It doesn’t matter what ",{"data":32925,"content":32926,"nodeType":883},{"uri":7124},[32927],{"data":32928,"marks":32929,"value":32931,"nodeType":864},{},[32930],{"type":1455},"delivery channel or camouflage methods are used",{"data":32933,"marks":32934,"value":32935,"nodeType":864},{},[],", Push shuts the attack down in real time, as the user loads the malicious page in their web browser.",{"data":32937,"content":32938,"nodeType":860},{},[32939],{"data":32940,"marks":32941,"value":30220,"nodeType":864},{},[],{"data":32943,"content":32944,"nodeType":860},{},[32945],{"data":32946,"marks":32947,"value":32948,"nodeType":864},{},[],"Check out the demo below to see Push detect and block this attack in real-time. ",{"data":32950,"content":32954,"nodeType":996},{"target":32951},{"sys":32952},{"id":32953,"type":1001,"linkType":1002},"5VsFECWlJ1HNGtC0jUcPjH",[],{"data":32956,"content":32957,"nodeType":860},{},[32958,32961,32968,32971,32978],{"data":32959,"marks":32960,"value":12936,"nodeType":864},{},[],{"data":32962,"content":32963,"nodeType":883},{"uri":12939},[32964],{"data":32965,"marks":32966,"value":12944,"nodeType":864},{},[32967],{"type":1455},{"data":32969,"marks":32970,"value":27405,"nodeType":864},{},[],{"data":32972,"content":32973,"nodeType":883},{"uri":1700},[32974],{"data":32975,"marks":32976,"value":12967,"nodeType":864},{},[32977],{"type":1455},{"data":32979,"marks":32980,"value":2924,"nodeType":864},{},[],"New phishing campaign identified targeting LinkedIn users","Diving into the latest sophisticated LinkedIn phishing campaign intercepted by Push. ","2025-10-30T00:00:00.000Z","new-phishing-campaign-identified-targeting-linkedin-users",{"items":32986},[32987,32989],{"sys":32988,"name":342},{"id":6596},{"sys":32990,"name":6593},{"id":6592},{"items":32992},[32993],{"fullName":2736,"firstName":2737,"jobTitle":2738,"profilePicture":32994},{"url":2740},"blog/what-the-expansion-of-nydfs-nycrr-part-500-means-for-mfa-compliance",{"json":32997},{"data":32998,"content":32999,"nodeType":856},{},[33000],{"data":33001,"content":33002,"nodeType":860},{},[33003],{"data":33004,"marks":33005,"value":33006,"nodeType":864},{},[],"Earlier this month, New York State’s Department of Financial Services (NYDFS) levied $14 million in fines across 8 insurance companies under its cybersecurity regulation, NYCRR Part 500. From November 1st, the requirements for MFA and asset management are being tightened even further. Here’s what you need to know. ",{"id":29690,"publishedAt":33008},"2026-08-12T11:53:39.915Z",{"items":33010},[33011,33013],{"sys":33012,"name":2729},{"id":2728},{"sys":33014,"name":6593},{"id":6592},{"items":33016},[33017,33019,33021,33023,33025,33027,33029,33031],{"sys":33018,"name":413,"slug":414,"tier":31},{"id":410},{"sys":33020,"name":545,"slug":546,"tier":31},{"id":542},{"sys":33022,"name":457,"slug":458,"tier":45},{"id":454},{"sys":33024,"name":395,"slug":396,"tier":45},{"id":392},{"sys":33026,"name":589,"slug":590,"tier":45},{"id":586},{"sys":33028,"name":502,"slug":503,"tier":45},{"id":499},{"sys":33030,"name":333,"slug":334,"tier":45},{"id":330},{"sys":33032,"name":528,"slug":529,"tier":45},{"id":525},"ljXRu5uXLT8h5vJ2o1Hp_xPhAqpLFTn7j8Ih8XlbHTQ",{"id":33035,"title":30774,"authorsCollection":33036,"content":33041,"extension":228,"faqItemsCollection":33516,"faqTitle":59,"featured":6,"hashTags":59,"meta":33518,"metaTitle":33519,"ogImage":59,"postType":29684,"publishedDate":30776,"relatedBlogPostsCollection":33520,"slug":30777,"stem":35601,"subtitle":59,"summary":35602,"synopsis":30775,"sys":35613,"tagsCollection":35615,"topicsCollection":35621,"__hash__":35645},"blog/blog/how-cyber-breaches-are-driving-tighter-mfa-requirements-and-enforcement.json",{"items":33037},[33038],{"fullName":2736,"firstName":2737,"jobTitle":2738,"socialLinks":33039,"profilePicture":33040},[11304],{"url":2740},{"json":33042,"links":33480},{"data":33043,"content":33044,"nodeType":856},{},[33045,33051,33067,33073,33076,33083,33089,33095,33202,33208,33213,33216,33223,33229,33235,33241,33247,33254,33260,33266,33269,33276,33282,33288,33294,33299,33305,33328,33337,33342,33345,33352,33359,33365,33395,33400,33406,33411,33414,33421,33427,33443,33448,33454],{"data":33046,"content":33047,"nodeType":860},{},[33048],{"data":33049,"marks":33050,"value":30285,"nodeType":864},{},[],{"data":33052,"content":33053,"nodeType":860},{},[33054,33057,33064],{"data":33055,"marks":33056,"value":30292,"nodeType":864},{},[],{"data":33058,"content":33059,"nodeType":883},{"uri":3751},[33060],{"data":33061,"marks":33062,"value":30300,"nodeType":864},{},[33063],{"type":1455},{"data":33065,"marks":33066,"value":12252,"nodeType":864},{},[],{"data":33068,"content":33069,"nodeType":860},{},[33070],{"data":33071,"marks":33072,"value":30310,"nodeType":864},{},[],{"data":33074,"content":33075,"nodeType":1005},{},[],{"data":33077,"content":33078,"nodeType":1009},{},[33079],{"data":33080,"marks":33081,"value":30321,"nodeType":864},{},[33082],{"type":899},{"data":33084,"content":33085,"nodeType":860},{},[33086],{"data":33087,"marks":33088,"value":30328,"nodeType":864},{},[],{"data":33090,"content":33091,"nodeType":860},{},[33092],{"data":33093,"marks":33094,"value":30335,"nodeType":864},{},[],{"data":33096,"content":33097,"nodeType":941},{},[33098,33107,33126,33145,33184,33193],{"data":33099,"content":33100,"nodeType":945},{},[33101],{"data":33102,"content":33103,"nodeType":860},{},[33104],{"data":33105,"marks":33106,"value":30348,"nodeType":864},{},[],{"data":33108,"content":33109,"nodeType":945},{},[33110],{"data":33111,"content":33112,"nodeType":860},{},[33113,33116,33123],{"data":33114,"marks":33115,"value":30358,"nodeType":864},{},[],{"data":33117,"content":33118,"nodeType":883},{"uri":29806},[33119],{"data":33120,"marks":33121,"value":30366,"nodeType":864},{},[33122],{"type":1455},{"data":33124,"marks":33125,"value":30370,"nodeType":864},{},[],{"data":33127,"content":33128,"nodeType":945},{},[33129],{"data":33130,"content":33131,"nodeType":860},{},[33132,33135,33142],{"data":33133,"marks":33134,"value":30380,"nodeType":864},{},[],{"data":33136,"content":33137,"nodeType":883},{"uri":29818},[33138],{"data":33139,"marks":33140,"value":30388,"nodeType":864},{},[33141],{"type":1455},{"data":33143,"marks":33144,"value":30392,"nodeType":864},{},[],{"data":33146,"content":33147,"nodeType":945},{},[33148],{"data":33149,"content":33150,"nodeType":860},{},[33151,33154,33161,33164,33171,33174,33181],{"data":33152,"marks":33153,"value":30402,"nodeType":864},{},[],{"data":33155,"content":33156,"nodeType":883},{"uri":29764},[33157],{"data":33158,"marks":33159,"value":30410,"nodeType":864},{},[33160],{"type":1455},{"data":33162,"marks":33163,"value":30414,"nodeType":864},{},[],{"data":33165,"content":33166,"nodeType":883},{"uri":29786},[33167],{"data":33168,"marks":33169,"value":30422,"nodeType":864},{},[33170],{"type":1455},{"data":33172,"marks":33173,"value":30426,"nodeType":864},{},[],{"data":33175,"content":33176,"nodeType":883},{"uri":30429},[33177],{"data":33178,"marks":33179,"value":30435,"nodeType":864},{},[33180],{"type":1455},{"data":33182,"marks":33183,"value":30439,"nodeType":864},{},[],{"data":33185,"content":33186,"nodeType":945},{},[33187],{"data":33188,"content":33189,"nodeType":860},{},[33190],{"data":33191,"marks":33192,"value":30449,"nodeType":864},{},[],{"data":33194,"content":33195,"nodeType":945},{},[33196],{"data":33197,"content":33198,"nodeType":860},{},[33199],{"data":33200,"marks":33201,"value":30459,"nodeType":864},{},[],{"data":33203,"content":33204,"nodeType":860},{},[33205],{"data":33206,"marks":33207,"value":30466,"nodeType":864},{},[],{"data":33209,"content":33212,"nodeType":996},{"target":33210},{"sys":33211},{"id":30471,"type":1001,"linkType":1002},[],{"data":33214,"content":33215,"nodeType":1005},{},[],{"data":33217,"content":33218,"nodeType":1009},{},[33219],{"data":33220,"marks":33221,"value":30483,"nodeType":864},{},[33222],{"type":899},{"data":33224,"content":33225,"nodeType":860},{},[33226],{"data":33227,"marks":33228,"value":30490,"nodeType":864},{},[],{"data":33230,"content":33231,"nodeType":860},{},[33232],{"data":33233,"marks":33234,"value":30497,"nodeType":864},{},[],{"data":33236,"content":33237,"nodeType":860},{},[33238],{"data":33239,"marks":33240,"value":30504,"nodeType":864},{},[],{"data":33242,"content":33243,"nodeType":860},{},[33244],{"data":33245,"marks":33246,"value":30511,"nodeType":864},{},[],{"data":33248,"content":33249,"nodeType":1312},{},[33250],{"data":33251,"marks":33252,"value":30519,"nodeType":864},{},[33253],{"type":899},{"data":33255,"content":33256,"nodeType":860},{},[33257],{"data":33258,"marks":33259,"value":30526,"nodeType":864},{},[],{"data":33261,"content":33262,"nodeType":860},{},[33263],{"data":33264,"marks":33265,"value":30533,"nodeType":864},{},[],{"data":33267,"content":33268,"nodeType":1005},{},[],{"data":33270,"content":33271,"nodeType":1009},{},[33272],{"data":33273,"marks":33274,"value":30544,"nodeType":864},{},[33275],{"type":899},{"data":33277,"content":33278,"nodeType":860},{},[33279],{"data":33280,"marks":33281,"value":30551,"nodeType":864},{},[],{"data":33283,"content":33284,"nodeType":860},{},[33285],{"data":33286,"marks":33287,"value":30558,"nodeType":864},{},[],{"data":33289,"content":33290,"nodeType":860},{},[33291],{"data":33292,"marks":33293,"value":30565,"nodeType":864},{},[],{"data":33295,"content":33298,"nodeType":996},{"target":33296},{"sys":33297},{"id":30570,"type":1001,"linkType":1002},[],{"data":33300,"content":33301,"nodeType":860},{},[33302],{"data":33303,"marks":33304,"value":30578,"nodeType":864},{},[],{"data":33306,"content":33307,"nodeType":860},{},[33308,33311,33318,33321,33325],{"data":33309,"marks":33310,"value":30585,"nodeType":864},{},[],{"data":33312,"content":33313,"nodeType":883},{"uri":15980},[33314],{"data":33315,"marks":33316,"value":30593,"nodeType":864},{},[33317],{"type":1455},{"data":33319,"marks":33320,"value":30597,"nodeType":864},{},[],{"data":33322,"marks":33323,"value":30602,"nodeType":864},{},[33324],{"type":899},{"data":33326,"marks":33327,"value":30606,"nodeType":864},{},[],{"data":33329,"content":33330,"nodeType":1116},{},[33331],{"data":33332,"content":33333,"nodeType":860},{},[33334],{"data":33335,"marks":33336,"value":30616,"nodeType":864},{},[],{"data":33338,"content":33341,"nodeType":996},{"target":33339},{"sys":33340},{"id":30621,"type":1001,"linkType":1002},[],{"data":33343,"content":33344,"nodeType":1005},{},[],{"data":33346,"content":33347,"nodeType":1009},{},[33348],{"data":33349,"marks":33350,"value":30633,"nodeType":864},{},[33351],{"type":899},{"data":33353,"content":33354,"nodeType":1312},{},[33355],{"data":33356,"marks":33357,"value":30641,"nodeType":864},{},[33358],{"type":899},{"data":33360,"content":33361,"nodeType":860},{},[33362],{"data":33363,"marks":33364,"value":30648,"nodeType":864},{},[],{"data":33366,"content":33367,"nodeType":941},{},[33368,33377,33386],{"data":33369,"content":33370,"nodeType":945},{},[33371],{"data":33372,"content":33373,"nodeType":860},{},[33374],{"data":33375,"marks":33376,"value":30661,"nodeType":864},{},[],{"data":33378,"content":33379,"nodeType":945},{},[33380],{"data":33381,"content":33382,"nodeType":860},{},[33383],{"data":33384,"marks":33385,"value":30671,"nodeType":864},{},[],{"data":33387,"content":33388,"nodeType":945},{},[33389],{"data":33390,"content":33391,"nodeType":860},{},[33392],{"data":33393,"marks":33394,"value":30681,"nodeType":864},{},[],{"data":33396,"content":33399,"nodeType":996},{"target":33397},{"sys":33398},{"id":30201,"type":1001,"linkType":1002},[],{"data":33401,"content":33402,"nodeType":860},{},[33403],{"data":33404,"marks":33405,"value":21,"nodeType":864},{},[],{"data":33407,"content":33410,"nodeType":996},{"target":33408},{"sys":33409},{"id":29532,"type":1001,"linkType":1002},[],{"data":33412,"content":33413,"nodeType":1005},{},[],{"data":33415,"content":33416,"nodeType":1312},{},[33417],{"data":33418,"marks":33419,"value":30708,"nodeType":864},{},[33420],{"type":899},{"data":33422,"content":33423,"nodeType":860},{},[33424],{"data":33425,"marks":33426,"value":30715,"nodeType":864},{},[],{"data":33428,"content":33429,"nodeType":860},{},[33430,33433,33440],{"data":33431,"marks":33432,"value":21,"nodeType":864},{},[],{"data":33434,"content":33435,"nodeType":883},{"uri":30724},[33436],{"data":33437,"marks":33438,"value":30730,"nodeType":864},{},[33439],{"type":1455},{"data":33441,"marks":33442,"value":30734,"nodeType":864},{},[],{"data":33444,"content":33447,"nodeType":996},{"target":33445},{"sys":33446},{"id":30739,"type":1001,"linkType":1002},[],{"data":33449,"content":33450,"nodeType":860},{},[33451],{"data":33452,"marks":33453,"value":30747,"nodeType":864},{},[],{"data":33455,"content":33456,"nodeType":860},{},[33457,33460,33467,33470,33477],{"data":33458,"marks":33459,"value":12936,"nodeType":864},{},[],{"data":33461,"content":33462,"nodeType":883},{"uri":12939},[33463],{"data":33464,"marks":33465,"value":12944,"nodeType":864},{},[33466],{"type":1455},{"data":33468,"marks":33469,"value":27405,"nodeType":864},{},[],{"data":33471,"content":33472,"nodeType":883},{"uri":1700},[33473],{"data":33474,"marks":33475,"value":12967,"nodeType":864},{},[33476],{"type":1455},{"data":33478,"marks":33479,"value":2924,"nodeType":864},{},[],{"entries":33481},{"hyperlink":33482,"inline":33483,"block":33484},[],[],[33485,33489,33496,33504,33506,33508],{"sys":33486,"__typename":1717,"type":1718,"ctaText":33487,"buttonLabel":151,"buttonColour":33488,"buttonUrl":29464},{"id":30471},"New whitepaper: Get the big picture on current MFA regulation and compliance","sea blue",{"sys":33490,"__typename":1724,"title":33491,"caption":33491,"layoutMode":59,"file":33492},{"id":30570},"Attacks have shifted from targeting local networks to SaaS services, accessed through employee web browsers.",{"url":33493,"width":33494,"height":33495},"https://images.ctfassets.net/y1cdw1ablpvd/SadRsmdnNZofhrKddH01D/1ba16316bdfa666b2bc387d5b694e515/image2.png",1506,574,{"sys":33497,"__typename":1724,"title":33498,"caption":33499,"layoutMode":59,"file":33500},{"id":30621},"Infographic showing the identity vulnerability spread for a 1,000 seat organization","A 1,000 user organization has over 15,000 accounts with various configurations and associated vulnerabilities.",{"url":33501,"width":33502,"height":33503},"https://images.ctfassets.net/y1cdw1ablpvd/266iLQBVsJIQEx6dnUEVrZ/eb5b1be79b7b29365baf299053fddf42/Infographic.png",5480,3012,{"sys":33505,"__typename":9318,"title":31365,"arcadeDemoUrl":31366,"playText":9321},{"id":30201},{"sys":33507,"__typename":1717,"type":1718,"ctaText":29679,"buttonLabel":151,"buttonColour":1721,"buttonUrl":29464},{"id":29532},{"sys":33509,"__typename":1724,"title":33510,"caption":33511,"layoutMode":59,"file":33512},{"id":30739},"Browser-based attacks like AITM phishing, ClickFix, and consent phishing have seen an unprecedented rise in recent years.","Browser-based attacks like AITM phishing, ClickFix, and consent phishing are the fastest-growing threats of 2025. ",{"url":33513,"width":33514,"height":33515},"https://images.ctfassets.net/y1cdw1ablpvd/1eCBgB8nNDu5955f1BwFO6/b80d5cb43c7acd75e1a670d4ae22b2ec/Browser-based_attacks_graphic__1_.png",2012,1272,{"items":33517},[],{},"How cyber breaches are driving tighter MFA requirements",{"items":33521},[33522,34087,34892],{"__typename":2059,"sys":33523,"content":33524,"title":32524,"synopsis":32525,"hashTags":59,"publishedDate":32526,"slug":32527,"tagsCollection":34077,"authorsCollection":34083},{"id":31878},{"json":33525},{"data":33526,"content":33527,"nodeType":856},{},[33528,33541,33547,33550,33557,33563,33569,33585,33590,33596,33602,33608,33614,33617,33624,33630,33635,33641,33648,33654,33660,33665,33681,33686,33692,33698,33704,33709,33712,33719,33735,33741,33767,33773,33779,33784,33790,33796,33802,33805,33812,33827,33832,33838,33844,33849,33855,33861,33864,33871,33877,33893,33929,33935,33941,33947,33950,33957,33963,33969,33975,33978,33985,33991,34017,34033,34039,34042,34049,34055,34061],{"data":33529,"content":33530,"nodeType":860},{},[33531,33534,33538],{"data":33532,"marks":33533,"value":31889,"nodeType":864},{},[],{"data":33535,"marks":33536,"value":31894,"nodeType":864},{},[33537],{"type":2246},{"data":33539,"marks":33540,"value":31898,"nodeType":864},{},[],{"data":33542,"content":33543,"nodeType":860},{},[33544],{"data":33545,"marks":33546,"value":31905,"nodeType":864},{},[],{"data":33548,"content":33549,"nodeType":1005},{},[],{"data":33551,"content":33552,"nodeType":1009},{},[33553],{"data":33554,"marks":33555,"value":31916,"nodeType":864},{},[33556],{"type":899},{"data":33558,"content":33559,"nodeType":860},{},[33560],{"data":33561,"marks":33562,"value":31923,"nodeType":864},{},[],{"data":33564,"content":33565,"nodeType":860},{},[33566],{"data":33567,"marks":33568,"value":31930,"nodeType":864},{},[],{"data":33570,"content":33571,"nodeType":860},{},[33572,33575,33582],{"data":33573,"marks":33574,"value":31937,"nodeType":864},{},[],{"data":33576,"content":33577,"nodeType":883},{"uri":31940},[33578],{"data":33579,"marks":33580,"value":29323,"nodeType":864},{},[33581],{"type":1455},{"data":33583,"marks":33584,"value":31949,"nodeType":864},{},[],{"data":33586,"content":33589,"nodeType":996},{"target":33587},{"sys":33588},{"id":31954,"type":1001,"linkType":1002},[],{"data":33591,"content":33592,"nodeType":860},{},[33593],{"data":33594,"marks":33595,"value":31962,"nodeType":864},{},[],{"data":33597,"content":33598,"nodeType":860},{},[33599],{"data":33600,"marks":33601,"value":31969,"nodeType":864},{},[],{"data":33603,"content":33604,"nodeType":860},{},[33605],{"data":33606,"marks":33607,"value":31976,"nodeType":864},{},[],{"data":33609,"content":33610,"nodeType":860},{},[33611],{"data":33612,"marks":33613,"value":31983,"nodeType":864},{},[],{"data":33615,"content":33616,"nodeType":1005},{},[],{"data":33618,"content":33619,"nodeType":1009},{},[33620],{"data":33621,"marks":33622,"value":31994,"nodeType":864},{},[33623],{"type":899},{"data":33625,"content":33626,"nodeType":860},{},[33627],{"data":33628,"marks":33629,"value":32001,"nodeType":864},{},[],{"data":33631,"content":33634,"nodeType":996},{"target":33632},{"sys":33633},{"id":30739,"type":1001,"linkType":1002},[],{"data":33636,"content":33637,"nodeType":860},{},[33638],{"data":33639,"marks":33640,"value":32013,"nodeType":864},{},[],{"data":33642,"content":33643,"nodeType":1312},{},[33644],{"data":33645,"marks":33646,"value":32021,"nodeType":864},{},[33647],{"type":899},{"data":33649,"content":33650,"nodeType":860},{},[33651],{"data":33652,"marks":33653,"value":32028,"nodeType":864},{},[],{"data":33655,"content":33656,"nodeType":860},{},[33657],{"data":33658,"marks":33659,"value":32035,"nodeType":864},{},[],{"data":33661,"content":33664,"nodeType":996},{"target":33662},{"sys":33663},{"id":32040,"type":1001,"linkType":1002},[],{"data":33666,"content":33667,"nodeType":860},{},[33668,33671,33678],{"data":33669,"marks":33670,"value":32048,"nodeType":864},{},[],{"data":33672,"content":33673,"nodeType":883},{"uri":32051},[33674],{"data":33675,"marks":33676,"value":32057,"nodeType":864},{},[33677],{"type":1455},{"data":33679,"marks":33680,"value":12285,"nodeType":864},{},[],{"data":33682,"content":33685,"nodeType":996},{"target":33683},{"sys":33684},{"id":32065,"type":1001,"linkType":1002},[],{"data":33687,"content":33688,"nodeType":860},{},[33689],{"data":33690,"marks":33691,"value":32073,"nodeType":864},{},[],{"data":33693,"content":33694,"nodeType":860},{},[33695],{"data":33696,"marks":33697,"value":32080,"nodeType":864},{},[],{"data":33699,"content":33700,"nodeType":860},{},[33701],{"data":33702,"marks":33703,"value":32087,"nodeType":864},{},[],{"data":33705,"content":33708,"nodeType":996},{"target":33706},{"sys":33707},{"id":32092,"type":1001,"linkType":1002},[],{"data":33710,"content":33711,"nodeType":1005},{},[],{"data":33713,"content":33714,"nodeType":1312},{},[33715],{"data":33716,"marks":33717,"value":32104,"nodeType":864},{},[33718],{"type":899},{"data":33720,"content":33721,"nodeType":860},{},[33722,33725,33732],{"data":33723,"marks":33724,"value":32111,"nodeType":864},{},[],{"data":33726,"content":33727,"nodeType":883},{"uri":32114},[33728],{"data":33729,"marks":33730,"value":315,"nodeType":864},{},[33731],{"type":1455},{"data":33733,"marks":33734,"value":12252,"nodeType":864},{},[],{"data":33736,"content":33737,"nodeType":860},{},[33738],{"data":33739,"marks":33740,"value":32129,"nodeType":864},{},[],{"data":33742,"content":33743,"nodeType":860},{},[33744,33747,33754,33757,33764],{"data":33745,"marks":33746,"value":32136,"nodeType":864},{},[],{"data":33748,"content":33749,"nodeType":883},{"uri":32139},[33750],{"data":33751,"marks":33752,"value":32145,"nodeType":864},{},[33753],{"type":1455},{"data":33755,"marks":33756,"value":32149,"nodeType":864},{},[],{"data":33758,"content":33759,"nodeType":883},{"uri":32152},[33760],{"data":33761,"marks":33762,"value":32158,"nodeType":864},{},[33763],{"type":1455},{"data":33765,"marks":33766,"value":2924,"nodeType":864},{},[],{"data":33768,"content":33769,"nodeType":860},{},[33770],{"data":33771,"marks":33772,"value":32168,"nodeType":864},{},[],{"data":33774,"content":33775,"nodeType":860},{},[33776],{"data":33777,"marks":33778,"value":32175,"nodeType":864},{},[],{"data":33780,"content":33783,"nodeType":996},{"target":33781},{"sys":33782},{"id":32180,"type":1001,"linkType":1002},[],{"data":33785,"content":33786,"nodeType":860},{},[33787],{"data":33788,"marks":33789,"value":32188,"nodeType":864},{},[],{"data":33791,"content":33792,"nodeType":860},{},[33793],{"data":33794,"marks":33795,"value":32195,"nodeType":864},{},[],{"data":33797,"content":33798,"nodeType":860},{},[33799],{"data":33800,"marks":33801,"value":32202,"nodeType":864},{},[],{"data":33803,"content":33804,"nodeType":1005},{},[],{"data":33806,"content":33807,"nodeType":1312},{},[33808],{"data":33809,"marks":33810,"value":32213,"nodeType":864},{},[33811],{"type":899},{"data":33813,"content":33814,"nodeType":860},{},[33815,33818,33824],{"data":33816,"marks":33817,"value":32220,"nodeType":864},{},[],{"data":33819,"content":33820,"nodeType":883},{"uri":32223},[33821],{"data":33822,"marks":33823,"value":32228,"nodeType":864},{},[],{"data":33825,"marks":33826,"value":1774,"nodeType":864},{},[],{"data":33828,"content":33831,"nodeType":996},{"target":33829},{"sys":33830},{"id":32236,"type":1001,"linkType":1002},[],{"data":33833,"content":33834,"nodeType":860},{},[33835],{"data":33836,"marks":33837,"value":32244,"nodeType":864},{},[],{"data":33839,"content":33840,"nodeType":860},{},[33841],{"data":33842,"marks":33843,"value":32251,"nodeType":864},{},[],{"data":33845,"content":33848,"nodeType":996},{"target":33846},{"sys":33847},{"id":32256,"type":1001,"linkType":1002},[],{"data":33850,"content":33851,"nodeType":860},{},[33852],{"data":33853,"marks":33854,"value":32264,"nodeType":864},{},[],{"data":33856,"content":33857,"nodeType":860},{},[33858],{"data":33859,"marks":33860,"value":32271,"nodeType":864},{},[],{"data":33862,"content":33863,"nodeType":1005},{},[],{"data":33865,"content":33866,"nodeType":1312},{},[33867],{"data":33868,"marks":33869,"value":32282,"nodeType":864},{},[33870],{"type":899},{"data":33872,"content":33873,"nodeType":860},{},[33874],{"data":33875,"marks":33876,"value":32289,"nodeType":864},{},[],{"data":33878,"content":33879,"nodeType":860},{},[33880,33883,33890],{"data":33881,"marks":33882,"value":32296,"nodeType":864},{},[],{"data":33884,"content":33885,"nodeType":883},{"uri":32299},[33886],{"data":33887,"marks":33888,"value":32305,"nodeType":864},{},[33889],{"type":1455},{"data":33891,"marks":33892,"value":32309,"nodeType":864},{},[],{"data":33894,"content":33895,"nodeType":860},{},[33896,33899,33906,33909,33916,33919,33926],{"data":33897,"marks":33898,"value":32316,"nodeType":864},{},[],{"data":33900,"content":33901,"nodeType":883},{"uri":32319},[33902],{"data":33903,"marks":33904,"value":32325,"nodeType":864},{},[33905],{"type":1455},{"data":33907,"marks":33908,"value":32329,"nodeType":864},{},[],{"data":33910,"content":33911,"nodeType":883},{"uri":32332},[33912],{"data":33913,"marks":33914,"value":32338,"nodeType":864},{},[33915],{"type":1455},{"data":33917,"marks":33918,"value":2232,"nodeType":864},{},[],{"data":33920,"content":33921,"nodeType":883},{"uri":32344},[33922],{"data":33923,"marks":33924,"value":32350,"nodeType":864},{},[33925],{"type":1455},{"data":33927,"marks":33928,"value":2924,"nodeType":864},{},[],{"data":33930,"content":33931,"nodeType":860},{},[33932],{"data":33933,"marks":33934,"value":32360,"nodeType":864},{},[],{"data":33936,"content":33937,"nodeType":860},{},[33938],{"data":33939,"marks":33940,"value":32367,"nodeType":864},{},[],{"data":33942,"content":33943,"nodeType":860},{},[33944],{"data":33945,"marks":33946,"value":32374,"nodeType":864},{},[],{"data":33948,"content":33949,"nodeType":1005},{},[],{"data":33951,"content":33952,"nodeType":1312},{},[33953],{"data":33954,"marks":33955,"value":32385,"nodeType":864},{},[33956],{"type":899},{"data":33958,"content":33959,"nodeType":860},{},[33960],{"data":33961,"marks":33962,"value":32392,"nodeType":864},{},[],{"data":33964,"content":33965,"nodeType":860},{},[33966],{"data":33967,"marks":33968,"value":32399,"nodeType":864},{},[],{"data":33970,"content":33971,"nodeType":860},{},[33972],{"data":33973,"marks":33974,"value":32406,"nodeType":864},{},[],{"data":33976,"content":33977,"nodeType":1005},{},[],{"data":33979,"content":33980,"nodeType":1312},{},[33981],{"data":33982,"marks":33983,"value":32417,"nodeType":864},{},[33984],{"type":899},{"data":33986,"content":33987,"nodeType":860},{},[33988],{"data":33989,"marks":33990,"value":32424,"nodeType":864},{},[],{"data":33992,"content":33993,"nodeType":860},{},[33994,33997,34004,34007,34014],{"data":33995,"marks":33996,"value":32431,"nodeType":864},{},[],{"data":33998,"content":33999,"nodeType":883},{"uri":31940},[34000],{"data":34001,"marks":34002,"value":29323,"nodeType":864},{},[34003],{"type":1455},{"data":34005,"marks":34006,"value":32442,"nodeType":864},{},[],{"data":34008,"content":34009,"nodeType":883},{"uri":32445},[34010],{"data":34011,"marks":34012,"value":29345,"nodeType":864},{},[34013],{"type":1455},{"data":34015,"marks":34016,"value":32454,"nodeType":864},{},[],{"data":34018,"content":34019,"nodeType":860},{},[34020,34023,34030],{"data":34021,"marks":34022,"value":32461,"nodeType":864},{},[],{"data":34024,"content":34025,"nodeType":883},{"uri":32464},[34026],{"data":34027,"marks":34028,"value":32470,"nodeType":864},{},[34029],{"type":1455},{"data":34031,"marks":34032,"value":32474,"nodeType":864},{},[],{"data":34034,"content":34035,"nodeType":860},{},[34036],{"data":34037,"marks":34038,"value":32481,"nodeType":864},{},[],{"data":34040,"content":34041,"nodeType":1005},{},[],{"data":34043,"content":34044,"nodeType":1009},{},[34045],{"data":34046,"marks":34047,"value":32492,"nodeType":864},{},[34048],{"type":899},{"data":34050,"content":34051,"nodeType":860},{},[34052],{"data":34053,"marks":34054,"value":32499,"nodeType":864},{},[],{"data":34056,"content":34057,"nodeType":860},{},[34058],{"data":34059,"marks":34060,"value":30747,"nodeType":864},{},[],{"data":34062,"content":34063,"nodeType":860},{},[34064,34067,34074],{"data":34065,"marks":34066,"value":32512,"nodeType":864},{},[],{"data":34068,"content":34069,"nodeType":883},{"uri":32515},[34070],{"data":34071,"marks":34072,"value":12967,"nodeType":864},{},[34073],{"type":1455},{"data":34075,"marks":34076,"value":2924,"nodeType":864},{},[],{"items":34078},[34079,34081],{"sys":34080,"name":6593},{"id":6592},{"sys":34082,"name":342},{"id":6596},{"items":34084},[34085],{"fullName":2736,"firstName":2737,"jobTitle":2738,"profilePicture":34086},{"url":2740},{"__typename":2059,"sys":34088,"content":34090,"title":34880,"synopsis":34881,"hashTags":59,"publishedDate":34882,"slug":34883,"tagsCollection":34884,"authorsCollection":34888},{"id":34089},"PAPJPr3CIB6J20udYyy1r",{"json":34091},{"data":34092,"content":34093,"nodeType":856},{},[34094,34100,34120,34127,34134,34140,34143,34151,34158,34176,34187,34194,34201,34208,34301,34304,34312,34395,34401,34404,34412,34420,34427,34434,34442,34459,34466,34474,34481,34488,34496,34503,34510,34530,34536,34539,34547,34555,34562,34666,34673,34681,34688,34695,34701,34709,34716,34723,34730,34738,34745,34752,34759,34766,34772,34775,34783,34790,34823,34830,34848,34868,34874],{"data":34095,"content":34099,"nodeType":996},{"target":34096},{"sys":34097},{"id":34098,"type":1001,"linkType":1002},"1eBClNW4NOR66F0tl9h6lD",[],{"data":34101,"content":34102,"nodeType":860},{},[34103,34107,34116],{"data":34104,"marks":34105,"value":34106,"nodeType":864},{},[],"The attacks on Snowflake customers in 2024 collectively constituted the biggest cyber security event of the year in terms of the number of organizations and individuals affected (at least, if you exclude CrowdStrike causing a worldwide outage in July) — certainly, it was the largest perpetrated by a criminal group against commercial enterprises. It has been touted by some news outlets as ‘",{"data":34108,"content":34110,"nodeType":883},{"uri":34109},"https://www.wired.com/story/snowflake-breach-advanced-auto-parts-lendingtree/",[34111],{"data":34112,"marks":34113,"value":34115,"nodeType":864},{},[34114],{"type":1455},"one of the biggest breaches ever",{"data":34117,"marks":34118,"value":34119,"nodeType":864},{},[],"’.  ",{"data":34121,"content":34122,"nodeType":860},{},[34123],{"data":34124,"marks":34125,"value":34126,"nodeType":864},{},[],"Snowflake was a watershed moment that signalled the significant opportunity presented by identity attacks on cloud services. It demonstrated how comparatively unsophisticated methods (logging in to user accounts with stolen credentials and dumping the data) can have the same or greater impact as a traditional network or endpoint based cyber attack involving vulnerability exploitation, malware deployment, ransomware, etc. ",{"data":34128,"content":34129,"nodeType":860},{},[34130],{"data":34131,"marks":34132,"value":34133,"nodeType":864},{},[],"Here’s everything you need to know about the Snowflake attacks — and what you can do to protect yourself against the next Snowflake in the future.",{"data":34135,"content":34139,"nodeType":996},{"target":34136},{"sys":34137},{"id":34138,"type":1001,"linkType":1002},"4QoPUiP5q6Mwj1eWUZT15Q",[],{"data":34141,"content":34142,"nodeType":1005},{},[],{"data":34144,"content":34145,"nodeType":1009},{},[34146],{"data":34147,"marks":34148,"value":34150,"nodeType":864},{},[34149],{"type":899},"Snowflake: The facts",{"data":34152,"content":34153,"nodeType":860},{},[34154],{"data":34155,"marks":34156,"value":34157,"nodeType":864},{},[],"Cyber criminals associated with the threat group known as ShinyHunters claimed responsibility for breaching multiple organizations using Snowflake, a cloud-based data warehousing and analytics platform. ",{"data":34159,"content":34160,"nodeType":860},{},[34161,34165,34173],{"data":34162,"marks":34163,"value":34164,"nodeType":864},{},[],"ShinyHunters associates targeted ~165 organizations that were subjected to account takeover attacks using stolen credentials harvested from historical infostealer infections dating back as far as 2020, ",{"data":34166,"content":34167,"nodeType":883},{"uri":18533},[34168],{"data":34169,"marks":34170,"value":34172,"nodeType":864},{},[34171],{"type":1455},"according to Mandiant’s investigation",{"data":34174,"marks":34175,"value":12252,"nodeType":864},{},[],{"data":34177,"content":34178,"nodeType":1116},{},[34179],{"data":34180,"content":34181,"nodeType":860},{},[34182],{"data":34183,"marks":34184,"value":34186,"nodeType":864},{},[34185],{"type":899},">80% of the compromised accounts belonging to Snowflake customers had prior credential exposure. ",{"data":34188,"content":34189,"nodeType":860},{},[34190],{"data":34191,"marks":34192,"value":34193,"nodeType":864},{},[],"The impacted accounts lacked MFA, meaning successful authentication only required a valid username and password. As the Snowflake credentials found in infostealer malware credential dumps had not been rotated or updated, they remained valid and could be used to authenticate to user accounts on Snowflake tenants belonging to various customers.",{"data":34195,"content":34196,"nodeType":860},{},[34197],{"data":34198,"marks":34199,"value":34200,"nodeType":864},{},[],"As a data warehousing platform integrated with a range of connected cloud services, access to a customer’s Snowflake tenant provided attackers with large quantities of sensitive commercial and personal data that could be stolen and monetized by attackers in a variety of ways — such as by ransoming the victim organization, extorting individual end-customers, and selling the data on to other criminal organizations. ",{"data":34202,"content":34203,"nodeType":860},{},[34204],{"data":34205,"marks":34206,"value":34207,"nodeType":864},{},[],"In total, 9 public victims were named following the breach, collectively impacting hundreds of millions of people. ",{"data":34209,"content":34210,"nodeType":941},{},[34211,34221,34231,34241,34251,34261,34271,34281,34291],{"data":34212,"content":34213,"nodeType":945},{},[34214],{"data":34215,"content":34216,"nodeType":860},{},[34217],{"data":34218,"marks":34219,"value":34220,"nodeType":864},{},[],"Lending Tree: Sensitive data for over 190 million people available online including customer details, partial credit card numbers, insurance quotes and other information, being sold for $2m.",{"data":34222,"content":34223,"nodeType":945},{},[34224],{"data":34225,"content":34226,"nodeType":860},{},[34227],{"data":34228,"marks":34229,"value":34230,"nodeType":864},{},[],"Truist Bank: Information belonging to 65,000 employees being sold online for $1m",{"data":34232,"content":34233,"nodeType":945},{},[34234],{"data":34235,"content":34236,"nodeType":860},{},[34237],{"data":34238,"marks":34239,"value":34240,"nodeType":864},{},[],"Advance Auto Parts: 3TB of data for sale for $1.5 million. Affected 2.3 million people, as well as current and former employees and job applicants.",{"data":34242,"content":34243,"nodeType":945},{},[34244],{"data":34245,"content":34246,"nodeType":860},{},[34247],{"data":34248,"marks":34249,"value":34250,"nodeType":864},{},[],"Pure Storage: Workspace with 11k customer records including company, email, LDAP username and software version numbers.",{"data":34252,"content":34253,"nodeType":945},{},[34254],{"data":34255,"content":34256,"nodeType":860},{},[34257],{"data":34258,"marks":34259,"value":34260,"nodeType":864},{},[],"Los Angeles Unified: Student data, disability information, discipline details, and parent information, being sold online for $150k.",{"data":34262,"content":34263,"nodeType":945},{},[34264],{"data":34265,"content":34266,"nodeType":860},{},[34267],{"data":34268,"marks":34269,"value":34270,"nodeType":864},{},[],"Neiman Marcus: 31m email addresses exposed alongside various personal information.",{"data":34272,"content":34273,"nodeType":945},{},[34274],{"data":34275,"content":34276,"nodeType":860},{},[34277],{"data":34278,"marks":34279,"value":34280,"nodeType":864},{},[],"Santander: 30 million customer details for sale relating to customers of Santander Chile, Spain, and Uruguay.",{"data":34282,"content":34283,"nodeType":945},{},[34284],{"data":34285,"content":34286,"nodeType":860},{},[34287],{"data":34288,"marks":34289,"value":34290,"nodeType":864},{},[],"Ticketmaster: 560 million customer details for sale, disruption to events and ticketing worldwide, increasing in scam ticket production.",{"data":34292,"content":34293,"nodeType":945},{},[34294],{"data":34295,"content":34296,"nodeType":860},{},[34297],{"data":34298,"marks":34299,"value":34300,"nodeType":864},{},[],"AT&T: Call logs stolen for approximately 109 million customers (nearly all of its mobile customers). AT&T paid an undisclosed ransom fee. ",{"data":34302,"content":34303,"nodeType":1005},{},[],{"data":34305,"content":34306,"nodeType":1009},{},[34307],{"data":34308,"marks":34309,"value":34311,"nodeType":864},{},[34310],{"type":899},"The Snowflake attacks step-by-step",{"data":34313,"content":34314,"nodeType":941},{},[34315,34325,34335,34345,34355,34365,34375,34385],{"data":34316,"content":34317,"nodeType":945},{},[34318],{"data":34319,"content":34320,"nodeType":860},{},[34321],{"data":34322,"marks":34323,"value":34324,"nodeType":864},{},[],"Snowflake users were infected with infostealer malware that harvested credentials from user devices over an extended period via several infostealer malware variants, including; VIDAR, RISEPRO, REDLINE, RACOON STEALER, LUMMA and METASTEALER.",{"data":34326,"content":34327,"nodeType":945},{},[34328],{"data":34329,"content":34330,"nodeType":860},{},[34331],{"data":34332,"marks":34333,"value":34334,"nodeType":864},{},[],"Credentials appeared on criminal marketplaces e.g. dark web forums and Telegram channels.",{"data":34336,"content":34337,"nodeType":945},{},[34338],{"data":34339,"content":34340,"nodeType":860},{},[34341],{"data":34342,"marks":34343,"value":34344,"nodeType":864},{},[],"ShinyHunters saw the potential in targeting Snowflake users, based on the availability of credentials, number of customer organizations, and the value of the data that can be accessed in Snowflake. ",{"data":34346,"content":34347,"nodeType":945},{},[34348],{"data":34349,"content":34350,"nodeType":860},{},[34351],{"data":34352,"marks":34353,"value":34354,"nodeType":864},{},[],"ShinyHunters embarked on a large-scale campaign targeting Snowflake customer accounts using previously breached credentials. ",{"data":34356,"content":34357,"nodeType":945},{},[34358],{"data":34359,"content":34360,"nodeType":860},{},[34361],{"data":34362,"marks":34363,"value":34364,"nodeType":864},{},[],"ShinyHunters accessed user accounts that lacked MFA, belonging to approximately 165 Snowflake customers. ",{"data":34366,"content":34367,"nodeType":945},{},[34368],{"data":34369,"content":34370,"nodeType":860},{},[34371],{"data":34372,"marks":34373,"value":34374,"nodeType":864},{},[],"ShinyHunters used SQL-based reconnaissance, staging, and data exfiltration techniques, expedited by custom hacker tooling developed specifically for Snowflake, to conduct attacks at scale.",{"data":34376,"content":34377,"nodeType":945},{},[34378],{"data":34379,"content":34380,"nodeType":860},{},[34381],{"data":34382,"marks":34383,"value":34384,"nodeType":864},{},[],"ShinyHunters acquired massive quantities of Snowflake data based on the information that each customer stored in Snowflake or connected apps. ",{"data":34386,"content":34387,"nodeType":945},{},[34388],{"data":34389,"content":34390,"nodeType":860},{},[34391],{"data":34392,"marks":34393,"value":34394,"nodeType":864},{},[],"ShinyHunters began attempts to extort Snowflake and end-customers using the data acquired.",{"data":34396,"content":34400,"nodeType":996},{"target":34397},{"sys":34398},{"id":34399,"type":1001,"linkType":1002},"2J92gFLs1wAAGC4nQTaiWu",[],{"data":34402,"content":34403,"nodeType":1005},{},[],{"data":34405,"content":34406,"nodeType":1009},{},[34407],{"data":34408,"marks":34409,"value":34411,"nodeType":864},{},[34410],{"type":899},"Why did the Snowflake breaches happen?",{"data":34413,"content":34414,"nodeType":1312},{},[34415],{"data":34416,"marks":34417,"value":34419,"nodeType":864},{},[34418],{"type":899},"Stolen credentials remained valid for years",{"data":34421,"content":34422,"nodeType":860},{},[34423],{"data":34424,"marks":34425,"value":34426,"nodeType":864},{},[],"The credentials used to access Snowflake accounts from historical infostealer infections had not been changed or rotated despite dating back as far as 2020, and remained valid. ",{"data":34428,"content":34429,"nodeType":860},{},[34430],{"data":34431,"marks":34432,"value":34433,"nodeType":864},{},[],"This highlights the potential risk of breached credentials already in the public domain, particularly in the case of cloud services like Snowflake that may not be subject to the same levels of credential hygiene as other traditional enterprise domain accounts. ",{"data":34435,"content":34436,"nodeType":1312},{},[34437],{"data":34438,"marks":34439,"value":34441,"nodeType":864},{},[34440],{"type":899},"Local logins lacked MFA ",{"data":34443,"content":34444,"nodeType":860},{},[34445,34449,34456],{"data":34446,"marks":34447,"value":34448,"nodeType":864},{},[],"Even where organizations were primarily encouraging employees to use SSO to access their Snowflake tenant, previously created local logins with a username and password continue to exist even after introducing SSO-based logins. Further, MFA was not globally enforceable at the application level, meaning that MFA was only set when logging into an IdP account for SSO, but not for local logins. We call this problem ",{"data":34450,"content":34451,"nodeType":883},{"uri":17701},[34452],{"data":34453,"marks":34454,"value":17706,"nodeType":864},{},[34455],{"type":1455},{"data":34457,"marks":34458,"value":12252,"nodeType":864},{},[],{"data":34460,"content":34461,"nodeType":860},{},[34462],{"data":34463,"marks":34464,"value":34465,"nodeType":864},{},[],"This meant that attackers were able to take over Snowflake accounts with only a single authentication factor (username & password). ",{"data":34467,"content":34468,"nodeType":1312},{},[34469],{"data":34470,"marks":34471,"value":34473,"nodeType":864},{},[34472],{"type":899},"Snowflake was a high-value target used by many organizations",{"data":34475,"content":34476,"nodeType":860},{},[34477],{"data":34478,"marks":34479,"value":34480,"nodeType":864},{},[],"As a data warehousing platform used by a vast number of organizations, Snowflake represented a high-value target based on the data typically stored within it, and the repeatable way in which Snowflake users could be targeted. ",{"data":34482,"content":34483,"nodeType":860},{},[34484],{"data":34485,"marks":34486,"value":34487,"nodeType":864},{},[],"The attacker followed a near identical process when targeting Snowflake victims, meaning it could be scripted and executed at scale, with attacks taking a matter of minutes. ",{"data":34489,"content":34490,"nodeType":1312},{},[34491],{"data":34492,"marks":34493,"value":34495,"nodeType":864},{},[34494],{"type":899},"Infostealer infections are driving credential availability",{"data":34497,"content":34498,"nodeType":860},{},[34499],{"data":34500,"marks":34501,"value":34502,"nodeType":864},{},[],"Infostealers are often seen as a low-priority issue, but are the primary source of stolen credentials used in campaigns like this one. ",{"data":34504,"content":34505,"nodeType":860},{},[34506],{"data":34507,"marks":34508,"value":34509,"nodeType":864},{},[],"EDR is a strong protection but is often bypassed by infostealers as attackers continually modify them to bypass security controls. Further, unmanaged devices such as those used by third-party contractors or BYOD employees often lack the robust controls applied to company-managed devices and are naturally more susceptible to infostealer attacks. And since browser profiles can be synced across devices, even personal device compromises can result in the capture of corporate credentials.  ",{"data":34511,"content":34512,"nodeType":860},{},[34513,34517,34526],{"data":34514,"marks":34515,"value":34516,"nodeType":864},{},[],"There is some suggestion that targeting key third-party suppliers – ",{"data":34518,"content":34520,"nodeType":883},{"uri":34519},"https://www.wired.com/story/epam-snowflake-ticketmaster-breach-shinyhunters/",[34521],{"data":34522,"marks":34523,"value":34525,"nodeType":864},{},[34524],{"type":1455},"such as EPAM Systems, a software engineering firm and Snowflake ‘Elite Tier Partner’",{"data":34527,"marks":34528,"value":34529,"nodeType":864},{},[]," – provided some of the access to Snowflake customers needed. It’s unclear what came first, but it’s possible (likely, even) that EPAM was identified as a target specifically because of its lucrative customer base and Snowflake credentials — adding another indicator that Snowflake was potentially a premeditated attack inspired by the availability of Snowflake credentials online.",{"data":34531,"content":34535,"nodeType":996},{"target":34532},{"sys":34533},{"id":34534,"type":1001,"linkType":1002},"4D0gjt5oJLNKJH8GzjP8Je",[],{"data":34537,"content":34538,"nodeType":1005},{},[],{"data":34540,"content":34541,"nodeType":1009},{},[34542],{"data":34543,"marks":34544,"value":34546,"nodeType":864},{},[34545],{"type":899},"Key takeaways from the Snowflake attacks",{"data":34548,"content":34549,"nodeType":1312},{},[34550],{"data":34551,"marks":34552,"value":34554,"nodeType":864},{},[34553],{"type":899},"Securing your IdP accounts is not enough",{"data":34556,"content":34557,"nodeType":860},{},[34558],{"data":34559,"marks":34560,"value":34561,"nodeType":864},{},[],"SSO can help reduce your identity attack surface, but it's not feasible to get every workforce identity behind it.",{"data":34563,"content":34564,"nodeType":941},{},[34565,34588,34609,34644],{"data":34566,"content":34567,"nodeType":945},{},[34568],{"data":34569,"content":34570,"nodeType":860},{},[34571,34575,34584],{"data":34572,"marks":34573,"value":34574,"nodeType":864},{},[],"Only 1 in 3 apps support SAML SSO, and those that offer it often charge more for it; the “",{"data":34576,"content":34578,"nodeType":883},{"uri":34577},"https://ssotax.org/",[34579],{"data":34580,"marks":34581,"value":34583,"nodeType":864},{},[34582],{"type":1455},"SSO tax",{"data":34585,"marks":34586,"value":34587,"nodeType":864},{},[],"”.",{"data":34589,"content":34590,"nodeType":945},{},[34591],{"data":34592,"content":34593,"nodeType":860},{},[34594,34598,34606],{"data":34595,"marks":34596,"value":34597,"nodeType":864},{},[],"Many apps are self-adopted by employees, leaving security teams unaware and unable to enforce SSO.  The typical organization has ",{"data":34599,"content":34600,"nodeType":883},{"uri":15980},[34601],{"data":34602,"marks":34603,"value":34605,"nodeType":864},{},[34604],{"type":1455},"hundreds of apps and thousands of unmanaged identities outside of SSO",{"data":34607,"marks":34608,"value":2924,"nodeType":864},{},[],{"data":34610,"content":34611,"nodeType":945},{},[34612],{"data":34613,"content":34614,"nodeType":860},{},[34615,34619,34627,34631,34640],{"data":34616,"marks":34617,"value":34618,"nodeType":864},{},[],"Most apps do not prevent users from creating additional \"",{"data":34620,"content":34621,"nodeType":883},{"uri":17701},[34622],{"data":34623,"marks":34624,"value":34626,"nodeType":864},{},[34625],{"type":1455},"ghost login",{"data":34628,"marks":34629,"value":34630,"nodeType":864},{},[],"\" methods outside of SSO (especially by default), accounting for around ",{"data":34632,"content":34634,"nodeType":883},{"uri":34633},"https://pushsecurity.com/blog/how-many-vulnerable-identities-do-you-have/#id-identity-configurations-and-how-they-can-be-exploited_id-many-accounts-lack-the-most-basic-protections",[34635],{"data":34636,"marks":34637,"value":34639,"nodeType":864},{},[34638],{"type":1455},"10% of all identities",{"data":34641,"marks":34642,"value":34643,"nodeType":864},{},[]," observed by Push. ",{"data":34645,"content":34646,"nodeType":945},{},[34647],{"data":34648,"content":34649,"nodeType":860},{},[34650,34654,34662],{"data":34651,"marks":34652,"value":34653,"nodeType":864},{},[],"In total, we identified that ",{"data":34655,"content":34656,"nodeType":883},{"uri":15980},[34657],{"data":34658,"marks":34659,"value":34661,"nodeType":864},{},[34660],{"type":1455},"37% (2 in 5) accounts have a password login set with no MFA",{"data":34663,"marks":34664,"value":34665,"nodeType":864},{},[],", while 9% have no MFA AND a weak, breached, or reused password.",{"data":34667,"content":34668,"nodeType":860},{},[34669],{"data":34670,"marks":34671,"value":34672,"nodeType":864},{},[],"So, relying on locked-down IdP accounts and maximising the use of SSO is an important pillar of an effective identity security strategy, but there will always be gaps. Unless you recognize this, you may be blindsided by attackers finding them before you do. ",{"data":34674,"content":34675,"nodeType":1312},{},[34676],{"data":34677,"marks":34678,"value":34680,"nodeType":864},{},[34679],{"type":899},"The threat of infostealers and stolen credentials needs to be taken seriously",{"data":34682,"content":34683,"nodeType":860},{},[34684],{"data":34685,"marks":34686,"value":34687,"nodeType":864},{},[],"Breached credentials appearing online is not always seen as a top priority for security teams, particularly when there’s so much noise from all of the outdated or simply erroneous findings (anyone that’s ever subscribed to a credential TI feed knows the pain of this). ",{"data":34689,"content":34690,"nodeType":860},{},[34691],{"data":34692,"marks":34693,"value":34694,"nodeType":864},{},[],"But Snowflake serves as a stark reminder that despite all the false positives, stolen credentials are sometimes valid — and when weaponized at-scale they can be a powerful tool for attackers. ",{"data":34696,"content":34700,"nodeType":996},{"target":34697},{"sys":34698},{"id":34699,"type":1001,"linkType":1002},"4EODpwKsqNivpvP2yMtZCd",[],{"data":34702,"content":34703,"nodeType":1312},{},[34704],{"data":34705,"marks":34706,"value":34708,"nodeType":864},{},[34707],{"type":899},"Don’t rely on third-parties to protect your identities for you",{"data":34710,"content":34711,"nodeType":860},{},[34712],{"data":34713,"marks":34714,"value":34715,"nodeType":864},{},[],"Snowflake came under fire following the attacks for not enabling MFA by default, or giving security teams sufficient tools to deal with the incident. ",{"data":34717,"content":34718,"nodeType":860},{},[34719],{"data":34720,"marks":34721,"value":34722,"nodeType":864},{},[],"This is perhaps justifiable, but is hardly the exception. Very few apps enforce MFA by default or provide a global MFA enforcement mechanism. Most don’t even provide audit logs (and when they do, the scope of logging is pretty limited). And we regularly encounter apps that don’t give you any information about account configuration as an admin — like which accounts have MFA, or the login methods that they’re using (e.g. SSO via SAML, SSO via OIDC, password, which IdPs are being used…) which is essential information to be able to secure your identity attack surface. ",{"data":34724,"content":34725,"nodeType":860},{},[34726],{"data":34727,"marks":34728,"value":34729,"nodeType":864},{},[],"Yes, it would be great if app vendors put security first and made controls available by default, for all customers (not just the premium ones). But in the absence of an industrywide shift toward security-first product development, it’s important that organizations don’t just point the finger at service providers — and take matters into their own hands when it comes to securing their user identities. ",{"data":34731,"content":34732,"nodeType":1312},{},[34733],{"data":34734,"marks":34735,"value":34737,"nodeType":864},{},[34736],{"type":899},"This isn’t a specific Snowflake problem — it could have been any application",{"data":34739,"content":34740,"nodeType":860},{},[34741],{"data":34742,"marks":34743,"value":34744,"nodeType":864},{},[],"While Snowflake was admittedly a high-value target because of the data it collected, apps with sensitive data (or with integrations connecting them to data collected in adjacent apps) are not in short supply. ",{"data":34746,"content":34747,"nodeType":860},{},[34748],{"data":34749,"marks":34750,"value":34751,"nodeType":864},{},[],"If we accept that many other apps are similarly desirable targets, then we should also consider that it’s unlikely that Snowflake is the only app that has valid credentials sitting around on the internet, waiting to be weaponized by criminals. Equally, it’s not the only app that doesn’t require mandatory MFA for user accounts, as we discussed above. The next Snowflake is likely to lurk in the same breached datasets, possibly even using the same credentials.",{"data":34753,"content":34754,"nodeType":860},{},[34755],{"data":34756,"marks":34757,"value":34758,"nodeType":864},{},[],"There’s been a clear increase in the number of infostealer and stolen credential related breaches and news stories since Snowflake as attackers wise up to the potential opportunity and start seeing the dollar signs. It would be naive to think that this was a one off event — the next Snowflake is probably not too far away. ",{"data":34760,"content":34761,"nodeType":860},{},[34762],{"data":34763,"marks":34764,"value":34765,"nodeType":864},{},[],"For a deep-dive analysis of the impact of Snowflake, check out our on-demand webinar from earlier this year.",{"data":34767,"content":34771,"nodeType":996},{"target":34768},{"sys":34769},{"id":34770,"type":1001,"linkType":1002},"7LkU5DqE9HJ1PQu9BTg6Mw",[],{"data":34773,"content":34774,"nodeType":1005},{},[],{"data":34776,"content":34777,"nodeType":1009},{},[34778],{"data":34779,"marks":34780,"value":34782,"nodeType":864},{},[34781],{"type":899},"How to protect yourself from the next Snowflake using Push",{"data":34784,"content":34785,"nodeType":860},{},[34786],{"data":34787,"marks":34788,"value":34789,"nodeType":864},{},[],"Organizations looking to reduce their exposure to account takeover using stolen credentials should look to:",{"data":34791,"content":34792,"nodeType":941},{},[34793,34803,34813],{"data":34794,"content":34795,"nodeType":945},{},[34796],{"data":34797,"content":34798,"nodeType":860},{},[34799],{"data":34800,"marks":34801,"value":34802,"nodeType":864},{},[],"Identify the apps being used across the business and locate vulnerable workforce identities using weak, breached, or reused credentials, and missing MFA. Where SSO is the preferred login method, local username & password logins should ideally be removed. ",{"data":34804,"content":34805,"nodeType":945},{},[34806],{"data":34807,"content":34808,"nodeType":860},{},[34809],{"data":34810,"marks":34811,"value":34812,"nodeType":864},{},[],"Where credentials appear in third-party data breaches, verify where they are still valid and ensure that the credentials are changed. ",{"data":34814,"content":34815,"nodeType":945},{},[34816],{"data":34817,"content":34818,"nodeType":860},{},[34819],{"data":34820,"marks":34821,"value":34822,"nodeType":864},{},[],"Detect unauthorized access to workforce identities where sessions are initiated or resumed from unusual or unexpected locations. It should be noted that while this is a fairly common feature for larger enterprise cloud platforms with configurable access control policies, this is not typically possible for most SaaS applications.  ",{"data":34824,"content":34825,"nodeType":860},{},[34826],{"data":34827,"marks":34828,"value":34829,"nodeType":864},{},[],"All of these use cases can be achieved using Push. The Push browser extension detects all logins performed in employee browsers, capturing granular information about the login method and MFA types used, and enriching this data by integrating with your preferred IdP.",{"data":34831,"content":34832,"nodeType":860},{},[34833,34836,34844],{"data":34834,"marks":34835,"value":1238,"nodeType":864},{},[],{"data":34837,"content":34839,"nodeType":883},{"uri":34838},"https://pushsecurity.com/blog/verified-stolen-credential-detection",[34840],{"data":34841,"marks":34842,"value":34843,"nodeType":864},{},[],"verified stolen credential detection feature",{"data":34845,"marks":34846,"value":34847,"nodeType":864},{},[]," compares a k-anonymized hash of user passwords observed with stolen credential TI feeds to cut through the noise and identify where stolen credentials appearing online represent a genuine vulnerability.   ",{"data":34849,"content":34850,"nodeType":860},{},[34851,34855,34864],{"data":34852,"marks":34853,"value":34854,"nodeType":864},{},[],"On top of this, all logins made in browsers protected by the Push extension, across every app, are verified by ",{"data":34856,"content":34858,"nodeType":883},{"uri":34857},"https://pushsecurity.com/blog/introducing-session-token-theft-detection-why-browser-is-best/",[34859],{"data":34860,"marks":34861,"value":34863,"nodeType":864},{},[34862],{"type":1455},"adding a unique marker to the user agent string of the session",{"data":34865,"marks":34866,"value":34867,"nodeType":864},{},[],", which will then appear in your IdP logs. This means that any session occurring outside of the Push-protected estate can be flagged to your security team via SIEM alert — including where an attacker uses stolen credentials to log into an app from a browser without the Push extension running. ",{"data":34869,"content":34873,"nodeType":996},{"target":34870},{"sys":34871},{"id":34872,"type":1001,"linkType":1002},"3tqVk7Vr7pYLOEVukIJM2g",[],{"data":34875,"content":34876,"nodeType":860},{},[34877],{"data":34878,"marks":34879,"value":21,"nodeType":864},{},[],"Snowflake: Looking back on 2024’s landmark security event","165 Snowflake customers were targeted by criminals using stolen credentials from infostealer infections, impacting hundreds of millions of people. ","2024-11-29T00:00:00.000Z","snowflake-retro",{"items":34885},[34886],{"sys":34887,"name":6593},{"id":6592},{"items":34889},[34890],{"fullName":2736,"firstName":2737,"jobTitle":2738,"profilePicture":34891},{"url":2740},{"__typename":2059,"sys":34893,"content":34895,"title":35587,"synopsis":35588,"hashTags":59,"publishedDate":35589,"slug":35590,"tagsCollection":35591,"authorsCollection":35597},{"id":34894},"gANCbeL9AnxmbGAE5HhyG",{"json":34896},{"data":34897,"content":34898,"nodeType":856},{},[34899,34915,34921,34927,34933,34936,34944,34951,35044,35050,35057,35064,35067,35075,35083,35090,35143,35151,35168,35197,35204,35212,35219,35225,35244,35260,35266,35273,35299,35306,35313,35346,35353,35360,35380,35383,35391,35398,35405,35412,35420,35440,35446,35454,35473,35491,35497,35505,35512,35530,35537,35543,35546,35554,35561,35568],{"data":34900,"content":34901,"nodeType":860},{},[34902,34906,34911],{"data":34903,"marks":34904,"value":34905,"nodeType":864},{},[],"Since late 2024, attackers have been targeting organizations using Jira, the project management tool, taking over user accounts using compromised credentials. This has resulted in ",{"data":34907,"marks":34908,"value":34910,"nodeType":864},{},[34909],{"type":899},"six public breaches in five months",{"data":34912,"marks":34913,"value":34914,"nodeType":864},{},[]," where criminals made off with sensitive data and documentation, profiting by extorting the victims and selling the data on criminal forums. ",{"data":34916,"content":34920,"nodeType":996},{"target":34917},{"sys":34918},{"id":34919,"type":1001,"linkType":1002},"3QJBi8NiId1CccFmJrp8pu",[],{"data":34922,"content":34923,"nodeType":860},{},[34924],{"data":34925,"marks":34926,"value":21,"nodeType":864},{},[],{"data":34928,"content":34932,"nodeType":996},{"target":34929},{"sys":34930},{"id":34931,"type":1001,"linkType":1002},"79uXXgsAuOK9dKwYQFb0d1",[],{"data":34934,"content":34935,"nodeType":1005},{},[],{"data":34937,"content":34938,"nodeType":1009},{},[34939],{"data":34940,"marks":34941,"value":34943,"nodeType":864},{},[34942],{"type":899},"What happened?",{"data":34945,"content":34946,"nodeType":860},{},[34947],{"data":34948,"marks":34949,"value":34950,"nodeType":864},{},[],"Six attacks where stolen credentials were used to compromise the victim’s Jira tenant have been reported since November 2024, all attributed to operators belonging to the HELLCAT threat group. ",{"data":34952,"content":34953,"nodeType":941},{},[34954,34969,34984,34999,35014,35029],{"data":34955,"content":34956,"nodeType":945},{},[34957],{"data":34958,"content":34959,"nodeType":860},{},[34960,34965],{"data":34961,"marks":34962,"value":34964,"nodeType":864},{},[34963],{"type":899},"Affinitiv (March 2025): ",{"data":34966,"marks":34967,"value":34968,"nodeType":864},{},[],"Attackers stole a database containing over 470k unique emails and 780k records from marketing data analytics provider Affinitiv. ",{"data":34970,"content":34971,"nodeType":945},{},[34972],{"data":34973,"content":34974,"nodeType":860},{},[34975,34980],{"data":34976,"marks":34977,"value":34979,"nodeType":864},{},[34978],{"type":899},"Ascom (March 2025):",{"data":34981,"marks":34982,"value":34983,"nodeType":864},{},[]," Attackers stole 44GB of data including source code for multiple products, details about various projects, invoices, confidential documents, and issues from the ticketing system from global telecommunications provider Ascom.",{"data":34985,"content":34986,"nodeType":945},{},[34987],{"data":34988,"content":34989,"nodeType":860},{},[34990,34995],{"data":34991,"marks":34992,"value":34994,"nodeType":864},{},[34993],{"type":899},"Jaguar Land Rover (March 2025):",{"data":34996,"marks":34997,"value":34998,"nodeType":864},{},[]," Attackers leaked ~700 internal documents totalling several GBs of data, including proprietary documents, source code, and employee and partner data, from vehicle manufacturer Jaguar Land Rover. The breach was linked to credentials stolen by infostealers in 2021. A second threat actor is now alleged to have re-compromized Jaguar using the same credentials and achieved a much bigger breach of ~350GB. ",{"data":35000,"content":35001,"nodeType":945},{},[35002],{"data":35003,"content":35004,"nodeType":860},{},[35005,35010],{"data":35006,"marks":35007,"value":35009,"nodeType":864},{},[35008],{"type":899},"Orange (February 2025):",{"data":35011,"marks":35012,"value":35013,"nodeType":864},{},[]," Attackers stole almost 12,000 files totaling close to 6.5GB, which includes 380k unique email addresses, source code, invoices, contracts, customer and employee information, from telecommunications provider Orange. The attacker allegedly had access to the systems for over a month before exfiltrating company data.",{"data":35015,"content":35016,"nodeType":945},{},[35017],{"data":35018,"content":35019,"nodeType":860},{},[35020,35025],{"data":35021,"marks":35022,"value":35024,"nodeType":864},{},[35023],{"type":899},"Telefonica (January 2025): ",{"data":35026,"marks":35027,"value":35028,"nodeType":864},{},[],"Attackers stole 2.3GB of documents, tickets, and various data from telecommunications provider Telefonica. ",{"data":35030,"content":35031,"nodeType":945},{},[35032],{"data":35033,"content":35034,"nodeType":860},{},[35035,35040],{"data":35036,"marks":35037,"value":35039,"nodeType":864},{},[35038],{"type":899},"Schneider Electric (November 2024): ",{"data":35041,"marks":35042,"value":35043,"nodeType":864},{},[],"Attackers stole 40GB of data including 75k unique email addresses, from manufacturing provider Schneider Electric, demanding a ransom payment of $125k. ",{"data":35045,"content":35049,"nodeType":996},{"target":35046},{"sys":35047},{"id":35048,"type":1001,"linkType":1002},"1Hm5x8QlQnJsUPgFyCkeFO",[],{"data":35051,"content":35052,"nodeType":860},{},[35053],{"data":35054,"marks":35055,"value":35056,"nodeType":864},{},[],"So, hundreds of gigabytes of data and thousands of breached records — all from logging in with a single set of stolen credentials for each victim. There are clear signs that these attacks are ramping up in frequency and impact too, with three of the breaches occurring in March alone. ",{"data":35058,"content":35059,"nodeType":860},{},[35060],{"data":35061,"marks":35062,"value":35063,"nodeType":864},{},[],"These attacks all follow the same pattern, revolving around initial access to Jira accounts using compromised credentials. Once inside, the attacker has been reported to use integrated Atlassian tools like MiniOrange to scrape customer and employee data. After dumping the data, they attempt to extort a ransom payment for the deletion of the data, and when that fails, sell it on criminal marketplaces such as dark web forums and Telegram channels. HELLCAT is also responsible for a Ransomware-as-a-Service (RaaS) offering using a custom ransomware strain. ",{"data":35065,"content":35066,"nodeType":1005},{},[],{"data":35068,"content":35069,"nodeType":1009},{},[35070],{"data":35071,"marks":35072,"value":35074,"nodeType":864},{},[35073],{"type":899},"Why are attackers targeting Jira?",{"data":35076,"content":35077,"nodeType":1312},{},[35078],{"data":35079,"marks":35080,"value":35082,"nodeType":864},{},[35081],{"type":899},"It’s a goldmine for attackers",{"data":35084,"content":35085,"nodeType":860},{},[35086],{"data":35087,"marks":35088,"value":35089,"nodeType":864},{},[],"Apps like Jira are a goldmine for cyber attackers. For organizations using it, Jira is a central technology that underpins core business workflows. It’s used for pretty much all aspects of project management across functions, meaning it:",{"data":35091,"content":35092,"nodeType":941},{},[35093,35103,35113,35123,35133],{"data":35094,"content":35095,"nodeType":945},{},[35096],{"data":35097,"content":35098,"nodeType":860},{},[35099],{"data":35100,"marks":35101,"value":35102,"nodeType":864},{},[],"Stores huge amounts of sensitive data, from strategic business initiatives to sensitive customer data. ",{"data":35104,"content":35105,"nodeType":945},{},[35106],{"data":35107,"content":35108,"nodeType":860},{},[35109],{"data":35110,"marks":35111,"value":35112,"nodeType":864},{},[],"Contains detailed information on IT infrastructure and architecture. It often acts as an issue tracker for vulnerabilities, and frequently contains credentials and secrets accidentally pasted into tickets, enabling lateral movement and further exploitation. ",{"data":35114,"content":35115,"nodeType":945},{},[35116],{"data":35117,"content":35118,"nodeType":860},{},[35119],{"data":35120,"marks":35121,"value":35122,"nodeType":864},{},[],"Has deep integrations with other Cloud and DevOps technologies like GitHub repos (also a frequent target for attackers), Bitbucket, Jenkins, CircleCI, AWS, Azure, etc. ",{"data":35124,"content":35125,"nodeType":945},{},[35126],{"data":35127,"content":35128,"nodeType":860},{},[35129],{"data":35130,"marks":35131,"value":35132,"nodeType":864},{},[],"Can be exploited using native functionality by, for example, creating automated workflows containing malicious scripts or deployments, or inserting malicious links into tickets to phish users in-app. ",{"data":35134,"content":35135,"nodeType":945},{},[35136],{"data":35137,"content":35138,"nodeType":860},{},[35139],{"data":35140,"marks":35141,"value":35142,"nodeType":864},{},[],"Also provides access to the broader Atlassian suite through a compromised Jira account, e.g. Confluence, Bitbucket, Trello, Opsgenie, etc. ",{"data":35144,"content":35145,"nodeType":1312},{},[35146],{"data":35147,"marks":35148,"value":35150,"nodeType":864},{},[35149],{"type":899},"Compromised credentials are waiting to be exploited",{"data":35152,"content":35153,"nodeType":860},{},[35154,35157,35164],{"data":35155,"marks":35156,"value":21,"nodeType":864},{},[],{"data":35158,"content":35159,"nodeType":883},{"uri":8628},[35160],{"data":35161,"marks":35162,"value":35163,"nodeType":864},{},[],"Stolen credentials were the #1 attacker action in 2023/24",{"data":35165,"marks":35166,"value":35167,"nodeType":864},{},[],", and the breach vector for 80% of web app attacks. Not surprising when you consider the fact that billions of leaked credentials are in circulation online, and attackers can pick up the latest drop for as little as $10 on criminal forums. ",{"data":35169,"content":35170,"nodeType":860},{},[35171,35175,35183,35187,35193],{"data":35172,"marks":35173,"value":35174,"nodeType":864},{},[],"The criminal marketplace for stolen credentials is booming, fuelled by an unprecedented rise in infostealer activity as attackers look to replicate the success of ",{"data":35176,"content":35178,"nodeType":883},{"uri":35177},"https://pushsecurity.com/resources/2024-identity-attacks",[35179],{"data":35180,"marks":35181,"value":35182,"nodeType":864},{},[],"high profile breaches in 2024",{"data":35184,"marks":35185,"value":35186,"nodeType":864},{},[]," such as the attacks on ",{"data":35188,"content":35189,"nodeType":883},{"uri":3751},[35190],{"data":35191,"marks":35192,"value":29323,"nodeType":864},{},[],{"data":35194,"marks":35195,"value":35196,"nodeType":864},{},[]," customers — where 165 customer tenants and hundreds of millions of breached records were compromised using credentials dating found in infostealer credential dumps dating as far back as 2020.",{"data":35198,"content":35199,"nodeType":860},{},[35200],{"data":35201,"marks":35202,"value":35203,"nodeType":864},{},[],"Like Snowflake, attackers have clearly noticed that compromised credentials are a reliable way to access Jira accounts. And the more these attacks succeed, the stronger the signal for other attackers to look for insecure identities. ",{"data":35205,"content":35206,"nodeType":1312},{},[35207],{"data":35208,"marks":35209,"value":35211,"nodeType":864},{},[35210],{"type":899},"But wait: This isn’t just a Jira problem",{"data":35213,"content":35214,"nodeType":860},{},[35215],{"data":35216,"marks":35217,"value":35218,"nodeType":864},{},[],"If an organization isn’t relying on Jira, they’re probably using a product with similar functionality such as ServiceNow, Asana, Zendesk, Notion, Oracle, etc. These alternatives are an equally viable target for attackers. ",{"data":35220,"content":35224,"nodeType":996},{"target":35221},{"sys":35222},{"id":35223,"type":1001,"linkType":1002},"4hgYhQiAykupZ6n7Js2zJA",[],{"data":35226,"content":35227,"nodeType":860},{},[35228,35232,35240],{"data":35229,"marks":35230,"value":35231,"nodeType":864},{},[],"Jira and many apps like it, fall into a category where it’s a core business app, but isn’t as well-secured (or can’t be configured as securely) as full enterprise cloud platforms — increasing the likelihood that accounts are using weak, breached, or reused credentials, and have gaps in MFA coverage. Again, there are clear similarities with the attacks on Snowflake customers last year. And more recently, breaches like ",{"data":35233,"content":35235,"nodeType":883},{"uri":35234},"https://www.bleepingcomputer.com/news/security/oracle-denies-data-breach-after-hacker-claims-theft-of-6-million-data-records/",[35236],{"data":35237,"marks":35238,"value":35239,"nodeType":864},{},[],"the theft of 6 million Oracle records",{"data":35241,"marks":35242,"value":35243,"nodeType":864},{},[]," (including  passwords) provide plenty of fuel for attackers looking to take advantage of unsecured accounts. ",{"data":35245,"content":35246,"nodeType":860},{},[35247,35251,35256],{"data":35248,"marks":35249,"value":35250,"nodeType":864},{},[],"Using Push data, we compared the posture of accounts that ",{"data":35252,"marks":35253,"value":35255,"nodeType":864},{},[35254],{"type":899},"use a password to log in",{"data":35257,"marks":35258,"value":35259,"nodeType":864},{},[]," when organizations first begin using our platform.",{"data":35261,"content":35265,"nodeType":996},{"target":35262},{"sys":35263},{"id":35264,"type":1001,"linkType":1002},"4xOUAqait2RG4IH00vh2RM",[],{"data":35267,"content":35268,"nodeType":860},{},[35269],{"data":35270,"marks":35271,"value":35272,"nodeType":864},{},[],"Clearly, this isn’t just a Jira problem — and it won’t be long before attackers take advantage. ",{"data":35274,"content":35275,"nodeType":860},{},[35276,35279,35287,35291,35296],{"data":35277,"marks":35278,"value":21,"nodeType":864},{},[],{"data":35280,"content":35281,"nodeType":883},{"uri":15980},[35282],{"data":35283,"marks":35284,"value":35286,"nodeType":864},{},[35285],{"type":1455},"These stats are in the ballpark of our average findings from across all apps",{"data":35288,"marks":35289,"value":35290,"nodeType":864},{},[]," — with 2 in 5 identities using a password to log in AND missing MFA, rising to 4 in 5 when a password is the sole login method. Considering the fact that organizations are using hundreds of apps (220+ on average), ",{"data":35292,"marks":35293,"value":35295,"nodeType":864},{},[35294],{"type":899},"there are many, many more apps that can be targeted in a similar way to Jira",{"data":35297,"marks":35298,"value":12252,"nodeType":864},{},[],{"data":35300,"content":35301,"nodeType":1009},{},[35302],{"data":35303,"marks":35304,"value":35305,"nodeType":864},{},[],"Preventing account takeover with stolen credentials",{"data":35307,"content":35308,"nodeType":860},{},[35309],{"data":35310,"marks":35311,"value":35312,"nodeType":864},{},[],"To ensure that your workforce identities can’t be compromised using stolen credentials, you need to:",{"data":35314,"content":35315,"nodeType":941},{},[35316,35326,35336],{"data":35317,"content":35318,"nodeType":945},{},[35319],{"data":35320,"content":35321,"nodeType":860},{},[35322],{"data":35323,"marks":35324,"value":35325,"nodeType":864},{},[],"Ensure MFA is configured for all user accounts. ",{"data":35327,"content":35328,"nodeType":945},{},[35329],{"data":35330,"content":35331,"nodeType":860},{},[35332],{"data":35333,"marks":35334,"value":35335,"nodeType":864},{},[],"Ensure employees are not using weak, breached, or stolen passwords. ",{"data":35337,"content":35338,"nodeType":945},{},[35339],{"data":35340,"content":35341,"nodeType":860},{},[35342],{"data":35343,"marks":35344,"value":35345,"nodeType":864},{},[],"Where possible, ensure users are using SSO to log in via your preferred identity provider (IdP).",{"data":35347,"content":35348,"nodeType":860},{},[35349],{"data":35350,"marks":35351,"value":35352,"nodeType":864},{},[],"This is a tricky problem to solve in Jira itself. Jira doesn’t provide the capabilities to enforce these controls — to get access to some of the required functionality, like being able to require MFA for all users within your tenant, enforce SSO logins, or see if a user has MFA enabled, you need Atlassian Access — a separate tier of identity management product for Atlassian. Even then, you can’t do things like centrally administer password resets. ",{"data":35354,"content":35355,"nodeType":860},{},[35356],{"data":35357,"marks":35358,"value":35359,"nodeType":864},{},[],"And as we’ve pointed out — this isn’t just a Jira problem. Very few apps provide this level of identity visibility and control (even at the premium tier) — so what about when the next app hits the headlines? ",{"data":35361,"content":35362,"nodeType":860},{},[35363,35367,35376],{"data":35364,"marks":35365,"value":35366,"nodeType":864},{},[],"You could ingest a compromised credential TI feed to get some visibility of what’s out there, but then you’re relying on asking every user with a breached password to change it (not really reliable or enforceable!). When we ",{"data":35368,"content":35370,"nodeType":883},{"uri":35369},"https://pushsecurity.com/blog/verified-stolen-credential-detection/",[35371],{"data":35372,"marks":35373,"value":35375,"nodeType":864},{},[35374],{"type":1455},"recently reviewed a range of TI feeds against our identity data set",{"data":35377,"marks":35378,"value":35379,"nodeType":864},{},[],", we found that less than 1% of the data was valid — like looking for a needle in a haystack. ",{"data":35381,"content":35382,"nodeType":1005},{},[],{"data":35384,"content":35385,"nodeType":1009},{},[35386],{"data":35387,"marks":35388,"value":35390,"nodeType":864},{},[35389],{"type":899},"Prevent account takeover with Push",{"data":35392,"content":35393,"nodeType":860},{},[35394],{"data":35395,"marks":35396,"value":35397,"nodeType":864},{},[],"Thankfully, there’s a better way. Push provides layered controls to harden your workforce identities against credential attacks, as well as other methods of account takeover like MFA-bypass phishing and session hijacking. Our lightweight, browser-based solution can be deployed in minutes across your entire user base. ",{"data":35399,"content":35400,"nodeType":860},{},[35401],{"data":35402,"marks":35403,"value":35404,"nodeType":864},{},[],"So when a core business app like Jira comes under fire, you can quickly take action to prevent account takeover.  ",{"data":35406,"content":35407,"nodeType":860},{},[35408],{"data":35409,"marks":35410,"value":35411,"nodeType":864},{},[],"Here’s how Push users can protect themselves against the threat of stolen credentials:",{"data":35413,"content":35414,"nodeType":1312},{},[35415],{"data":35416,"marks":35417,"value":35419,"nodeType":864},{},[35418],{"type":899},"Step 1: Deploy MFA across all accounts",{"data":35421,"content":35422,"nodeType":860},{},[35423,35427,35436],{"data":35424,"marks":35425,"value":35426,"nodeType":864},{},[],"Whenever an application comes under heavy scrutiny from attackers, it’s a good idea to deploy MFA across all accounts as a first response action. ",{"data":35428,"content":35430,"nodeType":883},{"uri":35429},"https://pushsecurity.com/blog/enforce-mfa-on-third-party-apps/",[35431],{"data":35432,"marks":35433,"value":35435,"nodeType":864},{},[35434],{"type":1455},"Push enables you to quickly find and close MFA gaps",{"data":35437,"marks":35438,"value":35439,"nodeType":864},{},[]," by prompting the user to configure MFA when they log in to the app. ",{"data":35441,"content":35445,"nodeType":996},{"target":35442},{"sys":35443},{"id":35444,"type":1001,"linkType":1002},"4OVJU6FRSVU9j1WB9NGyJ4",[],{"data":35447,"content":35448,"nodeType":1312},{},[35449],{"data":35450,"marks":35451,"value":35453,"nodeType":864},{},[35452],{"type":899},"Step 2: Detect when accounts are using stolen credentials and trigger a password change",{"data":35455,"content":35456,"nodeType":860},{},[35457,35461,35469],{"data":35458,"marks":35459,"value":35460,"nodeType":864},{},[],"Push integrates with commercial TI feeds to see ",{"data":35462,"content":35463,"nodeType":883},{"uri":35369},[35464],{"data":35465,"marks":35466,"value":35468,"nodeType":864},{},[35467],{"type":1455},"when your employees are actually using a breached password to log in to one of their accounts",{"data":35470,"marks":35471,"value":35472,"nodeType":864},{},[],", eliminating manual triage. You can also bring your own TI feed to maximize its value. ",{"data":35474,"content":35475,"nodeType":860},{},[35476,35480,35488],{"data":35477,"marks":35478,"value":35479,"nodeType":864},{},[],"When a stolen credential (or any other password vulnerability) is found, the next time they log into the app they will be prompted to change it via the ",{"data":35481,"content":35483,"nodeType":883},{"uri":35482},"https://pushsecurity.com/blog/introducing-strong-password-enforcement/",[35484],{"data":35485,"marks":35486,"value":35487,"nodeType":864},{},[],"strong password enforcement feature",{"data":35489,"marks":35490,"value":12252,"nodeType":864},{},[],{"data":35492,"content":35496,"nodeType":996},{"target":35493},{"sys":35494},{"id":35495,"type":1001,"linkType":1002},"shpVOAMlk7OE1mWrE9h8S",[],{"data":35498,"content":35499,"nodeType":1312},{},[35500],{"data":35501,"marks":35502,"value":35504,"nodeType":864},{},[35503],{"type":899},"Step 3: Ensure employees are using SSO (and remediate ghost logins)",{"data":35506,"content":35507,"nodeType":860},{},[35508],{"data":35509,"marks":35510,"value":35511,"nodeType":864},{},[],"Once you’ve secured your accounts against the risk of immediate account takeover, you can harden them further by ensuring that accounts are using your preferred SSO method and IdP. ",{"data":35513,"content":35514,"nodeType":860},{},[35515,35519,35526],{"data":35516,"marks":35517,"value":35518,"nodeType":864},{},[],"[Insight box: It’s not enough to have users adopt SSO, however. Local username and password accounts can continue to exist and be used alongside SSO unless specifically configured (and configurable) within the app. These local accounts are a form of ",{"data":35520,"content":35521,"nodeType":883},{"uri":17701},[35522],{"data":35523,"marks":35524,"value":34626,"nodeType":864},{},[35525],{"type":1455},{"data":35527,"marks":35528,"value":35529,"nodeType":864},{},[],", providing backdoor access to your business apps without needing to breach your locked-down IdP accounts used for SSO. This is why it’s important to have MFA set at the application level if local accounts are used — you can’t just rely on your IdP being securely configured.] ",{"data":35531,"content":35532,"nodeType":860},{},[35533],{"data":35534,"marks":35535,"value":35536,"nodeType":864},{},[],"Once you’ve migrated to SSO, it’s best practice to have your employees remove these local accounts so they don’t lie dormant for attackers to take advantage of in the future. You can set an app banner for all users accessing the app, instructing them to log in using SSO, and to disable their local password once they’ve done so.",{"data":35538,"content":35542,"nodeType":996},{"target":35539},{"sys":35540},{"id":35541,"type":1001,"linkType":1002},"606mt5mVoJGaMmk82mLIFH",[],{"data":35544,"content":35545,"nodeType":1005},{},[],{"data":35547,"content":35548,"nodeType":1009},{},[35549],{"data":35550,"marks":35551,"value":35553,"nodeType":864},{},[35552],{"type":899},"Protect and defend your entire identity attack surface",{"data":35555,"content":35556,"nodeType":860},{},[35557],{"data":35558,"marks":35559,"value":35560,"nodeType":864},{},[],"Push provides comprehensive identity attack detection and response capabilities across every app and workforce identity.    ",{"data":35562,"content":35563,"nodeType":860},{},[35564],{"data":35565,"marks":35566,"value":35567,"nodeType":864},{},[],"We stop attacks like MFA-bypass phishing, credential stuffing, password spraying and session hijacking using stolen session tokens. You can also use Push to find and fix identity vulnerabilities across every app that your employees use like: ghost logins; SSO coverage gaps; MFA gaps; weak, breached and reused passwords; risky OAuth integrations; and more. ",{"data":35569,"content":35570,"nodeType":860},{},[35571,35575,35583],{"data":35572,"marks":35573,"value":35574,"nodeType":864},{},[],"If you want to learn more about how Push helps you to detect and defeat common identity attack techniques, ",{"data":35576,"content":35578,"nodeType":883},{"uri":35577},"https://pushsecurity.com/demo?utm_campaign=9983377-FY25Q1_Bleeping-Computer-Organic-Article&utm_source=bleepingcomputer&utm_medium=sponsored-content&utm_content=organic%20article",[35579],{"data":35580,"marks":35581,"value":35582,"nodeType":864},{},[],"book some time with one of our team",{"data":35584,"marks":35585,"value":35586,"nodeType":864},{},[]," for a live demo. ","6 breaches in 5 months: Why attackers are targeting Jira with stolen credentials","Attackers are persistently targeting Jira accounts with stolen credentials. What can we learn from this trend?","2025-03-25T00:00:00.000Z","why-attackers-are-targeting-jira-with-stolen-credentials",{"items":35592},[35593,35595],{"sys":35594,"name":6593},{"id":6592},{"sys":35596,"name":342},{"id":6596},{"items":35598},[35599],{"fullName":2736,"firstName":2737,"jobTitle":2738,"profilePicture":35600},{"url":2740},"blog/how-cyber-breaches-are-driving-tighter-mfa-requirements-and-enforcement",{"json":35603},{"data":35604,"content":35605,"nodeType":856},{},[35606],{"data":35607,"content":35608,"nodeType":860},{},[35609],{"data":35610,"marks":35611,"value":35612,"nodeType":864},{},[],"MFA regulators, insurers, and policy-makers are getting tighter on their MFA requirements, fuelled by public cyber breaches. Here's what security teams need to know about the current regulatory and insurance landscape — and how the evolution of attacks is likely to influence the future of requirements.",{"id":30274,"publishedAt":35614},"2026-08-12T11:53:46.155Z",{"items":35616},[35617,35619],{"sys":35618,"name":6593},{"id":6592},{"sys":35620,"name":297},{"id":2732},{"items":35622},[35623,35625,35627,35629,35631,35633,35635,35637,35639,35641,35643],{"sys":35624,"name":413,"slug":414,"tier":31},{"id":410},{"sys":35626,"name":297,"slug":298,"tier":31},{"id":294},{"sys":35628,"name":545,"slug":546,"tier":31},{"id":542},{"sys":35630,"name":457,"slug":458,"tier":45},{"id":454},{"sys":35632,"name":528,"slug":529,"tier":45},{"id":525},{"sys":35634,"name":395,"slug":396,"tier":45},{"id":392},{"sys":35636,"name":589,"slug":590,"tier":45},{"id":586},{"sys":35638,"name":502,"slug":503,"tier":45},{"id":499},{"sys":35640,"name":333,"slug":334,"tier":45},{"id":330},{"sys":35642,"name":422,"slug":423,"tier":45},{"id":419},{"sys":35644,"name":537,"slug":538,"tier":45},{"id":534},"B6n0w2pD37D7Jhr1su0--8jAwHDJk6pJxvVZEzlg4XA",{"id":35647,"title":35648,"authorsCollection":35649,"content":35654,"extension":228,"faqItemsCollection":36475,"faqTitle":59,"featured":6,"hashTags":59,"meta":36477,"metaTitle":36478,"ogImage":59,"postType":9326,"publishedDate":36479,"relatedBlogPostsCollection":36480,"slug":38413,"stem":38414,"subtitle":59,"summary":38415,"synopsis":38425,"sys":38426,"tagsCollection":38429,"topicsCollection":38435,"__hash__":38487},"blog/blog/how-the-browser-became-the-main-cyber-battleground.json","How the browser became the main cyber battleground",{"items":35650},[35651],{"fullName":2736,"firstName":2737,"jobTitle":2738,"socialLinks":35652,"profilePicture":35653},[11304],{"url":2740},{"json":35655,"links":36429},{"data":35656,"content":35657,"nodeType":856},{},[35658,35665,35698,35705,35710,35717,35749,35756,35762,35765,35773,35780,35787,35844,35862,35874,35881,35887,35890,35898,35914,35920,35927,35933,35940,35978,35984,35987,35995,36002,36009,36132,36137,36167,36174,36177,36185,36192,36199,36241,36269,36276,36352,36358,36361,36368,36375,36395,36398,36406,36413],{"data":35659,"content":35660,"nodeType":860},{},[35661],{"data":35662,"marks":35663,"value":35664,"nodeType":864},{},[],"Until recently, the cyber attacker methodology behind the biggest breaches of the last decade or so has been pretty consistent:",{"data":35666,"content":35667,"nodeType":941},{},[35668,35678,35688],{"data":35669,"content":35670,"nodeType":945},{},[35671],{"data":35672,"content":35673,"nodeType":860},{},[35674],{"data":35675,"marks":35676,"value":35677,"nodeType":864},{},[],"Compromise an endpoint via software exploit, or social engineering a user to run malware on their device; ",{"data":35679,"content":35680,"nodeType":945},{},[35681],{"data":35682,"content":35683,"nodeType":860},{},[35684],{"data":35685,"marks":35686,"value":35687,"nodeType":864},{},[],"Find ways to move laterally inside the network and compromise privileged identities;",{"data":35689,"content":35690,"nodeType":945},{},[35691],{"data":35692,"content":35693,"nodeType":860},{},[35694],{"data":35695,"marks":35696,"value":35697,"nodeType":864},{},[],"Repeat as needed until you can execute your desired attack — usually stealing data from file shares, deploying ransomware, or both. ",{"data":35699,"content":35700,"nodeType":860},{},[35701],{"data":35702,"marks":35703,"value":35704,"nodeType":864},{},[],"But attacks have fundamentally changed as networks have evolved. With the SaaS-ification of enterprise IT, core business systems aren’t locally deployed and centrally managed in the way they used to be. Instead, they’re logged into over the internet, via a web browser.",{"data":35706,"content":35709,"nodeType":996},{"target":35707},{"sys":35708},{"id":30570,"type":1001,"linkType":1002},[],{"data":35711,"content":35712,"nodeType":860},{},[35713],{"data":35714,"marks":35715,"value":35716,"nodeType":864},{},[],"Under the shared responsibility model, the part that’s left to the business consuming a SaaS service is mostly constrained to how they manage identities — the vehicle by which the app is accessed and used by the workforce. It’s no surprise that this has become the soft underbelly in the crosshairs of attackers. ",{"data":35718,"content":35719,"nodeType":860},{},[35720,35724,35732,35736,35745],{"data":35721,"marks":35722,"value":35723,"nodeType":864},{},[],"We’ve seen this time and again in the biggest breaches of recent years, with the highlights including the massive ",{"data":35725,"content":35726,"nodeType":883},{"uri":3751},[35727],{"data":35728,"marks":35729,"value":35731,"nodeType":864},{},[35730],{"type":1455},"Snowflake campaign in 2024",{"data":35733,"marks":35734,"value":35735,"nodeType":864},{},[]," and the ",{"data":35737,"content":35739,"nodeType":883},{"uri":35738},"https://pushsecurity.com/blog/key-takeaways-from-the-scattered-spider-attacks-on-insurance-firms/",[35740],{"data":35741,"marks":35742,"value":35744,"nodeType":864},{},[35743],{"type":1455},"2025 crime wave attributed to Scattered Spider",{"data":35746,"marks":35747,"value":35748,"nodeType":864},{},[],".   ",{"data":35750,"content":35751,"nodeType":860},{},[35752],{"data":35753,"marks":35754,"value":35755,"nodeType":864},{},[],"These attacks are so successful because while attackers have moved with the changes to enterprise IT, security hasn’t really kept up. ",{"data":35757,"content":35761,"nodeType":996},{"target":35758},{"sys":35759},{"id":35760,"type":1001,"linkType":1002},"xH0ZqgKQXCRRZGYVs6xt6",[],{"data":35763,"content":35764,"nodeType":1005},{},[],{"data":35766,"content":35767,"nodeType":1009},{},[35768],{"data":35769,"marks":35770,"value":35772,"nodeType":864},{},[35771],{"type":899},"The browser is the new battleground — and a security blind spot",{"data":35774,"content":35775,"nodeType":860},{},[35776],{"data":35777,"marks":35778,"value":35779,"nodeType":864},{},[],"Taking over workforce identities is the first objective for attackers looking to target an organization, and the browser is the place where the attacks against users happen. This is because it’s where these digital identities are created and used — and their credentials and sessions live. This is what the attacker wants to get their hands on. ",{"data":35781,"content":35782,"nodeType":860},{},[35783],{"data":35784,"marks":35785,"value":35786,"nodeType":864},{},[],"Stolen credentials can be used as part of targeted attacks or in broader credential stuffing (cycling known username and credential pairs against various apps and platforms), while stolen session tokens can be used to log in directly to an active session, bypassing the authentication process. ",{"data":35788,"content":35789,"nodeType":860},{},[35790,35794,35799,35802,35807,35810,35815,35818,35823,35826,35831,35835,35840],{"data":35791,"marks":35792,"value":35793,"nodeType":864},{},[],"There are a few different techniques that attackers can use to get access to these identities. Attackers harvest stolen credentials from various places — ",{"data":35795,"marks":35796,"value":35798,"nodeType":864},{},[35797],{"type":899},"data breach dumps",{"data":35800,"marks":35801,"value":3731,"nodeType":864},{},[],{"data":35803,"marks":35804,"value":35806,"nodeType":864},{},[35805],{"type":899},"mass",{"data":35808,"marks":35809,"value":1171,"nodeType":864},{},[],{"data":35811,"marks":35812,"value":35814,"nodeType":864},{},[35813],{"type":899},"credential",{"data":35816,"marks":35817,"value":1171,"nodeType":864},{},[],{"data":35819,"marks":35820,"value":35822,"nodeType":864},{},[35821],{"type":899},"phishing campaigns,",{"data":35824,"marks":35825,"value":1171,"nodeType":864},{},[],{"data":35827,"marks":35828,"value":35830,"nodeType":864},{},[35829],{"type":899},"infostealer logs",{"data":35832,"marks":35833,"value":35834,"nodeType":864},{},[],", even ",{"data":35836,"marks":35837,"value":35839,"nodeType":864},{},[35838],{"type":899},"malicious browser extensions",{"data":35841,"marks":35842,"value":35843,"nodeType":864},{},[]," that they’ve tricked an employee into installing. In fact, the cyber crime ecosystem itself has shifted on its axis to cater to this, with hackers specifically taking on the role of harvesting credentials and establishing account access for others to exploit. ",{"data":35845,"content":35846,"nodeType":860},{},[35847,35851,35858],{"data":35848,"marks":35849,"value":35850,"nodeType":864},{},[],"The high-profile ",{"data":35852,"content":35853,"nodeType":883},{"uri":3751},[35854],{"data":35855,"marks":35856,"value":29323,"nodeType":864},{},[35857],{"type":1455},{"data":35859,"marks":35860,"value":35861,"nodeType":864},{},[]," breaches in 2024 signalled a watershed moment in the shift to identity-driven breaches, where attackers logged into accounts across hundreds of customer tenants using stolen credentials. One of the primary sources of the stolen credentials used in the attacks were infostealer logs dating back to 2020 — breached passwords that hadn’t been rotated or mitigated with MFA. ",{"data":35863,"content":35864,"nodeType":860},{},[35865,35869],{"data":35866,"marks":35867,"value":35868,"nodeType":864},{},[],"Infostealers are notable because they’re an endpoint malware attack designed to harvest credentials and session tokens (often from the browser) to enable the attacker to then log into those services… through their own web browser. ",{"data":35870,"marks":35871,"value":35873,"nodeType":864},{},[35872],{"type":899},"So, even today’s endpoint attacks are seeing the attacker pivot back into the browser in order to get to identities — the key to the online apps and services where exploitable data and functionality now resides. ",{"data":35875,"content":35876,"nodeType":860},{},[35877],{"data":35878,"marks":35879,"value":35880,"nodeType":864},{},[],"The problem here is that this is a blind spot for the security tools we’re currently reliant upon — which don’t have the fine-grained visibility required. This is very similar to the challenge that the industry faced prior to the introduction of EDR in the 2010s — the main sources of data are looking from the outside-in, lacking the process-level visibility and context to be able to detect and stop attacks as they happen.",{"data":35882,"content":35886,"nodeType":996},{"target":35883},{"sys":35884},{"id":35885,"type":1001,"linkType":1002},"2qoMH6qCNJc7it7sTuKl4F",[],{"data":35888,"content":35889,"nodeType":1005},{},[],{"data":35891,"content":35892,"nodeType":1009},{},[35893],{"data":35894,"marks":35895,"value":35897,"nodeType":864},{},[35896],{"type":899},"Identity is the prize, browser is the platform — and phishing is the weapon of choice",{"data":35899,"content":35900,"nodeType":860},{},[35901,35905,35910],{"data":35902,"marks":35903,"value":35904,"nodeType":864},{},[],"But the technique that’s STILL driving the most impactful identity-driven breaches? ",{"data":35906,"marks":35907,"value":35909,"nodeType":864},{},[35908],{"type":899},"It’s phishing",{"data":35911,"marks":35912,"value":35913,"nodeType":864},{},[],". Phishing for credentials, sessions, OAuth consent, authorization codes. Phishing via email, instant messenger, social media, malicious Google ads… it all happens in, or leads to, the browser. ",{"data":35915,"content":35919,"nodeType":996},{"target":35916},{"sys":35917},{"id":35918,"type":1001,"linkType":1002},"6Gsd3G0sOibNxgVLimb2wV",[],{"data":35921,"content":35922,"nodeType":860},{},[35923],{"data":35924,"marks":35925,"value":35926,"nodeType":864},{},[],"And modern phishing attacks are more effective than ever. Today, phishing operates on an industrial scale, using an array of obfuscation and detection evasion techniques to block email and network security tools from intercepting them. Probably the most common example today is the use of bot protection (think CAPTCHA or Cloudflare Turnstile), using legitimate anti-spam features to block security tools. ",{"data":35928,"content":35932,"nodeType":996},{"target":35929},{"sys":35930},{"id":35931,"type":1001,"linkType":1002},"6M1My4lSKItu6Qdv4hO1RA",[],{"data":35934,"content":35935,"nodeType":860},{},[35936],{"data":35937,"marks":35938,"value":35939,"nodeType":864},{},[],"The latest generation of fully customized AitM phishing kits are dynamically obfuscating the code that loads the web page, implementing custom CAPTCHA, and using runtime anti-analysis features, making them increasingly difficult to detect. The ways in which links are delivered has also increased in sophistication, with more delivery channels (as we showed above) and the use of legitimate SaaS services for camouflage. ",{"data":35941,"content":35942,"nodeType":860},{},[35943,35947,35952,35956,35961,35965,35974],{"data":35944,"marks":35945,"value":35946,"nodeType":864},{},[],"And the latest trends indicate that attackers are responding to increasingly hardened IdP/SSO configuration by exploiting alternative phishing techniques that ",{"data":35948,"marks":35949,"value":35951,"nodeType":864},{},[35950],{"type":899},"circumvent MFA and passkeys",{"data":35953,"marks":35954,"value":35955,"nodeType":864},{},[],", most commonly by ",{"data":35957,"marks":35958,"value":35960,"nodeType":864},{},[35959],{"type":899},"downgrading to a phishable backup authentication method",{"data":35962,"marks":35963,"value":35964,"nodeType":864},{},[]," — which you can see in action below, and ",{"data":35966,"content":35968,"nodeType":883},{"uri":35967},"https://pushsecurity.com/blog/mfa-downgrade-attacks/",[35969],{"data":35970,"marks":35971,"value":35973,"nodeType":864},{},[35972],{"type":1455},"read more about here",{"data":35975,"marks":35976,"value":35977,"nodeType":864},{},[],".  ",{"data":35979,"content":35983,"nodeType":996},{"target":35980},{"sys":35981},{"id":35982,"type":1001,"linkType":1002},"54I3YQ2gK26a8FIocQ3WYT",[],{"data":35985,"content":35986,"nodeType":1005},{},[],{"data":35988,"content":35989,"nodeType":1009},{},[35990],{"data":35991,"marks":35992,"value":35994,"nodeType":864},{},[35993],{"type":899},"Identities are the lowest-hanging fruit for attackers to aim for",{"data":35996,"content":35997,"nodeType":860},{},[35998],{"data":35999,"marks":36000,"value":36001,"nodeType":864},{},[],"The goal of the modern attacker, and the easiest way into your business’s digital environment, is to compromise identities. Whether you’re dealing with phishing attacks, malicious browser extensions, or infostealer malware, the objective remains the same — account takeover. ",{"data":36003,"content":36004,"nodeType":860},{},[36005],{"data":36006,"marks":36007,"value":36008,"nodeType":864},{},[],"Organizations are dealing with a vast and vulnerable attack surface consisting of:",{"data":36010,"content":36011,"nodeType":941},{},[36012,36033,36054,36074],{"data":36013,"content":36014,"nodeType":945},{},[36015],{"data":36016,"content":36017,"nodeType":860},{},[36018,36021,36029],{"data":36019,"marks":36020,"value":21,"nodeType":864},{},[],{"data":36022,"content":36023,"nodeType":883},{"uri":15980},[36024],{"data":36025,"marks":36026,"value":36028,"nodeType":864},{},[36027],{"type":1455},"Hundreds of applications, with thousands of accounts",{"data":36030,"marks":36031,"value":36032,"nodeType":864},{},[]," spread across the app estate.",{"data":36034,"content":36035,"nodeType":945},{},[36036],{"data":36037,"content":36038,"nodeType":860},{},[36039,36043,36051],{"data":36040,"marks":36041,"value":36042,"nodeType":864},{},[],"Accounts vulnerable to MFA-bypass phishing kits, because they are using a login method that is not phishing-resistant, or because ",{"data":36044,"content":36045,"nodeType":883},{"uri":35967},[36046],{"data":36047,"marks":36048,"value":36050,"nodeType":864},{},[36049],{"type":1455},"the login method can be downgraded",{"data":36052,"marks":36053,"value":2924,"nodeType":864},{},[],{"data":36055,"content":36056,"nodeType":945},{},[36057],{"data":36058,"content":36059,"nodeType":860},{},[36060,36064,36071],{"data":36061,"marks":36062,"value":36063,"nodeType":864},{},[],"Accounts with a weak, reused, or breached password and no MFA altogether (usually the result of a forgotten-about ",{"data":36065,"content":36066,"nodeType":883},{"uri":26784},[36067],{"data":36068,"marks":36069,"value":34626,"nodeType":864},{},[36070],{"type":1455},{"data":36072,"marks":36073,"value":22438,"nodeType":864},{},[],{"data":36075,"content":36076,"nodeType":945},{},[36077],{"data":36078,"content":36079,"nodeType":860},{},[36080,36084,36093,36096,36105,36109,36116,36119,36128],{"data":36081,"marks":36082,"value":36083,"nodeType":864},{},[],"Bypassing the authentication process entirely to evade otherwise phishing-resistant authentication methods, by abusing features like ",{"data":36085,"content":36087,"nodeType":883},{"uri":36086},"https://github.com/pushsecurity/saas-attacks/blob/main/techniques/api_keys/description.md",[36088],{"data":36089,"marks":36090,"value":36092,"nodeType":864},{},[36091],{"type":1455},"API key creation",{"data":36094,"marks":36095,"value":3731,"nodeType":864},{},[],{"data":36097,"content":36099,"nodeType":883},{"uri":36098},"https://github.com/pushsecurity/saas-attacks/blob/main/techniques/app_specific_password_phishing/description.md",[36100],{"data":36101,"marks":36102,"value":36104,"nodeType":864},{},[36103],{"type":1455},"app-specific passwords",{"data":36106,"marks":36107,"value":36108,"nodeType":864},{},[],", OAuth ",{"data":36110,"content":36111,"nodeType":883},{"uri":32223},[36112],{"data":36113,"marks":36114,"value":32228,"nodeType":864},{},[36115],{"type":1455},{"data":36117,"marks":36118,"value":3731,"nodeType":864},{},[],{"data":36120,"content":36122,"nodeType":883},{"uri":36121},"https://github.com/pushsecurity/saas-attacks/blob/main/techniques/cross-idp_impersonation/description.md",[36123],{"data":36124,"marks":36125,"value":36127,"nodeType":864},{},[36126],{"type":1455},"cross-IdP impersonation",{"data":36129,"marks":36130,"value":36131,"nodeType":864},{},[],", and more.  ",{"data":36133,"content":36136,"nodeType":996},{"target":36134},{"sys":36135},{"id":30621,"type":1001,"linkType":1002},[],{"data":36138,"content":36139,"nodeType":860},{},[36140,36144,36152,36156,36163],{"data":36141,"marks":36142,"value":36143,"nodeType":864},{},[],"A key driver of identity vulnerability is the ",{"data":36145,"content":36146,"nodeType":883},{"uri":29178},[36147],{"data":36148,"marks":36149,"value":36151,"nodeType":864},{},[36150],{"type":1455},"huge variance in the configurability of accounts per application",{"data":36153,"marks":36154,"value":36155,"nodeType":864},{},[],", with different levels of centralized visibility and security control of identities provided — for example, while one app can be locked down to only accept SSO logins via SAML and automatically remove any unused passwords, another provides no control or visibility of login method or MFA status (another big driver of the ",{"data":36157,"content":36158,"nodeType":883},{"uri":3751},[36159],{"data":36160,"marks":36161,"value":29323,"nodeType":864},{},[36162],{"type":1455},{"data":36164,"marks":36165,"value":36166,"nodeType":864},{},[]," breaches last year). Unfortunately, as a by-product of product-led growth and something that is compounded by every new SaaS startup that hits the market, this situation doesn’t look like it’s going to change anytime soon. ",{"data":36168,"content":36169,"nodeType":860},{},[36170],{"data":36171,"marks":36172,"value":36173,"nodeType":864},{},[],"The end result is that identities are misconfigured, invisible to the security team, and routinely exploited by commodity attacker tooling. It’s no surprise that they’re the primary target for attackers today. ",{"data":36175,"content":36176,"nodeType":1005},{},[],{"data":36178,"content":36179,"nodeType":1009},{},[36180],{"data":36181,"marks":36182,"value":36184,"nodeType":864},{},[36183],{"type":899},"The solution: The browser as a telemetry source and control point",{"data":36186,"content":36187,"nodeType":860},{},[36188],{"data":36189,"marks":36190,"value":36191,"nodeType":864},{},[],"Because identity attacks play out in the browser, it’s the perfect place for security teams to observe, intercept, and shut down these attacks. ",{"data":36193,"content":36194,"nodeType":860},{},[36195],{"data":36196,"marks":36197,"value":36198,"nodeType":864},{},[],"The browser has a number of advantages over the different places where identity can be observed and protected, because:",{"data":36200,"content":36201,"nodeType":941},{},[36202,36212,36222],{"data":36203,"content":36204,"nodeType":945},{},[36205],{"data":36206,"content":36207,"nodeType":860},{},[36208],{"data":36209,"marks":36210,"value":36211,"nodeType":864},{},[],"You aren’t limited to the apps and identities directly connected to your IdP (a fraction of your workforce identity sprawl). ",{"data":36213,"content":36214,"nodeType":945},{},[36215],{"data":36216,"content":36217,"nodeType":860},{},[36218],{"data":36219,"marks":36220,"value":36221,"nodeType":864},{},[],"You aren’t limited to the apps that you know about and manage centrally — you can observe every login that passes through the browser.",{"data":36223,"content":36224,"nodeType":945},{},[36225],{"data":36226,"content":36227,"nodeType":860},{},[36228,36232,36237],{"data":36229,"marks":36230,"value":36231,"nodeType":864},{},[],"You can observe all the properties of a login, including the login method, MFA method, etc. You’d otherwise need API access to ",{"data":36233,"marks":36234,"value":36236,"nodeType":864},{},[36235],{"type":2246},"maybe",{"data":36238,"marks":36239,"value":36240,"nodeType":864},{},[]," get this information (depending on whether an API is provided and whether this specific data can be interrogated, also not standard for many apps). ",{"data":36242,"content":36243,"nodeType":860},{},[36244,36248,36253,36257,36265],{"data":36245,"marks":36246,"value":36247,"nodeType":864},{},[],"It’s obvious with all that we’ve covered so far that fixing every identity vulnerability is an ominous task — the SaaS ecosystem itself is working against you. ",{"data":36249,"marks":36250,"value":36252,"nodeType":864},{},[36251],{"type":899},"This is why detecting and responding to identity attacks is essential. ",{"data":36254,"marks":36255,"value":36256,"nodeType":864},{},[],"Because identity compromise almost always involves phishing or social engineering a user to perform an action in their browser (with some exceptions — like the ",{"data":36258,"content":36259,"nodeType":883},{"uri":26983},[36260],{"data":36261,"marks":36262,"value":36264,"nodeType":864},{},[36263],{"type":1455},"Scattered Spider-related help desk attacks",{"data":36266,"marks":36267,"value":36268,"nodeType":864},{},[]," seen recently), it’s also the perfect place to monitor for and intercept attacks. ",{"data":36270,"content":36271,"nodeType":860},{},[36272],{"data":36273,"marks":36274,"value":36275,"nodeType":864},{},[],"In the browser, you gather deep, contextualized information about page behavior and user inputs that can be used to detect and shut down risky scenarios in real time. Take the example of phishing pages. Because Push operates in the browser, it sees everything:",{"data":36277,"content":36278,"nodeType":941},{},[36279,36289,36299,36309,36332,36342],{"data":36280,"content":36281,"nodeType":945},{},[36282],{"data":36283,"content":36284,"nodeType":860},{},[36285],{"data":36286,"marks":36287,"value":36288,"nodeType":864},{},[],"The page layout.",{"data":36290,"content":36291,"nodeType":945},{},[36292],{"data":36293,"content":36294,"nodeType":860},{},[36295],{"data":36296,"marks":36297,"value":36298,"nodeType":864},{},[],"Where the user came from (through the whole redirect chain).",{"data":36300,"content":36301,"nodeType":945},{},[36302],{"data":36303,"content":36304,"nodeType":860},{},[36305],{"data":36306,"marks":36307,"value":36308,"nodeType":864},{},[],"Page interaction events — e.g. tabs opened and closed, popup windows, forms submitted, etc.",{"data":36310,"content":36311,"nodeType":945},{},[36312],{"data":36313,"content":36314,"nodeType":860},{},[36315,36319,36328],{"data":36316,"marks":36317,"value":36318,"nodeType":864},{},[],"The password they enter ",{"data":36320,"content":36322,"nodeType":883},{"uri":36321},"https://pushsecurity.com/help/10043/#how-push-securely-analyzes-passwords",[36323],{"data":36324,"marks":36325,"value":36327,"nodeType":864},{},[36326],{"type":1455},"(as a salted, abbreviated hash)",{"data":36329,"marks":36330,"value":36331,"nodeType":864},{},[],", and whether a password was typed or copied, and where from.",{"data":36333,"content":36334,"nodeType":945},{},[36335],{"data":36336,"content":36337,"nodeType":860},{},[36338],{"data":36339,"marks":36340,"value":36341,"nodeType":864},{},[],"What scripts are running on the page and whether they are potentially malicious.",{"data":36343,"content":36344,"nodeType":945},{},[36345],{"data":36346,"content":36347,"nodeType":860},{},[36348],{"data":36349,"marks":36350,"value":36351,"nodeType":864},{},[],"Where credentials are being sent.",{"data":36353,"content":36357,"nodeType":996},{"target":36354},{"sys":36355},{"id":36356,"type":1001,"linkType":1002},"6kQejVS63FQ6Oy8nIm6UlV",[],{"data":36359,"content":36360,"nodeType":1005},{},[],{"data":36362,"content":36363,"nodeType":1009},{},[36364],{"data":36365,"marks":36366,"value":32492,"nodeType":864},{},[36367],{"type":899},{"data":36369,"content":36370,"nodeType":860},{},[36371],{"data":36372,"marks":36373,"value":36374,"nodeType":864},{},[],"Identity attacks are the biggest unsolved problem facing security teams today and the leading cause of security breaches. At the same time, the browser presents security teams with all the tools they need to prevent, detect, and respond to identity-based attacks — proactively by finding and fixing identity vulnerabilities, and reactively by detecting and blocking attacks against users in real time. ",{"data":36376,"content":36377,"nodeType":860},{},[36378,36382,36391],{"data":36379,"marks":36380,"value":36381,"nodeType":864},{},[],"Organizations need to move past the old ways of doing identity security — relying on MFA attestations, identity management dashboards, and ",{"data":36383,"content":36385,"nodeType":883},{"uri":36384},"https://pushsecurity.com/blog/three-reasons-why-browser-is-best-for-stopping-phishing-attacks/",[36386],{"data":36387,"marks":36388,"value":36390,"nodeType":864},{},[36389],{"type":1455},"legacy email and network anti-phishing tools",{"data":36392,"marks":36393,"value":36394,"nodeType":864},{},[],". And there’s no better place to stop these attacks than in the browser. ",{"data":36396,"content":36397,"nodeType":1005},{},[],{"data":36399,"content":36400,"nodeType":1009},{},[36401],{"data":36402,"marks":36403,"value":36405,"nodeType":864},{},[36404],{"type":899},"Find out more",{"data":36407,"content":36408,"nodeType":860},{},[36409],{"data":36410,"marks":36411,"value":36412,"nodeType":864},{},[],"Push Security’s browser-based security platform provides comprehensive detection and response capabilities against the leading cause of breaches. Push blocks identity attacks like AiTM phishing, credential stuffing, password spraying and session hijacking using stolen session tokens. You can also use Push to find and fix identity vulnerabilities across the apps that your employees use, like ghost logins, SSO coverage gaps, MFA gaps, vulnerable passwords, risky OAuth integrations, and more.",{"data":36414,"content":36415,"nodeType":860},{},[36416,36419,36426],{"data":36417,"marks":36418,"value":32512,"nodeType":864},{},[],{"data":36420,"content":36421,"nodeType":883},{"uri":1700},[36422],{"data":36423,"marks":36424,"value":12967,"nodeType":864},{},[36425],{"type":1455},{"data":36427,"marks":36428,"value":2924,"nodeType":864},{},[],{"entries":36430},{"hyperlink":36431,"inline":36432,"block":36433},[],[],[36434,36437,36441,36447,36453,36461,36465,36468],{"sys":36435,"__typename":1724,"title":33491,"caption":33491,"layoutMode":59,"file":36436},{"id":30570},{"url":33493,"width":33494,"height":33495},{"sys":36438,"__typename":1717,"type":1718,"ctaText":36439,"buttonLabel":31347,"buttonColour":33488,"buttonUrl":36440},{"id":35760},"Read how the transformation of business IT has shaped the evolution of phishing attacks in our latest whitepaper.","https://pushsecurity.com/resources/phishing-evolution",{"sys":36442,"__typename":1724,"title":36443,"caption":36443,"layoutMode":59,"file":36444},{"id":35885},"EDR solved endpoint attacks by getting deep visibility into OS-level processes and activity — we now face a similar visibility problem in the browser. ",{"url":36445,"width":1736,"height":36446},"https://images.ctfassets.net/y1cdw1ablpvd/2KuUuYKf2Q9TlIJ9fkOI82/9a52cae72564e69d3cfe8b3b613eb950/image5.png",632,{"sys":36448,"__typename":1724,"title":36449,"caption":36449,"layoutMode":59,"file":36450},{"id":35918},"Phishing is now multi- and cross-channel, targeting a vast range of cloud and SaaS apps using flexible AitM toolkits — but all roads inevitably lead to the browser.",{"url":36451,"width":1736,"height":36452},"https://images.ctfassets.net/y1cdw1ablpvd/4p8sf1x8PfWF06ndwTsdf9/136ed45c7912459a70dbb53b62cf5a90/image6.png",1003,{"sys":36454,"__typename":1724,"title":36455,"caption":36456,"layoutMode":59,"file":36457},{"id":35931},"Cloudflare Turnstile is a simple way for attackers to block automated analysis of their phishing kits — it should probably come with a trigger warning for incident responders.","Cloudflare Turnstile is a simple way for security teams to prevent automated analysis — it should probably come with a trigger warning for incident responders.",{"url":36458,"width":36459,"height":36460},"https://images.ctfassets.net/y1cdw1ablpvd/6gGDHL1jECCm4j02gZZlYe/92e4362eea9fb712aeb64bdd7fb19d59/image3.png",1262,464,{"sys":36462,"__typename":9318,"title":36463,"arcadeDemoUrl":36464,"playText":9321},{"id":35982},"MFA Downgrade Demo","https://demo.arcade.software/1MzRfFaRCD2pYPhIXkvi?embed",{"sys":36466,"__typename":1724,"title":33498,"caption":33499,"layoutMode":59,"file":36467},{"id":30621},{"url":33501,"width":33502,"height":33503},{"sys":36469,"__typename":1724,"title":36470,"caption":36470,"layoutMode":59,"file":36471},{"id":36356},"Being in the browser gives you unrivalled visibility of phishing page activity and user behavior.",{"url":36472,"width":36473,"height":36474},"https://images.ctfassets.net/y1cdw1ablpvd/42mmDkjfXn0uOkTyvFLNqG/0385dadcb0731bea1de1ca5ae6ee7c18/image1.png",1560,766,{"items":36476},[],{},"Why the browser is now the main cyber attack surface","2025-08-15T00:00:00.000Z",{"items":36481},[36482,37483,37843],{"__typename":2059,"sys":36483,"content":36485,"title":37469,"synopsis":37470,"hashTags":59,"publishedDate":37471,"slug":37472,"tagsCollection":37473,"authorsCollection":37479},{"id":36484},"6OFdfAsoPUECeRAetWvedp",{"json":36486},{"data":36487,"content":36488,"nodeType":856},{},[36489,36496,36508,36520,36532,36544,36550,36570,36577,36593,36600,36606,36609,36617,36624,36631,36638,36644,36647,36655,36662,36681,36688,36695,36702,36709,36715,36722,36729,36736,36764,36771,36790,36797,36804,36824,36844,36864,36870,36877,36893,36900,36907,36914,36933,36941,36948,36955,36958,36966,36973,36980,36987,37030,37036,37043,37058,37147,37153,37160,37167,37230,37237,37244,37251,37257,37264,37271,37278,37284,37291,37298,37305,37311,37330,37337,37344,37387,37393,37396,37404,37428,37431,37438,37445,37452],{"data":36490,"content":36491,"nodeType":860},{},[36492],{"data":36493,"marks":36494,"value":36495,"nodeType":864},{},[],"Oh, look! A time capsule from 2010. Wonder what’s inside … ",{"data":36497,"content":36498,"nodeType":860},{},[36499,36504],{"data":36500,"marks":36501,"value":36503,"nodeType":864},{},[36502],{"type":899},"Listening to:",{"data":36505,"marks":36506,"value":36507,"nodeType":864},{},[]," “Like a G6” by Far East Movement (on a Nokia C7 — hey, it even had a touchscreen).",{"data":36509,"content":36510,"nodeType":860},{},[36511,36516],{"data":36512,"marks":36513,"value":36515,"nodeType":864},{},[36514],{"type":899},"Major news event:",{"data":36517,"marks":36518,"value":36519,"nodeType":864},{},[]," Eyjafjallajökull volcano erupts in Iceland, disrupting air travel.",{"data":36521,"content":36522,"nodeType":860},{},[36523,36528],{"data":36524,"marks":36525,"value":36527,"nodeType":864},{},[36526],{"type":899},"Worried about:",{"data":36529,"marks":36530,"value":36531,"nodeType":864},{},[]," Exploitable Flash browser plugins and static HTML phishing sites.",{"data":36533,"content":36534,"nodeType":860},{},[36535,36540],{"data":36536,"marks":36537,"value":36539,"nodeType":864},{},[36538],{"type":899},"How to be a hero?",{"data":36541,"marks":36542,"value":36543,"nodeType":864},{},[]," Roll out the latest AV, implement a web proxy, and add a “report phishing” button to your email solution.",{"data":36545,"content":36549,"nodeType":996},{"target":36546},{"sys":36547},{"id":36548,"type":1001,"linkType":1002},"54xYbMs0ii96xb2jgQVX9m",[],{"data":36551,"content":36552,"nodeType":860},{},[36553,36557,36566],{"data":36554,"marks":36555,"value":36556,"nodeType":864},{},[],"We’re halfway through 2025, and the time capsule for this year may need to be an XL when it comes to ",{"data":36558,"content":36560,"nodeType":883},{"uri":36559},"https://pushsecurity.com/blog/scattered-spider-ttp-evolution-in-2025/",[36561],{"data":36562,"marks":36563,"value":36565,"nodeType":864},{},[36564],{"type":1455},"how much has happened",{"data":36567,"marks":36568,"value":36569,"nodeType":864},{},[]," in the world of browser-based attacks. (Yet fittingly, Drake’s “Nokia” is a pop hit.)",{"data":36571,"content":36572,"nodeType":860},{},[36573],{"data":36574,"marks":36575,"value":36576,"nodeType":864},{},[],"While at least we don’t have to worry about Flash anymore, the browser is now the new battleground, and workforce identities are the most common target. Security teams are struggling with approaches and tools that attackers have outpaced.",{"data":36578,"content":36579,"nodeType":860},{},[36580,36584,36589],{"data":36581,"marks":36582,"value":36583,"nodeType":864},{},[],"In this article, we’ll cover how browser-based attacks have evolved, and how Push is taking a new approach with the release of our ",{"data":36585,"marks":36586,"value":36588,"nodeType":864},{},[36587],{"type":899},"Detections",{"data":36590,"marks":36591,"value":36592,"nodeType":864},{},[]," capabilities, now generally available to all customers.",{"data":36594,"content":36595,"nodeType":860},{},[36596],{"data":36597,"marks":36598,"value":36599,"nodeType":864},{},[],"Push Detections use real-time telemetry to help you understand context, user behavior, and attacker techniques, and then respond — a modern tool for modern browser-based attacks.",{"data":36601,"content":36605,"nodeType":996},{"target":36602},{"sys":36603},{"id":36604,"type":1001,"linkType":1002},"2ULDSj85bXtT2OgpXKBHtB",[],{"data":36607,"content":36608,"nodeType":1005},{},[],{"data":36610,"content":36611,"nodeType":1009},{},[36612],{"data":36613,"marks":36614,"value":36616,"nodeType":864},{},[36615],{"type":899},"The old world vs. the new world",{"data":36618,"content":36619,"nodeType":860},{},[36620],{"data":36621,"marks":36622,"value":36623,"nodeType":864},{},[],"In the early 2010s, the typical attack path involved sending a user an email with a link to a static HTML webpage (most commonly a generic Exchange Web Access clone) that tricked them into giving you Active Directory creds. These could be used to log in to an exposed remote desktop service or the victim’s mailbox, giving the attacker a foothold to install malware. Anyone who’s done “red teaming 101” will recognize this scenario. ",{"data":36625,"content":36626,"nodeType":860},{},[36627],{"data":36628,"marks":36629,"value":36630,"nodeType":864},{},[],"A compromised identity was once just part of a system compromise. That meant the scope of detection and response was focused on the organization’s Active Directory domain, correlated with endpoint and network logs. ",{"data":36632,"content":36633,"nodeType":860},{},[36634],{"data":36635,"marks":36636,"value":36637,"nodeType":864},{},[],"But now, identity attacks happen beyond traditional on-premises networks, impacting cloud identities that are created, used, and attacked in the browser. What was once the familiar backbone of business IT — internal apps and thick clients — has been replaced with a sprawling cloud and SaaS ecosystem that can be targeted directly via identity, without touching the endpoint. ",{"data":36639,"content":36643,"nodeType":996},{"target":36640},{"sys":36641},{"id":36642,"type":1001,"linkType":1002},"2F2p4eTMCHo3LfNQJZeGWB",[],{"data":36645,"content":36646,"nodeType":1005},{},[],{"data":36648,"content":36649,"nodeType":1009},{},[36650],{"data":36651,"marks":36652,"value":36654,"nodeType":864},{},[36653],{"type":899},"Why detection and response hasn’t kept up with threat evolution",{"data":36656,"content":36657,"nodeType":860},{},[36658],{"data":36659,"marks":36660,"value":36661,"nodeType":864},{},[],"This shift in attacker TTPs is forcing a change in how we handle detection and response. ",{"data":36663,"content":36664,"nodeType":860},{},[36665,36669,36677],{"data":36666,"marks":36667,"value":36668,"nodeType":864},{},[],"But a lot of organizations are still applying the same old playbooks to this new world where identity attacks are the ",{"data":36670,"content":36671,"nodeType":883},{"uri":35177},[36672],{"data":36673,"marks":36674,"value":36676,"nodeType":864},{},[36675],{"type":1455},"leading cause of breaches",{"data":36678,"marks":36679,"value":36680,"nodeType":864},{},[],", with uneven outcomes. ",{"data":36682,"content":36683,"nodeType":860},{},[36684],{"data":36685,"marks":36686,"value":36687,"nodeType":864},{},[],"This isn’t because of a lack of effort or skill on the part of security teams. It’s a reflection of the tools that have been available. ",{"data":36689,"content":36690,"nodeType":860},{},[36691],{"data":36692,"marks":36693,"value":36694,"nodeType":864},{},[],"Let’s look at some of the ways detection and response hasn’t kept up with the evolution of browser-borne threats in this new landscape.",{"data":36696,"content":36697,"nodeType":1312},{},[36698],{"data":36699,"marks":36700,"value":36701,"nodeType":864},{},[],"Incomplete identity visibility ",{"data":36703,"content":36704,"nodeType":860},{},[36705],{"data":36706,"marks":36707,"value":36708,"nodeType":864},{},[],"Today’s cloud identity providers see a fraction of the overall logins your users make to online apps, compared to the comprehensive visibility of Active Directory in the old world. You don’t know where users are logging in, how they’re logging in, or whether these logins are securely using phishing-resistant methods.",{"data":36710,"content":36714,"nodeType":996},{"target":36711},{"sys":36712},{"id":36713,"type":1001,"linkType":1002},"1SUYueQct7dtWwLh3AaAtA",[],{"data":36716,"content":36717,"nodeType":860},{},[36718],{"data":36719,"marks":36720,"value":36721,"nodeType":864},{},[],"This means that identity attacks are routinely bypassing preventative, account hygiene-based controls, putting the strain on detection and response. ",{"data":36723,"content":36724,"nodeType":1312},{},[36725],{"data":36726,"marks":36727,"value":36728,"nodeType":864},{},[],"Limited detection coverage ",{"data":36730,"content":36731,"nodeType":860},{},[36732],{"data":36733,"marks":36734,"value":36735,"nodeType":864},{},[],"Email and network security tools got pretty good at intercepting old-school phishing attacks like the ones from our proverbial time capsule: static HTML pages delivered over email that could be intercepted and analyzed when entering the mailbox or being loaded by the user. ",{"data":36737,"content":36738,"nodeType":860},{},[36739,36743,36752,36756,36760],{"data":36740,"marks":36741,"value":36742,"nodeType":864},{},[],"But with modern phishing attacks dynamically obfuscating the code that loads the web page, implementing custom bot protection, and using runtime anti-analysis features, they’re ",{"data":36744,"content":36745,"nodeType":883},{"uri":7494},[36746],{"data":36747,"marks":36748,"value":36751,"nodeType":864},{},[36749,36750],{"type":1455},{"type":899},"increasingly difficult to detect",{"data":36753,"marks":36754,"value":1171,"nodeType":864},{},[36755],{"type":899},{"data":36757,"marks":36758,"value":36759,"nodeType":864},{},[],"using conventional tools",{"data":36761,"marks":36762,"value":35748,"nodeType":864},{},[36763],{"type":899},{"data":36765,"content":36766,"nodeType":860},{},[36767],{"data":36768,"marks":36769,"value":36770,"nodeType":864},{},[],"Of course, email-based detections aren’t much use if attackers are using legitimate services to camouflage their links, or bypassing email altogether by switching to alternative delivery channels like messaging apps (such as Slack and Teams), as well as public services like LinkedIn and Reddit. ",{"data":36772,"content":36773,"nodeType":860},{},[36774,36778,36786],{"data":36775,"marks":36776,"value":36777,"nodeType":864},{},[],"More recently, groups like ",{"data":36779,"content":36780,"nodeType":883},{"uri":36559},[36781],{"data":36782,"marks":36783,"value":36785,"nodeType":864},{},[36784],{"type":1455},"Scattered Spider",{"data":36787,"marks":36788,"value":36789,"nodeType":864},{},[]," have even been seen using malvertising techniques, delivering phishing links masquerading as paid Google ads.",{"data":36791,"content":36792,"nodeType":1312},{},[36793],{"data":36794,"marks":36795,"value":36796,"nodeType":864},{},[],"Inadequate security logs",{"data":36798,"content":36799,"nodeType":860},{},[36800],{"data":36801,"marks":36802,"value":36803,"nodeType":864},{},[],"If you fail to spot the attack pre-account takeover, you’re reliant on being able to detect and investigate suspicious or malicious activity resulting from the compromise. ",{"data":36805,"content":36806,"nodeType":860},{},[36807,36811,36820],{"data":36808,"marks":36809,"value":36810,"nodeType":864},{},[],"This was more straightforward (if not easy) when you had the luxury of a ",{"data":36812,"content":36814,"nodeType":883},{"uri":36813},"https://pushsecurity.com/blog/shifting-detection-left-for-more-effective-itdr/",[36815],{"data":36816,"marks":36817,"value":36819,"nodeType":864},{},[36818],{"type":1455},"typical on-prem network to fall back",{"data":36821,"marks":36822,"value":36823,"nodeType":864},{},[]," on. But with cloud exploitation taking place in a matter of minutes, you don’t get much warning — and your endpoint and network-based alarms can’t help you. ",{"data":36825,"content":36826,"nodeType":860},{},[36827,36831,36840],{"data":36828,"marks":36829,"value":36830,"nodeType":864},{},[],"The situation is further complicated by the fact that you simply don’t have the logs you need because of the huge variability in how cloud and SaaS services provide logs (with many ",{"data":36832,"content":36834,"nodeType":883},{"uri":36833},"https://pushsecurity.com/blog/minimum-viable-identity-security/#id-enable-security-teams-to-detect-and-respond-to-identity-attacks",[36835],{"data":36836,"marks":36837,"value":36839,"nodeType":864},{},[36838],{"type":1455},"failing to provide security logs",{"data":36841,"marks":36842,"value":36843,"nodeType":864},{},[]," with relevant data points at all). So chances are you’re flying blind when it comes to large chunks of your business app suite. ",{"data":36845,"content":36846,"nodeType":860},{},[36847,36851,36860],{"data":36848,"marks":36849,"value":36850,"nodeType":864},{},[],"Ultimately, you’re stuck with what you can observe — typically network traffic. But ",{"data":36852,"content":36854,"nodeType":883},{"uri":36853},"https://pushsecurity.com/blog/the-web-proxy-is-dead-long-live-the-browser-extension/",[36855],{"data":36856,"marks":36857,"value":36859,"nodeType":864},{},[36858],{"type":1455},"even with a TLS-terminating proxy",{"data":36861,"marks":36862,"value":36863,"nodeType":864},{},[],", extracting fine-grained identity data points isn’t really achievable. You’re looking from the outside-in at malicious activity that’s happening in the user’s browser and trying to infer what happened.  ",{"data":36865,"content":36869,"nodeType":996},{"target":36866},{"sys":36867},{"id":36868,"type":1001,"linkType":1002},"7FMdHtbE63GMCavObETf3O",[],{"data":36871,"content":36872,"nodeType":1312},{},[36873],{"data":36874,"marks":36875,"value":36876,"nodeType":864},{},[],"Spotty control enforcement",{"data":36878,"content":36879,"nodeType":860},{},[36880,36884,36889],{"data":36881,"marks":36882,"value":36883,"nodeType":864},{},[],"And in the case that you do identify that a user clicked a malicious link and ",{"data":36885,"marks":36886,"value":36888,"nodeType":864},{},[36887],{"type":2246},"maybe ",{"data":36890,"marks":36891,"value":36892,"nodeType":864},{},[],"entered their credentials into the page — now what? ",{"data":36894,"content":36895,"nodeType":860},{},[36896],{"data":36897,"marks":36898,"value":36899,"nodeType":864},{},[],"You can reset the account in the affected app, ideally terminating active sessions — which may or may not be possible, depending on the app. This might take a while if you don’t centrally manage the app, and involve some painful emergency phone calls to employees. ",{"data":36901,"content":36902,"nodeType":860},{},[36903],{"data":36904,"marks":36905,"value":36906,"nodeType":864},{},[],"What about apps where the same password is reused? ",{"data":36908,"content":36909,"nodeType":860},{},[36910],{"data":36911,"marks":36912,"value":36913,"nodeType":864},{},[],"Or if it’s an IdP account used for SSO, what about the other apps that might be accessible now? ",{"data":36915,"content":36916,"nodeType":860},{},[36917,36921,36929],{"data":36918,"marks":36919,"value":36920,"nodeType":864},{},[],"If the attacker has created stealthy backdoors that persist through credential changes (like ",{"data":36922,"content":36923,"nodeType":883},{"uri":26784},[36924],{"data":36925,"marks":36926,"value":36928,"nodeType":864},{},[36927],{"type":1455},"creating an API key or a malicious OAuth integration",{"data":36930,"marks":36931,"value":36932,"nodeType":864},{},[],") they could still be lurking in your environment.",{"data":36934,"content":36935,"nodeType":860},{},[36936],{"data":36937,"marks":36938,"value":36940,"nodeType":864},{},[36939],{"type":899},"Suddenly, you’re not dealing with one possible control point, you’re dealing with several. ",{"data":36942,"content":36943,"nodeType":860},{},[36944],{"data":36945,"marks":36946,"value":36947,"nodeType":864},{},[],"And if you can’t trace the attack back to a source — because your email solution missed it, or it didn’t come via email, how can you triage the impact to other users? ",{"data":36949,"content":36950,"nodeType":860},{},[36951],{"data":36952,"marks":36953,"value":36954,"nodeType":864},{},[],"It’s no wonder that security teams are struggling to adapt. ",{"data":36956,"content":36957,"nodeType":1005},{},[],{"data":36959,"content":36960,"nodeType":1009},{},[36961],{"data":36962,"marks":36963,"value":36965,"nodeType":864},{},[36964],{"type":899},"How Push is solving modern identity investigations in the browser",{"data":36967,"content":36968,"nodeType":860},{},[36969],{"data":36970,"marks":36971,"value":36972,"nodeType":864},{},[],"The good news? We’ve seen this phenomenon play out before: In the early 2010s, in fact, when AV evolved into EDR. What was the big innovation then? Getting inside the data stream, in real time, and detecting and responding from a much higher-fidelity source of telemetry.",{"data":36974,"content":36975,"nodeType":860},{},[36976],{"data":36977,"marks":36978,"value":36979,"nodeType":864},{},[],"This time around, security teams need tools that take them inside the browser layer.",{"data":36981,"content":36982,"nodeType":860},{},[36983],{"data":36984,"marks":36985,"value":36986,"nodeType":864},{},[],"This approach gives you the right vantage point to defend against and investigate browser-based identity attacks, providing access to:",{"data":36988,"content":36989,"nodeType":941},{},[36990,37000,37010,37020],{"data":36991,"content":36992,"nodeType":945},{},[36993],{"data":36994,"content":36995,"nodeType":860},{},[36996],{"data":36997,"marks":36998,"value":36999,"nodeType":864},{},[],"Full decrypted HTTP traffic — not just DNS and TCP/IP metadata",{"data":37001,"content":37002,"nodeType":945},{},[37003],{"data":37004,"content":37005,"nodeType":860},{},[37006],{"data":37007,"marks":37008,"value":37009,"nodeType":864},{},[],"Full user interaction tracing — every click, keystroke, or DOM change",{"data":37011,"content":37012,"nodeType":945},{},[37013],{"data":37014,"content":37015,"nodeType":860},{},[37016],{"data":37017,"marks":37018,"value":37019,"nodeType":864},{},[],"Full inspection at every layer of execution, not just the initial HTML served",{"data":37021,"content":37022,"nodeType":945},{},[37023],{"data":37024,"content":37025,"nodeType":860},{},[37026],{"data":37027,"marks":37028,"value":37029,"nodeType":864},{},[],"Full access to browser APIs, to correlate with browser history, local storage, cookies, etc.",{"data":37031,"content":37035,"nodeType":996},{"target":37032},{"sys":37033},{"id":37034,"type":1001,"linkType":1002},"5qt0s8e1TIEUxhU1GzFO63",[],{"data":37037,"content":37038,"nodeType":860},{},[37039],{"data":37040,"marks":37041,"value":37042,"nodeType":864},{},[],"With this data, teams have the information they need to respond to and investigate browser-based attacks. But to become valuable, this data needs a translation layer that turns it from raw logs into actionable information.",{"data":37044,"content":37045,"nodeType":860},{},[37046,37050,37054],{"data":37047,"marks":37048,"value":37049,"nodeType":864},{},[],"That’s where Push’s ",{"data":37051,"marks":37052,"value":36588,"nodeType":864},{},[37053],{"type":899},{"data":37055,"marks":37056,"value":37057,"nodeType":864},{},[]," capability comes in. With it, you can:",{"data":37059,"content":37060,"nodeType":941},{},[37061,37097,37107,37117,37127,37137],{"data":37062,"content":37063,"nodeType":945},{},[37064],{"data":37065,"content":37066,"nodeType":860},{},[37067,37071,37080,37084,37093],{"data":37068,"marks":37069,"value":37070,"nodeType":864},{},[],"Get alerted in your platform of choice (via the Push admin console, ",{"data":37072,"content":37074,"nodeType":883},{"uri":37073},"https://pushsecurity.com/help/audience/administrators/docs/connect-to-siem-or-soar/send-webhook-events-to-slack/",[37075],{"data":37076,"marks":37077,"value":37079,"nodeType":864},{},[37078],{"type":1455},"Slack integration",{"data":37081,"marks":37082,"value":37083,"nodeType":864},{},[],", or your ",{"data":37085,"content":37087,"nodeType":883},{"uri":37086},"https://pushsecurity.com/help/audience/administrators/docs/connect-to-siem-or-soar/",[37088],{"data":37089,"marks":37090,"value":37092,"nodeType":864},{},[37091],{"type":1455},"SIEM/SOAR",{"data":37094,"marks":37095,"value":37096,"nodeType":864},{},[]," of choice) whenever Push detects a browser-based attack, such as AiTM phishing or a cloned login page.",{"data":37098,"content":37099,"nodeType":945},{},[37100],{"data":37101,"content":37102,"nodeType":860},{},[37103],{"data":37104,"marks":37105,"value":37106,"nodeType":864},{},[],"Review a curated timeline of the incident: Where a phishing link originated; whether a user entered their credentials on the page; what kind of phishkit was used; and whether the attack was blocked by Push.",{"data":37108,"content":37109,"nodeType":945},{},[37110],{"data":37111,"content":37112,"nodeType":860},{},[37113],{"data":37114,"marks":37115,"value":37116,"nodeType":864},{},[],"See all the other impacted accounts and apps that shared a password with the phished account so you can remediate them.",{"data":37118,"content":37119,"nodeType":945},{},[37120],{"data":37121,"content":37122,"nodeType":860},{},[37123],{"data":37124,"marks":37125,"value":37126,"nodeType":864},{},[],"See a screenshot captured by the Push browser extension of the phishing page, so you can see exactly what the user saw before the page disappears.",{"data":37128,"content":37129,"nodeType":945},{},[37130],{"data":37131,"content":37132,"nodeType":860},{},[37133],{"data":37134,"marks":37135,"value":37136,"nodeType":864},{},[],"Get additional context from urlscan.io about the domains connected to the incident, helping you understand whether a domain has been reported as malicious by other users, when it was registered, and how many times it’s been scanned.",{"data":37138,"content":37139,"nodeType":945},{},[37140],{"data":37141,"content":37142,"nodeType":860},{},[37143],{"data":37144,"marks":37145,"value":37146,"nodeType":864},{},[],"Interrogate and send this telemetry to your SIEM for you to operationalize it as part of SecOps workflows and hunt across events for similar incident characteristics.",{"data":37148,"content":37152,"nodeType":996},{"target":37149},{"sys":37150},{"id":37151,"type":1001,"linkType":1002},"5iPYWpPx4IZ2M1DykQiWsN",[],{"data":37154,"content":37155,"nodeType":1312},{},[37156],{"data":37157,"marks":37158,"value":37159,"nodeType":864},{},[],"Browser context",{"data":37161,"content":37162,"nodeType":860},{},[37163],{"data":37164,"marks":37165,"value":37166,"nodeType":864},{},[],"With Push, there’s no more: ",{"data":37168,"content":37169,"nodeType":941},{},[37170,37180,37190,37200,37210,37220],{"data":37171,"content":37172,"nodeType":945},{},[37173],{"data":37174,"content":37175,"nodeType":860},{},[37176],{"data":37177,"marks":37178,"value":37179,"nodeType":864},{},[],"Waiting (and hoping) that a browser-based attack gets recognized and reported by a user.",{"data":37181,"content":37182,"nodeType":945},{},[37183],{"data":37184,"content":37185,"nodeType":860},{},[37186],{"data":37187,"marks":37188,"value":37189,"nodeType":864},{},[],"Guesswork as to exactly what happened on the phishing page. ",{"data":37191,"content":37192,"nodeType":945},{},[37193],{"data":37194,"content":37195,"nodeType":860},{},[37196],{"data":37197,"marks":37198,"value":37199,"nodeType":864},{},[],"Struggling to get your hands on a live version of the page to see if it was actually malicious and getting thwarted because the attacker used a one-time phishing link. ",{"data":37201,"content":37202,"nodeType":945},{},[37203],{"data":37204,"content":37205,"nodeType":860},{},[37206],{"data":37207,"marks":37208,"value":37209,"nodeType":864},{},[],"Manually tracing the attack to see if it arrived by email so you can quarantine the messages. ",{"data":37211,"content":37212,"nodeType":945},{},[37213],{"data":37214,"content":37215,"nodeType":860},{},[37216],{"data":37217,"marks":37218,"value":37219,"nodeType":864},{},[],"Trawling through voluminous proxy logs for scraps of information (who else visited the link; where did it originate; etc.).",{"data":37221,"content":37222,"nodeType":945},{},[37223],{"data":37224,"content":37225,"nodeType":860},{},[37226],{"data":37227,"marks":37228,"value":37229,"nodeType":864},{},[],"Spending precious time on urlscan or VirusTotal to get basic context on a domain or IP address. ",{"data":37231,"content":37232,"nodeType":860},{},[37233],{"data":37234,"marks":37235,"value":37236,"nodeType":864},{},[],"Instead, Push gives you all the information you need in one place to investigate and respond. ",{"data":37238,"content":37239,"nodeType":860},{},[37240],{"data":37241,"marks":37242,"value":37243,"nodeType":864},{},[],"The foundation for these detections is the Push browser agent, which can be silently installed in all major browsers in your environment to begin streaming information about a user’s entire identity footprint. ",{"data":37245,"content":37246,"nodeType":860},{},[37247],{"data":37248,"marks":37249,"value":37250,"nodeType":864},{},[],"This valuable telemetry, combined with Push’s out-of-the-box controls and detections, gives you a seat on the user’s side of the equation, capturing reliable information about network requests, scripts loaded by a malicious website, and what a user clicked and navigated to: the ingredients for showing you how a browser-based attack unfolded, start to finish.",{"data":37252,"content":37256,"nodeType":996},{"target":37253},{"sys":37254},{"id":37255,"type":1001,"linkType":1002},"7ylgcaNDrxYhw7bULixM1C",[],{"data":37258,"content":37259,"nodeType":860},{},[37260],{"data":37261,"marks":37262,"value":37263,"nodeType":864},{},[],"Push raises a detection when it observes a phishing attack or when a user attempts to visit a blocked URL. You can view detections in the Push admin console, or send them to your SIEM or SOAR for correlation and analysis.",{"data":37265,"content":37266,"nodeType":1312},{},[37267],{"data":37268,"marks":37269,"value":37270,"nodeType":864},{},[],"Screenshot capture",{"data":37272,"content":37273,"nodeType":860},{},[37274],{"data":37275,"marks":37276,"value":37277,"nodeType":864},{},[],"The Push extension can also capture a screenshot at the time of a detection firing. This means security teams can see the visual characteristics of the page even if it’s since been taken down (and no more looking at bot protection screens like Cloudflare Turnstile on urlscan). ",{"data":37279,"content":37283,"nodeType":996},{"target":37280},{"sys":37281},{"id":37282,"type":1001,"linkType":1002},"58HPrc7wImm3mLxPK0yJOG",[],{"data":37285,"content":37286,"nodeType":1312},{},[37287],{"data":37288,"marks":37289,"value":37290,"nodeType":864},{},[],"Blast radius analysis for all impacted accounts & apps",{"data":37292,"content":37293,"nodeType":860},{},[37294],{"data":37295,"marks":37296,"value":37297,"nodeType":864},{},[],"With Push’s knowledge of your workforce identities — based on observing logins in the browser that use corporate credentials — the platform can also provide an analysis of the blast radius of an attack by showing you where other accounts and apps are impacted or at risk.",{"data":37299,"content":37300,"nodeType":860},{},[37301],{"data":37302,"marks":37303,"value":37304,"nodeType":864},{},[],"This information helps you understand the true impact of an incident so you can remediate all affected accounts.",{"data":37306,"content":37310,"nodeType":996},{"target":37307},{"sys":37308},{"id":37309,"type":1001,"linkType":1002},"77e8XMl2Rb0p7ZrG2wmURO",[],{"data":37312,"content":37313,"nodeType":860},{},[37314,37318,37326],{"data":37315,"marks":37316,"value":37317,"nodeType":864},{},[],"Push is able to provide this blast radius analysis by ",{"data":37319,"content":37320,"nodeType":883},{"uri":36321},[37321],{"data":37322,"marks":37323,"value":37325,"nodeType":864},{},[37324],{"type":1455},"securely fingerprinting users’ passwords",{"data":37327,"marks":37328,"value":37329,"nodeType":864},{},[]," when a login is observed; analyzing them for security posture issues such as missing MFA, or stolen, weak, or reused passwords; and then raising that relevant context for a given detection.",{"data":37331,"content":37332,"nodeType":1312},{},[37333],{"data":37334,"marks":37335,"value":37336,"nodeType":864},{},[],"Correlated context from urlscan.io",{"data":37338,"content":37339,"nodeType":860},{},[37340],{"data":37341,"marks":37342,"value":37343,"nodeType":864},{},[],"Finally, through an integration with urlscan.io, Push is able to provide additional context about the domains involved in a detection event, including:",{"data":37345,"content":37346,"nodeType":941},{},[37347,37357,37367,37377],{"data":37348,"content":37349,"nodeType":945},{},[37350],{"data":37351,"content":37352,"nodeType":860},{},[37353],{"data":37354,"marks":37355,"value":37356,"nodeType":864},{},[],"When they were created",{"data":37358,"content":37359,"nodeType":945},{},[37360],{"data":37361,"content":37362,"nodeType":860},{},[37363],{"data":37364,"marks":37365,"value":37366,"nodeType":864},{},[],"How many times they have previously been scanned",{"data":37368,"content":37369,"nodeType":945},{},[37370],{"data":37371,"content":37372,"nodeType":860},{},[37373],{"data":37374,"marks":37375,"value":37376,"nodeType":864},{},[],"When they were last scanned",{"data":37378,"content":37379,"nodeType":945},{},[37380],{"data":37381,"content":37382,"nodeType":860},{},[37383],{"data":37384,"marks":37385,"value":37386,"nodeType":864},{},[],"If urlscan has marked them as suspicious",{"data":37388,"content":37392,"nodeType":996},{"target":37389},{"sys":37390},{"id":37391,"type":1001,"linkType":1002},"2AKpAk65XdmaGBfe2V4qZ5",[],{"data":37394,"content":37395,"nodeType":1005},{},[],{"data":37397,"content":37398,"nodeType":1009},{},[37399],{"data":37400,"marks":37401,"value":37403,"nodeType":864},{},[37402],{"type":899},"Check out our latest webinar for practical guidance in real-world scenarios",{"data":37405,"content":37406,"nodeType":860},{},[37407,37411,37420,37423],{"data":37408,"marks":37409,"value":37410,"nodeType":864},{},[],"For practical advice and applied examples of how to use Push data in incident response — as well as some bonus examples of automated response and remediation use cases — ",{"data":37412,"content":37414,"nodeType":883},{"uri":37413},"https://pushsecurity.com/webinar/identity-detection-response",[37415],{"data":37416,"marks":37417,"value":37419,"nodeType":864},{},[37418],{"type":1455},"join us live on August 13 for our webinar",{"data":37421,"marks":37422,"value":3731,"nodeType":864},{},[],{"data":37424,"marks":37425,"value":37427,"nodeType":864},{},[37426],{"type":899},"“Identity attacks have changed — have your IR playbooks?”",{"data":37429,"content":37430,"nodeType":1005},{},[],{"data":37432,"content":37433,"nodeType":1009},{},[37434],{"data":37435,"marks":37436,"value":3578,"nodeType":864},{},[37437],{"type":899},{"data":37439,"content":37440,"nodeType":860},{},[37441],{"data":37442,"marks":37443,"value":37444,"nodeType":864},{},[],"Push’s browser-based security platform provides comprehensive identity attack detection and response capabilities against techniques like AiTM phishing, credential stuffing, password spraying, and session hijacking using stolen session tokens. ",{"data":37446,"content":37447,"nodeType":860},{},[37448],{"data":37449,"marks":37450,"value":37451,"nodeType":864},{},[],"You can also use Push to find and fix identity vulnerabilities across every app that your employees use, including ghost logins; SSO coverage gaps; MFA gaps; weak, breached and reused passwords; risky OAuth integrations; and more.",{"data":37453,"content":37454,"nodeType":860},{},[37455,37458,37466],{"data":37456,"marks":37457,"value":35574,"nodeType":864},{},[],{"data":37459,"content":37460,"nodeType":883},{"uri":5642},[37461],{"data":37462,"marks":37463,"value":37465,"nodeType":864},{},[37464],{"type":1455},"request a demo.",{"data":37467,"marks":37468,"value":21,"nodeType":864},{},[],"Introducing Push Detections: Equipping SecOps and IR teams to stop browser-based attacks","We’re launching a new Detections capability, enabling security teams to more effectively investigate and triage alerts, and build more effective workflows. ","2025-07-29T00:00:00.000Z","introducing-push-detections",{"items":37474},[37475,37477],{"sys":37476,"name":342},{"id":6596},{"sys":37478,"name":6593},{"id":6592},{"items":37480},[37481],{"fullName":849,"firstName":850,"jobTitle":851,"profilePicture":37482},{"url":853},{"__typename":2059,"sys":37484,"content":37486,"title":37831,"synopsis":37832,"hashTags":59,"publishedDate":37833,"slug":37834,"tagsCollection":37835,"authorsCollection":37839},{"id":37485},"4rLP8wr6HnvBG2OzqYYKpF",{"json":37487},{"data":37488,"content":37489,"nodeType":856},{},[37490,37497,37504,37511,37517,37524,37557,37564,37571,37578,37584,37591,37598,37616,37622,37629,37649,37667,37674,37681,37688,37695,37702,37709,37716,37736,37743,37750,37756,37763,37770,37794,37800,37819,37825],{"data":37491,"content":37492,"nodeType":860},{},[37493],{"data":37494,"marks":37495,"value":37496,"nodeType":864},{},[],"Scattered Spider has shown the world the devastating effects attackers can achieve by socially engineering IT help desks into performing MFA resets so they can take over accounts on sensitive corporate apps. ",{"data":37498,"content":37499,"nodeType":860},{},[37500],{"data":37501,"marks":37502,"value":37503,"nodeType":864},{},[],"That’s why we’re introducing Employee Identity Verification Codes — a simple, browser-based identity check that gives your help desk a reliable way to confirm they’re talking to someone from your organization.",{"data":37505,"content":37506,"nodeType":860},{},[37507],{"data":37508,"marks":37509,"value":37510,"nodeType":864},{},[],"Push now provides your employees with a rotating 6-digit verification code in their browser via the Push Security extension. When an employee contacts your IT help desk to request an MFA reset or access recovery, the help desk can ask for this code to verify their identity — ensuring it’s really them, and not an attacker.",{"data":37512,"content":37516,"nodeType":996},{"target":37513},{"sys":37514},{"id":37515,"type":1001,"linkType":1002},"3PkiGgzwSt9Nb5rsGRiQVZ",[],{"data":37518,"content":37519,"nodeType":860},{},[37520],{"data":37521,"marks":37522,"value":37523,"nodeType":864},{},[],"The employee identity verification codes are:",{"data":37525,"content":37526,"nodeType":941},{},[37527,37537,37547],{"data":37528,"content":37529,"nodeType":945},{},[37530],{"data":37531,"content":37532,"nodeType":860},{},[37533],{"data":37534,"marks":37535,"value":37536,"nodeType":864},{},[],"Session-aware - generated in users’ browsers and only visible to them when they click on the Push Security extension icon in their browser toolbar.",{"data":37538,"content":37539,"nodeType":945},{},[37540],{"data":37541,"content":37542,"nodeType":860},{},[37543],{"data":37544,"marks":37545,"value":37546,"nodeType":864},{},[],"Rotating: they change every 24 hours",{"data":37548,"content":37549,"nodeType":945},{},[37550],{"data":37551,"content":37552,"nodeType":860},{},[37553],{"data":37554,"marks":37555,"value":37556,"nodeType":864},{},[],"Lightweight: no additional apps or devices required",{"data":37558,"content":37559,"nodeType":860},{},[37560],{"data":37561,"marks":37562,"value":37563,"nodeType":864},{},[],"It’s a fast, simple verification method — directly in the employee’s browser — that addresses a real-world threat.",{"data":37565,"content":37566,"nodeType":1009},{},[37567],{"data":37568,"marks":37569,"value":37570,"nodeType":864},{},[],"We think it’s swell, but don’t just take our word for it …",{"data":37572,"content":37573,"nodeType":860},{},[37574],{"data":37575,"marks":37576,"value":37577,"nodeType":864},{},[],"Eric Rubin — a Senior Manager in GitLab’s Corporate Security team — has already rolled out Employee Identity Verification Codes across his workforce. Here’s what he had to say about it:",{"data":37579,"content":37583,"nodeType":996},{"target":37580},{"sys":37581},{"id":37582,"type":1001,"linkType":1002},"5ZLaA869NXpMjVwkswEyOB",[],{"data":37585,"content":37586,"nodeType":860},{},[37587],{"data":37588,"marks":37589,"value":37590,"nodeType":864},{},[],"Thank you, Eric!",{"data":37592,"content":37593,"nodeType":1009},{},[37594],{"data":37595,"marks":37596,"value":37597,"nodeType":864},{},[],"Why are help desk identity verification methods so hot right now?",{"data":37599,"content":37600,"nodeType":860},{},[37601,37605,37612],{"data":37602,"marks":37603,"value":37604,"nodeType":864},{},[],"A number of the high-profile incidents attributed to the ",{"data":37606,"content":37607,"nodeType":883},{"uri":36559},[37608],{"data":37609,"marks":37610,"value":37611,"nodeType":864},{},[],"Scattered Spider cybercriminal group",{"data":37613,"marks":37614,"value":37615,"nodeType":864},{},[]," saw them socially engineer IT help desks into resetting MFA on employee accounts that they had already acquired valid credentials for. These compromised accounts were typically on IdP systems like Okta providing SSO access to large numbers of downstream applications.",{"data":37617,"content":37621,"nodeType":996},{"target":37618},{"sys":37619},{"id":37620,"type":1001,"linkType":1002},"2F2dpOkyXWnrKgFC3dSl67",[],{"data":37623,"content":37624,"nodeType":1312},{},[37625],{"data":37626,"marks":37627,"value":37628,"nodeType":864},{},[],"Case study: The MGM Resorts breach",{"data":37630,"content":37631,"nodeType":860},{},[37632,37636,37645],{"data":37633,"marks":37634,"value":37635,"nodeType":864},{},[],"One of Scattered Spider’s most notorious and well-documented attacks was against ",{"data":37637,"content":37639,"nodeType":883},{"uri":37638},"https://pushsecurity.com/blog/identity-attacks-in-the-wild/#id-mgm-resorts-september-2023",[37640],{"data":37641,"marks":37642,"value":37644,"nodeType":864},{},[37643],{"type":1455},"MGM Resorts",{"data":37646,"marks":37647,"value":37648,"nodeType":864},{},[],". Scattered Spider socially engineered MGM Resorts’ help desk personnel to bypass MFA and log in to accounts for which they had acquired valid login credentials via credential phishing and historical infostealer compromises. ",{"data":37650,"content":37651,"nodeType":860},{},[37652,37656,37663],{"data":37653,"marks":37654,"value":37655,"nodeType":864},{},[],"They specifically targeted accounts with Super Administrator privileges within MGM Resorts’ Okta tenant, which they then used to register a second, attacker-controlled IdP via ",{"data":37657,"content":37658,"nodeType":883},{"uri":26938},[37659],{"data":37660,"marks":37661,"value":26944,"nodeType":864},{},[37662],{"type":1455},{"data":37664,"marks":37665,"value":37666,"nodeType":864},{},[],". This then enabled them to impersonate any user within the Okta tenant. ",{"data":37668,"content":37669,"nodeType":860},{},[37670],{"data":37671,"marks":37672,"value":37673,"nodeType":864},{},[],"The attackers were then able to abuse SSO access to downstream apps and platforms from various accounts, culminating in deployment of ransomware to around 100 ESXi servers and data exfiltration. ",{"data":37675,"content":37676,"nodeType":860},{},[37677],{"data":37678,"marks":37679,"value":37680,"nodeType":864},{},[],"The breach resulted in a 36-hour outage, a $100M hit to its Q3 results, one-time cyber consulting fees in the region of $10M, and a class-action lawsuit later settled for $45M. ",{"data":37682,"content":37683,"nodeType":1312},{},[37684],{"data":37685,"marks":37686,"value":37687,"nodeType":864},{},[],"Reassessing help desk verification processes",{"data":37689,"content":37690,"nodeType":860},{},[37691],{"data":37692,"marks":37693,"value":37694,"nodeType":864},{},[],"Scattered Spider’s high-profile attacks — including its most recent against UK retailers Marks & Spencer’s and the Co-op — has prompted many security teams to reassess the verification processes used by their IT help desks when an employee requests an MFA reset or access to sensitive applications. ",{"data":37696,"content":37697,"nodeType":860},{},[37698],{"data":37699,"marks":37700,"value":37701,"nodeType":864},{},[],"Initial guidance from across the industry included the use of call-back verification for any MFA or credential changes requested by an employee. However, Scattered Spider are also known to use SIM-swapping to trick mobile carriers into transferring a victim’s phone number to a SIM card controlled by the attacker - thereby allowing them to intercept verification calls. ",{"data":37703,"content":37704,"nodeType":1009},{},[37705],{"data":37706,"marks":37707,"value":37708,"nodeType":864},{},[],"Simple verification using your employees’ browsers",{"data":37710,"content":37711,"nodeType":860},{},[37712],{"data":37713,"marks":37714,"value":37715,"nodeType":864},{},[],"Push already provides several controls that directly align to the other TTPs used by Scattered Spider. They include detecting stolen credentials, cloned login pages, AitM toolkits and compromised IdP sessions. ",{"data":37717,"content":37718,"nodeType":860},{},[37719,37723,37732],{"data":37720,"marks":37721,"value":37722,"nodeType":864},{},[],"(BTW, if this piques your interest, you can ",{"data":37724,"content":37726,"nodeType":883},{"uri":37725},"https://pushsecurity.com/resources?type=webinar#content",[37727],{"data":37728,"marks":37729,"value":37731,"nodeType":864},{},[37730],{"type":1455},"stream our latest webinar",{"data":37733,"marks":37734,"value":37735,"nodeType":864},{},[]," where we deep-dive into Scattered Spider, how their TTPs are evolving in 2025, and what Push is doing to protect organizations against them.) ",{"data":37737,"content":37738,"nodeType":860},{},[37739],{"data":37740,"marks":37741,"value":37742,"nodeType":864},{},[],"But to provide our customers with an additional layer of defense against the Scattered Spider attack chain, we wanted to see how we could make it harder for attackers to socially engineer IT help desks into gaining access to IdP systems and sensitive apps.",{"data":37744,"content":37745,"nodeType":860},{},[37746],{"data":37747,"marks":37748,"value":37749,"nodeType":864},{},[],"As so often is the case, the answer was staring us right in the face - we can use our browser extension. By placing a verification code in the details tray of every employees’ Push extension, they can use that to verify their identity with their help desk team.",{"data":37751,"content":37755,"nodeType":996},{"target":37752},{"sys":37753},{"id":37754,"type":1001,"linkType":1002},"4hRJVGqKGyOHJ8NSsQYWGP",[],{"data":37757,"content":37758,"nodeType":1009},{},[37759],{"data":37760,"marks":37761,"value":37762,"nodeType":864},{},[],"Get started today!",{"data":37764,"content":37765,"nodeType":860},{},[37766],{"data":37767,"marks":37768,"value":37769,"nodeType":864},{},[],"Employee verification codes is a Labs feature, which means it’s available on an early-access basis. We're particularly interested in hearing your feedback on how to develop this feature further.",{"data":37771,"content":37772,"nodeType":860},{},[37773,37777,37781,37785,37790],{"data":37774,"marks":37775,"value":37776,"nodeType":864},{},[],"You can enable Labs features by going to the ",{"data":37778,"marks":37779,"value":28678,"nodeType":864},{},[37780],{"type":899},{"data":37782,"marks":37783,"value":37784,"nodeType":864},{},[]," page of the Push admin console and choosing the ",{"data":37786,"marks":37787,"value":37789,"nodeType":864},{},[37788],{"type":899},"Labs",{"data":37791,"marks":37792,"value":37793,"nodeType":864},{},[]," tab.",{"data":37795,"content":37799,"nodeType":996},{"target":37796},{"sys":37797},{"id":37798,"type":1001,"linkType":1002},"6TyqP2eOmalIF6RRoe476Y",[],{"data":37801,"content":37802,"nodeType":860},{},[37803,37807,37815],{"data":37804,"marks":37805,"value":37806,"nodeType":864},{},[],"If you’d like to find out more about this feature, and the other ways Push is stopping identity attacks in the browser, ",{"data":37808,"content":37809,"nodeType":883},{"uri":5642},[37810],{"data":37811,"marks":37812,"value":37814,"nodeType":864},{},[37813],{"type":1455},"book a demo",{"data":37816,"marks":37817,"value":37818,"nodeType":864},{},[]," with one of our team. ",{"data":37820,"content":37824,"nodeType":996},{"target":37821},{"sys":37822},{"id":37823,"type":1001,"linkType":1002},"7xBE9MrnMy3hfwIkhLhNhQ",[],{"data":37826,"content":37827,"nodeType":860},{},[37828],{"data":37829,"marks":37830,"value":21,"nodeType":864},{},[],"A simple, browser-based way to protect your help desk against social engineering","Push's new Employee Identity Verification Codes feature is a simple way for your help desk to confirm they’re talking to someone from your organization.\n","2025-06-19T00:00:00.000Z","employee-identity-verification-codes-release",{"items":37836},[37837],{"sys":37838,"name":297},{"id":2732},{"items":37840},[37841],{"fullName":4878,"firstName":4879,"jobTitle":851,"profilePicture":37842},{"url":4881},{"__typename":2059,"sys":37844,"content":37846,"title":38395,"synopsis":38396,"hashTags":59,"publishedDate":38397,"slug":38398,"tagsCollection":38399,"authorsCollection":38405},{"id":37845},"4XZ6qCr8pjJvcD7hi09x2Y",{"json":37847},{"data":37848,"content":37849,"nodeType":856},{},[37850,37869,37876,37899,37906,37913,37920,37940,37946,37949,37957,37964,37984,38029,38073,38104,38124,38129,38132,38140,38147,38154,38161,38168,38291,38298,38301,38308,38325,38342,38345,38353,38370,38377],{"data":37851,"content":37852,"nodeType":860},{},[37853,37857,37865],{"data":37854,"marks":37855,"value":37856,"nodeType":864},{},[],"Almost two years ago, we released our ",{"data":37858,"content":37859,"nodeType":883},{"uri":6418},[37860],{"data":37861,"marks":37862,"value":37864,"nodeType":864},{},[37863],{"type":1455},"SaaS attacks matrix",{"data":37866,"marks":37867,"value":37868,"nodeType":864},{},[]," on GitHub. At the time, our research into modern attack patterns showed us that attackers were increasingly relying on cloud-native techniques, taking advantage of the shift in business IT from traditional on-premise networks to a web of third-party services accessed over the internet. ",{"data":37870,"content":37871,"nodeType":860},{},[37872],{"data":37873,"marks":37874,"value":37875,"nodeType":864},{},[],"As part of our work in maintaining and updating the SaaS attacks matrix in line with our own research and attacks in the wild, we identified that:",{"data":37877,"content":37878,"nodeType":941},{},[37879,37889],{"data":37880,"content":37881,"nodeType":945},{},[37882],{"data":37883,"content":37884,"nodeType":860},{},[37885],{"data":37886,"marks":37887,"value":37888,"nodeType":864},{},[],"The fastest growing category since day 1 has been initial access, which is entirely driven by identity-based techniques (i.e. logging into apps).",{"data":37890,"content":37891,"nodeType":945},{},[37892],{"data":37893,"content":37894,"nodeType":860},{},[37895],{"data":37896,"marks":37897,"value":37898,"nodeType":864},{},[],"Phishing in various forms is the most widely used, and generally effective, of all the initial access techniques we encounter. ",{"data":37900,"content":37901,"nodeType":860},{},[37902],{"data":37903,"marks":37904,"value":37905,"nodeType":864},{},[],"It’s increasingly difficult to reflect a lot of the research we’re doing within the parameters of the SaaS attacks matrix when attackers are doing so much (and to varying levels) in how they architect their phishing sites, distribute links and lures, and find novel ways around authentication and access controls. ",{"data":37907,"content":37908,"nodeType":860},{},[37909],{"data":37910,"marks":37911,"value":37912,"nodeType":864},{},[],"Equally, while there’s a huge amount of valuable research and deep-dive analysis of how individual phishing kits are behaving produced by security firms, there’s a gap in how we’re bringing together this knowledge and understanding the broad strokes of why and how phishing attacks are still so successful.  ",{"data":37914,"content":37915,"nodeType":860},{},[37916],{"data":37917,"marks":37918,"value":37919,"nodeType":864},{},[],"We come across so many phishing attacks on a daily basis that it’s impossible to write a deep-dive teardown on every one — and to some extent it wouldn’t be useful to do so. What’s arguably more valuable is understanding the patterns and commonalities across phishing campaigns that can help us to understand, generally, how malicious tooling and tradecraft is evolving. ",{"data":37921,"content":37922,"nodeType":860},{},[37923,37927,37936],{"data":37924,"marks":37925,"value":37926,"nodeType":864},{},[],"So, we decided to ",{"data":37928,"content":37930,"nodeType":883},{"uri":37929},"https://pushsecurity.github.io/phishing-techniques/",[37931],{"data":37932,"marks":37933,"value":37935,"nodeType":864},{},[37934],{"type":1455},"create a new resource",{"data":37937,"marks":37938,"value":37939,"nodeType":864},{},[]," giving phishing the space to breathe that it deserves. ",{"data":37941,"content":37945,"nodeType":996},{"target":37942},{"sys":37943},{"id":37944,"type":1001,"linkType":1002},"7rK8RR8KKQ9DbBouZKnjs6",[],{"data":37947,"content":37948,"nodeType":1005},{},[],{"data":37950,"content":37951,"nodeType":1009},{},[37952],{"data":37953,"marks":37954,"value":37956,"nodeType":864},{},[37955],{"type":899},"How phishing has evolved",{"data":37958,"content":37959,"nodeType":860},{},[37960],{"data":37961,"marks":37962,"value":37963,"nodeType":864},{},[],"It’s easy to write off phishing as unsophisticated and simplistic, particularly when we think back to the first generation of phishing attacks — static HTML pages purely designed to steal your username and password, linked directly from an email. ",{"data":37965,"content":37966,"nodeType":860},{},[37967,37971,37980],{"data":37968,"marks":37969,"value":37970,"nodeType":864},{},[],"Modern phishing has changed a lot in the past decade or so. ",{"data":37972,"content":37974,"nodeType":883},{"uri":37973},"https://phishing-techniques.pushsecurity.com/techniques/aitm-phishing/",[37975],{"data":37976,"marks":37977,"value":37979,"nodeType":864},{},[37978],{"type":1455},"MFA-bypassing  Attacker-in-the-Middle (AitM) kits",{"data":37981,"marks":37982,"value":37983,"nodeType":864},{},[]," are table stakes — anyone can pick up a copy of Evilginx and immediately blow past most email and network security solutions on the market.  ",{"data":37985,"content":37986,"nodeType":860},{},[37987,37991,38000,38004,38012,38016,38025],{"data":37988,"marks":37989,"value":37990,"nodeType":864},{},[],"But the most sophisticated attacks — the ones that usually hit the headlines in the form of major breaches — are doing much more than this. The latest generation of fully customized AitM phishing kits are ",{"data":37992,"content":37994,"nodeType":883},{"uri":37993},"https://phishing-techniques.pushsecurity.com/techniques/code-obfuscation/",[37995],{"data":37996,"marks":37997,"value":37999,"nodeType":864},{},[37998],{"type":1455},"dynamically obfuscating the code that loads the web page",{"data":38001,"marks":38002,"value":38003,"nodeType":864},{},[],", implementing ",{"data":38005,"content":38006,"nodeType":883},{"uri":32819},[38007],{"data":38008,"marks":38009,"value":38011,"nodeType":864},{},[38010],{"type":1455},"bot protection through custom CAPTCHA",{"data":38013,"marks":38014,"value":38015,"nodeType":864},{},[],", and using ",{"data":38017,"content":38019,"nodeType":883},{"uri":38018},"https://phishing-techniques.pushsecurity.com/techniques/anti-sandbox/",[38020],{"data":38021,"marks":38022,"value":38024,"nodeType":864},{},[38023],{"type":1455},"runtime anti-analysis features",{"data":38026,"marks":38027,"value":38028,"nodeType":864},{},[],", making them increasingly difficult to detect by the tools most enterprises are using to combat the problem. ",{"data":38030,"content":38031,"nodeType":860},{},[38032,38036,38044,38048,38057,38061,38069],{"data":38033,"marks":38034,"value":38035,"nodeType":864},{},[],"The techniques used by attackers to deliver phishing lures are also more sophisticated. Groups like Scattered Spider have been seen using ",{"data":38037,"content":38039,"nodeType":883},{"uri":38038},"https://phishing-techniques.pushsecurity.com/techniques/malvertising/",[38040],{"data":38041,"marks":38042,"value":441,"nodeType":864},{},[38043],{"type":1455},{"data":38045,"marks":38046,"value":38047,"nodeType":864},{},[]," techniques, delivering phishing links via paid Google ads, while phishing campaigns are frequently encountered in ",{"data":38049,"content":38051,"nodeType":883},{"uri":38050},"https://phishing-techniques.pushsecurity.com/techniques/instant-messenger/",[38052],{"data":38053,"marks":38054,"value":38056,"nodeType":864},{},[38055],{"type":1455},"IM apps",{"data":38058,"marks":38059,"value":38060,"nodeType":864},{},[]," (such as Slack and Teams), as well as ",{"data":38062,"content":38063,"nodeType":883},{"uri":32744},[38064],{"data":38065,"marks":38066,"value":38068,"nodeType":864},{},[38067],{"type":1455},"public messaging services",{"data":38070,"marks":38071,"value":38072,"nodeType":864},{},[]," like LinkedIn messenger and Reddit — bypassing email altogether. ",{"data":38074,"content":38075,"nodeType":860},{},[38076,38080,38089,38093,38101],{"data":38077,"marks":38078,"value":38079,"nodeType":864},{},[],"The latest trends indicate that attackers are responding to increasingly hardened IdP/SSO configuration by using alternative phishing techniques that circumvent MFA and passkeys, either by ",{"data":38081,"content":38083,"nodeType":883},{"uri":38082},"https://phishing-techniques.pushsecurity.com/techniques/mfa-downgrade/",[38084],{"data":38085,"marks":38086,"value":38088,"nodeType":864},{},[38087],{"type":1455},"downgrading to a backup (less secure) authentication method",{"data":38090,"marks":38091,"value":38092,"nodeType":864},{},[],", or sidestepping the legitimate auth process entirely through methods like ",{"data":38094,"content":38096,"nodeType":883},{"uri":38095},"https://phishing-techniques.pushsecurity.com/techniques/consent-phishing/",[38097],{"data":38098,"marks":38099,"value":32228,"nodeType":864},{},[38100],{"type":1455},{"data":38102,"marks":38103,"value":12252,"nodeType":864},{},[],{"data":38105,"content":38106,"nodeType":860},{},[38107,38111,38120],{"data":38108,"marks":38109,"value":38110,"nodeType":864},{},[],"Attackers have also realized how much valuable data exists in Shadow SaaS highlighted by major SaaS breaches impacting apps like Snowflake. This is driving ",{"data":38112,"content":38114,"nodeType":883},{"uri":38113},"https://phishing-techniques.pushsecurity.com/techniques/saas-admins/",[38115],{"data":38116,"marks":38117,"value":38119,"nodeType":864},{},[38118],{"type":1455},"broader targeting against apps like Slack, Mailchimp, Postman, GitHub, and other commonly-used business apps directly",{"data":38121,"marks":38122,"value":38123,"nodeType":864},{},[]," — bypassing IdPs (MS, Google, Okta, etc.) that typically have more robust authentication controls in place.",{"data":38125,"content":38128,"nodeType":996},{"target":38126},{"sys":38127},{"id":32092,"type":1001,"linkType":1002},[],{"data":38130,"content":38131,"nodeType":1005},{},[],{"data":38133,"content":38134,"nodeType":1009},{},[38135],{"data":38136,"marks":38137,"value":38139,"nodeType":864},{},[38138],{"type":899},"Using the phishing detection evasion techniques matrix",{"data":38141,"content":38142,"nodeType":860},{},[38143],{"data":38144,"marks":38145,"value":38146,"nodeType":864},{},[],"With so much attacker innovation happening in the phishing space, it’s tricky for security teams and solution vendors to have a big picture view of the subtle changes attackers are making to their phishing attacks, and precisely why they’re doing it — or more specifically, which detection techniques they’re evading. ",{"data":38148,"content":38149,"nodeType":860},{},[38150],{"data":38151,"marks":38152,"value":38153,"nodeType":864},{},[],"If you look at one of the many phishing kit teardowns found in security blogs online (including our own) it can be hard to see the wood for the trees when it comes to understanding why a phishing page behaves in the way it does — why is it behaving in this way? What control exactly is this trying to get around? ",{"data":38155,"content":38156,"nodeType":860},{},[38157],{"data":38158,"marks":38159,"value":38160,"nodeType":864},{},[],"By creating a simple framework breaking down the categories of a phishing attack into phases, each with its own specific attacker objective, we can better understand phishing kit behavior and track meaningful changes over time. This ensures that we understand how we need to adapt to as an industry in order to detect and block these attacks. ",{"data":38162,"content":38163,"nodeType":860},{},[38164],{"data":38165,"marks":38166,"value":38167,"nodeType":864},{},[],"The matrix covers the following categories:",{"data":38169,"content":38170,"nodeType":941},{},[38171,38186,38201,38216,38231,38246,38261,38276],{"data":38172,"content":38173,"nodeType":945},{},[38174],{"data":38175,"content":38176,"nodeType":860},{},[38177,38182],{"data":38178,"marks":38179,"value":38181,"nodeType":864},{},[38180],{"type":899},"Phase 1: Targeting",{"data":38183,"marks":38184,"value":38185,"nodeType":864},{},[]," — Identifying apps and users to evade security controls and achieve the shortest time-to-impact of a phishing attack. ",{"data":38187,"content":38188,"nodeType":945},{},[38189],{"data":38190,"content":38191,"nodeType":860},{},[38192,38197],{"data":38193,"marks":38194,"value":38196,"nodeType":864},{},[38195],{"type":899},"Phase 2: Link delivery",{"data":38198,"marks":38199,"value":38200,"nodeType":864},{},[]," — Deliver links using phishing vectors that evade traditional security controls. ",{"data":38202,"content":38203,"nodeType":945},{},[38204],{"data":38205,"content":38206,"nodeType":860},{},[38207,38212],{"data":38208,"marks":38209,"value":38211,"nodeType":864},{},[38210],{"type":899},"Phase 3: Link camouflage",{"data":38213,"marks":38214,"value":38215,"nodeType":864},{},[]," — Masking malicious links to prevent detection at the email, network proxy, or safe browsing layer. ",{"data":38217,"content":38218,"nodeType":945},{},[38219],{"data":38220,"content":38221,"nodeType":860},{},[38222,38227],{"data":38223,"marks":38224,"value":38226,"nodeType":864},{},[38225],{"type":899},"Phase 4: TI evasion ",{"data":38228,"marks":38229,"value":38230,"nodeType":864},{},[],"— Preventing TI feeds from flagging and blocking known-bad domains by masking or changing elements likely to be flagged.",{"data":38232,"content":38233,"nodeType":945},{},[38234],{"data":38235,"content":38236,"nodeType":860},{},[38237,38242],{"data":38238,"marks":38239,"value":38241,"nodeType":864},{},[38240],{"type":899},"Phase 5: Anti-analysis",{"data":38243,"marks":38244,"value":38245,"nodeType":864},{},[]," — Techniques to defeat automated “sandbox” analysis tools by preventing security teams and bots from accessing the page.",{"data":38247,"content":38248,"nodeType":945},{},[38249],{"data":38250,"content":38251,"nodeType":860},{},[38252,38257],{"data":38253,"marks":38254,"value":38256,"nodeType":864},{},[38255],{"type":899},"Phase 6: Page obfuscation",{"data":38258,"marks":38259,"value":38260,"nodeType":864},{},[]," — Obfuscating page elements to break detection signatures analysing page content and code. ",{"data":38262,"content":38263,"nodeType":945},{},[38264],{"data":38265,"content":38266,"nodeType":860},{},[38267,38272],{"data":38268,"marks":38269,"value":38271,"nodeType":864},{},[38270],{"type":899},"Phase 7: Defeat MFA & CA",{"data":38273,"marks":38274,"value":38275,"nodeType":864},{},[]," — Defeat authentication and access controls in order to successfully execute the phishing attack.",{"data":38277,"content":38278,"nodeType":945},{},[38279],{"data":38280,"content":38281,"nodeType":860},{},[38282,38287],{"data":38283,"marks":38284,"value":38286,"nodeType":864},{},[38285],{"type":899},"Phase 8: Account takeover",{"data":38288,"marks":38289,"value":38290,"nodeType":864},{},[]," — Achieve a form of account takeover and conclude the identity attack, enabling further exploitation to take place.",{"data":38292,"content":38293,"nodeType":860},{},[38294],{"data":38295,"marks":38296,"value":38297,"nodeType":864},{},[],"Combining techniques and approaches from these categories is what enables attackers to bypass the majority of phishing detection controls they encounter today. You typically find that the more advanced the phishing kit / attacker, the more techniques they’ll leverage. And as phishing infrastructure becomes increasingly templated and commodified with as-a-Service or for-hire models, the average phishing attack will employ more of these measures to counter security controls. ",{"data":38299,"content":38300,"nodeType":1005},{},[],{"data":38302,"content":38303,"nodeType":1009},{},[38304],{"data":38305,"marks":38306,"value":30213,"nodeType":864},{},[38307],{"type":899},{"data":38309,"content":38310,"nodeType":860},{},[38311,38314,38322],{"data":38312,"marks":38313,"value":21,"nodeType":864},{},[],{"data":38315,"content":38316,"nodeType":883},{"uri":37929},[38317],{"data":38318,"marks":38319,"value":38321,"nodeType":864},{},[38320],{"type":1455},"You can find the matrix here.",{"data":38323,"marks":38324,"value":21,"nodeType":864},{},[],{"data":38326,"content":38327,"nodeType":860},{},[38328,38332,38339],{"data":38329,"marks":38330,"value":38331,"nodeType":864},{},[],"If you want to learn more about the research that led us to this point, and our take on how and why phishing attacks have evolved, ",{"data":38333,"content":38334,"nodeType":883},{"uri":36440},[38335],{"data":38336,"marks":38337,"value":38338,"nodeType":864},{},[],"you can also check out our latest whitepaper. ",{"data":38340,"marks":38341,"value":21,"nodeType":864},{},[],{"data":38343,"content":38344,"nodeType":1005},{},[],{"data":38346,"content":38347,"nodeType":1009},{},[38348],{"data":38349,"marks":38350,"value":38352,"nodeType":864},{},[38351],{"type":899},"Get involved!",{"data":38354,"content":38355,"nodeType":860},{},[38356,38360,38366],{"data":38357,"marks":38358,"value":38359,"nodeType":864},{},[],"Like the ",{"data":38361,"content":38362,"nodeType":883},{"uri":6418},[38363],{"data":38364,"marks":38365,"value":5765,"nodeType":864},{},[],{"data":38367,"marks":38368,"value":38369,"nodeType":864},{},[],", we’d love to see the security community using and helping us to maintain this resource to ensure it stays up to date with techniques as they evolve. ",{"data":38371,"content":38372,"nodeType":860},{},[38373],{"data":38374,"marks":38375,"value":38376,"nodeType":864},{},[],"Unlike the SaaS matrix, which we’ve seen mostly leveraged by offensive security practitioners, phishing detection evasion techniques are most useful to blue teamers looking to assess current detection capabilities and understand why certain attacks got through existing defenses. ",{"data":38378,"content":38379,"nodeType":860},{},[38380,38384,38392],{"data":38381,"marks":38382,"value":38383,"nodeType":864},{},[],"If you’d like to add techniques you’ve observed or examples that you think demonstrate them, ",{"data":38385,"content":38387,"nodeType":883},{"uri":38386},"https://github.com/pushsecurity/phishing-techniques",[38388],{"data":38389,"marks":38390,"value":38391,"nodeType":864},{},[],"get involved on GitHub!",{"data":38393,"marks":38394,"value":21,"nodeType":864},{},[],"Introducing our guide to phishing detection evasion techniques","Introducing our latest resource for security teams breaking down the techniques that modern phishing attacks are using to evade detection. ","2025-08-06T00:00:00.000Z","phishing-detection-evasion-launch",{"items":38400},[38401,38403],{"sys":38402,"name":342},{"id":6596},{"sys":38404,"name":6593},{"id":6592},{"items":38406},[38407],{"fullName":38408,"firstName":38409,"jobTitle":38410,"profilePicture":38411},"Jacques Louw","Jacques","Co-founder / CRO",{"url":38412},"https://images.ctfassets.net/y1cdw1ablpvd/39m8bektV23lnCRcEq0G8h/2a08f6276a50744f1a4b499b273f6bb2/Push_Founders_at_Cahoots_October_28_2022_by_Doug_Coombe-21.jpg","how-the-browser-became-the-main-cyber-battleground","blog/how-the-browser-became-the-main-cyber-battleground",{"json":38416},{"data":38417,"content":38418,"nodeType":856},{},[38419],{"data":38420,"content":38421,"nodeType":860},{},[38422],{"data":38423,"marks":38424,"value":38425,"nodeType":864},{},[],"How attacks have moved away from endpoints and internal networks to the browser — a blind spot for traditional security tools.",{"id":38427,"publishedAt":38428},"31m73YMGdCyqVmjHulBwER","2026-08-12T11:53:53.682Z",{"items":38430},[38431,38433],{"sys":38432,"name":342},{"id":6596},{"sys":38434,"name":6593},{"id":6592},{"items":38436},[38437,38439,38441,38443,38445,38447,38449,38451,38453,38455,38457,38459,38461,38463,38465,38467,38469,38471,38473,38475,38477,38479,38481,38483,38485],{"sys":38438,"name":279,"slug":280,"tier":31},{"id":276},{"sys":38440,"name":297,"slug":298,"tier":31},{"id":294},{"sys":38442,"name":413,"slug":414,"tier":31},{"id":410},{"sys":38444,"name":519,"slug":520,"tier":31},{"id":516},{"sys":38446,"name":545,"slug":546,"tier":31},{"id":542},{"sys":38448,"name":342,"slug":343,"tier":31},{"id":339},{"sys":38450,"name":642,"slug":643,"tier":31},{"id":639},{"sys":38452,"name":377,"slug":378,"tier":45},{"id":374},{"sys":38454,"name":404,"slug":405,"tier":45},{"id":401},{"sys":38456,"name":324,"slug":325,"tier":45},{"id":321},{"sys":38458,"name":333,"slug":334,"tier":45},{"id":330},{"sys":38460,"name":571,"slug":572,"tier":45},{"id":568},{"sys":38462,"name":422,"slug":423,"tier":45},{"id":419},{"sys":38464,"name":261,"slug":262,"tier":45},{"id":258},{"sys":38466,"name":466,"slug":467,"tier":45},{"id":463},{"sys":38468,"name":457,"slug":458,"tier":45},{"id":454},{"sys":38470,"name":395,"slug":396,"tier":45},{"id":392},{"sys":38472,"name":288,"slug":289,"tier":45},{"id":285},{"sys":38474,"name":484,"slug":485,"tier":45},{"id":481},{"sys":38476,"name":589,"slug":590,"tier":45},{"id":586},{"sys":38478,"name":607,"slug":608,"tier":45},{"id":604},{"sys":38480,"name":475,"slug":476,"tier":45},{"id":472},{"sys":38482,"name":511,"slug":512,"tier":45},{"id":508},{"sys":38484,"name":493,"slug":494,"tier":45},{"id":490},{"sys":38486,"name":440,"slug":441,"tier":45},{"id":437},"PonpZ2he3fGXpKQWTeIZC0k0nbZ5ZfYtQyn8NDwmYDI",{"id":38489,"title":38395,"authorsCollection":38490,"content":38496,"extension":228,"faqItemsCollection":38983,"faqTitle":59,"featured":6,"hashTags":59,"meta":38985,"metaTitle":38986,"ogImage":59,"postType":38987,"publishedDate":38397,"relatedBlogPostsCollection":38988,"slug":38398,"stem":41153,"subtitle":59,"summary":41154,"synopsis":38396,"sys":41165,"tagsCollection":41167,"topicsCollection":41173,"__hash__":41211},"blog/blog/phishing-detection-evasion-launch.json",{"items":38491},[38492],{"fullName":38408,"firstName":38409,"jobTitle":38410,"socialLinks":38493,"profilePicture":38495},[38494],"https://www.linkedin.com/in/jacques-louw-o-62608594/",{"url":38412},{"json":38497,"links":38967},{"data":38498,"content":38499,"nodeType":856},{},[38500,38516,38522,38543,38549,38555,38561,38577,38582,38585,38592,38598,38614,38650,38686,38712,38728,38733,38736,38743,38749,38755,38761,38767,38874,38880,38883,38890,38906,38921,38924,38931,38946,38952],{"data":38501,"content":38502,"nodeType":860},{},[38503,38506,38513],{"data":38504,"marks":38505,"value":37856,"nodeType":864},{},[],{"data":38507,"content":38508,"nodeType":883},{"uri":6418},[38509],{"data":38510,"marks":38511,"value":37864,"nodeType":864},{},[38512],{"type":1455},{"data":38514,"marks":38515,"value":37868,"nodeType":864},{},[],{"data":38517,"content":38518,"nodeType":860},{},[38519],{"data":38520,"marks":38521,"value":37875,"nodeType":864},{},[],{"data":38523,"content":38524,"nodeType":941},{},[38525,38534],{"data":38526,"content":38527,"nodeType":945},{},[38528],{"data":38529,"content":38530,"nodeType":860},{},[38531],{"data":38532,"marks":38533,"value":37888,"nodeType":864},{},[],{"data":38535,"content":38536,"nodeType":945},{},[38537],{"data":38538,"content":38539,"nodeType":860},{},[38540],{"data":38541,"marks":38542,"value":37898,"nodeType":864},{},[],{"data":38544,"content":38545,"nodeType":860},{},[38546],{"data":38547,"marks":38548,"value":37905,"nodeType":864},{},[],{"data":38550,"content":38551,"nodeType":860},{},[38552],{"data":38553,"marks":38554,"value":37912,"nodeType":864},{},[],{"data":38556,"content":38557,"nodeType":860},{},[38558],{"data":38559,"marks":38560,"value":37919,"nodeType":864},{},[],{"data":38562,"content":38563,"nodeType":860},{},[38564,38567,38574],{"data":38565,"marks":38566,"value":37926,"nodeType":864},{},[],{"data":38568,"content":38569,"nodeType":883},{"uri":37929},[38570],{"data":38571,"marks":38572,"value":37935,"nodeType":864},{},[38573],{"type":1455},{"data":38575,"marks":38576,"value":37939,"nodeType":864},{},[],{"data":38578,"content":38581,"nodeType":996},{"target":38579},{"sys":38580},{"id":37944,"type":1001,"linkType":1002},[],{"data":38583,"content":38584,"nodeType":1005},{},[],{"data":38586,"content":38587,"nodeType":1009},{},[38588],{"data":38589,"marks":38590,"value":37956,"nodeType":864},{},[38591],{"type":899},{"data":38593,"content":38594,"nodeType":860},{},[38595],{"data":38596,"marks":38597,"value":37963,"nodeType":864},{},[],{"data":38599,"content":38600,"nodeType":860},{},[38601,38604,38611],{"data":38602,"marks":38603,"value":37970,"nodeType":864},{},[],{"data":38605,"content":38606,"nodeType":883},{"uri":37973},[38607],{"data":38608,"marks":38609,"value":37979,"nodeType":864},{},[38610],{"type":1455},{"data":38612,"marks":38613,"value":37983,"nodeType":864},{},[],{"data":38615,"content":38616,"nodeType":860},{},[38617,38620,38627,38630,38637,38640,38647],{"data":38618,"marks":38619,"value":37990,"nodeType":864},{},[],{"data":38621,"content":38622,"nodeType":883},{"uri":37993},[38623],{"data":38624,"marks":38625,"value":37999,"nodeType":864},{},[38626],{"type":1455},{"data":38628,"marks":38629,"value":38003,"nodeType":864},{},[],{"data":38631,"content":38632,"nodeType":883},{"uri":32819},[38633],{"data":38634,"marks":38635,"value":38011,"nodeType":864},{},[38636],{"type":1455},{"data":38638,"marks":38639,"value":38015,"nodeType":864},{},[],{"data":38641,"content":38642,"nodeType":883},{"uri":38018},[38643],{"data":38644,"marks":38645,"value":38024,"nodeType":864},{},[38646],{"type":1455},{"data":38648,"marks":38649,"value":38028,"nodeType":864},{},[],{"data":38651,"content":38652,"nodeType":860},{},[38653,38656,38663,38666,38673,38676,38683],{"data":38654,"marks":38655,"value":38035,"nodeType":864},{},[],{"data":38657,"content":38658,"nodeType":883},{"uri":38038},[38659],{"data":38660,"marks":38661,"value":441,"nodeType":864},{},[38662],{"type":1455},{"data":38664,"marks":38665,"value":38047,"nodeType":864},{},[],{"data":38667,"content":38668,"nodeType":883},{"uri":38050},[38669],{"data":38670,"marks":38671,"value":38056,"nodeType":864},{},[38672],{"type":1455},{"data":38674,"marks":38675,"value":38060,"nodeType":864},{},[],{"data":38677,"content":38678,"nodeType":883},{"uri":32744},[38679],{"data":38680,"marks":38681,"value":38068,"nodeType":864},{},[38682],{"type":1455},{"data":38684,"marks":38685,"value":38072,"nodeType":864},{},[],{"data":38687,"content":38688,"nodeType":860},{},[38689,38692,38699,38702,38709],{"data":38690,"marks":38691,"value":38079,"nodeType":864},{},[],{"data":38693,"content":38694,"nodeType":883},{"uri":38082},[38695],{"data":38696,"marks":38697,"value":38088,"nodeType":864},{},[38698],{"type":1455},{"data":38700,"marks":38701,"value":38092,"nodeType":864},{},[],{"data":38703,"content":38704,"nodeType":883},{"uri":38095},[38705],{"data":38706,"marks":38707,"value":32228,"nodeType":864},{},[38708],{"type":1455},{"data":38710,"marks":38711,"value":12252,"nodeType":864},{},[],{"data":38713,"content":38714,"nodeType":860},{},[38715,38718,38725],{"data":38716,"marks":38717,"value":38110,"nodeType":864},{},[],{"data":38719,"content":38720,"nodeType":883},{"uri":38113},[38721],{"data":38722,"marks":38723,"value":38119,"nodeType":864},{},[38724],{"type":1455},{"data":38726,"marks":38727,"value":38123,"nodeType":864},{},[],{"data":38729,"content":38732,"nodeType":996},{"target":38730},{"sys":38731},{"id":32092,"type":1001,"linkType":1002},[],{"data":38734,"content":38735,"nodeType":1005},{},[],{"data":38737,"content":38738,"nodeType":1009},{},[38739],{"data":38740,"marks":38741,"value":38139,"nodeType":864},{},[38742],{"type":899},{"data":38744,"content":38745,"nodeType":860},{},[38746],{"data":38747,"marks":38748,"value":38146,"nodeType":864},{},[],{"data":38750,"content":38751,"nodeType":860},{},[38752],{"data":38753,"marks":38754,"value":38153,"nodeType":864},{},[],{"data":38756,"content":38757,"nodeType":860},{},[38758],{"data":38759,"marks":38760,"value":38160,"nodeType":864},{},[],{"data":38762,"content":38763,"nodeType":860},{},[38764],{"data":38765,"marks":38766,"value":38167,"nodeType":864},{},[],{"data":38768,"content":38769,"nodeType":941},{},[38770,38783,38796,38809,38822,38835,38848,38861],{"data":38771,"content":38772,"nodeType":945},{},[38773],{"data":38774,"content":38775,"nodeType":860},{},[38776,38780],{"data":38777,"marks":38778,"value":38181,"nodeType":864},{},[38779],{"type":899},{"data":38781,"marks":38782,"value":38185,"nodeType":864},{},[],{"data":38784,"content":38785,"nodeType":945},{},[38786],{"data":38787,"content":38788,"nodeType":860},{},[38789,38793],{"data":38790,"marks":38791,"value":38196,"nodeType":864},{},[38792],{"type":899},{"data":38794,"marks":38795,"value":38200,"nodeType":864},{},[],{"data":38797,"content":38798,"nodeType":945},{},[38799],{"data":38800,"content":38801,"nodeType":860},{},[38802,38806],{"data":38803,"marks":38804,"value":38211,"nodeType":864},{},[38805],{"type":899},{"data":38807,"marks":38808,"value":38215,"nodeType":864},{},[],{"data":38810,"content":38811,"nodeType":945},{},[38812],{"data":38813,"content":38814,"nodeType":860},{},[38815,38819],{"data":38816,"marks":38817,"value":38226,"nodeType":864},{},[38818],{"type":899},{"data":38820,"marks":38821,"value":38230,"nodeType":864},{},[],{"data":38823,"content":38824,"nodeType":945},{},[38825],{"data":38826,"content":38827,"nodeType":860},{},[38828,38832],{"data":38829,"marks":38830,"value":38241,"nodeType":864},{},[38831],{"type":899},{"data":38833,"marks":38834,"value":38245,"nodeType":864},{},[],{"data":38836,"content":38837,"nodeType":945},{},[38838],{"data":38839,"content":38840,"nodeType":860},{},[38841,38845],{"data":38842,"marks":38843,"value":38256,"nodeType":864},{},[38844],{"type":899},{"data":38846,"marks":38847,"value":38260,"nodeType":864},{},[],{"data":38849,"content":38850,"nodeType":945},{},[38851],{"data":38852,"content":38853,"nodeType":860},{},[38854,38858],{"data":38855,"marks":38856,"value":38271,"nodeType":864},{},[38857],{"type":899},{"data":38859,"marks":38860,"value":38275,"nodeType":864},{},[],{"data":38862,"content":38863,"nodeType":945},{},[38864],{"data":38865,"content":38866,"nodeType":860},{},[38867,38871],{"data":38868,"marks":38869,"value":38286,"nodeType":864},{},[38870],{"type":899},{"data":38872,"marks":38873,"value":38290,"nodeType":864},{},[],{"data":38875,"content":38876,"nodeType":860},{},[38877],{"data":38878,"marks":38879,"value":38297,"nodeType":864},{},[],{"data":38881,"content":38882,"nodeType":1005},{},[],{"data":38884,"content":38885,"nodeType":1009},{},[38886],{"data":38887,"marks":38888,"value":30213,"nodeType":864},{},[38889],{"type":899},{"data":38891,"content":38892,"nodeType":860},{},[38893,38896,38903],{"data":38894,"marks":38895,"value":21,"nodeType":864},{},[],{"data":38897,"content":38898,"nodeType":883},{"uri":37929},[38899],{"data":38900,"marks":38901,"value":38321,"nodeType":864},{},[38902],{"type":1455},{"data":38904,"marks":38905,"value":21,"nodeType":864},{},[],{"data":38907,"content":38908,"nodeType":860},{},[38909,38912,38918],{"data":38910,"marks":38911,"value":38331,"nodeType":864},{},[],{"data":38913,"content":38914,"nodeType":883},{"uri":36440},[38915],{"data":38916,"marks":38917,"value":38338,"nodeType":864},{},[],{"data":38919,"marks":38920,"value":21,"nodeType":864},{},[],{"data":38922,"content":38923,"nodeType":1005},{},[],{"data":38925,"content":38926,"nodeType":1009},{},[38927],{"data":38928,"marks":38929,"value":38352,"nodeType":864},{},[38930],{"type":899},{"data":38932,"content":38933,"nodeType":860},{},[38934,38937,38943],{"data":38935,"marks":38936,"value":38359,"nodeType":864},{},[],{"data":38938,"content":38939,"nodeType":883},{"uri":6418},[38940],{"data":38941,"marks":38942,"value":5765,"nodeType":864},{},[],{"data":38944,"marks":38945,"value":38369,"nodeType":864},{},[],{"data":38947,"content":38948,"nodeType":860},{},[38949],{"data":38950,"marks":38951,"value":38376,"nodeType":864},{},[],{"data":38953,"content":38954,"nodeType":860},{},[38955,38958,38964],{"data":38956,"marks":38957,"value":38383,"nodeType":864},{},[],{"data":38959,"content":38960,"nodeType":883},{"uri":38386},[38961],{"data":38962,"marks":38963,"value":38391,"nodeType":864},{},[],{"data":38965,"marks":38966,"value":21,"nodeType":864},{},[],{"entries":38968},{"hyperlink":38969,"inline":38970,"block":38971},[],[],[38972,38979],{"sys":38973,"__typename":1724,"title":38974,"caption":59,"layoutMode":59,"file":38975},{"id":37944},"Phishing evasion techniques matrix",{"url":38976,"width":38977,"height":38978},"https://images.ctfassets.net/y1cdw1ablpvd/2cWkqvkdur2bE8wcXDBp5k/a0dce8da8d4210b845da30e4653119d3/Group_543__1_.png",2224,1401,{"sys":38980,"__typename":1717,"type":1718,"ctaText":38981,"buttonLabel":38982,"buttonColour":1721,"buttonUrl":36440},{"id":32092},"Learn more about how phishing attacks have evolved and why they're so effective at evading detection controls.","Get the Whitepaper",{"items":38984},[],{},"How modern phishing attacks evade detection controls","guide",{"items":38989},[38990,39850,40521],{"__typename":2059,"sys":38991,"content":38992,"title":37469,"synopsis":37470,"hashTags":59,"publishedDate":37471,"slug":37472,"tagsCollection":39840,"authorsCollection":39846},{"id":36484},{"json":38993},{"data":38994,"content":38995,"nodeType":856},{},[38996,39002,39012,39022,39032,39042,39047,39063,39069,39082,39088,39093,39096,39103,39109,39115,39121,39126,39129,39136,39142,39158,39164,39170,39176,39182,39187,39193,39199,39205,39230,39236,39252,39258,39264,39280,39296,39312,39317,39323,39336,39342,39348,39354,39370,39377,39383,39389,39392,39399,39405,39411,39417,39456,39461,39467,39480,39557,39562,39568,39574,39631,39637,39643,39649,39654,39660,39666,39672,39677,39683,39689,39695,39700,39716,39722,39728,39767,39772,39775,39782,39802,39805,39812,39818,39824],{"data":38997,"content":38998,"nodeType":860},{},[38999],{"data":39000,"marks":39001,"value":36495,"nodeType":864},{},[],{"data":39003,"content":39004,"nodeType":860},{},[39005,39009],{"data":39006,"marks":39007,"value":36503,"nodeType":864},{},[39008],{"type":899},{"data":39010,"marks":39011,"value":36507,"nodeType":864},{},[],{"data":39013,"content":39014,"nodeType":860},{},[39015,39019],{"data":39016,"marks":39017,"value":36515,"nodeType":864},{},[39018],{"type":899},{"data":39020,"marks":39021,"value":36519,"nodeType":864},{},[],{"data":39023,"content":39024,"nodeType":860},{},[39025,39029],{"data":39026,"marks":39027,"value":36527,"nodeType":864},{},[39028],{"type":899},{"data":39030,"marks":39031,"value":36531,"nodeType":864},{},[],{"data":39033,"content":39034,"nodeType":860},{},[39035,39039],{"data":39036,"marks":39037,"value":36539,"nodeType":864},{},[39038],{"type":899},{"data":39040,"marks":39041,"value":36543,"nodeType":864},{},[],{"data":39043,"content":39046,"nodeType":996},{"target":39044},{"sys":39045},{"id":36548,"type":1001,"linkType":1002},[],{"data":39048,"content":39049,"nodeType":860},{},[39050,39053,39060],{"data":39051,"marks":39052,"value":36556,"nodeType":864},{},[],{"data":39054,"content":39055,"nodeType":883},{"uri":36559},[39056],{"data":39057,"marks":39058,"value":36565,"nodeType":864},{},[39059],{"type":1455},{"data":39061,"marks":39062,"value":36569,"nodeType":864},{},[],{"data":39064,"content":39065,"nodeType":860},{},[39066],{"data":39067,"marks":39068,"value":36576,"nodeType":864},{},[],{"data":39070,"content":39071,"nodeType":860},{},[39072,39075,39079],{"data":39073,"marks":39074,"value":36583,"nodeType":864},{},[],{"data":39076,"marks":39077,"value":36588,"nodeType":864},{},[39078],{"type":899},{"data":39080,"marks":39081,"value":36592,"nodeType":864},{},[],{"data":39083,"content":39084,"nodeType":860},{},[39085],{"data":39086,"marks":39087,"value":36599,"nodeType":864},{},[],{"data":39089,"content":39092,"nodeType":996},{"target":39090},{"sys":39091},{"id":36604,"type":1001,"linkType":1002},[],{"data":39094,"content":39095,"nodeType":1005},{},[],{"data":39097,"content":39098,"nodeType":1009},{},[39099],{"data":39100,"marks":39101,"value":36616,"nodeType":864},{},[39102],{"type":899},{"data":39104,"content":39105,"nodeType":860},{},[39106],{"data":39107,"marks":39108,"value":36623,"nodeType":864},{},[],{"data":39110,"content":39111,"nodeType":860},{},[39112],{"data":39113,"marks":39114,"value":36630,"nodeType":864},{},[],{"data":39116,"content":39117,"nodeType":860},{},[39118],{"data":39119,"marks":39120,"value":36637,"nodeType":864},{},[],{"data":39122,"content":39125,"nodeType":996},{"target":39123},{"sys":39124},{"id":36642,"type":1001,"linkType":1002},[],{"data":39127,"content":39128,"nodeType":1005},{},[],{"data":39130,"content":39131,"nodeType":1009},{},[39132],{"data":39133,"marks":39134,"value":36654,"nodeType":864},{},[39135],{"type":899},{"data":39137,"content":39138,"nodeType":860},{},[39139],{"data":39140,"marks":39141,"value":36661,"nodeType":864},{},[],{"data":39143,"content":39144,"nodeType":860},{},[39145,39148,39155],{"data":39146,"marks":39147,"value":36668,"nodeType":864},{},[],{"data":39149,"content":39150,"nodeType":883},{"uri":35177},[39151],{"data":39152,"marks":39153,"value":36676,"nodeType":864},{},[39154],{"type":1455},{"data":39156,"marks":39157,"value":36680,"nodeType":864},{},[],{"data":39159,"content":39160,"nodeType":860},{},[39161],{"data":39162,"marks":39163,"value":36687,"nodeType":864},{},[],{"data":39165,"content":39166,"nodeType":860},{},[39167],{"data":39168,"marks":39169,"value":36694,"nodeType":864},{},[],{"data":39171,"content":39172,"nodeType":1312},{},[39173],{"data":39174,"marks":39175,"value":36701,"nodeType":864},{},[],{"data":39177,"content":39178,"nodeType":860},{},[39179],{"data":39180,"marks":39181,"value":36708,"nodeType":864},{},[],{"data":39183,"content":39186,"nodeType":996},{"target":39184},{"sys":39185},{"id":36713,"type":1001,"linkType":1002},[],{"data":39188,"content":39189,"nodeType":860},{},[39190],{"data":39191,"marks":39192,"value":36721,"nodeType":864},{},[],{"data":39194,"content":39195,"nodeType":1312},{},[39196],{"data":39197,"marks":39198,"value":36728,"nodeType":864},{},[],{"data":39200,"content":39201,"nodeType":860},{},[39202],{"data":39203,"marks":39204,"value":36735,"nodeType":864},{},[],{"data":39206,"content":39207,"nodeType":860},{},[39208,39211,39219,39223,39226],{"data":39209,"marks":39210,"value":36742,"nodeType":864},{},[],{"data":39212,"content":39213,"nodeType":883},{"uri":7494},[39214],{"data":39215,"marks":39216,"value":36751,"nodeType":864},{},[39217,39218],{"type":1455},{"type":899},{"data":39220,"marks":39221,"value":1171,"nodeType":864},{},[39222],{"type":899},{"data":39224,"marks":39225,"value":36759,"nodeType":864},{},[],{"data":39227,"marks":39228,"value":35748,"nodeType":864},{},[39229],{"type":899},{"data":39231,"content":39232,"nodeType":860},{},[39233],{"data":39234,"marks":39235,"value":36770,"nodeType":864},{},[],{"data":39237,"content":39238,"nodeType":860},{},[39239,39242,39249],{"data":39240,"marks":39241,"value":36777,"nodeType":864},{},[],{"data":39243,"content":39244,"nodeType":883},{"uri":36559},[39245],{"data":39246,"marks":39247,"value":36785,"nodeType":864},{},[39248],{"type":1455},{"data":39250,"marks":39251,"value":36789,"nodeType":864},{},[],{"data":39253,"content":39254,"nodeType":1312},{},[39255],{"data":39256,"marks":39257,"value":36796,"nodeType":864},{},[],{"data":39259,"content":39260,"nodeType":860},{},[39261],{"data":39262,"marks":39263,"value":36803,"nodeType":864},{},[],{"data":39265,"content":39266,"nodeType":860},{},[39267,39270,39277],{"data":39268,"marks":39269,"value":36810,"nodeType":864},{},[],{"data":39271,"content":39272,"nodeType":883},{"uri":36813},[39273],{"data":39274,"marks":39275,"value":36819,"nodeType":864},{},[39276],{"type":1455},{"data":39278,"marks":39279,"value":36823,"nodeType":864},{},[],{"data":39281,"content":39282,"nodeType":860},{},[39283,39286,39293],{"data":39284,"marks":39285,"value":36830,"nodeType":864},{},[],{"data":39287,"content":39288,"nodeType":883},{"uri":36833},[39289],{"data":39290,"marks":39291,"value":36839,"nodeType":864},{},[39292],{"type":1455},{"data":39294,"marks":39295,"value":36843,"nodeType":864},{},[],{"data":39297,"content":39298,"nodeType":860},{},[39299,39302,39309],{"data":39300,"marks":39301,"value":36850,"nodeType":864},{},[],{"data":39303,"content":39304,"nodeType":883},{"uri":36853},[39305],{"data":39306,"marks":39307,"value":36859,"nodeType":864},{},[39308],{"type":1455},{"data":39310,"marks":39311,"value":36863,"nodeType":864},{},[],{"data":39313,"content":39316,"nodeType":996},{"target":39314},{"sys":39315},{"id":36868,"type":1001,"linkType":1002},[],{"data":39318,"content":39319,"nodeType":1312},{},[39320],{"data":39321,"marks":39322,"value":36876,"nodeType":864},{},[],{"data":39324,"content":39325,"nodeType":860},{},[39326,39329,39333],{"data":39327,"marks":39328,"value":36883,"nodeType":864},{},[],{"data":39330,"marks":39331,"value":36888,"nodeType":864},{},[39332],{"type":2246},{"data":39334,"marks":39335,"value":36892,"nodeType":864},{},[],{"data":39337,"content":39338,"nodeType":860},{},[39339],{"data":39340,"marks":39341,"value":36899,"nodeType":864},{},[],{"data":39343,"content":39344,"nodeType":860},{},[39345],{"data":39346,"marks":39347,"value":36906,"nodeType":864},{},[],{"data":39349,"content":39350,"nodeType":860},{},[39351],{"data":39352,"marks":39353,"value":36913,"nodeType":864},{},[],{"data":39355,"content":39356,"nodeType":860},{},[39357,39360,39367],{"data":39358,"marks":39359,"value":36920,"nodeType":864},{},[],{"data":39361,"content":39362,"nodeType":883},{"uri":26784},[39363],{"data":39364,"marks":39365,"value":36928,"nodeType":864},{},[39366],{"type":1455},{"data":39368,"marks":39369,"value":36932,"nodeType":864},{},[],{"data":39371,"content":39372,"nodeType":860},{},[39373],{"data":39374,"marks":39375,"value":36940,"nodeType":864},{},[39376],{"type":899},{"data":39378,"content":39379,"nodeType":860},{},[39380],{"data":39381,"marks":39382,"value":36947,"nodeType":864},{},[],{"data":39384,"content":39385,"nodeType":860},{},[39386],{"data":39387,"marks":39388,"value":36954,"nodeType":864},{},[],{"data":39390,"content":39391,"nodeType":1005},{},[],{"data":39393,"content":39394,"nodeType":1009},{},[39395],{"data":39396,"marks":39397,"value":36965,"nodeType":864},{},[39398],{"type":899},{"data":39400,"content":39401,"nodeType":860},{},[39402],{"data":39403,"marks":39404,"value":36972,"nodeType":864},{},[],{"data":39406,"content":39407,"nodeType":860},{},[39408],{"data":39409,"marks":39410,"value":36979,"nodeType":864},{},[],{"data":39412,"content":39413,"nodeType":860},{},[39414],{"data":39415,"marks":39416,"value":36986,"nodeType":864},{},[],{"data":39418,"content":39419,"nodeType":941},{},[39420,39429,39438,39447],{"data":39421,"content":39422,"nodeType":945},{},[39423],{"data":39424,"content":39425,"nodeType":860},{},[39426],{"data":39427,"marks":39428,"value":36999,"nodeType":864},{},[],{"data":39430,"content":39431,"nodeType":945},{},[39432],{"data":39433,"content":39434,"nodeType":860},{},[39435],{"data":39436,"marks":39437,"value":37009,"nodeType":864},{},[],{"data":39439,"content":39440,"nodeType":945},{},[39441],{"data":39442,"content":39443,"nodeType":860},{},[39444],{"data":39445,"marks":39446,"value":37019,"nodeType":864},{},[],{"data":39448,"content":39449,"nodeType":945},{},[39450],{"data":39451,"content":39452,"nodeType":860},{},[39453],{"data":39454,"marks":39455,"value":37029,"nodeType":864},{},[],{"data":39457,"content":39460,"nodeType":996},{"target":39458},{"sys":39459},{"id":37034,"type":1001,"linkType":1002},[],{"data":39462,"content":39463,"nodeType":860},{},[39464],{"data":39465,"marks":39466,"value":37042,"nodeType":864},{},[],{"data":39468,"content":39469,"nodeType":860},{},[39470,39473,39477],{"data":39471,"marks":39472,"value":37049,"nodeType":864},{},[],{"data":39474,"marks":39475,"value":36588,"nodeType":864},{},[39476],{"type":899},{"data":39478,"marks":39479,"value":37057,"nodeType":864},{},[],{"data":39481,"content":39482,"nodeType":941},{},[39483,39512,39521,39530,39539,39548],{"data":39484,"content":39485,"nodeType":945},{},[39486],{"data":39487,"content":39488,"nodeType":860},{},[39489,39492,39499,39502,39509],{"data":39490,"marks":39491,"value":37070,"nodeType":864},{},[],{"data":39493,"content":39494,"nodeType":883},{"uri":37073},[39495],{"data":39496,"marks":39497,"value":37079,"nodeType":864},{},[39498],{"type":1455},{"data":39500,"marks":39501,"value":37083,"nodeType":864},{},[],{"data":39503,"content":39504,"nodeType":883},{"uri":37086},[39505],{"data":39506,"marks":39507,"value":37092,"nodeType":864},{},[39508],{"type":1455},{"data":39510,"marks":39511,"value":37096,"nodeType":864},{},[],{"data":39513,"content":39514,"nodeType":945},{},[39515],{"data":39516,"content":39517,"nodeType":860},{},[39518],{"data":39519,"marks":39520,"value":37106,"nodeType":864},{},[],{"data":39522,"content":39523,"nodeType":945},{},[39524],{"data":39525,"content":39526,"nodeType":860},{},[39527],{"data":39528,"marks":39529,"value":37116,"nodeType":864},{},[],{"data":39531,"content":39532,"nodeType":945},{},[39533],{"data":39534,"content":39535,"nodeType":860},{},[39536],{"data":39537,"marks":39538,"value":37126,"nodeType":864},{},[],{"data":39540,"content":39541,"nodeType":945},{},[39542],{"data":39543,"content":39544,"nodeType":860},{},[39545],{"data":39546,"marks":39547,"value":37136,"nodeType":864},{},[],{"data":39549,"content":39550,"nodeType":945},{},[39551],{"data":39552,"content":39553,"nodeType":860},{},[39554],{"data":39555,"marks":39556,"value":37146,"nodeType":864},{},[],{"data":39558,"content":39561,"nodeType":996},{"target":39559},{"sys":39560},{"id":37151,"type":1001,"linkType":1002},[],{"data":39563,"content":39564,"nodeType":1312},{},[39565],{"data":39566,"marks":39567,"value":37159,"nodeType":864},{},[],{"data":39569,"content":39570,"nodeType":860},{},[39571],{"data":39572,"marks":39573,"value":37166,"nodeType":864},{},[],{"data":39575,"content":39576,"nodeType":941},{},[39577,39586,39595,39604,39613,39622],{"data":39578,"content":39579,"nodeType":945},{},[39580],{"data":39581,"content":39582,"nodeType":860},{},[39583],{"data":39584,"marks":39585,"value":37179,"nodeType":864},{},[],{"data":39587,"content":39588,"nodeType":945},{},[39589],{"data":39590,"content":39591,"nodeType":860},{},[39592],{"data":39593,"marks":39594,"value":37189,"nodeType":864},{},[],{"data":39596,"content":39597,"nodeType":945},{},[39598],{"data":39599,"content":39600,"nodeType":860},{},[39601],{"data":39602,"marks":39603,"value":37199,"nodeType":864},{},[],{"data":39605,"content":39606,"nodeType":945},{},[39607],{"data":39608,"content":39609,"nodeType":860},{},[39610],{"data":39611,"marks":39612,"value":37209,"nodeType":864},{},[],{"data":39614,"content":39615,"nodeType":945},{},[39616],{"data":39617,"content":39618,"nodeType":860},{},[39619],{"data":39620,"marks":39621,"value":37219,"nodeType":864},{},[],{"data":39623,"content":39624,"nodeType":945},{},[39625],{"data":39626,"content":39627,"nodeType":860},{},[39628],{"data":39629,"marks":39630,"value":37229,"nodeType":864},{},[],{"data":39632,"content":39633,"nodeType":860},{},[39634],{"data":39635,"marks":39636,"value":37236,"nodeType":864},{},[],{"data":39638,"content":39639,"nodeType":860},{},[39640],{"data":39641,"marks":39642,"value":37243,"nodeType":864},{},[],{"data":39644,"content":39645,"nodeType":860},{},[39646],{"data":39647,"marks":39648,"value":37250,"nodeType":864},{},[],{"data":39650,"content":39653,"nodeType":996},{"target":39651},{"sys":39652},{"id":37255,"type":1001,"linkType":1002},[],{"data":39655,"content":39656,"nodeType":860},{},[39657],{"data":39658,"marks":39659,"value":37263,"nodeType":864},{},[],{"data":39661,"content":39662,"nodeType":1312},{},[39663],{"data":39664,"marks":39665,"value":37270,"nodeType":864},{},[],{"data":39667,"content":39668,"nodeType":860},{},[39669],{"data":39670,"marks":39671,"value":37277,"nodeType":864},{},[],{"data":39673,"content":39676,"nodeType":996},{"target":39674},{"sys":39675},{"id":37282,"type":1001,"linkType":1002},[],{"data":39678,"content":39679,"nodeType":1312},{},[39680],{"data":39681,"marks":39682,"value":37290,"nodeType":864},{},[],{"data":39684,"content":39685,"nodeType":860},{},[39686],{"data":39687,"marks":39688,"value":37297,"nodeType":864},{},[],{"data":39690,"content":39691,"nodeType":860},{},[39692],{"data":39693,"marks":39694,"value":37304,"nodeType":864},{},[],{"data":39696,"content":39699,"nodeType":996},{"target":39697},{"sys":39698},{"id":37309,"type":1001,"linkType":1002},[],{"data":39701,"content":39702,"nodeType":860},{},[39703,39706,39713],{"data":39704,"marks":39705,"value":37317,"nodeType":864},{},[],{"data":39707,"content":39708,"nodeType":883},{"uri":36321},[39709],{"data":39710,"marks":39711,"value":37325,"nodeType":864},{},[39712],{"type":1455},{"data":39714,"marks":39715,"value":37329,"nodeType":864},{},[],{"data":39717,"content":39718,"nodeType":1312},{},[39719],{"data":39720,"marks":39721,"value":37336,"nodeType":864},{},[],{"data":39723,"content":39724,"nodeType":860},{},[39725],{"data":39726,"marks":39727,"value":37343,"nodeType":864},{},[],{"data":39729,"content":39730,"nodeType":941},{},[39731,39740,39749,39758],{"data":39732,"content":39733,"nodeType":945},{},[39734],{"data":39735,"content":39736,"nodeType":860},{},[39737],{"data":39738,"marks":39739,"value":37356,"nodeType":864},{},[],{"data":39741,"content":39742,"nodeType":945},{},[39743],{"data":39744,"content":39745,"nodeType":860},{},[39746],{"data":39747,"marks":39748,"value":37366,"nodeType":864},{},[],{"data":39750,"content":39751,"nodeType":945},{},[39752],{"data":39753,"content":39754,"nodeType":860},{},[39755],{"data":39756,"marks":39757,"value":37376,"nodeType":864},{},[],{"data":39759,"content":39760,"nodeType":945},{},[39761],{"data":39762,"content":39763,"nodeType":860},{},[39764],{"data":39765,"marks":39766,"value":37386,"nodeType":864},{},[],{"data":39768,"content":39771,"nodeType":996},{"target":39769},{"sys":39770},{"id":37391,"type":1001,"linkType":1002},[],{"data":39773,"content":39774,"nodeType":1005},{},[],{"data":39776,"content":39777,"nodeType":1009},{},[39778],{"data":39779,"marks":39780,"value":37403,"nodeType":864},{},[39781],{"type":899},{"data":39783,"content":39784,"nodeType":860},{},[39785,39788,39795,39798],{"data":39786,"marks":39787,"value":37410,"nodeType":864},{},[],{"data":39789,"content":39790,"nodeType":883},{"uri":37413},[39791],{"data":39792,"marks":39793,"value":37419,"nodeType":864},{},[39794],{"type":1455},{"data":39796,"marks":39797,"value":3731,"nodeType":864},{},[],{"data":39799,"marks":39800,"value":37427,"nodeType":864},{},[39801],{"type":899},{"data":39803,"content":39804,"nodeType":1005},{},[],{"data":39806,"content":39807,"nodeType":1009},{},[39808],{"data":39809,"marks":39810,"value":3578,"nodeType":864},{},[39811],{"type":899},{"data":39813,"content":39814,"nodeType":860},{},[39815],{"data":39816,"marks":39817,"value":37444,"nodeType":864},{},[],{"data":39819,"content":39820,"nodeType":860},{},[39821],{"data":39822,"marks":39823,"value":37451,"nodeType":864},{},[],{"data":39825,"content":39826,"nodeType":860},{},[39827,39830,39837],{"data":39828,"marks":39829,"value":35574,"nodeType":864},{},[],{"data":39831,"content":39832,"nodeType":883},{"uri":5642},[39833],{"data":39834,"marks":39835,"value":37465,"nodeType":864},{},[39836],{"type":1455},{"data":39838,"marks":39839,"value":21,"nodeType":864},{},[],{"items":39841},[39842,39844],{"sys":39843,"name":342},{"id":6596},{"sys":39845,"name":6593},{"id":6592},{"items":39847},[39848],{"fullName":849,"firstName":850,"jobTitle":851,"profilePicture":39849},{"url":853},{"__typename":2059,"sys":39851,"content":39853,"title":40507,"synopsis":40508,"hashTags":59,"publishedDate":40509,"slug":40510,"tagsCollection":40511,"authorsCollection":40517},{"id":39852},"7dqGkFzSMA00bIJ94rW4na",{"json":39854},{"data":39855,"content":39856,"nodeType":856},{},[39857,39864,39871,39877,39902,39922,39925,39933,39940,39947,39955,39975,39978,39986,39993,39998,40005,40011,40014,40022,40029,40036,40059,40066,40099,40106,40114,40133,40140,40146,40173,40205,40213,40220,40227,40260,40263,40271,40290,40297,40320,40327,40333,40336,40344,40351,40474,40477,40484,40491],{"data":39858,"content":39859,"nodeType":860},{},[39860],{"data":39861,"marks":39862,"value":39863,"nodeType":864},{},[],"As awareness grows around many MFA methods being “phishable” (i.e. not phishing resistant), passwordless authentication methods are being increasingly advocated. ",{"data":39865,"content":39866,"nodeType":860},{},[39867],{"data":39868,"marks":39869,"value":39870,"nodeType":864},{},[],"This is a good thing. The most commonly used MFA factors (like SMS codes, push notifications, and app-based OTP) are routinely bypassed, with modern reverse-proxy phishing kits the most common method. ",{"data":39872,"content":39876,"nodeType":996},{"target":39873},{"sys":39874},{"id":39875,"type":1001,"linkType":1002},"ImwzE2R9qaHaqlWn0GqIa",[],{"data":39878,"content":39879,"nodeType":860},{},[39880,39884,39889,39893,39898],{"data":39881,"marks":39882,"value":39883,"nodeType":864},{},[],"Often referred to as a “passkey”, passwordless authentication typically consists of a hardware security device that is built-into your laptop (e.g. the fingerprint sensor on a laptop) or something you plug into your device (e.g. a Yubikey). Because passkey-based logins are domain-bound, trying to use a passkey for ",{"data":39885,"marks":39886,"value":39888,"nodeType":864},{},[39887],{"type":1455},"microsoft.com",{"data":39890,"marks":39891,"value":39892,"nodeType":864},{},[]," on ",{"data":39894,"marks":39895,"value":39897,"nodeType":864},{},[39896],{"type":1455},"phishing.com",{"data":39899,"marks":39900,"value":39901,"nodeType":864},{},[]," simply won’t generate the correct value to pass the authentication check, even when proxied using an AitM kit. ",{"data":39903,"content":39904,"nodeType":860},{},[39905,39909,39919],{"data":39906,"marks":39907,"value":39908,"nodeType":864},{},[],"However, attackers have realized that even as these new phishing-resistant methods are starting to become used, most users still have alternative MFA methods active. The attacker can then do what’s called a ",{"data":39910,"content":39912,"nodeType":883},{"uri":39911},"https://github.com/pushsecurity/saas-attacks/blob/main/techniques/mfa_downgrade/description.md",[39913],{"data":39914,"marks":39915,"value":39918,"nodeType":864},{},[39916,39917],{"type":1455},{"type":899},"downgrade attack",{"data":39920,"marks":39921,"value":2924,"nodeType":864},{},[],{"data":39923,"content":39924,"nodeType":1005},{},[],{"data":39926,"content":39927,"nodeType":1009},{},[39928],{"data":39929,"marks":39930,"value":39932,"nodeType":864},{},[39931],{"type":899},"Downgrade attacks 101",{"data":39934,"content":39935,"nodeType":860},{},[39936],{"data":39937,"marks":39938,"value":39939,"nodeType":864},{},[],"When conducting an Attacker-in-the-Middle phishing attack, the attacker doesn’t need to relay 100% of the messages accurately. Instead, they can alter some of them. The app might ask the user “You need to MFA — do you want to use your passkey, or your backup authenticator code?”, but the phishing website might modify this page to say “You need to MFA — use your backup authenticator code” not giving you the option to use your secure passkey. This is called a downgrade attack.",{"data":39941,"content":39942,"nodeType":860},{},[39943],{"data":39944,"marks":39945,"value":39946,"nodeType":864},{},[],"This can also be applied to accounts that use SSO as the default login method. In this scenario, the phish kit can select a backup username and password option to allow the phishing attack to proceed.  ",{"data":39948,"content":39949,"nodeType":860},{},[39950],{"data":39951,"marks":39952,"value":39954,"nodeType":864},{},[39953],{"type":899},"So, you have a situation where even if a phishing-resistant login method exists, the presence of a less secure backup method means the account is still vulnerable to phishing attacks. ",{"data":39956,"content":39957,"nodeType":860},{},[39958,39962,39971],{"data":39959,"marks":39960,"value":39961,"nodeType":864},{},[],"These attacks are effective across a number of sites and login methods that support passkey-based logins, for example, Windows Hello, Okta FastPass, and Google Workspace. As an example, here’s a link to a ",{"data":39963,"content":39965,"nodeType":883},{"uri":39964},"https://github.com/yudasm/WHfB-o365-Phishlet",[39966],{"data":39967,"marks":39968,"value":39970,"nodeType":864},{},[39969],{"type":1455},"custom phishlet for Evilginx",{"data":39972,"marks":39973,"value":39974,"nodeType":864},{},[]," targeting Windows Hello for Business. A small caveat is that changes made by Microsoft have since broken this plugin, but we were able to write our own custom phishlet to achieve the same outcome. ",{"data":39976,"content":39977,"nodeType":1005},{},[],{"data":39979,"content":39980,"nodeType":1009},{},[39981],{"data":39982,"marks":39983,"value":39985,"nodeType":864},{},[39984],{"type":899},"MFA downgrade in action",{"data":39987,"content":39988,"nodeType":860},{},[39989],{"data":39990,"marks":39991,"value":39992,"nodeType":864},{},[],"Check out the video below to see an example of using Evilginx with a custom phishlet to downgrade authentication for a Microsoft account using Windows Hello. ",{"data":39994,"content":39997,"nodeType":996},{"target":39995},{"sys":39996},{"id":35982,"type":1001,"linkType":1002},[],{"data":39999,"content":40000,"nodeType":860},{},[40001],{"data":40002,"marks":40003,"value":40004,"nodeType":864},{},[],"We’ve encountered similar functionality in criminal phishing platforms we’ve investigated such as Tycoon — in this case, targeting Google accounts. This snippet is notable in that it includes JavaScript to abuse UI features to bypass passkeys.",{"data":40006,"content":40010,"nodeType":996},{"target":40007},{"sys":40008},{"id":40009,"type":1001,"linkType":1002},"5Vya1VApSisr0000HuTLY2",[],{"data":40012,"content":40013,"nodeType":1005},{},[],{"data":40015,"content":40016,"nodeType":1009},{},[40017],{"data":40018,"marks":40019,"value":40021,"nodeType":864},{},[40020],{"type":899},"Mitigations (and challenges)",{"data":40023,"content":40024,"nodeType":860},{},[40025],{"data":40026,"marks":40027,"value":40028,"nodeType":864},{},[],"MFA downgrade is made possible by the existence of backup authentication methods. So the obvious solution is to remove backup/unused login and MFA methods from your accounts, ensuring you’re accessing apps using SSO from a hardened Identity Provider (IdP) account (e.g. Okta, Entra, Google Workspace). ",{"data":40030,"content":40031,"nodeType":860},{},[40032],{"data":40033,"marks":40034,"value":40035,"nodeType":864},{},[],"In the ideal world, you’d be:",{"data":40037,"content":40038,"nodeType":941},{},[40039,40049],{"data":40040,"content":40041,"nodeType":945},{},[40042],{"data":40043,"content":40044,"nodeType":860},{},[40045],{"data":40046,"marks":40047,"value":40048,"nodeType":864},{},[],"Using only one IdP account, which you access via passkey, with no backup methods.",{"data":40050,"content":40051,"nodeType":945},{},[40052],{"data":40053,"content":40054,"nodeType":860},{},[40055],{"data":40056,"marks":40057,"value":40058,"nodeType":864},{},[],"Accessing all business apps using SSO from your locked-down IdP account. ",{"data":40060,"content":40061,"nodeType":860},{},[40062],{"data":40063,"marks":40064,"value":40065,"nodeType":864},{},[],"The reality is way different, though. Because going totally passwordless is hard. It requires a large investment of time, money, and training for end-users. You’ll find many cautionary tales of companies starting on their passkey adoption journey and ultimately failing to make it a reality. This is largely because:",{"data":40067,"content":40068,"nodeType":941},{},[40069,40079,40089],{"data":40070,"content":40071,"nodeType":945},{},[40072],{"data":40073,"content":40074,"nodeType":860},{},[40075],{"data":40076,"marks":40077,"value":40078,"nodeType":864},{},[],"In environments with a mix of older and newer infrastructure, it can be challenging to get complete coverage. ",{"data":40080,"content":40081,"nodeType":945},{},[40082],{"data":40083,"content":40084,"nodeType":860},{},[40085],{"data":40086,"marks":40087,"value":40088,"nodeType":864},{},[],"Not every device comes with an in-built biometric identification method, so you need to use a second device — which employees may struggle with (especially when they lose it and aren’t familiar with how to regain account access).",{"data":40090,"content":40091,"nodeType":945},{},[40092],{"data":40093,"content":40094,"nodeType":860},{},[40095],{"data":40096,"marks":40097,"value":40098,"nodeType":864},{},[],"Most apps don’t allow you to log in directly with a passkey, meaning you need to SSO from your IdP account. But many apps don’t support every preferred SSO provider, and fail to provide SAML support, so there can be gaps.  ",{"data":40100,"content":40101,"nodeType":860},{},[40102],{"data":40103,"marks":40104,"value":40105,"nodeType":864},{},[],"And ultimately, because of the self-service, product-led growth fuelled nature of most online services today, it’s easy for users to slip back into using passwords — and hard for security teams to find and remove them (particularly if an app isn’t centrally managed). And the level of support that different apps provide users and administrators to secure how they access their services varies significantly. ",{"data":40107,"content":40108,"nodeType":1312},{},[40109],{"data":40110,"marks":40111,"value":40113,"nodeType":864},{},[40112],{"type":899},"Most apps make removing phishable authentication hard",{"data":40115,"content":40116,"nodeType":860},{},[40117,40121,40129],{"data":40118,"marks":40119,"value":40120,"nodeType":864},{},[],"While some providers are taking steps to go passwordless by default, which makes it easier to remove passwords (e.g. ",{"data":40122,"content":40124,"nodeType":883},{"uri":40123},"https://techcommunity.microsoft.com/blog/microsoft-entra-blog/introducing-password-removal-for-microsoft-accounts/2747280",[40125],{"data":40126,"marks":40127,"value":23700,"nodeType":864},{},[40128],{"type":1455},{"data":40130,"marks":40131,"value":40132,"nodeType":864},{},[]," recently made a big deal of its desire to get rid of passwords), the quality of identity security management functionality varies significantly from app to app. ",{"data":40134,"content":40135,"nodeType":860},{},[40136],{"data":40137,"marks":40138,"value":40139,"nodeType":864},{},[],"Many apps default to the most recently used or strongest login method, but very few automatically lock you in to using the strongest method available. Most of the time, these kinds of controls also need to be configured in the app — which can be challenging if your security team doesn’t manage it (or simply isn’t aware of it). ",{"data":40141,"content":40145,"nodeType":996},{"target":40142},{"sys":40143},{"id":40144,"type":1001,"linkType":1002},"4X9MR0CbSMltOmw767XNOm",[],{"data":40147,"content":40148,"nodeType":860},{},[40149,40153,40158,40162,40169],{"data":40150,"marks":40151,"value":40152,"nodeType":864},{},[],"Finally, configuring MFA is often an additive process — you start by adding a phone number, then you add an authenticator app or a passkey. Just like we find that most accounts with SSO ",{"data":40154,"marks":40155,"value":40157,"nodeType":864},{},[40156],{"type":899},"also",{"data":40159,"marks":40160,"value":40161,"nodeType":864},{},[]," have a password login configured (also known as ",{"data":40163,"content":40164,"nodeType":883},{"uri":26784},[40165],{"data":40166,"marks":40167,"value":17706,"nodeType":864},{},[40168],{"type":1455},{"data":40170,"marks":40171,"value":40172,"nodeType":864},{},[],"), most accounts with MFA typically have multiple methods attached to their account. ",{"data":40174,"content":40175,"nodeType":860},{},[40176,40180,40189,40192,40201],{"data":40177,"marks":40178,"value":40179,"nodeType":864},{},[],"The result is that even if you can successfully lock down a handful of apps, many more will continue to be susceptible to phishing attacks using commonly available downgrade functionality. And as attackers diversify the apps they target (such as these recent examples targeting ",{"data":40181,"content":40183,"nodeType":883},{"uri":40182},"https://pushsecurity.com/blog/investigating-a-recent-malvertising-campaign-targeting-onfido-customers/",[40184],{"data":40185,"marks":40186,"value":40188,"nodeType":864},{},[40187],{"type":1455},"Onfido",{"data":40190,"marks":40191,"value":902,"nodeType":864},{},[],{"data":40193,"content":40195,"nodeType":883},{"uri":40194},"https://pushsecurity.com/blog/dissecting-a-recent-mailchimp-phishing-attack/",[40196],{"data":40197,"marks":40198,"value":40200,"nodeType":864},{},[40199],{"type":1455},"MailChimp",{"data":40202,"marks":40203,"value":40204,"nodeType":864},{},[],"), this becomes increasingly likely. ",{"data":40206,"content":40207,"nodeType":1312},{},[40208],{"data":40209,"marks":40210,"value":40212,"nodeType":864},{},[40211],{"type":899},"Conditional access is a useful mitigation if configured properly, but only on apps which support it",{"data":40214,"content":40215,"nodeType":860},{},[40216],{"data":40217,"marks":40218,"value":40219,"nodeType":864},{},[],"Conditional access policies are a useful last line of defense against account takeover attacks by denying logins that don't meet certain criteria, even if they user is able to authenticate. In larger IdP platforms that typically support more granular conditional access policies, this is a useful addition when configured correctly. However, many apps simply don't support conditional access, so will be vulnerable to attackers targeting them directly (as opposed to first logging into e.g. Microsoft or Google, and then accessing downstream apps via SSO). ",{"data":40221,"content":40222,"nodeType":860},{},[40223],{"data":40224,"marks":40225,"value":40226,"nodeType":864},{},[],"That said, locking down your core IdP platforms with robust conditional access should be a top priority for security teams. Useful policies that should be configured include:",{"data":40228,"content":40229,"nodeType":941},{},[40230,40240,40250],{"data":40231,"content":40232,"nodeType":945},{},[40233],{"data":40234,"content":40235,"nodeType":860},{},[40236],{"data":40237,"marks":40238,"value":40239,"nodeType":864},{},[],"Limiting logins to domain-joined devices.",{"data":40241,"content":40242,"nodeType":945},{},[40243],{"data":40244,"content":40245,"nodeType":860},{},[40246],{"data":40247,"marks":40248,"value":40249,"nodeType":864},{},[],"Set phishing-resistant MFA as required. ",{"data":40251,"content":40252,"nodeType":945},{},[40253],{"data":40254,"content":40255,"nodeType":860},{},[40256],{"data":40257,"marks":40258,"value":40259,"nodeType":864},{},[],"(Where possible) limit logins to trusted IP ranges. ",{"data":40261,"content":40262,"nodeType":1005},{},[],{"data":40264,"content":40265,"nodeType":1009},{},[40266],{"data":40267,"marks":40268,"value":40270,"nodeType":864},{},[40269],{"type":899},"Tackling MFA downgrade with Push Security",{"data":40272,"content":40273,"nodeType":860},{},[40274,40278,40286],{"data":40275,"marks":40276,"value":40277,"nodeType":864},{},[],"Phishing-resistant authentication methods like passkeys are key to the future of enterprise identity security, but organizations need to recognize that adopting passkeys isn’t a silver bullet. Ensuring that passkeys are the only authentication method supported by your business apps is no mean feat, considering ",{"data":40279,"content":40280,"nodeType":883},{"uri":15980},[40281],{"data":40282,"marks":40283,"value":40285,"nodeType":864},{},[40284],{"type":1455},"most organizations are using hundreds of them",{"data":40287,"marks":40288,"value":40289,"nodeType":864},{},[]," — all with their own specific ways of handling and administering identities. ",{"data":40291,"content":40292,"nodeType":860},{},[40293],{"data":40294,"marks":40295,"value":40296,"nodeType":864},{},[],"That’s why we support a layered defense, providing last-mile protection by:",{"data":40298,"content":40299,"nodeType":941},{},[40300,40310],{"data":40301,"content":40302,"nodeType":945},{},[40303],{"data":40304,"content":40305,"nodeType":860},{},[40306],{"data":40307,"marks":40308,"value":40309,"nodeType":864},{},[],"Intercepting and blocking phishing attacks in the browser to prevent AiTM attacks using downgrade techniques.",{"data":40311,"content":40312,"nodeType":945},{},[40313],{"data":40314,"content":40315,"nodeType":860},{},[40316],{"data":40317,"marks":40318,"value":40319,"nodeType":864},{},[],"Identifying backup MFA and login methods across the business apps your employees use, so they can be removed (individually or through app-level configuration changes).",{"data":40321,"content":40322,"nodeType":860},{},[40323],{"data":40324,"marks":40325,"value":40326,"nodeType":864},{},[],"Here’s how it works.",{"data":40328,"content":40332,"nodeType":996},{"target":40329},{"sys":40330},{"id":40331,"type":1001,"linkType":1002},"2uvItnfaOQZHa4a9BIIhRn",[],{"data":40334,"content":40335,"nodeType":1005},{},[],{"data":40337,"content":40338,"nodeType":1009},{},[40339],{"data":40340,"marks":40341,"value":40343,"nodeType":864},{},[40342],{"type":899},"Further reading",{"data":40345,"content":40346,"nodeType":860},{},[40347],{"data":40348,"marks":40349,"value":40350,"nodeType":864},{},[],"MFA downgrade is just one method of getting into an otherwise locked-down account. Attackers are also finding ways to bypass the standard authentication process entirely, through: ",{"data":40352,"content":40353,"nodeType":941},{},[40354,40387,40421,40441],{"data":40355,"content":40356,"nodeType":945},{},[40357],{"data":40358,"content":40359,"nodeType":860},{},[40360,40363,40371,40375,40384],{"data":40361,"marks":40362,"value":21,"nodeType":864},{},[],{"data":40364,"content":40365,"nodeType":883},{"uri":36098},[40366],{"data":40367,"marks":40368,"value":40370,"nodeType":864},{},[40369],{"type":1455},"App-specific password phishing",{"data":40372,"marks":40373,"value":40374,"nodeType":864},{},[],", where attackers can abuse functionality designed to enable users to log into apps that don’t support modern authentication. (",{"data":40376,"content":40378,"nodeType":883},{"uri":40377},"https://pushsecurity.com/blog/app-specific-password-phishing/",[40379],{"data":40380,"marks":40381,"value":40383,"nodeType":864},{},[40382],{"type":1455},"Read the article for more information here",{"data":40385,"marks":40386,"value":22438,"nodeType":864},{},[],{"data":40388,"content":40389,"nodeType":945},{},[40390],{"data":40391,"content":40392,"nodeType":860},{},[40393,40396,40404,40408,40417],{"data":40394,"marks":40395,"value":21,"nodeType":864},{},[],{"data":40397,"content":40398,"nodeType":883},{"uri":32223},[40399],{"data":40400,"marks":40401,"value":40403,"nodeType":864},{},[40402],{"type":1455},"Consent phishing",{"data":40405,"marks":40406,"value":40407,"nodeType":864},{},[],", which sees the victim accept OAuth scopes for an attacker-controlled app integration granting access to the account without needing to directly compromise it. (",{"data":40409,"content":40411,"nodeType":883},{"uri":40410},"https://pushsecurity.com/blog/how-consent-phishing-is-evolving/",[40412],{"data":40413,"marks":40414,"value":40416,"nodeType":864},{},[40415],{"type":1455},"You can read more about recent examples here",{"data":40418,"marks":40419,"value":40420,"nodeType":864},{},[],".) ",{"data":40422,"content":40423,"nodeType":945},{},[40424],{"data":40425,"content":40426,"nodeType":860},{},[40427,40430,40437],{"data":40428,"marks":40429,"value":21,"nodeType":864},{},[],{"data":40431,"content":40432,"nodeType":883},{"uri":23510},[40433],{"data":40434,"marks":40435,"value":360,"nodeType":864},{},[40436],{"type":1455},{"data":40438,"marks":40439,"value":40440,"nodeType":864},{},[],", functionally very similar to consent phishing but involving the victim entering a code for authorization. ",{"data":40442,"content":40443,"nodeType":945},{},[40444],{"data":40445,"content":40446,"nodeType":860},{},[40447,40450,40458,40462,40471],{"data":40448,"marks":40449,"value":21,"nodeType":864},{},[],{"data":40451,"content":40452,"nodeType":883},{"uri":36121},[40453],{"data":40454,"marks":40455,"value":40457,"nodeType":864},{},[40456],{"type":1455},"Cross-IdP impersonation",{"data":40459,"marks":40460,"value":40461,"nodeType":864},{},[],", which sees the attacker register a new IdP connected to the victim’s email account that can be used to access connected apps via SSO without directly compromising the primary IdP. (",{"data":40463,"content":40465,"nodeType":883},{"uri":40464},"https://pushsecurity.com/blog/a-new-class-of-phishing-verification-phishing-and-cross-idp-impersonation/",[40466],{"data":40467,"marks":40468,"value":40470,"nodeType":864},{},[40469],{"type":1455},"You can read more about this here",{"data":40472,"marks":40473,"value":1560,"nodeType":864},{},[],{"data":40475,"content":40476,"nodeType":1005},{},[],{"data":40478,"content":40479,"nodeType":1009},{},[40480],{"data":40481,"marks":40482,"value":30213,"nodeType":864},{},[40483],{"type":899},{"data":40485,"content":40486,"nodeType":860},{},[40487],{"data":40488,"marks":40489,"value":40490,"nodeType":864},{},[],"Push Security’s browser-based security platform provides comprehensive identity attack detection and response capabilities against techniques like AiTM phishing, credential stuffing, password spraying and session hijacking using stolen session tokens. You can also use Push to find and fix identity vulnerabilities across every app that your employees use, like: ghost logins; SSO coverage gaps; MFA gaps; weak, breached and reused passwords; risky OAuth integrations; and more.",{"data":40492,"content":40493,"nodeType":860},{},[40494,40497,40504],{"data":40495,"marks":40496,"value":35574,"nodeType":864},{},[],{"data":40498,"content":40499,"nodeType":883},{"uri":5642},[40500],{"data":40501,"marks":40502,"value":12967,"nodeType":864},{},[40503],{"type":1455},{"data":40505,"marks":40506,"value":2924,"nodeType":864},{},[],"MFA downgrade: How attackers are getting around phishing-resistant authentication","MFA downgrade attacks are an increasingly common technique used by attackers to bypass phishing-resistant authentication methods registered to an account.","2025-07-21T00:00:00.000Z","mfa-downgrade-attacks",{"items":40512},[40513,40515],{"sys":40514,"name":342},{"id":6596},{"sys":40516,"name":6593},{"id":6592},{"items":40518},[40519],{"fullName":4949,"firstName":4950,"jobTitle":4951,"profilePicture":40520},{"url":4955},{"__typename":2059,"sys":40522,"content":40524,"title":41136,"synopsis":41137,"hashTags":59,"publishedDate":41138,"slug":41139,"tagsCollection":41140,"authorsCollection":41146},{"id":40523},"XQHcBu5kiSBd6MMwICYI4",{"json":40525},{"data":40526,"content":40527,"nodeType":856},{},[40528,40535,40542,40550,40579,40586,40592,40595,40603,40610,40617,40660,40667,40674,40677,40685,40692,40699,40706,40724,40731,40737,40745,40752,40759,40766,40772,40775,40783,40791,40798,40806,40813,40875,40882,40890,40897,40930,40938,40945,40953,40960,40968,40975,41028,41035,41038,41046,41053,41070,41103,41124,41130],{"data":40529,"content":40530,"nodeType":860},{},[40531],{"data":40532,"marks":40533,"value":40534,"nodeType":864},{},[],"Phishing has undergone a radical transformation. The laughably bad emails and fake PayPal logins of the past have given way to sophisticated campaigns engineered to slip through even the most hardened security stacks. ",{"data":40536,"content":40537,"nodeType":860},{},[40538],{"data":40539,"marks":40540,"value":40541,"nodeType":864},{},[],"Today’s phishing attacks are faster, more adaptable, and harder to catch with traditional tools. Email filters and threat intel still play an important role, but they’re often reacting to threats that are already in motion, and by the time a phishing link is flagged and blocklisted, someone has probably already clicked — and the attacker has moved onto their next set of links.",{"data":40543,"content":40544,"nodeType":860},{},[40545],{"data":40546,"marks":40547,"value":40549,"nodeType":864},{},[40548],{"type":899},"The problem isn’t that phishing has evolved. It’s that our defenses haven’t.",{"data":40551,"content":40552,"nodeType":860},{},[40553,40557,40566,40570,40575],{"data":40554,"marks":40555,"value":40556,"nodeType":864},{},[],"That’s where ",{"data":40558,"content":40560,"nodeType":883},{"uri":40559},"https://pushsecurity.com/uc/zero-day-phishing-protection",[40561],{"data":40562,"marks":40563,"value":40565,"nodeType":864},{},[40564],{"type":1455},"Push Security",{"data":40567,"marks":40568,"value":40569,"nodeType":864},{},[]," comes in. By embedding real-time detection directly into the browser, the very place where phishing attacks unfold, Push offers a fundamentally new way to stop phishing: ",{"data":40571,"marks":40572,"value":40574,"nodeType":864},{},[40573],{"type":2246},"as it happens",{"data":40576,"marks":40577,"value":40578,"nodeType":864},{},[],", regardless of whether or not the exact attack has ever been seen before. ",{"data":40580,"content":40581,"nodeType":860},{},[40582],{"data":40583,"marks":40584,"value":40585,"nodeType":864},{},[],"Check out the video to see how it works. ",{"data":40587,"content":40591,"nodeType":996},{"target":40588},{"sys":40589},{"id":40590,"type":1001,"linkType":1002},"4LaKobadjp19jjocLXcW4E",[],{"data":40593,"content":40594,"nodeType":1005},{},[],{"data":40596,"content":40597,"nodeType":1009},{},[40598],{"data":40599,"marks":40600,"value":40602,"nodeType":864},{},[40601],{"type":899},"The modern phishing playground",{"data":40604,"content":40605,"nodeType":860},{},[40606],{"data":40607,"marks":40608,"value":40609,"nodeType":864},{},[],"Phishing attacks today look nothing like the blunt instruments of a few years ago. These are fast, customized, and often completely ephemeral. A phishing domain might go live at 9 a.m., compromise scores of credentials, and be gone before lunch, long before it ever hits a threat intel feed.",{"data":40611,"content":40612,"nodeType":860},{},[40613],{"data":40614,"marks":40615,"value":40616,"nodeType":864},{},[],"Modern attackers use:",{"data":40618,"content":40619,"nodeType":941},{},[40620,40630,40640,40650],{"data":40621,"content":40622,"nodeType":945},{},[40623],{"data":40624,"content":40625,"nodeType":860},{},[40626],{"data":40627,"marks":40628,"value":40629,"nodeType":864},{},[],"Dynamic content and user-adaptive emails that can be easily changed based on the target’s identity and environment.",{"data":40631,"content":40632,"nodeType":945},{},[40633],{"data":40634,"content":40635,"nodeType":860},{},[40636],{"data":40637,"marks":40638,"value":40639,"nodeType":864},{},[],"Obfuscated URLs hidden behind trusted services (like Google Sites), making reputation analysis less than reliable.",{"data":40641,"content":40642,"nodeType":945},{},[40643],{"data":40644,"content":40645,"nodeType":860},{},[40646],{"data":40647,"marks":40648,"value":40649,"nodeType":864},{},[],"Real-time proxying tools to clone login flows and harvest credentials.",{"data":40651,"content":40652,"nodeType":945},{},[40653],{"data":40654,"content":40655,"nodeType":860},{},[40656],{"data":40657,"marks":40658,"value":40659,"nodeType":864},{},[],"Rapid-fire infrastructure rotation, making the attack’s infrastructure almost impossible to track in time.",{"data":40661,"content":40662,"nodeType":860},{},[40663],{"data":40664,"marks":40665,"value":40666,"nodeType":864},{},[],"These attacks often bypass traditional defenses entirely, not because the tools are broken, but because they were designed for a different era, one where phishing pages lived for days or weeks, not minutes.",{"data":40668,"content":40669,"nodeType":860},{},[40670],{"data":40671,"marks":40672,"value":40673,"nodeType":864},{},[],"It’s not enough to know what was bad yesterday. You need to know what’s happening now.",{"data":40675,"content":40676,"nodeType":1005},{},[],{"data":40678,"content":40679,"nodeType":1009},{},[40680],{"data":40681,"marks":40682,"value":40684,"nodeType":864},{},[40683],{"type":899},"Why blocklists and perimeter defenses are falling behind",{"data":40686,"content":40687,"nodeType":860},{},[40688],{"data":40689,"marks":40690,"value":40691,"nodeType":864},{},[],"The security ecosystem has long depended on reputation-based systems: block the known bad, allow the rest. That worked when attackers reused infrastructure and relied on mass campaigns. Today’s adversaries have adapted.",{"data":40693,"content":40694,"nodeType":860},{},[40695],{"data":40696,"marks":40697,"value":40698,"nodeType":864},{},[],"Consider a scenario similar to the one from our video:",{"data":40700,"content":40701,"nodeType":860},{},[40702],{"data":40703,"marks":40704,"value":40705,"nodeType":864},{},[],"A staff member receives an email appearing to be from Microsoft Teams. It includes dynamic content that mirrors their actual environment, including their username, company logo, and real collaboration data. The embedded link takes them to a cloned Microsoft login page hosted on a benign-looking subdomain. The site is brand new. It’s not on any blocklist. Your email filter passes it. The employee logs in. Credentials and session tokens? Gone.",{"data":40707,"content":40708,"nodeType":860},{},[40709,40713,40720],{"data":40710,"marks":40711,"value":40712,"nodeType":864},{},[],"And that’s just step one. The attacker now pivots to connected apps like ",{"data":40714,"content":40715,"nodeType":883},{"uri":18552},[40716],{"data":40717,"marks":40718,"value":29345,"nodeType":864},{},[40719],{"type":1455},{"data":40721,"marks":40722,"value":40723,"nodeType":864},{},[],", Confluence, or AWS, moving laterally through your cloud environment using the compromised credentials.",{"data":40725,"content":40726,"nodeType":860},{},[40727],{"data":40728,"marks":40729,"value":40730,"nodeType":864},{},[],"Traditional tools often miss these threats not due to a lack of sophistication, but because they’re looking from the outside in. The browser is where the attack actually unfolds. Without visibility there, key indicators of compromise go undetected.",{"data":40732,"content":40736,"nodeType":996},{"target":40733},{"sys":40734},{"id":40735,"type":1001,"linkType":1002},"1UGu43QxCiYofkeGtOMp5J",[],{"data":40738,"content":40739,"nodeType":1009},{},[40740],{"data":40741,"marks":40742,"value":40744,"nodeType":864},{},[40743],{"type":899},"Rethinking where phishing defense happens",{"data":40746,"content":40747,"nodeType":860},{},[40748],{"data":40749,"marks":40750,"value":40751,"nodeType":864},{},[],"Push changes where phishing protection happens, from upstream detection to point-of-interaction control. Instead of chasing malicious links through email gateways or external threat feeds, Push embeds lightweight, always-on protection directly, as users go about their work in the browser.",{"data":40753,"content":40754,"nodeType":860},{},[40755],{"data":40756,"marks":40757,"value":40758,"nodeType":864},{},[],"Push monitors what’s happening in each session: how pages are built, how they behave, and how users interact with them. That means it can recognize when a login prompt doesn’t match your identity provider or when a script behaves like part of a phishing toolkit.",{"data":40760,"content":40761,"nodeType":860},{},[40762],{"data":40763,"marks":40764,"value":40765,"nodeType":864},{},[],"When Push identifies something suspicious, it takes action right away. Logins are interrupted before any data is exposed. Users get clear guidance in-browser. And security teams receive detailed telemetry that shows exactly what happened, who was targeted, and how the threat was stopped.",{"data":40767,"content":40771,"nodeType":996},{"target":40768},{"sys":40769},{"id":40770,"type":1001,"linkType":1002},"7Hu3kypFWwJAGOuQp0kYmU",[],{"data":40773,"content":40774,"nodeType":1005},{},[],{"data":40776,"content":40777,"nodeType":1009},{},[40778],{"data":40779,"marks":40780,"value":40782,"nodeType":864},{},[40781],{"type":899},"The benefits of browser-native phishing defense",{"data":40784,"content":40785,"nodeType":1312},{},[40786],{"data":40787,"marks":40788,"value":40790,"nodeType":864},{},[40789],{"type":899},"True zero-day protection",{"data":40792,"content":40793,"nodeType":860},{},[40794],{"data":40795,"marks":40796,"value":40797,"nodeType":864},{},[],"Push doesn’t rely on known indicators of compromise. It evaluates the actual behavior and context of every session in real-time. Whether the phishing site was created 5 months ago or 5 minutes ago is irrelevant — Push detects it and shuts it down.",{"data":40799,"content":40800,"nodeType":1312},{},[40801],{"data":40802,"marks":40803,"value":40805,"nodeType":864},{},[40804],{"type":899},"Contextual threat detection",{"data":40807,"content":40808,"nodeType":860},{},[40809],{"data":40810,"marks":40811,"value":40812,"nodeType":864},{},[],"Because Push operates in the browser, it sees everything:",{"data":40814,"content":40815,"nodeType":941},{},[40816,40826,40836,40855,40865],{"data":40817,"content":40818,"nodeType":945},{},[40819],{"data":40820,"content":40821,"nodeType":860},{},[40822],{"data":40823,"marks":40824,"value":40825,"nodeType":864},{},[],"The page layout",{"data":40827,"content":40828,"nodeType":945},{},[40829],{"data":40830,"content":40831,"nodeType":860},{},[40832],{"data":40833,"marks":40834,"value":40835,"nodeType":864},{},[],"Where the user came from",{"data":40837,"content":40838,"nodeType":945},{},[40839],{"data":40840,"content":40841,"nodeType":860},{},[40842,40845,40852],{"data":40843,"marks":40844,"value":36318,"nodeType":864},{},[],{"data":40846,"content":40847,"nodeType":883},{"uri":36321},[40848],{"data":40849,"marks":40850,"value":36327,"nodeType":864},{},[40851],{"type":1455},{"data":40853,"marks":40854,"value":21,"nodeType":864},{},[],{"data":40856,"content":40857,"nodeType":945},{},[40858],{"data":40859,"content":40860,"nodeType":860},{},[40861],{"data":40862,"marks":40863,"value":40864,"nodeType":864},{},[],"What scripts are running",{"data":40866,"content":40867,"nodeType":945},{},[40868],{"data":40869,"content":40870,"nodeType":860},{},[40871],{"data":40872,"marks":40873,"value":40874,"nodeType":864},{},[],"And where credentials are being sent",{"data":40876,"content":40877,"nodeType":860},{},[40878],{"data":40879,"marks":40880,"value":40881,"nodeType":864},{},[],"This context enables Push to stop even well-camouflaged phishing attempts, including AitM attacks that bypass MFA.",{"data":40883,"content":40884,"nodeType":1312},{},[40885],{"data":40886,"marks":40887,"value":40889,"nodeType":864},{},[40888],{"type":899},"Real-time interception of malicious activity",{"data":40891,"content":40892,"nodeType":860},{},[40893],{"data":40894,"marks":40895,"value":40896,"nodeType":864},{},[],"As soon as a phishing attempt is confirmed, the response is immediate:",{"data":40898,"content":40899,"nodeType":941},{},[40900,40910,40920],{"data":40901,"content":40902,"nodeType":945},{},[40903],{"data":40904,"content":40905,"nodeType":860},{},[40906],{"data":40907,"marks":40908,"value":40909,"nodeType":864},{},[],"Credential entry is halted.",{"data":40911,"content":40912,"nodeType":945},{},[40913],{"data":40914,"content":40915,"nodeType":860},{},[40916],{"data":40917,"marks":40918,"value":40919,"nodeType":864},{},[],"Sessions are revoked.",{"data":40921,"content":40922,"nodeType":945},{},[40923],{"data":40924,"content":40925,"nodeType":860},{},[40926],{"data":40927,"marks":40928,"value":40929,"nodeType":864},{},[],"The user is protected without delay.",{"data":40931,"content":40932,"nodeType":1312},{},[40933],{"data":40934,"marks":40935,"value":40937,"nodeType":864},{},[40936],{"type":899},"Reduced incident response overhead",{"data":40939,"content":40940,"nodeType":860},{},[40941],{"data":40942,"marks":40943,"value":40944,"nodeType":864},{},[],"Most phishing attacks end in hours of IR and expensive cleanup. With Push, attacks don’t escalate beyond the initial click. That means fewer compromised accounts, fewer escalations, and less fatigue on your security team.",{"data":40946,"content":40947,"nodeType":1312},{},[40948],{"data":40949,"marks":40950,"value":40952,"nodeType":864},{},[40951],{"type":899},"Empowered, educated users",{"data":40954,"content":40955,"nodeType":860},{},[40956],{"data":40957,"marks":40958,"value":40959,"nodeType":864},{},[],"Push doesn’t just block phishing; it helps users learn from it. When someone interacts with a suspicious page, they get clear, actionable feedback right in the browser. Over time, these in-the-moment cues help build stronger phishing awareness across your workforce. Employee-facing messages are fully customizable to match the tone and style of your organization.",{"data":40961,"content":40962,"nodeType":1312},{},[40963],{"data":40964,"marks":40965,"value":40967,"nodeType":864},{},[40966],{"type":899},"A new paradigm for identity security",{"data":40969,"content":40970,"nodeType":860},{},[40971],{"data":40972,"marks":40973,"value":40974,"nodeType":864},{},[],"While phishing detection is core, Push also helps you defend your entire browser-based identity attack surface. That means protecting against other common forms of account compromise, like:",{"data":40976,"content":40977,"nodeType":941},{},[40978,40988,40998,41008,41018],{"data":40979,"content":40980,"nodeType":945},{},[40981],{"data":40982,"content":40983,"nodeType":860},{},[40984],{"data":40985,"marks":40986,"value":40987,"nodeType":864},{},[],"Employees using breached or reused passwords",{"data":40989,"content":40990,"nodeType":945},{},[40991],{"data":40992,"content":40993,"nodeType":860},{},[40994],{"data":40995,"marks":40996,"value":40997,"nodeType":864},{},[],"Missing or misconfigured MFA",{"data":40999,"content":41000,"nodeType":945},{},[41001],{"data":41002,"content":41003,"nodeType":860},{},[41004],{"data":41005,"marks":41006,"value":41007,"nodeType":864},{},[],"Ghost logins that bypass your identity provider",{"data":41009,"content":41010,"nodeType":945},{},[41011],{"data":41012,"content":41013,"nodeType":860},{},[41014],{"data":41015,"marks":41016,"value":41017,"nodeType":864},{},[],"Token-based session hijacking",{"data":41019,"content":41020,"nodeType":945},{},[41021],{"data":41022,"content":41023,"nodeType":860},{},[41024],{"data":41025,"marks":41026,"value":41027,"nodeType":864},{},[],"Shadow SaaS usage",{"data":41029,"content":41030,"nodeType":860},{},[41031],{"data":41032,"marks":41033,"value":41034,"nodeType":864},{},[],"Because Push runs directly in the browser, it gives you visibility across every app your employees access, whether it’s officially managed or not. And it doesn’t just alert, it actively helps you fix the issues, guiding users to take action when risks are found.",{"data":41036,"content":41037,"nodeType":1005},{},[],{"data":41039,"content":41040,"nodeType":1009},{},[41041],{"data":41042,"marks":41043,"value":41045,"nodeType":864},{},[41044],{"type":899},"Modern phishing requires a modern defense",{"data":41047,"content":41048,"nodeType":860},{},[41049],{"data":41050,"marks":41051,"value":41052,"nodeType":864},{},[],"Phishing is no longer an email problem. It’s not even just a domain reputation problem. It’s an identity attack problem, and the only place you can see those attacks in action is inside the browser.",{"data":41054,"content":41055,"nodeType":860},{},[41056,41060,41067],{"data":41057,"marks":41058,"value":41059,"nodeType":864},{},[],"Push Security gives you a new advantage: proactive, in-browser protection against modern phishing campaigns — ",{"data":41061,"content":41062,"nodeType":883},{"uri":40559},[41063],{"data":41064,"marks":41065,"value":41066,"nodeType":864},{},[],"even those with never-before-seen phishing sites",{"data":41068,"marks":41069,"value":2924,"nodeType":864},{},[],{"data":41071,"content":41072,"nodeType":941},{},[41073,41083,41093],{"data":41074,"content":41075,"nodeType":945},{},[41076],{"data":41077,"content":41078,"nodeType":860},{},[41079],{"data":41080,"marks":41081,"value":41082,"nodeType":864},{},[],"See the phish happen.",{"data":41084,"content":41085,"nodeType":945},{},[41086],{"data":41087,"content":41088,"nodeType":860},{},[41089],{"data":41090,"marks":41091,"value":41092,"nodeType":864},{},[],"Stop it in real time.",{"data":41094,"content":41095,"nodeType":945},{},[41096],{"data":41097,"content":41098,"nodeType":860},{},[41099],{"data":41100,"marks":41101,"value":41102,"nodeType":864},{},[],"Keep your workforce identities safe.",{"data":41104,"content":41105,"nodeType":860},{},[41106,41111,41119],{"data":41107,"marks":41108,"value":41110,"nodeType":864},{},[41109],{"type":899},"Want to see Push in action? ",{"data":41112,"content":41113,"nodeType":883},{"uri":5642},[41114],{"data":41115,"marks":41116,"value":41118,"nodeType":864},{},[41117],{"type":899},"Book a demo",{"data":41120,"marks":41121,"value":41123,"nodeType":864},{},[41122],{"type":899}," and watch a real-time phishing attack get stopped mid-flow.",{"data":41125,"content":41129,"nodeType":996},{"target":41126},{"sys":41127},{"id":41128,"type":1001,"linkType":1002},"7eSsPjEj178j3ViloaChbQ",[],{"data":41131,"content":41132,"nodeType":860},{},[41133],{"data":41134,"marks":41135,"value":21,"nodeType":864},{},[],"How browser-level controls change the fight against phishing","Attackers are routinely defeating conventional email, network, and endpoint-based security controls. Here's how browser controls can level the playing field.","2025-06-26T00:00:00.000Z","how-browser-level-controls-change-the-fight-against-phishing",{"items":41141},[41142,41144],{"sys":41143,"name":6593},{"id":6592},{"sys":41145,"name":342},{"id":6596},{"items":41147},[41148],{"fullName":41149,"firstName":41150,"jobTitle":851,"profilePicture":41151},"Peyton Padfield","Peyton",{"url":41152},"https://images.ctfassets.net/y1cdw1ablpvd/1GU01HXElmc07nwi89qP3b/3188050420106c62e9df2ed4e4893b7f/1677005177901__1_.jpeg","blog/phishing-detection-evasion-launch",{"json":41155},{"data":41156,"content":41157,"nodeType":856},{},[41158],{"data":41159,"content":41160,"nodeType":860},{},[41161],{"data":41162,"marks":41163,"value":41164,"nodeType":864},{},[],"We’ve published our latest resource for security teams breaking down the techniques that modern phishing attacks are using to evade detection. ",{"id":37845,"publishedAt":41166},"2026-08-12T11:53:56.673Z",{"items":41168},[41169,41171],{"sys":41170,"name":342},{"id":6596},{"sys":41172,"name":6593},{"id":6592},{"items":41174},[41175,41177,41179,41181,41183,41185,41187,41189,41191,41193,41195,41197,41199,41201,41203,41205,41207,41209],{"sys":41176,"name":279,"slug":280,"tier":31},{"id":276},{"sys":41178,"name":519,"slug":520,"tier":31},{"id":516},{"sys":41180,"name":413,"slug":414,"tier":31},{"id":410},{"sys":41182,"name":642,"slug":643,"tier":31},{"id":639},{"sys":41184,"name":342,"slug":343,"tier":31},{"id":339},{"sys":41186,"name":545,"slug":546,"tier":31},{"id":542},{"sys":41188,"name":324,"slug":325,"tier":45},{"id":321},{"sys":41190,"name":351,"slug":352,"tier":45},{"id":348},{"sys":41192,"name":261,"slug":262,"tier":45},{"id":258},{"sys":41194,"name":466,"slug":467,"tier":45},{"id":463},{"sys":41196,"name":511,"slug":512,"tier":45},{"id":508},{"sys":41198,"name":440,"slug":441,"tier":45},{"id":437},{"sys":41200,"name":475,"slug":476,"tier":45},{"id":472},{"sys":41202,"name":607,"slug":608,"tier":45},{"id":604},{"sys":41204,"name":484,"slug":485,"tier":45},{"id":481},{"sys":41206,"name":589,"slug":590,"tier":45},{"id":586},{"sys":41208,"name":493,"slug":494,"tier":45},{"id":490},{"sys":41210,"name":404,"slug":405,"tier":45},{"id":401},"KS25yfGGyFkEvtm7x2C_DuE8axnzVzfod00dLc-oRVc",{"id":41213,"title":41214,"authorsCollection":41215,"content":41219,"extension":228,"faqItemsCollection":41561,"faqTitle":59,"featured":6,"hashTags":59,"meta":41563,"metaTitle":41564,"ogImage":59,"postType":29684,"publishedDate":41565,"relatedBlogPostsCollection":41566,"slug":44169,"stem":44170,"subtitle":59,"summary":44171,"synopsis":44181,"sys":44182,"tagsCollection":44185,"topicsCollection":44191,"__hash__":44207},"blog/blog/2025-hipaa-rule-change.json","Navigating the 2025 HIPAA Security Rule changes: What you need to know (and how Push can help)",{"items":41216},[41217],{"fullName":41149,"firstName":41150,"jobTitle":851,"socialLinks":59,"profilePicture":41218},{"url":41152},{"json":41220,"links":41529},{"data":41221,"content":41222,"nodeType":856},{},[41223,41238,41245,41252,41255,41263,41278,41297,41304,41324,41344,41350,41353,41361,41368,41375,41395,41401,41404,41412,41419,41426,41446,41466,41472,41478,41481,41489,41496,41503,41510],{"data":41224,"content":41225,"nodeType":860},{},[41226,41230,41234],{"data":41227,"marks":41228,"value":41229,"nodeType":864},{},[],"If you work in healthcare, or support teams that do, you already know that regulatory change can be both necessary ",{"data":41231,"marks":41232,"value":19474,"nodeType":864},{},[41233],{"type":2246},{"data":41235,"marks":41236,"value":41237,"nodeType":864},{},[]," disruptive. The updates bring welcome clarity and stronger security expectations, but they also ask a lot from security teams that are already stretched thin.",{"data":41239,"content":41240,"nodeType":860},{},[41241],{"data":41242,"marks":41243,"value":41244,"nodeType":864},{},[],"Here at Push, we think these changes are a step in the right direction. Better protection for patient data is always the goal. But implementing these new requirements isn’t easy, especially in complex environments with a mix of legacy systems, shadow SaaS, and a hybrid workforce.",{"data":41246,"content":41247,"nodeType":860},{},[41248],{"data":41249,"marks":41250,"value":41251,"nodeType":864},{},[],"So, let’s walk through a few of the biggest changes coming in 2025, why they matter, and how healthcare orgs can begin navigating them effectively.",{"data":41253,"content":41254,"nodeType":1005},{},[],{"data":41256,"content":41257,"nodeType":1009},{},[41258],{"data":41259,"marks":41260,"value":41262,"nodeType":864},{},[41261],{"type":899},"MFA is no longer optional",{"data":41264,"content":41265,"nodeType":860},{},[41266,41270,41275],{"data":41267,"marks":41268,"value":41269,"nodeType":864},{},[],"In the past, HIPAA called multi-factor authentication an \"addressable\" control. That gave organizations some wiggle room to implement it where feasible. The 2025 update removes the ambiguity. If your systems handle electronic protected health information, MFA is now ",{"data":41271,"marks":41272,"value":41274,"nodeType":864},{},[41273],{"type":2246},"mandatory",{"data":41276,"marks":41277,"value":2924,"nodeType":864},{},[],{"data":41279,"content":41280,"nodeType":860},{},[41281,41285,41293],{"data":41282,"marks":41283,"value":41284,"nodeType":864},{},[],"This is a good move. Passwords alone just don’t cut it anymore, especially with the rise of credential stuffing, ",{"data":41286,"content":41287,"nodeType":883},{"uri":40559},[41288],{"data":41289,"marks":41290,"value":41292,"nodeType":864},{},[41291],{"type":1455},"sophisticated phishing attacks",{"data":41294,"marks":41295,"value":41296,"nodeType":864},{},[],", and social engineering. But rolling out MFA across every user? That’s a big lift.",{"data":41298,"content":41299,"nodeType":860},{},[41300],{"data":41301,"marks":41302,"value":41303,"nodeType":864},{},[],"What we often see teams struggle with is coverage. Ensuring MFA is enforced on all apps in your environment is often pretty tough, but starting with a thorough review of application access across the organization is a good first step. Once you have that visibility, you can better assess where gaps in MFA enforcement might exist and then start closing them.",{"data":41305,"content":41306,"nodeType":860},{},[41307,41311,41320],{"data":41308,"marks":41309,"value":41310,"nodeType":864},{},[],"And those gaps are more common than many teams realize. The average employee ",{"data":41312,"content":41314,"nodeType":883},{"uri":41313},"https://pushsecurity.com/blog/how-many-vulnerable-identities-do-you-have/#id-identity-configurations-and-how-they-can-be-exploited",[41315],{"data":41316,"marks":41317,"value":41319,"nodeType":864},{},[41318],{"type":1455},"uses 15 different work applications",{"data":41321,"marks":41322,"value":41323,"nodeType":864},{},[],", yet only 28% of those apps have MFA enabled. Even more worrying, nearly half of those apps missing MFA protection are also using weak or leaked passwords, compounding the risk. ",{"data":41325,"content":41326,"nodeType":860},{},[41327,41331,41340],{"data":41328,"marks":41329,"value":41330,"nodeType":864},{},[],"While this shift will take planning, the good news is that there are tools that can help make it more manageable. Our ",{"data":41332,"content":41334,"nodeType":883},{"uri":41333},"https://pushsecurity.com/product/",[41335],{"data":41336,"marks":41337,"value":41339,"nodeType":864},{},[41338],{"type":1455},"browser-based agent",{"data":41341,"marks":41342,"value":41343,"nodeType":864},{},[]," gives you a way to monitor login activity across your workforce, surfacing when users aren't registered for MFA on apps they regularly use for work. We can even enforce MFA on those accounts, prompting users to set up MFA using a customizable in-browser banner, which helps teams get better coverage without needing to chase down every individual. This is all done where the users are actually logging into their accounts in the browser. No integrations required.",{"data":41345,"content":41349,"nodeType":996},{"target":41346},{"sys":41347},{"id":41348,"type":1001,"linkType":1002},"6VMovx9xzsokZGQQryKlyA",[],{"data":41351,"content":41352,"nodeType":1005},{},[],{"data":41354,"content":41355,"nodeType":1009},{},[41356],{"data":41357,"marks":41358,"value":41360,"nodeType":864},{},[41359],{"type":899},"Know your assets and your data flows",{"data":41362,"content":41363,"nodeType":860},{},[41364],{"data":41365,"marks":41366,"value":41367,"nodeType":864},{},[],"One of the more technical (but important!) updates in the 2025 rule is the new requirement to maintain a detailed inventory of all systems that interact with electronic protected health information. This includes not just physical devices and on-prem systems, but cloud services and software as well. The goal is to understand exactly which systems interact with ePHI, how they do it, and where that data goes.",{"data":41369,"content":41370,"nodeType":860},{},[41371],{"data":41372,"marks":41373,"value":41374,"nodeType":864},{},[],"Importantly, this new guidance also requires orgs to remove extraneous software from any systems that handle ePHI. That could mean eliminating unused or redundant apps, retiring legacy systems that no longer meet security standards, or re-evaluating the use of consumer-grade tools for sensitive workflows.",{"data":41376,"content":41377,"nodeType":860},{},[41378,41382,41391],{"data":41379,"marks":41380,"value":41381,"nodeType":864},{},[],"Getting a complete view of your assets is easier said than done, especially when staff are able to ",{"data":41383,"content":41385,"nodeType":883},{"uri":41384},"https://pushsecurity.com/uc/shadow-saas",[41386],{"data":41387,"marks":41388,"value":41390,"nodeType":864},{},[41389],{"type":1455},"self-adopt",{"data":41392,"marks":41393,"value":41394,"nodeType":864},{},[]," new tools to increase their productivity. Push tracks the apps your users log into with their work credentials, no matter if those apps are officially sanctioned or not. This helps you uncover your true application footprint, so you can begin reviewing which SaaS apps are essential and which ones pose unnecessary risk and should be blocked. With better visibility into real-world usage, it becomes much easier to decide which tools are worth keeping.",{"data":41396,"content":41400,"nodeType":996},{"target":41397},{"sys":41398},{"id":41399,"type":1001,"linkType":1002},"664FI99rvxtjfb2b6KcJqv",[],{"data":41402,"content":41403,"nodeType":1005},{},[],{"data":41405,"content":41406,"nodeType":1009},{},[41407],{"data":41408,"marks":41409,"value":41411,"nodeType":864},{},[41410],{"type":899},"Risk analysis needs to get real",{"data":41413,"content":41414,"nodeType":860},{},[41415],{"data":41416,"marks":41417,"value":41418,"nodeType":864},{},[],"The new HIPAA rule puts more emphasis on risk analysis. One-off assessments are no longer sufficient. Organizations need to demonstrate an ongoing process for identifying and evaluating threats and vulnerabilities.",{"data":41420,"content":41421,"nodeType":860},{},[41422],{"data":41423,"marks":41424,"value":41425,"nodeType":864},{},[],"Again, easier said than done. Risk isn’t static, and security teams can’t catch everything with quarterly audits alone. That’s why a lot of orgs are looking for ways to layer in continuous, real-time signals that can flag risk before it becomes a full-blown incident.",{"data":41427,"content":41428,"nodeType":860},{},[41429,41433,41442],{"data":41430,"marks":41431,"value":41432,"nodeType":864},{},[],"Behavioral signals are one way to make that process more dynamic. These give you a better view of how users interact with systems and where potential gaps might be forming. ",{"data":41434,"content":41436,"nodeType":883},{"uri":41435},"https://pushsecurity.com/blog/how-many-vulnerable-identities-do-you-have",[41437],{"data":41438,"marks":41439,"value":41441,"nodeType":864},{},[41440],{"type":1455},"In our own research",{"data":41443,"marks":41444,"value":41445,"nodeType":864},{},[],", we found that one in four IdP accounts still lack MFA. When you combine that with weak credentials and unknown app usage, you get a clearer picture of how vulnerabilities build up over time. ",{"data":41447,"content":41448,"nodeType":860},{},[41449,41453,41462],{"data":41450,"marks":41451,"value":41452,"nodeType":864},{},[],"Push supports that kind of ongoing risk work by providing real-time insights into user behavior. We surface unusual activity such as ",{"data":41454,"content":41456,"nodeType":883},{"uri":41455},"https://pushsecurity.com/uc/identity-security-posture-management",[41457],{"data":41458,"marks":41459,"value":41461,"nodeType":864},{},[41460],{"type":1455},"unusual login methods",{"data":41463,"marks":41464,"value":41465,"nodeType":864},{},[]," or atypical app usage. These kinds of insights can help teams prioritize where attention is needed most. Even simple changes that follow from those insights, like tightening authentication policies or auditing admin access more regularly, can have a meaningful impact on your risk posture.",{"data":41467,"content":41471,"nodeType":996},{"target":41468},{"sys":41469},{"id":41470,"type":1001,"linkType":1002},"U9FszA4eUM4zVYSkakmNY",[],{"data":41473,"content":41477,"nodeType":996},{"target":41474},{"sys":41475},{"id":41476,"type":1001,"linkType":1002},"2F5yEv6vkdEs0Q8FYbp6uv",[],{"data":41479,"content":41480,"nodeType":1005},{},[],{"data":41482,"content":41483,"nodeType":1009},{},[41484],{"data":41485,"marks":41486,"value":41488,"nodeType":864},{},[41487],{"type":899},"Wrapping up",{"data":41490,"content":41491,"nodeType":860},{},[41492],{"data":41493,"marks":41494,"value":41495,"nodeType":864},{},[],"The 2025 HIPAA changes are thoughtful and necessary. They reflect the way people actually work today, and they challenge us to raise the bar on how we manage access, visibility, and risk. ",{"data":41497,"content":41498,"nodeType":860},{},[41499],{"data":41500,"marks":41501,"value":41502,"nodeType":864},{},[],"Of course, none of this is easy. It takes time to build out inventories, map data flows, and rethink risk management practices. But the end result, a more secure and resilient environment for patient data, is well worth it.",{"data":41504,"content":41505,"nodeType":860},{},[41506],{"data":41507,"marks":41508,"value":41509,"nodeType":864},{},[],"At Push, our goal is to make that process more manageable. We build tools to help organizations get clarity on their SaaS usage, strengthen their identity security posture, and respond to threats quickly. But more than that, we want to be a resource to teams navigating these updates.",{"data":41511,"content":41512,"nodeType":860},{},[41513,41517,41525],{"data":41514,"marks":41515,"value":41516,"nodeType":864},{},[],"Whether you're just starting to assess your readiness or knee-deep in implementation plans, ",{"data":41518,"content":41519,"nodeType":883},{"uri":5642},[41520],{"data":41521,"marks":41522,"value":41524,"nodeType":864},{},[41523],{"type":1455},"let us know",{"data":41526,"marks":41527,"value":41528,"nodeType":864},{},[],". We’re always happy to chat.",{"entries":41530},{"hyperlink":41531,"inline":41532,"block":41533},[],[],[41534,41542,41548,41556],{"sys":41535,"__typename":1724,"title":41536,"caption":41537,"layoutMode":59,"file":41538},{"id":41348},"MFA banner image","Push prompts users to enroll MFA when logging into an app if no MFA method has been detected. ",{"url":41539,"width":41540,"height":41541},"https://images.ctfassets.net/y1cdw1ablpvd/1ozt4EP9Y79qYo2uH0BEjJ/5cee60a130feeca5e1ea262e6252d243/image2.png",1440,809,{"sys":41543,"__typename":1724,"title":41544,"caption":41545,"layoutMode":59,"file":41546},{"id":41399},"Push dashboard image","Push gives you a complete view of your assets and how employees are accessing them — enabling you to monitor where data is being stored, and how secure the access methods are.",{"url":41547,"width":1736,"height":36446},"https://images.ctfassets.net/y1cdw1ablpvd/7sZsfo4pw2T0iTpfrLL29e/4674a5836647b0c55a05e321ac665092/image3.png",{"sys":41549,"__typename":1724,"title":41550,"caption":41551,"layoutMode":59,"file":41552},{"id":41470},"Push identity inventory","Push provides a complete picture of your identity security posture, identifying and prioritising risks for remediation.  ",{"url":41553,"width":41554,"height":41555},"https://images.ctfassets.net/y1cdw1ablpvd/5WSEzq2fwOoYI4gSu5L5er/7e14ad9b56fb63806af5a5fa66f3c247/image1.png",1418,1318,{"sys":41557,"__typename":1717,"type":1718,"ctaText":41558,"buttonLabel":41559,"buttonColour":1721,"buttonUrl":41560},{"id":41476},"Learn how threat actors like Scattered Spider are exploiting identity security gaps to take over accounts, steal data, and deploy ransomware. ","Watch On-demand","https://pushsecurity.com/webinar/scatteredspider",{"items":41562},[],{},"Navigating the 2025 HIPAA Security Rule changes","2025-05-29T00:00:00.000Z",{"items":41567},[41568,42463,42793],{"__typename":2059,"sys":41569,"content":41571,"title":42449,"synopsis":42450,"hashTags":59,"publishedDate":42451,"slug":42452,"tagsCollection":42453,"authorsCollection":42459},{"id":41570},"1VGP8VIzwMh0zjNOzU5qaq",{"json":41572},{"data":41573,"content":41574,"nodeType":856},{},[41575,41582,41589,41596,41601,41604,41612,41631,41638,41645,41652,41675,41683,41686,41694,41701,41708,41715,41722,41728,41735,41742,41775,41782,41790,41796,41803,41821,41840,41846,41852,41860,41878,41884,41891,41898,41931,41939,41946,41952,41959,41966,41995,42003,42023,42031,42051,42059,42066,42072,42079,42082,42090,42110,42165,42172,42179,42187,42194,42217,42224,42243,42249,42256,42262,42269,42332,42340,42360,42367,42390,42393,42400,42407,42413,42420,42437,42443],{"data":41576,"content":41577,"nodeType":860},{},[41578],{"data":41579,"marks":41580,"value":41581,"nodeType":864},{},[],"A lot happened last year in the world of identity security — particularly in terms of the attacks we’ve experienced targeting internet applications and services. With this trend certain to continue in 2025, it’s more important than ever that product vendors build products with a secure baseline of fundamental controls and safeguards.",{"data":41583,"content":41584,"nodeType":860},{},[41585],{"data":41586,"marks":41587,"value":41588,"nodeType":864},{},[],"The vast majority of the identity vulnerabilities we observe in the wild are the result of multiple auth mechanisms being attached to a single account. The more methods that are configured (or are configurable), the greater the risk that insecure identities will be created — and exploited by attackers. ",{"data":41590,"content":41591,"nodeType":860},{},[41592],{"data":41593,"marks":41594,"value":41595,"nodeType":864},{},[],"The good news is that with a coordinated response from app vendors, this surface can be significantly reduced. The bad news is that right now, we’re very far from a universal standard when it comes to how apps handle authentication and identities. ",{"data":41597,"content":41600,"nodeType":996},{"target":41598},{"sys":41599},{"id":34138,"type":1001,"linkType":1002},[],{"data":41602,"content":41603,"nodeType":1005},{},[],{"data":41605,"content":41606,"nodeType":1009},{},[41607],{"data":41608,"marks":41609,"value":41611,"nodeType":864},{},[41610],{"type":899},"Where to start?",{"data":41613,"content":41614,"nodeType":860},{},[41615,41618,41627],{"data":41616,"marks":41617,"value":2761,"nodeType":864},{},[],{"data":41619,"content":41621,"nodeType":883},{"uri":41620},"https://mvsp.dev/mvsp.en/",[41622],{"data":41623,"marks":41624,"value":41626,"nodeType":864},{},[41625],{"type":1455},"Minimum Viable Secure Product (MVSP)",{"data":41628,"marks":41629,"value":41630,"nodeType":864},{},[]," initiative is a great resource for product and engineering teams that sets out essential controls that should be implemented in enterprise-ready products and services. MVSP does a fantastic job of getting to the heart of what’s important for vendor products, as compared to more general frameworks and standards like ISO and NIST that cover wider controls that should be implemented across the enterprise. ",{"data":41632,"content":41633,"nodeType":860},{},[41634],{"data":41635,"marks":41636,"value":41637,"nodeType":864},{},[],"We don’t want to reinvent the wheel, so we won’t be redoing the fundamentals already covered in MVSP. But MVSP inspired us to think – what are the vendor controls that would make a meaningful difference against the identity attacks we’re seeing in the wild? ",{"data":41639,"content":41640,"nodeType":860},{},[41641],{"data":41642,"marks":41643,"value":41644,"nodeType":864},{},[],"With better, consistent security standards, SaaS developers can close off a number of ATO techniques and generally make life much more difficult for attackers. ",{"data":41646,"content":41647,"nodeType":860},{},[41648],{"data":41649,"marks":41650,"value":41651,"nodeType":864},{},[],"We’ve identified two key areas of potential improvement which would make a material difference to ATO resilience:",{"data":41653,"content":41654,"nodeType":941},{},[41655,41665],{"data":41656,"content":41657,"nodeType":945},{},[41658],{"data":41659,"content":41660,"nodeType":860},{},[41661],{"data":41662,"marks":41663,"value":41664,"nodeType":864},{},[],"Many of the emerging TTPs could be seriously impaired (or prevented entirely) with improved authentication and identity management controls. ",{"data":41666,"content":41667,"nodeType":945},{},[41668],{"data":41669,"content":41670,"nodeType":860},{},[41671],{"data":41672,"marks":41673,"value":41674,"nodeType":864},{},[],"Detecting attacks and responding to identity breaches on third-party apps is a nightmare due to the availability of log data (or lack thereof). ",{"data":41676,"content":41677,"nodeType":860},{},[41678],{"data":41679,"marks":41680,"value":41682,"nodeType":864},{},[41681],{"type":899},"Let’s look at the changes that app vendors can make to improve the situation. ",{"data":41684,"content":41685,"nodeType":1005},{},[],{"data":41687,"content":41688,"nodeType":1009},{},[41689],{"data":41690,"marks":41691,"value":41693,"nodeType":864},{},[41692],{"type":899},"Provide the visibility and control to manage and harden identities",{"data":41695,"content":41696,"nodeType":860},{},[41697],{"data":41698,"marks":41699,"value":41700,"nodeType":864},{},[],"In the context of SaaS, identity security controls are your best (and in many cases, your last) defense against cyber attacks. ",{"data":41702,"content":41703,"nodeType":860},{},[41704],{"data":41705,"marks":41706,"value":41707,"nodeType":864},{},[],"Pretty much every SaaS attack involves ATO through identity-based techniques, such as phishing, credential stuffing, or session hijacking using stolen cookies. In contrast, very few involve classic vulnerability exploitation (e.g. injection vulns, cross-site scripting, etc.). ",{"data":41709,"content":41710,"nodeType":860},{},[41711],{"data":41712,"marks":41713,"value":41714,"nodeType":864},{},[],"When all an attacker needs to do is log into an app and dump the data to succeed, there isn’t much in the way of post-ATO activity to detect and respond to (even if you had the logs you need, more on this later) — which is why robust authentication controls to prevent unauthorized access are so important. ",{"data":41716,"content":41717,"nodeType":860},{},[41718],{"data":41719,"marks":41720,"value":41721,"nodeType":864},{},[],"If post-ATO activity does occur, it is often to compromise additional accounts with in-app administrative privileges as opposed to pivoting to other environments. ",{"data":41723,"content":41727,"nodeType":996},{"target":41724},{"sys":41725},{"id":41726,"type":1001,"linkType":1002},"3l9SxYjTtls6URgbI0NiU3",[],{"data":41729,"content":41730,"nodeType":860},{},[41731],{"data":41732,"marks":41733,"value":41734,"nodeType":864},{},[],"As you’d expect, many apps prioritize a frictionless user experience over security. This is one of the main drivers of insecure authentication implementation. Consistent implementation of identity and authentication controls would go a long way to reducing the susceptibility of apps to the majority of identity attack techniques. ",{"data":41736,"content":41737,"nodeType":860},{},[41738],{"data":41739,"marks":41740,"value":41741,"nodeType":864},{},[],"In terms of authentication and identity management, MVSP focuses on:",{"data":41743,"content":41744,"nodeType":941},{},[41745,41755,41765],{"data":41746,"content":41747,"nodeType":945},{},[41748],{"data":41749,"content":41750,"nodeType":860},{},[41751],{"data":41752,"marks":41753,"value":41754,"nodeType":864},{},[],"Providing an SSO mechanism, ",{"data":41756,"content":41757,"nodeType":945},{},[41758],{"data":41759,"content":41760,"nodeType":860},{},[41761],{"data":41762,"marks":41763,"value":41764,"nodeType":864},{},[],"Implementing a robust password policy, and ",{"data":41766,"content":41767,"nodeType":945},{},[41768],{"data":41769,"content":41770,"nodeType":860},{},[41771],{"data":41772,"marks":41773,"value":41774,"nodeType":864},{},[],"Logically separating data/functions based on the needs of a user type/group. ",{"data":41776,"content":41777,"nodeType":860},{},[41778],{"data":41779,"marks":41780,"value":41781,"nodeType":864},{},[],"We can go beyond these basic auth controls to prevent identity attacks by providing better default security configurations, and giving admins more visibility and control over identities. ",{"data":41783,"content":41784,"nodeType":1312},{},[41785],{"data":41786,"marks":41787,"value":41789,"nodeType":864},{},[41788],{"type":899},"1. Allow one active login method (and require external re-verification to change to another).",{"data":41791,"content":41795,"nodeType":996},{"target":41792},{"sys":41793},{"id":41794,"type":1001,"linkType":1002},"65YwkaNS3LjB1vZsYQtXQH",[],{"data":41797,"content":41798,"nodeType":860},{},[41799],{"data":41800,"marks":41801,"value":41802,"nodeType":864},{},[],"There is very rarely a need for multiple authentication methods to be active for the same account at the same time. Perhaps you upgrade from a local password to OIDC or SAML — but there’s no need to have multiple SSO logins from different providers at once, and there’s no need to continue using a local password after adding an SSO method. One exception is Administrators retaining local password access to access the tenant in case SAML configuration breaks (commonly because certificates expire) but in all other cases it’s an anti-pattern to allow any user more than one auth method. ",{"data":41804,"content":41805,"nodeType":860},{},[41806,41810,41817],{"data":41807,"marks":41808,"value":41809,"nodeType":864},{},[],"We call these alternative login methods (especially when they are in addition to SAML — so e.g. local password or OIDC logins using Google or Microsoft) ",{"data":41811,"content":41812,"nodeType":883},{"uri":26784},[41813],{"data":41814,"marks":41815,"value":17706,"nodeType":864},{},[41816],{"type":1455},{"data":41818,"marks":41819,"value":41820,"nodeType":864},{},[]," because they provide attackers with a way around a company’s chosen enterprise SSO option. ",{"data":41822,"content":41823,"nodeType":860},{},[41824,41828,41836],{"data":41825,"marks":41826,"value":41827,"nodeType":864},{},[],"This situation most commonly arises because apps automatically merge login methods. So for example, if a user normally logs in with a password, but then attempts to login using an OIDC of social login — many apps automatically merge that new login method with the existing account. This is particularly problematic when it’s done without further verification steps — leading to ",{"data":41829,"content":41830,"nodeType":883},{"uri":40464},[41831],{"data":41832,"marks":41833,"value":41835,"nodeType":864},{},[41834],{"type":1455},"cross-IdP attacks",{"data":41837,"marks":41838,"value":41839,"nodeType":864},{},[],". Ideally, apps should disable the old log method when a new one is enabled, but at the very least, external verification of the change should be required (e.g. via email). ",{"data":41841,"content":41845,"nodeType":996},{"target":41842},{"sys":41843},{"id":41844,"type":1001,"linkType":1002},"4rcDwo3EmNtkjOLQmf1A7V",[],{"data":41847,"content":41851,"nodeType":996},{"target":41848},{"sys":41849},{"id":41850,"type":1001,"linkType":1002},"19iDG0ARpziXraEx2Ca7xp",[],{"data":41853,"content":41854,"nodeType":1312},{},[41855],{"data":41856,"marks":41857,"value":41859,"nodeType":864},{},[41858],{"type":899},"2. Require external verification of changes to IdP configuration settings.",{"data":41861,"content":41862,"nodeType":860},{},[41863,41867,41874],{"data":41864,"marks":41865,"value":41866,"nodeType":864},{},[],"Attackers that are able to compromise one account with the level of privilege required to change the SAML settings in-app (typically an app admin), even on an app that is otherwise uninteresting or low risk – can perform an attack technique known as ",{"data":41868,"content":41869,"nodeType":883},{"uri":5231},[41870],{"data":41871,"marks":41872,"value":5272,"nodeType":864},{},[41873],{"type":1455},{"data":41875,"marks":41876,"value":41877,"nodeType":864},{},[],". This can be used to direct users to authenticate to the app via an attacker-controlled IdP tenant (so e.g. an attacker’s own Okta instance or phishing page that looks like Okta/MS/Google) to capture additional credentials and facilitate further compromise of accounts. ",{"data":41879,"content":41883,"nodeType":996},{"target":41880},{"sys":41881},{"id":41882,"type":1001,"linkType":1002},"4YfQDIY2hhE77h2xDr9Ja",[],{"data":41885,"content":41886,"nodeType":860},{},[41887],{"data":41888,"marks":41889,"value":41890,"nodeType":864},{},[],"To mitigate this, any SAML changes should require external verification, ideally through an out-of-band method like DNS Verification. If this can’t be achieved and you need to rely on email, the request should be sent to all app admins (to increase awareness of the risky change) and come with a cooldown period before the change takes effect. This improves the chance that an attacker’s SAMLjacking attack can be intercepted before half of the victim’s workforce gets keylogged — not after!",{"data":41892,"content":41893,"nodeType":860},{},[41894],{"data":41895,"marks":41896,"value":41897,"nodeType":864},{},[],"Other viable control options include:",{"data":41899,"content":41900,"nodeType":941},{},[41901,41911,41921],{"data":41902,"content":41903,"nodeType":945},{},[41904],{"data":41905,"content":41906,"nodeType":860},{},[41907],{"data":41908,"marks":41909,"value":41910,"nodeType":864},{},[],"Once SAML is configured, ensure it can't be edited without contacting the app developer",{"data":41912,"content":41913,"nodeType":945},{},[41914],{"data":41915,"content":41916,"nodeType":860},{},[41917],{"data":41918,"marks":41919,"value":41920,"nodeType":864},{},[],"Service Provider initiated flows not enabled by default to stop attackers from hijacking logins using Home Realm Discovery for domains they don't own",{"data":41922,"content":41923,"nodeType":945},{},[41924],{"data":41925,"content":41926,"nodeType":860},{},[41927],{"data":41928,"marks":41929,"value":41930,"nodeType":864},{},[],"Disallow new signups using password or OIDC logins when a domain is connected via SAML",{"data":41932,"content":41933,"nodeType":1312},{},[41934],{"data":41935,"marks":41936,"value":41938,"nodeType":864},{},[41937],{"type":899},"3. Provide admins with visibility of account authentication (login methods, MFA methods, IdPs used) and allow them to be restricted or removed. ",{"data":41940,"content":41941,"nodeType":860},{},[41942],{"data":41943,"marks":41944,"value":41945,"nodeType":864},{},[],"Many apps provide very limited information to admins about the configuration of identities within their tenant, and fewer still provide any mechanism for admins to take action if gaps or potential weak points are discovered. Some don’t even provide information about which accounts have access to the tenant at all. As a security team member this is maddening. ",{"data":41947,"content":41951,"nodeType":996},{"target":41948},{"sys":41949},{"id":41950,"type":1001,"linkType":1002},"5z3zNE7z9TWUJsYCmwew1S",[],{"data":41953,"content":41954,"nodeType":860},{},[41955],{"data":41956,"marks":41957,"value":41958,"nodeType":864},{},[],"It’s vital that, at the bare minimum, admins can access information (ideally in a dashboard) with the accounts, all login methods configured, MFA factors set, and the SSO methods used (specifying the IdP and protocol). All login methods should be visible to security admins, including secondary email addresses, social login connections, and so on. ",{"data":41960,"content":41961,"nodeType":860},{},[41962],{"data":41963,"marks":41964,"value":41965,"nodeType":864},{},[],"It should then also be possible to set a preferred method (e.g. only SAML from Microsoft, or OIDC from Google) and delete or disable ones that pose a risk. ",{"data":41967,"content":41968,"nodeType":860},{},[41969,41973,41980,41983,41991],{"data":41970,"marks":41971,"value":41972,"nodeType":864},{},[],"For security teams to be able to clean up insecure identities, they need to be able to make changes inside the app without requiring an action from the user. This means removing phishable MFA factors to prevent ",{"data":41974,"content":41975,"nodeType":883},{"uri":26728},[41976],{"data":41977,"marks":41978,"value":26733,"nodeType":864},{},[41979],{"type":1455},{"data":41981,"marks":41982,"value":902,"nodeType":864},{},[],{"data":41984,"content":41985,"nodeType":883},{"uri":39911},[41986],{"data":41987,"marks":41988,"value":41990,"nodeType":864},{},[41989],{"type":1455},"MFA downgrade",{"data":41992,"marks":41993,"value":41994,"nodeType":864},{},[]," attacks.  ",{"data":41996,"content":41997,"nodeType":1312},{},[41998],{"data":41999,"marks":42000,"value":42002,"nodeType":864},{},[42001],{"type":899},"4. Support the use of domain-bound credentials (whether in the form of a passkey or MFA method) that are phishing resistant (FIDO key).",{"data":42004,"content":42005,"nodeType":860},{},[42006,42010,42019],{"data":42007,"marks":42008,"value":42009,"nodeType":864},{},[],"It’s no longer the case that simply having MFA is enough to stop identity attacks. The vast majority of phishing campaigns now make use of ",{"data":42011,"content":42013,"nodeType":883},{"uri":42012},"https://github.com/pushsecurity/saas-attacks/blob/main/techniques/aitm_phishing/description.md",[42014],{"data":42015,"marks":42016,"value":42018,"nodeType":864},{},[42017],{"type":1455},"AitM toolkits designed to bypass MFA",{"data":42020,"marks":42021,"value":42022,"nodeType":864},{},[],". The only MFA methods considered to be phishing resistant are those using device-bound authentication methods such as passkeys/WebAuthn. However, only a handful of apps actually support these authentication methods. While the majority of SSO apps do support them, apps should provide support locally as well, particularly for B2C use-cases where enterprise SSO isn’t being used. ",{"data":42024,"content":42025,"nodeType":1312},{},[42026],{"data":42027,"marks":42028,"value":42030,"nodeType":864},{},[42029],{"type":899},"5. Allow active sessions to be viewed and remotely terminated by administrators.",{"data":42032,"content":42033,"nodeType":860},{},[42034,42038,42047],{"data":42035,"marks":42036,"value":42037,"nodeType":864},{},[],"Most apps have no way of viewing valid sessions and session activity, even as an administrator. With session hijacking attacks using ",{"data":42039,"content":42041,"nodeType":883},{"uri":42040},"https://github.com/pushsecurity/saas-attacks/blob/main/techniques/session_cookie_theft/description.md",[42042],{"data":42043,"marks":42044,"value":42046,"nodeType":864},{},[42045],{"type":1455},"stolen session cookies",{"data":42048,"marks":42049,"value":42050,"nodeType":864},{},[]," on the rise, being able to (at the very least) terminate sessions that are suspected to have been compromised is key to effective incident response. In an ideal world, you would be able to view the properties of the session (such as the browser, IP, location that the session is being accessed from) to identify unusual or suspicious activity, which could in turn be leveraged by SecOps teams for their detection workflows. ",{"data":42052,"content":42053,"nodeType":1312},{},[42054],{"data":42055,"marks":42056,"value":42058,"nodeType":864},{},[42057],{"type":899},"6. Allow admins to prevent users with a matching domain from auto-joining a company tenant without being invited or approved by an admin, and notify when they do. ",{"data":42060,"content":42061,"nodeType":860},{},[42062],{"data":42063,"marks":42064,"value":42065,"nodeType":864},{},[],"Many apps do not provide the level of granular permissions that we’ve come to associate with enterprise cloud platforms — often because it simply isn’t necessary. This means that a lot of the time, the average user can access most, if not all of the data stored within an app. This is problematic if any user with a matching domain can join a company’s app tenant. This creates insider risk, as well as increasing the blast radius of ATO of an IdP account in terms of affected apps — it’s not just the apps they’re actively using, but any they can sign up to as well. ",{"data":42067,"content":42071,"nodeType":996},{"target":42068},{"sys":42069},{"id":42070,"type":1001,"linkType":1002},"SKchIQFHSWumQsORBYNs5",[],{"data":42073,"content":42074,"nodeType":860},{},[42075],{"data":42076,"marks":42077,"value":42078,"nodeType":864},{},[],"To address this, apps should allow admins to lock down their app tenant to be invite-only should they desire (and enable it by default), and at least issue email notifications to admins whenever a new user joins the company’s app tenant — prompting the admin to check that the event is expected. ",{"data":42080,"content":42081,"nodeType":1005},{},[],{"data":42083,"content":42084,"nodeType":1009},{},[42085],{"data":42086,"marks":42087,"value":42089,"nodeType":864},{},[42088],{"type":899},"Enable security teams to detect and respond to identity attacks",{"data":42091,"content":42092,"nodeType":860},{},[42093,42097,42106],{"data":42094,"marks":42095,"value":42096,"nodeType":864},{},[],"Security teams required to respond to incidents affecting SaaS apps are ",{"data":42098,"content":42100,"nodeType":883},{"uri":42099},"https://mayakaczorowski.com/blogs/what-sucks-in-security",[42101],{"data":42102,"marks":42103,"value":42105,"nodeType":864},{},[42104],{"type":1455},"united in how painful it is",{"data":42107,"marks":42108,"value":42109,"nodeType":864},{},[],": ",{"data":42111,"content":42112,"nodeType":941},{},[42113,42135,42145,42155],{"data":42114,"content":42115,"nodeType":945},{},[42116],{"data":42117,"content":42118,"nodeType":860},{},[42119,42123,42132],{"data":42120,"marks":42121,"value":42122,"nodeType":864},{},[],"Many SaaS providers don’t offer audit logs at all (",{"data":42124,"content":42126,"nodeType":883},{"uri":42125},"https://audit-logs.tax/",[42127],{"data":42128,"marks":42129,"value":42131,"nodeType":864},{},[42130],{"type":1455},"or charge extra for the privilege",{"data":42133,"marks":42134,"value":12285,"nodeType":864},{},[],{"data":42136,"content":42137,"nodeType":945},{},[42138],{"data":42139,"content":42140,"nodeType":860},{},[42141],{"data":42142,"marks":42143,"value":42144,"nodeType":864},{},[],"Even when logs are available, they might be incomplete, like missing login events, or critical pieces of information in the event needed to decide whether it’s malicious or not.",{"data":42146,"content":42147,"nodeType":945},{},[42148],{"data":42149,"content":42150,"nodeType":860},{},[42151],{"data":42152,"marks":42153,"value":42154,"nodeType":864},{},[],"The lack of standardization across tools creates ingestion challenges, with each app requiring custom development work.",{"data":42156,"content":42157,"nodeType":945},{},[42158],{"data":42159,"content":42160,"nodeType":860},{},[42161],{"data":42162,"marks":42163,"value":42164,"nodeType":864},{},[],"The logs you really need can’t always be accessed programmatically. The provider might have them, but you’ll need to put in a request – that could take hours or days to respond to. ",{"data":42166,"content":42167,"nodeType":860},{},[42168],{"data":42169,"marks":42170,"value":42171,"nodeType":864},{},[],"All of this makes it very challenging to ingest meaningful security log data from SaaS and harness it for detection and response. Hours or days is an eternity when you’re in the midst of a live incident, and is inevitably going to result in a worse outcome for the business. ",{"data":42173,"content":42174,"nodeType":860},{},[42175],{"data":42176,"marks":42177,"value":42178,"nodeType":864},{},[],"MVSP specifies that authentication events should be logged (and for how long they should be stored), but practically there is little consistency in the types of event and the fields captured. App vendors should make sure that the data points they provide (and the format that logs are provided in) can be practically used by security teams. ",{"data":42180,"content":42181,"nodeType":1312},{},[42182],{"data":42183,"marks":42184,"value":42186,"nodeType":864},{},[42185],{"type":899},"7. Log detailed authentication/login information.",{"data":42188,"content":42189,"nodeType":860},{},[42190],{"data":42191,"marks":42192,"value":42193,"nodeType":864},{},[],"Authentication information is arguably the most important log source in the context of SaaS services which lack granular permissions management, because: ",{"data":42195,"content":42196,"nodeType":941},{},[42197,42207],{"data":42198,"content":42199,"nodeType":945},{},[42200],{"data":42201,"content":42202,"nodeType":860},{},[42203],{"data":42204,"marks":42205,"value":42206,"nodeType":864},{},[],"If you know a malicious user accessed the app, you can infer/assume the likely impact, and respond accordingly. ",{"data":42208,"content":42209,"nodeType":945},{},[42210],{"data":42211,"content":42212,"nodeType":860},{},[42213],{"data":42214,"marks":42215,"value":42216,"nodeType":864},{},[],"Attacker behavior in-app is often indistinguishable from typical user behavior.",{"data":42218,"content":42219,"nodeType":860},{},[42220],{"data":42221,"marks":42222,"value":42223,"nodeType":864},{},[],"This means it’s vital to understand who accessed the app, at what time, and from where.",{"data":42225,"content":42226,"nodeType":860},{},[42227,42230,42239],{"data":42228,"marks":42229,"value":2761,"nodeType":864},{},[],{"data":42231,"content":42233,"nodeType":883},{"uri":42232},"https://eventmaturitymatrix.com/#salesforce-real-time-event-monitoring-urieventstream",[42234],{"data":42235,"marks":42236,"value":42238,"nodeType":864},{},[42237],{"type":1455},"SaaS Event Maturity Matrix",{"data":42240,"marks":42241,"value":42242,"nodeType":864},{},[]," provides a great starting point when looking at the availability of authentication logs across different platforms. ",{"data":42244,"content":42248,"nodeType":996},{"target":42245},{"sys":42246},{"id":42247,"type":1001,"linkType":1002},"4NppB8YnmXHIQjvLwx79JW",[],{"data":42250,"content":42251,"nodeType":860},{},[42252],{"data":42253,"marks":42254,"value":42255,"nodeType":864},{},[],"We recommend that all providers include the following Authentication and MFA Verification log fields:",{"data":42257,"content":42261,"nodeType":996},{"target":42258},{"sys":42259},{"id":42260,"type":1001,"linkType":1002},"67uAYr6RA3DIr7mUCBgzyn",[],{"data":42263,"content":42264,"nodeType":860},{},[42265],{"data":42266,"marks":42267,"value":42268,"nodeType":864},{},[],"With this level of granular information it will be much easier for security teams to reliably differentiate malicious from legitimate access, independently or when combined with other data points:",{"data":42270,"content":42271,"nodeType":941},{},[42272,42282,42292,42302,42312,42322],{"data":42273,"content":42274,"nodeType":945},{},[42275],{"data":42276,"content":42277,"nodeType":860},{},[42278],{"data":42279,"marks":42280,"value":42281,"nodeType":864},{},[],"Identify suspicious logins due to location/impossible travel",{"data":42283,"content":42284,"nodeType":945},{},[42285],{"data":42286,"content":42287,"nodeType":860},{},[42288],{"data":42289,"marks":42290,"value":42291,"nodeType":864},{},[],"Identify failed login attempts due to either credential or MFA failures, indicating possible credential stuffing attacks",{"data":42293,"content":42294,"nodeType":945},{},[42295],{"data":42296,"content":42297,"nodeType":860},{},[42298],{"data":42299,"marks":42300,"value":42301,"nodeType":864},{},[],"Identify the IdP used to login to detect unapproved or unusual IdP logins (a possible indicator of cross-IdP impersonation)",{"data":42303,"content":42304,"nodeType":945},{},[42305],{"data":42306,"content":42307,"nodeType":860},{},[42308],{"data":42309,"marks":42310,"value":42311,"nodeType":864},{},[],"Identify where an unexpected (less secure) MFA method is used, indicating a potential MFA downgrade attack",{"data":42313,"content":42314,"nodeType":945},{},[42315],{"data":42316,"content":42317,"nodeType":860},{},[42318],{"data":42319,"marks":42320,"value":42321,"nodeType":864},{},[],"Detect risky changes to authentication such as initiating SAML configuration changes, tracking which user initiated it and when it completed",{"data":42323,"content":42324,"nodeType":945},{},[42325],{"data":42326,"content":42327,"nodeType":860},{},[42328],{"data":42329,"marks":42330,"value":42331,"nodeType":864},{},[],"Differentiate active session location from the device/client/location of the original session (to detect session hijacking attacks)",{"data":42333,"content":42334,"nodeType":1312},{},[42335],{"data":42336,"marks":42337,"value":42339,"nodeType":864},{},[42338],{"type":899},"8. Make audit logs available in a format and using a mechanism that is easy to ingest into common security tools. ",{"data":42341,"content":42342,"nodeType":860},{},[42343,42347,42356],{"data":42344,"marks":42345,"value":42346,"nodeType":864},{},[],"Even where logs are available, security teams often have to wrestle with the format they are provided in to be able to make use of them. While JSON is pretty much the de facto standard nowadays, the absence of a common schema and field names is often the tricky part — complicated by the fact that there are multiple competing standards. At the very least, complying with at least one of the more established schemas (e.g. the ",{"data":42348,"content":42350,"nodeType":883},{"uri":42349},"https://www.elastic.co/guide/en/ecs/current/ecs-reference.html",[42351],{"data":42352,"marks":42353,"value":42355,"nodeType":864},{},[42354],{"type":1455},"Elastic Common Schema",{"data":42357,"marks":42358,"value":42359,"nodeType":864},{},[],") will provide a level of standardisation to make things easier for security teams.",{"data":42361,"content":42362,"nodeType":860},{},[42363],{"data":42364,"marks":42365,"value":42366,"nodeType":864},{},[],"Arguably an even bigger challenge is pulling the events you actually need from the data — so making it possible to stream logs or access them programmatically to minimize collection delays is a key change that app developers can implement regardless of the schema used, that will make life easier for SecOps teams. With that in mind: ",{"data":42368,"content":42369,"nodeType":941},{},[42370,42380],{"data":42371,"content":42372,"nodeType":945},{},[42373],{"data":42374,"content":42375,"nodeType":860},{},[42376],{"data":42377,"marks":42378,"value":42379,"nodeType":864},{},[],"Login events indicating a potential identity attack should emit preconfigured webhook events to enable security teams to better detect and respond, (such as in the context of the use cases above). ",{"data":42381,"content":42382,"nodeType":945},{},[42383],{"data":42384,"content":42385,"nodeType":860},{},[42386],{"data":42387,"marks":42388,"value":42389,"nodeType":864},{},[],"API access should also be provided to ensure that logs can be extracted to inform point-in-time investigations in the event of a suspected incident. (It’s no good if you have to request that certain logs be sent to you during a time-sensitive security incident.) ",{"data":42391,"content":42392,"nodeType":1005},{},[],{"data":42394,"content":42395,"nodeType":1009},{},[42396],{"data":42397,"marks":42398,"value":29454,"nodeType":864},{},[42399],{"type":899},{"data":42401,"content":42402,"nodeType":860},{},[42403],{"data":42404,"marks":42405,"value":42406,"nodeType":864},{},[],"The key takeaway here is that the scope for identity attacks and abuse could be significantly mitigated with a better standard of app-level controls. If you’re familiar with Push, you’ll recognize that many of our features compensate for these gaps in visibility and control — made necessary by the fact that so many apps don’t provide basic information about the accounts within your tenant, or give you any controls to manage authentication in accordance with your risk profile.",{"data":42408,"content":42412,"nodeType":996},{"target":42409},{"sys":42410},{"id":42411,"type":1001,"linkType":1002},"2skTQlf4ssC083ilExzKPW",[],{"data":42414,"content":42415,"nodeType":860},{},[42416],{"data":42417,"marks":42418,"value":42419,"nodeType":864},{},[],"If you agree with us and think that stronger identity controls around authentication and security logging are needed, then consider adding these suggestions to your procurement requirements when on-boarding new apps and services. ",{"data":42421,"content":42422,"nodeType":860},{},[42423,42426,42433],{"data":42424,"marks":42425,"value":21,"nodeType":864},{},[],{"data":42427,"content":42428,"nodeType":883},{"uri":5642},[42429],{"data":42430,"marks":42431,"value":41118,"nodeType":864},{},[42432],{"type":1455},{"data":42434,"marks":42435,"value":42436,"nodeType":864},{},[]," to find out how Push can mitigate widespread application security gaps and secure your identity attack surface. ",{"data":42438,"content":42442,"nodeType":996},{"target":42439},{"sys":42440},{"id":42441,"type":1001,"linkType":1002},"34OTFgwuW60VWzW4FAqwXi",[],{"data":42444,"content":42445,"nodeType":860},{},[42446],{"data":42447,"marks":42448,"value":21,"nodeType":864},{},[],"Minimum Viable Identity Security","How app developers can go beyond Minimum Viable Secure Product (MVSP) to implement better identity protections and prevent identity-based attacks. ","2025-02-10T00:00:00.000Z","minimum-viable-identity-security",{"items":42454},[42455,42457],{"sys":42456,"name":297},{"id":2732},{"sys":42458,"name":342},{"id":6596},{"items":42460},[42461],{"fullName":2736,"firstName":2737,"jobTitle":2738,"profilePicture":42462},{"url":2740},{"__typename":2059,"sys":42464,"content":42466,"title":42779,"synopsis":42780,"hashTags":59,"publishedDate":42781,"slug":42782,"tagsCollection":42783,"authorsCollection":42789},{"id":42465},"4bYO5rVy9n2OO3vtMVQeda",{"json":42467},{"data":42468,"content":42469,"nodeType":856},{},[42470,42477,42495,42511,42518,42525,42528,42535,42542,42595,42602,42608,42611,42618,42625,42632,42639,42646,42663,42669,42676,42683,42699,42705,42712,42719,42726,42733,42740,42743,42750,42767,42773],{"data":42471,"content":42472,"nodeType":1009},{},[42473],{"data":42474,"marks":42475,"value":42476,"nodeType":864},{},[],"All phishing eventually leads to the browser",{"data":42478,"content":42479,"nodeType":860},{},[42480,42484,42492],{"data":42481,"marks":42482,"value":42483,"nodeType":864},{},[],"The best attack detection methods are those that focus on ",{"data":42485,"content":42486,"nodeType":883},{"uri":7425},[42487],{"data":42488,"marks":42489,"value":42491,"nodeType":864},{},[42490],{"type":1455},"detecting indicators that are difficult for attackers to change or obfuscate",{"data":42493,"marks":42494,"value":12252,"nodeType":864},{},[],{"data":42496,"content":42497,"nodeType":860},{},[42498,42502,42507],{"data":42499,"marks":42500,"value":42501,"nodeType":864},{},[],"For a credential phishing attack to succeed, the victim ",{"data":42503,"marks":42504,"value":42506,"nodeType":864},{},[42505],{"type":1455},"has",{"data":42508,"marks":42509,"value":42510,"nodeType":864},{},[]," to enter their password into a webpage. There’s no two-ways about it, attackers cannot change this. ",{"data":42512,"content":42513,"nodeType":860},{},[42514],{"data":42515,"marks":42516,"value":42517,"nodeType":864},{},[],"So it stands to reason that, if you can detect this user behavior, and block them from entering their password, then you can stop phishing. ",{"data":42519,"content":42520,"nodeType":860},{},[42521],{"data":42522,"marks":42523,"value":42524,"nodeType":864},{},[],"This is exactly what Push does.",{"data":42526,"content":42527,"nodeType":1005},{},[],{"data":42529,"content":42530,"nodeType":1312},{},[42531],{"data":42532,"marks":42533,"value":42534,"nodeType":864},{},[],"Most anti-phishing tools are easily bypassed",{"data":42536,"content":42537,"nodeType":860},{},[42538],{"data":42539,"marks":42540,"value":42541,"nodeType":864},{},[],"Other anti-phishing tools rely on detecting elements of the attack that attackers can change and hide, such as domains or the webpage contents. Attackers use tricks to evade these detection, like:",{"data":42543,"content":42544,"nodeType":941},{},[42545,42555,42565,42575,42585],{"data":42546,"content":42547,"nodeType":945},{},[42548],{"data":42549,"content":42550,"nodeType":860},{},[42551],{"data":42552,"marks":42553,"value":42554,"nodeType":864},{},[],"Using Cloudflare Workers to block automatic analysis of their phishing site",{"data":42556,"content":42557,"nodeType":945},{},[42558],{"data":42559,"content":42560,"nodeType":860},{},[42561],{"data":42562,"marks":42563,"value":42564,"nodeType":864},{},[],"Hacking a Wordpress blog to get a reputable domain that passes domain checks ",{"data":42566,"content":42567,"nodeType":945},{},[42568],{"data":42569,"content":42570,"nodeType":860},{},[42571],{"data":42572,"marks":42573,"value":42574,"nodeType":864},{},[],"Using redirects and rotating the URLs delivered to the victim to bypass link analysis",{"data":42576,"content":42577,"nodeType":945},{},[42578],{"data":42579,"content":42580,"nodeType":860},{},[42581],{"data":42582,"marks":42583,"value":42584,"nodeType":864},{},[],"Randomizing the HTML title for the web page to bypass blocklists ",{"data":42586,"content":42587,"nodeType":945},{},[42588],{"data":42589,"content":42590,"nodeType":860},{},[42591],{"data":42592,"marks":42593,"value":42594,"nodeType":864},{},[],"One-time phishing links that only work the first time they are clicked",{"data":42596,"content":42597,"nodeType":860},{},[42598],{"data":42599,"marks":42600,"value":42601,"nodeType":864},{},[],"Push is putting an end to this game of cat and mouse, by keeping it really simple; you can’t phish someone who can’t put their password into a phishing page. ",{"data":42603,"content":42607,"nodeType":996},{"target":42604},{"sys":42605},{"id":42606,"type":1001,"linkType":1002},"6AwOZSpqaChmeksnj4SyWE",[],{"data":42609,"content":42610,"nodeType":1005},{},[],{"data":42612,"content":42613,"nodeType":1312},{},[42614],{"data":42615,"marks":42616,"value":42617,"nodeType":864},{},[],"Domain-binding passwords",{"data":42619,"content":42620,"nodeType":860},{},[42621],{"data":42622,"marks":42623,"value":42624,"nodeType":864},{},[],"If you’re familiar with how passkeys are domain-bound, then think of what Push does as domain-binding passwords. We pin the password to its legitimate domain(s) and then don’t allow it to be entered into any webpage on any other domain. ",{"data":42626,"content":42627,"nodeType":860},{},[42628],{"data":42629,"marks":42630,"value":42631,"nodeType":864},{},[],"But just because you’ve stopped your users from being phished doesn’t mean you don’t want to know when attackers are attempting to phish your users and how. ",{"data":42633,"content":42634,"nodeType":860},{},[42635],{"data":42636,"marks":42637,"value":42638,"nodeType":864},{},[],"Push still inspects webpages to see if attackers are rendering cloned app login pages in the browser or if known AitM and BitM toolkits are being used. This way you don’t lose visibility of the unsuccessful attacks that are targeting your users. Think of it as a handy second and third layer of defense.",{"data":42640,"content":42641,"nodeType":860},{},[42642],{"data":42643,"marks":42644,"value":42645,"nodeType":864},{},[],"Lets run through a quick before and after example:",{"data":42647,"content":42648,"nodeType":1312},{},[42649,42653,42659],{"data":42650,"marks":42651,"value":42652,"nodeType":864},{},[],"Scenario 1: An attacker attempts to phish an employee that ",{"data":42654,"marks":42655,"value":42658,"nodeType":864},{},[42656,42657],{"type":1455},{"type":899},"doesn’t",{"data":42660,"marks":42661,"value":42662,"nodeType":864},{},[]," have Push deployed to their browser.",{"data":42664,"content":42668,"nodeType":996},{"target":42665},{"sys":42666},{"id":42667,"type":1001,"linkType":1002},"2CbGMUSJsP1mNeHkmpLl6N",[],{"data":42670,"content":42671,"nodeType":860},{},[42672],{"data":42673,"marks":42674,"value":42675,"nodeType":864},{},[],"Here, an attacker hacks a Wordpress blog to get a reputable domain and then runs a phishing toolkit on the webpage. They email one of your employees a link to it. Your SWG / email scanning solution inspects it in a sandbox but the phish kit detects this and redirects to a benign site so that it passes the inspection. ",{"data":42677,"content":42678,"nodeType":860},{},[42679],{"data":42680,"marks":42681,"value":42682,"nodeType":864},{},[],"Your user gets the email with the link and is now free to interact with the phishing page. They enter their credentials plus MFA code into the page and voila! The attacker steals them and is able to compromise the user’s account.  ",{"data":42684,"content":42685,"nodeType":1312},{},[42686,42690,42695],{"data":42687,"marks":42688,"value":42689,"nodeType":864},{},[],"Scenario 2: An attacker attempts to phish an employee that ",{"data":42691,"marks":42692,"value":3053,"nodeType":864},{},[42693,42694],{"type":1455},{"type":899},{"data":42696,"marks":42697,"value":42698,"nodeType":864},{},[]," have Push deployed to their browser. ",{"data":42700,"content":42704,"nodeType":996},{"target":42701},{"sys":42702},{"id":42703,"type":1001,"linkType":1002},"77smnID1woCfFJrJPyTvKY",[],{"data":42706,"content":42707,"nodeType":860},{},[42708],{"data":42709,"marks":42710,"value":42711,"nodeType":864},{},[],"This time, the attacker uses the same phishing toolkit and domain from the first example. But in reality, they don’t have to send it to your employee using email, instead, they could use LinkedIn messenger, Slack, Teams, or any application that allows employees to communicate with each other. ",{"data":42713,"content":42714,"nodeType":860},{},[42715],{"data":42716,"marks":42717,"value":42718,"nodeType":864},{},[],"Like before, the user receives the link, opens it and starts to enter their credentials into the webpage. This time though, the Push browser extension inspects the webpage running in the user's browser. Push observes that the webpage is a login page and the user is entering their password into the page.",{"data":42720,"content":42721,"nodeType":860},{},[42722],{"data":42723,"marks":42724,"value":42725,"nodeType":864},{},[],"The first detection Push makes is checking that the password the user is entering matches the domain that password is pinned to. Since it doesn't match, based on this detection alone the user is automatically redirected to a blocking page. An important point to make here is that the password never leaves the user’s browser and the check is made using a shortened salted hash of the password.   ",{"data":42727,"content":42728,"nodeType":860},{},[42729],{"data":42730,"marks":42731,"value":42732,"nodeType":864},{},[],"The second detection Push makes is that the rendered web app is using a cloned app login page. The third detection is that a phishing toolkit is running in the web app code. ",{"data":42734,"content":42735,"nodeType":860},{},[42736],{"data":42737,"marks":42738,"value":42739,"nodeType":864},{},[],"In this particular scenario these second and third detections serve as useful context for understanding the nature of the phishing attack. But both will still redirect to a blocking page if they are triggered in isolation of the other phishing detections. ",{"data":42741,"content":42742,"nodeType":1005},{},[],{"data":42744,"content":42745,"nodeType":1009},{},[42746],{"data":42747,"marks":42748,"value":42749,"nodeType":864},{},[],"We don’t just stop phishing attacks",{"data":42751,"content":42752,"nodeType":860},{},[42753,42757,42764],{"data":42754,"marks":42755,"value":42756,"nodeType":864},{},[],"We also detect other identity-related attack techniques used to compromise user accounts. That includes credential stuffing, password spraying and session hijacking using stolen session tokens. If you want to learn more about how Push helps you to detect and defeat common identity attack techniques, ",{"data":42758,"content":42759,"nodeType":883},{"uri":5642},[42760],{"data":42761,"marks":42762,"value":35582,"nodeType":864},{},[42763],{"type":1455},{"data":42765,"marks":42766,"value":35977,"nodeType":864},{},[],{"data":42768,"content":42772,"nodeType":996},{"target":42769},{"sys":42770},{"id":42771,"type":1001,"linkType":1002},"2JSmYDaiAciOx7Z1MRuJlA",[],{"data":42774,"content":42775,"nodeType":860},{},[42776],{"data":42777,"marks":42778,"value":21,"nodeType":864},{},[],"Detecting and blocking phishing attacks in the browser","How Push detects and blocks phishing attempts in the browser – explained in less than two minutes. ","2024-10-23T00:00:00.000Z","detecting-and-blocking-phishing-attacks-in-the-browser",{"items":42784},[42785,42787],{"sys":42786,"name":6593},{"id":6592},{"sys":42788,"name":342},{"id":6596},{"items":42790},[42791],{"fullName":4878,"firstName":4879,"jobTitle":851,"profilePicture":42792},{"url":4881},{"__typename":2059,"sys":42794,"content":42796,"title":44155,"synopsis":44156,"hashTags":59,"publishedDate":44157,"slug":44158,"tagsCollection":44159,"authorsCollection":44165},{"id":42795},"wgpdyHDn9NcpIJNr7jnFp",{"json":42797},{"data":42798,"content":42799,"nodeType":856},{},[42800,42806,42814,42821,42851,42857,42865,42894,42936,42942,42950,42968,42974,42977,42985,42992,42998,43042,43199,43202,43210,43217,43225,43256,43262,43270,43290,43297,43303,43310,43316,43335,43343,43361,43369,43376,43383,43386,43394,43401,43407,43414,43422,43440,43447,43453,43461,43468,43475,43506,43512,43519,43527,43534,43540,43571,43579,43599,43606,43612,43620,43640,43647,43710,43716,43719,43727,43734,43741,43772,43775,43783,43791,43797,43804,43812,43818,43825,43832,43838,43845,43853,43860,43867,43874,43893,43912,43919,43926,43932,43939,43947,43954,43961,43967,43974,43982,43989,43996,44003,44009,44016,44024,44031,44049,44055,44062,44083,44089,44096,44116,44122,44125,44132,44139],{"data":42801,"content":42805,"nodeType":996},{"target":42802},{"sys":42803},{"id":42804,"type":1001,"linkType":1002},"6BjaSruVecmhn1NoHreRni",[],{"data":42807,"content":42808,"nodeType":1009},{},[42809],{"data":42810,"marks":42811,"value":42813,"nodeType":864},{},[42812],{"type":899},"Background: Who are Scattered Spider?",{"data":42815,"content":42816,"nodeType":860},{},[42817],{"data":42818,"marks":42819,"value":42820,"nodeType":864},{},[],"Scattered Spider (also tracked as 0ktapus, Octo Tempest, Scatter Swine, Muddled Libra, and UNC3944) is a native English speaking, financially motivated criminal collective known for high-profile cyber breaches in recent years, including MoneyGram, Transport for London, Caesars, MGM Resorts, Clorox, DoorDash, Twilio, Reddit, Coinbase, MailChimp, Okta, HubSpot, Cloudflare, Activision, Pure Storage, and the ongoing Marks & Spencer, Co-op, and Harrods incidents.",{"data":42822,"content":42823,"nodeType":860},{},[42824,42828,42837,42840,42847],{"data":42825,"marks":42826,"value":42827,"nodeType":864},{},[],"Scattered Spider shares similar characteristics and TTPs with a number of named threat groups such as ",{"data":42829,"content":42831,"nodeType":883},{"uri":42830},"https://www.cisa.gov/sites/default/files/2023-08/CSRB_Lapsus%24_508c.pdf",[42832],{"data":42833,"marks":42834,"value":42836,"nodeType":864},{},[42835],{"type":1455},"Lapsus$, Yanluowang, Karakurt",{"data":42838,"marks":42839,"value":2232,"nodeType":864},{},[],{"data":42841,"content":42842,"nodeType":883},{"uri":3751},[42843],{"data":42844,"marks":42845,"value":4087,"nodeType":864},{},[42846],{"type":1455},{"data":42848,"marks":42849,"value":42850,"nodeType":864},{},[]," (behind the Snowflake attacks in 2024).",{"data":42852,"content":42856,"nodeType":996},{"target":42853},{"sys":42854},{"id":42855,"type":1001,"linkType":1002},"4sgT2Jw3iODUTdG2oPOrFC",[],{"data":42858,"content":42859,"nodeType":1312},{},[42860],{"data":42861,"marks":42862,"value":42864,"nodeType":864},{},[42863],{"type":899},"Case study: MGM Resorts",{"data":42866,"content":42867,"nodeType":860},{},[42868,42872,42879,42883,42890],{"data":42869,"marks":42870,"value":42871,"nodeType":864},{},[],"One of Scattered Spider’s most notorious and well-documented attacks was that affecting ",{"data":42873,"content":42874,"nodeType":883},{"uri":37638},[42875],{"data":42876,"marks":42877,"value":37644,"nodeType":864},{},[42878],{"type":1455},{"data":42880,"marks":42881,"value":42882,"nodeType":864},{},[],". Scattered Spider socially engineered MGM Resorts helpdesk personnel bypass MFA and log into accounts for which they had acquired valid login credentials for via credential phishing and historical infostealer compromises. They specifically targeted accounts with Super Administrator privileges within MGM Resorts’ Okta tenant, which they then used to register a second, attacker-controlled IdP via ",{"data":42884,"content":42885,"nodeType":883},{"uri":26938},[42886],{"data":42887,"marks":42888,"value":26944,"nodeType":864},{},[42889],{"type":1455},{"data":42891,"marks":42892,"value":42893,"nodeType":864},{},[],", which enabled them to impersonate any user within the Okta tenant. This then enabled them to abuse SSO access to downstream apps and platforms from various accounts, culminating in deployment of ransomware to around 100 ESXi servers and data exfiltration. ",{"data":42895,"content":42896,"nodeType":860},{},[42897,42901,42906,42910,42915,42919,42924,42928,42933],{"data":42898,"marks":42899,"value":42900,"nodeType":864},{},[],"The breach resulted in a ",{"data":42902,"marks":42903,"value":42905,"nodeType":864},{},[42904],{"type":899},"36-hour outage",{"data":42907,"marks":42908,"value":42909,"nodeType":864},{},[],", a ",{"data":42911,"marks":42912,"value":42914,"nodeType":864},{},[42913],{"type":899},"$100M ",{"data":42916,"marks":42917,"value":42918,"nodeType":864},{},[],"hit to its Q3 results, one-time cyber consulting fees in the region of ",{"data":42920,"marks":42921,"value":42923,"nodeType":864},{},[42922],{"type":899},"$10M",{"data":42925,"marks":42926,"value":42927,"nodeType":864},{},[],", and a class-action lawsuit later settled for ",{"data":42929,"marks":42930,"value":42932,"nodeType":864},{},[42931],{"type":899},"$45M",{"data":42934,"marks":42935,"value":12252,"nodeType":864},{},[],{"data":42937,"content":42941,"nodeType":996},{"target":42938},{"sys":42939},{"id":42940,"type":1001,"linkType":1002},"2vYvBXqFeKt7Ix0Ynh8cZu",[],{"data":42943,"content":42944,"nodeType":1312},{},[42945],{"data":42946,"marks":42947,"value":42949,"nodeType":864},{},[42948],{"type":899},"Case Study: Snowflake",{"data":42951,"content":42952,"nodeType":860},{},[42953,42957,42964],{"data":42954,"marks":42955,"value":42956,"nodeType":864},{},[],"Members of Scattered Spider have been affiliated with ShinyHunters, the group behind the ",{"data":42958,"content":42959,"nodeType":883},{"uri":3751},[42960],{"data":42961,"marks":42962,"value":42963,"nodeType":864},{},[],"Snowflake breaches in mid-2024",{"data":42965,"marks":42966,"value":42967,"nodeType":864},{},[],". ShinyHunters associates targeted ~165 organizations that were subjected to account takeover attacks using stolen credentials harvested from historical infostealer infections dating back as far as 2020, according to Mandiant’s investigation. In total, 9 public victims were named following the breach, collectively impacting hundreds of millions of people. Snowflake was a watershed moment that signalled the significant opportunity presented by identity attacks on cloud services. It demonstrated how comparatively unsophisticated methods (logging in to user accounts with stolen credentials and dumping the data) can have the same or greater impact as a traditional network or endpoint based cyber attack involving vulnerability exploitation, malware deployment, ransomware, etc.",{"data":42969,"content":42973,"nodeType":996},{"target":42970},{"sys":42971},{"id":42972,"type":1001,"linkType":1002},"49nJMPQjQ37Mfr2yWA56P3",[],{"data":42975,"content":42976,"nodeType":1005},{},[],{"data":42978,"content":42979,"nodeType":1009},{},[42980],{"data":42981,"marks":42982,"value":42984,"nodeType":864},{},[42983],{"type":899},"Arrests haven’t slowed Scattered Spider",{"data":42986,"content":42987,"nodeType":860},{},[42988],{"data":42989,"marks":42990,"value":42991,"nodeType":864},{},[],"In late 2024 following the Transport for London attacks (which resulted in prolonged disruption to key online services underpinning London’s public transport network, theft of 5,000 users bank details, and all 30,000 staff members having to reset their online credentials in person) a series of arrests were made in the UK and USA. ",{"data":42993,"content":42997,"nodeType":996},{"target":42994},{"sys":42995},{"id":42996,"type":1001,"linkType":1002},"2X2nyhO2hOqm9f0Le4lDC5",[],{"data":42999,"content":43000,"nodeType":860},{},[43001,43005,43014,43017,43026,43029,43038],{"data":43002,"marks":43003,"value":43004,"nodeType":864},{},[],"However, this doesn’t seem to have impacted Scattered Spider’s ability to operate, with the ongoing campaign against UK retail companies including ",{"data":43006,"content":43008,"nodeType":883},{"uri":43007},"https://www.bleepingcomputer.com/news/security/marks-and-spencer-breach-linked-to-scattered-spider-ransomware-attack/",[43009],{"data":43010,"marks":43011,"value":43013,"nodeType":864},{},[43012],{"type":1455},"Marks and Spencer",{"data":43015,"marks":43016,"value":3731,"nodeType":864},{},[],{"data":43018,"content":43020,"nodeType":883},{"uri":43019},"https://www.bleepingcomputer.com/news/security/co-op-confirms-data-theft-after-dragonforce-ransomware-claims-attack/",[43021],{"data":43022,"marks":43023,"value":43025,"nodeType":864},{},[43024],{"type":1455},"Co-op",{"data":43027,"marks":43028,"value":2232,"nodeType":864},{},[],{"data":43030,"content":43032,"nodeType":883},{"uri":43031},"https://www.bleepingcomputer.com/news/security/harrods-the-next-uk-retailer-targeted-in-a-cyberattack/",[43033],{"data":43034,"marks":43035,"value":43037,"nodeType":864},{},[43036],{"type":1455},"Harrods",{"data":43039,"marks":43040,"value":43041,"nodeType":864},{},[]," being strongly linked to Scattered Spider. Beginning on Easter weekend, the Marks and Spencer attack has had the biggest impact so far, resulting in severe disruption to the retailer with agency staff told not to come into work, online shopping services being taken offline, stores running low on products, £300M in lost profits, and almost £1B wiped off the company’s stock market valuation at one stage. ",{"data":43043,"content":43044,"nodeType":860},{},[43045,43049,43058,43061,43070,43073,43082,43085,43094,43097,43106,43109,43118,43121,43130,43134,43142,43145,43153,43156,43164,43167,43175,43178,43185,43188,43196],{"data":43046,"marks":43047,"value":43048,"nodeType":864},{},[],"A series of attacks against retailers worldwide soon followed, at an unprecedented rate. ",{"data":43050,"content":43052,"nodeType":883},{"uri":43051},"https://www.bleepingcomputer.com/news/security/fashion-giant-dior-discloses-cyberattack-warns-of-data-breach/",[43053],{"data":43054,"marks":43055,"value":43057,"nodeType":864},{},[43056],{"type":1455},"Dior",{"data":43059,"marks":43060,"value":3731,"nodeType":864},{},[],{"data":43062,"content":43064,"nodeType":883},{"uri":43063},"https://www.bleepingcomputer.com/news/security/the-north-face-warns-customers-of-april-credential-stuffing-attack/",[43065],{"data":43066,"marks":43067,"value":43069,"nodeType":864},{},[43068],{"type":1455},"The North Face",{"data":43071,"marks":43072,"value":3731,"nodeType":864},{},[],{"data":43074,"content":43076,"nodeType":883},{"uri":43075},"https://www.bleepingcomputer.com/news/security/cartier-discloses-data-breach-amid-fashion-brand-cyberattacks/",[43077],{"data":43078,"marks":43079,"value":43081,"nodeType":864},{},[43080],{"type":1455},"Cartier",{"data":43083,"marks":43084,"value":3731,"nodeType":864},{},[],{"data":43086,"content":43088,"nodeType":883},{"uri":43087},"https://www.bleepingcomputer.com/news/security/victorias-secret-delays-earnings-release-after-security-incident/",[43089],{"data":43090,"marks":43091,"value":43093,"nodeType":864},{},[43092],{"type":1455},"Victoria’s Secret",{"data":43095,"marks":43096,"value":3731,"nodeType":864},{},[],{"data":43098,"content":43100,"nodeType":883},{"uri":43099},"https://www.bleepingcomputer.com/news/security/adidas-warns-of-data-breach-after-customer-service-provider-hack/",[43101],{"data":43102,"marks":43103,"value":43105,"nodeType":864},{},[43104],{"type":1455},"Adidas",{"data":43107,"marks":43108,"value":3731,"nodeType":864},{},[],{"data":43110,"content":43112,"nodeType":883},{"uri":43111},"https://www.scworld.com/brief/separate-ransomware-attacks-purportedly-hit-coca-cola-bottling-partner",[43113],{"data":43114,"marks":43115,"value":43117,"nodeType":864},{},[43116],{"type":1455},"Coca-Cola",{"data":43119,"marks":43120,"value":2232,"nodeType":864},{},[],{"data":43122,"content":43124,"nodeType":883},{"uri":43123},"https://www.bleepingcomputer.com/news/security/grocery-wholesale-giant-united-natural-foods-hit-by-cyberattack/",[43125],{"data":43126,"marks":43127,"value":43129,"nodeType":864},{},[43128],{"type":1455},"United Natural Foods",{"data":43131,"marks":43132,"value":43133,"nodeType":864},{},[]," were among the retailers to suffer a breach between May-June 2025. More recently, Scattered Spider has targeted U.S. insurance giant ",{"data":43135,"content":43137,"nodeType":883},{"uri":43136},"https://www.bleepingcomputer.com/news/security/aflac-discloses-breach-amidst-scattered-spider-insurance-attacks/",[43138],{"data":43139,"marks":43140,"value":43141,"nodeType":864},{},[],"Aflac",{"data":43143,"marks":43144,"value":3731,"nodeType":864},{},[],{"data":43146,"content":43148,"nodeType":883},{"uri":43147},"https://www.bleepingcomputer.com/news/security/google-warns-scattered-spider-hackers-now-target-us-insurance-companies/",[43149],{"data":43150,"marks":43151,"value":43152,"nodeType":864},{},[],"Philadelphia Insurance Companies",{"data":43154,"marks":43155,"value":3731,"nodeType":864},{},[],{"data":43157,"content":43159,"nodeType":883},{"uri":43158},"https://www.bleepingcomputer.com/news/security/erie-insurance-confirms-cyberattack-behind-business-disruptions/amp/",[43160],{"data":43161,"marks":43162,"value":43163,"nodeType":864},{},[],"Erie Insurance",{"data":43165,"marks":43166,"value":3731,"nodeType":864},{},[],{"data":43168,"content":43170,"nodeType":883},{"uri":43169},"https://www.bleepingcomputer.com/news/security/scattered-spider-hackers-shift-focus-to-aviation-transportation-firms/",[43171],{"data":43172,"marks":43173,"value":43174,"nodeType":864},{},[],"Hawaiian Airlines",{"data":43176,"marks":43177,"value":3731,"nodeType":864},{},[],{"data":43179,"content":43180,"nodeType":883},{"uri":43169},[43181],{"data":43182,"marks":43183,"value":43184,"nodeType":864},{},[],"WestJet",{"data":43186,"marks":43187,"value":2232,"nodeType":864},{},[],{"data":43189,"content":43191,"nodeType":883},{"uri":43190},"https://www.bleepingcomputer.com/news/security/qantas-is-being-extorted-in-recent-data-theft-cyberattack/",[43192],{"data":43193,"marks":43194,"value":43195,"nodeType":864},{},[],"Qantas",{"data":43197,"marks":43198,"value":2924,"nodeType":864},{},[],{"data":43200,"content":43201,"nodeType":1005},{},[],{"data":43203,"content":43204,"nodeType":1009},{},[43205],{"data":43206,"marks":43207,"value":43209,"nodeType":864},{},[43208],{"type":899},"Scattered Spider TTP analysis",{"data":43211,"content":43212,"nodeType":860},{},[43213],{"data":43214,"marks":43215,"value":43216,"nodeType":864},{},[],"Along with a clear MO (financial gain via data exfiltration and extortion) Scattered Spider has demonstrated a pattern of go-to TTPs over recent years. ",{"data":43218,"content":43219,"nodeType":1312},{},[43220],{"data":43221,"marks":43222,"value":43224,"nodeType":864},{},[43223],{"type":899},"Social engineering, help desk scams, and SIM swapping",{"data":43226,"content":43227,"nodeType":860},{},[43228,43232,43241,43244,43252],{"data":43229,"marks":43230,"value":43231,"nodeType":864},{},[],"The public breaches associated with Scattered Spider have predominantly featured social engineering heavy initial access, mainly through help desk scams where the attacker contacts support personnel specifically to bypass MFA for accounts where they have acquired valid credentials via credential phishing or infostealers, but cannot access the account due the additional layer of protection. They have similarly used ",{"data":43233,"content":43235,"nodeType":883},{"uri":43234},"https://cloud.google.com/blog/topics/threat-intelligence/unc3944-sms-phishing-sim-swapping-ransomware/",[43236],{"data":43237,"marks":43238,"value":43240,"nodeType":864},{},[43239],{"type":1455},"SIM swapping, smishing",{"data":43242,"marks":43243,"value":902,"nodeType":864},{},[],{"data":43245,"content":43246,"nodeType":883},{"uri":26728},[43247],{"data":43248,"marks":43249,"value":43251,"nodeType":864},{},[43250],{"type":1455},"MFA fatigue/push bombing",{"data":43253,"marks":43254,"value":43255,"nodeType":864},{},[]," to achieve account takeover.",{"data":43257,"content":43261,"nodeType":996},{"target":43258},{"sys":43259},{"id":43260,"type":1001,"linkType":1002},"2Z7qnaK4LXRhnQDvPT2ZXe",[],{"data":43263,"content":43264,"nodeType":1312},{},[43265],{"data":43266,"marks":43267,"value":43269,"nodeType":864},{},[43268],{"type":899},"Impersonating and targeting SaaS services",{"data":43271,"content":43272,"nodeType":860},{},[43273,43277,43286],{"data":43274,"marks":43275,"value":43276,"nodeType":864},{},[],"Scattered Spider have also been known to ",{"data":43278,"content":43280,"nodeType":883},{"uri":43279},"https://cloud.google.com/blog/topics/threat-intelligence/unc3944-targets-saas-applications",[43281],{"data":43282,"marks":43283,"value":43285,"nodeType":864},{},[43284],{"type":1455},"target SaaS applications and cloud services",{"data":43287,"marks":43288,"value":43289,"nodeType":864},{},[]," — both as part of their phishing strategies by impersonating app providers, as well as in their lateral movement and exploitation when an identity has been compromised. This has included applications such as vCenter, CyberArk, SalesForce, Azure, CrowdStrike, AWS, and GCP. ",{"data":43291,"content":43292,"nodeType":860},{},[43293],{"data":43294,"marks":43295,"value":43296,"nodeType":864},{},[],"When conducting phishing campaigns, they’ve created custom domains for their phishing sites based on the organizations they are targeting: ",{"data":43298,"content":43302,"nodeType":996},{"target":43299},{"sys":43300},{"id":43301,"type":1001,"linkType":1002},"3ufdtfyJpZ4FUWbKR2yNNm",[],{"data":43304,"content":43305,"nodeType":860},{},[43306],{"data":43307,"marks":43308,"value":43309,"nodeType":864},{},[],"And they have impersonated many software brands — either as targets themselves, or as convincing third-parties to lure their targets to interact with. ",{"data":43311,"content":43315,"nodeType":996},{"target":43312},{"sys":43313},{"id":43314,"type":1001,"linkType":1002},"XgrG1qKwXrpd399BwkHiR",[],{"data":43317,"content":43318,"nodeType":860},{},[43319,43323,43332],{"data":43320,"marks":43321,"value":43322,"nodeType":864},{},[],"(Shout out to the excellent analysis by the folks at ",{"data":43324,"content":43326,"nodeType":883},{"uri":43325},"https://www.silentpush.com/blog/scattered-spider-2025/#h-new-scattered-spider-ttps-for-2025",[43327],{"data":43328,"marks":43329,"value":43331,"nodeType":864},{},[43330],{"type":1455},"Silent Push",{"data":43333,"marks":43334,"value":12285,"nodeType":864},{},[],{"data":43336,"content":43337,"nodeType":1312},{},[43338],{"data":43339,"marks":43340,"value":43342,"nodeType":864},{},[43341],{"type":899},"Targeting identity providers to abuse OAuth and SSO",{"data":43344,"content":43345,"nodeType":860},{},[43346,43350,43357],{"data":43347,"marks":43348,"value":43349,"nodeType":864},{},[],"A key part of this approach is abusing OAuth by targeting identity providers (IdPs) such as Okta and Microsoft Entra. By compromising IdP accounts with administrator privileges, Scattered Spider has leveraged techniques such as ",{"data":43351,"content":43352,"nodeType":883},{"uri":26938},[43353],{"data":43354,"marks":43355,"value":26944,"nodeType":864},{},[43356],{"type":1455},{"data":43358,"marks":43359,"value":43360,"nodeType":864},{},[]," to gain unrestricted access to the identities within the target IdP tenant (the equivalent of a full Active Directory compromise on-premise).",{"data":43362,"content":43363,"nodeType":1312},{},[43364],{"data":43365,"marks":43366,"value":43368,"nodeType":864},{},[43367],{"type":899},"Encryption of cloud servers and data theft for extortion",{"data":43370,"content":43371,"nodeType":860},{},[43372],{"data":43373,"marks":43374,"value":43375,"nodeType":864},{},[],"When executing the final stages of an attack, Scattered Spider first exfiltrates data through a variety of methods, even using SaaS services such as DropBox and FiveTran to extract copies of high-value service databases, such as SalesForce and ZenDesk, using API connectors. ",{"data":43377,"content":43378,"nodeType":860},{},[43379],{"data":43380,"marks":43381,"value":43382,"nodeType":864},{},[],"In a typical \"double-extortion\" style, they then deploy ransomware by targeting cloud server environments such as VMWare ESXi (specifically to avoid security tools by targeting the hypervisor layer). Scattered Spider have been known to act as affiliates for various ransomware operations, including RansomHub, Qilin, and DragonForce.",{"data":43384,"content":43385,"nodeType":1005},{},[],{"data":43387,"content":43388,"nodeType":1009},{},[43389],{"data":43390,"marks":43391,"value":43393,"nodeType":864},{},[43392],{"type":899},"Scattered Spider TTP evolution in 2025",{"data":43395,"content":43396,"nodeType":860},{},[43397],{"data":43398,"marks":43399,"value":43400,"nodeType":864},{},[],"In 2025, security researchers have observed a significant increase in Scattered Spider phishing activity, particularly in the form of MFA-bypassing Attacker-in-the-Middle (AiTM) phishing pages. ",{"data":43402,"content":43406,"nodeType":996},{"target":43403},{"sys":43404},{"id":43405,"type":1001,"linkType":1002},"2jH5TrpHueIE8qpU3lunJi",[],{"data":43408,"content":43409,"nodeType":860},{},[43410],{"data":43411,"marks":43412,"value":43413,"nodeType":864},{},[],"Along with this shift, a number of TTPs have been observed relating to detection evasion measures implemented on these phishing pages.",{"data":43415,"content":43416,"nodeType":1312},{},[43417],{"data":43418,"marks":43419,"value":43421,"nodeType":864},{},[43420],{"type":899},"Rapid phishing domain rotation",{"data":43423,"content":43424,"nodeType":860},{},[43425,43428,43436],{"data":43426,"marks":43427,"value":21,"nodeType":864},{},[],{"data":43429,"content":43430,"nodeType":883},{"uri":43325},[43431],{"data":43432,"marks":43433,"value":43435,"nodeType":864},{},[43434],{"type":1455},"According to researchers",{"data":43437,"marks":43438,"value":43439,"nodeType":864},{},[]," Scattered Spider have been observed using phishing pages hosted on short-lived domains that included specific keywords such as “okta,” “sso,” “help,” “hr,” “corp,” “my,” “internal,” “sso,” or “vpn,”, which were quickly operationalized within minutes of registering a domain. After a couple of hours, the domain would often be taken down by the registrar. However, as we’ve discussed in various blog posts, this is to be expected. Domains are highly disposable by nature and attackers plan to get through them in large numbers. They don’t need their phishing pages to live indefinitely — just as long as it takes for someone to be successfully phished.",{"data":43441,"content":43442,"nodeType":860},{},[43443],{"data":43444,"marks":43445,"value":43446,"nodeType":864},{},[],"You would expect these kinds of untrusted links to be flagged by enterprise security tools, but through clever use of obfuscation methods such as using legitimate apps to host the phishing link, using an initially benign link to a document or other source with the malicious link, or avoiding email as the delivery vector altogether, network and email-based controls are being routinely bypassed.  ",{"data":43448,"content":43452,"nodeType":996},{"target":43449},{"sys":43450},{"id":43451,"type":1001,"linkType":1002},"2DviJNOMbKgbcqwkNl0LDP",[],{"data":43454,"content":43455,"nodeType":1312},{},[43456],{"data":43457,"marks":43458,"value":43460,"nodeType":864},{},[43459],{"type":899},"Using custom subdomains that allow public registrations",{"data":43462,"content":43463,"nodeType":860},{},[43464],{"data":43465,"marks":43466,"value":43467,"nodeType":864},{},[],"Scattered Spider have been observed registering their malicious domains on publicly rentable subdomains such as it[.]com. This limits the information that can be gathered about the domain (for example, preventing WHOIS information from being accessed) ",{"data":43469,"content":43470,"nodeType":860},{},[43471],{"data":43472,"marks":43473,"value":43474,"nodeType":864},{},[],"This is incredibly deceptive to the user and will fool many people glancing at the link. It doesn’t look as obviously suspicious as the typical .xyz or .biz, and has the feel of a legitimate domain. As these convincing rentable subdomains start to appear online more frequently, it becomes easier for attackers to pick up convincing domain names with fewer obvious deviations from the real one, without needing to resort to special characters or other tactics that might be spotted. ",{"data":43476,"content":43477,"nodeType":860},{},[43478,43482,43490,43494,43502],{"data":43479,"marks":43480,"value":43481,"nodeType":864},{},[],"This is strikingly similar ",{"data":43483,"content":43484,"nodeType":883},{"uri":40182},[43485],{"data":43486,"marks":43487,"value":43489,"nodeType":864},{},[43488],{"type":1455},"to an attack we investigated recently",{"data":43491,"marks":43492,"value":43493,"nodeType":864},{},[],", where an attacker was using the us[.]com domain to impersonate Onfido, the digital identity platform. These malicious links were actually distributed via malicious advertising on Google, which is an increasingly popular tactic ",{"data":43495,"content":43496,"nodeType":883},{"uri":7494},[43497],{"data":43498,"marks":43499,"value":43501,"nodeType":864},{},[43500],{"type":1455},"to evade email and network detection controls",{"data":43503,"marks":43504,"value":43505,"nodeType":864},{},[]," for phishing links and pages. ",{"data":43507,"content":43511,"nodeType":996},{"target":43508},{"sys":43509},{"id":43510,"type":1001,"linkType":1002},"34ZpjuFhaSMC6MtjThQsnK",[],{"data":43513,"content":43514,"nodeType":860},{},[43515],{"data":43516,"marks":43517,"value":43518,"nodeType":864},{},[],"This comparison is also interesting when you consider…",{"data":43520,"content":43521,"nodeType":1312},{},[43522],{"data":43523,"marks":43524,"value":43526,"nodeType":864},{},[43525],{"type":899},"Using commercial AiTM toolkits like Evilginx to bypass MFA and evade detection",{"data":43528,"content":43529,"nodeType":860},{},[43530],{"data":43531,"marks":43532,"value":43533,"nodeType":864},{},[],"Scattered Spider have been observed frequently using Evilginx as their phishing kit of choice. Evilginx is a great choice for attackers looking to target non-standard web apps because it is capable of emulating a range of domains — it’s designed to be flexible and work for any page without generating a load of custom JavaScript that might stand out to security tools/analysts. See an example of Evilginx being used to phish a user below.",{"data":43535,"content":43539,"nodeType":996},{"target":43536},{"sys":43537},{"id":43538,"type":1001,"linkType":1002},"7IuP0mcRZJkL8YGNoZo5Dj",[],{"data":43541,"content":43542,"nodeType":860},{},[43543,43547,43556,43560,43567],{"data":43544,"marks":43545,"value":43546,"nodeType":864},{},[],"By default, Evilginx redirects any site visitor not following the correct url path or supplying the correct parameters to the YouTube video for Rick Astley’s “Never Gonna Give You Up” (aka “Rickrolling”). This behavior has been observed on Scattered Spider phishing sites. Interestingly, we also observed this in the Onfido malvertising example above, ",{"data":43548,"content":43550,"nodeType":883},{"uri":43549},"https://www.linkedin.com/feed/update/urn:li:activity:7323102794813505536?commentUrn=urn%3Ali%3Acomment%3A%28activity%3A7323102794813505536%2C7323308731813814272%29&dashCommentUrn=urn%3Ali%3Afsd_comment%3A%287323308731813814272%2Curn%3Ali%3Aactivity%3A7323102794813505536%29",[43551],{"data":43552,"marks":43553,"value":43555,"nodeType":864},{},[43554],{"type":1455},"while members of the infosec community",{"data":43557,"marks":43558,"value":43559,"nodeType":864},{},[]," are increasingly seeing phishing attacks with this behavior. (This example also features use of ",{"data":43561,"content":43562,"nodeType":883},{"uri":40410},[43563],{"data":43564,"marks":43565,"value":32228,"nodeType":864},{},[43566],{"type":1455},{"data":43568,"marks":43569,"value":43570,"nodeType":864},{},[]," to prevent analysis of the malicious link by hiding it behind a legit Microsoft app consent page, another detection evasion tactic). ",{"data":43572,"content":43573,"nodeType":1312},{},[43574],{"data":43575,"marks":43576,"value":43578,"nodeType":864},{},[43577],{"type":899},"Pre-populating victim information using targeted phishing links",{"data":43580,"content":43581,"nodeType":860},{},[43582,43586,43595],{"data":43583,"marks":43584,"value":43585,"nodeType":864},{},[],"A general trend that we’re seeing in the wild, also utilized by Scattered Spider, is phishing attacks becoming increasingly targeted. This includes using redirects to legitimate apps unless specific parameters are supplied, ",{"data":43587,"content":43589,"nodeType":883},{"uri":43588},"https://www.bleepingcomputer.com/news/security/phishing-kits-now-vet-victims-in-real-time-before-stealing-credentials/",[43590],{"data":43591,"marks":43592,"value":43594,"nodeType":864},{},[43593],{"type":1455},"only loading malicious content for specific usernames",{"data":43596,"marks":43597,"value":43598,"nodeType":864},{},[]," (and redirecting to benign sites otherwise) implementing the use of one-time phishing links (essentially magic links that work once for the victim, preventing security teams or tools from accessing the page to analyse it later), and pre-populating the victim information on the page to make it feel more genuine (you would expect a website you have visited and logged into before to pre-populate some of your details, like your username/email). ",{"data":43600,"content":43601,"nodeType":860},{},[43602],{"data":43603,"marks":43604,"value":43605,"nodeType":864},{},[],"See an example of this (along with a few of the detection evasion techniques we've mentioned) below. ",{"data":43607,"content":43611,"nodeType":996},{"target":43608},{"sys":43609},{"id":43610,"type":1001,"linkType":1002},"1zn1G6CutY0HBkXHUIo159",[],{"data":43613,"content":43614,"nodeType":1312},{},[43615],{"data":43616,"marks":43617,"value":43619,"nodeType":864},{},[43618],{"type":899},"Varying login pages to evade cloned page detections",{"data":43621,"content":43622,"nodeType":860},{},[43623,43627,43636],{"data":43624,"marks":43625,"value":43626,"nodeType":864},{},[],"Attackers are routinely using a ",{"data":43628,"content":43630,"nodeType":883},{"uri":43629},"https://pushsecurity.com/blog/how-aitm-phishing-kits-evade-detection-p2/",[43631],{"data":43632,"marks":43633,"value":43635,"nodeType":864},{},[43634],{"type":1455},"combination of visual and DOM-based obfuscation techniques",{"data":43637,"marks":43638,"value":43639,"nodeType":864},{},[]," to create convincing phishing pages that are different enough from the real page being impersonated so that detections based on cloned pages do not fire. ",{"data":43641,"content":43642,"nodeType":860},{},[43643],{"data":43644,"marks":43645,"value":43646,"nodeType":864},{},[],"While Okta accounts remain a key target for Scattered Spider, they are using a range of customized landing pages to target Okta accounts for various organizations at URLs like:",{"data":43648,"content":43649,"nodeType":941},{},[43650,43660,43670,43680,43690,43700],{"data":43651,"content":43652,"nodeType":945},{},[43653],{"data":43654,"content":43655,"nodeType":860},{},[43656],{"data":43657,"marks":43658,"value":43659,"nodeType":864},{},[],"corp-hubspot[.]com – HubSpot",{"data":43661,"content":43662,"nodeType":945},{},[43663],{"data":43664,"content":43665,"nodeType":860},{},[43666],{"data":43667,"marks":43668,"value":43669,"nodeType":864},{},[],"morningstar-okta[.]com – Morningstar",{"data":43671,"content":43672,"nodeType":945},{},[43673],{"data":43674,"content":43675,"nodeType":860},{},[43676],{"data":43677,"marks":43678,"value":43679,"nodeType":864},{},[],"pure-okta[.]com – Pure Storage",{"data":43681,"content":43682,"nodeType":945},{},[43683],{"data":43684,"content":43685,"nodeType":860},{},[43686],{"data":43687,"marks":43688,"value":43689,"nodeType":864},{},[],"signin-nydig[.]com – New York Digital Investment Group",{"data":43691,"content":43692,"nodeType":945},{},[43693],{"data":43694,"content":43695,"nodeType":860},{},[43696],{"data":43697,"marks":43698,"value":43699,"nodeType":864},{},[],"sso-instacart[.]com – Instacart",{"data":43701,"content":43702,"nodeType":945},{},[43703],{"data":43704,"content":43705,"nodeType":860},{},[43706],{"data":43707,"marks":43708,"value":43709,"nodeType":864},{},[],"sts-vodafone[.]com – Vodafone",{"data":43711,"content":43715,"nodeType":996},{"target":43712},{"sys":43713},{"id":43714,"type":1001,"linkType":1002},"38EyQfvJWcqHukYq8rm8ap",[],{"data":43717,"content":43718,"nodeType":1005},{},[],{"data":43720,"content":43721,"nodeType":1009},{},[43722],{"data":43723,"marks":43724,"value":43726,"nodeType":864},{},[43725],{"type":899},"Defend your organization from Scattered Spider",{"data":43728,"content":43729,"nodeType":860},{},[43730],{"data":43731,"marks":43732,"value":43733,"nodeType":864},{},[],"Scattered Spider have proven to be a highly creative and adaptable threat group, using a range of identity-centric TTPs and evolving (or rather, adding to) their repertoire over time. ",{"data":43735,"content":43736,"nodeType":860},{},[43737],{"data":43738,"marks":43739,"value":43740,"nodeType":864},{},[],"Although Scattered Spider have a number of telltale actions and behaviors, like targeting and leveraging SaaS services, utilizing AiTM phishing kits like Evilginx to target IdP accounts like Okta, and deploying ransomware to cloud servers, they are able to flex their approach to take down their targets. ",{"data":43742,"content":43743,"nodeType":860},{},[43744,43748,43757,43761,43769],{"data":43745,"marks":43746,"value":43747,"nodeType":864},{},[],"Scattered Spider’s behavior demonstrates that they are extremely ",{"data":43749,"content":43751,"nodeType":883},{"uri":43750},"https://www.crowdstrike.com/en-us/resources/crowdcasts/cloud-threat-summit/",[43752],{"data":43753,"marks":43754,"value":43756,"nodeType":864},{},[43755],{"type":1455},"cloud-conscious",{"data":43758,"marks":43759,"value":43760,"nodeType":864},{},[]," (as many modern threat actors are) and are leveraging modern TTPs designed to evade traditional security controls and exploit blind-spots in enterprise security visibility. For example, by constantly rotating their phishing domains and pages, Scattered Spider (and many threat actors like them) are routinely evading common phishing detection controls, taking advantage of the limitations of ",{"data":43762,"content":43763,"nodeType":883},{"uri":7494},[43764],{"data":43765,"marks":43766,"value":43768,"nodeType":864},{},[43767],{"type":1455},"blocklist-driven approaches to phishing detection",{"data":43770,"marks":43771,"value":12252,"nodeType":864},{},[],{"data":43773,"content":43774,"nodeType":1005},{},[],{"data":43776,"content":43777,"nodeType":1009},{},[43778],{"data":43779,"marks":43780,"value":43782,"nodeType":864},{},[43781],{"type":899},"Aligning Push Security’s capabilities against Scattered Spider’s TTPs",{"data":43784,"content":43785,"nodeType":860},{},[43786],{"data":43787,"marks":43788,"value":43790,"nodeType":864},{},[43789],{"type":899},"Push provides a multi-layered set of detections and controls for defending against the TTPs known to be used by Scattered Spider. ",{"data":43792,"content":43796,"nodeType":996},{"target":43793},{"sys":43794},{"id":43795,"type":1001,"linkType":1002},"6aB3mLLXZIhrlyuCx2hOzY",[],{"data":43798,"content":43799,"nodeType":1312},{},[43800],{"data":43801,"marks":43802,"value":43803,"nodeType":864},{},[],"Detect and block AiTM phishing toolkits",{"data":43805,"content":43806,"nodeType":860},{},[43807],{"data":43808,"marks":43809,"value":43811,"nodeType":864},{},[43810],{"type":899},"The Push browser agent will detect when employees visit websites running MFA-bypassing phishing toolkits such as Evilginx. ",{"data":43813,"content":43817,"nodeType":996},{"target":43814},{"sys":43815},{"id":43816,"type":1001,"linkType":1002},"I19TQYItDFlaOgisrST6P",[],{"data":43819,"content":43820,"nodeType":860},{},[43821],{"data":43822,"marks":43823,"value":43824,"nodeType":864},{},[],"The Push browser agent analyzes the behavioral attributes of phishing tools, e.g. “something the toolkit does” vs. just a static signature like a URL path or domain.",{"data":43826,"content":43827,"nodeType":860},{},[43828],{"data":43829,"marks":43830,"value":43831,"nodeType":864},{},[],"Based on your configuration, Push can then warn or block employees from accessing those phishing sites using a customisable blocking page or banner.",{"data":43833,"content":43837,"nodeType":996},{"target":43834},{"sys":43835},{"id":43836,"type":1001,"linkType":1002},"4ixcEsEW4EyqckOTmP5Pbb",[],{"data":43839,"content":43840,"nodeType":1312},{},[43841],{"data":43842,"marks":43843,"value":43844,"nodeType":864},{},[],"Detect cloned login pages",{"data":43846,"content":43847,"nodeType":860},{},[43848],{"data":43849,"marks":43850,"value":43852,"nodeType":864},{},[43851],{"type":899},"The Push browser agent will detect when employees visit websites using cloned login screens to steal credentials - i.e. a cloned Okta login page.",{"data":43854,"content":43855,"nodeType":860},{},[43856],{"data":43857,"marks":43858,"value":43859,"nodeType":864},{},[],"Push does this by fingerprinting the page structure and resources of your legitimate login pages and monitoring for pages that are very similar.",{"data":43861,"content":43862,"nodeType":860},{},[43863],{"data":43864,"marks":43865,"value":43866,"nodeType":864},{},[],"Push will then emit a webhook event when it detects that an employee has visited a page that appears to be a clone of a legitimate login page.",{"data":43868,"content":43869,"nodeType":1312},{},[43870],{"data":43871,"marks":43872,"value":43873,"nodeType":864},{},[],"Pin your sensitive passwords to specific sites",{"data":43875,"content":43876,"nodeType":860},{},[43877,43882,43888],{"data":43878,"marks":43879,"value":43881,"nodeType":864},{},[43880],{"type":899},"The Push browser agent will detect when employees attempt to enter their IdP password (such as Okta) into webpages that ",{"data":43883,"marks":43884,"value":43887,"nodeType":864},{},[43885,43886],{"type":1455},{"type":899},"do not",{"data":43889,"marks":43890,"value":43892,"nodeType":864},{},[43891],{"type":899}," belong to that IdP.",{"data":43894,"content":43895,"nodeType":860},{},[43896,43900,43909],{"data":43897,"marks":43898,"value":43899,"nodeType":864},{},[],"When observing logins, the Push browser agent generates a salted partial hash of the user’s password, known as a fingerprint. This fingerprint is then stored locally in the browser to allow Push to perform password comparisons. You can read more about how the extension securely observes passwords in this ",{"data":43901,"content":43903,"nodeType":883},{"uri":43902},"https://pushsecurity.com/help/10065/#start",[43904],{"data":43905,"marks":43906,"value":43908,"nodeType":864},{},[43907],{"type":1455},"help article",{"data":43910,"marks":43911,"value":2924,"nodeType":864},{},[],{"data":43913,"content":43914,"nodeType":860},{},[43915],{"data":43916,"marks":43917,"value":43918,"nodeType":864},{},[],"To detect phishing attempts against Okta (and other identity providers), the Push browser agent compares the observed Okta password fingerprint to the known Okta fingerprint that already exists in local storage.",{"data":43920,"content":43921,"nodeType":860},{},[43922],{"data":43923,"marks":43924,"value":43925,"nodeType":864},{},[],"If an employee has entered their valid Okta password on a webpage that does not belong to Okta — i.e. a phishing page — Push will enforce the SSO password protection settings set by an administrator (block or warn). This serves as a second layer of defense when used in conjunction with AiTM and cloned login page detections. ",{"data":43927,"content":43931,"nodeType":996},{"target":43928},{"sys":43929},{"id":43930,"type":1001,"linkType":1002},"20FIoIyuQYxep3V4SFWdoK",[],{"data":43933,"content":43934,"nodeType":1312},{},[43935],{"data":43936,"marks":43937,"value":43938,"nodeType":864},{},[],"Detect compromised sessions",{"data":43940,"content":43941,"nodeType":860},{},[43942],{"data":43943,"marks":43944,"value":43946,"nodeType":864},{},[43945],{"type":899},"By correlating Push telemetry with Okta logs, Push can detect compromised Okta sessions originating from outside employees’ supported browsers. ",{"data":43948,"content":43949,"nodeType":860},{},[43950],{"data":43951,"marks":43952,"value":43953,"nodeType":864},{},[],"Using the Push browser agent, you can inject a unique marker into the User Agent string of Okta sessions that occur in browsers enrolled in Push.",{"data":43955,"content":43956,"nodeType":860},{},[43957],{"data":43958,"marks":43959,"value":43960,"nodeType":864},{},[],"By then comparing against Okta logs, you can identify sessions that both have the Push marker and those that lack the marker, the latter indicating the session is being used from a machine without the Push extension and therefore the session token may have been stolen.",{"data":43962,"content":43966,"nodeType":996},{"target":43963},{"sys":43964},{"id":43965,"type":1001,"linkType":1002},"1XNNkaoW64t3PPvC54KGXF",[],{"data":43968,"content":43969,"nodeType":1312},{},[43970],{"data":43971,"marks":43972,"value":43973,"nodeType":864},{},[],"Detect when employee credentials are stolen",{"data":43975,"content":43976,"nodeType":860},{},[43977],{"data":43978,"marks":43979,"value":43981,"nodeType":864},{},[43980],{"type":899},"Push will detect when valid credentials appear for sale on criminal forums. ",{"data":43983,"content":43984,"nodeType":860},{},[43985],{"data":43986,"marks":43987,"value":43988,"nodeType":864},{},[],"The Push platform detects valid, stolen credentials on criminal forums by ingesting threat intelligence data and then verifying which credentials flagged by TI sources are still being used by employees.",{"data":43990,"content":43991,"nodeType":860},{},[43992],{"data":43993,"marks":43994,"value":43995,"nodeType":864},{},[],"When suspected stolen credentials for the corporate domain are present, Push hashes and salts the passwords and then sends those fingerprints to the relevant browser agents for comparison. If the stolen credential fingerprint matches a known credential fingerprint observed to be in use by the Push browser agent, the platform returns a validated true positive alert.",{"data":43997,"content":43998,"nodeType":860},{},[43999],{"data":44000,"marks":44001,"value":44002,"nodeType":864},{},[],"You can choose to receive alerts for this detection via webhook, ChatOps notification, or in the Push admin console.",{"data":44004,"content":44008,"nodeType":996},{"target":44005},{"sys":44006},{"id":44007,"type":1001,"linkType":1002},"6wfLCTzvHeMzagyuEWGyJg",[],{"data":44010,"content":44011,"nodeType":1312},{},[44012],{"data":44013,"marks":44014,"value":44015,"nodeType":864},{},[],"Map login methods and remove ghost logins",{"data":44017,"content":44018,"nodeType":860},{},[44019],{"data":44020,"marks":44021,"value":44023,"nodeType":864},{},[44022],{"type":899},"Push maps all the identities used by employees to access workforce apps, including local, non-Okta identities. This data can be used to migrate more apps and accounts to Okta SSO and reduce the overall identity attack surface. ",{"data":44025,"content":44026,"nodeType":860},{},[44027],{"data":44028,"marks":44029,"value":44030,"nodeType":864},{},[],"The Push browser agent observes employees using their corporate identities to access work applications. Push customers gain accurate visibility across all Okta and non-Okta identities, the employees that are using them, the apps they are accessing and the authentication methods being used. ",{"data":44032,"content":44033,"nodeType":860},{},[44034,44038,44045],{"data":44035,"marks":44036,"value":44037,"nodeType":864},{},[],"Armed with this data, security teams can get more workforce apps and accounts behind SSO to reduce the overall identity attack surface, while removing any ",{"data":44039,"content":44040,"nodeType":883},{"uri":17701},[44041],{"data":44042,"marks":44043,"value":17706,"nodeType":864},{},[44044],{"type":1455},{"data":44046,"marks":44047,"value":44048,"nodeType":864},{},[]," that enable attackers to circumvent MFA by logging in directly to the app/page. ",{"data":44050,"content":44054,"nodeType":996},{"target":44051},{"sys":44052},{"id":44053,"type":1001,"linkType":1002},"dbDM075qSd4P3wnXuXX2Z",[],{"data":44056,"content":44057,"nodeType":1312},{},[44058],{"data":44059,"marks":44060,"value":44061,"nodeType":864},{},[],"Verify help desk caller identities with in-browser verification codes",{"data":44063,"content":44064,"nodeType":860},{},[44065,44069,44079],{"data":44066,"marks":44067,"value":44068,"nodeType":864},{},[],"To help combat help desk scams, we recently released ",{"data":44070,"content":44072,"nodeType":883},{"uri":44071},"https://pushsecurity.com/blog/employee-identity-verification-codes-release/",[44073],{"data":44074,"marks":44075,"value":44078,"nodeType":864},{},[44076,44077],{"type":1455},{"type":899},"Employee Identity Verification Codes",{"data":44080,"marks":44081,"value":44082,"nodeType":864},{},[]," — a simple, browser-based identity check that gives your help desk a reliable way to confirm they’re talking to someone from your organization.",{"data":44084,"content":44088,"nodeType":996},{"target":44085},{"sys":44086},{"id":44087,"type":1001,"linkType":1002},"1TEpCjh8UGwmejgYSGC1by",[],{"data":44090,"content":44091,"nodeType":860},{},[44092],{"data":44093,"marks":44094,"value":44095,"nodeType":864},{},[],"It enables legitimate help desk callers to quickly verify that they’re in possession of their primary device (i.e. laptop) by relaying a rotating 6-digit verification code in their browser via the Push extension. This is a great way to securely confirm caller identity and sniff out fraudulent callers, and can be used as part of a phishing-resistant help desk process. ",{"data":44097,"content":44098,"nodeType":860},{},[44099,44103,44112],{"data":44100,"marks":44101,"value":44102,"nodeType":864},{},[],"You can use Employee Verification Codes as a free tool by installing the Push browser extension. Simply ",{"data":44104,"content":44106,"nodeType":883},{"uri":44105},"https://pushsecurity.com/free-tool/employee-verification-codes",[44107],{"data":44108,"marks":44109,"value":44111,"nodeType":864},{},[44110],{"type":1455},"sign up for a trial account and you can deploy the extension organization-wide to make use of this feature",{"data":44113,"marks":44114,"value":44115,"nodeType":864},{},[],". While you’re at it, you can trial Push’s full features for up to 10 users for free. ",{"data":44117,"content":44121,"nodeType":996},{"target":44118},{"sys":44119},{"id":44120,"type":1001,"linkType":1002},"6Td0hDBYdeT8tlnnfwipmD",[],{"data":44123,"content":44124,"nodeType":1005},{},[],{"data":44126,"content":44127,"nodeType":1009},{},[44128],{"data":44129,"marks":44130,"value":30213,"nodeType":864},{},[44131],{"type":899},{"data":44133,"content":44134,"nodeType":860},{},[44135],{"data":44136,"marks":44137,"value":44138,"nodeType":864},{},[],"It doesn’t stop there — Push provides comprehensive identity attack detection and response capabilities against techniques like credential stuffing, password spraying and session hijacking using stolen session tokens. You can also use Push to find and fix identity vulnerabilities across every app that your employees use like: ghost logins; SSO coverage gaps; MFA gaps; weak, breached and reused passwords; risky OAuth integrations; and more. ",{"data":44140,"content":44141,"nodeType":860},{},[44142,44145,44152],{"data":44143,"marks":44144,"value":35574,"nodeType":864},{},[],{"data":44146,"content":44148,"nodeType":883},{"uri":44147},"https://pushsecurity.com/demo?utm_campaign=12081956-FY25Q2_Hacker-News-Article&utm_source=thehackernews&utm_medium=sponsored&utm_content=external-article",[44149],{"data":44150,"marks":44151,"value":12967,"nodeType":864},{},[],{"data":44153,"marks":44154,"value":2924,"nodeType":864},{},[],"Scattered Spider: TTP evolution in 2025","How the notorious Scattered Spider cyber criminal group are switching up their TTPs in 2025 to bypass MFA and breach cloud services via account takeover.","2025-05-06T00:00:00.000Z","scattered-spider-ttp-evolution-in-2025",{"items":44160},[44161,44163],{"sys":44162,"name":6593},{"id":6592},{"sys":44164,"name":342},{"id":6596},{"items":44166},[44167],{"fullName":2736,"firstName":2737,"jobTitle":2738,"profilePicture":44168},{"url":2740},"2025-hipaa-rule-change","blog/2025-hipaa-rule-change",{"json":44172},{"data":44173,"content":44174,"nodeType":856},{},[44175],{"data":44176,"content":44177,"nodeType":860},{},[44178],{"data":44179,"marks":44180,"value":44181,"nodeType":864},{},[],"The HIPAA Security Rule is getting a long-overdue facelift in 2025. Here's our quick overview of the key changes and how Push can help you to be compliant. ",{"id":44183,"publishedAt":44184},"1DXre707DVy7nUQeuxaPvL","2026-08-12T11:57:10.000Z",{"items":44186},[44187,44189],{"sys":44188,"name":297},{"id":2732},{"sys":44190,"name":2729},{"id":2728},{"items":44192},[44193,44195,44197,44199,44201,44203,44205],{"sys":44194,"name":297,"slug":298,"tier":31},{"id":294},{"sys":44196,"name":413,"slug":414,"tier":31},{"id":410},{"sys":44198,"name":545,"slug":546,"tier":31},{"id":542},{"sys":44200,"name":457,"slug":458,"tier":45},{"id":454},{"sys":44202,"name":589,"slug":590,"tier":45},{"id":586},{"sys":44204,"name":502,"slug":503,"tier":45},{"id":499},{"sys":44206,"name":333,"slug":334,"tier":45},{"id":330},"nYL7UwZxHsKzc5lZ6F22zK6sYJV3EiTPvUQd8XAKUZo",{"id":44209,"title":44155,"authorsCollection":44210,"content":44215,"extension":228,"faqItemsCollection":45654,"faqTitle":59,"featured":6,"hashTags":59,"meta":45656,"metaTitle":45657,"ogImage":45658,"postType":5740,"publishedDate":44157,"relatedBlogPostsCollection":45660,"slug":44158,"stem":47220,"subtitle":59,"summary":47221,"synopsis":44156,"sys":47232,"tagsCollection":47234,"topicsCollection":47240,"__hash__":47290},"blog/blog/scattered-spider-ttp-evolution-in-2025.json",{"items":44211},[44212],{"fullName":2736,"firstName":2737,"jobTitle":2738,"socialLinks":44213,"profilePicture":44214},[11304],{"url":2740},{"json":44216,"links":45374},{"data":44217,"content":44218,"nodeType":856},{},[44219,44224,44231,44237,44263,44268,44275,44301,44335,44340,44347,44362,44367,44370,44377,44383,44388,44424,44554,44557,44564,44570,44577,44603,44608,44615,44631,44637,44642,44648,44653,44669,44676,44692,44699,44705,44711,44714,44721,44727,44732,44738,44745,44761,44767,44772,44779,44785,44791,44817,44822,44828,44835,44841,44846,44872,44879,44895,44901,44906,44913,44929,44935,44992,44997,45000,45007,45013,45019,45045,45048,45055,45062,45067,45073,45080,45085,45091,45097,45102,45108,45115,45121,45127,45133,45149,45165,45171,45177,45182,45188,45195,45201,45207,45212,45218,45225,45231,45237,45243,45248,45254,45261,45267,45283,45288,45294,45311,45316,45322,45338,45343,45346,45353,45359],{"data":44220,"content":44223,"nodeType":996},{"target":44221},{"sys":44222},{"id":42804,"type":1001,"linkType":1002},[],{"data":44225,"content":44226,"nodeType":1009},{},[44227],{"data":44228,"marks":44229,"value":42813,"nodeType":864},{},[44230],{"type":899},{"data":44232,"content":44233,"nodeType":860},{},[44234],{"data":44235,"marks":44236,"value":42820,"nodeType":864},{},[],{"data":44238,"content":44239,"nodeType":860},{},[44240,44243,44250,44253,44260],{"data":44241,"marks":44242,"value":42827,"nodeType":864},{},[],{"data":44244,"content":44245,"nodeType":883},{"uri":42830},[44246],{"data":44247,"marks":44248,"value":42836,"nodeType":864},{},[44249],{"type":1455},{"data":44251,"marks":44252,"value":2232,"nodeType":864},{},[],{"data":44254,"content":44255,"nodeType":883},{"uri":3751},[44256],{"data":44257,"marks":44258,"value":4087,"nodeType":864},{},[44259],{"type":1455},{"data":44261,"marks":44262,"value":42850,"nodeType":864},{},[],{"data":44264,"content":44267,"nodeType":996},{"target":44265},{"sys":44266},{"id":42855,"type":1001,"linkType":1002},[],{"data":44269,"content":44270,"nodeType":1312},{},[44271],{"data":44272,"marks":44273,"value":42864,"nodeType":864},{},[44274],{"type":899},{"data":44276,"content":44277,"nodeType":860},{},[44278,44281,44288,44291,44298],{"data":44279,"marks":44280,"value":42871,"nodeType":864},{},[],{"data":44282,"content":44283,"nodeType":883},{"uri":37638},[44284],{"data":44285,"marks":44286,"value":37644,"nodeType":864},{},[44287],{"type":1455},{"data":44289,"marks":44290,"value":42882,"nodeType":864},{},[],{"data":44292,"content":44293,"nodeType":883},{"uri":26938},[44294],{"data":44295,"marks":44296,"value":26944,"nodeType":864},{},[44297],{"type":1455},{"data":44299,"marks":44300,"value":42893,"nodeType":864},{},[],{"data":44302,"content":44303,"nodeType":860},{},[44304,44307,44311,44314,44318,44321,44325,44328,44332],{"data":44305,"marks":44306,"value":42900,"nodeType":864},{},[],{"data":44308,"marks":44309,"value":42905,"nodeType":864},{},[44310],{"type":899},{"data":44312,"marks":44313,"value":42909,"nodeType":864},{},[],{"data":44315,"marks":44316,"value":42914,"nodeType":864},{},[44317],{"type":899},{"data":44319,"marks":44320,"value":42918,"nodeType":864},{},[],{"data":44322,"marks":44323,"value":42923,"nodeType":864},{},[44324],{"type":899},{"data":44326,"marks":44327,"value":42927,"nodeType":864},{},[],{"data":44329,"marks":44330,"value":42932,"nodeType":864},{},[44331],{"type":899},{"data":44333,"marks":44334,"value":12252,"nodeType":864},{},[],{"data":44336,"content":44339,"nodeType":996},{"target":44337},{"sys":44338},{"id":42940,"type":1001,"linkType":1002},[],{"data":44341,"content":44342,"nodeType":1312},{},[44343],{"data":44344,"marks":44345,"value":42949,"nodeType":864},{},[44346],{"type":899},{"data":44348,"content":44349,"nodeType":860},{},[44350,44353,44359],{"data":44351,"marks":44352,"value":42956,"nodeType":864},{},[],{"data":44354,"content":44355,"nodeType":883},{"uri":3751},[44356],{"data":44357,"marks":44358,"value":42963,"nodeType":864},{},[],{"data":44360,"marks":44361,"value":42967,"nodeType":864},{},[],{"data":44363,"content":44366,"nodeType":996},{"target":44364},{"sys":44365},{"id":42972,"type":1001,"linkType":1002},[],{"data":44368,"content":44369,"nodeType":1005},{},[],{"data":44371,"content":44372,"nodeType":1009},{},[44373],{"data":44374,"marks":44375,"value":42984,"nodeType":864},{},[44376],{"type":899},{"data":44378,"content":44379,"nodeType":860},{},[44380],{"data":44381,"marks":44382,"value":42991,"nodeType":864},{},[],{"data":44384,"content":44387,"nodeType":996},{"target":44385},{"sys":44386},{"id":42996,"type":1001,"linkType":1002},[],{"data":44389,"content":44390,"nodeType":860},{},[44391,44394,44401,44404,44411,44414,44421],{"data":44392,"marks":44393,"value":43004,"nodeType":864},{},[],{"data":44395,"content":44396,"nodeType":883},{"uri":43007},[44397],{"data":44398,"marks":44399,"value":43013,"nodeType":864},{},[44400],{"type":1455},{"data":44402,"marks":44403,"value":3731,"nodeType":864},{},[],{"data":44405,"content":44406,"nodeType":883},{"uri":43019},[44407],{"data":44408,"marks":44409,"value":43025,"nodeType":864},{},[44410],{"type":1455},{"data":44412,"marks":44413,"value":2232,"nodeType":864},{},[],{"data":44415,"content":44416,"nodeType":883},{"uri":43031},[44417],{"data":44418,"marks":44419,"value":43037,"nodeType":864},{},[44420],{"type":1455},{"data":44422,"marks":44423,"value":43041,"nodeType":864},{},[],{"data":44425,"content":44426,"nodeType":860},{},[44427,44430,44437,44440,44447,44450,44457,44460,44467,44470,44477,44480,44487,44490,44497,44500,44506,44509,44515,44518,44524,44527,44533,44536,44542,44545,44551],{"data":44428,"marks":44429,"value":43048,"nodeType":864},{},[],{"data":44431,"content":44432,"nodeType":883},{"uri":43051},[44433],{"data":44434,"marks":44435,"value":43057,"nodeType":864},{},[44436],{"type":1455},{"data":44438,"marks":44439,"value":3731,"nodeType":864},{},[],{"data":44441,"content":44442,"nodeType":883},{"uri":43063},[44443],{"data":44444,"marks":44445,"value":43069,"nodeType":864},{},[44446],{"type":1455},{"data":44448,"marks":44449,"value":3731,"nodeType":864},{},[],{"data":44451,"content":44452,"nodeType":883},{"uri":43075},[44453],{"data":44454,"marks":44455,"value":43081,"nodeType":864},{},[44456],{"type":1455},{"data":44458,"marks":44459,"value":3731,"nodeType":864},{},[],{"data":44461,"content":44462,"nodeType":883},{"uri":43087},[44463],{"data":44464,"marks":44465,"value":43093,"nodeType":864},{},[44466],{"type":1455},{"data":44468,"marks":44469,"value":3731,"nodeType":864},{},[],{"data":44471,"content":44472,"nodeType":883},{"uri":43099},[44473],{"data":44474,"marks":44475,"value":43105,"nodeType":864},{},[44476],{"type":1455},{"data":44478,"marks":44479,"value":3731,"nodeType":864},{},[],{"data":44481,"content":44482,"nodeType":883},{"uri":43111},[44483],{"data":44484,"marks":44485,"value":43117,"nodeType":864},{},[44486],{"type":1455},{"data":44488,"marks":44489,"value":2232,"nodeType":864},{},[],{"data":44491,"content":44492,"nodeType":883},{"uri":43123},[44493],{"data":44494,"marks":44495,"value":43129,"nodeType":864},{},[44496],{"type":1455},{"data":44498,"marks":44499,"value":43133,"nodeType":864},{},[],{"data":44501,"content":44502,"nodeType":883},{"uri":43136},[44503],{"data":44504,"marks":44505,"value":43141,"nodeType":864},{},[],{"data":44507,"marks":44508,"value":3731,"nodeType":864},{},[],{"data":44510,"content":44511,"nodeType":883},{"uri":43147},[44512],{"data":44513,"marks":44514,"value":43152,"nodeType":864},{},[],{"data":44516,"marks":44517,"value":3731,"nodeType":864},{},[],{"data":44519,"content":44520,"nodeType":883},{"uri":43158},[44521],{"data":44522,"marks":44523,"value":43163,"nodeType":864},{},[],{"data":44525,"marks":44526,"value":3731,"nodeType":864},{},[],{"data":44528,"content":44529,"nodeType":883},{"uri":43169},[44530],{"data":44531,"marks":44532,"value":43174,"nodeType":864},{},[],{"data":44534,"marks":44535,"value":3731,"nodeType":864},{},[],{"data":44537,"content":44538,"nodeType":883},{"uri":43169},[44539],{"data":44540,"marks":44541,"value":43184,"nodeType":864},{},[],{"data":44543,"marks":44544,"value":2232,"nodeType":864},{},[],{"data":44546,"content":44547,"nodeType":883},{"uri":43190},[44548],{"data":44549,"marks":44550,"value":43195,"nodeType":864},{},[],{"data":44552,"marks":44553,"value":2924,"nodeType":864},{},[],{"data":44555,"content":44556,"nodeType":1005},{},[],{"data":44558,"content":44559,"nodeType":1009},{},[44560],{"data":44561,"marks":44562,"value":43209,"nodeType":864},{},[44563],{"type":899},{"data":44565,"content":44566,"nodeType":860},{},[44567],{"data":44568,"marks":44569,"value":43216,"nodeType":864},{},[],{"data":44571,"content":44572,"nodeType":1312},{},[44573],{"data":44574,"marks":44575,"value":43224,"nodeType":864},{},[44576],{"type":899},{"data":44578,"content":44579,"nodeType":860},{},[44580,44583,44590,44593,44600],{"data":44581,"marks":44582,"value":43231,"nodeType":864},{},[],{"data":44584,"content":44585,"nodeType":883},{"uri":43234},[44586],{"data":44587,"marks":44588,"value":43240,"nodeType":864},{},[44589],{"type":1455},{"data":44591,"marks":44592,"value":902,"nodeType":864},{},[],{"data":44594,"content":44595,"nodeType":883},{"uri":26728},[44596],{"data":44597,"marks":44598,"value":43251,"nodeType":864},{},[44599],{"type":1455},{"data":44601,"marks":44602,"value":43255,"nodeType":864},{},[],{"data":44604,"content":44607,"nodeType":996},{"target":44605},{"sys":44606},{"id":43260,"type":1001,"linkType":1002},[],{"data":44609,"content":44610,"nodeType":1312},{},[44611],{"data":44612,"marks":44613,"value":43269,"nodeType":864},{},[44614],{"type":899},{"data":44616,"content":44617,"nodeType":860},{},[44618,44621,44628],{"data":44619,"marks":44620,"value":43276,"nodeType":864},{},[],{"data":44622,"content":44623,"nodeType":883},{"uri":43279},[44624],{"data":44625,"marks":44626,"value":43285,"nodeType":864},{},[44627],{"type":1455},{"data":44629,"marks":44630,"value":43289,"nodeType":864},{},[],{"data":44632,"content":44633,"nodeType":860},{},[44634],{"data":44635,"marks":44636,"value":43296,"nodeType":864},{},[],{"data":44638,"content":44641,"nodeType":996},{"target":44639},{"sys":44640},{"id":43301,"type":1001,"linkType":1002},[],{"data":44643,"content":44644,"nodeType":860},{},[44645],{"data":44646,"marks":44647,"value":43309,"nodeType":864},{},[],{"data":44649,"content":44652,"nodeType":996},{"target":44650},{"sys":44651},{"id":43314,"type":1001,"linkType":1002},[],{"data":44654,"content":44655,"nodeType":860},{},[44656,44659,44666],{"data":44657,"marks":44658,"value":43322,"nodeType":864},{},[],{"data":44660,"content":44661,"nodeType":883},{"uri":43325},[44662],{"data":44663,"marks":44664,"value":43331,"nodeType":864},{},[44665],{"type":1455},{"data":44667,"marks":44668,"value":12285,"nodeType":864},{},[],{"data":44670,"content":44671,"nodeType":1312},{},[44672],{"data":44673,"marks":44674,"value":43342,"nodeType":864},{},[44675],{"type":899},{"data":44677,"content":44678,"nodeType":860},{},[44679,44682,44689],{"data":44680,"marks":44681,"value":43349,"nodeType":864},{},[],{"data":44683,"content":44684,"nodeType":883},{"uri":26938},[44685],{"data":44686,"marks":44687,"value":26944,"nodeType":864},{},[44688],{"type":1455},{"data":44690,"marks":44691,"value":43360,"nodeType":864},{},[],{"data":44693,"content":44694,"nodeType":1312},{},[44695],{"data":44696,"marks":44697,"value":43368,"nodeType":864},{},[44698],{"type":899},{"data":44700,"content":44701,"nodeType":860},{},[44702],{"data":44703,"marks":44704,"value":43375,"nodeType":864},{},[],{"data":44706,"content":44707,"nodeType":860},{},[44708],{"data":44709,"marks":44710,"value":43382,"nodeType":864},{},[],{"data":44712,"content":44713,"nodeType":1005},{},[],{"data":44715,"content":44716,"nodeType":1009},{},[44717],{"data":44718,"marks":44719,"value":43393,"nodeType":864},{},[44720],{"type":899},{"data":44722,"content":44723,"nodeType":860},{},[44724],{"data":44725,"marks":44726,"value":43400,"nodeType":864},{},[],{"data":44728,"content":44731,"nodeType":996},{"target":44729},{"sys":44730},{"id":43405,"type":1001,"linkType":1002},[],{"data":44733,"content":44734,"nodeType":860},{},[44735],{"data":44736,"marks":44737,"value":43413,"nodeType":864},{},[],{"data":44739,"content":44740,"nodeType":1312},{},[44741],{"data":44742,"marks":44743,"value":43421,"nodeType":864},{},[44744],{"type":899},{"data":44746,"content":44747,"nodeType":860},{},[44748,44751,44758],{"data":44749,"marks":44750,"value":21,"nodeType":864},{},[],{"data":44752,"content":44753,"nodeType":883},{"uri":43325},[44754],{"data":44755,"marks":44756,"value":43435,"nodeType":864},{},[44757],{"type":1455},{"data":44759,"marks":44760,"value":43439,"nodeType":864},{},[],{"data":44762,"content":44763,"nodeType":860},{},[44764],{"data":44765,"marks":44766,"value":43446,"nodeType":864},{},[],{"data":44768,"content":44771,"nodeType":996},{"target":44769},{"sys":44770},{"id":43451,"type":1001,"linkType":1002},[],{"data":44773,"content":44774,"nodeType":1312},{},[44775],{"data":44776,"marks":44777,"value":43460,"nodeType":864},{},[44778],{"type":899},{"data":44780,"content":44781,"nodeType":860},{},[44782],{"data":44783,"marks":44784,"value":43467,"nodeType":864},{},[],{"data":44786,"content":44787,"nodeType":860},{},[44788],{"data":44789,"marks":44790,"value":43474,"nodeType":864},{},[],{"data":44792,"content":44793,"nodeType":860},{},[44794,44797,44804,44807,44814],{"data":44795,"marks":44796,"value":43481,"nodeType":864},{},[],{"data":44798,"content":44799,"nodeType":883},{"uri":40182},[44800],{"data":44801,"marks":44802,"value":43489,"nodeType":864},{},[44803],{"type":1455},{"data":44805,"marks":44806,"value":43493,"nodeType":864},{},[],{"data":44808,"content":44809,"nodeType":883},{"uri":7494},[44810],{"data":44811,"marks":44812,"value":43501,"nodeType":864},{},[44813],{"type":1455},{"data":44815,"marks":44816,"value":43505,"nodeType":864},{},[],{"data":44818,"content":44821,"nodeType":996},{"target":44819},{"sys":44820},{"id":43510,"type":1001,"linkType":1002},[],{"data":44823,"content":44824,"nodeType":860},{},[44825],{"data":44826,"marks":44827,"value":43518,"nodeType":864},{},[],{"data":44829,"content":44830,"nodeType":1312},{},[44831],{"data":44832,"marks":44833,"value":43526,"nodeType":864},{},[44834],{"type":899},{"data":44836,"content":44837,"nodeType":860},{},[44838],{"data":44839,"marks":44840,"value":43533,"nodeType":864},{},[],{"data":44842,"content":44845,"nodeType":996},{"target":44843},{"sys":44844},{"id":43538,"type":1001,"linkType":1002},[],{"data":44847,"content":44848,"nodeType":860},{},[44849,44852,44859,44862,44869],{"data":44850,"marks":44851,"value":43546,"nodeType":864},{},[],{"data":44853,"content":44854,"nodeType":883},{"uri":43549},[44855],{"data":44856,"marks":44857,"value":43555,"nodeType":864},{},[44858],{"type":1455},{"data":44860,"marks":44861,"value":43559,"nodeType":864},{},[],{"data":44863,"content":44864,"nodeType":883},{"uri":40410},[44865],{"data":44866,"marks":44867,"value":32228,"nodeType":864},{},[44868],{"type":1455},{"data":44870,"marks":44871,"value":43570,"nodeType":864},{},[],{"data":44873,"content":44874,"nodeType":1312},{},[44875],{"data":44876,"marks":44877,"value":43578,"nodeType":864},{},[44878],{"type":899},{"data":44880,"content":44881,"nodeType":860},{},[44882,44885,44892],{"data":44883,"marks":44884,"value":43585,"nodeType":864},{},[],{"data":44886,"content":44887,"nodeType":883},{"uri":43588},[44888],{"data":44889,"marks":44890,"value":43594,"nodeType":864},{},[44891],{"type":1455},{"data":44893,"marks":44894,"value":43598,"nodeType":864},{},[],{"data":44896,"content":44897,"nodeType":860},{},[44898],{"data":44899,"marks":44900,"value":43605,"nodeType":864},{},[],{"data":44902,"content":44905,"nodeType":996},{"target":44903},{"sys":44904},{"id":43610,"type":1001,"linkType":1002},[],{"data":44907,"content":44908,"nodeType":1312},{},[44909],{"data":44910,"marks":44911,"value":43619,"nodeType":864},{},[44912],{"type":899},{"data":44914,"content":44915,"nodeType":860},{},[44916,44919,44926],{"data":44917,"marks":44918,"value":43626,"nodeType":864},{},[],{"data":44920,"content":44921,"nodeType":883},{"uri":43629},[44922],{"data":44923,"marks":44924,"value":43635,"nodeType":864},{},[44925],{"type":1455},{"data":44927,"marks":44928,"value":43639,"nodeType":864},{},[],{"data":44930,"content":44931,"nodeType":860},{},[44932],{"data":44933,"marks":44934,"value":43646,"nodeType":864},{},[],{"data":44936,"content":44937,"nodeType":941},{},[44938,44947,44956,44965,44974,44983],{"data":44939,"content":44940,"nodeType":945},{},[44941],{"data":44942,"content":44943,"nodeType":860},{},[44944],{"data":44945,"marks":44946,"value":43659,"nodeType":864},{},[],{"data":44948,"content":44949,"nodeType":945},{},[44950],{"data":44951,"content":44952,"nodeType":860},{},[44953],{"data":44954,"marks":44955,"value":43669,"nodeType":864},{},[],{"data":44957,"content":44958,"nodeType":945},{},[44959],{"data":44960,"content":44961,"nodeType":860},{},[44962],{"data":44963,"marks":44964,"value":43679,"nodeType":864},{},[],{"data":44966,"content":44967,"nodeType":945},{},[44968],{"data":44969,"content":44970,"nodeType":860},{},[44971],{"data":44972,"marks":44973,"value":43689,"nodeType":864},{},[],{"data":44975,"content":44976,"nodeType":945},{},[44977],{"data":44978,"content":44979,"nodeType":860},{},[44980],{"data":44981,"marks":44982,"value":43699,"nodeType":864},{},[],{"data":44984,"content":44985,"nodeType":945},{},[44986],{"data":44987,"content":44988,"nodeType":860},{},[44989],{"data":44990,"marks":44991,"value":43709,"nodeType":864},{},[],{"data":44993,"content":44996,"nodeType":996},{"target":44994},{"sys":44995},{"id":43714,"type":1001,"linkType":1002},[],{"data":44998,"content":44999,"nodeType":1005},{},[],{"data":45001,"content":45002,"nodeType":1009},{},[45003],{"data":45004,"marks":45005,"value":43726,"nodeType":864},{},[45006],{"type":899},{"data":45008,"content":45009,"nodeType":860},{},[45010],{"data":45011,"marks":45012,"value":43733,"nodeType":864},{},[],{"data":45014,"content":45015,"nodeType":860},{},[45016],{"data":45017,"marks":45018,"value":43740,"nodeType":864},{},[],{"data":45020,"content":45021,"nodeType":860},{},[45022,45025,45032,45035,45042],{"data":45023,"marks":45024,"value":43747,"nodeType":864},{},[],{"data":45026,"content":45027,"nodeType":883},{"uri":43750},[45028],{"data":45029,"marks":45030,"value":43756,"nodeType":864},{},[45031],{"type":1455},{"data":45033,"marks":45034,"value":43760,"nodeType":864},{},[],{"data":45036,"content":45037,"nodeType":883},{"uri":7494},[45038],{"data":45039,"marks":45040,"value":43768,"nodeType":864},{},[45041],{"type":1455},{"data":45043,"marks":45044,"value":12252,"nodeType":864},{},[],{"data":45046,"content":45047,"nodeType":1005},{},[],{"data":45049,"content":45050,"nodeType":1009},{},[45051],{"data":45052,"marks":45053,"value":43782,"nodeType":864},{},[45054],{"type":899},{"data":45056,"content":45057,"nodeType":860},{},[45058],{"data":45059,"marks":45060,"value":43790,"nodeType":864},{},[45061],{"type":899},{"data":45063,"content":45066,"nodeType":996},{"target":45064},{"sys":45065},{"id":43795,"type":1001,"linkType":1002},[],{"data":45068,"content":45069,"nodeType":1312},{},[45070],{"data":45071,"marks":45072,"value":43803,"nodeType":864},{},[],{"data":45074,"content":45075,"nodeType":860},{},[45076],{"data":45077,"marks":45078,"value":43811,"nodeType":864},{},[45079],{"type":899},{"data":45081,"content":45084,"nodeType":996},{"target":45082},{"sys":45083},{"id":43816,"type":1001,"linkType":1002},[],{"data":45086,"content":45087,"nodeType":860},{},[45088],{"data":45089,"marks":45090,"value":43824,"nodeType":864},{},[],{"data":45092,"content":45093,"nodeType":860},{},[45094],{"data":45095,"marks":45096,"value":43831,"nodeType":864},{},[],{"data":45098,"content":45101,"nodeType":996},{"target":45099},{"sys":45100},{"id":43836,"type":1001,"linkType":1002},[],{"data":45103,"content":45104,"nodeType":1312},{},[45105],{"data":45106,"marks":45107,"value":43844,"nodeType":864},{},[],{"data":45109,"content":45110,"nodeType":860},{},[45111],{"data":45112,"marks":45113,"value":43852,"nodeType":864},{},[45114],{"type":899},{"data":45116,"content":45117,"nodeType":860},{},[45118],{"data":45119,"marks":45120,"value":43859,"nodeType":864},{},[],{"data":45122,"content":45123,"nodeType":860},{},[45124],{"data":45125,"marks":45126,"value":43866,"nodeType":864},{},[],{"data":45128,"content":45129,"nodeType":1312},{},[45130],{"data":45131,"marks":45132,"value":43873,"nodeType":864},{},[],{"data":45134,"content":45135,"nodeType":860},{},[45136,45140,45145],{"data":45137,"marks":45138,"value":43881,"nodeType":864},{},[45139],{"type":899},{"data":45141,"marks":45142,"value":43887,"nodeType":864},{},[45143,45144],{"type":1455},{"type":899},{"data":45146,"marks":45147,"value":43892,"nodeType":864},{},[45148],{"type":899},{"data":45150,"content":45151,"nodeType":860},{},[45152,45155,45162],{"data":45153,"marks":45154,"value":43899,"nodeType":864},{},[],{"data":45156,"content":45157,"nodeType":883},{"uri":43902},[45158],{"data":45159,"marks":45160,"value":43908,"nodeType":864},{},[45161],{"type":1455},{"data":45163,"marks":45164,"value":2924,"nodeType":864},{},[],{"data":45166,"content":45167,"nodeType":860},{},[45168],{"data":45169,"marks":45170,"value":43918,"nodeType":864},{},[],{"data":45172,"content":45173,"nodeType":860},{},[45174],{"data":45175,"marks":45176,"value":43925,"nodeType":864},{},[],{"data":45178,"content":45181,"nodeType":996},{"target":45179},{"sys":45180},{"id":43930,"type":1001,"linkType":1002},[],{"data":45183,"content":45184,"nodeType":1312},{},[45185],{"data":45186,"marks":45187,"value":43938,"nodeType":864},{},[],{"data":45189,"content":45190,"nodeType":860},{},[45191],{"data":45192,"marks":45193,"value":43946,"nodeType":864},{},[45194],{"type":899},{"data":45196,"content":45197,"nodeType":860},{},[45198],{"data":45199,"marks":45200,"value":43953,"nodeType":864},{},[],{"data":45202,"content":45203,"nodeType":860},{},[45204],{"data":45205,"marks":45206,"value":43960,"nodeType":864},{},[],{"data":45208,"content":45211,"nodeType":996},{"target":45209},{"sys":45210},{"id":43965,"type":1001,"linkType":1002},[],{"data":45213,"content":45214,"nodeType":1312},{},[45215],{"data":45216,"marks":45217,"value":43973,"nodeType":864},{},[],{"data":45219,"content":45220,"nodeType":860},{},[45221],{"data":45222,"marks":45223,"value":43981,"nodeType":864},{},[45224],{"type":899},{"data":45226,"content":45227,"nodeType":860},{},[45228],{"data":45229,"marks":45230,"value":43988,"nodeType":864},{},[],{"data":45232,"content":45233,"nodeType":860},{},[45234],{"data":45235,"marks":45236,"value":43995,"nodeType":864},{},[],{"data":45238,"content":45239,"nodeType":860},{},[45240],{"data":45241,"marks":45242,"value":44002,"nodeType":864},{},[],{"data":45244,"content":45247,"nodeType":996},{"target":45245},{"sys":45246},{"id":44007,"type":1001,"linkType":1002},[],{"data":45249,"content":45250,"nodeType":1312},{},[45251],{"data":45252,"marks":45253,"value":44015,"nodeType":864},{},[],{"data":45255,"content":45256,"nodeType":860},{},[45257],{"data":45258,"marks":45259,"value":44023,"nodeType":864},{},[45260],{"type":899},{"data":45262,"content":45263,"nodeType":860},{},[45264],{"data":45265,"marks":45266,"value":44030,"nodeType":864},{},[],{"data":45268,"content":45269,"nodeType":860},{},[45270,45273,45280],{"data":45271,"marks":45272,"value":44037,"nodeType":864},{},[],{"data":45274,"content":45275,"nodeType":883},{"uri":17701},[45276],{"data":45277,"marks":45278,"value":17706,"nodeType":864},{},[45279],{"type":1455},{"data":45281,"marks":45282,"value":44048,"nodeType":864},{},[],{"data":45284,"content":45287,"nodeType":996},{"target":45285},{"sys":45286},{"id":44053,"type":1001,"linkType":1002},[],{"data":45289,"content":45290,"nodeType":1312},{},[45291],{"data":45292,"marks":45293,"value":44061,"nodeType":864},{},[],{"data":45295,"content":45296,"nodeType":860},{},[45297,45300,45308],{"data":45298,"marks":45299,"value":44068,"nodeType":864},{},[],{"data":45301,"content":45302,"nodeType":883},{"uri":44071},[45303],{"data":45304,"marks":45305,"value":44078,"nodeType":864},{},[45306,45307],{"type":1455},{"type":899},{"data":45309,"marks":45310,"value":44082,"nodeType":864},{},[],{"data":45312,"content":45315,"nodeType":996},{"target":45313},{"sys":45314},{"id":44087,"type":1001,"linkType":1002},[],{"data":45317,"content":45318,"nodeType":860},{},[45319],{"data":45320,"marks":45321,"value":44095,"nodeType":864},{},[],{"data":45323,"content":45324,"nodeType":860},{},[45325,45328,45335],{"data":45326,"marks":45327,"value":44102,"nodeType":864},{},[],{"data":45329,"content":45330,"nodeType":883},{"uri":44105},[45331],{"data":45332,"marks":45333,"value":44111,"nodeType":864},{},[45334],{"type":1455},{"data":45336,"marks":45337,"value":44115,"nodeType":864},{},[],{"data":45339,"content":45342,"nodeType":996},{"target":45340},{"sys":45341},{"id":44120,"type":1001,"linkType":1002},[],{"data":45344,"content":45345,"nodeType":1005},{},[],{"data":45347,"content":45348,"nodeType":1009},{},[45349],{"data":45350,"marks":45351,"value":30213,"nodeType":864},{},[45352],{"type":899},{"data":45354,"content":45355,"nodeType":860},{},[45356],{"data":45357,"marks":45358,"value":44138,"nodeType":864},{},[],{"data":45360,"content":45361,"nodeType":860},{},[45362,45365,45371],{"data":45363,"marks":45364,"value":35574,"nodeType":864},{},[],{"data":45366,"content":45367,"nodeType":883},{"uri":44147},[45368],{"data":45369,"marks":45370,"value":12967,"nodeType":864},{},[],{"data":45372,"marks":45373,"value":2924,"nodeType":864},{},[],{"entries":45375},{"hyperlink":45376,"inline":45377,"block":45378},[],[],[45379,45416,45442,45470,45474,45488,45523,45537,45551,45559,45563,45570,45574,45578,45585,45592,45606,45613,45621,45627,45635,45642,45650],{"sys":45380,"__typename":1740,"content":45381,"name":45415,"title":59},{"id":42804},{"json":45382},{"nodeType":856,"data":45383,"content":45384},{},[45385],{"nodeType":860,"data":45386,"content":45387},{},[45388,45392,45400,45404,45411],{"nodeType":864,"value":45389,"marks":45390,"data":45391},"It's been a busy year for cyber criminals! This article has now been superseded with the rise to infamy of ",[],{},{"nodeType":883,"data":45393,"content":45395},{"uri":45394},"https://pushsecurity.com/blog/scattered-lapsus-hunters",[45396],{"nodeType":864,"value":45397,"marks":45398,"data":45399},"\"Scattered Lapsus$ Hunters\"",[],{},{"nodeType":864,"value":45401,"marks":45402,"data":45403},". The guidance and TTPs in this blog post still apply, but ",[],{},{"nodeType":883,"data":45405,"content":45406},{"uri":45394},[45407],{"nodeType":864,"value":45408,"marks":45409,"data":45410},"check out our new post",[],{},{"nodeType":864,"value":45412,"marks":45413,"data":45414}," for the full picture of Scattered Spider-linked breaches dating back to 2021. ",[],{},"SS insight box 1",{"sys":45417,"__typename":1740,"content":45418,"name":45441,"title":59},{"id":42855},{"json":45419},{"nodeType":856,"data":45420,"content":45421},{},[45422],{"nodeType":860,"data":45423,"content":45424},{},[45425,45429,45437],{"nodeType":864,"value":45426,"marks":45427,"data":45428},"With criminal hacker collectives being fluid in nature, Scattered Spider has also been associated with ",[],{},{"nodeType":883,"data":45430,"content":45431},{"uri":3751},[45432],{"nodeType":864,"value":45433,"marks":45434,"data":45436},"the Snowflake attacks",[45435],{"type":1455},{},{"nodeType":864,"value":45438,"marks":45439,"data":45440}," attributed to the ShinyHunters group, which resulted in hundreds of millions of breached records from 9 public victims including AT&T, Ticketmaster, and Santander (with the full impact suggested to be around 165 organizations), monetized through ransom payments, extortion of individual victims, and resale of the data on criminal forums.",[],{},"Scattered Spider insight box 0",{"sys":45443,"__typename":1740,"content":45444,"name":45469,"title":59},{"id":42940},{"json":45445},{"nodeType":856,"data":45446,"content":45447},{},[45448],{"nodeType":860,"data":45449,"content":45450},{},[45451,45456,45460,45465],{"nodeType":864,"value":45452,"marks":45453,"data":45455},"Caesars",[45454],{"type":899},{},{"nodeType":864,"value":45457,"marks":45458,"data":45459}," was also hit at the same time as MGM Resorts. Less is known about the Caesars attack, except that a ransom of ",[],{},{"nodeType":864,"value":45461,"marks":45462,"data":45464},"$15M",[45463],{"type":899},{},{"nodeType":864,"value":45466,"marks":45467,"data":45468}," was paid to Scattered Spider in an attempt to prevent stolen data being leaked online.",[],{},"Scattered Spider insight box 1",{"sys":45471,"__typename":1717,"type":1718,"ctaText":45472,"buttonLabel":45473,"buttonColour":1721,"buttonUrl":41560},{"id":42972},"Want to learn more from our security researchers? Watch our webinar on Scattered Spider's 2025 TTPs here. ","Stream On-Demand",{"sys":45475,"__typename":1740,"content":45476,"name":45487,"title":59},{"id":42996},{"json":45477},{"nodeType":856,"data":45478,"content":45479},{},[45480],{"nodeType":860,"data":45481,"content":45482},{},[45483],{"nodeType":864,"value":45484,"marks":45485,"data":45486},"It's worth thinking about Scattered Spider less as a neatly identified group of individuals, but more as a pattern of activity and behaviors. For this reason, it's unlikely that arrests will have a definitive impact — the TTPs exhibited will continue to be used and refined by newcomers.  ",[],{},"Scattered Spider TTPs Insight Box 5",{"sys":45489,"__typename":1740,"content":45490,"name":45522,"title":59},{"id":43260},{"json":45491},{"nodeType":856,"data":45492,"content":45493},{},[45494],{"nodeType":860,"data":45495,"content":45496},{},[45497,45501,45508,45512,45519],{"nodeType":864,"value":45498,"marks":45499,"data":45500},"Learn more about how Scattered Spider conducts help desk attacks ",[],{},{"nodeType":883,"data":45502,"content":45503},{"uri":26983},[45504],{"nodeType":864,"value":45505,"marks":45506,"data":45507},"in our recent blog pos",[],{},{"nodeType":864,"value":45509,"marks":45510,"data":45511},"t or by checking out ",[],{},{"nodeType":883,"data":45513,"content":45514},{"uri":41560},[45515],{"nodeType":864,"value":45516,"marks":45517,"data":45518},"our on-demand webinar — available to stream now",[],{},{"nodeType":864,"value":1774,"marks":45520,"data":45521},[],{},"Scattered Spider TTPs insight box 6",{"sys":45524,"__typename":1740,"content":45525,"name":45536,"title":59},{"id":43301},{"json":45526},{"nodeType":856,"data":45527,"content":45528},{},[45529],{"nodeType":860,"data":45530,"content":45531},{},[45532],{"nodeType":864,"value":45533,"marks":45534,"data":45535},"Accenture, Aflac, Allstate, Ally Bank, Amica, Apple, AT&T, Athene, Audemars Piguet, Ballet Crypto, BCB Group, Bell, Bitcoin Suisse, Blockdaemon, Blockstream, Charter Communications, Chik-fil-A, Cincinnati Financial, Comcast Corporation, Core Scientific, Costco, Credit Karma, DoorDash, Fireblocks, Forbes, Gemini, Grayscale, H&R Block, Hanover Insurance, Harrow Health, Iliad, Instacart, Jackson Hewitt, Kemper, Louis Vuitton, Luno, Marsh, Mercury, Morningstar, Mutual of Omaha, Nansen, NGRAVE, New York Digital Investment Group, New York Life Insurance, News Corporation, Nike, Orange, P.F. Chang’s, Paxos, PNC Bank, Revolut, RiteAid, 7-Eleven, Singtel, Stargate Industries, Synchrony Bank, Synovus, T-Mobile, Telstra, TIAA, Transamerica, Twitter/X, UScellular, Verizon, Vodafone, WINDTRE, and Xapo Bank.",[],{},"Scattered Spider insight box 3",{"sys":45538,"__typename":1740,"content":45539,"name":45550,"title":59},{"id":43314},{"json":45540},{"nodeType":856,"data":45541,"content":45542},{},[45543],{"nodeType":860,"data":45544,"content":45545},{},[45546],{"nodeType":864,"value":45547,"marks":45548,"data":45549},"ActiveCampaign, Ada CX, Alchemy, Asurion, Bandwith, Bird CRM, Campaign Monitor, Concentrix, Constant Contact, Corporate Tools, CTS, eClerx, Expedia Group, FalconX, FICO, Five9, Foundever, Freshworks, Genesis Trading, Givebutter, GoDaddy, HubSpot, Incode, Intercom, iQor, Iterable, Jumio, Klaviyo, LinkedIn, Mixpanel, Nuance Communications, Onfido, OnSolve, Podium, Pure Storage, Ripple, Roblox, Salesforce, Shipbob, Sinch, Socure, SPOC, Squarespace, TaskUs, TriVista, Twilio, Ulta Beauty, Upland Software, Wix, Workday, Ziff Davis, and 247[.]ai.",[],{},"Scattered Spider insight box 4",{"sys":45552,"__typename":1724,"title":45553,"caption":45554,"layoutMode":59,"file":45555},{"id":43405},"Scattered Spider image 1","Summary of Scattered Spider TTP evolution in the context of an end-to-end attack chain.",{"url":45556,"width":45557,"height":45558},"https://images.ctfassets.net/y1cdw1ablpvd/16ngVb8CXbn6jnv7CNeCs5/1d708ddda20413c228d1239f6739acae/Screenshot_2025-06-27_at_15.30.27.png",3376,1876,{"sys":45560,"__typename":1717,"type":1718,"ctaText":45561,"buttonLabel":41559,"buttonColour":1721,"buttonUrl":45562},{"id":43451},"Frustrated that phishing attacks are still so successful in 2025? Check out on-demand latest webinar where we analyze exactly why and where controls are failing.","https://pushsecurity.com/resources/phishing-2025",{"sys":45564,"__typename":1724,"title":45565,"caption":45566,"layoutMode":59,"file":45567},{"id":43510},"Scattered spider image 2","Comparing the it.com domain observed by security researchers with the us.com observed in our recent Onfido malvertising investigation.",{"url":45568,"width":1736,"height":45569},"https://images.ctfassets.net/y1cdw1ablpvd/36YNp6VD5QfqcFcB4actyT/e31cc1dad9f55d49e1d793711199a666/image1.png",791,{"sys":45571,"__typename":9318,"title":45572,"arcadeDemoUrl":45573,"playText":29563},{"id":43538},"Evilginx demo","https://demo.arcade.software/2OpOz9hyjfIu5o8KtAmI?embed",{"sys":45575,"__typename":9318,"title":45576,"arcadeDemoUrl":45577,"playText":29563},{"id":43610},"Phishing Toolkit Detection Evasion Arcade","https://demo.arcade.software/tDUPQV1Nlaralf6VQHT2?embed",{"sys":45579,"__typename":1724,"title":45580,"caption":45581,"layoutMode":59,"file":45582},{"id":43714},"Scattered spider image 3","Scattered Spider Okta phishing pages impersonating various brands",{"url":45583,"width":45584,"height":1736},"https://images.ctfassets.net/y1cdw1ablpvd/7HWejTJs8g5dtoZLK2oqg7/72e3461a28811d0b80d6322f2f93a431/image3.png",1645,{"sys":45586,"__typename":1724,"title":45587,"caption":45588,"layoutMode":59,"file":45589},{"id":43795},"Push vs Scattered Spider","Push controls mapped against Scattered Spider TTPs.",{"url":45590,"width":1736,"height":45591},"https://images.ctfassets.net/y1cdw1ablpvd/1l3phtTjFoQDleiOKYfrXn/ead73aef01e72f08885656d79521a27a/image3.png",1136,{"sys":45593,"__typename":1740,"content":45594,"name":45605,"title":59},{"id":43816},{"json":45595},{"nodeType":856,"data":45596,"content":45597},{},[45598],{"nodeType":860,"data":45599,"content":45600},{},[45601],{"nodeType":864,"value":45602,"marks":45603,"data":45604},"To detect modern, sophisticated phishing kits like those used by Scattered Spider, organizations need to be able to detect and block phishing pages in real-time. Push’s browser-based approach intercepts phishing attacks as they happen — in employee browsers. Being in the browser delivers a lot of advantages when it comes to detecting and intercepting phishing attacks. You see the live webpage that the user sees, as they see it, meaning you have much better visibility of malicious elements running on the page. It also means that you can implement real-time controls that kick in when a malicious element is detected.",[],{},"Scattered Spider insight box 2",{"sys":45607,"__typename":1724,"title":45608,"caption":45609,"layoutMode":59,"file":45610},{"id":43836},"Phishing toolkit detection","Accessing pages running malicious phishing toolkits is automatically blocked. ",{"url":45611,"width":41540,"height":45612},"https://images.ctfassets.net/y1cdw1ablpvd/3ylgW0MDCCesBjQsoqjD4P/a8bc4df9a430aca6c725f913d2bc6444/image11.png",767,{"sys":45614,"__typename":1724,"title":45615,"caption":45616,"layoutMode":59,"file":45617},{"id":43930},"Scattered spider image 4","Push detects and blocks when a password is used on a site it doesn't belong to.",{"url":45618,"width":45619,"height":45620},"https://images.ctfassets.net/y1cdw1ablpvd/3DsbAAM2GCMbyfBdENebFJ/89978c80fe97b46d2e80089b19d8cb73/image8.png",1920,1080,{"sys":45622,"__typename":1724,"title":45623,"caption":45623,"layoutMode":59,"file":45624},{"id":43965},"Detecting stolen sessions running on attacker machines. ",{"url":45625,"width":41540,"height":45626},"https://images.ctfassets.net/y1cdw1ablpvd/3Pp4bDB2FkGlHbOEt35j0j/49a92cf3c2f805850eff23bacd43818c/image8.png",398,{"sys":45628,"__typename":1724,"title":45629,"caption":45630,"layoutMode":59,"file":45631},{"id":44007},"Detecting stolen credentials in lastpass","Push shows where stolen credentials have been used to log into an account and the source of the leak",{"url":45632,"width":45633,"height":45634},"https://images.ctfassets.net/y1cdw1ablpvd/HYlWtjgQJdjOYgjmRVMf3/2444a1804ff5c75e88884d75c8735aa8/image8.png",697,668,{"sys":45636,"__typename":1724,"title":45637,"caption":45638,"layoutMode":59,"file":45639},{"id":44053},"Scattered spider image 5","Push identifies where multiple login methods are configured for a single account, as well as when the method was last observed, to surface ghost logins.",{"url":45640,"width":1736,"height":45641},"https://images.ctfassets.net/y1cdw1ablpvd/4LigZHBdaNgpK4vXjr80Ct/5c904257035d6507eff924bff131ced9/image5.png",887,{"sys":45643,"__typename":1724,"title":45644,"caption":45645,"layoutMode":59,"file":45646},{"id":44087},"Employee Verification Codes","Push provides a lightweight verification feature in every user’s browser — no additional apps or devices required.",{"url":45647,"width":45648,"height":45649},"https://images.ctfassets.net/y1cdw1ablpvd/41X6fkPJgqf14vO3O14TF3/e0cecdbdfaee1353f15ff77ecb6a55a8/Employee_verification_codes.png",2088,1240,{"sys":45651,"__typename":1717,"type":1718,"ctaText":45652,"buttonLabel":45653,"buttonColour":1721,"buttonUrl":44105},{"id":44120},"Deploy Employee Verification Codes for free today and protect your help desk from Scattered Spider","Try it free",{"items":45655},[],{},"How Scattered Spider TTPs are evolving in 2025",{"url":45659},"https://images.ctfassets.net/y1cdw1ablpvd/mMbgUER8qJH3p4YF8CsAE/cfc45da4f29fb417a627be97335ab23e/Help_desk_verification_codes.png",{"items":45661},[45662,45967,46667],{"__typename":2059,"sys":45663,"content":45664,"title":37831,"synopsis":37832,"hashTags":59,"publishedDate":37833,"slug":37834,"tagsCollection":45959,"authorsCollection":45963},{"id":37485},{"json":45665},{"data":45666,"content":45667,"nodeType":856},{},[45668,45674,45680,45686,45691,45697,45727,45733,45739,45745,45750,45756,45762,45777,45782,45788,45804,45820,45826,45832,45838,45844,45850,45856,45862,45878,45884,45890,45895,45901,45907,45927,45932,45948,45953],{"data":45669,"content":45670,"nodeType":860},{},[45671],{"data":45672,"marks":45673,"value":37496,"nodeType":864},{},[],{"data":45675,"content":45676,"nodeType":860},{},[45677],{"data":45678,"marks":45679,"value":37503,"nodeType":864},{},[],{"data":45681,"content":45682,"nodeType":860},{},[45683],{"data":45684,"marks":45685,"value":37510,"nodeType":864},{},[],{"data":45687,"content":45690,"nodeType":996},{"target":45688},{"sys":45689},{"id":37515,"type":1001,"linkType":1002},[],{"data":45692,"content":45693,"nodeType":860},{},[45694],{"data":45695,"marks":45696,"value":37523,"nodeType":864},{},[],{"data":45698,"content":45699,"nodeType":941},{},[45700,45709,45718],{"data":45701,"content":45702,"nodeType":945},{},[45703],{"data":45704,"content":45705,"nodeType":860},{},[45706],{"data":45707,"marks":45708,"value":37536,"nodeType":864},{},[],{"data":45710,"content":45711,"nodeType":945},{},[45712],{"data":45713,"content":45714,"nodeType":860},{},[45715],{"data":45716,"marks":45717,"value":37546,"nodeType":864},{},[],{"data":45719,"content":45720,"nodeType":945},{},[45721],{"data":45722,"content":45723,"nodeType":860},{},[45724],{"data":45725,"marks":45726,"value":37556,"nodeType":864},{},[],{"data":45728,"content":45729,"nodeType":860},{},[45730],{"data":45731,"marks":45732,"value":37563,"nodeType":864},{},[],{"data":45734,"content":45735,"nodeType":1009},{},[45736],{"data":45737,"marks":45738,"value":37570,"nodeType":864},{},[],{"data":45740,"content":45741,"nodeType":860},{},[45742],{"data":45743,"marks":45744,"value":37577,"nodeType":864},{},[],{"data":45746,"content":45749,"nodeType":996},{"target":45747},{"sys":45748},{"id":37582,"type":1001,"linkType":1002},[],{"data":45751,"content":45752,"nodeType":860},{},[45753],{"data":45754,"marks":45755,"value":37590,"nodeType":864},{},[],{"data":45757,"content":45758,"nodeType":1009},{},[45759],{"data":45760,"marks":45761,"value":37597,"nodeType":864},{},[],{"data":45763,"content":45764,"nodeType":860},{},[45765,45768,45774],{"data":45766,"marks":45767,"value":37604,"nodeType":864},{},[],{"data":45769,"content":45770,"nodeType":883},{"uri":36559},[45771],{"data":45772,"marks":45773,"value":37611,"nodeType":864},{},[],{"data":45775,"marks":45776,"value":37615,"nodeType":864},{},[],{"data":45778,"content":45781,"nodeType":996},{"target":45779},{"sys":45780},{"id":37620,"type":1001,"linkType":1002},[],{"data":45783,"content":45784,"nodeType":1312},{},[45785],{"data":45786,"marks":45787,"value":37628,"nodeType":864},{},[],{"data":45789,"content":45790,"nodeType":860},{},[45791,45794,45801],{"data":45792,"marks":45793,"value":37635,"nodeType":864},{},[],{"data":45795,"content":45796,"nodeType":883},{"uri":37638},[45797],{"data":45798,"marks":45799,"value":37644,"nodeType":864},{},[45800],{"type":1455},{"data":45802,"marks":45803,"value":37648,"nodeType":864},{},[],{"data":45805,"content":45806,"nodeType":860},{},[45807,45810,45817],{"data":45808,"marks":45809,"value":37655,"nodeType":864},{},[],{"data":45811,"content":45812,"nodeType":883},{"uri":26938},[45813],{"data":45814,"marks":45815,"value":26944,"nodeType":864},{},[45816],{"type":1455},{"data":45818,"marks":45819,"value":37666,"nodeType":864},{},[],{"data":45821,"content":45822,"nodeType":860},{},[45823],{"data":45824,"marks":45825,"value":37673,"nodeType":864},{},[],{"data":45827,"content":45828,"nodeType":860},{},[45829],{"data":45830,"marks":45831,"value":37680,"nodeType":864},{},[],{"data":45833,"content":45834,"nodeType":1312},{},[45835],{"data":45836,"marks":45837,"value":37687,"nodeType":864},{},[],{"data":45839,"content":45840,"nodeType":860},{},[45841],{"data":45842,"marks":45843,"value":37694,"nodeType":864},{},[],{"data":45845,"content":45846,"nodeType":860},{},[45847],{"data":45848,"marks":45849,"value":37701,"nodeType":864},{},[],{"data":45851,"content":45852,"nodeType":1009},{},[45853],{"data":45854,"marks":45855,"value":37708,"nodeType":864},{},[],{"data":45857,"content":45858,"nodeType":860},{},[45859],{"data":45860,"marks":45861,"value":37715,"nodeType":864},{},[],{"data":45863,"content":45864,"nodeType":860},{},[45865,45868,45875],{"data":45866,"marks":45867,"value":37722,"nodeType":864},{},[],{"data":45869,"content":45870,"nodeType":883},{"uri":37725},[45871],{"data":45872,"marks":45873,"value":37731,"nodeType":864},{},[45874],{"type":1455},{"data":45876,"marks":45877,"value":37735,"nodeType":864},{},[],{"data":45879,"content":45880,"nodeType":860},{},[45881],{"data":45882,"marks":45883,"value":37742,"nodeType":864},{},[],{"data":45885,"content":45886,"nodeType":860},{},[45887],{"data":45888,"marks":45889,"value":37749,"nodeType":864},{},[],{"data":45891,"content":45894,"nodeType":996},{"target":45892},{"sys":45893},{"id":37754,"type":1001,"linkType":1002},[],{"data":45896,"content":45897,"nodeType":1009},{},[45898],{"data":45899,"marks":45900,"value":37762,"nodeType":864},{},[],{"data":45902,"content":45903,"nodeType":860},{},[45904],{"data":45905,"marks":45906,"value":37769,"nodeType":864},{},[],{"data":45908,"content":45909,"nodeType":860},{},[45910,45913,45917,45920,45924],{"data":45911,"marks":45912,"value":37776,"nodeType":864},{},[],{"data":45914,"marks":45915,"value":28678,"nodeType":864},{},[45916],{"type":899},{"data":45918,"marks":45919,"value":37784,"nodeType":864},{},[],{"data":45921,"marks":45922,"value":37789,"nodeType":864},{},[45923],{"type":899},{"data":45925,"marks":45926,"value":37793,"nodeType":864},{},[],{"data":45928,"content":45931,"nodeType":996},{"target":45929},{"sys":45930},{"id":37798,"type":1001,"linkType":1002},[],{"data":45933,"content":45934,"nodeType":860},{},[45935,45938,45945],{"data":45936,"marks":45937,"value":37806,"nodeType":864},{},[],{"data":45939,"content":45940,"nodeType":883},{"uri":5642},[45941],{"data":45942,"marks":45943,"value":37814,"nodeType":864},{},[45944],{"type":1455},{"data":45946,"marks":45947,"value":37818,"nodeType":864},{},[],{"data":45949,"content":45952,"nodeType":996},{"target":45950},{"sys":45951},{"id":37823,"type":1001,"linkType":1002},[],{"data":45954,"content":45955,"nodeType":860},{},[45956],{"data":45957,"marks":45958,"value":21,"nodeType":864},{},[],{"items":45960},[45961],{"sys":45962,"name":297},{"id":2732},{"items":45964},[45965],{"fullName":4878,"firstName":4879,"jobTitle":851,"profilePicture":45966},{"url":4881},{"__typename":2059,"sys":45968,"content":45969,"title":34880,"synopsis":34881,"hashTags":59,"publishedDate":34882,"slug":34883,"tagsCollection":46659,"authorsCollection":46663},{"id":34089},{"json":45970},{"data":45971,"content":45972,"nodeType":856},{},[45973,45978,45994,46000,46006,46011,46014,46021,46027,46043,46053,46059,46065,46071,46155,46158,46165,46240,46245,46248,46255,46262,46268,46274,46281,46297,46303,46310,46316,46322,46329,46335,46341,46357,46362,46365,46372,46379,46385,46474,46480,46487,46493,46499,46504,46511,46517,46523,46529,46536,46542,46548,46554,46560,46565,46568,46575,46581,46611,46617,46632,46648,46653],{"data":45974,"content":45977,"nodeType":996},{"target":45975},{"sys":45976},{"id":34098,"type":1001,"linkType":1002},[],{"data":45979,"content":45980,"nodeType":860},{},[45981,45984,45991],{"data":45982,"marks":45983,"value":34106,"nodeType":864},{},[],{"data":45985,"content":45986,"nodeType":883},{"uri":34109},[45987],{"data":45988,"marks":45989,"value":34115,"nodeType":864},{},[45990],{"type":1455},{"data":45992,"marks":45993,"value":34119,"nodeType":864},{},[],{"data":45995,"content":45996,"nodeType":860},{},[45997],{"data":45998,"marks":45999,"value":34126,"nodeType":864},{},[],{"data":46001,"content":46002,"nodeType":860},{},[46003],{"data":46004,"marks":46005,"value":34133,"nodeType":864},{},[],{"data":46007,"content":46010,"nodeType":996},{"target":46008},{"sys":46009},{"id":34138,"type":1001,"linkType":1002},[],{"data":46012,"content":46013,"nodeType":1005},{},[],{"data":46015,"content":46016,"nodeType":1009},{},[46017],{"data":46018,"marks":46019,"value":34150,"nodeType":864},{},[46020],{"type":899},{"data":46022,"content":46023,"nodeType":860},{},[46024],{"data":46025,"marks":46026,"value":34157,"nodeType":864},{},[],{"data":46028,"content":46029,"nodeType":860},{},[46030,46033,46040],{"data":46031,"marks":46032,"value":34164,"nodeType":864},{},[],{"data":46034,"content":46035,"nodeType":883},{"uri":18533},[46036],{"data":46037,"marks":46038,"value":34172,"nodeType":864},{},[46039],{"type":1455},{"data":46041,"marks":46042,"value":12252,"nodeType":864},{},[],{"data":46044,"content":46045,"nodeType":1116},{},[46046],{"data":46047,"content":46048,"nodeType":860},{},[46049],{"data":46050,"marks":46051,"value":34186,"nodeType":864},{},[46052],{"type":899},{"data":46054,"content":46055,"nodeType":860},{},[46056],{"data":46057,"marks":46058,"value":34193,"nodeType":864},{},[],{"data":46060,"content":46061,"nodeType":860},{},[46062],{"data":46063,"marks":46064,"value":34200,"nodeType":864},{},[],{"data":46066,"content":46067,"nodeType":860},{},[46068],{"data":46069,"marks":46070,"value":34207,"nodeType":864},{},[],{"data":46072,"content":46073,"nodeType":941},{},[46074,46083,46092,46101,46110,46119,46128,46137,46146],{"data":46075,"content":46076,"nodeType":945},{},[46077],{"data":46078,"content":46079,"nodeType":860},{},[46080],{"data":46081,"marks":46082,"value":34220,"nodeType":864},{},[],{"data":46084,"content":46085,"nodeType":945},{},[46086],{"data":46087,"content":46088,"nodeType":860},{},[46089],{"data":46090,"marks":46091,"value":34230,"nodeType":864},{},[],{"data":46093,"content":46094,"nodeType":945},{},[46095],{"data":46096,"content":46097,"nodeType":860},{},[46098],{"data":46099,"marks":46100,"value":34240,"nodeType":864},{},[],{"data":46102,"content":46103,"nodeType":945},{},[46104],{"data":46105,"content":46106,"nodeType":860},{},[46107],{"data":46108,"marks":46109,"value":34250,"nodeType":864},{},[],{"data":46111,"content":46112,"nodeType":945},{},[46113],{"data":46114,"content":46115,"nodeType":860},{},[46116],{"data":46117,"marks":46118,"value":34260,"nodeType":864},{},[],{"data":46120,"content":46121,"nodeType":945},{},[46122],{"data":46123,"content":46124,"nodeType":860},{},[46125],{"data":46126,"marks":46127,"value":34270,"nodeType":864},{},[],{"data":46129,"content":46130,"nodeType":945},{},[46131],{"data":46132,"content":46133,"nodeType":860},{},[46134],{"data":46135,"marks":46136,"value":34280,"nodeType":864},{},[],{"data":46138,"content":46139,"nodeType":945},{},[46140],{"data":46141,"content":46142,"nodeType":860},{},[46143],{"data":46144,"marks":46145,"value":34290,"nodeType":864},{},[],{"data":46147,"content":46148,"nodeType":945},{},[46149],{"data":46150,"content":46151,"nodeType":860},{},[46152],{"data":46153,"marks":46154,"value":34300,"nodeType":864},{},[],{"data":46156,"content":46157,"nodeType":1005},{},[],{"data":46159,"content":46160,"nodeType":1009},{},[46161],{"data":46162,"marks":46163,"value":34311,"nodeType":864},{},[46164],{"type":899},{"data":46166,"content":46167,"nodeType":941},{},[46168,46177,46186,46195,46204,46213,46222,46231],{"data":46169,"content":46170,"nodeType":945},{},[46171],{"data":46172,"content":46173,"nodeType":860},{},[46174],{"data":46175,"marks":46176,"value":34324,"nodeType":864},{},[],{"data":46178,"content":46179,"nodeType":945},{},[46180],{"data":46181,"content":46182,"nodeType":860},{},[46183],{"data":46184,"marks":46185,"value":34334,"nodeType":864},{},[],{"data":46187,"content":46188,"nodeType":945},{},[46189],{"data":46190,"content":46191,"nodeType":860},{},[46192],{"data":46193,"marks":46194,"value":34344,"nodeType":864},{},[],{"data":46196,"content":46197,"nodeType":945},{},[46198],{"data":46199,"content":46200,"nodeType":860},{},[46201],{"data":46202,"marks":46203,"value":34354,"nodeType":864},{},[],{"data":46205,"content":46206,"nodeType":945},{},[46207],{"data":46208,"content":46209,"nodeType":860},{},[46210],{"data":46211,"marks":46212,"value":34364,"nodeType":864},{},[],{"data":46214,"content":46215,"nodeType":945},{},[46216],{"data":46217,"content":46218,"nodeType":860},{},[46219],{"data":46220,"marks":46221,"value":34374,"nodeType":864},{},[],{"data":46223,"content":46224,"nodeType":945},{},[46225],{"data":46226,"content":46227,"nodeType":860},{},[46228],{"data":46229,"marks":46230,"value":34384,"nodeType":864},{},[],{"data":46232,"content":46233,"nodeType":945},{},[46234],{"data":46235,"content":46236,"nodeType":860},{},[46237],{"data":46238,"marks":46239,"value":34394,"nodeType":864},{},[],{"data":46241,"content":46244,"nodeType":996},{"target":46242},{"sys":46243},{"id":34399,"type":1001,"linkType":1002},[],{"data":46246,"content":46247,"nodeType":1005},{},[],{"data":46249,"content":46250,"nodeType":1009},{},[46251],{"data":46252,"marks":46253,"value":34411,"nodeType":864},{},[46254],{"type":899},{"data":46256,"content":46257,"nodeType":1312},{},[46258],{"data":46259,"marks":46260,"value":34419,"nodeType":864},{},[46261],{"type":899},{"data":46263,"content":46264,"nodeType":860},{},[46265],{"data":46266,"marks":46267,"value":34426,"nodeType":864},{},[],{"data":46269,"content":46270,"nodeType":860},{},[46271],{"data":46272,"marks":46273,"value":34433,"nodeType":864},{},[],{"data":46275,"content":46276,"nodeType":1312},{},[46277],{"data":46278,"marks":46279,"value":34441,"nodeType":864},{},[46280],{"type":899},{"data":46282,"content":46283,"nodeType":860},{},[46284,46287,46294],{"data":46285,"marks":46286,"value":34448,"nodeType":864},{},[],{"data":46288,"content":46289,"nodeType":883},{"uri":17701},[46290],{"data":46291,"marks":46292,"value":17706,"nodeType":864},{},[46293],{"type":1455},{"data":46295,"marks":46296,"value":12252,"nodeType":864},{},[],{"data":46298,"content":46299,"nodeType":860},{},[46300],{"data":46301,"marks":46302,"value":34465,"nodeType":864},{},[],{"data":46304,"content":46305,"nodeType":1312},{},[46306],{"data":46307,"marks":46308,"value":34473,"nodeType":864},{},[46309],{"type":899},{"data":46311,"content":46312,"nodeType":860},{},[46313],{"data":46314,"marks":46315,"value":34480,"nodeType":864},{},[],{"data":46317,"content":46318,"nodeType":860},{},[46319],{"data":46320,"marks":46321,"value":34487,"nodeType":864},{},[],{"data":46323,"content":46324,"nodeType":1312},{},[46325],{"data":46326,"marks":46327,"value":34495,"nodeType":864},{},[46328],{"type":899},{"data":46330,"content":46331,"nodeType":860},{},[46332],{"data":46333,"marks":46334,"value":34502,"nodeType":864},{},[],{"data":46336,"content":46337,"nodeType":860},{},[46338],{"data":46339,"marks":46340,"value":34509,"nodeType":864},{},[],{"data":46342,"content":46343,"nodeType":860},{},[46344,46347,46354],{"data":46345,"marks":46346,"value":34516,"nodeType":864},{},[],{"data":46348,"content":46349,"nodeType":883},{"uri":34519},[46350],{"data":46351,"marks":46352,"value":34525,"nodeType":864},{},[46353],{"type":1455},{"data":46355,"marks":46356,"value":34529,"nodeType":864},{},[],{"data":46358,"content":46361,"nodeType":996},{"target":46359},{"sys":46360},{"id":34534,"type":1001,"linkType":1002},[],{"data":46363,"content":46364,"nodeType":1005},{},[],{"data":46366,"content":46367,"nodeType":1009},{},[46368],{"data":46369,"marks":46370,"value":34546,"nodeType":864},{},[46371],{"type":899},{"data":46373,"content":46374,"nodeType":1312},{},[46375],{"data":46376,"marks":46377,"value":34554,"nodeType":864},{},[46378],{"type":899},{"data":46380,"content":46381,"nodeType":860},{},[46382],{"data":46383,"marks":46384,"value":34561,"nodeType":864},{},[],{"data":46386,"content":46387,"nodeType":941},{},[46388,46407,46426,46455],{"data":46389,"content":46390,"nodeType":945},{},[46391],{"data":46392,"content":46393,"nodeType":860},{},[46394,46397,46404],{"data":46395,"marks":46396,"value":34574,"nodeType":864},{},[],{"data":46398,"content":46399,"nodeType":883},{"uri":34577},[46400],{"data":46401,"marks":46402,"value":34583,"nodeType":864},{},[46403],{"type":1455},{"data":46405,"marks":46406,"value":34587,"nodeType":864},{},[],{"data":46408,"content":46409,"nodeType":945},{},[46410],{"data":46411,"content":46412,"nodeType":860},{},[46413,46416,46423],{"data":46414,"marks":46415,"value":34597,"nodeType":864},{},[],{"data":46417,"content":46418,"nodeType":883},{"uri":15980},[46419],{"data":46420,"marks":46421,"value":34605,"nodeType":864},{},[46422],{"type":1455},{"data":46424,"marks":46425,"value":2924,"nodeType":864},{},[],{"data":46427,"content":46428,"nodeType":945},{},[46429],{"data":46430,"content":46431,"nodeType":860},{},[46432,46435,46442,46445,46452],{"data":46433,"marks":46434,"value":34618,"nodeType":864},{},[],{"data":46436,"content":46437,"nodeType":883},{"uri":17701},[46438],{"data":46439,"marks":46440,"value":34626,"nodeType":864},{},[46441],{"type":1455},{"data":46443,"marks":46444,"value":34630,"nodeType":864},{},[],{"data":46446,"content":46447,"nodeType":883},{"uri":34633},[46448],{"data":46449,"marks":46450,"value":34639,"nodeType":864},{},[46451],{"type":1455},{"data":46453,"marks":46454,"value":34643,"nodeType":864},{},[],{"data":46456,"content":46457,"nodeType":945},{},[46458],{"data":46459,"content":46460,"nodeType":860},{},[46461,46464,46471],{"data":46462,"marks":46463,"value":34653,"nodeType":864},{},[],{"data":46465,"content":46466,"nodeType":883},{"uri":15980},[46467],{"data":46468,"marks":46469,"value":34661,"nodeType":864},{},[46470],{"type":1455},{"data":46472,"marks":46473,"value":34665,"nodeType":864},{},[],{"data":46475,"content":46476,"nodeType":860},{},[46477],{"data":46478,"marks":46479,"value":34672,"nodeType":864},{},[],{"data":46481,"content":46482,"nodeType":1312},{},[46483],{"data":46484,"marks":46485,"value":34680,"nodeType":864},{},[46486],{"type":899},{"data":46488,"content":46489,"nodeType":860},{},[46490],{"data":46491,"marks":46492,"value":34687,"nodeType":864},{},[],{"data":46494,"content":46495,"nodeType":860},{},[46496],{"data":46497,"marks":46498,"value":34694,"nodeType":864},{},[],{"data":46500,"content":46503,"nodeType":996},{"target":46501},{"sys":46502},{"id":34699,"type":1001,"linkType":1002},[],{"data":46505,"content":46506,"nodeType":1312},{},[46507],{"data":46508,"marks":46509,"value":34708,"nodeType":864},{},[46510],{"type":899},{"data":46512,"content":46513,"nodeType":860},{},[46514],{"data":46515,"marks":46516,"value":34715,"nodeType":864},{},[],{"data":46518,"content":46519,"nodeType":860},{},[46520],{"data":46521,"marks":46522,"value":34722,"nodeType":864},{},[],{"data":46524,"content":46525,"nodeType":860},{},[46526],{"data":46527,"marks":46528,"value":34729,"nodeType":864},{},[],{"data":46530,"content":46531,"nodeType":1312},{},[46532],{"data":46533,"marks":46534,"value":34737,"nodeType":864},{},[46535],{"type":899},{"data":46537,"content":46538,"nodeType":860},{},[46539],{"data":46540,"marks":46541,"value":34744,"nodeType":864},{},[],{"data":46543,"content":46544,"nodeType":860},{},[46545],{"data":46546,"marks":46547,"value":34751,"nodeType":864},{},[],{"data":46549,"content":46550,"nodeType":860},{},[46551],{"data":46552,"marks":46553,"value":34758,"nodeType":864},{},[],{"data":46555,"content":46556,"nodeType":860},{},[46557],{"data":46558,"marks":46559,"value":34765,"nodeType":864},{},[],{"data":46561,"content":46564,"nodeType":996},{"target":46562},{"sys":46563},{"id":34770,"type":1001,"linkType":1002},[],{"data":46566,"content":46567,"nodeType":1005},{},[],{"data":46569,"content":46570,"nodeType":1009},{},[46571],{"data":46572,"marks":46573,"value":34782,"nodeType":864},{},[46574],{"type":899},{"data":46576,"content":46577,"nodeType":860},{},[46578],{"data":46579,"marks":46580,"value":34789,"nodeType":864},{},[],{"data":46582,"content":46583,"nodeType":941},{},[46584,46593,46602],{"data":46585,"content":46586,"nodeType":945},{},[46587],{"data":46588,"content":46589,"nodeType":860},{},[46590],{"data":46591,"marks":46592,"value":34802,"nodeType":864},{},[],{"data":46594,"content":46595,"nodeType":945},{},[46596],{"data":46597,"content":46598,"nodeType":860},{},[46599],{"data":46600,"marks":46601,"value":34812,"nodeType":864},{},[],{"data":46603,"content":46604,"nodeType":945},{},[46605],{"data":46606,"content":46607,"nodeType":860},{},[46608],{"data":46609,"marks":46610,"value":34822,"nodeType":864},{},[],{"data":46612,"content":46613,"nodeType":860},{},[46614],{"data":46615,"marks":46616,"value":34829,"nodeType":864},{},[],{"data":46618,"content":46619,"nodeType":860},{},[46620,46623,46629],{"data":46621,"marks":46622,"value":1238,"nodeType":864},{},[],{"data":46624,"content":46625,"nodeType":883},{"uri":34838},[46626],{"data":46627,"marks":46628,"value":34843,"nodeType":864},{},[],{"data":46630,"marks":46631,"value":34847,"nodeType":864},{},[],{"data":46633,"content":46634,"nodeType":860},{},[46635,46638,46645],{"data":46636,"marks":46637,"value":34854,"nodeType":864},{},[],{"data":46639,"content":46640,"nodeType":883},{"uri":34857},[46641],{"data":46642,"marks":46643,"value":34863,"nodeType":864},{},[46644],{"type":1455},{"data":46646,"marks":46647,"value":34867,"nodeType":864},{},[],{"data":46649,"content":46652,"nodeType":996},{"target":46650},{"sys":46651},{"id":34872,"type":1001,"linkType":1002},[],{"data":46654,"content":46655,"nodeType":860},{},[46656],{"data":46657,"marks":46658,"value":21,"nodeType":864},{},[],{"items":46660},[46661],{"sys":46662,"name":6593},{"id":6592},{"items":46664},[46665],{"fullName":2736,"firstName":2737,"jobTitle":2738,"profilePicture":46666},{"url":2740},{"__typename":2059,"sys":46668,"content":46669,"title":41136,"synopsis":41137,"hashTags":59,"publishedDate":41138,"slug":41139,"tagsCollection":47210,"authorsCollection":47216},{"id":40523},{"json":46670},{"data":46671,"content":46672,"nodeType":856},{},[46673,46679,46685,46692,46715,46721,46726,46729,46736,46742,46748,46787,46793,46799,46802,46809,46815,46821,46827,46843,46849,46854,46861,46867,46873,46879,46884,46887,46894,46901,46907,46914,46920,46978,46984,46991,46997,47027,47034,47040,47047,47053,47060,47066,47114,47120,47123,47130,47136,47151,47181,47199,47204],{"data":46674,"content":46675,"nodeType":860},{},[46676],{"data":46677,"marks":46678,"value":40534,"nodeType":864},{},[],{"data":46680,"content":46681,"nodeType":860},{},[46682],{"data":46683,"marks":46684,"value":40541,"nodeType":864},{},[],{"data":46686,"content":46687,"nodeType":860},{},[46688],{"data":46689,"marks":46690,"value":40549,"nodeType":864},{},[46691],{"type":899},{"data":46693,"content":46694,"nodeType":860},{},[46695,46698,46705,46708,46712],{"data":46696,"marks":46697,"value":40556,"nodeType":864},{},[],{"data":46699,"content":46700,"nodeType":883},{"uri":40559},[46701],{"data":46702,"marks":46703,"value":40565,"nodeType":864},{},[46704],{"type":1455},{"data":46706,"marks":46707,"value":40569,"nodeType":864},{},[],{"data":46709,"marks":46710,"value":40574,"nodeType":864},{},[46711],{"type":2246},{"data":46713,"marks":46714,"value":40578,"nodeType":864},{},[],{"data":46716,"content":46717,"nodeType":860},{},[46718],{"data":46719,"marks":46720,"value":40585,"nodeType":864},{},[],{"data":46722,"content":46725,"nodeType":996},{"target":46723},{"sys":46724},{"id":40590,"type":1001,"linkType":1002},[],{"data":46727,"content":46728,"nodeType":1005},{},[],{"data":46730,"content":46731,"nodeType":1009},{},[46732],{"data":46733,"marks":46734,"value":40602,"nodeType":864},{},[46735],{"type":899},{"data":46737,"content":46738,"nodeType":860},{},[46739],{"data":46740,"marks":46741,"value":40609,"nodeType":864},{},[],{"data":46743,"content":46744,"nodeType":860},{},[46745],{"data":46746,"marks":46747,"value":40616,"nodeType":864},{},[],{"data":46749,"content":46750,"nodeType":941},{},[46751,46760,46769,46778],{"data":46752,"content":46753,"nodeType":945},{},[46754],{"data":46755,"content":46756,"nodeType":860},{},[46757],{"data":46758,"marks":46759,"value":40629,"nodeType":864},{},[],{"data":46761,"content":46762,"nodeType":945},{},[46763],{"data":46764,"content":46765,"nodeType":860},{},[46766],{"data":46767,"marks":46768,"value":40639,"nodeType":864},{},[],{"data":46770,"content":46771,"nodeType":945},{},[46772],{"data":46773,"content":46774,"nodeType":860},{},[46775],{"data":46776,"marks":46777,"value":40649,"nodeType":864},{},[],{"data":46779,"content":46780,"nodeType":945},{},[46781],{"data":46782,"content":46783,"nodeType":860},{},[46784],{"data":46785,"marks":46786,"value":40659,"nodeType":864},{},[],{"data":46788,"content":46789,"nodeType":860},{},[46790],{"data":46791,"marks":46792,"value":40666,"nodeType":864},{},[],{"data":46794,"content":46795,"nodeType":860},{},[46796],{"data":46797,"marks":46798,"value":40673,"nodeType":864},{},[],{"data":46800,"content":46801,"nodeType":1005},{},[],{"data":46803,"content":46804,"nodeType":1009},{},[46805],{"data":46806,"marks":46807,"value":40684,"nodeType":864},{},[46808],{"type":899},{"data":46810,"content":46811,"nodeType":860},{},[46812],{"data":46813,"marks":46814,"value":40691,"nodeType":864},{},[],{"data":46816,"content":46817,"nodeType":860},{},[46818],{"data":46819,"marks":46820,"value":40698,"nodeType":864},{},[],{"data":46822,"content":46823,"nodeType":860},{},[46824],{"data":46825,"marks":46826,"value":40705,"nodeType":864},{},[],{"data":46828,"content":46829,"nodeType":860},{},[46830,46833,46840],{"data":46831,"marks":46832,"value":40712,"nodeType":864},{},[],{"data":46834,"content":46835,"nodeType":883},{"uri":18552},[46836],{"data":46837,"marks":46838,"value":29345,"nodeType":864},{},[46839],{"type":1455},{"data":46841,"marks":46842,"value":40723,"nodeType":864},{},[],{"data":46844,"content":46845,"nodeType":860},{},[46846],{"data":46847,"marks":46848,"value":40730,"nodeType":864},{},[],{"data":46850,"content":46853,"nodeType":996},{"target":46851},{"sys":46852},{"id":40735,"type":1001,"linkType":1002},[],{"data":46855,"content":46856,"nodeType":1009},{},[46857],{"data":46858,"marks":46859,"value":40744,"nodeType":864},{},[46860],{"type":899},{"data":46862,"content":46863,"nodeType":860},{},[46864],{"data":46865,"marks":46866,"value":40751,"nodeType":864},{},[],{"data":46868,"content":46869,"nodeType":860},{},[46870],{"data":46871,"marks":46872,"value":40758,"nodeType":864},{},[],{"data":46874,"content":46875,"nodeType":860},{},[46876],{"data":46877,"marks":46878,"value":40765,"nodeType":864},{},[],{"data":46880,"content":46883,"nodeType":996},{"target":46881},{"sys":46882},{"id":40770,"type":1001,"linkType":1002},[],{"data":46885,"content":46886,"nodeType":1005},{},[],{"data":46888,"content":46889,"nodeType":1009},{},[46890],{"data":46891,"marks":46892,"value":40782,"nodeType":864},{},[46893],{"type":899},{"data":46895,"content":46896,"nodeType":1312},{},[46897],{"data":46898,"marks":46899,"value":40790,"nodeType":864},{},[46900],{"type":899},{"data":46902,"content":46903,"nodeType":860},{},[46904],{"data":46905,"marks":46906,"value":40797,"nodeType":864},{},[],{"data":46908,"content":46909,"nodeType":1312},{},[46910],{"data":46911,"marks":46912,"value":40805,"nodeType":864},{},[46913],{"type":899},{"data":46915,"content":46916,"nodeType":860},{},[46917],{"data":46918,"marks":46919,"value":40812,"nodeType":864},{},[],{"data":46921,"content":46922,"nodeType":941},{},[46923,46932,46941,46960,46969],{"data":46924,"content":46925,"nodeType":945},{},[46926],{"data":46927,"content":46928,"nodeType":860},{},[46929],{"data":46930,"marks":46931,"value":40825,"nodeType":864},{},[],{"data":46933,"content":46934,"nodeType":945},{},[46935],{"data":46936,"content":46937,"nodeType":860},{},[46938],{"data":46939,"marks":46940,"value":40835,"nodeType":864},{},[],{"data":46942,"content":46943,"nodeType":945},{},[46944],{"data":46945,"content":46946,"nodeType":860},{},[46947,46950,46957],{"data":46948,"marks":46949,"value":36318,"nodeType":864},{},[],{"data":46951,"content":46952,"nodeType":883},{"uri":36321},[46953],{"data":46954,"marks":46955,"value":36327,"nodeType":864},{},[46956],{"type":1455},{"data":46958,"marks":46959,"value":21,"nodeType":864},{},[],{"data":46961,"content":46962,"nodeType":945},{},[46963],{"data":46964,"content":46965,"nodeType":860},{},[46966],{"data":46967,"marks":46968,"value":40864,"nodeType":864},{},[],{"data":46970,"content":46971,"nodeType":945},{},[46972],{"data":46973,"content":46974,"nodeType":860},{},[46975],{"data":46976,"marks":46977,"value":40874,"nodeType":864},{},[],{"data":46979,"content":46980,"nodeType":860},{},[46981],{"data":46982,"marks":46983,"value":40881,"nodeType":864},{},[],{"data":46985,"content":46986,"nodeType":1312},{},[46987],{"data":46988,"marks":46989,"value":40889,"nodeType":864},{},[46990],{"type":899},{"data":46992,"content":46993,"nodeType":860},{},[46994],{"data":46995,"marks":46996,"value":40896,"nodeType":864},{},[],{"data":46998,"content":46999,"nodeType":941},{},[47000,47009,47018],{"data":47001,"content":47002,"nodeType":945},{},[47003],{"data":47004,"content":47005,"nodeType":860},{},[47006],{"data":47007,"marks":47008,"value":40909,"nodeType":864},{},[],{"data":47010,"content":47011,"nodeType":945},{},[47012],{"data":47013,"content":47014,"nodeType":860},{},[47015],{"data":47016,"marks":47017,"value":40919,"nodeType":864},{},[],{"data":47019,"content":47020,"nodeType":945},{},[47021],{"data":47022,"content":47023,"nodeType":860},{},[47024],{"data":47025,"marks":47026,"value":40929,"nodeType":864},{},[],{"data":47028,"content":47029,"nodeType":1312},{},[47030],{"data":47031,"marks":47032,"value":40937,"nodeType":864},{},[47033],{"type":899},{"data":47035,"content":47036,"nodeType":860},{},[47037],{"data":47038,"marks":47039,"value":40944,"nodeType":864},{},[],{"data":47041,"content":47042,"nodeType":1312},{},[47043],{"data":47044,"marks":47045,"value":40952,"nodeType":864},{},[47046],{"type":899},{"data":47048,"content":47049,"nodeType":860},{},[47050],{"data":47051,"marks":47052,"value":40959,"nodeType":864},{},[],{"data":47054,"content":47055,"nodeType":1312},{},[47056],{"data":47057,"marks":47058,"value":40967,"nodeType":864},{},[47059],{"type":899},{"data":47061,"content":47062,"nodeType":860},{},[47063],{"data":47064,"marks":47065,"value":40974,"nodeType":864},{},[],{"data":47067,"content":47068,"nodeType":941},{},[47069,47078,47087,47096,47105],{"data":47070,"content":47071,"nodeType":945},{},[47072],{"data":47073,"content":47074,"nodeType":860},{},[47075],{"data":47076,"marks":47077,"value":40987,"nodeType":864},{},[],{"data":47079,"content":47080,"nodeType":945},{},[47081],{"data":47082,"content":47083,"nodeType":860},{},[47084],{"data":47085,"marks":47086,"value":40997,"nodeType":864},{},[],{"data":47088,"content":47089,"nodeType":945},{},[47090],{"data":47091,"content":47092,"nodeType":860},{},[47093],{"data":47094,"marks":47095,"value":41007,"nodeType":864},{},[],{"data":47097,"content":47098,"nodeType":945},{},[47099],{"data":47100,"content":47101,"nodeType":860},{},[47102],{"data":47103,"marks":47104,"value":41017,"nodeType":864},{},[],{"data":47106,"content":47107,"nodeType":945},{},[47108],{"data":47109,"content":47110,"nodeType":860},{},[47111],{"data":47112,"marks":47113,"value":41027,"nodeType":864},{},[],{"data":47115,"content":47116,"nodeType":860},{},[47117],{"data":47118,"marks":47119,"value":41034,"nodeType":864},{},[],{"data":47121,"content":47122,"nodeType":1005},{},[],{"data":47124,"content":47125,"nodeType":1009},{},[47126],{"data":47127,"marks":47128,"value":41045,"nodeType":864},{},[47129],{"type":899},{"data":47131,"content":47132,"nodeType":860},{},[47133],{"data":47134,"marks":47135,"value":41052,"nodeType":864},{},[],{"data":47137,"content":47138,"nodeType":860},{},[47139,47142,47148],{"data":47140,"marks":47141,"value":41059,"nodeType":864},{},[],{"data":47143,"content":47144,"nodeType":883},{"uri":40559},[47145],{"data":47146,"marks":47147,"value":41066,"nodeType":864},{},[],{"data":47149,"marks":47150,"value":2924,"nodeType":864},{},[],{"data":47152,"content":47153,"nodeType":941},{},[47154,47163,47172],{"data":47155,"content":47156,"nodeType":945},{},[47157],{"data":47158,"content":47159,"nodeType":860},{},[47160],{"data":47161,"marks":47162,"value":41082,"nodeType":864},{},[],{"data":47164,"content":47165,"nodeType":945},{},[47166],{"data":47167,"content":47168,"nodeType":860},{},[47169],{"data":47170,"marks":47171,"value":41092,"nodeType":864},{},[],{"data":47173,"content":47174,"nodeType":945},{},[47175],{"data":47176,"content":47177,"nodeType":860},{},[47178],{"data":47179,"marks":47180,"value":41102,"nodeType":864},{},[],{"data":47182,"content":47183,"nodeType":860},{},[47184,47188,47195],{"data":47185,"marks":47186,"value":41110,"nodeType":864},{},[47187],{"type":899},{"data":47189,"content":47190,"nodeType":883},{"uri":5642},[47191],{"data":47192,"marks":47193,"value":41118,"nodeType":864},{},[47194],{"type":899},{"data":47196,"marks":47197,"value":41123,"nodeType":864},{},[47198],{"type":899},{"data":47200,"content":47203,"nodeType":996},{"target":47201},{"sys":47202},{"id":41128,"type":1001,"linkType":1002},[],{"data":47205,"content":47206,"nodeType":860},{},[47207],{"data":47208,"marks":47209,"value":21,"nodeType":864},{},[],{"items":47211},[47212,47214],{"sys":47213,"name":6593},{"id":6592},{"sys":47215,"name":342},{"id":6596},{"items":47217},[47218],{"fullName":41149,"firstName":41150,"jobTitle":851,"profilePicture":47219},{"url":41152},"blog/scattered-spider-ttp-evolution-in-2025",{"json":47222},{"data":47223,"content":47224,"nodeType":856},{},[47225],{"data":47226,"content":47227,"nodeType":860},{},[47228],{"data":47229,"marks":47230,"value":47231,"nodeType":864},{},[],"How the notorious Scattered Spider cyber criminal group are evolving their TTPs in 2025 to bypass security controls like MFA and take over accounts on internet applications and services. ",{"id":42795,"publishedAt":47233},"2026-08-13T09:35:46.987Z",{"items":47235},[47236,47238],{"sys":47237,"name":6593},{"id":6592},{"sys":47239,"name":342},{"id":6596},{"items":47241},[47242,47244,47246,47248,47250,47252,47254,47256,47258,47260,47262,47264,47266,47268,47270,47272,47274,47276,47278,47280,47282,47284,47286,47288],{"sys":47243,"name":279,"slug":280,"tier":31},{"id":276},{"sys":47245,"name":413,"slug":414,"tier":31},{"id":410},{"sys":47247,"name":519,"slug":520,"tier":31},{"id":516},{"sys":47249,"name":642,"slug":643,"tier":31},{"id":639},{"sys":47251,"name":342,"slug":343,"tier":31},{"id":339},{"sys":47253,"name":545,"slug":546,"tier":31},{"id":542},{"sys":47255,"name":650,"slug":651,"tier":45},{"id":647},{"sys":47257,"name":261,"slug":262,"tier":45},{"id":258},{"sys":47259,"name":466,"slug":467,"tier":45},{"id":463},{"sys":47261,"name":404,"slug":405,"tier":45},{"id":401},{"sys":47263,"name":333,"slug":334,"tier":45},{"id":330},{"sys":47265,"name":324,"slug":325,"tier":45},{"id":321},{"sys":47267,"name":607,"slug":608,"tier":45},{"id":604},{"sys":47269,"name":422,"slug":423,"tier":45},{"id":419},{"sys":47271,"name":571,"slug":572,"tier":45},{"id":568},{"sys":47273,"name":395,"slug":396,"tier":45},{"id":392},{"sys":47275,"name":484,"slug":485,"tier":45},{"id":481},{"sys":47277,"name":537,"slug":538,"tier":45},{"id":534},{"sys":47279,"name":457,"slug":458,"tier":45},{"id":454},{"sys":47281,"name":511,"slug":512,"tier":45},{"id":508},{"sys":47283,"name":502,"slug":503,"tier":45},{"id":499},{"sys":47285,"name":475,"slug":476,"tier":45},{"id":472},{"sys":47287,"name":440,"slug":441,"tier":45},{"id":437},{"sys":47289,"name":528,"slug":529,"tier":45},{"id":525},"oLIODxEHsA2m841saCx3-KU2xiG-Qo5TlaPa70w1JEg",{"id":47292,"title":47293,"authorsCollection":47294,"content":47302,"extension":228,"faqItemsCollection":47742,"faqTitle":59,"featured":6,"hashTags":59,"meta":47744,"metaTitle":47745,"ogImage":47746,"postType":47747,"publishedDate":47748,"relatedBlogPostsCollection":47749,"slug":49638,"stem":49639,"subtitle":59,"summary":49640,"synopsis":49651,"sys":49652,"tagsCollection":49655,"topicsCollection":49661,"__hash__":49701},"blog/blog/series-b-and-beyond.json","Series B and Beyond: Securing the New Perimeter",{"items":47295},[47296],{"fullName":47297,"firstName":47298,"jobTitle":47299,"socialLinks":59,"profilePicture":47300},"Adam Bateman","Adam","Co-founder / CEO",{"url":47301},"https://images.ctfassets.net/y1cdw1ablpvd/3Bt9feB72kxdWlS0hvpldi/904bdb8b20d98e53c574f8be2f60996b/Push_Founders_at_Cahoots_October_28_2022_by_Doug_Coombe-20.jpg",{"json":47303,"links":47719},{"data":47304,"content":47305,"nodeType":856},{},[47306,47312,47319,47326,47346,47349,47356,47363,47386,47393,47400,47407,47410,47417,47424,47431,47438,47445,47452,47458,47461,47468,47475,47482,47489,47492,47499,47506,47513,47520,47523,47530,47580,47623,47630,47633,47639,47646,47653,47689,47707,47713],{"data":47307,"content":47311,"nodeType":996},{"target":47308},{"sys":47309},{"id":47310,"type":1001,"linkType":1002},"5Q1ArknoDbg1ubMHy7rBFH",[],{"data":47313,"content":47314,"nodeType":860},{},[47315],{"data":47316,"marks":47317,"value":47318,"nodeType":864},{},[],"Push was born out of a simple but urgent realization: Identity has become the new battleground in cybersecurity. ",{"data":47320,"content":47321,"nodeType":860},{},[47322],{"data":47323,"marks":47324,"value":47325,"nodeType":864},{},[],"As attackers take advantage of the massive changes to enterprise IT and working practices spurred on by the pandemic, we’re seeing the limitations of conventional controls exposed. And as attackers realize this, they’re doubling down on identity exploitation.",{"data":47327,"content":47328,"nodeType":860},{},[47329,47333,47342],{"data":47330,"marks":47331,"value":47332,"nodeType":864},{},[],"That urgency only intensified following the ",{"data":47334,"content":47335,"nodeType":883},{"uri":3751},[47336],{"data":47337,"marks":47338,"value":47341,"nodeType":864},{},[47339,47340],{"type":1455},{"type":899},"Snowflake breach in the summer of 2024",{"data":47343,"marks":47344,"value":47345,"nodeType":864},{},[],", which put the spotlight on how vulnerable internet-facing identities really are. For many security teams, it was a wake-up call — while for attackers, it was a feeding frenzy. ",{"data":47347,"content":47348,"nodeType":1005},{},[],{"data":47350,"content":47351,"nodeType":1009},{},[47352],{"data":47353,"marks":47354,"value":47355,"nodeType":864},{},[],"Attackers aren’t hacking in, they’re logging in  ",{"data":47357,"content":47358,"nodeType":860},{},[47359],{"data":47360,"marks":47361,"value":47362,"nodeType":864},{},[],"Identity is the new route of least resistance for attackers. They have developed TTPs to bypass traditional controls, evade detection and execute attacks faster than defenders can respond:",{"data":47364,"content":47365,"nodeType":941},{},[47366,47376],{"data":47367,"content":47368,"nodeType":945},{},[47369],{"data":47370,"content":47371,"nodeType":860},{},[47372],{"data":47373,"marks":47374,"value":47375,"nodeType":864},{},[],"Phishing attacks are reliably bypassing preventative controls like MFA, and predominantly email- and network-based detection tools.",{"data":47377,"content":47378,"nodeType":945},{},[47379],{"data":47380,"content":47381,"nodeType":860},{},[47382],{"data":47383,"marks":47384,"value":47385,"nodeType":864},{},[],"Attackers are leveraging compromised credentials at scale to take over accounts on business apps over the internet, fed by (and feeding) a vicious cycle of data breaches.",{"data":47387,"content":47388,"nodeType":860},{},[47389],{"data":47390,"marks":47391,"value":47392,"nodeType":864},{},[],"These attacks aren’t new. Things like phishing are amongst the oldest tricks in the book. But people are waking up to how sophisticated these attacks are becoming — and how much the change in business IT has undermined and exposed traditional controls.  ",{"data":47394,"content":47395,"nodeType":860},{},[47396],{"data":47397,"marks":47398,"value":47399,"nodeType":864},{},[],"It’s not surprising that attackers are shifting their focus away from the well-defended endpoint and network environments they’ve focused on in the last decade or so to take advantage. ",{"data":47401,"content":47402,"nodeType":860},{},[47403],{"data":47404,"marks":47405,"value":47406,"nodeType":864},{},[],"This is the problem my co-founders and I resolved to solve when we started this crazy journey. We’d been on the frontline of this threat evolution throughout our careers, first as ethical hackers tasked with breaking into the most secure companies in the world, and then turning these skills to keeping the bad guys out. We were convinced that this was the way the wind was blowing (even if most of our peers didn’t quite believe us yet!). ",{"data":47408,"content":47409,"nodeType":1005},{},[],{"data":47411,"content":47412,"nodeType":1009},{},[47413],{"data":47414,"marks":47415,"value":47416,"nodeType":864},{},[],"Modern problems require modern solutions",{"data":47418,"content":47419,"nodeType":860},{},[47420],{"data":47421,"marks":47422,"value":47423,"nodeType":864},{},[],"If identity is the new perimeter, then the browser is effectively the new Operating System — the place where users are working, and where the apps they’re using to do their jobs are running. ",{"data":47425,"content":47426,"nodeType":860},{},[47427],{"data":47428,"marks":47429,"value":47430,"nodeType":864},{},[],"We knew that unlocking the power of the browser was the key to solving identity security. I’m so proud to be able to say that we built the world’s first browser-based identity security platform, and being in the browser has been fundamental to what we’ve been able to achieve. ",{"data":47432,"content":47433,"nodeType":860},{},[47434],{"data":47435,"marks":47436,"value":47437,"nodeType":864},{},[],"Immediately, we found the level of accuracy on identity data to be far superior to the alternatives such as API (limited to the apps you know about and impeded by the nuances of APIs) and email (flooded with false positives). By observing identities in real time as users logged into apps, we could build a picture of the entire identity surface — even for unmanaged, previously unknown apps. It was a game changer for us. ",{"data":47439,"content":47440,"nodeType":860},{},[47441],{"data":47442,"marks":47443,"value":47444,"nodeType":864},{},[],"Then, we turned our attention to shutting down attacks. We found unique ways to detect, intercept, and block phishing pages in real time, which has seen us detect previously unseen phishing kits the first time they’re used. If you understand how phishing blocklists typically work, you’ll know how much of a game changer this is — no more waiting for a victim to report (or fall victim) before you can take action. ",{"data":47446,"content":47447,"nodeType":860},{},[47448],{"data":47449,"marks":47450,"value":47451,"nodeType":864},{},[],"We also harnessed our data to automatically verify where employees are using stolen credentials, finding the needle in the haystack where a compromised credential in millions of lines of an infostealer log matches the real, valid credential your employee is using — on one of hundreds of apps in your estate. ",{"data":47453,"content":47457,"nodeType":996},{"target":47454},{"sys":47455},{"id":47456,"type":1001,"linkType":1002},"Wvc3s8CnI9W7qoZdaCDOv",[],{"data":47459,"content":47460,"nodeType":1005},{},[],{"data":47462,"content":47463,"nodeType":1009},{},[47464],{"data":47465,"marks":47466,"value":47467,"nodeType":864},{},[],"Staying ahead of attackers",{"data":47469,"content":47470,"nodeType":860},{},[47471],{"data":47472,"marks":47473,"value":47474,"nodeType":864},{},[],"Research is at the heart of everything we do at Push — it’s our heritage. That background gives us an edge when it comes to identifying how attackers think, and more importantly, how to stop them. This new funding allows us to invest heavily in staying ahead of those threats, pairing our R&D with our product roadmap to ensure the features we build are prioritized by the impact they’ll have on securing our customers. ",{"data":47476,"content":47477,"nodeType":860},{},[47478],{"data":47479,"marks":47480,"value":47481,"nodeType":864},{},[],"Right now, the best place to detect and respond to these attacks is in the browser, the place where work happens and identities are accessed — and where attackers are targeting their victims. ",{"data":47483,"content":47484,"nodeType":860},{},[47485],{"data":47486,"marks":47487,"value":47488,"nodeType":864},{},[],"But honestly, if there came a time when this wasn’t the case anymore, we’d follow the attacker to wherever they go next. We’re not here to build shelfware, we’re here to make a real difference for defenders — and make attackers’ lives much harder. ",{"data":47490,"content":47491,"nodeType":1005},{},[],{"data":47493,"content":47494,"nodeType":1009},{},[47495],{"data":47496,"marks":47497,"value":47498,"nodeType":864},{},[],"Supporting security teams where they are today",{"data":47500,"content":47501,"nodeType":860},{},[47502],{"data":47503,"marks":47504,"value":47505,"nodeType":864},{},[],"When we started Push, identity threats weren’t yet top of mind for many companies. And understandably, there was a healthy degree of skepticism when we set out to leverage the browser. It was uncharted territory for security professionals. ",{"data":47507,"content":47508,"nodeType":860},{},[47509],{"data":47510,"marks":47511,"value":47512,"nodeType":864},{},[],"But I like to think we’ve proven its value — and we’re barely scratching the surface of what’s possible.",{"data":47514,"content":47515,"nodeType":860},{},[47516],{"data":47517,"marks":47518,"value":47519,"nodeType":864},{},[],"With this new funding, we’ll continue to meet that demand with an even more powerful platform, stronger customer support, and deeper integrations that allow security teams to do more, faster.  I can’t wait to show you what we’ve got planned next. ",{"data":47521,"content":47522,"nodeType":1005},{},[],{"data":47524,"content":47525,"nodeType":1009},{},[47526],{"data":47527,"marks":47528,"value":47529,"nodeType":864},{},[],"Thank you to our investors and customers",{"data":47531,"content":47532,"nodeType":860},{},[47533,47537,47542,47546,47551,47554,47559,47563,47568,47571,47576],{"data":47534,"marks":47535,"value":47536,"nodeType":864},{},[],"We’re incredibly grateful to our Series B lead investor, ",{"data":47538,"marks":47539,"value":47541,"nodeType":864},{},[47540],{"type":899},"Redpoint Ventures",{"data":47543,"marks":47544,"value":47545,"nodeType":864},{},[]," with participation from ",{"data":47547,"marks":47548,"value":47550,"nodeType":864},{},[47549],{"type":899},"Datadog Ventures",{"data":47552,"marks":47553,"value":902,"nodeType":864},{},[],{"data":47555,"marks":47556,"value":47558,"nodeType":864},{},[47557],{"type":899},"B3 Capital ",{"data":47560,"marks":47561,"value":47562,"nodeType":864},{},[],"– all new investors in this round – and to our returning partners at ",{"data":47564,"marks":47565,"value":47567,"nodeType":864},{},[47566],{"type":899},"Decibel",{"data":47569,"marks":47570,"value":902,"nodeType":864},{},[],{"data":47572,"marks":47573,"value":47575,"nodeType":864},{},[47574],{"type":899},"Alphabet’s Google Ventures",{"data":47577,"marks":47578,"value":47579,"nodeType":864},{},[],", along with angel investors who have backed us since the beginning. I truly believe that we have the ultimate combination in partners and advisors who have been at the forefront of scaling transformative technology and cybersecurity companies that will be integral in driving us forward.",{"data":47581,"content":47582,"nodeType":860},{},[47583,47587,47592,47596,47601,47610,47614,47619],{"data":47584,"marks":47585,"value":47586,"nodeType":864},{},[],"A special thank you to ",{"data":47588,"marks":47589,"value":47591,"nodeType":864},{},[47590],{"type":899},"Erica Brescia and Jordan Segall at Redpoint ",{"data":47593,"marks":47594,"value":47595,"nodeType":864},{},[],"— your deep understanding of the security industry, your belief in our team and the problem we’re solving, and your support as we scale mean everything. And to our independent investors ",{"data":47597,"marks":47598,"value":47600,"nodeType":864},{},[47599],{"type":899},"Jon Oberheide, Dug Song, Geoff Belknap, Royal Hansen, Haroon Meer, Ollie Whitehouse, ",{"data":47602,"content":47604,"nodeType":883},{"uri":47603},"https://pushsecurity.com/about/#investors",[47605],{"data":47606,"marks":47607,"value":47609,"nodeType":864},{},[47608],{"type":1455},"and others",{"data":47611,"marks":47612,"value":47613,"nodeType":864},{},[]," as well as the teams at ",{"data":47615,"marks":47616,"value":47618,"nodeType":864},{},[47617],{"type":899},"Google Ventures, Decibel, and Datadog",{"data":47620,"marks":47621,"value":47622,"nodeType":864},{},[],": thank you for your trust, your insights, and your commitment to building the future of identity security together. We really couldn’t have done it without you. ",{"data":47624,"content":47625,"nodeType":860},{},[47626],{"data":47627,"marks":47628,"value":47629,"nodeType":864},{},[],"To our customers: thank you for trusting us. To our team: thank you for building something bold. To our investors: thank you for believing in what’s next.",{"data":47631,"content":47632,"nodeType":1005},{},[],{"data":47634,"content":47635,"nodeType":1009},{},[47636],{"data":47637,"marks":47638,"value":6469,"nodeType":864},{},[],{"data":47640,"content":47641,"nodeType":860},{},[47642],{"data":47643,"marks":47644,"value":47645,"nodeType":864},{},[],"We’re focused on speed: faster response to emerging threats, faster product innovation, and faster time to value for the security teams we serve. Our vision has always been to empower people, not just protect them — to guide users toward secure decisions and help security teams operate with clarity and confidence.",{"data":47647,"content":47648,"nodeType":860},{},[47649],{"data":47650,"marks":47651,"value":47652,"nodeType":864},{},[],"This Series B isn’t just fuel for the fire — it’s the start of a whole new chapter. Let’s build something iconic, together. ✌️ ",{"data":47654,"content":47655,"nodeType":860},{},[47656,47661,47671,47675,47685],{"data":47657,"marks":47658,"value":47660,"nodeType":864},{},[47659],{"type":899},"To learn more about our mission and technology, follow us on ",{"data":47662,"content":47664,"nodeType":883},{"uri":47663},"https://www.linkedin.com/company/push-security",[47665],{"data":47666,"marks":47667,"value":47670,"nodeType":864},{},[47668,47669],{"type":1455},{"type":899},"LinkedIn",{"data":47672,"marks":47673,"value":902,"nodeType":864},{},[47674],{"type":899},{"data":47676,"content":47678,"nodeType":883},{"uri":47677},"https://twitter.com/PushSecurity",[47679],{"data":47680,"marks":47681,"value":47684,"nodeType":864},{},[47682,47683],{"type":1455},{"type":899},"X",{"data":47686,"marks":47687,"value":2924,"nodeType":864},{},[47688],{"type":899},{"data":47690,"content":47691,"nodeType":860},{},[47692,47695,47704],{"data":47693,"marks":47694,"value":21,"nodeType":864},{},[],{"data":47696,"content":47698,"nodeType":883},{"uri":47697},"https://pushsecurity.com/news/push-security-secures-30-million-series-b-funding",[47699],{"data":47700,"marks":47701,"value":47703,"nodeType":864},{},[47702],{"type":899},"Find out more in the press release. ",{"data":47705,"marks":47706,"value":21,"nodeType":864},{},[],{"data":47708,"content":47712,"nodeType":996},{"target":47709},{"sys":47710},{"id":47711,"type":1001,"linkType":1002},"2gUjr6XIcEDVEqZtxG71aV",[],{"data":47714,"content":47715,"nodeType":860},{},[47716],{"data":47717,"marks":47718,"value":21,"nodeType":864},{},[],{"entries":47720},{"hyperlink":47721,"inline":47722,"block":47723},[],[],[47724,47733,47738],{"sys":47725,"__typename":47726,"title":47727,"youTubeUrl":47728,"imagePlaceholder":47729},{"id":47310},"ExternalVideo","Series B Announcement","https://www.youtube.com/watch?v=7We4UBSq4NE",{"url":47730,"width":47731,"height":47732},"https://images.ctfassets.net/y1cdw1ablpvd/1R9erAyDgxQY8ghSXp8WaD/93bc15863b4ce6e6abecdf22d2eeb832/Social_graphic__5_.png",1200,630,{"sys":47734,"__typename":1717,"type":1718,"ctaText":47735,"buttonLabel":47736,"buttonColour":33488,"buttonUrl":47737},{"id":47456},"Learn about the features we shipped last year that our customers loved the most","Read the Blog","https://pushsecurity.com/blog/push-features-2024/",{"sys":47739,"__typename":1717,"type":1718,"ctaText":47740,"buttonLabel":47741,"buttonColour":1721,"buttonUrl":5642},{"id":47711},"Book a demo with our team for a guided tour of our browser-based identity threat detection and response platform","Book a Demo",{"items":47743},[],{},"Announcing Push Security's Series B Funding",{"url":47730},"company-news","2025-04-24T00:00:00.000Z",{"items":47750},[47751,48938],{"__typename":2059,"sys":47752,"content":47754,"title":48924,"synopsis":48925,"hashTags":59,"publishedDate":48926,"slug":48927,"tagsCollection":48928,"authorsCollection":48934},{"id":47753},"5KqYY7p174lSpuinfTfEZU",{"json":47755},{"data":47756,"content":47757,"nodeType":856},{},[47758,47765,47820,47827,47830,47837,47844,47877,47889,47892,47899,47909,47916,47936,47942,47962,47969,47980,48001,48021,48028,48047,48053,48073,48076,48083,48090,48097,48117,48135,48142,48162,48169,48176,48201,48208,48228,48249,48255,48262,48281,48284,48291,48308,48327,48334,48387,48394,48397,48404,48411,48430,48450,48457,48464,48471,48490,48497,48504,48509,48515,48518,48525,48532,48539,48559,48569,48588,48595,48602,48612,48619,48626,48646,48652,48655,48662,48669,48676,48747,48754,48761,48768,48776,48797,48804,48810,48821,48842,48849,48857,48876,48883,48890,48896,48899,48906],{"data":47759,"content":47760,"nodeType":860},{},[47761],{"data":47762,"marks":47763,"value":47764,"nodeType":864},{},[],"From massive breaches like the Snowflake incident to novel phishing techniques documented by Push researchers, 2024 was the year that identity attacks left their mark. Looking back over what we saw in the wild and what we found through Push’s own research, three key themes stand out:",{"data":47766,"content":47767,"nodeType":941},{},[47768,47787,47797],{"data":47769,"content":47770,"nodeType":945},{},[47771],{"data":47772,"content":47773,"nodeType":860},{},[47774,47778,47783],{"data":47775,"marks":47776,"value":47777,"nodeType":864},{},[],"Account takeover techniques on cloud apps are fundamentally different from traditional network-based attacks. To have the best chance of preventing account takeover, defenders need to  disrupt attacks ",{"data":47779,"marks":47780,"value":47782,"nodeType":864},{},[47781],{"type":2246},"before",{"data":47784,"marks":47785,"value":47786,"nodeType":864},{},[]," they’re successful.",{"data":47788,"content":47789,"nodeType":945},{},[47790],{"data":47791,"content":47792,"nodeType":860},{},[47793],{"data":47794,"marks":47795,"value":47796,"nodeType":864},{},[],"It’s not easy or practical to maintain 100 percent compliance on identity posture standards in a world where employees are using and signing up to apps outside of IT oversight — but it is possible to make this work a lot easier by using tools that help you scale your remediation activities.",{"data":47798,"content":47799,"nodeType":945},{},[47800],{"data":47801,"content":47802,"nodeType":860},{},[47803,47807,47816],{"data":47804,"marks":47805,"value":47806,"nodeType":864},{},[],"Despite another year where cybersecurity spend increased (now up to almost $1,100 per user, according to ",{"data":47808,"content":47810,"nodeType":883},{"uri":47809},"https://www.forrester.com/report/2024-cybersecurity-benchmarks-global/RES181118",[47811],{"data":47812,"marks":47813,"value":47815,"nodeType":864},{},[47814],{"type":1455},"Forrester",{"data":47817,"marks":47818,"value":47819,"nodeType":864},{},[],"), existing approaches are not successfully preventing account takeovers. Security teams need to be able to detect and respond to these attacks where they happen: The browser.",{"data":47821,"content":47822,"nodeType":860},{},[47823],{"data":47824,"marks":47825,"value":47826,"nodeType":864},{},[],"In this article, we’ll take a look back at how these themes influenced key features we delivered for Push customers in 2024.",{"data":47828,"content":47829,"nodeType":1005},{},[],{"data":47831,"content":47832,"nodeType":1009},{},[47833],{"data":47834,"marks":47835,"value":47836,"nodeType":864},{},[],"Defending against modern phishing attacks",{"data":47838,"content":47839,"nodeType":860},{},[47840],{"data":47841,"marks":47842,"value":47843,"nodeType":864},{},[],"Phishing techniques that bypass MFA are now the norm, and few organizations have successfully achieved full coverage of phishing-resistant MFA methods. ",{"data":47845,"content":47846,"nodeType":860},{},[47847,47851,47860,47864,47873],{"data":47848,"marks":47849,"value":47850,"nodeType":864},{},[],"Equally, while phishing attacks via email remain the most commonly reported vector, phishing attacks increasingly target users outside of email. For example, phishing links are often encountered through normal internet use — such as ",{"data":47852,"content":47854,"nodeType":883},{"uri":47853},"https://www.bleepingcomputer.com/news/security/hackers-use-google-search-ads-to-steal-google-ads-accounts/",[47855],{"data":47856,"marks":47857,"value":47859,"nodeType":864},{},[47858],{"type":1455},"in malicious Google ads",{"data":47861,"marks":47862,"value":47863,"nodeType":864},{},[]," — and attackers frequently conduct their campaigns over IM platforms like Slack and Teams. Late last year there was ",{"data":47865,"content":47867,"nodeType":883},{"uri":47866},"https://www.linkedin.com/posts/kevin-beaumont-security_ive-been-assisting-a-few-orgs-hit-with-successful-activity-7268055739116445701-xxjZ?utm_source=share&utm_medium=member_desktop",[47868],{"data":47869,"marks":47870,"value":47872,"nodeType":864},{},[47871],{"type":1455},"a rise in attackers inundating users with spam via Teams",{"data":47874,"marks":47875,"value":47876,"nodeType":864},{},[],", combined with phone scams posing as IT admins. Since anti-phishing controls are usually email-based, they fail to protect users from attacks taking place elsewhere. ",{"data":47878,"content":47879,"nodeType":860},{},[47880,47884],{"data":47881,"marks":47882,"value":47883,"nodeType":864},{},[],"At Push, we’ve built a suite of anti-phishing features over the last year that act as a defense-in-depth approach to the types of modern phishing techniques we’ve been observing in the wild. ",{"data":47885,"marks":47886,"value":47888,"nodeType":864},{},[47887],{"type":899},"Here’s what we built and why.",{"data":47890,"content":47891,"nodeType":1005},{},[],{"data":47893,"content":47894,"nodeType":1009},{},[47895],{"data":47896,"marks":47897,"value":47898,"nodeType":864},{},[],"Protecting passwords used for SSO",{"data":47900,"content":47901,"nodeType":1312},{},[47902,47906],{"data":47903,"marks":47904,"value":34943,"nodeType":864},{},[47905],{"type":899},{"data":47907,"marks":47908,"value":1171,"nodeType":864},{},[],{"data":47910,"content":47911,"nodeType":860},{},[47912],{"data":47913,"marks":47914,"value":47915,"nodeType":864},{},[],"Attackers explicitly targeted Okta, Entra, and Google Workspace accounts in 2023 and 2024, so we knew a top priority would be protecting identity provider accounts. These IdP accounts are a key target because they allow attackers to move laterally to other valuable apps and data via SSO following the initial account takeover.",{"data":47917,"content":47918,"nodeType":860},{},[47919,47923,47932],{"data":47920,"marks":47921,"value":47922,"nodeType":864},{},[],"It’s not just the typical IdPs you need to watch out for, either: Apps like GitHub, Slack, Salesforce, Facebook, X, and others all provide SSO functionality, increasing the blast radius of a compromise. And as we reported in ",{"data":47924,"content":47926,"nodeType":883},{"uri":47925},"https://pushsecurity.com/blog/cross-idp-impersonation/",[47927],{"data":47928,"marks":47929,"value":47931,"nodeType":864},{},[47930],{"type":1455},"our research on cross-IdP impersonation",{"data":47933,"marks":47934,"value":47935,"nodeType":864},{},[],", apps can be accessed using multiple SSO methods simultaneously — and 3 in 5 apps that we tested recently did not require re-verification by default when adding a new login method.",{"data":47937,"content":47941,"nodeType":996},{"target":47938},{"sys":47939},{"id":47940,"type":1001,"linkType":1002},"3EOOr4dVQoiPjl2ucUs1mA",[],{"data":47943,"content":47944,"nodeType":860},{},[47945,47949,47958],{"data":47946,"marks":47947,"value":47948,"nodeType":864},{},[],"Phishing is a problem that would be significantly reduced in a world without passwords. But while the ideal case is that organizations can put in place phishing-resistant authentication methods like passkeys or other WebAuthn-based methods, the reality is that ",{"data":47950,"content":47952,"nodeType":883},{"uri":47951},"https://www.ncsc.gov.uk/blog-post/passkeys-not-perfect-getting-better",[47953],{"data":47954,"marks":47955,"value":47957,"nodeType":864},{},[47956],{"type":1455},"it’s not a perfect solution right now",{"data":47959,"marks":47960,"value":47961,"nodeType":864},{},[]," — widespread passkey implementation is hard to achieve.",{"data":47963,"content":47964,"nodeType":860},{},[47965],{"data":47966,"marks":47967,"value":47968,"nodeType":864},{},[],"One of the key advantages of passkeys is that they are domain-bound: Meaning they can’t be used on a site with the wrong domain. So, we started thinking: What if it were possible to essentially domain-bind a password? ",{"data":47970,"content":47971,"nodeType":1312},{},[47972,47977],{"data":47973,"marks":47974,"value":47976,"nodeType":864},{},[47975],{"type":899},"What we built",{"data":47978,"marks":47979,"value":1171,"nodeType":864},{},[],{"data":47981,"content":47982,"nodeType":860},{},[47983,47987,47997],{"data":47984,"marks":47985,"value":47986,"nodeType":864},{},[],"In the first half of 2024, we delivered our ",{"data":47988,"content":47990,"nodeType":883},{"uri":47989},"https://pushsecurity.com/blog/introducing-sso-password-protection/",[47991],{"data":47992,"marks":47993,"value":47996,"nodeType":864},{},[47994,47995],{"type":1455},{"type":899},"SSO password protection",{"data":47998,"marks":47999,"value":48000,"nodeType":864},{},[]," feature, which allows Push administrators to block employees from entering their IdP password into any site that’s not the identity provider — in effect domain-binding SSO credentials. ",{"data":48002,"content":48003,"nodeType":860},{},[48004,48008,48017],{"data":48005,"marks":48006,"value":48007,"nodeType":864},{},[],"Push accomplishes this via the Push browser agent, which ",{"data":48009,"content":48011,"nodeType":883},{"uri":48010},"https://pushsecurity.com/help/10109/#how-does-sso-password-protection-work",[48012],{"data":48013,"marks":48014,"value":48016,"nodeType":864},{},[48015],{"type":1455},"observes and fingerprints",{"data":48018,"marks":48019,"value":48020,"nodeType":864},{},[]," the user’s SSO password and legitimate SSO login pages, and then enforces in-browser controls to prevent an SSO password from being submitted on any URL that doesn’t match the legitimate provider, an extremely strong anti-phishing protection. Separately, Push also verifies that passwords it observes are not easily guessable.",{"data":48022,"content":48023,"nodeType":860},{},[48024],{"data":48025,"marks":48026,"value":48027,"nodeType":864},{},[],"The idea behind this approach is to gain some similar benefits to passkeys — by ensuring that passwords used for SSO access to your apps cannot be phished and are unique and strong — but in a way that “just works” with existing password-based authentication. ",{"data":48029,"content":48030,"nodeType":860},{},[48031,48035,48043],{"data":48032,"marks":48033,"value":48034,"nodeType":864},{},[],"Organizations that monitor for SSO password reuse will find that the practice turns out to be incredibly widespread, so being able to detect and prevent password reuse — even outside of actual phishing attempts — is an asset to security teams. (Our ",{"data":48036,"content":48037,"nodeType":883},{"uri":15980},[48038],{"data":48039,"marks":48040,"value":48042,"nodeType":864},{},[48041],{"type":1455},"research shows",{"data":48044,"marks":48045,"value":48046,"nodeType":864},{},[]," that 10% of IdP accounts are using a password that is shared with another app — where it is much more likely to be compromised.) ",{"data":48048,"content":48052,"nodeType":996},{"target":48049},{"sys":48050},{"id":48051,"type":1001,"linkType":1002},"4Ce999wf4mqCZwu1jLofsx",[],{"data":48054,"content":48055,"nodeType":860},{},[48056,48060,48069],{"data":48057,"marks":48058,"value":48059,"nodeType":864},{},[],"By streaming events to your SIEM and setting up a simple automation, you can also use Push-supplied intelligence on SSO password reuse to ",{"data":48061,"content":48063,"nodeType":883},{"uri":48062},"https://pushsecurity.com/blog/automating-sso-password-resets-using-push/",[48064],{"data":48065,"marks":48066,"value":48068,"nodeType":864},{},[48067],{"type":1455},"automatically reset",{"data":48070,"marks":48071,"value":48072,"nodeType":864},{},[]," potentially compromised passwords — this provides instant response to successful phishing and gets rid of password re-use of your most sensitive credentials in one move - the kind of combo we love!",{"data":48074,"content":48075,"nodeType":1005},{},[],{"data":48077,"content":48078,"nodeType":1009},{},[48079],{"data":48080,"marks":48081,"value":48082,"nodeType":864},{},[],"Blocking AitM phishing and cloned login pages",{"data":48084,"content":48085,"nodeType":1312},{},[48086],{"data":48087,"marks":48088,"value":34943,"nodeType":864},{},[48089],{"type":899},{"data":48091,"content":48092,"nodeType":860},{},[48093],{"data":48094,"marks":48095,"value":48096,"nodeType":864},{},[],"When you’re able to detect SSO passwords being used in all the wrong places, it’s not surprising that one of the main offenders is phishing attacks. ",{"data":48098,"content":48099,"nodeType":860},{},[48100,48104,48113],{"data":48101,"marks":48102,"value":48103,"nodeType":864},{},[],"In 2024, we wrote extensively about the rise in ",{"data":48105,"content":48107,"nodeType":883},{"uri":48106},"https://pushsecurity.com/blog/phishing-2-0-how-phishing-toolkits-are-evolving-with-aitm/",[48108],{"data":48109,"marks":48110,"value":48112,"nodeType":864},{},[48111],{"type":1455},"modern phishing attacks",{"data":48114,"marks":48115,"value":48116,"nodeType":864},{},[]," that use adversary-in-the middle toolkits (AiTM), including EvilNoVNC, Evilginx, and others.",{"data":48118,"content":48119,"nodeType":860},{},[48120,48124,48132],{"data":48121,"marks":48122,"value":48123,"nodeType":864},{},[],"AiTM phishing is a newer variant of phishing that allows attackers to bypass MFA protection by using tools that act as a proxy between the end-user and a legitimate login portal. AitM attacks increased 146% in 2023 (",{"data":48125,"content":48127,"nodeType":883},{"uri":48126},"https://cdn-dynmedia-1.microsoft.com/is/content/microsoftcorp/microsoft/final/en-us/microsoft-brand/documents/Microsoft%20Digital%20Defense%20Report%202024%20%281%29.pdf",[48128],{"data":48129,"marks":48130,"value":23700,"nodeType":864},{},[48131],{"type":1455},{"data":48133,"marks":48134,"value":22438,"nodeType":864},{},[],{"data":48136,"content":48137,"nodeType":860},{},[48138],{"data":48139,"marks":48140,"value":48141,"nodeType":864},{},[],"This trend in tradecraft was reflected in our own customer base last year, but what’s interesting is that we observed a lot of phish kits and tactics that were new — meaning traditional detections failed to find them before Push did. ",{"data":48143,"content":48144,"nodeType":860},{},[48145,48149,48158],{"data":48146,"marks":48147,"value":48148,"nodeType":864},{},[],"In particular, we saw newer ",{"data":48150,"content":48152,"nodeType":883},{"uri":48151},"https://pushsecurity.com/blog/how-aitm-phishing-kits-evade-detection/",[48153],{"data":48154,"marks":48155,"value":48157,"nodeType":864},{},[48156],{"type":1455},"web-based obfuscation techniques",{"data":48159,"marks":48160,"value":48161,"nodeType":864},{},[]," that allowed attackers to get past the features of email security tools like web gateways and email scanning appliances, such as bypassing web sandbox analysis, and deter other forms of automated investigation by using Cloudflare Turnstile and other tactics — similar to the approaches legit websites use to protect against automated bots (this is essentially the same problem for both).",{"data":48163,"content":48164,"nodeType":860},{},[48165],{"data":48166,"marks":48167,"value":48168,"nodeType":864},{},[],"The gap in existing controls was obvious: When all phishing routes eventually lead to the browser, security teams need to be able to detect and respond in the browser. To do this well they need to observe what the employee sees, not what loads in a sandbox.",{"data":48170,"content":48171,"nodeType":1312},{},[48172],{"data":48173,"marks":48174,"value":47976,"nodeType":864},{},[48175],{"type":899},{"data":48177,"content":48178,"nodeType":860},{},[48179,48183,48193,48198],{"data":48180,"marks":48181,"value":48182,"nodeType":864},{},[],"To address this gap, we released new capabilities for the Push browser agent to be able to ",{"data":48184,"content":48186,"nodeType":883},{"uri":48185},"https://pushsecurity.com/blog/introducing-aitm-phishing-toolkit-detection-powered-by-the-push-browser/",[48187],{"data":48188,"marks":48189,"value":48192,"nodeType":864},{},[48190,48191],{"type":1455},{"type":899},"detect and block",{"data":48194,"marks":48195,"value":48197,"nodeType":864},{},[48196],{"type":899}," when a site is running AiTM phishing toolkits",{"data":48199,"marks":48200,"value":12252,"nodeType":864},{},[],{"data":48202,"content":48203,"nodeType":860},{},[48204],{"data":48205,"marks":48206,"value":48207,"nodeType":864},{},[],"Push does this via a set of readymade detections for common AiTM tools. By dynamically analyzing the behavior of malware in the browser, the Push browser agent can find indicators of compromise beyond just domains, file names, IP addresses, etc., focusing instead on behavioral attributes, such as Javascript calls being made or data structures saved to local storage.",{"data":48209,"content":48210,"nodeType":860},{},[48211,48215,48224],{"data":48212,"marks":48213,"value":48214,"nodeType":864},{},[],"This approach of focusing on the top of the ",{"data":48216,"content":48218,"nodeType":883},{"uri":48217},"https://pushsecurity.com/blog/our-design-philosophy-detecting-what-matters/#id-building-effective-identity-threat-detection-controls_id-scenario-detecting-a-web-based-phishing-attack",[48219],{"data":48220,"marks":48221,"value":48223,"nodeType":864},{},[48222],{"type":1455},"Pyramid of Pain",{"data":48225,"marks":48226,"value":48227,"nodeType":864},{},[]," — e.g. building detections for attributes of an attack that are the hardest for attackers to change, and therefore the most reliably accurate — is core to Push’s design philosophy. ",{"data":48229,"content":48230,"nodeType":860},{},[48231,48235,48245],{"data":48232,"marks":48233,"value":48234,"nodeType":864},{},[],"Finally, toward the second half of the year, we released ",{"data":48236,"content":48238,"nodeType":883},{"uri":48237},"https://pushsecurity.com/blog/introducing-cloned-login-page-detection/",[48239],{"data":48240,"marks":48241,"value":48244,"nodeType":864},{},[48242,48243],{"type":1455},{"type":899},"cloned login page detection",{"data":48246,"marks":48247,"value":48248,"nodeType":864},{},[],", a natural extension of our layered approach to preventing phishing attacks in the browser. With this security control, you can identify malicious webpages that are masquerading as legitimate IdP login portals. ",{"data":48250,"content":48254,"nodeType":996},{"target":48251},{"sys":48252},{"id":48253,"type":1001,"linkType":1002},"4y25OxesssUk9lzEx12HFa",[],{"data":48256,"content":48257,"nodeType":860},{},[48258],{"data":48259,"marks":48260,"value":48261,"nodeType":864},{},[],"When a cloned login page is detected, you can add the URL to your blocklist in Push and prevent any other employees from being targeted. ",{"data":48263,"content":48264,"nodeType":860},{},[48265,48269,48277],{"data":48266,"marks":48267,"value":48268,"nodeType":864},{},[],"By layering multiple anti-phishing controls that all prevent account takeover, defenders have the best chance at thwarting the ",{"data":48270,"content":48271,"nodeType":883},{"uri":36813},[48272],{"data":48273,"marks":48274,"value":48276,"nodeType":864},{},[48275],{"type":1455},"short, fast attack chains",{"data":48278,"marks":48279,"value":48280,"nodeType":864},{},[]," that are emblematic of today’s identity attacks.",{"data":48282,"content":48283,"nodeType":1005},{},[],{"data":48285,"content":48286,"nodeType":1009},{},[48287],{"data":48288,"marks":48289,"value":48290,"nodeType":864},{},[],"Defending against stolen sessions and stolen credentials",{"data":48292,"content":48293,"nodeType":860},{},[48294,48298,48305],{"data":48295,"marks":48296,"value":48297,"nodeType":864},{},[],"With as little as $10 to buy a stolen password and a little skill, attackers capitalized on the use of stolen credentials last year. Stolen creds were the No. 1 attacker action in 2023 and 2024, according to ",{"data":48299,"content":48300,"nodeType":883},{"uri":4408},[48301],{"data":48302,"marks":48303,"value":27246,"nodeType":864},{},[48304],{"type":1455},{"data":48306,"marks":48307,"value":2924,"nodeType":864},{},[],{"data":48309,"content":48310,"nodeType":860},{},[48311,48315,48323],{"data":48312,"marks":48313,"value":48314,"nodeType":864},{},[],"Nowhere was this more plain than in the ",{"data":48316,"content":48317,"nodeType":883},{"uri":3751},[48318],{"data":48319,"marks":48320,"value":48322,"nodeType":864},{},[48321],{"type":1455},"attacks on Snowflake customers",{"data":48324,"marks":48325,"value":48326,"nodeType":864},{},[],", one of the biggest breaches of last year. In this incident, cyber criminals targeted around 165 customers of the cloud-based data warehouse tool Snowflake by taking over accounts using credentials harvested from infostealer infections dating as far back as 2020.",{"data":48328,"content":48329,"nodeType":860},{},[48330],{"data":48331,"marks":48332,"value":48333,"nodeType":864},{},[],"The Snowflake incident underscored the challenges of control and visibility that security teams face when attempting to secure identities on a patchwork of managed and unmanaged apps:",{"data":48335,"content":48336,"nodeType":941},{},[48337,48347,48357,48367,48377],{"data":48338,"content":48339,"nodeType":945},{},[48340],{"data":48341,"content":48342,"nodeType":860},{},[48343],{"data":48344,"marks":48345,"value":48346,"nodeType":864},{},[],"Do I know all the workforce accounts my employees use?",{"data":48348,"content":48349,"nodeType":945},{},[48350],{"data":48351,"content":48352,"nodeType":860},{},[48353],{"data":48354,"marks":48355,"value":48356,"nodeType":864},{},[],"Do those accounts have a strong security posture?",{"data":48358,"content":48359,"nodeType":945},{},[48360],{"data":48361,"content":48362,"nodeType":860},{},[48363],{"data":48364,"marks":48365,"value":48366,"nodeType":864},{},[],"Do those accounts use MFA? The most phishing-resistant methods?",{"data":48368,"content":48369,"nodeType":945},{},[48370],{"data":48371,"content":48372,"nodeType":860},{},[48373],{"data":48374,"marks":48375,"value":48376,"nodeType":864},{},[],"Do I have tools to detect, respond, and remediate after an account takeover or breach of a critical software vendor?",{"data":48378,"content":48379,"nodeType":945},{},[48380],{"data":48381,"content":48382,"nodeType":860},{},[48383],{"data":48384,"marks":48385,"value":48386,"nodeType":864},{},[],"Do I know when a session has been stolen, pointing to a device compromised by infostealer malware?",{"data":48388,"content":48389,"nodeType":860},{},[48390],{"data":48391,"marks":48392,"value":48393,"nodeType":864},{},[],"Here’s what we delivered last year to make it easier for security teams to protect their organizations from the threat of stolen sessions and stolen creds.",{"data":48395,"content":48396,"nodeType":1005},{},[],{"data":48398,"content":48399,"nodeType":1009},{},[48400],{"data":48401,"marks":48402,"value":48403,"nodeType":864},{},[],"Detecting stolen sessions",{"data":48405,"content":48406,"nodeType":1312},{},[48407],{"data":48408,"marks":48409,"value":34943,"nodeType":864},{},[48410],{"type":899},{"data":48412,"content":48413,"nodeType":860},{},[48414,48417,48426],{"data":48415,"marks":48416,"value":21,"nodeType":864},{},[],{"data":48418,"content":48420,"nodeType":883},{"uri":48419},"https://pushsecurity.com/blog/what-the-rise-of-infostealers-says-about-identity-attacks/",[48421],{"data":48422,"marks":48423,"value":48425,"nodeType":864},{},[48424],{"type":1455},"Infostealer malware",{"data":48427,"marks":48428,"value":48429,"nodeType":864},{},[]," — a type of malware designed to collect user credentials, including session cookies, from end-user devices — had a very successful 2024, accounting for nearly 10 percent of activity that Red Canary was able to associate with named threats, and the majority of all detected malware that Sophos threat researchers documented last year.",{"data":48431,"content":48432,"nodeType":860},{},[48433,48437,48446],{"data":48434,"marks":48435,"value":48436,"nodeType":864},{},[],"While the use of stolen credentials is rampant, often facilitated by successful infostealer campaigns, a related attack type also ",{"data":48438,"content":48440,"nodeType":883},{"uri":48439},"https://pushsecurity.com/blog/what-the-rise-of-infostealers-says-about-identity-attacks/#id-the-state-of-infostealers-today",[48441],{"data":48442,"marks":48443,"value":48445,"nodeType":864},{},[48444],{"type":1455},"jumped in prevalence",{"data":48447,"marks":48448,"value":48449,"nodeType":864},{},[]," last year: session token theft attacks.",{"data":48451,"content":48452,"nodeType":860},{},[48453],{"data":48454,"marks":48455,"value":48456,"nodeType":864},{},[],"Using stolen tokens, adversaries don’t need to bypass MFA directly. They can simply import the tokens into their browser and assume an already authorized session. ",{"data":48458,"content":48459,"nodeType":1312},{},[48460],{"data":48461,"marks":48462,"value":47976,"nodeType":864},{},[48463],{"type":899},{"data":48465,"content":48466,"nodeType":860},{},[48467],{"data":48468,"marks":48469,"value":48470,"nodeType":864},{},[],"In order to detect a stolen session in use, you need telemetry that allows you to tie activity to a trusted endpoint. This didn’t previously exist, and you have to be in the browser to do it. So that’s what we built. ",{"data":48472,"content":48473,"nodeType":860},{},[48474,48477,48486],{"data":48475,"marks":48476,"value":1238,"nodeType":864},{},[],{"data":48478,"content":48479,"nodeType":883},{"uri":34857},[48480],{"data":48481,"marks":48482,"value":48485,"nodeType":864},{},[48483,48484],{"type":1455},{"type":899},"session theft detection",{"data":48487,"marks":48488,"value":48489,"nodeType":864},{},[]," capability uses the power of the Push browser extension to inject a unique marker into the user-agent string of sessions that occur in browsers enrolled in Push. ",{"data":48491,"content":48492,"nodeType":860},{},[48493],{"data":48494,"marks":48495,"value":48496,"nodeType":864},{},[],"By analyzing logs from your IdP in your SIEM, you can then identify activity from the same session that both has and that lacks the Push marker, indicating that a session has been extracted from the browser and maliciously imported into a different browser that is not enrolled in Push.",{"data":48498,"content":48499,"nodeType":860},{},[48500],{"data":48501,"marks":48502,"value":48503,"nodeType":864},{},[],"This is a reliable signal that a stolen session token is being used and an endpoint has been compromised.",{"data":48505,"content":48508,"nodeType":996},{"target":48506},{"sys":48507},{"id":43965,"type":1001,"linkType":1002},[],{"data":48510,"content":48514,"nodeType":996},{"target":48511},{"sys":48512},{"id":48513,"type":1001,"linkType":1002},"6dOEnPzZXd9DqeSdalqlzO",[],{"data":48516,"content":48517,"nodeType":1005},{},[],{"data":48519,"content":48520,"nodeType":1009},{},[48521],{"data":48522,"marks":48523,"value":48524,"nodeType":864},{},[],"Detecting compromised credentials",{"data":48526,"content":48527,"nodeType":1312},{},[48528],{"data":48529,"marks":48530,"value":34943,"nodeType":864},{},[48531],{"type":899},{"data":48533,"content":48534,"nodeType":860},{},[48535],{"data":48536,"marks":48537,"value":48538,"nodeType":864},{},[],"Alongside stolen session cookies, stolen credentials made a lot of headlines last year. The 2024 Verizon DBIR found that 79% of web application compromises were the result of breached creds, and researchers at IBM found a 71% year-over-year increase in cyberattacks using stolen or compromised credentials.",{"data":48540,"content":48541,"nodeType":860},{},[48542,48546,48555],{"data":48543,"marks":48544,"value":48545,"nodeType":864},{},[],"In Push’s own research, we counted ",{"data":48547,"content":48549,"nodeType":883},{"uri":48548},"https://pushsecurity.com/blog/2024-identity-breaches/",[48550],{"data":48551,"marks":48552,"value":48554,"nodeType":864},{},[48553],{"type":1455},"30 public identity-related breaches",{"data":48556,"marks":48557,"value":48558,"nodeType":864},{},[]," in 2024 where the breach and the breach vector were disclosed. Of those, nearly three-quarters were the result of compromised credentials, including notable breaches such as Microsoft, Change Healthcare, and the attacks on Snowflake customers.",{"data":48560,"content":48561,"nodeType":1116},{},[48562],{"data":48563,"content":48564,"nodeType":860},{},[48565],{"data":48566,"marks":48567,"value":48568,"nodeType":864},{},[],"73% of public identity-related breaches in 2024 were the result of compromised credentials (the rest were phishing attacks). ",{"data":48570,"content":48571,"nodeType":860},{},[48572,48576,48584],{"data":48573,"marks":48574,"value":48575,"nodeType":864},{},[],"The influx of compromised credentials has been amplified by the ",{"data":48577,"content":48578,"nodeType":883},{"uri":48419},[48579],{"data":48580,"marks":48581,"value":48583,"nodeType":864},{},[48582],{"type":1455},"rise of infostealers",{"data":48585,"marks":48586,"value":48587,"nodeType":864},{},[],", which contribute the vast majority of valid stolen credentials, alongside mass credential phishing campaigns and third-party data breach dumps. ",{"data":48589,"content":48590,"nodeType":860},{},[48591],{"data":48592,"marks":48593,"value":48594,"nodeType":864},{},[],"And while there’s no shortage of threat intelligence about stolen credentials for sale on the web, security teams struggle to separate the needle from the haystack because a large portion of TI on stolen creds is out of date.",{"data":48596,"content":48597,"nodeType":860},{},[48598],{"data":48599,"marks":48600,"value":48601,"nodeType":864},{},[],"In evaluating TI data here at Push, we reviewed 5,763 username and password combos that matched domains in use by Push customers. We found that less than 1% of the creds in a multi-vendor dataset were true positives. In other words, 99.5% of the stolen creds we checked were false positives at the time of review — illustrating the challenge security teams face when trying to extract actionable intelligence from this kind of data. ",{"data":48603,"content":48604,"nodeType":1116},{},[48605],{"data":48606,"content":48607,"nodeType":860},{},[48608],{"data":48609,"marks":48610,"value":48611,"nodeType":864},{},[],"99.5% of the findings in compromised credential feeds were found to be false positives.",{"data":48613,"content":48614,"nodeType":1312},{},[48615],{"data":48616,"marks":48617,"value":47976,"nodeType":864},{},[48618],{"type":899},{"data":48620,"content":48621,"nodeType":860},{},[48622],{"data":48623,"marks":48624,"value":48625,"nodeType":864},{},[],"Using its browser agent, Push assesses the strength of end-user passwords by creating and analyzing a truncated, salted SHA256 hash of the password for a given account. (These k-anonymized fingerprints are never seen by Push’s back-end and exist only in local browser extension storage.) ",{"data":48627,"content":48628,"nodeType":860},{},[48629,48633,48642],{"data":48630,"marks":48631,"value":48632,"nodeType":864},{},[],"These fingerprints give Push a directly observable source of truth for corporate creds, which allowed us to build a ",{"data":48634,"content":48635,"nodeType":883},{"uri":35369},[48636],{"data":48637,"marks":48638,"value":48641,"nodeType":864},{},[48639,48640],{"type":1455},{"type":899},"verified stolen credential detection",{"data":48643,"marks":48644,"value":48645,"nodeType":864},{},[]," capability last year that removes all false positives from TI sources to pinpoint only those stolen creds still actively in use by employees.",{"data":48647,"content":48651,"nodeType":996},{"target":48648},{"sys":48649},{"id":48650,"type":1001,"linkType":1002},"3BITHZvDadjHpOAqIn0g4w",[],{"data":48653,"content":48654,"nodeType":1005},{},[],{"data":48656,"content":48657,"nodeType":1009},{},[48658],{"data":48659,"marks":48660,"value":48661,"nodeType":864},{},[],"Reducing and securing shadow IT and account sprawl",{"data":48663,"content":48664,"nodeType":860},{},[48665],{"data":48666,"marks":48667,"value":48668,"nodeType":864},{},[],"You can think of this last part of the story as the ground from which the attack trends we’ve been talking about emerged: The shift to doing business almost entirely in the browser, and the resulting sprawl in accounts and unmanaged apps, leading to an explosion of internet-facing identities for threat actors to target.",{"data":48670,"content":48671,"nodeType":860},{},[48672],{"data":48673,"marks":48674,"value":48675,"nodeType":864},{},[],"Even in organizations with mature security practices, the challenge of getting 100% compliance with identity posture best practices is evident. Last year, Push researchers analyzed a data set of 300,000 accounts from our customer base and found that:",{"data":48677,"content":48678,"nodeType":941},{},[48679,48698,48717],{"data":48680,"content":48681,"nodeType":945},{},[48682],{"data":48683,"content":48684,"nodeType":860},{},[48685,48689,48694],{"data":48686,"marks":48687,"value":48688,"nodeType":864},{},[],"Organizations have ",{"data":48690,"marks":48691,"value":48693,"nodeType":864},{},[48692],{"type":899},"more apps and identities than they thought",{"data":48695,"marks":48696,"value":48697,"nodeType":864},{},[]," — an average of ~15 identities per employee and ~220 apps per organization.",{"data":48699,"content":48700,"nodeType":945},{},[48701],{"data":48702,"content":48703,"nodeType":860},{},[48704,48708,48713],{"data":48705,"marks":48706,"value":48707,"nodeType":864},{},[],"Many accounts ",{"data":48709,"marks":48710,"value":48712,"nodeType":864},{},[48711],{"type":899},"lack basic security protections",{"data":48714,"marks":48715,"value":48716,"nodeType":864},{},[],", with 37% of accounts lacking any form of MFA and ~9% of accounts using a password that is leaked, weak, or reused, making them especially susceptible to account takeover. On accounts where password is the only login method in use (e.g. not using SSO or any other federated login like OIDC), there was no MFA in use in 4 out of 5 cases.",{"data":48718,"content":48719,"nodeType":945},{},[48720],{"data":48721,"content":48722,"nodeType":860},{},[48723,48727,48732,48736,48743],{"data":48724,"marks":48725,"value":48726,"nodeType":864},{},[],"Security ",{"data":48728,"marks":48729,"value":48731,"nodeType":864},{},[48730],{"type":899},"gaps persist even with SSO",{"data":48733,"marks":48734,"value":48735,"nodeType":864},{},[]," accounts — with 10% of SSO-using accounts also having a local password, a risk for ",{"data":48737,"content":48738,"nodeType":883},{"uri":17701},[48739],{"data":48740,"marks":48741,"value":17706,"nodeType":864},{},[48742],{"type":1455},{"data":48744,"marks":48745,"value":48746,"nodeType":864},{},[],"; and 1 in 5 IdP accounts themselves missing MFA.",{"data":48748,"content":48749,"nodeType":860},{},[48750],{"data":48751,"marks":48752,"value":48753,"nodeType":864},{},[],"From our perspective, organizations need scalable controls, and they need easy-to-deploy tools that get them visibility of all their workforce identities, apps, and accounts alongside telemetry that makes the information actionable.",{"data":48755,"content":48756,"nodeType":860},{},[48757],{"data":48758,"marks":48759,"value":48760,"nodeType":864},{},[],"Push already provides a real-time inventory of all your accounts and apps, including internal corporate apps, and analyzes the security posture, login methods, and MFA status of those accounts to offer a comprehensive picture of your identity attack surface. ",{"data":48762,"content":48763,"nodeType":860},{},[48764],{"data":48765,"marks":48766,"value":48767,"nodeType":864},{},[],"To help customers enforce their security policies even more seamlessly, here’s what we built last year:",{"data":48769,"content":48770,"nodeType":1312},{},[48771],{"data":48772,"marks":48773,"value":48775,"nodeType":864},{},[48774],{"type":899},"1. App banners",{"data":48777,"content":48778,"nodeType":860},{},[48779,48783,48793],{"data":48780,"marks":48781,"value":48782,"nodeType":864},{},[],"With a range of modes from informing to blocking, ",{"data":48784,"content":48786,"nodeType":883},{"uri":48785},"https://pushsecurity.com/help/10106#start",[48787],{"data":48788,"marks":48789,"value":48792,"nodeType":864},{},[48790,48791],{"type":1455},{"type":899},"app banners",{"data":48794,"marks":48795,"value":48796,"nodeType":864},{},[]," allow security teams to communicate best practices and policies with end-users directly in their browser. It works by displaying a banner with your custom message on the login and signup pages for workplace apps. ",{"data":48798,"content":48799,"nodeType":860},{},[48800],{"data":48801,"marks":48802,"value":48803,"nodeType":864},{},[],"Using configuration rules, you can set conditions for how banner controls get applied. Common use cases include: Restricting use of GenAI software; carving out an exception for admins on a specific app; reminding users to log in with SSO instead of a password, and others. ",{"data":48805,"content":48809,"nodeType":996},{"target":48806},{"sys":48807},{"id":48808,"type":1001,"linkType":1002},"4RPHmeMLyZmb5V8rXYLtey",[],{"data":48811,"content":48812,"nodeType":1312},{},[48813,48818],{"data":48814,"marks":48815,"value":48817,"nodeType":864},{},[48816],{"type":899},"2. Password manager identification",{"data":48819,"marks":48820,"value":1171,"nodeType":864},{},[],{"data":48822,"content":48823,"nodeType":860},{},[48824,48828,48838],{"data":48825,"marks":48826,"value":48827,"nodeType":864},{},[],"We also expanded Push’s capability to observe employees’ account security posture by adding an identification of ",{"data":48829,"content":48831,"nodeType":883},{"uri":48830},"https://pushsecurity.com/blog/stop-users-saving-corp-creds-into-personal-password-managers/",[48832],{"data":48833,"marks":48834,"value":48837,"nodeType":864},{},[48835,48836],{"type":1455},{"type":899},"which password manager",{"data":48839,"marks":48840,"value":48841,"nodeType":864},{},[]," (if any) they’re using. ",{"data":48843,"content":48844,"nodeType":860},{},[48845],{"data":48846,"marks":48847,"value":48848,"nodeType":864},{},[],"We’ve heard from many security teams that they’re concerned about corporate credentials being stored in unapproved password managers — not to mention the ROI from ensuring employees are all using the corporate password manager you already pay for. This feature helps them achieve both objectives.",{"data":48850,"content":48851,"nodeType":1312},{},[48852],{"data":48853,"marks":48854,"value":48856,"nodeType":864},{},[48855],{"type":899},"3. MFA enforcement",{"data":48858,"content":48859,"nodeType":860},{},[48860,48864,48872],{"data":48861,"marks":48862,"value":48863,"nodeType":864},{},[],"Finally, we rounded out 2024 with a new security control called ",{"data":48865,"content":48866,"nodeType":883},{"uri":35429},[48867],{"data":48868,"marks":48869,"value":28463,"nodeType":864},{},[48870,48871],{"type":1455},{"type":899},{"data":48873,"marks":48874,"value":48875,"nodeType":864},{},[]," that builds on the popular app banners concept by detecting when users lack MFA and then prompting them to register for MFA. ",{"data":48877,"content":48878,"nodeType":860},{},[48879],{"data":48880,"marks":48881,"value":48882,"nodeType":864},{},[],"Admins choose which apps they wish to enforce MFA on, and the Push extension does the rest. ",{"data":48884,"content":48885,"nodeType":860},{},[48886],{"data":48887,"marks":48888,"value":48889,"nodeType":864},{},[],"Security teams we work with are especially eager to use this feature to close MFA coverage gaps on non-SSO and otherwise unmanaged applications.",{"data":48891,"content":48895,"nodeType":996},{"target":48892},{"sys":48893},{"id":48894,"type":1001,"linkType":1002},"4imhff7SWJi2Gan5iFEs2P",[],{"data":48897,"content":48898,"nodeType":1005},{},[],{"data":48900,"content":48901,"nodeType":1009},{},[48902],{"data":48903,"marks":48904,"value":48905,"nodeType":864},{},[],"Want to see more?",{"data":48907,"content":48908,"nodeType":860},{},[48909,48913,48920],{"data":48910,"marks":48911,"value":48912,"nodeType":864},{},[],"There’s a lot we didn’t touch on here that Push can help you achieve. If you’d like to learn more, ",{"data":48914,"content":48915,"nodeType":883},{"uri":5642},[48916],{"data":48917,"marks":48918,"value":48919,"nodeType":864},{},[],"set up a demo with our team",{"data":48921,"marks":48922,"value":48923,"nodeType":864},{},[]," or sign up yourself to have a look at the platform.","How real-world attacks and research drove Push’s most popular features of 2024","How in-the-wild attacks and our own R&D inspired what we built in 2024 to stop account takeover and reduce security risks across your workforce identities. ","2025-01-16T00:00:00.000Z","push-features-2024",{"items":48929},[48930,48932],{"sys":48931,"name":342},{"id":6596},{"sys":48933,"name":297},{"id":2732},{"items":48935},[48936],{"fullName":849,"firstName":850,"jobTitle":851,"profilePicture":48937},{"url":853},{"__typename":2059,"sys":48939,"content":48940,"title":34880,"synopsis":34881,"hashTags":59,"publishedDate":34882,"slug":34883,"tagsCollection":49630,"authorsCollection":49634},{"id":34089},{"json":48941},{"data":48942,"content":48943,"nodeType":856},{},[48944,48949,48965,48971,48977,48982,48985,48992,48998,49014,49024,49030,49036,49042,49126,49129,49136,49211,49216,49219,49226,49233,49239,49245,49252,49268,49274,49281,49287,49293,49300,49306,49312,49328,49333,49336,49343,49350,49356,49445,49451,49458,49464,49470,49475,49482,49488,49494,49500,49507,49513,49519,49525,49531,49536,49539,49546,49552,49582,49588,49603,49619,49624],{"data":48945,"content":48948,"nodeType":996},{"target":48946},{"sys":48947},{"id":34098,"type":1001,"linkType":1002},[],{"data":48950,"content":48951,"nodeType":860},{},[48952,48955,48962],{"data":48953,"marks":48954,"value":34106,"nodeType":864},{},[],{"data":48956,"content":48957,"nodeType":883},{"uri":34109},[48958],{"data":48959,"marks":48960,"value":34115,"nodeType":864},{},[48961],{"type":1455},{"data":48963,"marks":48964,"value":34119,"nodeType":864},{},[],{"data":48966,"content":48967,"nodeType":860},{},[48968],{"data":48969,"marks":48970,"value":34126,"nodeType":864},{},[],{"data":48972,"content":48973,"nodeType":860},{},[48974],{"data":48975,"marks":48976,"value":34133,"nodeType":864},{},[],{"data":48978,"content":48981,"nodeType":996},{"target":48979},{"sys":48980},{"id":34138,"type":1001,"linkType":1002},[],{"data":48983,"content":48984,"nodeType":1005},{},[],{"data":48986,"content":48987,"nodeType":1009},{},[48988],{"data":48989,"marks":48990,"value":34150,"nodeType":864},{},[48991],{"type":899},{"data":48993,"content":48994,"nodeType":860},{},[48995],{"data":48996,"marks":48997,"value":34157,"nodeType":864},{},[],{"data":48999,"content":49000,"nodeType":860},{},[49001,49004,49011],{"data":49002,"marks":49003,"value":34164,"nodeType":864},{},[],{"data":49005,"content":49006,"nodeType":883},{"uri":18533},[49007],{"data":49008,"marks":49009,"value":34172,"nodeType":864},{},[49010],{"type":1455},{"data":49012,"marks":49013,"value":12252,"nodeType":864},{},[],{"data":49015,"content":49016,"nodeType":1116},{},[49017],{"data":49018,"content":49019,"nodeType":860},{},[49020],{"data":49021,"marks":49022,"value":34186,"nodeType":864},{},[49023],{"type":899},{"data":49025,"content":49026,"nodeType":860},{},[49027],{"data":49028,"marks":49029,"value":34193,"nodeType":864},{},[],{"data":49031,"content":49032,"nodeType":860},{},[49033],{"data":49034,"marks":49035,"value":34200,"nodeType":864},{},[],{"data":49037,"content":49038,"nodeType":860},{},[49039],{"data":49040,"marks":49041,"value":34207,"nodeType":864},{},[],{"data":49043,"content":49044,"nodeType":941},{},[49045,49054,49063,49072,49081,49090,49099,49108,49117],{"data":49046,"content":49047,"nodeType":945},{},[49048],{"data":49049,"content":49050,"nodeType":860},{},[49051],{"data":49052,"marks":49053,"value":34220,"nodeType":864},{},[],{"data":49055,"content":49056,"nodeType":945},{},[49057],{"data":49058,"content":49059,"nodeType":860},{},[49060],{"data":49061,"marks":49062,"value":34230,"nodeType":864},{},[],{"data":49064,"content":49065,"nodeType":945},{},[49066],{"data":49067,"content":49068,"nodeType":860},{},[49069],{"data":49070,"marks":49071,"value":34240,"nodeType":864},{},[],{"data":49073,"content":49074,"nodeType":945},{},[49075],{"data":49076,"content":49077,"nodeType":860},{},[49078],{"data":49079,"marks":49080,"value":34250,"nodeType":864},{},[],{"data":49082,"content":49083,"nodeType":945},{},[49084],{"data":49085,"content":49086,"nodeType":860},{},[49087],{"data":49088,"marks":49089,"value":34260,"nodeType":864},{},[],{"data":49091,"content":49092,"nodeType":945},{},[49093],{"data":49094,"content":49095,"nodeType":860},{},[49096],{"data":49097,"marks":49098,"value":34270,"nodeType":864},{},[],{"data":49100,"content":49101,"nodeType":945},{},[49102],{"data":49103,"content":49104,"nodeType":860},{},[49105],{"data":49106,"marks":49107,"value":34280,"nodeType":864},{},[],{"data":49109,"content":49110,"nodeType":945},{},[49111],{"data":49112,"content":49113,"nodeType":860},{},[49114],{"data":49115,"marks":49116,"value":34290,"nodeType":864},{},[],{"data":49118,"content":49119,"nodeType":945},{},[49120],{"data":49121,"content":49122,"nodeType":860},{},[49123],{"data":49124,"marks":49125,"value":34300,"nodeType":864},{},[],{"data":49127,"content":49128,"nodeType":1005},{},[],{"data":49130,"content":49131,"nodeType":1009},{},[49132],{"data":49133,"marks":49134,"value":34311,"nodeType":864},{},[49135],{"type":899},{"data":49137,"content":49138,"nodeType":941},{},[49139,49148,49157,49166,49175,49184,49193,49202],{"data":49140,"content":49141,"nodeType":945},{},[49142],{"data":49143,"content":49144,"nodeType":860},{},[49145],{"data":49146,"marks":49147,"value":34324,"nodeType":864},{},[],{"data":49149,"content":49150,"nodeType":945},{},[49151],{"data":49152,"content":49153,"nodeType":860},{},[49154],{"data":49155,"marks":49156,"value":34334,"nodeType":864},{},[],{"data":49158,"content":49159,"nodeType":945},{},[49160],{"data":49161,"content":49162,"nodeType":860},{},[49163],{"data":49164,"marks":49165,"value":34344,"nodeType":864},{},[],{"data":49167,"content":49168,"nodeType":945},{},[49169],{"data":49170,"content":49171,"nodeType":860},{},[49172],{"data":49173,"marks":49174,"value":34354,"nodeType":864},{},[],{"data":49176,"content":49177,"nodeType":945},{},[49178],{"data":49179,"content":49180,"nodeType":860},{},[49181],{"data":49182,"marks":49183,"value":34364,"nodeType":864},{},[],{"data":49185,"content":49186,"nodeType":945},{},[49187],{"data":49188,"content":49189,"nodeType":860},{},[49190],{"data":49191,"marks":49192,"value":34374,"nodeType":864},{},[],{"data":49194,"content":49195,"nodeType":945},{},[49196],{"data":49197,"content":49198,"nodeType":860},{},[49199],{"data":49200,"marks":49201,"value":34384,"nodeType":864},{},[],{"data":49203,"content":49204,"nodeType":945},{},[49205],{"data":49206,"content":49207,"nodeType":860},{},[49208],{"data":49209,"marks":49210,"value":34394,"nodeType":864},{},[],{"data":49212,"content":49215,"nodeType":996},{"target":49213},{"sys":49214},{"id":34399,"type":1001,"linkType":1002},[],{"data":49217,"content":49218,"nodeType":1005},{},[],{"data":49220,"content":49221,"nodeType":1009},{},[49222],{"data":49223,"marks":49224,"value":34411,"nodeType":864},{},[49225],{"type":899},{"data":49227,"content":49228,"nodeType":1312},{},[49229],{"data":49230,"marks":49231,"value":34419,"nodeType":864},{},[49232],{"type":899},{"data":49234,"content":49235,"nodeType":860},{},[49236],{"data":49237,"marks":49238,"value":34426,"nodeType":864},{},[],{"data":49240,"content":49241,"nodeType":860},{},[49242],{"data":49243,"marks":49244,"value":34433,"nodeType":864},{},[],{"data":49246,"content":49247,"nodeType":1312},{},[49248],{"data":49249,"marks":49250,"value":34441,"nodeType":864},{},[49251],{"type":899},{"data":49253,"content":49254,"nodeType":860},{},[49255,49258,49265],{"data":49256,"marks":49257,"value":34448,"nodeType":864},{},[],{"data":49259,"content":49260,"nodeType":883},{"uri":17701},[49261],{"data":49262,"marks":49263,"value":17706,"nodeType":864},{},[49264],{"type":1455},{"data":49266,"marks":49267,"value":12252,"nodeType":864},{},[],{"data":49269,"content":49270,"nodeType":860},{},[49271],{"data":49272,"marks":49273,"value":34465,"nodeType":864},{},[],{"data":49275,"content":49276,"nodeType":1312},{},[49277],{"data":49278,"marks":49279,"value":34473,"nodeType":864},{},[49280],{"type":899},{"data":49282,"content":49283,"nodeType":860},{},[49284],{"data":49285,"marks":49286,"value":34480,"nodeType":864},{},[],{"data":49288,"content":49289,"nodeType":860},{},[49290],{"data":49291,"marks":49292,"value":34487,"nodeType":864},{},[],{"data":49294,"content":49295,"nodeType":1312},{},[49296],{"data":49297,"marks":49298,"value":34495,"nodeType":864},{},[49299],{"type":899},{"data":49301,"content":49302,"nodeType":860},{},[49303],{"data":49304,"marks":49305,"value":34502,"nodeType":864},{},[],{"data":49307,"content":49308,"nodeType":860},{},[49309],{"data":49310,"marks":49311,"value":34509,"nodeType":864},{},[],{"data":49313,"content":49314,"nodeType":860},{},[49315,49318,49325],{"data":49316,"marks":49317,"value":34516,"nodeType":864},{},[],{"data":49319,"content":49320,"nodeType":883},{"uri":34519},[49321],{"data":49322,"marks":49323,"value":34525,"nodeType":864},{},[49324],{"type":1455},{"data":49326,"marks":49327,"value":34529,"nodeType":864},{},[],{"data":49329,"content":49332,"nodeType":996},{"target":49330},{"sys":49331},{"id":34534,"type":1001,"linkType":1002},[],{"data":49334,"content":49335,"nodeType":1005},{},[],{"data":49337,"content":49338,"nodeType":1009},{},[49339],{"data":49340,"marks":49341,"value":34546,"nodeType":864},{},[49342],{"type":899},{"data":49344,"content":49345,"nodeType":1312},{},[49346],{"data":49347,"marks":49348,"value":34554,"nodeType":864},{},[49349],{"type":899},{"data":49351,"content":49352,"nodeType":860},{},[49353],{"data":49354,"marks":49355,"value":34561,"nodeType":864},{},[],{"data":49357,"content":49358,"nodeType":941},{},[49359,49378,49397,49426],{"data":49360,"content":49361,"nodeType":945},{},[49362],{"data":49363,"content":49364,"nodeType":860},{},[49365,49368,49375],{"data":49366,"marks":49367,"value":34574,"nodeType":864},{},[],{"data":49369,"content":49370,"nodeType":883},{"uri":34577},[49371],{"data":49372,"marks":49373,"value":34583,"nodeType":864},{},[49374],{"type":1455},{"data":49376,"marks":49377,"value":34587,"nodeType":864},{},[],{"data":49379,"content":49380,"nodeType":945},{},[49381],{"data":49382,"content":49383,"nodeType":860},{},[49384,49387,49394],{"data":49385,"marks":49386,"value":34597,"nodeType":864},{},[],{"data":49388,"content":49389,"nodeType":883},{"uri":15980},[49390],{"data":49391,"marks":49392,"value":34605,"nodeType":864},{},[49393],{"type":1455},{"data":49395,"marks":49396,"value":2924,"nodeType":864},{},[],{"data":49398,"content":49399,"nodeType":945},{},[49400],{"data":49401,"content":49402,"nodeType":860},{},[49403,49406,49413,49416,49423],{"data":49404,"marks":49405,"value":34618,"nodeType":864},{},[],{"data":49407,"content":49408,"nodeType":883},{"uri":17701},[49409],{"data":49410,"marks":49411,"value":34626,"nodeType":864},{},[49412],{"type":1455},{"data":49414,"marks":49415,"value":34630,"nodeType":864},{},[],{"data":49417,"content":49418,"nodeType":883},{"uri":34633},[49419],{"data":49420,"marks":49421,"value":34639,"nodeType":864},{},[49422],{"type":1455},{"data":49424,"marks":49425,"value":34643,"nodeType":864},{},[],{"data":49427,"content":49428,"nodeType":945},{},[49429],{"data":49430,"content":49431,"nodeType":860},{},[49432,49435,49442],{"data":49433,"marks":49434,"value":34653,"nodeType":864},{},[],{"data":49436,"content":49437,"nodeType":883},{"uri":15980},[49438],{"data":49439,"marks":49440,"value":34661,"nodeType":864},{},[49441],{"type":1455},{"data":49443,"marks":49444,"value":34665,"nodeType":864},{},[],{"data":49446,"content":49447,"nodeType":860},{},[49448],{"data":49449,"marks":49450,"value":34672,"nodeType":864},{},[],{"data":49452,"content":49453,"nodeType":1312},{},[49454],{"data":49455,"marks":49456,"value":34680,"nodeType":864},{},[49457],{"type":899},{"data":49459,"content":49460,"nodeType":860},{},[49461],{"data":49462,"marks":49463,"value":34687,"nodeType":864},{},[],{"data":49465,"content":49466,"nodeType":860},{},[49467],{"data":49468,"marks":49469,"value":34694,"nodeType":864},{},[],{"data":49471,"content":49474,"nodeType":996},{"target":49472},{"sys":49473},{"id":34699,"type":1001,"linkType":1002},[],{"data":49476,"content":49477,"nodeType":1312},{},[49478],{"data":49479,"marks":49480,"value":34708,"nodeType":864},{},[49481],{"type":899},{"data":49483,"content":49484,"nodeType":860},{},[49485],{"data":49486,"marks":49487,"value":34715,"nodeType":864},{},[],{"data":49489,"content":49490,"nodeType":860},{},[49491],{"data":49492,"marks":49493,"value":34722,"nodeType":864},{},[],{"data":49495,"content":49496,"nodeType":860},{},[49497],{"data":49498,"marks":49499,"value":34729,"nodeType":864},{},[],{"data":49501,"content":49502,"nodeType":1312},{},[49503],{"data":49504,"marks":49505,"value":34737,"nodeType":864},{},[49506],{"type":899},{"data":49508,"content":49509,"nodeType":860},{},[49510],{"data":49511,"marks":49512,"value":34744,"nodeType":864},{},[],{"data":49514,"content":49515,"nodeType":860},{},[49516],{"data":49517,"marks":49518,"value":34751,"nodeType":864},{},[],{"data":49520,"content":49521,"nodeType":860},{},[49522],{"data":49523,"marks":49524,"value":34758,"nodeType":864},{},[],{"data":49526,"content":49527,"nodeType":860},{},[49528],{"data":49529,"marks":49530,"value":34765,"nodeType":864},{},[],{"data":49532,"content":49535,"nodeType":996},{"target":49533},{"sys":49534},{"id":34770,"type":1001,"linkType":1002},[],{"data":49537,"content":49538,"nodeType":1005},{},[],{"data":49540,"content":49541,"nodeType":1009},{},[49542],{"data":49543,"marks":49544,"value":34782,"nodeType":864},{},[49545],{"type":899},{"data":49547,"content":49548,"nodeType":860},{},[49549],{"data":49550,"marks":49551,"value":34789,"nodeType":864},{},[],{"data":49553,"content":49554,"nodeType":941},{},[49555,49564,49573],{"data":49556,"content":49557,"nodeType":945},{},[49558],{"data":49559,"content":49560,"nodeType":860},{},[49561],{"data":49562,"marks":49563,"value":34802,"nodeType":864},{},[],{"data":49565,"content":49566,"nodeType":945},{},[49567],{"data":49568,"content":49569,"nodeType":860},{},[49570],{"data":49571,"marks":49572,"value":34812,"nodeType":864},{},[],{"data":49574,"content":49575,"nodeType":945},{},[49576],{"data":49577,"content":49578,"nodeType":860},{},[49579],{"data":49580,"marks":49581,"value":34822,"nodeType":864},{},[],{"data":49583,"content":49584,"nodeType":860},{},[49585],{"data":49586,"marks":49587,"value":34829,"nodeType":864},{},[],{"data":49589,"content":49590,"nodeType":860},{},[49591,49594,49600],{"data":49592,"marks":49593,"value":1238,"nodeType":864},{},[],{"data":49595,"content":49596,"nodeType":883},{"uri":34838},[49597],{"data":49598,"marks":49599,"value":34843,"nodeType":864},{},[],{"data":49601,"marks":49602,"value":34847,"nodeType":864},{},[],{"data":49604,"content":49605,"nodeType":860},{},[49606,49609,49616],{"data":49607,"marks":49608,"value":34854,"nodeType":864},{},[],{"data":49610,"content":49611,"nodeType":883},{"uri":34857},[49612],{"data":49613,"marks":49614,"value":34863,"nodeType":864},{},[49615],{"type":1455},{"data":49617,"marks":49618,"value":34867,"nodeType":864},{},[],{"data":49620,"content":49623,"nodeType":996},{"target":49621},{"sys":49622},{"id":34872,"type":1001,"linkType":1002},[],{"data":49625,"content":49626,"nodeType":860},{},[49627],{"data":49628,"marks":49629,"value":21,"nodeType":864},{},[],{"items":49631},[49632],{"sys":49633,"name":6593},{"id":6592},{"items":49635},[49636],{"fullName":2736,"firstName":2737,"jobTitle":2738,"profilePicture":49637},{"url":2740},"series-b-and-beyond","blog/series-b-and-beyond",{"json":49641},{"data":49642,"content":49643,"nodeType":856},{},[49644],{"data":49645,"content":49646,"nodeType":860},{},[49647],{"data":49648,"marks":49649,"value":49650,"nodeType":864},{},[],"I’m thrilled to share that Push Security has raised our Series B funding. This is a big moment for us — and more importantly, for the future of identity security.","I’m thrilled to share that Push Security has raised our Series B funding. This is a huge moment for us and our customers in the fight against identity attacks. ",{"id":49653,"publishedAt":49654},"4SvRrpqC8WswOmKbgr2RMM","2026-08-12T11:54:16.868Z",{"items":49656},[49657],{"sys":49658,"name":49660},{"id":49659},"4EtskIWlj3SOH3UHbFR8uG","Company news",{"items":49662},[49663,49665,49667,49669,49671,49673,49675,49677,49679,49681,49683,49685,49687,49689,49691,49693,49695,49697,49699],{"sys":49664,"name":297,"slug":298,"tier":31},{"id":294},{"sys":49666,"name":413,"slug":414,"tier":31},{"id":410},{"sys":49668,"name":519,"slug":520,"tier":31},{"id":516},{"sys":49670,"name":279,"slug":280,"tier":31},{"id":276},{"sys":49672,"name":545,"slug":546,"tier":31},{"id":542},{"sys":49674,"name":342,"slug":343,"tier":31},{"id":339},{"sys":49676,"name":642,"slug":643,"tier":31},{"id":639},{"sys":49678,"name":324,"slug":325,"tier":45},{"id":321},{"sys":49680,"name":333,"slug":334,"tier":45},{"id":330},{"sys":49682,"name":422,"slug":423,"tier":45},{"id":419},{"sys":49684,"name":466,"slug":467,"tier":45},{"id":463},{"sys":49686,"name":511,"slug":512,"tier":45},{"id":508},{"sys":49688,"name":395,"slug":396,"tier":45},{"id":392},{"sys":49690,"name":457,"slug":458,"tier":45},{"id":454},{"sys":49692,"name":502,"slug":503,"tier":45},{"id":499},{"sys":49694,"name":484,"slug":485,"tier":45},{"id":481},{"sys":49696,"name":589,"slug":590,"tier":45},{"id":586},{"sys":49698,"name":571,"slug":572,"tier":45},{"id":568},{"sys":49700,"name":528,"slug":529,"tier":45},{"id":525},"6hUqrvJ9Xn4JfGuYuweNIUBkm3goaxqBSQJENnH7mcs",{"id":49703,"title":49704,"authorsCollection":49705,"content":49710,"extension":228,"faqItemsCollection":50255,"faqTitle":59,"featured":6,"hashTags":59,"meta":50257,"metaTitle":50258,"ogImage":59,"postType":5740,"publishedDate":50259,"relatedBlogPostsCollection":50260,"slug":52321,"stem":52322,"subtitle":59,"summary":52323,"synopsis":52334,"sys":52335,"tagsCollection":52338,"topicsCollection":52344,"__hash__":52372},"blog/blog/how-consent-phishing-is-evolving.json","How consent phishing is evolving to defeat detection controls",{"items":49706},[49707],{"fullName":2736,"firstName":2737,"jobTitle":2738,"socialLinks":49708,"profilePicture":49709},[11304],{"url":2740},{"json":49711,"links":50145},{"data":49712,"content":49713,"nodeType":856},{},[49714,49743,49763,49770,49777,49780,49788,49795,49801,49807,49813,49820,49840,49846,49849,49857,49864,49871,49878,49884,49891,49898,49904,49911,49930,49936,49943,49946,49954,49961,49967,49974,50019,50025,50032,50035,50043,50050,50057,50063,50068,50074,50077,50085,50092,50098,50105,50112,50115,50122,50128],{"data":49715,"content":49716,"nodeType":860},{},[49717,49720,49727,49731,49739],{"data":49718,"marks":49719,"value":21,"nodeType":864},{},[],{"data":49721,"content":49722,"nodeType":883},{"uri":32223},[49723],{"data":49724,"marks":49725,"value":40403,"nodeType":864},{},[49726],{"type":1455},{"data":49728,"marks":49729,"value":49730,"nodeType":864},{},[]," was one of the first techniques we added to the ",{"data":49732,"content":49734,"nodeType":883},{"uri":49733},"https://github.com/pushsecurity/saas-attacks?tab=readme-ov-file",[49735],{"data":49736,"marks":49737,"value":37864,"nodeType":864},{},[49738],{"type":1455},{"data":49740,"marks":49741,"value":49742,"nodeType":864},{},[],", where attackers trick users into authorizing malicious OAuth apps. ",{"data":49744,"content":49745,"nodeType":860},{},[49746,49750,49759],{"data":49747,"marks":49748,"value":49749,"nodeType":864},{},[],"The attacker sends a phishing link to a target that requests permissions to access sensitive data or permissions to perform dangerous actions for an app the victim is using. If the target grants consent for the permissions, the adversary gains that level of access over the target’s account — and certain data and functionality ",{"data":49751,"content":49753,"nodeType":883},{"uri":49752},"https://pushsecurity.com/blog/the-risky-terrain-of-oauth-scopes-in-third-party/",[49754],{"data":49755,"marks":49756,"value":49758,"nodeType":864},{},[49757],{"type":1455},"depending on the scopes granted",{"data":49760,"marks":49761,"value":49762,"nodeType":864},{},[],". This attack bypasses MFA entirely (including phishing-resistant MFA) by sidestepping the login process — think of it as an authorization attack, as opposed to an authentication one. Naturally, this means it also persists through typical authentication changes like a password reset. ",{"data":49764,"content":49765,"nodeType":860},{},[49766],{"data":49767,"marks":49768,"value":49769,"nodeType":864},{},[],"Consent phishing has been primarily aimed at getting access to larger cloud platforms like Microsoft Azure or Google Workspace tenants, or more complex apps like GitHub. These apps present an obvious opportunity to attackers in terms of the functionality and and data they contain.  ",{"data":49771,"content":49772,"nodeType":860},{},[49773],{"data":49774,"marks":49775,"value":49776,"nodeType":864},{},[],"Two separate cases of consent phishing have hit the headlines this month representing very different use cases — let’s compare them. ",{"data":49778,"content":49779,"nodeType":1005},{},[],{"data":49781,"content":49782,"nodeType":1009},{},[49783],{"data":49784,"marks":49785,"value":49787,"nodeType":864},{},[49786],{"type":899},"1. Classic consent phishing",{"data":49789,"content":49790,"nodeType":860},{},[49791],{"data":49792,"marks":49793,"value":49794,"nodeType":864},{},[],"Attackers targeted GitHub users across 12,000 repositories by creating fake security alert issues in GitHub repositories. These legit-looking alerts send the victim to a GitHub authorization page for a \"gitsecurityapp\" OAuth app that requests a lot of very risky scopes granting full access to a user's account and repositories.",{"data":49796,"content":49800,"nodeType":996},{"target":49797},{"sys":49798},{"id":49799,"type":1001,"linkType":1002},"7s7VLePAQzhzXJ6cFkSCAe",[],{"data":49802,"content":49806,"nodeType":996},{"target":49803},{"sys":49804},{"id":49805,"type":1001,"linkType":1002},"5dppSzNOgffeZTZK2lG6V5",[],{"data":49808,"content":49812,"nodeType":996},{"target":49809},{"sys":49810},{"id":49811,"type":1001,"linkType":1002},"1dsYU7bM5mPW1AXyRLnqpp",[],{"data":49814,"content":49815,"nodeType":860},{},[49816],{"data":49817,"marks":49818,"value":49819,"nodeType":864},{},[],"Once authorized, the attacker has extensive access to the account, from which point they can modify repositories to conduct further attacks against users (e.g. by infecting them with malware), poison the repos and services connected to the repository, and exfiltrate any sensitive data the account has access to. ",{"data":49821,"content":49822,"nodeType":860},{},[49823,49827,49836],{"data":49824,"marks":49825,"value":49826,"nodeType":864},{},[],"Alongside consent phishing, this is an example of ",{"data":49828,"content":49830,"nodeType":883},{"uri":49829},"https://github.com/pushsecurity/saas-attacks/blob/main/techniques/in-app_phishing/description.md",[49831],{"data":49832,"marks":49833,"value":49835,"nodeType":864},{},[49834],{"type":1455},"in-app phishing",{"data":49837,"marks":49838,"value":49839,"nodeType":864},{},[],", which avoids delivering the message via corporate email. Even if the target gets an email notification, the phish isn’t delivered via email directly, and so email-based scanning solutions won’t detect it — they’ll receive a legitimate notification email directly from GitHub. It’s also less likely to raise suspicion as GitHub issue notifications are expected, increasing the click chance. ",{"data":49841,"content":49845,"nodeType":996},{"target":49842},{"sys":49843},{"id":49844,"type":1001,"linkType":1002},"6d6MMyPQ7vaY2KrJTHGeO6",[],{"data":49847,"content":49848,"nodeType":1005},{},[],{"data":49850,"content":49851,"nodeType":1009},{},[49852],{"data":49853,"marks":49854,"value":49856,"nodeType":864},{},[49855],{"type":899},"2. Not really consent phishing?",{"data":49858,"content":49859,"nodeType":860},{},[49860],{"data":49861,"marks":49862,"value":49863,"nodeType":864},{},[],"This example is much more unusual. In this case, the attacker used malicious Microsoft OAuth apps impersonating Adobe and DocuSign. ",{"data":49865,"content":49866,"nodeType":860},{},[49867],{"data":49868,"marks":49869,"value":49870,"nodeType":864},{},[],"Rather than trying to grab lots of juicy permissions for Microsoft, the attacker used consent phishing to prevent automated analysis of their phishing page by security tools. To be served the real phishing page, you need to first authorize the fake OAuth app — meaning that security tools and bots won’t be able to reach the page to determine if it’s malicious or not. ",{"data":49872,"content":49873,"nodeType":860},{},[49874],{"data":49875,"marks":49876,"value":49877,"nodeType":864},{},[],"The attack started with attackers sending phishing emails to target users with a fake password reset lure. ",{"data":49879,"content":49883,"nodeType":996},{"target":49880},{"sys":49881},{"id":49882,"type":1001,"linkType":1002},"3cLd6EbraN9fKuGgL0kkgC",[],{"data":49885,"content":49886,"nodeType":860},{},[49887],{"data":49888,"marks":49889,"value":49890,"nodeType":864},{},[],"Because the initial phishing link directs to the legitimate login.microsoftonline.com URL, it appears legitimate and bypasses common domain-based security checks. ",{"data":49892,"content":49893,"nodeType":860},{},[49894],{"data":49895,"marks":49896,"value":49897,"nodeType":864},{},[],"After clicking the link, the user signs into their real Microsoft account (this might even happen automatically if the user is already signed in on the device/browser they’re using). They are then redirected to a permissions request page for the fake OAuth app. ",{"data":49899,"content":49903,"nodeType":996},{"target":49900},{"sys":49901},{"id":49902,"type":1001,"linkType":1002},"6O4CSx1VCoPAIjjsnKzu75",[],{"data":49905,"content":49906,"nodeType":860},{},[49907],{"data":49908,"marks":49909,"value":49910,"nodeType":864},{},[],"The permissions requested by the app (profile, email, openid) are so limited as to be basically unexploitable. They are also the same permissions you would accept if you were authorizing Microsoft to perform a social login (SSO via OIDC) to a third party app.",{"data":49912,"content":49913,"nodeType":860},{},[49914,49918,49926],{"data":49915,"marks":49916,"value":49917,"nodeType":864},{},[],"Clicking the link redirects the victim to the malicious page but masks it using the legit Cloudflare Turnstile service. As well as making the page look more credible (since its fronted by a legit service to block bots) this is a common detection evasion technique we’ve ",{"data":49919,"content":49920,"nodeType":883},{"uri":48151},[49921],{"data":49922,"marks":49923,"value":49925,"nodeType":864},{},[49924],{"type":1455},"blogged about previously",{"data":49927,"marks":49928,"value":49929,"nodeType":864},{},[]," which prevents security solutions from accessing and analysing the malicious page. ",{"data":49931,"content":49935,"nodeType":996},{"target":49932},{"sys":49933},{"id":49934,"type":1001,"linkType":1002},"7csybR6fJlCWsRy91CbNYL",[],{"data":49937,"content":49938,"nodeType":860},{},[49939],{"data":49940,"marks":49941,"value":49942,"nodeType":864},{},[],"After completing the verification, the page (and the malicious phishing kit element) is finally loaded. If the victim authenticates, the session will be stolen by the attacker, along with the captured credentials and MFA code. ",{"data":49944,"content":49945,"nodeType":1005},{},[],{"data":49947,"content":49948,"nodeType":1009},{},[49949],{"data":49950,"marks":49951,"value":49953,"nodeType":864},{},[49952],{"type":899},"Using consent phishing to evade detection",{"data":49955,"content":49956,"nodeType":860},{},[49957],{"data":49958,"marks":49959,"value":49960,"nodeType":864},{},[],"The attacker is essentially using their fake OAuth app to prevent security analysts and bots from analysing the real phishing page, because the first page loaded is a link to a legitimate Microsoft domain. They’re also layering it with a range of other detection evasion techniques like using Cloudflare Turnstile.  ",{"data":49962,"content":49966,"nodeType":996},{"target":49963},{"sys":49964},{"id":49965,"type":1001,"linkType":1002},"4Bi9YoMwWVmKoWfkh5tiTA",[],{"data":49968,"content":49969,"nodeType":860},{},[49970],{"data":49971,"marks":49972,"value":49973,"nodeType":864},{},[],"We’ve previously blogged about how attackers are using layered detection evasion techniques to circumvent typical phishing page detections, which are often email-based, including:",{"data":49975,"content":49976,"nodeType":941},{},[49977,49998],{"data":49978,"content":49979,"nodeType":945},{},[49980],{"data":49981,"content":49982,"nodeType":860},{},[49983,49986,49994],{"data":49984,"marks":49985,"value":21,"nodeType":864},{},[],{"data":49987,"content":49988,"nodeType":883},{"uri":48151},[49989],{"data":49990,"marks":49991,"value":49993,"nodeType":864},{},[49992],{"type":1455},"Prevent analysis of phishing pages",{"data":49995,"marks":49996,"value":49997,"nodeType":864},{},[]," by security bots, including using legitimate services like Cloudflare Workers and Turnstile (as above), CAPTCHA, and various sandbox-aware techniques to ensure only the intended victim is served the phishing page, such as only providing the correct parameters to load the page if the correct path is followed (rather than attempting to load the malicious page by going directly to the domain). ",{"data":49999,"content":50000,"nodeType":945},{},[50001],{"data":50002,"content":50003,"nodeType":860},{},[50004,50007,50015],{"data":50005,"marks":50006,"value":21,"nodeType":864},{},[],{"data":50008,"content":50009,"nodeType":883},{"uri":43629},[50010],{"data":50011,"marks":50012,"value":50014,"nodeType":864},{},[50013],{"type":1455},"DOM and visual obfuscation",{"data":50016,"marks":50017,"value":50018,"nodeType":864},{},[]," of phishing pages when the victim does land on the page to prevent it from being identified as malicious through signature-based detection of page elements. ",{"data":50020,"content":50024,"nodeType":996},{"target":50021},{"sys":50022},{"id":50023,"type":1001,"linkType":1002},"2dN8np5odBecf7r1vBr69K",[],{"data":50026,"content":50027,"nodeType":860},{},[50028],{"data":50029,"marks":50030,"value":50031,"nodeType":864},{},[],"This seems a bit overkill and many of the steps here are likely to raise suspicion — like the fact that you’re never asked to provide the original code for the password reset, and are asked to unexpectedly consent to an OAuth app. But clearly, the attacker is more concerned about bypassing technical safeguards than human ones (not a great endorsement for the state of phishing awareness training). ",{"data":50033,"content":50034,"nodeType":1005},{},[],{"data":50036,"content":50037,"nodeType":1009},{},[50038],{"data":50039,"marks":50040,"value":50042,"nodeType":864},{},[50041],{"type":899},"How Push detects and blocks phishing attacks",{"data":50044,"content":50045,"nodeType":860},{},[50046],{"data":50047,"marks":50048,"value":50049,"nodeType":864},{},[],"Push overcomes the various detection evasion techniques shown here by using in-browser detections based on the phishing page that the user sees. This means that no matter where the user accesses the link from (email, IM platform, social media, or anywhere else on the internet) Push can observe and analyse the page to determine if it's malicious. ",{"data":50051,"content":50052,"nodeType":860},{},[50053],{"data":50054,"marks":50055,"value":50056,"nodeType":864},{},[],"Push uses layered detections based on identifying the phishing kit running on the page itself, whether the page is cloned from a legitimate login page, as well as detecting whether the credentials being entered on the page have been used to log into your SSO account previously. ",{"data":50058,"content":50062,"nodeType":996},{"target":50059},{"sys":50060},{"id":50061,"type":1001,"linkType":1002},"6B1toQAf44rDzQZijYRd9g",[],{"data":50064,"content":50067,"nodeType":996},{"target":50065},{"sys":50066},{"id":43836,"type":1001,"linkType":1002},[],{"data":50069,"content":50073,"nodeType":996},{"target":50070},{"sys":50071},{"id":50072,"type":1001,"linkType":1002},"01musWa3FUiO0CVFNWfwcy",[],{"data":50075,"content":50076,"nodeType":1005},{},[],{"data":50078,"content":50079,"nodeType":1009},{},[50080],{"data":50081,"marks":50082,"value":50084,"nodeType":864},{},[50083],{"type":899},"Using Push to review OAuth integrations",{"data":50086,"content":50087,"nodeType":860},{},[50088],{"data":50089,"marks":50090,"value":50091,"nodeType":864},{},[],"You can also use Push to discover and remove risky OAuth integrations accepted by your users. ",{"data":50093,"content":50097,"nodeType":996},{"target":50094},{"sys":50095},{"id":50096,"type":1001,"linkType":1002},"5kJvy5SBcWLrK2EhLyR1ZD",[],{"data":50099,"content":50100,"nodeType":860},{},[50101],{"data":50102,"marks":50103,"value":50104,"nodeType":864},{},[],"This shows which OAuth apps have been added, which apps they are integrated with, what permissions they’ve been granted, as well as other properties that indicate risk (e.g. whether the app’s publisher has been verified). ",{"data":50106,"content":50107,"nodeType":860},{},[50108],{"data":50109,"marks":50110,"value":50111,"nodeType":864},{},[],"If your users are consent phished, you’ll be notified via webhook event that a new integration has been added. These risky integrations can be removed via the Push platform by clicking ‘delete integration’. ",{"data":50113,"content":50114,"nodeType":1005},{},[],{"data":50116,"content":50117,"nodeType":1009},{},[50118],{"data":50119,"marks":50120,"value":42749,"nodeType":864},{},[50121],{"type":899},{"data":50123,"content":50124,"nodeType":860},{},[50125],{"data":50126,"marks":50127,"value":44138,"nodeType":864},{},[],{"data":50129,"content":50130,"nodeType":860},{},[50131,50134,50141],{"data":50132,"marks":50133,"value":35574,"nodeType":864},{},[],{"data":50135,"content":50136,"nodeType":883},{"uri":35577},[50137],{"data":50138,"marks":50139,"value":35582,"nodeType":864},{},[50140],{"type":1455},{"data":50142,"marks":50143,"value":50144,"nodeType":864},{},[]," for a live demo.",{"entries":50146},{"hyperlink":50147,"inline":50148,"block":50149},[],[],[50150,50158,50166,50174,50178,50186,50193,50201,50208,50215,50223,50226,50248],{"sys":50151,"__typename":1724,"title":50152,"caption":50153,"layoutMode":59,"file":50154},{"id":49799},"Consent phishing blog image 1","Initial notification in GitHub repo",{"url":50155,"width":50156,"height":50157},"https://images.ctfassets.net/y1cdw1ablpvd/45AWiiVZDMMx4wkVeh4OmH/e043c8d9975ad87c354c60ed2b95f3d8/image11_1.png",1145,520,{"sys":50159,"__typename":1724,"title":50160,"caption":50161,"layoutMode":59,"file":50162},{"id":49805},"Consent phishing image 2","Phishing message delivered via GitHub",{"url":50163,"width":50164,"height":50165},"https://images.ctfassets.net/y1cdw1ablpvd/5SF3XeGhHBxwDX8WamgdOI/66abad1b2770344e360c276c33528129/image_506.png",1372,1045,{"sys":50167,"__typename":1724,"title":50168,"caption":50169,"layoutMode":59,"file":50170},{"id":49811},"Consent phishing image 3","Consent phishing authorization page connecting the victim's GitHub account to the malicious app",{"url":50171,"width":50172,"height":50173},"https://images.ctfassets.net/y1cdw1ablpvd/2NfxL5bELb1XbET7MubvGN/e47630f6d0a3c85c3f2c567c4e443a0c/image1.png",1600,1065,{"sys":50175,"__typename":1717,"type":1718,"ctaText":50176,"buttonLabel":47736,"buttonColour":1721,"buttonUrl":50177},{"id":49844},"Learn why phishing prevention needs to move beyond email to stop modern attacks taking place inside apps, IM platforms, via malvertising, and on social media.","https://pushsecurity.com/blog/why-its-time-for-phishing-prevention-to-move-beyond-email/",{"sys":50179,"__typename":1724,"title":50180,"caption":50181,"layoutMode":59,"file":50182},{"id":49882},"Consent phishing image 4","Phishing email prompting the user to reset their password",{"url":50183,"width":50184,"height":50185},"https://images.ctfassets.net/y1cdw1ablpvd/7z6EOVPvvj2gxyafDubSEa/fc4ad4cd51af2da38478313fe991f445/Group_524.png",997,544,{"sys":50187,"__typename":1724,"title":50188,"caption":50189,"layoutMode":59,"file":50190},{"id":49902},"Consent phishing image 5","OAuth apps impersonating Adobe and DocuSign",{"url":50191,"width":50172,"height":50192},"https://images.ctfassets.net/y1cdw1ablpvd/maxSjZ6EyNf0ZL9tgcUBU/3d6da51a409fd1273b576ebc9b132703/image2.png",629,{"sys":50194,"__typename":1724,"title":50195,"caption":50196,"layoutMode":59,"file":50197},{"id":49934},"Consent phishing blog image 6","Cloudflare Turnstile is often used to prevent security bots from analysing the attacker's phishing page.",{"url":50198,"width":50199,"height":50200},"https://images.ctfassets.net/y1cdw1ablpvd/DbEYzQt7m3jY56ALCYWEy/59846e7bd4a3ed204722a9d561e97231/image2.png",938,361,{"sys":50202,"__typename":1724,"title":50203,"caption":50204,"layoutMode":59,"file":50205},{"id":49965},"Consent phishing image 8","Summary of the attack path",{"url":50206,"width":45619,"height":50207},"https://images.ctfassets.net/y1cdw1ablpvd/6aWw8YdAR2WFHvFlTeshsQ/76236f4031c3d921cd1cd00887ce0e90/Slide_16_9_-_110.png",649,{"sys":50209,"__typename":1724,"title":50210,"caption":50210,"layoutMode":59,"file":50211},{"id":50023},"Comparing a legitimate page’s DOM structure with an attacker’s cloned page",{"url":50212,"width":50213,"height":50214},"https://images.ctfassets.net/y1cdw1ablpvd/4HmklQ1H0YIMlNdTkZR8B0/e2e727d9d96867b9d46e35bf097f7a0f/6.png",1875,562,{"sys":50216,"__typename":1724,"title":50217,"caption":50218,"layoutMode":59,"file":50219},{"id":50061},"How Push stops phishing attacks","Push detects and intercepts phishing attackers in the browser when the victim tries to load the page. ",{"url":50220,"width":50221,"height":50222},"https://images.ctfassets.net/y1cdw1ablpvd/2CPV9LSQGHdFgmTxyF1c6s/c1ddb7eb7352ad7a161e447a8fa400e6/image1.png",1535,764,{"sys":50224,"__typename":1724,"title":45608,"caption":45609,"layoutMode":59,"file":50225},{"id":43836},{"url":45611,"width":41540,"height":45612},{"sys":50227,"__typename":1740,"content":50228,"name":50247,"title":59},{"id":50072},{"json":50229},{"nodeType":856,"data":50230,"content":50231},{},[50232,50239],{"nodeType":860,"data":50233,"content":50234},{},[50235],{"nodeType":864,"value":50236,"marks":50237,"data":50238},"By fingerprinting the password for your most important accounts used to log into IdPs like Microsoft, Google, Okta, etc. Push can prevent users from entering this password into any other page. So for example, if the user attempts to enter their real Microsoft password onto a phishing page, Push detects and intercepts it, blocking the phishing attempt. ",[],{},{"nodeType":860,"data":50240,"content":50241},{},[50242],{"nodeType":864,"value":50243,"marks":50244,"data":50246},"You can’t phish a victim if they can’t enter their credentials into your phishing site!",[50245],{"type":899},{},"Consent phishing blog insight box 1",{"sys":50249,"__typename":1724,"title":50250,"caption":50251,"layoutMode":59,"file":50252},{"id":50096},"Consent phishing blog image 7","Using Push to analyze and manage OAuth integrations detected in your environment. ",{"url":50253,"width":1736,"height":50254},"https://images.ctfassets.net/y1cdw1ablpvd/37VWcMZobEQXskI8lbfadH/8d771afb2d57258f16c542517b910d72/image10.png",1111,{"items":50256},[],{},"Analyzing two different forms of consent phishing","2025-03-31T00:00:00.000Z",{"items":50261},[50262,50548,51544],{"__typename":2059,"sys":50263,"content":50264,"title":42779,"synopsis":42780,"hashTags":59,"publishedDate":42781,"slug":42782,"tagsCollection":50538,"authorsCollection":50544},{"id":42465},{"json":50265},{"data":50266,"content":50267,"nodeType":856},{},[50268,50274,50290,50303,50309,50315,50318,50324,50330,50378,50384,50389,50392,50398,50404,50410,50416,50422,50436,50441,50447,50453,50467,50472,50478,50484,50490,50496,50502,50505,50511,50527,50532],{"data":50269,"content":50270,"nodeType":1009},{},[50271],{"data":50272,"marks":50273,"value":42476,"nodeType":864},{},[],{"data":50275,"content":50276,"nodeType":860},{},[50277,50280,50287],{"data":50278,"marks":50279,"value":42483,"nodeType":864},{},[],{"data":50281,"content":50282,"nodeType":883},{"uri":7425},[50283],{"data":50284,"marks":50285,"value":42491,"nodeType":864},{},[50286],{"type":1455},{"data":50288,"marks":50289,"value":12252,"nodeType":864},{},[],{"data":50291,"content":50292,"nodeType":860},{},[50293,50296,50300],{"data":50294,"marks":50295,"value":42501,"nodeType":864},{},[],{"data":50297,"marks":50298,"value":42506,"nodeType":864},{},[50299],{"type":1455},{"data":50301,"marks":50302,"value":42510,"nodeType":864},{},[],{"data":50304,"content":50305,"nodeType":860},{},[50306],{"data":50307,"marks":50308,"value":42517,"nodeType":864},{},[],{"data":50310,"content":50311,"nodeType":860},{},[50312],{"data":50313,"marks":50314,"value":42524,"nodeType":864},{},[],{"data":50316,"content":50317,"nodeType":1005},{},[],{"data":50319,"content":50320,"nodeType":1312},{},[50321],{"data":50322,"marks":50323,"value":42534,"nodeType":864},{},[],{"data":50325,"content":50326,"nodeType":860},{},[50327],{"data":50328,"marks":50329,"value":42541,"nodeType":864},{},[],{"data":50331,"content":50332,"nodeType":941},{},[50333,50342,50351,50360,50369],{"data":50334,"content":50335,"nodeType":945},{},[50336],{"data":50337,"content":50338,"nodeType":860},{},[50339],{"data":50340,"marks":50341,"value":42554,"nodeType":864},{},[],{"data":50343,"content":50344,"nodeType":945},{},[50345],{"data":50346,"content":50347,"nodeType":860},{},[50348],{"data":50349,"marks":50350,"value":42564,"nodeType":864},{},[],{"data":50352,"content":50353,"nodeType":945},{},[50354],{"data":50355,"content":50356,"nodeType":860},{},[50357],{"data":50358,"marks":50359,"value":42574,"nodeType":864},{},[],{"data":50361,"content":50362,"nodeType":945},{},[50363],{"data":50364,"content":50365,"nodeType":860},{},[50366],{"data":50367,"marks":50368,"value":42584,"nodeType":864},{},[],{"data":50370,"content":50371,"nodeType":945},{},[50372],{"data":50373,"content":50374,"nodeType":860},{},[50375],{"data":50376,"marks":50377,"value":42594,"nodeType":864},{},[],{"data":50379,"content":50380,"nodeType":860},{},[50381],{"data":50382,"marks":50383,"value":42601,"nodeType":864},{},[],{"data":50385,"content":50388,"nodeType":996},{"target":50386},{"sys":50387},{"id":42606,"type":1001,"linkType":1002},[],{"data":50390,"content":50391,"nodeType":1005},{},[],{"data":50393,"content":50394,"nodeType":1312},{},[50395],{"data":50396,"marks":50397,"value":42617,"nodeType":864},{},[],{"data":50399,"content":50400,"nodeType":860},{},[50401],{"data":50402,"marks":50403,"value":42624,"nodeType":864},{},[],{"data":50405,"content":50406,"nodeType":860},{},[50407],{"data":50408,"marks":50409,"value":42631,"nodeType":864},{},[],{"data":50411,"content":50412,"nodeType":860},{},[50413],{"data":50414,"marks":50415,"value":42638,"nodeType":864},{},[],{"data":50417,"content":50418,"nodeType":860},{},[50419],{"data":50420,"marks":50421,"value":42645,"nodeType":864},{},[],{"data":50423,"content":50424,"nodeType":1312},{},[50425,50428,50433],{"data":50426,"marks":50427,"value":42652,"nodeType":864},{},[],{"data":50429,"marks":50430,"value":42658,"nodeType":864},{},[50431,50432],{"type":1455},{"type":899},{"data":50434,"marks":50435,"value":42662,"nodeType":864},{},[],{"data":50437,"content":50440,"nodeType":996},{"target":50438},{"sys":50439},{"id":42667,"type":1001,"linkType":1002},[],{"data":50442,"content":50443,"nodeType":860},{},[50444],{"data":50445,"marks":50446,"value":42675,"nodeType":864},{},[],{"data":50448,"content":50449,"nodeType":860},{},[50450],{"data":50451,"marks":50452,"value":42682,"nodeType":864},{},[],{"data":50454,"content":50455,"nodeType":1312},{},[50456,50459,50464],{"data":50457,"marks":50458,"value":42689,"nodeType":864},{},[],{"data":50460,"marks":50461,"value":3053,"nodeType":864},{},[50462,50463],{"type":1455},{"type":899},{"data":50465,"marks":50466,"value":42698,"nodeType":864},{},[],{"data":50468,"content":50471,"nodeType":996},{"target":50469},{"sys":50470},{"id":42703,"type":1001,"linkType":1002},[],{"data":50473,"content":50474,"nodeType":860},{},[50475],{"data":50476,"marks":50477,"value":42711,"nodeType":864},{},[],{"data":50479,"content":50480,"nodeType":860},{},[50481],{"data":50482,"marks":50483,"value":42718,"nodeType":864},{},[],{"data":50485,"content":50486,"nodeType":860},{},[50487],{"data":50488,"marks":50489,"value":42725,"nodeType":864},{},[],{"data":50491,"content":50492,"nodeType":860},{},[50493],{"data":50494,"marks":50495,"value":42732,"nodeType":864},{},[],{"data":50497,"content":50498,"nodeType":860},{},[50499],{"data":50500,"marks":50501,"value":42739,"nodeType":864},{},[],{"data":50503,"content":50504,"nodeType":1005},{},[],{"data":50506,"content":50507,"nodeType":1009},{},[50508],{"data":50509,"marks":50510,"value":42749,"nodeType":864},{},[],{"data":50512,"content":50513,"nodeType":860},{},[50514,50517,50524],{"data":50515,"marks":50516,"value":42756,"nodeType":864},{},[],{"data":50518,"content":50519,"nodeType":883},{"uri":5642},[50520],{"data":50521,"marks":50522,"value":35582,"nodeType":864},{},[50523],{"type":1455},{"data":50525,"marks":50526,"value":35977,"nodeType":864},{},[],{"data":50528,"content":50531,"nodeType":996},{"target":50529},{"sys":50530},{"id":42771,"type":1001,"linkType":1002},[],{"data":50533,"content":50534,"nodeType":860},{},[50535],{"data":50536,"marks":50537,"value":21,"nodeType":864},{},[],{"items":50539},[50540,50542],{"sys":50541,"name":6593},{"id":6592},{"sys":50543,"name":342},{"id":6596},{"items":50545},[50546],{"fullName":4878,"firstName":4879,"jobTitle":851,"profilePicture":50547},{"url":4881},{"__typename":2059,"sys":50549,"content":50551,"title":51531,"synopsis":51532,"hashTags":59,"publishedDate":35589,"slug":51533,"tagsCollection":51534,"authorsCollection":51540},{"id":50550},"5aB5x5VXrMv7PDmH0iiK0c",{"json":50552},{"data":50553,"content":50554,"nodeType":856},{},[50555,50574,50581,50588,50595,50602,50608,50615,50630,50633,50640,50647,50654,50661,50671,50678,50685,50692,50700,50707,50778,50790,50797,50805,50812,50867,50879,50886,50892,50900,50907,50940,50963,50970,50980,50983,50990,51009,51016,51049,51056,51063,51070,51076,51079,51086,51093,51101,51108,51115,51130,51136,51144,51151,51157,51165,51185,51192,51225,51244,51249,51269,51289,51297,51304,51311,51317,51335,51338,51346,51361,51368,51375,51425,51430,51437,51444,51487,51490,51498,51505,51508,51514],{"data":50556,"content":50557,"nodeType":860},{},[50558,50562,50571],{"data":50559,"marks":50560,"value":50561,"nodeType":864},{},[],"It wasn’t supposed to be like this. Passwords were supposed to be dead (just ask ",{"data":50563,"content":50565,"nodeType":883},{"uri":50564},"https://www.cnet.com/news/privacy/gates-predicts-death-of-the-password/",[50566],{"data":50567,"marks":50568,"value":50570,"nodeType":864},{},[50569],{"type":1455},"Bill Gates",{"data":50572,"marks":50573,"value":22438,"nodeType":864},{},[],{"data":50575,"content":50576,"nodeType":860},{},[50577],{"data":50578,"marks":50579,"value":50580,"nodeType":864},{},[],"Instead, hardworking security pros are left to sit around in community center basements drinking mediocre coffee and commiserating.",{"data":50582,"content":50583,"nodeType":860},{},[50584],{"data":50585,"marks":50586,"value":50587,"nodeType":864},{},[],"“I admit it. My users still use passwords.”",{"data":50589,"content":50590,"nodeType":860},{},[50591],{"data":50592,"marks":50593,"value":50594,"nodeType":864},{},[],"“Yeah, mine too. I’ve been telling people we’re rolling out passkeys for three years now. I’m not sure how much longer I can keep this up …”",{"data":50596,"content":50597,"nodeType":860},{},[50598],{"data":50599,"marks":50600,"value":50601,"nodeType":864},{},[],"Somber nodding all around. Hugs. A few chocolate-chip cookies on paper napkins.",{"data":50603,"content":50607,"nodeType":996},{"target":50604},{"sys":50605},{"id":50606,"type":1001,"linkType":1002},"4Wt29DxSSczFt5THWkuIiS",[],{"data":50609,"content":50610,"nodeType":860},{},[50611],{"data":50612,"marks":50613,"value":50614,"nodeType":864},{},[],"This is a no-judgment zone here at Push Security. So let’s take a look at why we’re still stuck with passwords, how attackers are increasingly exploiting weak credentials to infiltrate organizations, and how Push can help you get visibility and control of all your workforce identities.",{"data":50616,"content":50617,"nodeType":860},{},[50618,50622,50626],{"data":50619,"marks":50620,"value":50621,"nodeType":864},{},[],"We’ll also cover how you can use Push’s latest feature, ",{"data":50623,"marks":50624,"value":28471,"nodeType":864},{},[50625],{"type":899},{"data":50627,"marks":50628,"value":50629,"nodeType":864},{},[],", to require that employees use strong, unique passwords. Push automatically detects when employees have weak, reused, or stolen passwords and then guides them to update their password using in-browser messaging — even on apps that don’t natively support administrative control of password posture.",{"data":50631,"content":50632,"nodeType":1005},{},[],{"data":50634,"content":50635,"nodeType":1009},{},[50636],{"data":50637,"marks":50638,"value":50639,"nodeType":864},{},[],"3 reasons why we’re still stuck with passwords",{"data":50641,"content":50642,"nodeType":860},{},[50643],{"data":50644,"marks":50645,"value":50646,"nodeType":864},{},[],"At the risk of preaching to the choir, let’s review why we’re still stuck with passwords. ",{"data":50648,"content":50649,"nodeType":860},{},[50650],{"data":50651,"marks":50652,"value":50653,"nodeType":864},{},[],"It’s worth stating the Push perspective up front: We’re not here to push the narrative that you must completely get rid of passwords. To begin with, it’s not easy to get rid of them. Like the imaginary scene from the passwordless support group, we’ve lived the reality of this.",{"data":50655,"content":50656,"nodeType":860},{},[50657],{"data":50658,"marks":50659,"value":50660,"nodeType":864},{},[],"What we observe across our install base for the Push browser agent reinforces this reality. For the last 1 million or so logins that Push recorded, more than a quarter (26%) were password logins.",{"data":50662,"content":50663,"nodeType":1116},{},[50664],{"data":50665,"content":50666,"nodeType":860},{},[50667],{"data":50668,"marks":50669,"value":50670,"nodeType":864},{},[],"For the last 1M+ logins that the Push browser agent observed, more than a quarter were password logins.",{"data":50672,"content":50673,"nodeType":860},{},[50674],{"data":50675,"marks":50676,"value":50677,"nodeType":864},{},[],"Of those password logins, 18% had a security issue with the password — reused, easily guessable, already leaked in a public breach list, or actively for sale in criminal forums.",{"data":50679,"content":50680,"nodeType":860},{},[50681],{"data":50682,"marks":50683,"value":50684,"nodeType":864},{},[],"Yet when strong, unique passwords are used in conjunction with MFA, they can provide a powerful line of defense. Indeed, in cases where onboarding an app to SSO isn’t possible (for reasons we’ll cover below), a strong, unique password plus MFA is the most pragmatic solution you can achieve.",{"data":50686,"content":50687,"nodeType":860},{},[50688],{"data":50689,"marks":50690,"value":50691,"nodeType":864},{},[],"Here’s why bad passwords persist, and why it matters.",{"data":50693,"content":50694,"nodeType":1312},{},[50695],{"data":50696,"marks":50697,"value":50699,"nodeType":864},{},[50698],{"type":899},"Systemic reasons",{"data":50701,"content":50702,"nodeType":860},{},[50703],{"data":50704,"marks":50705,"value":50706,"nodeType":864},{},[],"If we zoom out, there are several systemic reasons that contribute to the persistence of password security issues:",{"data":50708,"content":50709,"nodeType":941},{},[50710,50737,50763],{"data":50711,"content":50712,"nodeType":945},{},[50713],{"data":50714,"content":50715,"nodeType":860},{},[50716,50721,50725,50733],{"data":50717,"marks":50718,"value":50720,"nodeType":864},{},[50719],{"type":899},"Self-adoption of work apps",{"data":50722,"marks":50723,"value":50724,"nodeType":864},{},[]," makes it extremely difficult to know all the workforce identities that exist across your environment, let alone whether they’re using a secure authentication method, or the strength or uniqueness of their password. Push’s ",{"data":50726,"content":50727,"nodeType":883},{"uri":15980},[50728],{"data":50729,"marks":50730,"value":50732,"nodeType":864},{},[50731],{"type":1455},"own research",{"data":50734,"marks":50735,"value":50736,"nodeType":864},{},[]," shows that for an average organization, each employee has 15 identities.",{"data":50738,"content":50739,"nodeType":945},{},[50740],{"data":50741,"content":50742,"nodeType":860},{},[50743,50748,50752,50759],{"data":50744,"marks":50745,"value":50747,"nodeType":864},{},[50746],{"type":899},"Apps optimize signups for low friction, not security.",{"data":50749,"marks":50750,"value":50751,"nodeType":864},{},[]," That often results in multiple authentication methods tied to any given account because local password accounts can still persist even after SSO onboarding — a phenomenon that we call ",{"data":50753,"content":50754,"nodeType":883},{"uri":26784},[50755],{"data":50756,"marks":50757,"value":17706,"nodeType":864},{},[50758],{"type":1455},{"data":50760,"marks":50761,"value":50762,"nodeType":864},{},[]," because they provide attackers with a way around a company’s enterprise SSO solution. These local accounts represent a significant risk, and most are invisible. Which brings us to …",{"data":50764,"content":50765,"nodeType":945},{},[50766],{"data":50767,"content":50768,"nodeType":860},{},[50769,50774],{"data":50770,"marks":50771,"value":50773,"nodeType":864},{},[50772],{"type":899},"Many apps provide very little information to admins about the posture of accounts",{"data":50775,"marks":50776,"value":50777,"nodeType":864},{},[]," on that service, and even fewer offer management options to address security issues on those accounts. Some services provide no information at all about which accounts can even access a given tenant.",{"data":50779,"content":50780,"nodeType":860},{},[50781,50786],{"data":50782,"marks":50783,"value":50785,"nodeType":864},{},[50784],{"type":899},"The impact: ",{"data":50787,"marks":50788,"value":50789,"nodeType":864},{},[],"These systemic factors contribute to what we see many organizations grappling with: Known visibility gaps in their workforce identities, which are scattered across many more third-party apps than they imagine, and unknown account security risks for both managed and unmanaged apps.",{"data":50791,"content":50792,"nodeType":860},{},[50793],{"data":50794,"marks":50795,"value":50796,"nodeType":864},{},[],"These gaps open up a large attack surface for organizations. The 2024 Verizon DBIR found that 79% of web application compromises were the result of breached creds, and researchers at IBM reported last year that they observed a 71% year-over-year increase in cyberattacks using stolen or compromised credentials.",{"data":50798,"content":50799,"nodeType":1312},{},[50800],{"data":50801,"marks":50802,"value":50804,"nodeType":864},{},[50803],{"type":899},"Technical reasons",{"data":50806,"content":50807,"nodeType":860},{},[50808],{"data":50809,"marks":50810,"value":50811,"nodeType":864},{},[],"There are also several technical reasons why bad passwords persist:",{"data":50813,"content":50814,"nodeType":941},{},[50815,50841],{"data":50816,"content":50817,"nodeType":945},{},[50818],{"data":50819,"content":50820,"nodeType":860},{},[50821,50824,50833,50837],{"data":50822,"marks":50823,"value":21,"nodeType":864},{},[],{"data":50825,"content":50826,"nodeType":883},{"uri":47951},[50827],{"data":50828,"marks":50829,"value":50832,"nodeType":864},{},[50830,50831],{"type":1455},{"type":899},"Going passwordless is hard",{"data":50834,"marks":50835,"value":1171,"nodeType":864},{},[50836],{"type":899},{"data":50838,"marks":50839,"value":50840,"nodeType":864},{},[],"because it requires a large investment of time, money, and training for end-users. In environments with a mix of older and newer infrastructure, it can be challenging to get complete coverage, and employees may struggle with the transition to device-based authentication (especially when they lose their device and aren’t familiar with how to regain account access).",{"data":50842,"content":50843,"nodeType":945},{},[50844],{"data":50845,"content":50846,"nodeType":860},{},[50847,50852,50856,50863],{"data":50848,"marks":50849,"value":50851,"nodeType":864},{},[50850],{"type":899},"Many apps do not even provide a SAML option",{"data":50853,"marks":50854,"value":50855,"nodeType":864},{},[],", making it difficult to onboard every business app to SSO even once you know about them all. Last we checked, only about 30% of commonly used work apps supported SAML. Even when apps do provide the option, many charge the infamous “",{"data":50857,"content":50858,"nodeType":883},{"uri":29107},[50859],{"data":50860,"marks":50861,"value":34583,"nodeType":864},{},[50862],{"type":1455},{"data":50864,"marks":50865,"value":50866,"nodeType":864},{},[],",” putting the feature behind enterprise plans.",{"data":50868,"content":50869,"nodeType":860},{},[50870,50875],{"data":50871,"marks":50872,"value":50874,"nodeType":864},{},[50873],{"type":899},"The impact:",{"data":50876,"marks":50877,"value":50878,"nodeType":864},{},[]," What ends up happening in many organizations is a patchwork of login methods, including passwords, passkeys, OIDC, and SAML. Looking at data from Push’s install base, we see on average around 15,000 accounts per 1,000 users, with 5,900+ outside of SSO — about 40%. ",{"data":50880,"content":50881,"nodeType":860},{},[50882],{"data":50883,"marks":50884,"value":50885,"nodeType":864},{},[],"That means more — not less — for a security and IT team to manage, often without the visibility or control they need to do so effectively.",{"data":50887,"content":50891,"nodeType":996},{"target":50888},{"sys":50889},{"id":50890,"type":1001,"linkType":1002},"2QnWVpPYRyJQaQ5TuKSSLp",[],{"data":50893,"content":50894,"nodeType":1312},{},[50895],{"data":50896,"marks":50897,"value":50899,"nodeType":864},{},[50898],{"type":899},"Human reasons",{"data":50901,"content":50902,"nodeType":860},{},[50903],{"data":50904,"marks":50905,"value":50906,"nodeType":864},{},[],"Finally, there are a lot of human reasons why poor passwords persist, all of them familiar and intractable:",{"data":50908,"content":50909,"nodeType":941},{},[50910,50925],{"data":50911,"content":50912,"nodeType":945},{},[50913],{"data":50914,"content":50915,"nodeType":860},{},[50916,50921],{"data":50917,"marks":50918,"value":50920,"nodeType":864},{},[50919],{"type":899},"Password change fatigue",{"data":50922,"marks":50923,"value":50924,"nodeType":864},{},[],", resulting in weak and reused passwords — often driven by incomplete adoption of enterprise password managers or outdated password security policies that require users to rotate passwords frequently. ",{"data":50926,"content":50927,"nodeType":945},{},[50928],{"data":50929,"content":50930,"nodeType":860},{},[50931,50936],{"data":50932,"marks":50933,"value":50935,"nodeType":864},{},[50934],{"type":899},"Shortcuts that busy humans take",{"data":50937,"marks":50938,"value":50939,"nodeType":864},{},[]," to get work done on a daily basis, including reusing passwords across personal and corporate accounts, storing passwords insecurely, and using easier-to-remember passwords over secure, complex ones.  ",{"data":50941,"content":50942,"nodeType":860},{},[50943,50947,50951,50959],{"data":50944,"marks":50945,"value":50874,"nodeType":864},{},[50946],{"type":899},{"data":50948,"marks":50949,"value":50950,"nodeType":864},{},[]," When there’s a large, complex, and largely invisible attack surface made up of these online corporate identities, adversaries profit. Just look at any of the ",{"data":50952,"content":50953,"nodeType":883},{"uri":35177},[50954],{"data":50955,"marks":50956,"value":50958,"nodeType":864},{},[50957],{"type":1455},"major identity attacks",{"data":50960,"marks":50961,"value":50962,"nodeType":864},{},[]," of the past year, some of which used password-spraying and credential-stuffing techniques to compromise accounts and pivot to high-value systems and data.",{"data":50964,"content":50965,"nodeType":860},{},[50966],{"data":50967,"marks":50968,"value":50969,"nodeType":864},{},[],"Password reuse also extends the blast radius for any account takeover incident when MFA is missing — a gap that occurs more often than you may think. Typically, 37% of logins observed by Push upon initial deployment into a new customer environment do not use any form of MFA.",{"data":50971,"content":50972,"nodeType":1116},{},[50973],{"data":50974,"content":50975,"nodeType":860},{},[50976],{"data":50977,"marks":50978,"value":50979,"nodeType":864},{},[],"2 in 5 logins observed by Push upon initial deployment into a new customer environment do not use any form of MFA.",{"data":50981,"content":50982,"nodeType":1005},{},[],{"data":50984,"content":50985,"nodeType":1009},{},[50986],{"data":50987,"marks":50988,"value":50989,"nodeType":864},{},[],"Why identity posture matters more in a SaaS-first world",{"data":50991,"content":50992,"nodeType":860},{},[50993,50997,51005],{"data":50994,"marks":50995,"value":50996,"nodeType":864},{},[],"When most work now happens via the browser on web-based applications, the stakes are even higher for preventing account takeover. That’s because the way that attacks occur in a SaaS environment is ",{"data":50998,"content":50999,"nodeType":883},{"uri":36813},[51000],{"data":51001,"marks":51002,"value":51004,"nodeType":864},{},[51003],{"type":1455},"very different",{"data":51006,"marks":51007,"value":51008,"nodeType":864},{},[]," from traditional network attacks, and there are few effective ways to detect and respond post-account compromise.",{"data":51010,"content":51011,"nodeType":860},{},[51012],{"data":51013,"marks":51014,"value":51015,"nodeType":864},{},[],"The average SaaS attack path looks like this:",{"data":51017,"content":51018,"nodeType":941},{},[51019,51029,51039],{"data":51020,"content":51021,"nodeType":945},{},[51022],{"data":51023,"content":51024,"nodeType":860},{},[51025],{"data":51026,"marks":51027,"value":51028,"nodeType":864},{},[],"Attackers gain control of legitimate employee accounts using stolen credentials or via password-spraying or credential-stuffing techniques.",{"data":51030,"content":51031,"nodeType":945},{},[51032],{"data":51033,"content":51034,"nodeType":860},{},[51035],{"data":51036,"marks":51037,"value":51038,"nodeType":864},{},[],"Attackers exfiltrate data.",{"data":51040,"content":51041,"nodeType":945},{},[51042],{"data":51043,"content":51044,"nodeType":860},{},[51045],{"data":51046,"marks":51047,"value":51048,"nodeType":864},{},[],"The end.",{"data":51050,"content":51051,"nodeType":860},{},[51052],{"data":51053,"marks":51054,"value":51055,"nodeType":864},{},[],"Compare that to traditional network or enterprise cloud attacks, which usually involve more complex lateral movement, privilege escalation, and defense evasion.",{"data":51057,"content":51058,"nodeType":860},{},[51059],{"data":51060,"marks":51061,"value":51062,"nodeType":864},{},[],"With limited log data and few response capabilities provided by most SaaS apps, security teams also have few good options to stop the damage of an account takeover once one has occurred. ",{"data":51064,"content":51065,"nodeType":860},{},[51066],{"data":51067,"marks":51068,"value":51069,"nodeType":864},{},[],"That’s why at Push, we advocate for “shifting left,” and preventing account takeover before it happens.",{"data":51071,"content":51075,"nodeType":996},{"target":51072},{"sys":51073},{"id":51074,"type":1001,"linkType":1002},"6wIzMu3jBhaas9jtpV48bz",[],{"data":51077,"content":51078,"nodeType":1005},{},[],{"data":51080,"content":51081,"nodeType":1009},{},[51082],{"data":51083,"marks":51084,"value":51085,"nodeType":864},{},[],"How Push helps you ensure strong passwords",{"data":51087,"content":51088,"nodeType":860},{},[51089],{"data":51090,"marks":51091,"value":51092,"nodeType":864},{},[],"There are four capabilities that security teams need in order to regain control over password security issues across their corporate accounts. Here’s how Push accomplishes each one.",{"data":51094,"content":51095,"nodeType":1312},{},[51096],{"data":51097,"marks":51098,"value":51100,"nodeType":864},{},[51099],{"type":899},"1. A reliable inventory of all the apps that employees are using, including work apps and internal apps.",{"data":51102,"content":51103,"nodeType":860},{},[51104],{"data":51105,"marks":51106,"value":51107,"nodeType":864},{},[],"Push achieves this by deploying a browser agent to employee browsers that can directly observe their login activity, which feeds the data back into an admin console (or your SIEM/SOAR or other third-party system). You can enforce the installation of the agent using any MDM solution, on all major browsers.",{"data":51109,"content":51110,"nodeType":860},{},[51111],{"data":51112,"marks":51113,"value":51114,"nodeType":864},{},[],"Once the agent is activated, it begins immediately capturing employee logins and produces a real-time inventory of all your work and internal apps. Because Push observes the login directly in the browser, it can identify all the apps and accounts being used by your employees — both managed and unmanaged (shadow IT).",{"data":51116,"content":51117,"nodeType":860},{},[51118,51122,51126],{"data":51119,"marks":51120,"value":51121,"nodeType":864},{},[],"You can also configure Push to monitor ",{"data":51123,"marks":51124,"value":31415,"nodeType":864},{},[51125],{"type":2246},{"data":51127,"marks":51128,"value":51129,"nodeType":864},{},[]," login to a work app, regardless of the associated email domain of the employee. This means you can monitor personal account logins to apps that are commonly used for work.",{"data":51131,"content":51135,"nodeType":996},{"target":51132},{"sys":51133},{"id":51134,"type":1001,"linkType":1002},"4ctCB7kBscj12BnfHhk3ro",[],{"data":51137,"content":51138,"nodeType":1312},{},[51139],{"data":51140,"marks":51141,"value":51143,"nodeType":864},{},[51142],{"type":899},"2. A way to identify the login methods an account is using, whether that’s SAML, OIDC, or password.",{"data":51145,"content":51146,"nodeType":860},{},[51147],{"data":51148,"marks":51149,"value":51150,"nodeType":864},{},[],"Again, because Push observes the login event, it can analyze the authentication method or methods in use by a given account. Push tells you which SSO accounts still have passwords associated with them, and which authentication methods are being actively used.",{"data":51152,"content":51156,"nodeType":996},{"target":51153},{"sys":51154},{"id":51155,"type":1001,"linkType":1002},"pVD238hZ331gjWalDTM1q",[],{"data":51158,"content":51159,"nodeType":1312},{},[51160],{"data":51161,"marks":51162,"value":51164,"nodeType":864},{},[51163],{"type":899},"3. A method for analyzing whether an employee is using secure passwords on all their accounts.",{"data":51166,"content":51167,"nodeType":860},{},[51168,51172,51181],{"data":51169,"marks":51170,"value":51171,"nodeType":864},{},[],"Using Push, you can also check the posture of all your employee accounts. The browser agent accomplishes this by ",{"data":51173,"content":51175,"nodeType":883},{"uri":51174},"https://pushsecurity.com/help/10065#start",[51176],{"data":51177,"marks":51178,"value":51180,"nodeType":864},{},[51179],{"type":1455},"creating a salted hash",{"data":51182,"marks":51183,"value":51184,"nodeType":864},{},[]," of a user’s observed password and then taking the first 8 characters of that hash to store locally in the browser.",{"data":51186,"content":51187,"nodeType":860},{},[51188],{"data":51189,"marks":51190,"value":51191,"nodeType":864},{},[],"This allows Push to analyze whether the password is weak (comparing the hash to a list of 10,000 common basewords and common permutations); or reused across accounts.",{"data":51193,"content":51194,"nodeType":860},{},[51195,51199,51208,51212,51221],{"data":51196,"marks":51197,"value":51198,"nodeType":864},{},[],"Push can also identify when employee passwords have ",{"data":51200,"content":51202,"nodeType":883},{"uri":51201},"https://pushsecurity.com/help/10066#start",[51203],{"data":51204,"marks":51205,"value":51207,"nodeType":864},{},[51206],{"type":1455},"appeared in a public breach list",{"data":51209,"marks":51210,"value":51211,"nodeType":864},{},[]," using the Have I Been Pwned service, using a k-anonymized hash. Using similar secure methods, Push can detect when employees are sharing account credentials, whether they’re using a ",{"data":51213,"content":51215,"nodeType":883},{"uri":51214},"https://pushsecurity.com/help/10085/#start",[51216],{"data":51217,"marks":51218,"value":51220,"nodeType":864},{},[51219],{"type":1455},"password manager",{"data":51222,"marks":51223,"value":51224,"nodeType":864},{},[],", and which one.",{"data":51226,"content":51227,"nodeType":860},{},[51228,51231,51240],{"data":51229,"marks":51230,"value":28488,"nodeType":864},{},[],{"data":51232,"content":51233,"nodeType":883},{"uri":35369},[51234],{"data":51235,"marks":51236,"value":51239,"nodeType":864},{},[51237,51238],{"type":1455},{"type":899},"Stolen credentials detection",{"data":51241,"marks":51242,"value":51243,"nodeType":864},{},[]," feature, you can also get alerted when an employee is using credentials that match those for sale in criminal forums. Push integrates with commercial threat intelligence sources to perform these matches, and you can also bring your own TI using the Push REST API to perform additional checks for in-use stolen creds. This check still happens locally in the browser, so no hashes are sent to third-party systems.",{"data":51245,"content":51248,"nodeType":996},{"target":51246},{"sys":51247},{"id":44007,"type":1001,"linkType":1002},[],{"data":51250,"content":51251,"nodeType":860},{},[51252,51256,51265],{"data":51253,"marks":51254,"value":51255,"nodeType":864},{},[],"If you configure Push to also monitor for employees who are logging in to work apps using ",{"data":51257,"content":51259,"nodeType":883},{"uri":51258},"https://pushsecurity.com/help/10105#start",[51260],{"data":51261,"marks":51262,"value":51264,"nodeType":864},{},[51263],{"type":1455},"personal email addresses",{"data":51266,"marks":51267,"value":51268,"nodeType":864},{},[]," or any non-corporate email, Push can identify when personal accounts and work accounts are reusing passwords for the same work application.",{"data":51270,"content":51271,"nodeType":860},{},[51272,51276,51285],{"data":51273,"marks":51274,"value":51275,"nodeType":864},{},[],"Using the Push ",{"data":51277,"content":51279,"nodeType":883},{"uri":51278},"https://pushsecurity.com/help/audience/administrators/docs/getting-started/#api-and-webhooks",[51280],{"data":51281,"marks":51282,"value":51284,"nodeType":864},{},[51283],{"type":1455},"REST API and webhooks",{"data":51286,"marks":51287,"value":51288,"nodeType":864},{},[],", you can get alerted when Push raises a security finding for an account, and when a finding is resolved.",{"data":51290,"content":51291,"nodeType":1312},{},[51292],{"data":51293,"marks":51294,"value":51296,"nodeType":864},{},[51295],{"type":899},"4. The ability to solve any issues at scale, including remediating bad passwords and enforcing MFA, even on apps where the security team doesn’t have administrative control.",{"data":51298,"content":51299,"nodeType":860},{},[51300],{"data":51301,"marks":51302,"value":51303,"nodeType":864},{},[],"Finally, you can enforce self-remediation workflows using Push’s position in the browser, right where employees are working. ",{"data":51305,"content":51306,"nodeType":860},{},[51307],{"data":51308,"marks":51309,"value":51310,"nodeType":864},{},[],"Push recently released a new in-browser control to enforce strong passwords. It works by detecting when an employee has a password security issue, and then prompting them to update their password by displaying a customizable banner message when they log in to the affected account.",{"data":51312,"content":51316,"nodeType":996},{"target":51313},{"sys":51314},{"id":51315,"type":1001,"linkType":1002},"4IfBLaE66CJSsb5h44vSNp",[],{"data":51318,"content":51319,"nodeType":860},{},[51320,51324,51331],{"data":51321,"marks":51322,"value":51323,"nodeType":864},{},[],"This control complements an existing ",{"data":51325,"content":51326,"nodeType":883},{"uri":35429},[51327],{"data":51328,"marks":51329,"value":28463,"nodeType":864},{},[51330],{"type":1455},{"data":51332,"marks":51333,"value":51334,"nodeType":864},{},[]," guardrail, which uses a similar workflow to prompt employees to register for MFA on apps where it’s missing.",{"data":51336,"content":51337,"nodeType":1005},{},[],{"data":51339,"content":51340,"nodeType":1009},{},[51341],{"data":51342,"marks":51343,"value":51345,"nodeType":864},{},[51344],{"type":899},"A closer look at password enforcement",{"data":51347,"content":51348,"nodeType":860},{},[51349,51353,51357],{"data":51350,"marks":51351,"value":51352,"nodeType":864},{},[],"In the spirit of helping users do the right thing, we designed the",{"data":51354,"marks":51355,"value":1171,"nodeType":864},{},[51356],{"type":899},{"data":51358,"marks":51359,"value":51360,"nodeType":864},{},[],"password enforcement control to meet users where they are, in the most relevant context where they can fix the problem. ",{"data":51362,"content":51363,"nodeType":860},{},[51364],{"data":51365,"marks":51366,"value":51367,"nodeType":864},{},[],"Because this control is powered by the Push browser agent, security teams don’t need administrative control over every app where password accounts exist — which often isn’t practical for all the reasons we reviewed earlier. Instead, they can use Push to prompt employees to fix the issue themselves.",{"data":51369,"content":51370,"nodeType":860},{},[51371],{"data":51372,"marks":51373,"value":51374,"nodeType":864},{},[],"Here’s a closer look at how it works:",{"data":51376,"content":51377,"nodeType":941},{},[51378,51405,51415],{"data":51379,"content":51380,"nodeType":945},{},[51381],{"data":51382,"content":51383,"nodeType":860},{},[51384,51388,51392,51396,51401],{"data":51385,"marks":51386,"value":51387,"nodeType":864},{},[],"You can enable ",{"data":51389,"marks":51390,"value":28471,"nodeType":864},{},[51391],{"type":899},{"data":51393,"marks":51394,"value":51395,"nodeType":864},{},[]," from the tile on the ",{"data":51397,"marks":51398,"value":51400,"nodeType":864},{},[51399],{"type":899},"Controls",{"data":51402,"marks":51403,"value":51404,"nodeType":864},{},[]," page of the Push admin console. ",{"data":51406,"content":51407,"nodeType":945},{},[51408],{"data":51409,"content":51410,"nodeType":860},{},[51411],{"data":51412,"marks":51413,"value":51414,"nodeType":864},{},[],"Using the rule editor, select whether you want to apply the control for all employees, or just specific groups or individuals, and which apps it should apply to. You can also select which types of password security issues you want to prompt users about.",{"data":51416,"content":51417,"nodeType":945},{},[51418],{"data":51419,"content":51420,"nodeType":860},{},[51421],{"data":51422,"marks":51423,"value":51424,"nodeType":864},{},[],"Then customize the message that employees will see. Push will then automatically display the banner based on your criteria. Where possible, Push will include a link in the banner that takes employees directly to the page in the app where they can change their password — or you can add a link yourself.",{"data":51426,"content":51429,"nodeType":996},{"target":51427},{"sys":51428},{"id":35495,"type":1001,"linkType":1002},[],{"data":51431,"content":51432,"nodeType":860},{},[51433],{"data":51434,"marks":51435,"value":51436,"nodeType":864},{},[],"Once the password has been changed and Push verifies that the new password is strong, you’ll see the security finding cleared from the account record in the admin console and the banner will no longer display to the end-user.",{"data":51438,"content":51439,"nodeType":860},{},[51440],{"data":51441,"marks":51442,"value":51443,"nodeType":864},{},[],"Push also sends webhook events when:",{"data":51445,"content":51446,"nodeType":941},{},[51447,51457,51467,51477],{"data":51448,"content":51449,"nodeType":945},{},[51450],{"data":51451,"content":51452,"nodeType":860},{},[51453],{"data":51454,"marks":51455,"value":51456,"nodeType":864},{},[],"A banner is displayed",{"data":51458,"content":51459,"nodeType":945},{},[51460],{"data":51461,"content":51462,"nodeType":860},{},[51463],{"data":51464,"marks":51465,"value":51466,"nodeType":864},{},[],"A user clicks the link in the banner to take action",{"data":51468,"content":51469,"nodeType":945},{},[51470],{"data":51471,"content":51472,"nodeType":860},{},[51473],{"data":51474,"marks":51475,"value":51476,"nodeType":864},{},[],"A password is updated",{"data":51478,"content":51479,"nodeType":945},{},[51480],{"data":51481,"content":51482,"nodeType":860},{},[51483],{"data":51484,"marks":51485,"value":51486,"nodeType":864},{},[],"A password security finding is resolved",{"data":51488,"content":51489,"nodeType":1005},{},[],{"data":51491,"content":51492,"nodeType":1009},{},[51493],{"data":51494,"marks":51495,"value":51497,"nodeType":864},{},[51496],{"type":899},"Where to begin",{"data":51499,"content":51500,"nodeType":860},{},[51501],{"data":51502,"marks":51503,"value":51504,"nodeType":864},{},[],"Most organizations we work with deploy the Push agent first to get an initial understanding of their attack surface and account posture issues. Then we recommend enabling the one-two punch of MFA and strong password enforcement guardrails. You can use both controls in tandem, and Push will first seek to resolve the password issues on a given account, and then prompt the user to register for MFA.",{"data":51506,"content":51507,"nodeType":1005},{},[],{"data":51509,"content":51510,"nodeType":1009},{},[51511],{"data":51512,"marks":51513,"value":36405,"nodeType":864},{},[],{"data":51515,"content":51516,"nodeType":860},{},[51517,51521,51528],{"data":51518,"marks":51519,"value":51520,"nodeType":864},{},[],"If you want to learn more about how Push helps you to detect and defeat common identity attack techniques like AiTM phishing, credential stuffing, and session hijacking while improving your workforce identity posture, book some time with one of our team for a ",{"data":51522,"content":51523,"nodeType":883},{"uri":5642},[51524],{"data":51525,"marks":51526,"value":2715,"nodeType":864},{},[51527],{"type":1455},{"data":51529,"marks":51530,"value":2924,"nodeType":864},{},[],"Introducing Push password enforcement — for when weak passwords are still plaguing you","Detects when employees have weak, reused, or stolen passwords and guide them to update their password using in-browser messaging on any app. ","introducing-strong-password-enforcement",{"items":51535},[51536,51538],{"sys":51537,"name":297},{"id":2732},{"sys":51539,"name":6593},{"id":6592},{"items":51541},[51542],{"fullName":849,"firstName":850,"jobTitle":851,"profilePicture":51543},{"url":853},{"__typename":2059,"sys":51545,"content":51547,"title":52307,"synopsis":52308,"hashTags":59,"publishedDate":52309,"slug":52310,"tagsCollection":52311,"authorsCollection":52317},{"id":51546},"3RhqaMQEBAQBdfHDQeoELF",{"json":51548},{"data":51549,"content":51550,"nodeType":856},{},[51551,51558,51591,51598,51617,51624,51627,51634,51641,51647,51654,51660,51666,51673,51690,51696,51703,51706,51714,51733,51756,51763,51771,51778,51785,51791,51799,51818,51837,51843,51850,51856,51864,51896,51902,51909,51912,51920,51927,51947,51954,51960,51968,51975,51982,51989,51996,52064,52071,52079,52098,52104,52111,52118,52124,52131,52137,52145,52152,52158,52164,52171,52174,52181,52211,52218,52237,52244,52255,52262,52265,52272,52290],{"data":51552,"content":51553,"nodeType":860},{},[51554],{"data":51555,"marks":51556,"value":51557,"nodeType":864},{},[],"Phishing attacks using Attacker-in-the-Middle (AitM) kits are increasingly the default for both credential harvesting campaigns and targeted phishing attacks. It’s easy to see why, too:",{"data":51559,"content":51560,"nodeType":941},{},[51561,51571,51581],{"data":51562,"content":51563,"nodeType":945},{},[51564],{"data":51565,"content":51566,"nodeType":860},{},[51567],{"data":51568,"marks":51569,"value":51570,"nodeType":864},{},[],"They’re very difficult to spot as a user and often function like the real page should, logging the victim into the genuine site once the phish is complete",{"data":51572,"content":51573,"nodeType":945},{},[51574],{"data":51575,"content":51576,"nodeType":860},{},[51577],{"data":51578,"marks":51579,"value":51580,"nodeType":864},{},[],"They’re incredibly scalable, and attackers have an increasing number of options to choose from when it comes to off-the-shelf tools and commercial Phishing-as-a-Service offerings ",{"data":51582,"content":51583,"nodeType":945},{},[51584],{"data":51585,"content":51586,"nodeType":860},{},[51587],{"data":51588,"marks":51589,"value":51590,"nodeType":864},{},[],"And most importantly, they reliably bypass 99% of the MFA methods encountered in the wild, defeating OTP, SMS and push-based authentication",{"data":51592,"content":51593,"nodeType":860},{},[51594],{"data":51595,"marks":51596,"value":51597,"nodeType":864},{},[],"There are basically no downsides to AitM for an attacker. But all the same, they don’t get all that much publicity — probably because traditional phishing prevention solutions are failing to detect them (before the attack succeeds, anyway — and nobody really wants to own up to that). ",{"data":51599,"content":51600,"nodeType":860},{},[51601,51605,51614],{"data":51602,"marks":51603,"value":51604,"nodeType":864},{},[],"So, it’s refreshing to see Troy Hunt, creator of the widely used Have I Been Pwned (HIBP) service, ",{"data":51606,"content":51608,"nodeType":883},{"uri":51607},"https://www.troyhunt.com/a-sneaky-phish-just-grabbed-my-mailchimp-mailing-list/",[51609],{"data":51610,"marks":51611,"value":51613,"nodeType":864},{},[51612],{"type":1455},"publicly discussing a recent attack he fell victim to",{"data":51615,"marks":51616,"value":12252,"nodeType":864},{},[],{"data":51618,"content":51619,"nodeType":860},{},[51620],{"data":51621,"marks":51622,"value":51623,"nodeType":864},{},[],"Before we consider the significance of Troy failing to spot the phish — the creator of one of the most widely used services for stolen passwords, working with government on phishing prevention guidance — let's start by breaking down the attack itself. ",{"data":51625,"content":51626,"nodeType":1005},{},[],{"data":51628,"content":51629,"nodeType":1009},{},[51630],{"data":51631,"marks":51632,"value":5002,"nodeType":864},{},[51633],{"type":899},{"data":51635,"content":51636,"nodeType":860},{},[51637],{"data":51638,"marks":51639,"value":51640,"nodeType":864},{},[],"Troy received a phishing email appearing to be from MailChimp prompting him to sign into his account, with the lure informing him it had had been restricted due to a spam complaint",{"data":51642,"content":51646,"nodeType":996},{"target":51643},{"sys":51644},{"id":51645,"type":1001,"linkType":1002},"5A4CPvTyKhClC8LgHY5916",[],{"data":51648,"content":51649,"nodeType":860},{},[51650],{"data":51651,"marks":51652,"value":51653,"nodeType":864},{},[],"The email matched Mailchimp’s brand, but the sender address was obviously suspicious. Unfortunately, Troy initially accessed the email via mobile, which hid the sender address — which he then missed when accessing from his PC. ",{"data":51655,"content":51659,"nodeType":996},{"target":51656},{"sys":51657},{"id":51658,"type":1001,"linkType":1002},"1JWw4jO3qxxJeHO3qtMuZc",[],{"data":51661,"content":51665,"nodeType":996},{"target":51662},{"sys":51663},{"id":51664,"type":1001,"linkType":1002},"1ebM2R90arTKlCmxmtvYjz",[],{"data":51667,"content":51668,"nodeType":860},{},[51669],{"data":51670,"marks":51671,"value":51672,"nodeType":864},{},[],"Troy was directed to the page hxxps://mailchimp-sso.com. Troy entered his credentials and MFA token and logged in. The page hung and he realized he had been phished…",{"data":51674,"content":51675,"nodeType":860},{},[51676,51680,51687],{"data":51677,"marks":51678,"value":51679,"nodeType":864},{},[],"The attack then automatically executed, with the attacker exporting 16,000 contact records from MailChimp and creating an API key to provide backdoor access to the app (a form of ",{"data":51681,"content":51682,"nodeType":883},{"uri":26784},[51683],{"data":51684,"marks":51685,"value":34626,"nodeType":864},{},[51686],{"type":1455},{"data":51688,"marks":51689,"value":22438,"nodeType":864},{},[],{"data":51691,"content":51695,"nodeType":996},{"target":51692},{"sys":51693},{"id":51694,"type":1001,"linkType":1002},"2MDWfQFU69GaiMCxdvvq8U",[],{"data":51697,"content":51698,"nodeType":860},{},[51699],{"data":51700,"marks":51701,"value":51702,"nodeType":864},{},[],"Let’s have a look at what makes this attack interesting. ",{"data":51704,"content":51705,"nodeType":1005},{},[],{"data":51707,"content":51708,"nodeType":1009},{},[51709],{"data":51710,"marks":51711,"value":51713,"nodeType":864},{},[51712],{"type":899},"Breaking the attack down",{"data":51715,"content":51716,"nodeType":860},{},[51717,51721,51729],{"data":51718,"marks":51719,"value":51720,"nodeType":864},{},[],"As far as ",{"data":51722,"content":51723,"nodeType":883},{"uri":43629},[51724],{"data":51725,"marks":51726,"value":51728,"nodeType":864},{},[51727],{"type":1455},"some of the AitM attacks we’ve observed in the wild",{"data":51730,"marks":51731,"value":51732,"nodeType":864},{},[]," go, this wasn’t the most advanced example we’ve seen: ",{"data":51734,"content":51735,"nodeType":941},{},[51736,51746],{"data":51737,"content":51738,"nodeType":945},{},[51739],{"data":51740,"content":51741,"nodeType":860},{},[51742],{"data":51743,"marks":51744,"value":51745,"nodeType":864},{},[],"It didn’t try to obfuscate the notably suspicious sender address or use a legit SaaS service to give the email sender a reputable domain.",{"data":51747,"content":51748,"nodeType":945},{},[51749],{"data":51750,"content":51751,"nodeType":860},{},[51752],{"data":51753,"marks":51754,"value":51755,"nodeType":864},{},[],"It didn’t see the victim access the real login page, and instead terminated the connection at the point the credentials were captured — meaning Troy was immediately suspicious (I guess it doesn’t really matter given the attack executed instantly, automatically).",{"data":51757,"content":51758,"nodeType":860},{},[51759],{"data":51760,"marks":51761,"value":51762,"nodeType":864},{},[],"That said, it did use a few interesting tricks and techniques. ",{"data":51764,"content":51765,"nodeType":1312},{},[51766],{"data":51767,"marks":51768,"value":51770,"nodeType":864},{},[51769],{"type":899},"Enumerating suitable victims",{"data":51772,"content":51773,"nodeType":860},{},[51774],{"data":51775,"marks":51776,"value":51777,"nodeType":864},{},[],"It’s notable that Troy claims the email he used to access MailChimp wasn’t used anywhere else — meaning the attacker probably guessed it. The domain is partially obscured here but it's likely that this is Troy’s own personal domain. It isn’t too much of a stretch to imagine that organizations frequently set up dedicated email addresses for their MailChimp accounts or newsletters generally (e.g. mailchimp@exampledomain.com). ",{"data":51779,"content":51780,"nodeType":860},{},[51781],{"data":51782,"marks":51783,"value":51784,"nodeType":864},{},[],"Undeniably, Troy’s MailChimp account is probably more of a target than most given the success of his newsletter, but it’s still likely that the attacker spammed many possible address and domain combinations to see what stuck. There’s a degree of luck, but also some smart guesswork at play here. ",{"data":51786,"content":51790,"nodeType":996},{"target":51787},{"sys":51788},{"id":51789,"type":1001,"linkType":1002},"5TgXthj5tsvWX87QHZH1WQ",[],{"data":51792,"content":51793,"nodeType":1312},{},[51794],{"data":51795,"marks":51796,"value":51798,"nodeType":864},{},[51797],{"type":899},"Using legit services like Cloudflare to defeat detections ",{"data":51800,"content":51801,"nodeType":860},{},[51802,51806,51814],{"data":51803,"marks":51804,"value":51805,"nodeType":864},{},[],"The attacker used Cloudflare to host the domain, which is ",{"data":51807,"content":51808,"nodeType":883},{"uri":48151},[51809],{"data":51810,"marks":51811,"value":51813,"nodeType":864},{},[51812],{"type":1455},"consistent with what we’ve observed attackers doing in the wild",{"data":51815,"marks":51816,"value":51817,"nodeType":864},{},[],". Even if this means that Cloudflare will probably take the domain down eventually, they aren’t great at identifying the page right away. Given the rate at which attacker infrastructure is burned and rotated, the pros outweigh the cons for the attacker by giving the site legitimate hosting infrastructure, which can defeat some of the common checks performed by anti-phishing tools.",{"data":51819,"content":51820,"nodeType":860},{},[51821,51825,51833],{"data":51822,"marks":51823,"value":51824,"nodeType":864},{},[],"Troy also mentions seeing a 'Cloudflare anti-automation widget' when accessing the page, which is most likely Cloudflare Turnstile — a creative alternative to CAPTCHA to prevent security bots from accessing and loading malicious pages to analyse them. We've seen attackers use Turnstile ",{"data":51826,"content":51827,"nodeType":883},{"uri":48151},[51828],{"data":51829,"marks":51830,"value":51832,"nodeType":864},{},[51831],{"type":1455},"along with a host of other obfuscation techniques",{"data":51834,"marks":51835,"value":51836,"nodeType":864},{},[]," to defeat common detections by preventing security tools from analysing the malicious page. ",{"data":51838,"content":51842,"nodeType":996},{"target":51839},{"sys":51840},{"id":51841,"type":1001,"linkType":1002},"2X1r1qbE5CVcJ0xVcESGK7",[],{"data":51844,"content":51845,"nodeType":860},{},[51846],{"data":51847,"marks":51848,"value":51849,"nodeType":864},{},[],"Although this page has now been taken down, the campaign undoubtedly continues — another will have been rotated in to take its place. ",{"data":51851,"content":51855,"nodeType":996},{"target":51852},{"sys":51853},{"id":51854,"type":1001,"linkType":1002},"26wnNFTED2f6O1HtqL3Cgu",[],{"data":51857,"content":51858,"nodeType":1312},{},[51859],{"data":51860,"marks":51861,"value":51863,"nodeType":864},{},[51862],{"type":899},"Configuring ghost logins via API keys to backdoor the account ",{"data":51865,"content":51866,"nodeType":860},{},[51867,51871,51880,51884,51892],{"data":51868,"marks":51869,"value":51870,"nodeType":864},{},[],"The attacker also configured an API key — a smart way to backdoor an app and something we’ve previously ",{"data":51872,"content":51874,"nodeType":883},{"uri":51873},"https://pushsecurity.com/resources/phishing-detecting-evilginx-evilnovnc-muraena-and-modlishka",[51875],{"data":51876,"marks":51877,"value":51879,"nodeType":864},{},[51878],{"type":1455},"demonstrated in our webinars",{"data":51881,"marks":51882,"value":51883,"nodeType":864},{},[]," as a ",{"data":51885,"content":51886,"nodeType":883},{"uri":6418},[51887],{"data":51888,"marks":51889,"value":51891,"nodeType":864},{},[51890],{"type":1455},"SaaS-native attack technique",{"data":51893,"marks":51894,"value":51895,"nodeType":864},{},[]," for persistence. It means that even if the credentials are changed, the attacker can maintain access to the account.",{"data":51897,"content":51901,"nodeType":996},{"target":51898},{"sys":51899},{"id":51900,"type":1001,"linkType":1002},"35GkKL1rXnWHNZa1EBHLyD",[],{"data":51903,"content":51904,"nodeType":860},{},[51905],{"data":51906,"marks":51907,"value":51908,"nodeType":864},{},[],"Now, as a security pro, Troy noticed this and deleted it — but many less technical victims wouldn’t know to do this. It’s also not unusual for automated emails from applications to go to spam — meaning some victims potentially wouldn’t spot the notification sent to them. ",{"data":51910,"content":51911,"nodeType":1005},{},[],{"data":51913,"content":51914,"nodeType":1009},{},[51915],{"data":51916,"marks":51917,"value":51919,"nodeType":864},{},[51918],{"type":899},"But — why MailChimp? ",{"data":51921,"content":51922,"nodeType":860},{},[51923],{"data":51924,"marks":51925,"value":51926,"nodeType":864},{},[],"This was the big question we asked ourselves when looking into this attack. Most phishing attacks targeting businesses tend to focus on core platforms like Microsoft, Google Workspace, etc. — usually Identity Providers (IdPs) that provide both access to email and downstream apps via SSO. It’s the biggest bang for their buck and most tooling is preconfigured to support these platforms. So MailChimp seems an unusual choice at first glance. ",{"data":51928,"content":51929,"nodeType":860},{},[51930,51934,51943],{"data":51931,"marks":51932,"value":51933,"nodeType":864},{},[],"But, we’ve seen recently that it's getting easier for attackers to ",{"data":51935,"content":51937,"nodeType":883},{"uri":51936},"https://www.bleepingcomputer.com/news/security/darcula-phaas-can-now-auto-generate-phishing-kits-for-any-brand/",[51938],{"data":51939,"marks":51940,"value":51942,"nodeType":864},{},[51941],{"type":1455},"impersonate a broader range of brands",{"data":51944,"marks":51945,"value":51946,"nodeType":864},{},[],". And there’s something to be said for targeting an app like MailChimp — your guard is naturally probably lower than it would be for a Microsoft-based phish, increasing the chance of success. ",{"data":51948,"content":51949,"nodeType":860},{},[51950],{"data":51951,"marks":51952,"value":51953,"nodeType":864},{},[],"But what’s the payout? The data collected doesn’t seem to be overly valuable — 16k records including email address, IP, and rough geolocation data. Not particularly exploitable by itself…",{"data":51955,"content":51959,"nodeType":996},{"target":51956},{"sys":51957},{"id":51958,"type":1001,"linkType":1002},"OjZtHXit6WO6Zd9tCUYpJ",[],{"data":51961,"content":51962,"nodeType":1312},{},[51963],{"data":51964,"marks":51965,"value":51967,"nodeType":864},{},[51966],{"type":899},"Part of a multi stage attack? ",{"data":51969,"content":51970,"nodeType":860},{},[51971],{"data":51972,"marks":51973,"value":51974,"nodeType":864},{},[],"This gets a lot more interesting when you consider the different things an attacker might do as part of a broader campaign. ",{"data":51976,"content":51977,"nodeType":860},{},[51978],{"data":51979,"marks":51980,"value":51981,"nodeType":864},{},[],"With access to MailChimp, an attacker can send emails on behalf of the compromised account. These emails are highly trusted and expected from the sender, meaning people receiving them are much more likely to engage with the content, click the links, etc. ",{"data":51983,"content":51984,"nodeType":860},{},[51985],{"data":51986,"marks":51987,"value":51988,"nodeType":864},{},[],"So what if an attacker compromised an account, inserted a load of malicious links into the newsletter, and used it in itself as a mass-phishing vector, designed to capture user credentials or deliver malware? Pretty devious! If you scale this up across multiple victims (and not all of them realize that they’ve been phished) you’ve suddenly got your hands on an incredibly valuable phishing vector that is much more likely to succeed than your average cold approach. ",{"data":51990,"content":51991,"nodeType":860},{},[51992],{"data":51993,"marks":51994,"value":51995,"nodeType":864},{},[],"Then, with the additional victims, you could target accounts that are much more inherently valuable to an attacker. You could:",{"data":51997,"content":51998,"nodeType":941},{},[51999,52031,52054],{"data":52000,"content":52001,"nodeType":945},{},[52002],{"data":52003,"content":52004,"nodeType":860},{},[52005,52009,52016,52020,52027],{"data":52006,"marks":52007,"value":52008,"nodeType":864},{},[],"Deploy infostealer malware, which has dominated the headlines since the success of the ",{"data":52010,"content":52011,"nodeType":883},{"uri":3751},[52012],{"data":52013,"marks":52014,"value":29323,"nodeType":864},{},[52015],{"type":1455},{"data":52017,"marks":52018,"value":52019,"nodeType":864},{},[]," attacks last year, and are continually resulting in data breaches via attackers logging into apps using stolen credentials such as the recent attacks on ",{"data":52021,"content":52022,"nodeType":883},{"uri":18552},[52023],{"data":52024,"marks":52025,"value":29345,"nodeType":864},{},[52026],{"type":1455},{"data":52028,"marks":52029,"value":52030,"nodeType":864},{},[]," platforms.",{"data":52032,"content":52033,"nodeType":945},{},[52034],{"data":52035,"content":52036,"nodeType":860},{},[52037,52041,52050],{"data":52038,"marks":52039,"value":52040,"nodeType":864},{},[],"Target personal apps for banking, email, e-com, and other easily monetizable services — which is increasingly easy to do at-scale using ",{"data":52042,"content":52044,"nodeType":883},{"uri":52043},"https://www.bleepingcomputer.com/news/security/new-atlantis-aio-automates-credential-stuffing-on-140-services/",[52045],{"data":52046,"marks":52047,"value":52049,"nodeType":864},{},[52048],{"type":1455},"tooling for hire",{"data":52051,"marks":52052,"value":52053,"nodeType":864},{},[]," with stolen credentials.",{"data":52055,"content":52056,"nodeType":945},{},[52057],{"data":52058,"content":52059,"nodeType":860},{},[52060],{"data":52061,"marks":52062,"value":52063,"nodeType":864},{},[],"Even attempt to deploy ransomware and other malicious software to progress an attack on user devices and networks (a pretty relevant use case for the many subscribers of Troy’s newsletter accessing it on their corporate device!).",{"data":52065,"content":52066,"nodeType":860},{},[52067],{"data":52068,"marks":52069,"value":52070,"nodeType":864},{},[],"Even grabbing the list of newsletter sign-ups could enable the attacker to perform this attack from a different MailChimp account, so anyone subscribed to Troy’s newsletter should be wary of emails impersonating Troy’s newsletter reaching them from a different sender address than usual. ",{"data":52072,"content":52073,"nodeType":1312},{},[52074],{"data":52075,"marks":52076,"value":52078,"nodeType":864},{},[52077],{"type":899},"Account security limitations",{"data":52080,"content":52081,"nodeType":860},{},[52082,52086,52094],{"data":52083,"marks":52084,"value":52085,"nodeType":864},{},[],"On the theme of MailChimp, it’s also notable that MailChimp doesn’t appear to offer SAML support. ",{"data":52087,"content":52089,"nodeType":883},{"uri":52088},"https://www.okta.com/integrations/mailchimp/",[52090],{"data":52091,"marks":52092,"value":52093,"nodeType":864},{},[],"Okta lists the app as only available for SWA",{"data":52095,"marks":52096,"value":52097,"nodeType":864},{},[]," (where separate credentials are created to access the app, managed through Okta — more like a password manager than genuine SSO via SAML or OIDC).",{"data":52099,"content":52103,"nodeType":996},{"target":52100},{"sys":52101},{"id":52102,"type":1001,"linkType":1002},"7b4RZhUIqJMF1OxmyR0qKH",[],{"data":52105,"content":52106,"nodeType":860},{},[52107],{"data":52108,"marks":52109,"value":52110,"nodeType":864},{},[],"This means you’re forced to use a username and password. Your only SSO option is to sign in with Google — which many non-Google Workspace users may not have access to. ",{"data":52112,"content":52113,"nodeType":860},{},[52114],{"data":52115,"marks":52116,"value":52117,"nodeType":864},{},[],"As Troy points out, MailChimp also fails to offer support for phishing-resistant MFA. This is pretty typical (if disappointing) for the long tail of SaaS apps, which typically leave WebAuthn / passkey support to the IdP. Except in this case, support for SSO in general is limited, meaning you can only use passkeys if you’re logging in with Google. ",{"data":52119,"content":52123,"nodeType":996},{"target":52120},{"sys":52121},{"id":52122,"type":1001,"linkType":1002},"2lT7fBiOq4JxpMxSLrdUOv",[],{"data":52125,"content":52126,"nodeType":860},{},[52127],{"data":52128,"marks":52129,"value":52130,"nodeType":864},{},[],"So it’s possible that attackers have noticed that accounts in MailChimp are far more likely to have insecure accounts than other traditional phishing targets — simply because they cannot be configured as securely. ",{"data":52132,"content":52136,"nodeType":996},{"target":52133},{"sys":52134},{"id":52135,"type":1001,"linkType":1002},"30APqb65kzTA4ySWJIkxGh",[],{"data":52138,"content":52139,"nodeType":1312},{},[52140],{"data":52141,"marks":52142,"value":52144,"nodeType":864},{},[52143],{"type":899},"It might not just be MailChimp",{"data":52146,"content":52147,"nodeType":860},{},[52148],{"data":52149,"marks":52150,"value":52151,"nodeType":864},{},[],"It looks like the same attackers have previously targeted ActiveCampaign, a marketing email and automation platform, based on GitHub comments from December. A domain previously flagged as malicious relating to ActiveCampaign currently redirects to the malicious MailChimp domain seen in Troy’s attack.",{"data":52153,"content":52157,"nodeType":996},{"target":52154},{"sys":52155},{"id":52156,"type":1001,"linkType":1002},"7M8W9vAYdqPN8NMU8Ug7jq",[],{"data":52159,"content":52163,"nodeType":996},{"target":52160},{"sys":52161},{"id":52162,"type":1001,"linkType":1002},"7CJfZwc9BpzIL7Fma1Y6o1",[],{"data":52165,"content":52166,"nodeType":860},{},[52167],{"data":52168,"marks":52169,"value":52170,"nodeType":864},{},[],"This could point to a broader campaign targeting similar SaaS platforms for marketing automation and email distribution.",{"data":52172,"content":52173,"nodeType":1005},{},[],{"data":52175,"content":52176,"nodeType":1009},{},[52177],{"data":52178,"marks":52179,"value":18731,"nodeType":864},{},[52180],{"type":899},{"data":52182,"content":52183,"nodeType":860},{},[52184,52188,52195,52198,52207],{"data":52185,"marks":52186,"value":52187,"nodeType":864},{},[],"MailChimp might seem an unusual target but there are a lot of ways that attackers can abuse SaaS services, as we’ve discussed at length in our public research with the ",{"data":52189,"content":52190,"nodeType":883},{"uri":6418},[52191],{"data":52192,"marks":52193,"value":37864,"nodeType":864},{},[52194],{"type":1455},{"data":52196,"marks":52197,"value":902,"nodeType":864},{},[],{"data":52199,"content":52201,"nodeType":883},{"uri":52200},"https://pushsecurity.com/resources/",[52202],{"data":52203,"marks":52204,"value":52206,"nodeType":864},{},[52205],{"type":1455},"many webinars and conference talks",{"data":52208,"marks":52209,"value":52210,"nodeType":864},{},[],". Account takeover through modern phishing attacks like the one we've analysed here is key to unlocking this attack surface. ",{"data":52212,"content":52213,"nodeType":860},{},[52214],{"data":52215,"marks":52216,"value":52217,"nodeType":864},{},[],"While the vast majority of phishing attacks that we observe do focus on core platforms like Microsoft, Google Workspace and Okta, it makes sense that attackers are broadening their focus to take advantage of the fact that phishing targeting these accounts is less obviously a target, and these accounts are often much less securely configured. But there are many ways to target the interconnected ecosystem of SaaS apps in creative ways that most organizations (and users) are seriously underprepared for. ",{"data":52219,"content":52220,"nodeType":860},{},[52221,52225,52233],{"data":52222,"marks":52223,"value":52224,"nodeType":864},{},[],"Attackers have been targeting consumers and individuals via their sprawl of internet apps for some time — are more business-focused threat groups waking up to the opportunity of targeting SaaS? After all, it’s a ",{"data":52226,"content":52227,"nodeType":883},{"uri":36813},[52228],{"data":52229,"marks":52230,"value":52232,"nodeType":864},{},[52231],{"type":1455},"great way to evade established controls elsewhere on the network and endpoints",{"data":52234,"marks":52235,"value":52236,"nodeType":864},{},[],", and you can achieve your objectives simply by logging in to (often weakly secured) user accounts.  ",{"data":52238,"content":52239,"nodeType":860},{},[52240],{"data":52241,"marks":52242,"value":52243,"nodeType":864},{},[],"The moral of the story? Phishing attacks are getting pretty sophisticated (and often much more sophisticated than this). Even security pros get phished sometimes!",{"data":52245,"content":52246,"nodeType":1116},{},[52247],{"data":52248,"content":52249,"nodeType":860},{},[52250],{"data":52251,"marks":52252,"value":52254,"nodeType":864},{},[52253],{"type":899},"This is clear indicator that we need stronger technical controls to prevent phishing. If even someone like Troy can be phished, the only reasonable conclusion is that humans will always be susceptible to phishing, no matter how much awareness training they receive. ",{"data":52256,"content":52257,"nodeType":860},{},[52258],{"data":52259,"marks":52260,"value":52261,"nodeType":864},{},[],"A big thanks to Troy for sharing his write-up of the incident!",{"data":52263,"content":52264,"nodeType":1005},{},[],{"data":52266,"content":52267,"nodeType":1009},{},[52268],{"data":52269,"marks":52270,"value":8991,"nodeType":864},{},[52271],{"type":899},{"data":52273,"content":52274,"nodeType":860},{},[52275,52279,52287],{"data":52276,"marks":52277,"value":52278,"nodeType":864},{},[],"Push takes a unique browser-based approach to detecting and intercepting phishing attacks that overcomes many of the tricks and techniques attackers use to defeat conventional anti-phishing controls. To learn more, ",{"data":52280,"content":52281,"nodeType":883},{"uri":50177},[52282],{"data":52283,"marks":52284,"value":52286,"nodeType":864},{},[52285],{"type":1455},"check out our recent blog post",{"data":52288,"marks":52289,"value":12252,"nodeType":864},{},[],{"data":52291,"content":52292,"nodeType":860},{},[52293,52297,52304],{"data":52294,"marks":52295,"value":52296,"nodeType":864},{},[],"And if you want to see how Push helps you to detect and defeat common identity attack techniques like AiTM phishing, credential stuffing, and session hijacking while improving your workforce identity posture, book some time with one of our team for a ",{"data":52298,"content":52299,"nodeType":883},{"uri":5642},[52300],{"data":52301,"marks":52302,"value":2715,"nodeType":864},{},[52303],{"type":1455},{"data":52305,"marks":52306,"value":2924,"nodeType":864},{},[],"Dissecting a recent MailChimp phishing attack","HIBP creator and well-known security person Troy Hunt recently blogged about a phish he fell for. Here’s what it tells us about how phishing is evolving. ","2025-03-28T00:00:00.000Z","dissecting-a-recent-mailchimp-phishing-attack",{"items":52312},[52313,52315],{"sys":52314,"name":6593},{"id":6592},{"sys":52316,"name":342},{"id":6596},{"items":52318},[52319],{"fullName":2736,"firstName":2737,"jobTitle":2738,"profilePicture":52320},{"url":2740},"how-consent-phishing-is-evolving","blog/how-consent-phishing-is-evolving",{"json":52324},{"data":52325,"content":52326,"nodeType":856},{},[52327],{"data":52328,"content":52329,"nodeType":860},{},[52330],{"data":52331,"marks":52332,"value":52333,"nodeType":864},{},[],"Consent phishing is where attackers trick users into authorizing malicious OAuth apps. But we’re now seeing different use cases emerge as attackers get creative to evade detection controls. ","Consent phishing is where attackers trick users into authorizing access for malicious OAuth apps. Here's how attackers are using this technique in the wild.",{"id":52336,"publishedAt":52337},"3uLWz59In1waXGcLB9cnPq","2026-08-12T11:54:19.725Z",{"items":52339},[52340,52342],{"sys":52341,"name":6593},{"id":6592},{"sys":52343,"name":342},{"id":6596},{"items":52345},[52346,52348,52350,52352,52354,52356,52358,52360,52362,52364,52366,52368,52370],{"sys":52347,"name":279,"slug":280,"tier":31},{"id":276},{"sys":52349,"name":519,"slug":520,"tier":31},{"id":516},{"sys":52351,"name":413,"slug":414,"tier":31},{"id":410},{"sys":52353,"name":342,"slug":343,"tier":31},{"id":339},{"sys":52355,"name":545,"slug":546,"tier":31},{"id":542},{"sys":52357,"name":484,"slug":485,"tier":45},{"id":481},{"sys":52359,"name":466,"slug":467,"tier":45},{"id":463},{"sys":52361,"name":324,"slug":325,"tier":45},{"id":321},{"sys":52363,"name":261,"slug":262,"tier":45},{"id":258},{"sys":52365,"name":511,"slug":512,"tier":45},{"id":508},{"sys":52367,"name":475,"slug":476,"tier":45},{"id":472},{"sys":52369,"name":351,"slug":352,"tier":45},{"id":348},{"sys":52371,"name":431,"slug":432,"tier":45},{"id":428},"tL7vLeOjP6-Zk1gOX0I9dYrUJ7xE1dGuOsosarGZtZA",{"id":52374,"title":52307,"authorsCollection":52375,"content":52380,"extension":228,"faqItemsCollection":53156,"faqTitle":59,"featured":6,"hashTags":59,"meta":53158,"metaTitle":53159,"ogImage":53160,"postType":23466,"publishedDate":52309,"relatedBlogPostsCollection":53161,"slug":52310,"stem":54473,"subtitle":59,"summary":54474,"synopsis":52308,"sys":54485,"tagsCollection":54487,"topicsCollection":54493,"__hash__":54533},"blog/blog/dissecting-a-recent-mailchimp-phishing-attack.json",{"items":52376},[52377],{"fullName":2736,"firstName":2737,"jobTitle":2738,"socialLinks":52378,"profilePicture":52379},[11304],{"url":2740},{"json":52381,"links":53040},{"data":52382,"content":52383,"nodeType":856},{},[52384,52390,52420,52426,52442,52448,52451,52458,52464,52469,52475,52480,52485,52491,52507,52512,52518,52521,52528,52544,52565,52571,52578,52584,52590,52595,52602,52618,52634,52639,52645,52650,52657,52683,52688,52694,52697,52704,52710,52726,52732,52737,52744,52750,52756,52762,52768,52828,52834,52841,52856,52861,52867,52873,52878,52884,52889,52896,52902,52907,52912,52918,52921,52928,52954,52960,52976,52982,52992,52998,53001,53008,53024],{"data":52385,"content":52386,"nodeType":860},{},[52387],{"data":52388,"marks":52389,"value":51557,"nodeType":864},{},[],{"data":52391,"content":52392,"nodeType":941},{},[52393,52402,52411],{"data":52394,"content":52395,"nodeType":945},{},[52396],{"data":52397,"content":52398,"nodeType":860},{},[52399],{"data":52400,"marks":52401,"value":51570,"nodeType":864},{},[],{"data":52403,"content":52404,"nodeType":945},{},[52405],{"data":52406,"content":52407,"nodeType":860},{},[52408],{"data":52409,"marks":52410,"value":51580,"nodeType":864},{},[],{"data":52412,"content":52413,"nodeType":945},{},[52414],{"data":52415,"content":52416,"nodeType":860},{},[52417],{"data":52418,"marks":52419,"value":51590,"nodeType":864},{},[],{"data":52421,"content":52422,"nodeType":860},{},[52423],{"data":52424,"marks":52425,"value":51597,"nodeType":864},{},[],{"data":52427,"content":52428,"nodeType":860},{},[52429,52432,52439],{"data":52430,"marks":52431,"value":51604,"nodeType":864},{},[],{"data":52433,"content":52434,"nodeType":883},{"uri":51607},[52435],{"data":52436,"marks":52437,"value":51613,"nodeType":864},{},[52438],{"type":1455},{"data":52440,"marks":52441,"value":12252,"nodeType":864},{},[],{"data":52443,"content":52444,"nodeType":860},{},[52445],{"data":52446,"marks":52447,"value":51623,"nodeType":864},{},[],{"data":52449,"content":52450,"nodeType":1005},{},[],{"data":52452,"content":52453,"nodeType":1009},{},[52454],{"data":52455,"marks":52456,"value":5002,"nodeType":864},{},[52457],{"type":899},{"data":52459,"content":52460,"nodeType":860},{},[52461],{"data":52462,"marks":52463,"value":51640,"nodeType":864},{},[],{"data":52465,"content":52468,"nodeType":996},{"target":52466},{"sys":52467},{"id":51645,"type":1001,"linkType":1002},[],{"data":52470,"content":52471,"nodeType":860},{},[52472],{"data":52473,"marks":52474,"value":51653,"nodeType":864},{},[],{"data":52476,"content":52479,"nodeType":996},{"target":52477},{"sys":52478},{"id":51658,"type":1001,"linkType":1002},[],{"data":52481,"content":52484,"nodeType":996},{"target":52482},{"sys":52483},{"id":51664,"type":1001,"linkType":1002},[],{"data":52486,"content":52487,"nodeType":860},{},[52488],{"data":52489,"marks":52490,"value":51672,"nodeType":864},{},[],{"data":52492,"content":52493,"nodeType":860},{},[52494,52497,52504],{"data":52495,"marks":52496,"value":51679,"nodeType":864},{},[],{"data":52498,"content":52499,"nodeType":883},{"uri":26784},[52500],{"data":52501,"marks":52502,"value":34626,"nodeType":864},{},[52503],{"type":1455},{"data":52505,"marks":52506,"value":22438,"nodeType":864},{},[],{"data":52508,"content":52511,"nodeType":996},{"target":52509},{"sys":52510},{"id":51694,"type":1001,"linkType":1002},[],{"data":52513,"content":52514,"nodeType":860},{},[52515],{"data":52516,"marks":52517,"value":51702,"nodeType":864},{},[],{"data":52519,"content":52520,"nodeType":1005},{},[],{"data":52522,"content":52523,"nodeType":1009},{},[52524],{"data":52525,"marks":52526,"value":51713,"nodeType":864},{},[52527],{"type":899},{"data":52529,"content":52530,"nodeType":860},{},[52531,52534,52541],{"data":52532,"marks":52533,"value":51720,"nodeType":864},{},[],{"data":52535,"content":52536,"nodeType":883},{"uri":43629},[52537],{"data":52538,"marks":52539,"value":51728,"nodeType":864},{},[52540],{"type":1455},{"data":52542,"marks":52543,"value":51732,"nodeType":864},{},[],{"data":52545,"content":52546,"nodeType":941},{},[52547,52556],{"data":52548,"content":52549,"nodeType":945},{},[52550],{"data":52551,"content":52552,"nodeType":860},{},[52553],{"data":52554,"marks":52555,"value":51745,"nodeType":864},{},[],{"data":52557,"content":52558,"nodeType":945},{},[52559],{"data":52560,"content":52561,"nodeType":860},{},[52562],{"data":52563,"marks":52564,"value":51755,"nodeType":864},{},[],{"data":52566,"content":52567,"nodeType":860},{},[52568],{"data":52569,"marks":52570,"value":51762,"nodeType":864},{},[],{"data":52572,"content":52573,"nodeType":1312},{},[52574],{"data":52575,"marks":52576,"value":51770,"nodeType":864},{},[52577],{"type":899},{"data":52579,"content":52580,"nodeType":860},{},[52581],{"data":52582,"marks":52583,"value":51777,"nodeType":864},{},[],{"data":52585,"content":52586,"nodeType":860},{},[52587],{"data":52588,"marks":52589,"value":51784,"nodeType":864},{},[],{"data":52591,"content":52594,"nodeType":996},{"target":52592},{"sys":52593},{"id":51789,"type":1001,"linkType":1002},[],{"data":52596,"content":52597,"nodeType":1312},{},[52598],{"data":52599,"marks":52600,"value":51798,"nodeType":864},{},[52601],{"type":899},{"data":52603,"content":52604,"nodeType":860},{},[52605,52608,52615],{"data":52606,"marks":52607,"value":51805,"nodeType":864},{},[],{"data":52609,"content":52610,"nodeType":883},{"uri":48151},[52611],{"data":52612,"marks":52613,"value":51813,"nodeType":864},{},[52614],{"type":1455},{"data":52616,"marks":52617,"value":51817,"nodeType":864},{},[],{"data":52619,"content":52620,"nodeType":860},{},[52621,52624,52631],{"data":52622,"marks":52623,"value":51824,"nodeType":864},{},[],{"data":52625,"content":52626,"nodeType":883},{"uri":48151},[52627],{"data":52628,"marks":52629,"value":51832,"nodeType":864},{},[52630],{"type":1455},{"data":52632,"marks":52633,"value":51836,"nodeType":864},{},[],{"data":52635,"content":52638,"nodeType":996},{"target":52636},{"sys":52637},{"id":51841,"type":1001,"linkType":1002},[],{"data":52640,"content":52641,"nodeType":860},{},[52642],{"data":52643,"marks":52644,"value":51849,"nodeType":864},{},[],{"data":52646,"content":52649,"nodeType":996},{"target":52647},{"sys":52648},{"id":51854,"type":1001,"linkType":1002},[],{"data":52651,"content":52652,"nodeType":1312},{},[52653],{"data":52654,"marks":52655,"value":51863,"nodeType":864},{},[52656],{"type":899},{"data":52658,"content":52659,"nodeType":860},{},[52660,52663,52670,52673,52680],{"data":52661,"marks":52662,"value":51870,"nodeType":864},{},[],{"data":52664,"content":52665,"nodeType":883},{"uri":51873},[52666],{"data":52667,"marks":52668,"value":51879,"nodeType":864},{},[52669],{"type":1455},{"data":52671,"marks":52672,"value":51883,"nodeType":864},{},[],{"data":52674,"content":52675,"nodeType":883},{"uri":6418},[52676],{"data":52677,"marks":52678,"value":51891,"nodeType":864},{},[52679],{"type":1455},{"data":52681,"marks":52682,"value":51895,"nodeType":864},{},[],{"data":52684,"content":52687,"nodeType":996},{"target":52685},{"sys":52686},{"id":51900,"type":1001,"linkType":1002},[],{"data":52689,"content":52690,"nodeType":860},{},[52691],{"data":52692,"marks":52693,"value":51908,"nodeType":864},{},[],{"data":52695,"content":52696,"nodeType":1005},{},[],{"data":52698,"content":52699,"nodeType":1009},{},[52700],{"data":52701,"marks":52702,"value":51919,"nodeType":864},{},[52703],{"type":899},{"data":52705,"content":52706,"nodeType":860},{},[52707],{"data":52708,"marks":52709,"value":51926,"nodeType":864},{},[],{"data":52711,"content":52712,"nodeType":860},{},[52713,52716,52723],{"data":52714,"marks":52715,"value":51933,"nodeType":864},{},[],{"data":52717,"content":52718,"nodeType":883},{"uri":51936},[52719],{"data":52720,"marks":52721,"value":51942,"nodeType":864},{},[52722],{"type":1455},{"data":52724,"marks":52725,"value":51946,"nodeType":864},{},[],{"data":52727,"content":52728,"nodeType":860},{},[52729],{"data":52730,"marks":52731,"value":51953,"nodeType":864},{},[],{"data":52733,"content":52736,"nodeType":996},{"target":52734},{"sys":52735},{"id":51958,"type":1001,"linkType":1002},[],{"data":52738,"content":52739,"nodeType":1312},{},[52740],{"data":52741,"marks":52742,"value":51967,"nodeType":864},{},[52743],{"type":899},{"data":52745,"content":52746,"nodeType":860},{},[52747],{"data":52748,"marks":52749,"value":51974,"nodeType":864},{},[],{"data":52751,"content":52752,"nodeType":860},{},[52753],{"data":52754,"marks":52755,"value":51981,"nodeType":864},{},[],{"data":52757,"content":52758,"nodeType":860},{},[52759],{"data":52760,"marks":52761,"value":51988,"nodeType":864},{},[],{"data":52763,"content":52764,"nodeType":860},{},[52765],{"data":52766,"marks":52767,"value":51995,"nodeType":864},{},[],{"data":52769,"content":52770,"nodeType":941},{},[52771,52800,52819],{"data":52772,"content":52773,"nodeType":945},{},[52774],{"data":52775,"content":52776,"nodeType":860},{},[52777,52780,52787,52790,52797],{"data":52778,"marks":52779,"value":52008,"nodeType":864},{},[],{"data":52781,"content":52782,"nodeType":883},{"uri":3751},[52783],{"data":52784,"marks":52785,"value":29323,"nodeType":864},{},[52786],{"type":1455},{"data":52788,"marks":52789,"value":52019,"nodeType":864},{},[],{"data":52791,"content":52792,"nodeType":883},{"uri":18552},[52793],{"data":52794,"marks":52795,"value":29345,"nodeType":864},{},[52796],{"type":1455},{"data":52798,"marks":52799,"value":52030,"nodeType":864},{},[],{"data":52801,"content":52802,"nodeType":945},{},[52803],{"data":52804,"content":52805,"nodeType":860},{},[52806,52809,52816],{"data":52807,"marks":52808,"value":52040,"nodeType":864},{},[],{"data":52810,"content":52811,"nodeType":883},{"uri":52043},[52812],{"data":52813,"marks":52814,"value":52049,"nodeType":864},{},[52815],{"type":1455},{"data":52817,"marks":52818,"value":52053,"nodeType":864},{},[],{"data":52820,"content":52821,"nodeType":945},{},[52822],{"data":52823,"content":52824,"nodeType":860},{},[52825],{"data":52826,"marks":52827,"value":52063,"nodeType":864},{},[],{"data":52829,"content":52830,"nodeType":860},{},[52831],{"data":52832,"marks":52833,"value":52070,"nodeType":864},{},[],{"data":52835,"content":52836,"nodeType":1312},{},[52837],{"data":52838,"marks":52839,"value":52078,"nodeType":864},{},[52840],{"type":899},{"data":52842,"content":52843,"nodeType":860},{},[52844,52847,52853],{"data":52845,"marks":52846,"value":52085,"nodeType":864},{},[],{"data":52848,"content":52849,"nodeType":883},{"uri":52088},[52850],{"data":52851,"marks":52852,"value":52093,"nodeType":864},{},[],{"data":52854,"marks":52855,"value":52097,"nodeType":864},{},[],{"data":52857,"content":52860,"nodeType":996},{"target":52858},{"sys":52859},{"id":52102,"type":1001,"linkType":1002},[],{"data":52862,"content":52863,"nodeType":860},{},[52864],{"data":52865,"marks":52866,"value":52110,"nodeType":864},{},[],{"data":52868,"content":52869,"nodeType":860},{},[52870],{"data":52871,"marks":52872,"value":52117,"nodeType":864},{},[],{"data":52874,"content":52877,"nodeType":996},{"target":52875},{"sys":52876},{"id":52122,"type":1001,"linkType":1002},[],{"data":52879,"content":52880,"nodeType":860},{},[52881],{"data":52882,"marks":52883,"value":52130,"nodeType":864},{},[],{"data":52885,"content":52888,"nodeType":996},{"target":52886},{"sys":52887},{"id":52135,"type":1001,"linkType":1002},[],{"data":52890,"content":52891,"nodeType":1312},{},[52892],{"data":52893,"marks":52894,"value":52144,"nodeType":864},{},[52895],{"type":899},{"data":52897,"content":52898,"nodeType":860},{},[52899],{"data":52900,"marks":52901,"value":52151,"nodeType":864},{},[],{"data":52903,"content":52906,"nodeType":996},{"target":52904},{"sys":52905},{"id":52156,"type":1001,"linkType":1002},[],{"data":52908,"content":52911,"nodeType":996},{"target":52909},{"sys":52910},{"id":52162,"type":1001,"linkType":1002},[],{"data":52913,"content":52914,"nodeType":860},{},[52915],{"data":52916,"marks":52917,"value":52170,"nodeType":864},{},[],{"data":52919,"content":52920,"nodeType":1005},{},[],{"data":52922,"content":52923,"nodeType":1009},{},[52924],{"data":52925,"marks":52926,"value":18731,"nodeType":864},{},[52927],{"type":899},{"data":52929,"content":52930,"nodeType":860},{},[52931,52934,52941,52944,52951],{"data":52932,"marks":52933,"value":52187,"nodeType":864},{},[],{"data":52935,"content":52936,"nodeType":883},{"uri":6418},[52937],{"data":52938,"marks":52939,"value":37864,"nodeType":864},{},[52940],{"type":1455},{"data":52942,"marks":52943,"value":902,"nodeType":864},{},[],{"data":52945,"content":52946,"nodeType":883},{"uri":52200},[52947],{"data":52948,"marks":52949,"value":52206,"nodeType":864},{},[52950],{"type":1455},{"data":52952,"marks":52953,"value":52210,"nodeType":864},{},[],{"data":52955,"content":52956,"nodeType":860},{},[52957],{"data":52958,"marks":52959,"value":52217,"nodeType":864},{},[],{"data":52961,"content":52962,"nodeType":860},{},[52963,52966,52973],{"data":52964,"marks":52965,"value":52224,"nodeType":864},{},[],{"data":52967,"content":52968,"nodeType":883},{"uri":36813},[52969],{"data":52970,"marks":52971,"value":52232,"nodeType":864},{},[52972],{"type":1455},{"data":52974,"marks":52975,"value":52236,"nodeType":864},{},[],{"data":52977,"content":52978,"nodeType":860},{},[52979],{"data":52980,"marks":52981,"value":52243,"nodeType":864},{},[],{"data":52983,"content":52984,"nodeType":1116},{},[52985],{"data":52986,"content":52987,"nodeType":860},{},[52988],{"data":52989,"marks":52990,"value":52254,"nodeType":864},{},[52991],{"type":899},{"data":52993,"content":52994,"nodeType":860},{},[52995],{"data":52996,"marks":52997,"value":52261,"nodeType":864},{},[],{"data":52999,"content":53000,"nodeType":1005},{},[],{"data":53002,"content":53003,"nodeType":1009},{},[53004],{"data":53005,"marks":53006,"value":8991,"nodeType":864},{},[53007],{"type":899},{"data":53009,"content":53010,"nodeType":860},{},[53011,53014,53021],{"data":53012,"marks":53013,"value":52278,"nodeType":864},{},[],{"data":53015,"content":53016,"nodeType":883},{"uri":50177},[53017],{"data":53018,"marks":53019,"value":52286,"nodeType":864},{},[53020],{"type":1455},{"data":53022,"marks":53023,"value":12252,"nodeType":864},{},[],{"data":53025,"content":53026,"nodeType":860},{},[53027,53030,53037],{"data":53028,"marks":53029,"value":52296,"nodeType":864},{},[],{"data":53031,"content":53032,"nodeType":883},{"uri":5642},[53033],{"data":53034,"marks":53035,"value":2715,"nodeType":864},{},[53036],{"type":1455},{"data":53038,"marks":53039,"value":2924,"nodeType":864},{},[],{"entries":53041},{"hyperlink":53042,"inline":53043,"block":53044},[],[],[53045,53053,53060,53086,53093,53098,53103,53110,53116,53124,53131,53139,53143,53150],{"sys":53046,"__typename":1724,"title":53047,"caption":53048,"layoutMode":59,"file":53049},{"id":51645},"Mailchimp phishing email","Phishing email mimicking the design of MailChimp emails. ",{"url":53050,"width":53051,"height":53052},"https://images.ctfassets.net/y1cdw1ablpvd/GgbsjVF5x9BcsSuR4Gc7s/8f2931a02751edd5e0ebe49fc14540d5/image1.png",1216,1473,{"sys":53054,"__typename":1724,"title":53055,"caption":53056,"layoutMode":59,"file":53057},{"id":51658},"Mailchimp blog image 2","The sender address is from a custom domain that doesn't match MailChimp.",{"url":53058,"width":53059,"height":282},"https://images.ctfassets.net/y1cdw1ablpvd/13as7RS1LRKBQYUVsrfaEq/ffd3dac7a39db009ba5f93e4b448a752/image3.png",450,{"sys":53061,"__typename":1740,"content":53062,"name":53085,"title":59},{"id":51664},{"json":53063},{"data":53064,"content":53065,"nodeType":856},{},[53066],{"data":53067,"content":53068,"nodeType":860},{},[53069,53073,53082],{"data":53070,"marks":53071,"value":53072,"nodeType":864},{},[],"It’s notable that this email wasn’t actually sent from MailChimp as we’ve seen with other recent attacks where attackers have used third-party SaaS services to send their emails, making them appear more legitimate (such as in ",{"data":53074,"content":53076,"nodeType":883},{"uri":53075},"https://thehackernews.com/2024/12/hubphish-exploits-hubspot-tools-to.html",[53077],{"data":53078,"marks":53079,"value":53081,"nodeType":864},{},[53080],{"type":1455},"recent campaigns leveraging HubSpot and DocuSign",{"data":53083,"marks":53084,"value":22438,"nodeType":864},{},[],"Mailchimp blog insight box 1",{"sys":53087,"__typename":1724,"title":53088,"caption":53089,"layoutMode":59,"file":53090},{"id":51694},"Mailchimp blog image 3","Suspicious activity notifications sent at 06:59, 07:00, and 07:01 show how quickly the attack was executed.",{"url":53091,"width":1736,"height":53092},"https://images.ctfassets.net/y1cdw1ablpvd/32prbL1kkdUuSHt7iZv0i9/6dc274e7ff9b22993f9e633c04f05dc5/image10.png",352,{"sys":53094,"__typename":1724,"title":53095,"caption":53096,"layoutMode":59,"file":53097},{"id":51789},"Mailchimp blog image 4","The attacker enumerated Troy's dedicated email used for MailChimp.",{"url":53058,"width":53059,"height":282},{"sys":53099,"__typename":1724,"title":53100,"caption":53101,"layoutMode":59,"file":53102},{"id":51841},"Mailchimp blog image 5","Cloudflare Turnstile is often used to prevent security bots from analysing the attacker's phishing page. ",{"url":50198,"width":50199,"height":50200},{"sys":53104,"__typename":1724,"title":53105,"caption":53106,"layoutMode":59,"file":53107},{"id":51854},"Mailchimp blog image 6","The site is now being flagged as malicious.",{"url":53108,"width":1736,"height":53109},"https://images.ctfassets.net/y1cdw1ablpvd/7pVNsGvPJC1hMGGPuwznYX/e06f3881f8a6fb8742dd9c95068f4f25/image5.png",1540,{"sys":53111,"__typename":1724,"title":53105,"caption":53112,"layoutMode":59,"file":53113},{"id":51900},"The attacker created an API key for backdoor access to the app.",{"url":53114,"width":1736,"height":53115},"https://images.ctfassets.net/y1cdw1ablpvd/4kQE2MpMXV5edYTZ567NpA/45e5c8d26510959dd91440508280b82b/image9.png",333,{"sys":53117,"__typename":1724,"title":53118,"caption":53119,"layoutMode":59,"file":53120},{"id":51958},"Mailchimp blog image 7","Data captured by the attacker from the exported mailing list.",{"url":53121,"width":53122,"height":53123},"https://images.ctfassets.net/y1cdw1ablpvd/1uOXeOFOEglg6Dzv3kPNud/bd6957fef3cfcdffe02e00f3a9f54b49/image8.png",1852,276,{"sys":53125,"__typename":1724,"title":53126,"caption":53127,"layoutMode":59,"file":53128},{"id":52102},"Mailchimp blog image 8","MailChimp only offers 'Continue with Google' as an SSO option.",{"url":53129,"width":1736,"height":53130},"https://images.ctfassets.net/y1cdw1ablpvd/13VC1YYs1ts8aVO6cbaovA/6cdcf47472e267c25625171a6b8e9653/image7.png",977,{"sys":53132,"__typename":1724,"title":53133,"caption":53134,"layoutMode":59,"file":53135},{"id":52122},"Mailchimp blog image 9","MailChimp only supports phishable MFA factors",{"url":53136,"width":53137,"height":53138},"https://images.ctfassets.net/y1cdw1ablpvd/2FcpNMwmFmmyp1P9NZ9aCx/9e6d9a407d9db243f2f210d39013c731/image6.png",600,410,{"sys":53140,"__typename":1717,"type":1718,"ctaText":53141,"buttonLabel":53142,"buttonColour":1721,"buttonUrl":29178},{"id":52135},"Learn more about the common security gaps created by app developers that contribute to SaaS identity breaches.","Read the blog",{"sys":53144,"__typename":1724,"title":53145,"caption":59,"layoutMode":59,"file":53146},{"id":52156},"Mailchimp blog image 10",{"url":53147,"width":53148,"height":53149},"https://images.ctfassets.net/y1cdw1ablpvd/5nzmVTjx3clYWDr0hlKPu2/aac584ccda7de2c15d704b14ee0d8c6e/image4.png",1400,1620,{"sys":53151,"__typename":53152,"name":53153,"type":53154,"syntax":53155},{"id":52162},"CodeBlockComponent","Mailchimp blog code snippet","shell","hxxps://groupf.emlnk9.com/lt.php?x=3DZy~GE6KXOf6a4s-tI6hRVt3H2piwDuwehiY5THVXeZ5sF_y0y.zOlz5X2gk.~wjvYxZHP",{"items":53157},[],{},"When even Troy Hunt got phished",{"url":53050},{"items":53162},[53163,53555,54187],{"__typename":2059,"sys":53164,"content":53165,"title":49704,"synopsis":52334,"hashTags":59,"publishedDate":50259,"slug":52321,"tagsCollection":53545,"authorsCollection":53551},{"id":52336},{"json":53166},{"data":53167,"content":53168,"nodeType":856},{},[53169,53195,53211,53217,53223,53226,53233,53239,53244,53249,53254,53260,53276,53281,53284,53291,53297,53303,53309,53314,53320,53326,53331,53337,53353,53358,53364,53367,53374,53380,53385,53391,53432,53437,53443,53446,53453,53459,53465,53470,53475,53480,53483,53490,53496,53501,53507,53513,53516,53523,53529],{"data":53170,"content":53171,"nodeType":860},{},[53172,53175,53182,53185,53192],{"data":53173,"marks":53174,"value":21,"nodeType":864},{},[],{"data":53176,"content":53177,"nodeType":883},{"uri":32223},[53178],{"data":53179,"marks":53180,"value":40403,"nodeType":864},{},[53181],{"type":1455},{"data":53183,"marks":53184,"value":49730,"nodeType":864},{},[],{"data":53186,"content":53187,"nodeType":883},{"uri":49733},[53188],{"data":53189,"marks":53190,"value":37864,"nodeType":864},{},[53191],{"type":1455},{"data":53193,"marks":53194,"value":49742,"nodeType":864},{},[],{"data":53196,"content":53197,"nodeType":860},{},[53198,53201,53208],{"data":53199,"marks":53200,"value":49749,"nodeType":864},{},[],{"data":53202,"content":53203,"nodeType":883},{"uri":49752},[53204],{"data":53205,"marks":53206,"value":49758,"nodeType":864},{},[53207],{"type":1455},{"data":53209,"marks":53210,"value":49762,"nodeType":864},{},[],{"data":53212,"content":53213,"nodeType":860},{},[53214],{"data":53215,"marks":53216,"value":49769,"nodeType":864},{},[],{"data":53218,"content":53219,"nodeType":860},{},[53220],{"data":53221,"marks":53222,"value":49776,"nodeType":864},{},[],{"data":53224,"content":53225,"nodeType":1005},{},[],{"data":53227,"content":53228,"nodeType":1009},{},[53229],{"data":53230,"marks":53231,"value":49787,"nodeType":864},{},[53232],{"type":899},{"data":53234,"content":53235,"nodeType":860},{},[53236],{"data":53237,"marks":53238,"value":49794,"nodeType":864},{},[],{"data":53240,"content":53243,"nodeType":996},{"target":53241},{"sys":53242},{"id":49799,"type":1001,"linkType":1002},[],{"data":53245,"content":53248,"nodeType":996},{"target":53246},{"sys":53247},{"id":49805,"type":1001,"linkType":1002},[],{"data":53250,"content":53253,"nodeType":996},{"target":53251},{"sys":53252},{"id":49811,"type":1001,"linkType":1002},[],{"data":53255,"content":53256,"nodeType":860},{},[53257],{"data":53258,"marks":53259,"value":49819,"nodeType":864},{},[],{"data":53261,"content":53262,"nodeType":860},{},[53263,53266,53273],{"data":53264,"marks":53265,"value":49826,"nodeType":864},{},[],{"data":53267,"content":53268,"nodeType":883},{"uri":49829},[53269],{"data":53270,"marks":53271,"value":49835,"nodeType":864},{},[53272],{"type":1455},{"data":53274,"marks":53275,"value":49839,"nodeType":864},{},[],{"data":53277,"content":53280,"nodeType":996},{"target":53278},{"sys":53279},{"id":49844,"type":1001,"linkType":1002},[],{"data":53282,"content":53283,"nodeType":1005},{},[],{"data":53285,"content":53286,"nodeType":1009},{},[53287],{"data":53288,"marks":53289,"value":49856,"nodeType":864},{},[53290],{"type":899},{"data":53292,"content":53293,"nodeType":860},{},[53294],{"data":53295,"marks":53296,"value":49863,"nodeType":864},{},[],{"data":53298,"content":53299,"nodeType":860},{},[53300],{"data":53301,"marks":53302,"value":49870,"nodeType":864},{},[],{"data":53304,"content":53305,"nodeType":860},{},[53306],{"data":53307,"marks":53308,"value":49877,"nodeType":864},{},[],{"data":53310,"content":53313,"nodeType":996},{"target":53311},{"sys":53312},{"id":49882,"type":1001,"linkType":1002},[],{"data":53315,"content":53316,"nodeType":860},{},[53317],{"data":53318,"marks":53319,"value":49890,"nodeType":864},{},[],{"data":53321,"content":53322,"nodeType":860},{},[53323],{"data":53324,"marks":53325,"value":49897,"nodeType":864},{},[],{"data":53327,"content":53330,"nodeType":996},{"target":53328},{"sys":53329},{"id":49902,"type":1001,"linkType":1002},[],{"data":53332,"content":53333,"nodeType":860},{},[53334],{"data":53335,"marks":53336,"value":49910,"nodeType":864},{},[],{"data":53338,"content":53339,"nodeType":860},{},[53340,53343,53350],{"data":53341,"marks":53342,"value":49917,"nodeType":864},{},[],{"data":53344,"content":53345,"nodeType":883},{"uri":48151},[53346],{"data":53347,"marks":53348,"value":49925,"nodeType":864},{},[53349],{"type":1455},{"data":53351,"marks":53352,"value":49929,"nodeType":864},{},[],{"data":53354,"content":53357,"nodeType":996},{"target":53355},{"sys":53356},{"id":49934,"type":1001,"linkType":1002},[],{"data":53359,"content":53360,"nodeType":860},{},[53361],{"data":53362,"marks":53363,"value":49942,"nodeType":864},{},[],{"data":53365,"content":53366,"nodeType":1005},{},[],{"data":53368,"content":53369,"nodeType":1009},{},[53370],{"data":53371,"marks":53372,"value":49953,"nodeType":864},{},[53373],{"type":899},{"data":53375,"content":53376,"nodeType":860},{},[53377],{"data":53378,"marks":53379,"value":49960,"nodeType":864},{},[],{"data":53381,"content":53384,"nodeType":996},{"target":53382},{"sys":53383},{"id":49965,"type":1001,"linkType":1002},[],{"data":53386,"content":53387,"nodeType":860},{},[53388],{"data":53389,"marks":53390,"value":49973,"nodeType":864},{},[],{"data":53392,"content":53393,"nodeType":941},{},[53394,53413],{"data":53395,"content":53396,"nodeType":945},{},[53397],{"data":53398,"content":53399,"nodeType":860},{},[53400,53403,53410],{"data":53401,"marks":53402,"value":21,"nodeType":864},{},[],{"data":53404,"content":53405,"nodeType":883},{"uri":48151},[53406],{"data":53407,"marks":53408,"value":49993,"nodeType":864},{},[53409],{"type":1455},{"data":53411,"marks":53412,"value":49997,"nodeType":864},{},[],{"data":53414,"content":53415,"nodeType":945},{},[53416],{"data":53417,"content":53418,"nodeType":860},{},[53419,53422,53429],{"data":53420,"marks":53421,"value":21,"nodeType":864},{},[],{"data":53423,"content":53424,"nodeType":883},{"uri":43629},[53425],{"data":53426,"marks":53427,"value":50014,"nodeType":864},{},[53428],{"type":1455},{"data":53430,"marks":53431,"value":50018,"nodeType":864},{},[],{"data":53433,"content":53436,"nodeType":996},{"target":53434},{"sys":53435},{"id":50023,"type":1001,"linkType":1002},[],{"data":53438,"content":53439,"nodeType":860},{},[53440],{"data":53441,"marks":53442,"value":50031,"nodeType":864},{},[],{"data":53444,"content":53445,"nodeType":1005},{},[],{"data":53447,"content":53448,"nodeType":1009},{},[53449],{"data":53450,"marks":53451,"value":50042,"nodeType":864},{},[53452],{"type":899},{"data":53454,"content":53455,"nodeType":860},{},[53456],{"data":53457,"marks":53458,"value":50049,"nodeType":864},{},[],{"data":53460,"content":53461,"nodeType":860},{},[53462],{"data":53463,"marks":53464,"value":50056,"nodeType":864},{},[],{"data":53466,"content":53469,"nodeType":996},{"target":53467},{"sys":53468},{"id":50061,"type":1001,"linkType":1002},[],{"data":53471,"content":53474,"nodeType":996},{"target":53472},{"sys":53473},{"id":43836,"type":1001,"linkType":1002},[],{"data":53476,"content":53479,"nodeType":996},{"target":53477},{"sys":53478},{"id":50072,"type":1001,"linkType":1002},[],{"data":53481,"content":53482,"nodeType":1005},{},[],{"data":53484,"content":53485,"nodeType":1009},{},[53486],{"data":53487,"marks":53488,"value":50084,"nodeType":864},{},[53489],{"type":899},{"data":53491,"content":53492,"nodeType":860},{},[53493],{"data":53494,"marks":53495,"value":50091,"nodeType":864},{},[],{"data":53497,"content":53500,"nodeType":996},{"target":53498},{"sys":53499},{"id":50096,"type":1001,"linkType":1002},[],{"data":53502,"content":53503,"nodeType":860},{},[53504],{"data":53505,"marks":53506,"value":50104,"nodeType":864},{},[],{"data":53508,"content":53509,"nodeType":860},{},[53510],{"data":53511,"marks":53512,"value":50111,"nodeType":864},{},[],{"data":53514,"content":53515,"nodeType":1005},{},[],{"data":53517,"content":53518,"nodeType":1009},{},[53519],{"data":53520,"marks":53521,"value":42749,"nodeType":864},{},[53522],{"type":899},{"data":53524,"content":53525,"nodeType":860},{},[53526],{"data":53527,"marks":53528,"value":44138,"nodeType":864},{},[],{"data":53530,"content":53531,"nodeType":860},{},[53532,53535,53542],{"data":53533,"marks":53534,"value":35574,"nodeType":864},{},[],{"data":53536,"content":53537,"nodeType":883},{"uri":35577},[53538],{"data":53539,"marks":53540,"value":35582,"nodeType":864},{},[53541],{"type":1455},{"data":53543,"marks":53544,"value":50144,"nodeType":864},{},[],{"items":53546},[53547,53549],{"sys":53548,"name":6593},{"id":6592},{"sys":53550,"name":342},{"id":6596},{"items":53552},[53553],{"fullName":2736,"firstName":2737,"jobTitle":2738,"profilePicture":53554},{"url":2740},{"__typename":2059,"sys":53556,"content":53558,"title":54173,"synopsis":54174,"hashTags":59,"publishedDate":54175,"slug":54176,"tagsCollection":54177,"authorsCollection":54183},{"id":53557},"4UgGUvlZNqkJtx9nNprKg0",{"json":53559},{"data":53560,"content":53561,"nodeType":856},{},[53562,53569,53599,53605,53612,53615,53623,53630,53637,53670,53677,53684,53691,53694,53702,53721,53728,53735,53741,53748,53755,53758,53766,53773,53780,53786,53793,53813,53846,53853,53856,53864,53871,53878,53884,53891,53898,53905,53910,53917,53923,53930,53933,53940,53947,53954,53957,53965,53972,53979,53986,53989,53997,54004,54011,54018,54025,54032,54037,54044,54051,54056,54063,54096,54103,54115,54135,54141,54144,54151,54157],{"data":53563,"content":53564,"nodeType":860},{},[53565],{"data":53566,"marks":53567,"value":53568,"nodeType":864},{},[],"Most organizations today have invested in an email security solution of some description. But even the most premium tools have significant limitations when it comes to modern phishing attacks. ",{"data":53570,"content":53571,"nodeType":860},{},[53572,53576,53583,53587,53596],{"data":53573,"marks":53574,"value":53575,"nodeType":864},{},[],"The data speaks for itself — phishing remains as big a problem as it ever was (if not bigger!) despite enormous investment in security products and training. In 2024, identity-based attack vectors involving a human element (phishing and stolen credentials) accounted for 80% of the initial access observed by ",{"data":53577,"content":53578,"nodeType":883},{"uri":4408},[53579],{"data":53580,"marks":53581,"value":27246,"nodeType":864},{},[53582],{"type":1455},{"data":53584,"marks":53585,"value":53586,"nodeType":864},{},[],", while 69% of organizations experienced a phishing incident in 2024 according to ",{"data":53588,"content":53590,"nodeType":883},{"uri":53589},"https://www.idsalliance.org/white-paper/2024-trends-in-securing-digital-identities/",[53591],{"data":53592,"marks":53593,"value":53595,"nodeType":864},{},[53594],{"type":1455},"IDSA",{"data":53597,"marks":53598,"value":12252,"nodeType":864},{},[],{"data":53600,"content":53604,"nodeType":996},{"target":53601},{"sys":53602},{"id":53603,"type":1001,"linkType":1002},"4urh9lIuo0ePgVIJZNtP2B",[],{"data":53606,"content":53607,"nodeType":860},{},[53608],{"data":53609,"marks":53610,"value":53611,"nodeType":864},{},[],"So, why are phishing attacks still so effective for attackers? ",{"data":53613,"content":53614,"nodeType":1005},{},[],{"data":53616,"content":53617,"nodeType":1009},{},[53618],{"data":53619,"marks":53620,"value":53622,"nodeType":864},{},[53621],{"type":899},"Modern phishing attacks are evading established controls",{"data":53624,"content":53625,"nodeType":860},{},[53626],{"data":53627,"marks":53628,"value":53629,"nodeType":864},{},[],"Let’s start with the lay of the land: What controls and capabilities do organizations typically rely on when it comes to blocking credential phishing?  ",{"data":53631,"content":53632,"nodeType":860},{},[53633],{"data":53634,"marks":53635,"value":53636,"nodeType":864},{},[],"If you’re using an email security solution, you’re relying on the following core capabilities when it comes to detecting malicious phishing pages:",{"data":53638,"content":53639,"nodeType":941},{},[53640,53655],{"data":53641,"content":53642,"nodeType":945},{},[53643],{"data":53644,"content":53645,"nodeType":860},{},[53646,53651],{"data":53647,"marks":53648,"value":53650,"nodeType":864},{},[53649],{"type":899},"Known-bad blocklists:",{"data":53652,"marks":53653,"value":53654,"nodeType":864},{},[]," Block users from accessing known-bad or unapproved domains/URLs, and block traffic from known-bad malicious IPs, using Threat Intelligence (TI) feeds.",{"data":53656,"content":53657,"nodeType":945},{},[53658],{"data":53659,"content":53660,"nodeType":860},{},[53661,53666],{"data":53662,"marks":53663,"value":53665,"nodeType":864},{},[53664],{"type":899},"Malicious webpage detection:",{"data":53667,"marks":53668,"value":53669,"nodeType":864},{},[]," Inspect webpages by loading them in a sandbox to detect malicious elements.",{"data":53671,"content":53672,"nodeType":860},{},[53673],{"data":53674,"marks":53675,"value":53676,"nodeType":864},{},[],"This also applies to other solutions that rely on these capabilities, such as web-based content filtering (e.g. Google Safe Browsing), CASB, SASE, SWG, etc. ",{"data":53678,"content":53679,"nodeType":860},{},[53680],{"data":53681,"marks":53682,"value":53683,"nodeType":864},{},[],"But, attackers are now using specific tactics, techniques, procedures (TTPs) and tooling designed to defeat these solutions. ",{"data":53685,"content":53686,"nodeType":860},{},[53687],{"data":53688,"marks":53689,"value":53690,"nodeType":864},{},[],"Let’s look at where these controls are falling short. ",{"data":53692,"content":53693,"nodeType":1005},{},[],{"data":53695,"content":53696,"nodeType":1009},{},[53697],{"data":53698,"marks":53699,"value":53701,"nodeType":864},{},[53700],{"type":899},"Attackers are innovating with new tooling and techniques",{"data":53703,"content":53704,"nodeType":860},{},[53705,53709,53718],{"data":53706,"marks":53707,"value":53708,"nodeType":864},{},[],"The vast majority of phishing attacks today are executed using ",{"data":53710,"content":53712,"nodeType":883},{"uri":53711},"https://pushsecurity.com/blog/phishing-2-0-how-phishing-toolkits-are-evolving-with-aitm/?utm_campaign=9983377-FY25Q1_Bleeping-Computer-Organic-Article&utm_source=bleepingcomputer&utm_medium=sponsored-content&utm_content=organic%20article",[53713],{"data":53714,"marks":53715,"value":53717,"nodeType":864},{},[53716],{"type":1455},"AitM phishing kits — otherwise known as “MFA bypass” kits",{"data":53719,"marks":53720,"value":2924,"nodeType":864},{},[],{"data":53722,"content":53723,"nodeType":860},{},[53724],{"data":53725,"marks":53726,"value":53727,"nodeType":864},{},[],"These kits use dedicated tooling to act as a proxy between the target and a legitimate login portal for an application. This allows the target to log in successfully with a legitimate service they use and even continue to interact with it. ",{"data":53729,"content":53730,"nodeType":860},{},[53731],{"data":53732,"marks":53733,"value":53734,"nodeType":864},{},[],"As it’s a proxy to the real application, the page will appear exactly as the user expects, because they are logging into the legitimate site – just taking a detour via the attacker’s device. However, because the attacker is sitting in the middle of this connection, they are able to observe all interactions, intercept authentication material like credentials, MFA codes, and session tokens to take control of the authenticated session and gain control of the user account. ",{"data":53736,"content":53740,"nodeType":996},{"target":53737},{"sys":53738},{"id":53739,"type":1001,"linkType":1002},"3ZAawfzPVfhb8cmvWNZEVK",[],{"data":53742,"content":53743,"nodeType":860},{},[53744],{"data":53745,"marks":53746,"value":53747,"nodeType":864},{},[],"MFA was once widely regarded as the silver bullet for phishing (we all remember the Microsoft stat “MFA prevents over 99% of identity-based attacks”) but this is no longer the case. ",{"data":53749,"content":53750,"nodeType":860},{},[53751],{"data":53752,"marks":53753,"value":53754,"nodeType":864},{},[],"Not only are these kits incredibly effective at bypassing other anti-phishing controls like MFA, attackers are building them specifically to evade common detection tooling and techniques. ",{"data":53756,"content":53757,"nodeType":1005},{},[],{"data":53759,"content":53760,"nodeType":1312},{},[53761],{"data":53762,"marks":53763,"value":53765,"nodeType":864},{},[53764],{"type":899},"Known-bad blocklists can’t keep up",{"data":53767,"content":53768,"nodeType":860},{},[53769],{"data":53770,"marks":53771,"value":53772,"nodeType":864},{},[],"The fundamental limitation with known-bad blocklists is that they focus on indicators that are easy for attackers to change, in turn making detections based on them easy to bypass. ",{"data":53774,"content":53775,"nodeType":860},{},[53776],{"data":53777,"marks":53778,"value":53779,"nodeType":864},{},[],"Attackers have gotten pretty good at disguising and rotating these elements. In modern phishing attacks, every target can receive a unique email and link. Even just using a URL shortener can bypass this. It’s equivalent to a malware hash – trivial to change, and therefore not a great thing to pin your detections on. The kind of detection that sits right at the bottom of the Pyramid of Pain. ",{"data":53781,"content":53785,"nodeType":996},{"target":53782},{"sys":53783},{"id":53784,"type":1001,"linkType":1002},"6cG2fx3AikwptyEyXKrYCK",[],{"data":53787,"content":53788,"nodeType":860},{},[53789],{"data":53790,"marks":53791,"value":53792,"nodeType":864},{},[],"You could look at which IP address the user connects to, but these days it’s very simple for attackers to add a new IP to their cloud-hosted server. If a domain is flagged as known-bad, the attacker only has to register a new domain, or compromise a WordPress server on an already trusted domain. Both of these things are happening on a massive scale as attackers pre-plan for the fact that their domains will be burned at some point. Attackers are more than happy to spend $10-$20 per new domain in the grand scheme of the potential proceeds of crime. ",{"data":53794,"content":53795,"nodeType":860},{},[53796,53800,53809],{"data":53797,"marks":53798,"value":53799,"nodeType":864},{},[],"For example, ",{"data":53801,"content":53803,"nodeType":883},{"uri":53802},"https://pushsecurity.com/blog/how-aitm-phishing-kits-evade-detection/?utm_campaign=9983377-FY25Q1_Bleeping-Computer-Organic-Article&utm_source=bleepingcomputer&utm_medium=sponsored-content&utm_content=organic%20article",[53804],{"data":53805,"marks":53806,"value":53808,"nodeType":864},{},[53807],{"type":1455},"recent examples of Adversary-in-the-Middle phishing kits",{"data":53810,"marks":53811,"value":53812,"nodeType":864},{},[]," including Tycoon, Nakedpages, Evilginx were seen to rotate the URLs they resolve to (from a continually refreshed pool of URLs), mask the HTTP Referer header to disguise suspicious redirects, and redirect to benign (legitimate) domains if anyone but the intended victims attempted to visit the page. ",{"data":53814,"content":53815,"nodeType":860},{},[53816,53820,53829,53833,53842],{"data":53817,"marks":53818,"value":53819,"nodeType":864},{},[],"And in many cases, attackers are ",{"data":53821,"content":53823,"nodeType":883},{"uri":53822},"https://www.bleepingcomputer.com/news/security/campaign-abusing-hubspot-targets-20-000-microsoft-azure-accounts/",[53824],{"data":53825,"marks":53826,"value":53828,"nodeType":864},{},[53827],{"type":1455},"leveraging legitimate SaaS services",{"data":53830,"marks":53831,"value":53832,"nodeType":864},{},[]," to conduct their campaigns (",{"data":53834,"content":53836,"nodeType":883},{"uri":53835},"https://www.bleepingcomputer.com/news/security/proofpoint-settings-exploited-to-send-millions-of-phishing-emails-daily/",[53837],{"data":53838,"marks":53839,"value":53841,"nodeType":864},{},[53840],{"type":1455},"sometimes even using email protection services themselves!",{"data":53843,"marks":53844,"value":53845,"nodeType":864},{},[],") making it even harder to filter genuine from harmful links. ",{"data":53847,"content":53848,"nodeType":860},{},[53849],{"data":53850,"marks":53851,"value":53852,"nodeType":864},{},[],"But there’s a bigger issue here – for defenders to know that a URL, IP, or domain name is bad, it needs to be reported first. When are things reported? Typically after being used in an attack — so unfortunately, someone always gets hurt. ",{"data":53854,"content":53855,"nodeType":1005},{},[],{"data":53857,"content":53858,"nodeType":1312},{},[53859],{"data":53860,"marks":53861,"value":53863,"nodeType":864},{},[53862],{"type":899},"Malicious webpage detections are failing",{"data":53865,"content":53866,"nodeType":860},{},[53867],{"data":53868,"marks":53869,"value":53870,"nodeType":864},{},[],"Attackers are using various tricks to prevent security tools and bots from reaching their phishing pages to analyse them. ",{"data":53872,"content":53873,"nodeType":860},{},[53874],{"data":53875,"marks":53876,"value":53877,"nodeType":864},{},[],"Using legitimate services to host their domains is increasingly common, with services like Cloudflare Workers used for the initial gateway, and Cloudflare Turnstile to prevent security bots from advancing to the page. ",{"data":53879,"content":53883,"nodeType":996},{"target":53880},{"sys":53881},{"id":53882,"type":1001,"linkType":1002},"4XNxLbiZf3xUK1WeFDjjxl",[],{"data":53885,"content":53886,"nodeType":860},{},[53887],{"data":53888,"marks":53889,"value":53890,"nodeType":864},{},[],"Even if you can get past Turnstile, then you’ll need to supply the correct URL parameters and headers, and execute JavaScript, to be served the malicious page. This means that a defender who knows the domain name can’t discover the malicious behavior just by making a simple HTTP(S) request to the domain.",{"data":53892,"content":53893,"nodeType":860},{},[53894],{"data":53895,"marks":53896,"value":53897,"nodeType":864},{},[],"And if all this wasn’t enough, they’re also obfuscating both visual and DOM elements to prevent signature-based detections from picking them up — so even if you can land on the page, there’s a high chance that your detections won’t trigger. ",{"data":53899,"content":53900,"nodeType":860},{},[53901],{"data":53902,"marks":53903,"value":53904,"nodeType":864},{},[],"By changing the DOM structure, attackers are loading functionally equivalent pages that look very different under the hood.",{"data":53906,"content":53909,"nodeType":996},{"target":53907},{"sys":53908},{"id":50023,"type":1001,"linkType":1002},[],{"data":53911,"content":53912,"nodeType":860},{},[53913],{"data":53914,"marks":53915,"value":53916,"nodeType":864},{},[],"They’re also randomizing page titles, dynamically decoding text, changing the size and name of image elements, using different favicons, blurring backgrounds, substituting logos, and more… all to defeat common detections. ",{"data":53918,"content":53922,"nodeType":996},{"target":53919},{"sys":53920},{"id":53921,"type":1001,"linkType":1002},"3hlzM3qIqaZHy3qxtnRS5x",[],{"data":53924,"content":53925,"nodeType":860},{},[53926],{"data":53927,"marks":53928,"value":53929,"nodeType":864},{},[],"With all this, it’s no surprise that defenders can’t keep up. ",{"data":53931,"content":53932,"nodeType":1005},{},[],{"data":53934,"content":53935,"nodeType":1009},{},[53936],{"data":53937,"marks":53938,"value":17429,"nodeType":864},{},[53939],{"type":899},{"data":53941,"content":53942,"nodeType":860},{},[53943],{"data":53944,"marks":53945,"value":53946,"nodeType":864},{},[],"Historically, the industry has seen email security solutions and anti-phishing as the same thing. But it’s clear that email-based phishing protection isn’t really cutting it when it comes to modern credential phishing attacks (the most common and impactful phishing variant today). ",{"data":53948,"content":53949,"nodeType":860},{},[53950],{"data":53951,"marks":53952,"value":53953,"nodeType":864},{},[],"This isn’t to say that email-based solutions have no value — far from it. But relying on email scanners to detect phishing pages as a single line of defense isn’t enough anymore. ",{"data":53955,"content":53956,"nodeType":1005},{},[],{"data":53958,"content":53959,"nodeType":1009},{},[53960],{"data":53961,"marks":53962,"value":53964,"nodeType":864},{},[53963],{"type":899},"Building better phishing controls",{"data":53966,"content":53967,"nodeType":860},{},[53968],{"data":53969,"marks":53970,"value":53971,"nodeType":864},{},[],"The key to solving this problem is, put simply, building better controls. But to do this, we need to move away from email as being the primary (or often the only) place where phishing attacks can be stopped. ",{"data":53973,"content":53974,"nodeType":860},{},[53975],{"data":53976,"marks":53977,"value":53978,"nodeType":864},{},[],"While email is the main delivery vector for phishing attacks (at least, according to the data we have, which comes primarily from email security solutions) it’s not the only one. Phishing links are increasingly delivered to victims over IM platforms, social media — and generally over the internet. ",{"data":53980,"content":53981,"nodeType":860},{},[53982],{"data":53983,"marks":53984,"value":53985,"nodeType":864},{},[],"A better solution to the problem would therefore be able to follow the user across the sites they use, and see the actual phishing pages as the user sees them, as opposed to a sandbox (which, as we’ve discussed, attackers are well prepared for). ",{"data":53987,"content":53988,"nodeType":1005},{},[],{"data":53990,"content":53991,"nodeType":1312},{},[53992],{"data":53993,"marks":53994,"value":53996,"nodeType":864},{},[53995],{"type":899},"Is browser-based phishing protection the solution?",{"data":53998,"content":53999,"nodeType":860},{},[54000],{"data":54001,"marks":54002,"value":54003,"nodeType":864},{},[],"While we’ve been conditioned to think about phishing as something that happens over email, it’s actually the browser where most of the action happens, regardless of the initial delivery channel.",{"data":54005,"content":54006,"nodeType":860},{},[54007],{"data":54008,"marks":54009,"value":54010,"nodeType":864},{},[],"And while it’s tempting to view the delivery of a phishing link as the attack itself, the phish can’t succeed unless the victim enters their genuine credentials on the malicious page. ",{"data":54012,"content":54013,"nodeType":860},{},[54014],{"data":54015,"marks":54016,"value":54017,"nodeType":864},{},[],"Push provides a browser-based identity security solution that stops phishing attacks where they happen — in employee browsers. ",{"data":54019,"content":54020,"nodeType":860},{},[54021],{"data":54022,"marks":54023,"value":54024,"nodeType":864},{},[],"Being in the browser delivers a lot of advantages when it comes to detecting and intercepting phishing attacks. You see the live webpage that the user sees, meaning you have much better visibility of malicious elements running on the page. It also means that you can implement real-time controls that kick in when a malicious element is detected. ",{"data":54026,"content":54027,"nodeType":860},{},[54028],{"data":54029,"marks":54030,"value":54031,"nodeType":864},{},[],"There’s a clear difference when you compare a phishing attack with and without Push. ",{"data":54033,"content":54036,"nodeType":996},{"target":54034},{"sys":54035},{"id":42667,"type":1001,"linkType":1002},[],{"data":54038,"content":54039,"nodeType":860},{},[54040],{"data":54041,"marks":54042,"value":54043,"nodeType":864},{},[],"Here, an attacker hacks a WordPress blog to get a reputable domain and then runs a phishing toolkit on the webpage. They email one of your employees a link to it. Your SWG or email scanning solution inspects it in a sandbox but the phish kit detects this and redirects to a benign site so that it passes the inspection. ",{"data":54045,"content":54046,"nodeType":860},{},[54047],{"data":54048,"marks":54049,"value":54050,"nodeType":864},{},[],"Your user gets the email with the link and is now free to interact with the phishing page. They enter their credentials plus MFA code into the page and voila! The attacker steals the authenticated session and takes over the user’s account.  ",{"data":54052,"content":54055,"nodeType":996},{"target":54053},{"sys":54054},{"id":42703,"type":1001,"linkType":1002},[],{"data":54057,"content":54058,"nodeType":860},{},[54059],{"data":54060,"marks":54061,"value":54062,"nodeType":864},{},[],"But with Push, our browser extension inspects the webpage running in the user's browser. Push observes that the webpage is a login page and the user is entering their password into the page, detecting that:",{"data":54064,"content":54065,"nodeType":941},{},[54066,54076,54086],{"data":54067,"content":54068,"nodeType":945},{},[54069],{"data":54070,"content":54071,"nodeType":860},{},[54072],{"data":54073,"marks":54074,"value":54075,"nodeType":864},{},[],"The password the user is entering matches the domain that password is pinned to. Since it doesn't match, based on this detection alone the user is automatically redirected to a blocking page. ",{"data":54077,"content":54078,"nodeType":945},{},[54079],{"data":54080,"content":54081,"nodeType":860},{},[54082],{"data":54083,"marks":54084,"value":54085,"nodeType":864},{},[],"The rendered web app is using a cloned app login page.",{"data":54087,"content":54088,"nodeType":945},{},[54089],{"data":54090,"content":54091,"nodeType":860},{},[54092],{"data":54093,"marks":54094,"value":54095,"nodeType":864},{},[],"A phishing toolkit is running on the web page. ",{"data":54097,"content":54098,"nodeType":860},{},[54099],{"data":54100,"marks":54101,"value":54102,"nodeType":864},{},[],"As a result, the user is blocked from interacting with the phishing site and prevented from continuing. ",{"data":54104,"content":54105,"nodeType":860},{},[54106,54110],{"data":54107,"marks":54108,"value":54109,"nodeType":864},{},[],"These are good examples of detections that are difficult (or impossible) for an attacker to evade — ",{"data":54111,"marks":54112,"value":54114,"nodeType":864},{},[54113],{"type":899},"you can’t phish a victim if they can’t enter their credentials into your phishing site! ",{"data":54116,"content":54117,"nodeType":860},{},[54118,54122,54131],{"data":54119,"marks":54120,"value":54121,"nodeType":864},{},[],"If we look at the Pyramid of Pain again, we can see that these are much harder detections for attackers to get around, ",{"data":54123,"content":54125,"nodeType":883},{"uri":54124},"https://pushsecurity.com/blog/shifting-detection-left-for-more-effective-itdr/?utm_campaign=9983377-FY25Q1_Bleeping-Computer-Organic-Article&utm_source=bleepingcomputer&utm_medium=sponsored-content&utm_content=organic%20article",[54126],{"data":54127,"marks":54128,"value":54130,"nodeType":864},{},[54129],{"type":1455},"enabling earlier detection and interception of account takeover ",{"data":54132,"marks":54133,"value":54134,"nodeType":864},{},[],"when compared to static, TI-driven blocklists — stopping attacks before anyone gets hurt.",{"data":54136,"content":54140,"nodeType":996},{"target":54137},{"sys":54138},{"id":54139,"type":1001,"linkType":1002},"6q8H7vA8k7mLrSsr5R0TZ1",[],{"data":54142,"content":54143,"nodeType":1005},{},[],{"data":54145,"content":54146,"nodeType":1009},{},[54147],{"data":54148,"marks":54149,"value":42749,"nodeType":864},{},[54150],{"type":899},{"data":54152,"content":54153,"nodeType":860},{},[54154],{"data":54155,"marks":54156,"value":44138,"nodeType":864},{},[],{"data":54158,"content":54159,"nodeType":860},{},[54160,54163,54170],{"data":54161,"marks":54162,"value":35574,"nodeType":864},{},[],{"data":54164,"content":54165,"nodeType":883},{"uri":35577},[54166],{"data":54167,"marks":54168,"value":35582,"nodeType":864},{},[54169],{"type":1455},{"data":54171,"marks":54172,"value":35586,"nodeType":864},{},[],"Why it's time for phishing prevention to move beyond email","Modern MFA-bypass phishing attacks are routinely defeating primarily email-based security controls. Why are controls failing and what can we do about it? ","2025-03-20T00:00:00.000Z","why-its-time-for-phishing-prevention-to-move-beyond-email",{"items":54178},[54179,54181],{"sys":54180,"name":6593},{"id":6592},{"sys":54182,"name":342},{"id":6596},{"items":54184},[54185],{"fullName":2736,"firstName":2737,"jobTitle":2738,"profilePicture":54186},{"url":2740},{"__typename":2059,"sys":54188,"content":54189,"title":42779,"synopsis":42780,"hashTags":59,"publishedDate":42781,"slug":42782,"tagsCollection":54463,"authorsCollection":54469},{"id":42465},{"json":54190},{"data":54191,"content":54192,"nodeType":856},{},[54193,54199,54215,54228,54234,54240,54243,54249,54255,54303,54309,54314,54317,54323,54329,54335,54341,54347,54361,54366,54372,54378,54392,54397,54403,54409,54415,54421,54427,54430,54436,54452,54457],{"data":54194,"content":54195,"nodeType":1009},{},[54196],{"data":54197,"marks":54198,"value":42476,"nodeType":864},{},[],{"data":54200,"content":54201,"nodeType":860},{},[54202,54205,54212],{"data":54203,"marks":54204,"value":42483,"nodeType":864},{},[],{"data":54206,"content":54207,"nodeType":883},{"uri":7425},[54208],{"data":54209,"marks":54210,"value":42491,"nodeType":864},{},[54211],{"type":1455},{"data":54213,"marks":54214,"value":12252,"nodeType":864},{},[],{"data":54216,"content":54217,"nodeType":860},{},[54218,54221,54225],{"data":54219,"marks":54220,"value":42501,"nodeType":864},{},[],{"data":54222,"marks":54223,"value":42506,"nodeType":864},{},[54224],{"type":1455},{"data":54226,"marks":54227,"value":42510,"nodeType":864},{},[],{"data":54229,"content":54230,"nodeType":860},{},[54231],{"data":54232,"marks":54233,"value":42517,"nodeType":864},{},[],{"data":54235,"content":54236,"nodeType":860},{},[54237],{"data":54238,"marks":54239,"value":42524,"nodeType":864},{},[],{"data":54241,"content":54242,"nodeType":1005},{},[],{"data":54244,"content":54245,"nodeType":1312},{},[54246],{"data":54247,"marks":54248,"value":42534,"nodeType":864},{},[],{"data":54250,"content":54251,"nodeType":860},{},[54252],{"data":54253,"marks":54254,"value":42541,"nodeType":864},{},[],{"data":54256,"content":54257,"nodeType":941},{},[54258,54267,54276,54285,54294],{"data":54259,"content":54260,"nodeType":945},{},[54261],{"data":54262,"content":54263,"nodeType":860},{},[54264],{"data":54265,"marks":54266,"value":42554,"nodeType":864},{},[],{"data":54268,"content":54269,"nodeType":945},{},[54270],{"data":54271,"content":54272,"nodeType":860},{},[54273],{"data":54274,"marks":54275,"value":42564,"nodeType":864},{},[],{"data":54277,"content":54278,"nodeType":945},{},[54279],{"data":54280,"content":54281,"nodeType":860},{},[54282],{"data":54283,"marks":54284,"value":42574,"nodeType":864},{},[],{"data":54286,"content":54287,"nodeType":945},{},[54288],{"data":54289,"content":54290,"nodeType":860},{},[54291],{"data":54292,"marks":54293,"value":42584,"nodeType":864},{},[],{"data":54295,"content":54296,"nodeType":945},{},[54297],{"data":54298,"content":54299,"nodeType":860},{},[54300],{"data":54301,"marks":54302,"value":42594,"nodeType":864},{},[],{"data":54304,"content":54305,"nodeType":860},{},[54306],{"data":54307,"marks":54308,"value":42601,"nodeType":864},{},[],{"data":54310,"content":54313,"nodeType":996},{"target":54311},{"sys":54312},{"id":42606,"type":1001,"linkType":1002},[],{"data":54315,"content":54316,"nodeType":1005},{},[],{"data":54318,"content":54319,"nodeType":1312},{},[54320],{"data":54321,"marks":54322,"value":42617,"nodeType":864},{},[],{"data":54324,"content":54325,"nodeType":860},{},[54326],{"data":54327,"marks":54328,"value":42624,"nodeType":864},{},[],{"data":54330,"content":54331,"nodeType":860},{},[54332],{"data":54333,"marks":54334,"value":42631,"nodeType":864},{},[],{"data":54336,"content":54337,"nodeType":860},{},[54338],{"data":54339,"marks":54340,"value":42638,"nodeType":864},{},[],{"data":54342,"content":54343,"nodeType":860},{},[54344],{"data":54345,"marks":54346,"value":42645,"nodeType":864},{},[],{"data":54348,"content":54349,"nodeType":1312},{},[54350,54353,54358],{"data":54351,"marks":54352,"value":42652,"nodeType":864},{},[],{"data":54354,"marks":54355,"value":42658,"nodeType":864},{},[54356,54357],{"type":1455},{"type":899},{"data":54359,"marks":54360,"value":42662,"nodeType":864},{},[],{"data":54362,"content":54365,"nodeType":996},{"target":54363},{"sys":54364},{"id":42667,"type":1001,"linkType":1002},[],{"data":54367,"content":54368,"nodeType":860},{},[54369],{"data":54370,"marks":54371,"value":42675,"nodeType":864},{},[],{"data":54373,"content":54374,"nodeType":860},{},[54375],{"data":54376,"marks":54377,"value":42682,"nodeType":864},{},[],{"data":54379,"content":54380,"nodeType":1312},{},[54381,54384,54389],{"data":54382,"marks":54383,"value":42689,"nodeType":864},{},[],{"data":54385,"marks":54386,"value":3053,"nodeType":864},{},[54387,54388],{"type":1455},{"type":899},{"data":54390,"marks":54391,"value":42698,"nodeType":864},{},[],{"data":54393,"content":54396,"nodeType":996},{"target":54394},{"sys":54395},{"id":42703,"type":1001,"linkType":1002},[],{"data":54398,"content":54399,"nodeType":860},{},[54400],{"data":54401,"marks":54402,"value":42711,"nodeType":864},{},[],{"data":54404,"content":54405,"nodeType":860},{},[54406],{"data":54407,"marks":54408,"value":42718,"nodeType":864},{},[],{"data":54410,"content":54411,"nodeType":860},{},[54412],{"data":54413,"marks":54414,"value":42725,"nodeType":864},{},[],{"data":54416,"content":54417,"nodeType":860},{},[54418],{"data":54419,"marks":54420,"value":42732,"nodeType":864},{},[],{"data":54422,"content":54423,"nodeType":860},{},[54424],{"data":54425,"marks":54426,"value":42739,"nodeType":864},{},[],{"data":54428,"content":54429,"nodeType":1005},{},[],{"data":54431,"content":54432,"nodeType":1009},{},[54433],{"data":54434,"marks":54435,"value":42749,"nodeType":864},{},[],{"data":54437,"content":54438,"nodeType":860},{},[54439,54442,54449],{"data":54440,"marks":54441,"value":42756,"nodeType":864},{},[],{"data":54443,"content":54444,"nodeType":883},{"uri":5642},[54445],{"data":54446,"marks":54447,"value":35582,"nodeType":864},{},[54448],{"type":1455},{"data":54450,"marks":54451,"value":35977,"nodeType":864},{},[],{"data":54453,"content":54456,"nodeType":996},{"target":54454},{"sys":54455},{"id":42771,"type":1001,"linkType":1002},[],{"data":54458,"content":54459,"nodeType":860},{},[54460],{"data":54461,"marks":54462,"value":21,"nodeType":864},{},[],{"items":54464},[54465,54467],{"sys":54466,"name":6593},{"id":6592},{"sys":54468,"name":342},{"id":6596},{"items":54470},[54471],{"fullName":4878,"firstName":4879,"jobTitle":851,"profilePicture":54472},{"url":4881},"blog/dissecting-a-recent-mailchimp-phishing-attack",{"json":54475},{"data":54476,"content":54477,"nodeType":856},{},[54478],{"data":54479,"content":54480,"nodeType":860},{},[54481],{"data":54482,"marks":54483,"value":54484,"nodeType":864},{},[],"Have I Been Pwned creator and well-known security person Troy Hunt recently blogged about a phishing attack he fell for — a rare example of Attacker-in-the-Middle phishing being publicly discussed. Here’s what it tells us about how phishing is evolving and why even the best awareness training won't stop phishing attacks. ",{"id":51546,"publishedAt":54486},"2026-08-12T11:54:21.148Z",{"items":54488},[54489,54491],{"sys":54490,"name":6593},{"id":6592},{"sys":54492,"name":342},{"id":6596},{"items":54494},[54495,54497,54499,54501,54503,54505,54507,54509,54511,54513,54515,54517,54519,54521,54523,54525,54527,54529,54531],{"sys":54496,"name":279,"slug":280,"tier":31},{"id":276},{"sys":54498,"name":519,"slug":520,"tier":31},{"id":516},{"sys":54500,"name":413,"slug":414,"tier":31},{"id":410},{"sys":54502,"name":545,"slug":546,"tier":31},{"id":542},{"sys":54504,"name":342,"slug":343,"tier":31},{"id":339},{"sys":54506,"name":642,"slug":643,"tier":31},{"id":639},{"sys":54508,"name":324,"slug":325,"tier":45},{"id":321},{"sys":54510,"name":261,"slug":262,"tier":45},{"id":258},{"sys":54512,"name":528,"slug":529,"tier":45},{"id":525},{"sys":54514,"name":511,"slug":512,"tier":45},{"id":508},{"sys":54516,"name":466,"slug":467,"tier":45},{"id":463},{"sys":54518,"name":395,"slug":396,"tier":45},{"id":392},{"sys":54520,"name":422,"slug":423,"tier":45},{"id":419},{"sys":54522,"name":333,"slug":334,"tier":45},{"id":330},{"sys":54524,"name":571,"slug":572,"tier":45},{"id":568},{"sys":54526,"name":554,"slug":555,"tier":45},{"id":551},{"sys":54528,"name":502,"slug":503,"tier":45},{"id":499},{"sys":54530,"name":493,"slug":494,"tier":45},{"id":490},{"sys":54532,"name":431,"slug":432,"tier":45},{"id":428},"sZWoklIg0e2vgGAzpil8zIaBU6TuWysHnHs-WKQSO4s",{"id":54535,"title":51531,"authorsCollection":54536,"content":54540,"extension":228,"faqItemsCollection":55445,"faqTitle":59,"featured":6,"hashTags":59,"meta":55447,"metaTitle":55448,"ogImage":55449,"postType":55451,"publishedDate":35589,"relatedBlogPostsCollection":55452,"slug":51533,"stem":57310,"subtitle":59,"summary":57311,"synopsis":51532,"sys":57322,"tagsCollection":57324,"topicsCollection":57330,"__hash__":57360},"blog/blog/introducing-strong-password-enforcement.json",{"items":54537},[54538],{"fullName":849,"firstName":850,"jobTitle":851,"socialLinks":59,"profilePicture":54539},{"url":853},{"json":54541,"links":55393},{"data":54542,"content":54543,"nodeType":856},{},[54544,54560,54566,54572,54578,54584,54589,54595,54608,54611,54617,54623,54629,54635,54644,54650,54656,54662,54669,54675,54737,54747,54753,54760,54766,54816,54826,54832,54837,54844,54850,54879,54899,54905,54914,54917,54923,54939,54945,54975,54981,54987,54993,54998,55001,55007,55013,55020,55026,55032,55045,55050,55057,55063,55068,55075,55091,55097,55123,55140,55145,55161,55177,55184,55190,55196,55201,55217,55220,55227,55240,55246,55252,55296,55301,55307,55313,55352,55355,55362,55368,55371,55377],{"data":54545,"content":54546,"nodeType":860},{},[54547,54550,54557],{"data":54548,"marks":54549,"value":50561,"nodeType":864},{},[],{"data":54551,"content":54552,"nodeType":883},{"uri":50564},[54553],{"data":54554,"marks":54555,"value":50570,"nodeType":864},{},[54556],{"type":1455},{"data":54558,"marks":54559,"value":22438,"nodeType":864},{},[],{"data":54561,"content":54562,"nodeType":860},{},[54563],{"data":54564,"marks":54565,"value":50580,"nodeType":864},{},[],{"data":54567,"content":54568,"nodeType":860},{},[54569],{"data":54570,"marks":54571,"value":50587,"nodeType":864},{},[],{"data":54573,"content":54574,"nodeType":860},{},[54575],{"data":54576,"marks":54577,"value":50594,"nodeType":864},{},[],{"data":54579,"content":54580,"nodeType":860},{},[54581],{"data":54582,"marks":54583,"value":50601,"nodeType":864},{},[],{"data":54585,"content":54588,"nodeType":996},{"target":54586},{"sys":54587},{"id":50606,"type":1001,"linkType":1002},[],{"data":54590,"content":54591,"nodeType":860},{},[54592],{"data":54593,"marks":54594,"value":50614,"nodeType":864},{},[],{"data":54596,"content":54597,"nodeType":860},{},[54598,54601,54605],{"data":54599,"marks":54600,"value":50621,"nodeType":864},{},[],{"data":54602,"marks":54603,"value":28471,"nodeType":864},{},[54604],{"type":899},{"data":54606,"marks":54607,"value":50629,"nodeType":864},{},[],{"data":54609,"content":54610,"nodeType":1005},{},[],{"data":54612,"content":54613,"nodeType":1009},{},[54614],{"data":54615,"marks":54616,"value":50639,"nodeType":864},{},[],{"data":54618,"content":54619,"nodeType":860},{},[54620],{"data":54621,"marks":54622,"value":50646,"nodeType":864},{},[],{"data":54624,"content":54625,"nodeType":860},{},[54626],{"data":54627,"marks":54628,"value":50653,"nodeType":864},{},[],{"data":54630,"content":54631,"nodeType":860},{},[54632],{"data":54633,"marks":54634,"value":50660,"nodeType":864},{},[],{"data":54636,"content":54637,"nodeType":1116},{},[54638],{"data":54639,"content":54640,"nodeType":860},{},[54641],{"data":54642,"marks":54643,"value":50670,"nodeType":864},{},[],{"data":54645,"content":54646,"nodeType":860},{},[54647],{"data":54648,"marks":54649,"value":50677,"nodeType":864},{},[],{"data":54651,"content":54652,"nodeType":860},{},[54653],{"data":54654,"marks":54655,"value":50684,"nodeType":864},{},[],{"data":54657,"content":54658,"nodeType":860},{},[54659],{"data":54660,"marks":54661,"value":50691,"nodeType":864},{},[],{"data":54663,"content":54664,"nodeType":1312},{},[54665],{"data":54666,"marks":54667,"value":50699,"nodeType":864},{},[54668],{"type":899},{"data":54670,"content":54671,"nodeType":860},{},[54672],{"data":54673,"marks":54674,"value":50706,"nodeType":864},{},[],{"data":54676,"content":54677,"nodeType":941},{},[54678,54701,54724],{"data":54679,"content":54680,"nodeType":945},{},[54681],{"data":54682,"content":54683,"nodeType":860},{},[54684,54688,54691,54698],{"data":54685,"marks":54686,"value":50720,"nodeType":864},{},[54687],{"type":899},{"data":54689,"marks":54690,"value":50724,"nodeType":864},{},[],{"data":54692,"content":54693,"nodeType":883},{"uri":15980},[54694],{"data":54695,"marks":54696,"value":50732,"nodeType":864},{},[54697],{"type":1455},{"data":54699,"marks":54700,"value":50736,"nodeType":864},{},[],{"data":54702,"content":54703,"nodeType":945},{},[54704],{"data":54705,"content":54706,"nodeType":860},{},[54707,54711,54714,54721],{"data":54708,"marks":54709,"value":50747,"nodeType":864},{},[54710],{"type":899},{"data":54712,"marks":54713,"value":50751,"nodeType":864},{},[],{"data":54715,"content":54716,"nodeType":883},{"uri":26784},[54717],{"data":54718,"marks":54719,"value":17706,"nodeType":864},{},[54720],{"type":1455},{"data":54722,"marks":54723,"value":50762,"nodeType":864},{},[],{"data":54725,"content":54726,"nodeType":945},{},[54727],{"data":54728,"content":54729,"nodeType":860},{},[54730,54734],{"data":54731,"marks":54732,"value":50773,"nodeType":864},{},[54733],{"type":899},{"data":54735,"marks":54736,"value":50777,"nodeType":864},{},[],{"data":54738,"content":54739,"nodeType":860},{},[54740,54744],{"data":54741,"marks":54742,"value":50785,"nodeType":864},{},[54743],{"type":899},{"data":54745,"marks":54746,"value":50789,"nodeType":864},{},[],{"data":54748,"content":54749,"nodeType":860},{},[54750],{"data":54751,"marks":54752,"value":50796,"nodeType":864},{},[],{"data":54754,"content":54755,"nodeType":1312},{},[54756],{"data":54757,"marks":54758,"value":50804,"nodeType":864},{},[54759],{"type":899},{"data":54761,"content":54762,"nodeType":860},{},[54763],{"data":54764,"marks":54765,"value":50811,"nodeType":864},{},[],{"data":54767,"content":54768,"nodeType":941},{},[54769,54793],{"data":54770,"content":54771,"nodeType":945},{},[54772],{"data":54773,"content":54774,"nodeType":860},{},[54775,54778,54786,54790],{"data":54776,"marks":54777,"value":21,"nodeType":864},{},[],{"data":54779,"content":54780,"nodeType":883},{"uri":47951},[54781],{"data":54782,"marks":54783,"value":50832,"nodeType":864},{},[54784,54785],{"type":1455},{"type":899},{"data":54787,"marks":54788,"value":1171,"nodeType":864},{},[54789],{"type":899},{"data":54791,"marks":54792,"value":50840,"nodeType":864},{},[],{"data":54794,"content":54795,"nodeType":945},{},[54796],{"data":54797,"content":54798,"nodeType":860},{},[54799,54803,54806,54813],{"data":54800,"marks":54801,"value":50851,"nodeType":864},{},[54802],{"type":899},{"data":54804,"marks":54805,"value":50855,"nodeType":864},{},[],{"data":54807,"content":54808,"nodeType":883},{"uri":29107},[54809],{"data":54810,"marks":54811,"value":34583,"nodeType":864},{},[54812],{"type":1455},{"data":54814,"marks":54815,"value":50866,"nodeType":864},{},[],{"data":54817,"content":54818,"nodeType":860},{},[54819,54823],{"data":54820,"marks":54821,"value":50874,"nodeType":864},{},[54822],{"type":899},{"data":54824,"marks":54825,"value":50878,"nodeType":864},{},[],{"data":54827,"content":54828,"nodeType":860},{},[54829],{"data":54830,"marks":54831,"value":50885,"nodeType":864},{},[],{"data":54833,"content":54836,"nodeType":996},{"target":54834},{"sys":54835},{"id":50890,"type":1001,"linkType":1002},[],{"data":54838,"content":54839,"nodeType":1312},{},[54840],{"data":54841,"marks":54842,"value":50899,"nodeType":864},{},[54843],{"type":899},{"data":54845,"content":54846,"nodeType":860},{},[54847],{"data":54848,"marks":54849,"value":50906,"nodeType":864},{},[],{"data":54851,"content":54852,"nodeType":941},{},[54853,54866],{"data":54854,"content":54855,"nodeType":945},{},[54856],{"data":54857,"content":54858,"nodeType":860},{},[54859,54863],{"data":54860,"marks":54861,"value":50920,"nodeType":864},{},[54862],{"type":899},{"data":54864,"marks":54865,"value":50924,"nodeType":864},{},[],{"data":54867,"content":54868,"nodeType":945},{},[54869],{"data":54870,"content":54871,"nodeType":860},{},[54872,54876],{"data":54873,"marks":54874,"value":50935,"nodeType":864},{},[54875],{"type":899},{"data":54877,"marks":54878,"value":50939,"nodeType":864},{},[],{"data":54880,"content":54881,"nodeType":860},{},[54882,54886,54889,54896],{"data":54883,"marks":54884,"value":50874,"nodeType":864},{},[54885],{"type":899},{"data":54887,"marks":54888,"value":50950,"nodeType":864},{},[],{"data":54890,"content":54891,"nodeType":883},{"uri":35177},[54892],{"data":54893,"marks":54894,"value":50958,"nodeType":864},{},[54895],{"type":1455},{"data":54897,"marks":54898,"value":50962,"nodeType":864},{},[],{"data":54900,"content":54901,"nodeType":860},{},[54902],{"data":54903,"marks":54904,"value":50969,"nodeType":864},{},[],{"data":54906,"content":54907,"nodeType":1116},{},[54908],{"data":54909,"content":54910,"nodeType":860},{},[54911],{"data":54912,"marks":54913,"value":50979,"nodeType":864},{},[],{"data":54915,"content":54916,"nodeType":1005},{},[],{"data":54918,"content":54919,"nodeType":1009},{},[54920],{"data":54921,"marks":54922,"value":50989,"nodeType":864},{},[],{"data":54924,"content":54925,"nodeType":860},{},[54926,54929,54936],{"data":54927,"marks":54928,"value":50996,"nodeType":864},{},[],{"data":54930,"content":54931,"nodeType":883},{"uri":36813},[54932],{"data":54933,"marks":54934,"value":51004,"nodeType":864},{},[54935],{"type":1455},{"data":54937,"marks":54938,"value":51008,"nodeType":864},{},[],{"data":54940,"content":54941,"nodeType":860},{},[54942],{"data":54943,"marks":54944,"value":51015,"nodeType":864},{},[],{"data":54946,"content":54947,"nodeType":941},{},[54948,54957,54966],{"data":54949,"content":54950,"nodeType":945},{},[54951],{"data":54952,"content":54953,"nodeType":860},{},[54954],{"data":54955,"marks":54956,"value":51028,"nodeType":864},{},[],{"data":54958,"content":54959,"nodeType":945},{},[54960],{"data":54961,"content":54962,"nodeType":860},{},[54963],{"data":54964,"marks":54965,"value":51038,"nodeType":864},{},[],{"data":54967,"content":54968,"nodeType":945},{},[54969],{"data":54970,"content":54971,"nodeType":860},{},[54972],{"data":54973,"marks":54974,"value":51048,"nodeType":864},{},[],{"data":54976,"content":54977,"nodeType":860},{},[54978],{"data":54979,"marks":54980,"value":51055,"nodeType":864},{},[],{"data":54982,"content":54983,"nodeType":860},{},[54984],{"data":54985,"marks":54986,"value":51062,"nodeType":864},{},[],{"data":54988,"content":54989,"nodeType":860},{},[54990],{"data":54991,"marks":54992,"value":51069,"nodeType":864},{},[],{"data":54994,"content":54997,"nodeType":996},{"target":54995},{"sys":54996},{"id":51074,"type":1001,"linkType":1002},[],{"data":54999,"content":55000,"nodeType":1005},{},[],{"data":55002,"content":55003,"nodeType":1009},{},[55004],{"data":55005,"marks":55006,"value":51085,"nodeType":864},{},[],{"data":55008,"content":55009,"nodeType":860},{},[55010],{"data":55011,"marks":55012,"value":51092,"nodeType":864},{},[],{"data":55014,"content":55015,"nodeType":1312},{},[55016],{"data":55017,"marks":55018,"value":51100,"nodeType":864},{},[55019],{"type":899},{"data":55021,"content":55022,"nodeType":860},{},[55023],{"data":55024,"marks":55025,"value":51107,"nodeType":864},{},[],{"data":55027,"content":55028,"nodeType":860},{},[55029],{"data":55030,"marks":55031,"value":51114,"nodeType":864},{},[],{"data":55033,"content":55034,"nodeType":860},{},[55035,55038,55042],{"data":55036,"marks":55037,"value":51121,"nodeType":864},{},[],{"data":55039,"marks":55040,"value":31415,"nodeType":864},{},[55041],{"type":2246},{"data":55043,"marks":55044,"value":51129,"nodeType":864},{},[],{"data":55046,"content":55049,"nodeType":996},{"target":55047},{"sys":55048},{"id":51134,"type":1001,"linkType":1002},[],{"data":55051,"content":55052,"nodeType":1312},{},[55053],{"data":55054,"marks":55055,"value":51143,"nodeType":864},{},[55056],{"type":899},{"data":55058,"content":55059,"nodeType":860},{},[55060],{"data":55061,"marks":55062,"value":51150,"nodeType":864},{},[],{"data":55064,"content":55067,"nodeType":996},{"target":55065},{"sys":55066},{"id":51155,"type":1001,"linkType":1002},[],{"data":55069,"content":55070,"nodeType":1312},{},[55071],{"data":55072,"marks":55073,"value":51164,"nodeType":864},{},[55074],{"type":899},{"data":55076,"content":55077,"nodeType":860},{},[55078,55081,55088],{"data":55079,"marks":55080,"value":51171,"nodeType":864},{},[],{"data":55082,"content":55083,"nodeType":883},{"uri":51174},[55084],{"data":55085,"marks":55086,"value":51180,"nodeType":864},{},[55087],{"type":1455},{"data":55089,"marks":55090,"value":51184,"nodeType":864},{},[],{"data":55092,"content":55093,"nodeType":860},{},[55094],{"data":55095,"marks":55096,"value":51191,"nodeType":864},{},[],{"data":55098,"content":55099,"nodeType":860},{},[55100,55103,55110,55113,55120],{"data":55101,"marks":55102,"value":51198,"nodeType":864},{},[],{"data":55104,"content":55105,"nodeType":883},{"uri":51201},[55106],{"data":55107,"marks":55108,"value":51207,"nodeType":864},{},[55109],{"type":1455},{"data":55111,"marks":55112,"value":51211,"nodeType":864},{},[],{"data":55114,"content":55115,"nodeType":883},{"uri":51214},[55116],{"data":55117,"marks":55118,"value":51220,"nodeType":864},{},[55119],{"type":1455},{"data":55121,"marks":55122,"value":51224,"nodeType":864},{},[],{"data":55124,"content":55125,"nodeType":860},{},[55126,55129,55137],{"data":55127,"marks":55128,"value":28488,"nodeType":864},{},[],{"data":55130,"content":55131,"nodeType":883},{"uri":35369},[55132],{"data":55133,"marks":55134,"value":51239,"nodeType":864},{},[55135,55136],{"type":1455},{"type":899},{"data":55138,"marks":55139,"value":51243,"nodeType":864},{},[],{"data":55141,"content":55144,"nodeType":996},{"target":55142},{"sys":55143},{"id":44007,"type":1001,"linkType":1002},[],{"data":55146,"content":55147,"nodeType":860},{},[55148,55151,55158],{"data":55149,"marks":55150,"value":51255,"nodeType":864},{},[],{"data":55152,"content":55153,"nodeType":883},{"uri":51258},[55154],{"data":55155,"marks":55156,"value":51264,"nodeType":864},{},[55157],{"type":1455},{"data":55159,"marks":55160,"value":51268,"nodeType":864},{},[],{"data":55162,"content":55163,"nodeType":860},{},[55164,55167,55174],{"data":55165,"marks":55166,"value":51275,"nodeType":864},{},[],{"data":55168,"content":55169,"nodeType":883},{"uri":51278},[55170],{"data":55171,"marks":55172,"value":51284,"nodeType":864},{},[55173],{"type":1455},{"data":55175,"marks":55176,"value":51288,"nodeType":864},{},[],{"data":55178,"content":55179,"nodeType":1312},{},[55180],{"data":55181,"marks":55182,"value":51296,"nodeType":864},{},[55183],{"type":899},{"data":55185,"content":55186,"nodeType":860},{},[55187],{"data":55188,"marks":55189,"value":51303,"nodeType":864},{},[],{"data":55191,"content":55192,"nodeType":860},{},[55193],{"data":55194,"marks":55195,"value":51310,"nodeType":864},{},[],{"data":55197,"content":55200,"nodeType":996},{"target":55198},{"sys":55199},{"id":51315,"type":1001,"linkType":1002},[],{"data":55202,"content":55203,"nodeType":860},{},[55204,55207,55214],{"data":55205,"marks":55206,"value":51323,"nodeType":864},{},[],{"data":55208,"content":55209,"nodeType":883},{"uri":35429},[55210],{"data":55211,"marks":55212,"value":28463,"nodeType":864},{},[55213],{"type":1455},{"data":55215,"marks":55216,"value":51334,"nodeType":864},{},[],{"data":55218,"content":55219,"nodeType":1005},{},[],{"data":55221,"content":55222,"nodeType":1009},{},[55223],{"data":55224,"marks":55225,"value":51345,"nodeType":864},{},[55226],{"type":899},{"data":55228,"content":55229,"nodeType":860},{},[55230,55233,55237],{"data":55231,"marks":55232,"value":51352,"nodeType":864},{},[],{"data":55234,"marks":55235,"value":1171,"nodeType":864},{},[55236],{"type":899},{"data":55238,"marks":55239,"value":51360,"nodeType":864},{},[],{"data":55241,"content":55242,"nodeType":860},{},[55243],{"data":55244,"marks":55245,"value":51367,"nodeType":864},{},[],{"data":55247,"content":55248,"nodeType":860},{},[55249],{"data":55250,"marks":55251,"value":51374,"nodeType":864},{},[],{"data":55253,"content":55254,"nodeType":941},{},[55255,55278,55287],{"data":55256,"content":55257,"nodeType":945},{},[55258],{"data":55259,"content":55260,"nodeType":860},{},[55261,55264,55268,55271,55275],{"data":55262,"marks":55263,"value":51387,"nodeType":864},{},[],{"data":55265,"marks":55266,"value":28471,"nodeType":864},{},[55267],{"type":899},{"data":55269,"marks":55270,"value":51395,"nodeType":864},{},[],{"data":55272,"marks":55273,"value":51400,"nodeType":864},{},[55274],{"type":899},{"data":55276,"marks":55277,"value":51404,"nodeType":864},{},[],{"data":55279,"content":55280,"nodeType":945},{},[55281],{"data":55282,"content":55283,"nodeType":860},{},[55284],{"data":55285,"marks":55286,"value":51414,"nodeType":864},{},[],{"data":55288,"content":55289,"nodeType":945},{},[55290],{"data":55291,"content":55292,"nodeType":860},{},[55293],{"data":55294,"marks":55295,"value":51424,"nodeType":864},{},[],{"data":55297,"content":55300,"nodeType":996},{"target":55298},{"sys":55299},{"id":35495,"type":1001,"linkType":1002},[],{"data":55302,"content":55303,"nodeType":860},{},[55304],{"data":55305,"marks":55306,"value":51436,"nodeType":864},{},[],{"data":55308,"content":55309,"nodeType":860},{},[55310],{"data":55311,"marks":55312,"value":51443,"nodeType":864},{},[],{"data":55314,"content":55315,"nodeType":941},{},[55316,55325,55334,55343],{"data":55317,"content":55318,"nodeType":945},{},[55319],{"data":55320,"content":55321,"nodeType":860},{},[55322],{"data":55323,"marks":55324,"value":51456,"nodeType":864},{},[],{"data":55326,"content":55327,"nodeType":945},{},[55328],{"data":55329,"content":55330,"nodeType":860},{},[55331],{"data":55332,"marks":55333,"value":51466,"nodeType":864},{},[],{"data":55335,"content":55336,"nodeType":945},{},[55337],{"data":55338,"content":55339,"nodeType":860},{},[55340],{"data":55341,"marks":55342,"value":51476,"nodeType":864},{},[],{"data":55344,"content":55345,"nodeType":945},{},[55346],{"data":55347,"content":55348,"nodeType":860},{},[55349],{"data":55350,"marks":55351,"value":51486,"nodeType":864},{},[],{"data":55353,"content":55354,"nodeType":1005},{},[],{"data":55356,"content":55357,"nodeType":1009},{},[55358],{"data":55359,"marks":55360,"value":51497,"nodeType":864},{},[55361],{"type":899},{"data":55363,"content":55364,"nodeType":860},{},[55365],{"data":55366,"marks":55367,"value":51504,"nodeType":864},{},[],{"data":55369,"content":55370,"nodeType":1005},{},[],{"data":55372,"content":55373,"nodeType":1009},{},[55374],{"data":55375,"marks":55376,"value":36405,"nodeType":864},{},[],{"data":55378,"content":55379,"nodeType":860},{},[55380,55383,55390],{"data":55381,"marks":55382,"value":51520,"nodeType":864},{},[],{"data":55384,"content":55385,"nodeType":883},{"uri":5642},[55386],{"data":55387,"marks":55388,"value":2715,"nodeType":864},{},[55389],{"type":1455},{"data":55391,"marks":55392,"value":2924,"nodeType":864},{},[],{"entries":55394},{"hyperlink":55395,"inline":55396,"block":55397},[],[],[55398,55404,55411,55418,55425,55432,55435,55441],{"sys":55399,"__typename":1724,"title":55400,"caption":55401,"layoutMode":59,"file":55402},{"id":50606},"Password users support group","The weekly passwordless support group meet-up",{"url":55403,"width":53149,"height":45620},"https://images.ctfassets.net/y1cdw1ablpvd/2Hnrt8xKG7RFyaHupm9ZkU/b630a7bc7bba8b5ad2c05eac57893fba/image__47_.png",{"sys":55405,"__typename":1724,"title":55406,"caption":55407,"layoutMode":59,"file":55408},{"id":50890},"Sankey","How identity vulnerabilities are introduced based on account authentication methods, and how they can be exploited using different attack techniques.",{"url":55409,"width":55410,"height":55410},"https://images.ctfassets.net/y1cdw1ablpvd/55oogXnSqSaDWXvUS0QhES/9e14e2456093c868881578a02d925e29/Sankey_chart_-_Final.png",4320,{"sys":55412,"__typename":1724,"title":55413,"caption":55413,"layoutMode":59,"file":55414},{"id":51074},"The average SaaS attack path involves direct in-app compromise following account takeover",{"url":55415,"width":55416,"height":55417},"https://images.ctfassets.net/y1cdw1ablpvd/3DOQd2fcWYdjMSVBZZvHHU/2cd487cb316aef8acd77e14a1960c391/SaaS_attack_path.png",1362,458,{"sys":55419,"__typename":1724,"title":55420,"caption":55420,"layoutMode":59,"file":55421},{"id":51134},"Push can find all the apps your employees are accessing, whether or not you know about them.",{"url":55422,"width":55423,"height":55424},"https://images.ctfassets.net/y1cdw1ablpvd/5A4DDagLgRbT0na0zoplPA/27e3bbae558e27090952f97c506e1620/image9.png",1528,826,{"sys":55426,"__typename":1724,"title":55427,"caption":55427,"layoutMode":59,"file":55428},{"id":51155},"Many apps allow multiple login methods, including local password access, even once the application has been onboarded to SSO.",{"url":55429,"width":55430,"height":55431},"https://images.ctfassets.net/y1cdw1ablpvd/w2X0MdbvfrmPcpPMUbLlC/12d42929f0f58134706ae1da46c82bf7/image3.png",1405,446,{"sys":55433,"__typename":1724,"title":45629,"caption":45630,"layoutMode":59,"file":55434},{"id":44007},{"url":45632,"width":45633,"height":45634},{"sys":55436,"__typename":1724,"title":55437,"caption":55438,"layoutMode":59,"file":55439},{"id":51315},"Password enforcement banner github","Push displays an in-browser splash screen prompting the user to change their insecure password at the point of login to an app",{"url":55440,"width":41540,"height":41541},"https://images.ctfassets.net/y1cdw1ablpvd/3vzYwxGIB9QEyevlCAQhSQ/5e97d859f943610bff21255072ebb982/image10.png",{"sys":55442,"__typename":9318,"title":55443,"arcadeDemoUrl":55444,"playText":9321},{"id":35495},"Arcade: Find and remediate password vulnerabilities in Atlassian","https://demo.arcade.software/O5HwAmXSXboyKZkkO6XS?embed",{"items":55446},[],{},"Enforce strong passwords at the point of login",{"url":55450},"https://images.ctfassets.net/y1cdw1ablpvd/2R3y1Vz94cVhq3HoDTc4XJ/4969af758b586dfee340169ea0d620a5/Kelly_Product_Video_Thumbnail__7_.jpg","product-feature",{"items":55453},[55454,56062,56762],{"__typename":2059,"sys":55455,"content":55456,"title":35587,"synopsis":35588,"hashTags":59,"publishedDate":35589,"slug":35590,"tagsCollection":56052,"authorsCollection":56058},{"id":34894},{"json":55457},{"data":55458,"content":55459,"nodeType":856},{},[55460,55473,55478,55484,55489,55492,55499,55505,55586,55591,55597,55603,55606,55613,55620,55626,55674,55681,55696,55720,55726,55733,55739,55744,55759,55772,55777,55783,55806,55812,55818,55848,55854,55860,55876,55879,55886,55892,55898,55904,55911,55927,55932,55939,55955,55970,55975,55982,55988,56004,56010,56015,56018,56025,56031,56037],{"data":55461,"content":55462,"nodeType":860},{},[55463,55466,55470],{"data":55464,"marks":55465,"value":34905,"nodeType":864},{},[],{"data":55467,"marks":55468,"value":34910,"nodeType":864},{},[55469],{"type":899},{"data":55471,"marks":55472,"value":34914,"nodeType":864},{},[],{"data":55474,"content":55477,"nodeType":996},{"target":55475},{"sys":55476},{"id":34919,"type":1001,"linkType":1002},[],{"data":55479,"content":55480,"nodeType":860},{},[55481],{"data":55482,"marks":55483,"value":21,"nodeType":864},{},[],{"data":55485,"content":55488,"nodeType":996},{"target":55486},{"sys":55487},{"id":34931,"type":1001,"linkType":1002},[],{"data":55490,"content":55491,"nodeType":1005},{},[],{"data":55493,"content":55494,"nodeType":1009},{},[55495],{"data":55496,"marks":55497,"value":34943,"nodeType":864},{},[55498],{"type":899},{"data":55500,"content":55501,"nodeType":860},{},[55502],{"data":55503,"marks":55504,"value":34950,"nodeType":864},{},[],{"data":55506,"content":55507,"nodeType":941},{},[55508,55521,55534,55547,55560,55573],{"data":55509,"content":55510,"nodeType":945},{},[55511],{"data":55512,"content":55513,"nodeType":860},{},[55514,55518],{"data":55515,"marks":55516,"value":34964,"nodeType":864},{},[55517],{"type":899},{"data":55519,"marks":55520,"value":34968,"nodeType":864},{},[],{"data":55522,"content":55523,"nodeType":945},{},[55524],{"data":55525,"content":55526,"nodeType":860},{},[55527,55531],{"data":55528,"marks":55529,"value":34979,"nodeType":864},{},[55530],{"type":899},{"data":55532,"marks":55533,"value":34983,"nodeType":864},{},[],{"data":55535,"content":55536,"nodeType":945},{},[55537],{"data":55538,"content":55539,"nodeType":860},{},[55540,55544],{"data":55541,"marks":55542,"value":34994,"nodeType":864},{},[55543],{"type":899},{"data":55545,"marks":55546,"value":34998,"nodeType":864},{},[],{"data":55548,"content":55549,"nodeType":945},{},[55550],{"data":55551,"content":55552,"nodeType":860},{},[55553,55557],{"data":55554,"marks":55555,"value":35009,"nodeType":864},{},[55556],{"type":899},{"data":55558,"marks":55559,"value":35013,"nodeType":864},{},[],{"data":55561,"content":55562,"nodeType":945},{},[55563],{"data":55564,"content":55565,"nodeType":860},{},[55566,55570],{"data":55567,"marks":55568,"value":35024,"nodeType":864},{},[55569],{"type":899},{"data":55571,"marks":55572,"value":35028,"nodeType":864},{},[],{"data":55574,"content":55575,"nodeType":945},{},[55576],{"data":55577,"content":55578,"nodeType":860},{},[55579,55583],{"data":55580,"marks":55581,"value":35039,"nodeType":864},{},[55582],{"type":899},{"data":55584,"marks":55585,"value":35043,"nodeType":864},{},[],{"data":55587,"content":55590,"nodeType":996},{"target":55588},{"sys":55589},{"id":35048,"type":1001,"linkType":1002},[],{"data":55592,"content":55593,"nodeType":860},{},[55594],{"data":55595,"marks":55596,"value":35056,"nodeType":864},{},[],{"data":55598,"content":55599,"nodeType":860},{},[55600],{"data":55601,"marks":55602,"value":35063,"nodeType":864},{},[],{"data":55604,"content":55605,"nodeType":1005},{},[],{"data":55607,"content":55608,"nodeType":1009},{},[55609],{"data":55610,"marks":55611,"value":35074,"nodeType":864},{},[55612],{"type":899},{"data":55614,"content":55615,"nodeType":1312},{},[55616],{"data":55617,"marks":55618,"value":35082,"nodeType":864},{},[55619],{"type":899},{"data":55621,"content":55622,"nodeType":860},{},[55623],{"data":55624,"marks":55625,"value":35089,"nodeType":864},{},[],{"data":55627,"content":55628,"nodeType":941},{},[55629,55638,55647,55656,55665],{"data":55630,"content":55631,"nodeType":945},{},[55632],{"data":55633,"content":55634,"nodeType":860},{},[55635],{"data":55636,"marks":55637,"value":35102,"nodeType":864},{},[],{"data":55639,"content":55640,"nodeType":945},{},[55641],{"data":55642,"content":55643,"nodeType":860},{},[55644],{"data":55645,"marks":55646,"value":35112,"nodeType":864},{},[],{"data":55648,"content":55649,"nodeType":945},{},[55650],{"data":55651,"content":55652,"nodeType":860},{},[55653],{"data":55654,"marks":55655,"value":35122,"nodeType":864},{},[],{"data":55657,"content":55658,"nodeType":945},{},[55659],{"data":55660,"content":55661,"nodeType":860},{},[55662],{"data":55663,"marks":55664,"value":35132,"nodeType":864},{},[],{"data":55666,"content":55667,"nodeType":945},{},[55668],{"data":55669,"content":55670,"nodeType":860},{},[55671],{"data":55672,"marks":55673,"value":35142,"nodeType":864},{},[],{"data":55675,"content":55676,"nodeType":1312},{},[55677],{"data":55678,"marks":55679,"value":35150,"nodeType":864},{},[55680],{"type":899},{"data":55682,"content":55683,"nodeType":860},{},[55684,55687,55693],{"data":55685,"marks":55686,"value":21,"nodeType":864},{},[],{"data":55688,"content":55689,"nodeType":883},{"uri":8628},[55690],{"data":55691,"marks":55692,"value":35163,"nodeType":864},{},[],{"data":55694,"marks":55695,"value":35167,"nodeType":864},{},[],{"data":55697,"content":55698,"nodeType":860},{},[55699,55702,55708,55711,55717],{"data":55700,"marks":55701,"value":35174,"nodeType":864},{},[],{"data":55703,"content":55704,"nodeType":883},{"uri":35177},[55705],{"data":55706,"marks":55707,"value":35182,"nodeType":864},{},[],{"data":55709,"marks":55710,"value":35186,"nodeType":864},{},[],{"data":55712,"content":55713,"nodeType":883},{"uri":3751},[55714],{"data":55715,"marks":55716,"value":29323,"nodeType":864},{},[],{"data":55718,"marks":55719,"value":35196,"nodeType":864},{},[],{"data":55721,"content":55722,"nodeType":860},{},[55723],{"data":55724,"marks":55725,"value":35203,"nodeType":864},{},[],{"data":55727,"content":55728,"nodeType":1312},{},[55729],{"data":55730,"marks":55731,"value":35211,"nodeType":864},{},[55732],{"type":899},{"data":55734,"content":55735,"nodeType":860},{},[55736],{"data":55737,"marks":55738,"value":35218,"nodeType":864},{},[],{"data":55740,"content":55743,"nodeType":996},{"target":55741},{"sys":55742},{"id":35223,"type":1001,"linkType":1002},[],{"data":55745,"content":55746,"nodeType":860},{},[55747,55750,55756],{"data":55748,"marks":55749,"value":35231,"nodeType":864},{},[],{"data":55751,"content":55752,"nodeType":883},{"uri":35234},[55753],{"data":55754,"marks":55755,"value":35239,"nodeType":864},{},[],{"data":55757,"marks":55758,"value":35243,"nodeType":864},{},[],{"data":55760,"content":55761,"nodeType":860},{},[55762,55765,55769],{"data":55763,"marks":55764,"value":35250,"nodeType":864},{},[],{"data":55766,"marks":55767,"value":35255,"nodeType":864},{},[55768],{"type":899},{"data":55770,"marks":55771,"value":35259,"nodeType":864},{},[],{"data":55773,"content":55776,"nodeType":996},{"target":55774},{"sys":55775},{"id":35264,"type":1001,"linkType":1002},[],{"data":55778,"content":55779,"nodeType":860},{},[55780],{"data":55781,"marks":55782,"value":35272,"nodeType":864},{},[],{"data":55784,"content":55785,"nodeType":860},{},[55786,55789,55796,55799,55803],{"data":55787,"marks":55788,"value":21,"nodeType":864},{},[],{"data":55790,"content":55791,"nodeType":883},{"uri":15980},[55792],{"data":55793,"marks":55794,"value":35286,"nodeType":864},{},[55795],{"type":1455},{"data":55797,"marks":55798,"value":35290,"nodeType":864},{},[],{"data":55800,"marks":55801,"value":35295,"nodeType":864},{},[55802],{"type":899},{"data":55804,"marks":55805,"value":12252,"nodeType":864},{},[],{"data":55807,"content":55808,"nodeType":1009},{},[55809],{"data":55810,"marks":55811,"value":35305,"nodeType":864},{},[],{"data":55813,"content":55814,"nodeType":860},{},[55815],{"data":55816,"marks":55817,"value":35312,"nodeType":864},{},[],{"data":55819,"content":55820,"nodeType":941},{},[55821,55830,55839],{"data":55822,"content":55823,"nodeType":945},{},[55824],{"data":55825,"content":55826,"nodeType":860},{},[55827],{"data":55828,"marks":55829,"value":35325,"nodeType":864},{},[],{"data":55831,"content":55832,"nodeType":945},{},[55833],{"data":55834,"content":55835,"nodeType":860},{},[55836],{"data":55837,"marks":55838,"value":35335,"nodeType":864},{},[],{"data":55840,"content":55841,"nodeType":945},{},[55842],{"data":55843,"content":55844,"nodeType":860},{},[55845],{"data":55846,"marks":55847,"value":35345,"nodeType":864},{},[],{"data":55849,"content":55850,"nodeType":860},{},[55851],{"data":55852,"marks":55853,"value":35352,"nodeType":864},{},[],{"data":55855,"content":55856,"nodeType":860},{},[55857],{"data":55858,"marks":55859,"value":35359,"nodeType":864},{},[],{"data":55861,"content":55862,"nodeType":860},{},[55863,55866,55873],{"data":55864,"marks":55865,"value":35366,"nodeType":864},{},[],{"data":55867,"content":55868,"nodeType":883},{"uri":35369},[55869],{"data":55870,"marks":55871,"value":35375,"nodeType":864},{},[55872],{"type":1455},{"data":55874,"marks":55875,"value":35379,"nodeType":864},{},[],{"data":55877,"content":55878,"nodeType":1005},{},[],{"data":55880,"content":55881,"nodeType":1009},{},[55882],{"data":55883,"marks":55884,"value":35390,"nodeType":864},{},[55885],{"type":899},{"data":55887,"content":55888,"nodeType":860},{},[55889],{"data":55890,"marks":55891,"value":35397,"nodeType":864},{},[],{"data":55893,"content":55894,"nodeType":860},{},[55895],{"data":55896,"marks":55897,"value":35404,"nodeType":864},{},[],{"data":55899,"content":55900,"nodeType":860},{},[55901],{"data":55902,"marks":55903,"value":35411,"nodeType":864},{},[],{"data":55905,"content":55906,"nodeType":1312},{},[55907],{"data":55908,"marks":55909,"value":35419,"nodeType":864},{},[55910],{"type":899},{"data":55912,"content":55913,"nodeType":860},{},[55914,55917,55924],{"data":55915,"marks":55916,"value":35426,"nodeType":864},{},[],{"data":55918,"content":55919,"nodeType":883},{"uri":35429},[55920],{"data":55921,"marks":55922,"value":35435,"nodeType":864},{},[55923],{"type":1455},{"data":55925,"marks":55926,"value":35439,"nodeType":864},{},[],{"data":55928,"content":55931,"nodeType":996},{"target":55929},{"sys":55930},{"id":35444,"type":1001,"linkType":1002},[],{"data":55933,"content":55934,"nodeType":1312},{},[55935],{"data":55936,"marks":55937,"value":35453,"nodeType":864},{},[55938],{"type":899},{"data":55940,"content":55941,"nodeType":860},{},[55942,55945,55952],{"data":55943,"marks":55944,"value":35460,"nodeType":864},{},[],{"data":55946,"content":55947,"nodeType":883},{"uri":35369},[55948],{"data":55949,"marks":55950,"value":35468,"nodeType":864},{},[55951],{"type":1455},{"data":55953,"marks":55954,"value":35472,"nodeType":864},{},[],{"data":55956,"content":55957,"nodeType":860},{},[55958,55961,55967],{"data":55959,"marks":55960,"value":35479,"nodeType":864},{},[],{"data":55962,"content":55963,"nodeType":883},{"uri":35482},[55964],{"data":55965,"marks":55966,"value":35487,"nodeType":864},{},[],{"data":55968,"marks":55969,"value":12252,"nodeType":864},{},[],{"data":55971,"content":55974,"nodeType":996},{"target":55972},{"sys":55973},{"id":35495,"type":1001,"linkType":1002},[],{"data":55976,"content":55977,"nodeType":1312},{},[55978],{"data":55979,"marks":55980,"value":35504,"nodeType":864},{},[55981],{"type":899},{"data":55983,"content":55984,"nodeType":860},{},[55985],{"data":55986,"marks":55987,"value":35511,"nodeType":864},{},[],{"data":55989,"content":55990,"nodeType":860},{},[55991,55994,56001],{"data":55992,"marks":55993,"value":35518,"nodeType":864},{},[],{"data":55995,"content":55996,"nodeType":883},{"uri":17701},[55997],{"data":55998,"marks":55999,"value":34626,"nodeType":864},{},[56000],{"type":1455},{"data":56002,"marks":56003,"value":35529,"nodeType":864},{},[],{"data":56005,"content":56006,"nodeType":860},{},[56007],{"data":56008,"marks":56009,"value":35536,"nodeType":864},{},[],{"data":56011,"content":56014,"nodeType":996},{"target":56012},{"sys":56013},{"id":35541,"type":1001,"linkType":1002},[],{"data":56016,"content":56017,"nodeType":1005},{},[],{"data":56019,"content":56020,"nodeType":1009},{},[56021],{"data":56022,"marks":56023,"value":35553,"nodeType":864},{},[56024],{"type":899},{"data":56026,"content":56027,"nodeType":860},{},[56028],{"data":56029,"marks":56030,"value":35560,"nodeType":864},{},[],{"data":56032,"content":56033,"nodeType":860},{},[56034],{"data":56035,"marks":56036,"value":35567,"nodeType":864},{},[],{"data":56038,"content":56039,"nodeType":860},{},[56040,56043,56049],{"data":56041,"marks":56042,"value":35574,"nodeType":864},{},[],{"data":56044,"content":56045,"nodeType":883},{"uri":35577},[56046],{"data":56047,"marks":56048,"value":35582,"nodeType":864},{},[],{"data":56050,"marks":56051,"value":35586,"nodeType":864},{},[],{"items":56053},[56054,56056],{"sys":56055,"name":6593},{"id":6592},{"sys":56057,"name":342},{"id":6596},{"items":56059},[56060],{"fullName":2736,"firstName":2737,"jobTitle":2738,"profilePicture":56061},{"url":2740},{"__typename":2059,"sys":56063,"content":56064,"title":34880,"synopsis":34881,"hashTags":59,"publishedDate":34882,"slug":34883,"tagsCollection":56754,"authorsCollection":56758},{"id":34089},{"json":56065},{"data":56066,"content":56067,"nodeType":856},{},[56068,56073,56089,56095,56101,56106,56109,56116,56122,56138,56148,56154,56160,56166,56250,56253,56260,56335,56340,56343,56350,56357,56363,56369,56376,56392,56398,56405,56411,56417,56424,56430,56436,56452,56457,56460,56467,56474,56480,56569,56575,56582,56588,56594,56599,56606,56612,56618,56624,56631,56637,56643,56649,56655,56660,56663,56670,56676,56706,56712,56727,56743,56748],{"data":56069,"content":56072,"nodeType":996},{"target":56070},{"sys":56071},{"id":34098,"type":1001,"linkType":1002},[],{"data":56074,"content":56075,"nodeType":860},{},[56076,56079,56086],{"data":56077,"marks":56078,"value":34106,"nodeType":864},{},[],{"data":56080,"content":56081,"nodeType":883},{"uri":34109},[56082],{"data":56083,"marks":56084,"value":34115,"nodeType":864},{},[56085],{"type":1455},{"data":56087,"marks":56088,"value":34119,"nodeType":864},{},[],{"data":56090,"content":56091,"nodeType":860},{},[56092],{"data":56093,"marks":56094,"value":34126,"nodeType":864},{},[],{"data":56096,"content":56097,"nodeType":860},{},[56098],{"data":56099,"marks":56100,"value":34133,"nodeType":864},{},[],{"data":56102,"content":56105,"nodeType":996},{"target":56103},{"sys":56104},{"id":34138,"type":1001,"linkType":1002},[],{"data":56107,"content":56108,"nodeType":1005},{},[],{"data":56110,"content":56111,"nodeType":1009},{},[56112],{"data":56113,"marks":56114,"value":34150,"nodeType":864},{},[56115],{"type":899},{"data":56117,"content":56118,"nodeType":860},{},[56119],{"data":56120,"marks":56121,"value":34157,"nodeType":864},{},[],{"data":56123,"content":56124,"nodeType":860},{},[56125,56128,56135],{"data":56126,"marks":56127,"value":34164,"nodeType":864},{},[],{"data":56129,"content":56130,"nodeType":883},{"uri":18533},[56131],{"data":56132,"marks":56133,"value":34172,"nodeType":864},{},[56134],{"type":1455},{"data":56136,"marks":56137,"value":12252,"nodeType":864},{},[],{"data":56139,"content":56140,"nodeType":1116},{},[56141],{"data":56142,"content":56143,"nodeType":860},{},[56144],{"data":56145,"marks":56146,"value":34186,"nodeType":864},{},[56147],{"type":899},{"data":56149,"content":56150,"nodeType":860},{},[56151],{"data":56152,"marks":56153,"value":34193,"nodeType":864},{},[],{"data":56155,"content":56156,"nodeType":860},{},[56157],{"data":56158,"marks":56159,"value":34200,"nodeType":864},{},[],{"data":56161,"content":56162,"nodeType":860},{},[56163],{"data":56164,"marks":56165,"value":34207,"nodeType":864},{},[],{"data":56167,"content":56168,"nodeType":941},{},[56169,56178,56187,56196,56205,56214,56223,56232,56241],{"data":56170,"content":56171,"nodeType":945},{},[56172],{"data":56173,"content":56174,"nodeType":860},{},[56175],{"data":56176,"marks":56177,"value":34220,"nodeType":864},{},[],{"data":56179,"content":56180,"nodeType":945},{},[56181],{"data":56182,"content":56183,"nodeType":860},{},[56184],{"data":56185,"marks":56186,"value":34230,"nodeType":864},{},[],{"data":56188,"content":56189,"nodeType":945},{},[56190],{"data":56191,"content":56192,"nodeType":860},{},[56193],{"data":56194,"marks":56195,"value":34240,"nodeType":864},{},[],{"data":56197,"content":56198,"nodeType":945},{},[56199],{"data":56200,"content":56201,"nodeType":860},{},[56202],{"data":56203,"marks":56204,"value":34250,"nodeType":864},{},[],{"data":56206,"content":56207,"nodeType":945},{},[56208],{"data":56209,"content":56210,"nodeType":860},{},[56211],{"data":56212,"marks":56213,"value":34260,"nodeType":864},{},[],{"data":56215,"content":56216,"nodeType":945},{},[56217],{"data":56218,"content":56219,"nodeType":860},{},[56220],{"data":56221,"marks":56222,"value":34270,"nodeType":864},{},[],{"data":56224,"content":56225,"nodeType":945},{},[56226],{"data":56227,"content":56228,"nodeType":860},{},[56229],{"data":56230,"marks":56231,"value":34280,"nodeType":864},{},[],{"data":56233,"content":56234,"nodeType":945},{},[56235],{"data":56236,"content":56237,"nodeType":860},{},[56238],{"data":56239,"marks":56240,"value":34290,"nodeType":864},{},[],{"data":56242,"content":56243,"nodeType":945},{},[56244],{"data":56245,"content":56246,"nodeType":860},{},[56247],{"data":56248,"marks":56249,"value":34300,"nodeType":864},{},[],{"data":56251,"content":56252,"nodeType":1005},{},[],{"data":56254,"content":56255,"nodeType":1009},{},[56256],{"data":56257,"marks":56258,"value":34311,"nodeType":864},{},[56259],{"type":899},{"data":56261,"content":56262,"nodeType":941},{},[56263,56272,56281,56290,56299,56308,56317,56326],{"data":56264,"content":56265,"nodeType":945},{},[56266],{"data":56267,"content":56268,"nodeType":860},{},[56269],{"data":56270,"marks":56271,"value":34324,"nodeType":864},{},[],{"data":56273,"content":56274,"nodeType":945},{},[56275],{"data":56276,"content":56277,"nodeType":860},{},[56278],{"data":56279,"marks":56280,"value":34334,"nodeType":864},{},[],{"data":56282,"content":56283,"nodeType":945},{},[56284],{"data":56285,"content":56286,"nodeType":860},{},[56287],{"data":56288,"marks":56289,"value":34344,"nodeType":864},{},[],{"data":56291,"content":56292,"nodeType":945},{},[56293],{"data":56294,"content":56295,"nodeType":860},{},[56296],{"data":56297,"marks":56298,"value":34354,"nodeType":864},{},[],{"data":56300,"content":56301,"nodeType":945},{},[56302],{"data":56303,"content":56304,"nodeType":860},{},[56305],{"data":56306,"marks":56307,"value":34364,"nodeType":864},{},[],{"data":56309,"content":56310,"nodeType":945},{},[56311],{"data":56312,"content":56313,"nodeType":860},{},[56314],{"data":56315,"marks":56316,"value":34374,"nodeType":864},{},[],{"data":56318,"content":56319,"nodeType":945},{},[56320],{"data":56321,"content":56322,"nodeType":860},{},[56323],{"data":56324,"marks":56325,"value":34384,"nodeType":864},{},[],{"data":56327,"content":56328,"nodeType":945},{},[56329],{"data":56330,"content":56331,"nodeType":860},{},[56332],{"data":56333,"marks":56334,"value":34394,"nodeType":864},{},[],{"data":56336,"content":56339,"nodeType":996},{"target":56337},{"sys":56338},{"id":34399,"type":1001,"linkType":1002},[],{"data":56341,"content":56342,"nodeType":1005},{},[],{"data":56344,"content":56345,"nodeType":1009},{},[56346],{"data":56347,"marks":56348,"value":34411,"nodeType":864},{},[56349],{"type":899},{"data":56351,"content":56352,"nodeType":1312},{},[56353],{"data":56354,"marks":56355,"value":34419,"nodeType":864},{},[56356],{"type":899},{"data":56358,"content":56359,"nodeType":860},{},[56360],{"data":56361,"marks":56362,"value":34426,"nodeType":864},{},[],{"data":56364,"content":56365,"nodeType":860},{},[56366],{"data":56367,"marks":56368,"value":34433,"nodeType":864},{},[],{"data":56370,"content":56371,"nodeType":1312},{},[56372],{"data":56373,"marks":56374,"value":34441,"nodeType":864},{},[56375],{"type":899},{"data":56377,"content":56378,"nodeType":860},{},[56379,56382,56389],{"data":56380,"marks":56381,"value":34448,"nodeType":864},{},[],{"data":56383,"content":56384,"nodeType":883},{"uri":17701},[56385],{"data":56386,"marks":56387,"value":17706,"nodeType":864},{},[56388],{"type":1455},{"data":56390,"marks":56391,"value":12252,"nodeType":864},{},[],{"data":56393,"content":56394,"nodeType":860},{},[56395],{"data":56396,"marks":56397,"value":34465,"nodeType":864},{},[],{"data":56399,"content":56400,"nodeType":1312},{},[56401],{"data":56402,"marks":56403,"value":34473,"nodeType":864},{},[56404],{"type":899},{"data":56406,"content":56407,"nodeType":860},{},[56408],{"data":56409,"marks":56410,"value":34480,"nodeType":864},{},[],{"data":56412,"content":56413,"nodeType":860},{},[56414],{"data":56415,"marks":56416,"value":34487,"nodeType":864},{},[],{"data":56418,"content":56419,"nodeType":1312},{},[56420],{"data":56421,"marks":56422,"value":34495,"nodeType":864},{},[56423],{"type":899},{"data":56425,"content":56426,"nodeType":860},{},[56427],{"data":56428,"marks":56429,"value":34502,"nodeType":864},{},[],{"data":56431,"content":56432,"nodeType":860},{},[56433],{"data":56434,"marks":56435,"value":34509,"nodeType":864},{},[],{"data":56437,"content":56438,"nodeType":860},{},[56439,56442,56449],{"data":56440,"marks":56441,"value":34516,"nodeType":864},{},[],{"data":56443,"content":56444,"nodeType":883},{"uri":34519},[56445],{"data":56446,"marks":56447,"value":34525,"nodeType":864},{},[56448],{"type":1455},{"data":56450,"marks":56451,"value":34529,"nodeType":864},{},[],{"data":56453,"content":56456,"nodeType":996},{"target":56454},{"sys":56455},{"id":34534,"type":1001,"linkType":1002},[],{"data":56458,"content":56459,"nodeType":1005},{},[],{"data":56461,"content":56462,"nodeType":1009},{},[56463],{"data":56464,"marks":56465,"value":34546,"nodeType":864},{},[56466],{"type":899},{"data":56468,"content":56469,"nodeType":1312},{},[56470],{"data":56471,"marks":56472,"value":34554,"nodeType":864},{},[56473],{"type":899},{"data":56475,"content":56476,"nodeType":860},{},[56477],{"data":56478,"marks":56479,"value":34561,"nodeType":864},{},[],{"data":56481,"content":56482,"nodeType":941},{},[56483,56502,56521,56550],{"data":56484,"content":56485,"nodeType":945},{},[56486],{"data":56487,"content":56488,"nodeType":860},{},[56489,56492,56499],{"data":56490,"marks":56491,"value":34574,"nodeType":864},{},[],{"data":56493,"content":56494,"nodeType":883},{"uri":34577},[56495],{"data":56496,"marks":56497,"value":34583,"nodeType":864},{},[56498],{"type":1455},{"data":56500,"marks":56501,"value":34587,"nodeType":864},{},[],{"data":56503,"content":56504,"nodeType":945},{},[56505],{"data":56506,"content":56507,"nodeType":860},{},[56508,56511,56518],{"data":56509,"marks":56510,"value":34597,"nodeType":864},{},[],{"data":56512,"content":56513,"nodeType":883},{"uri":15980},[56514],{"data":56515,"marks":56516,"value":34605,"nodeType":864},{},[56517],{"type":1455},{"data":56519,"marks":56520,"value":2924,"nodeType":864},{},[],{"data":56522,"content":56523,"nodeType":945},{},[56524],{"data":56525,"content":56526,"nodeType":860},{},[56527,56530,56537,56540,56547],{"data":56528,"marks":56529,"value":34618,"nodeType":864},{},[],{"data":56531,"content":56532,"nodeType":883},{"uri":17701},[56533],{"data":56534,"marks":56535,"value":34626,"nodeType":864},{},[56536],{"type":1455},{"data":56538,"marks":56539,"value":34630,"nodeType":864},{},[],{"data":56541,"content":56542,"nodeType":883},{"uri":34633},[56543],{"data":56544,"marks":56545,"value":34639,"nodeType":864},{},[56546],{"type":1455},{"data":56548,"marks":56549,"value":34643,"nodeType":864},{},[],{"data":56551,"content":56552,"nodeType":945},{},[56553],{"data":56554,"content":56555,"nodeType":860},{},[56556,56559,56566],{"data":56557,"marks":56558,"value":34653,"nodeType":864},{},[],{"data":56560,"content":56561,"nodeType":883},{"uri":15980},[56562],{"data":56563,"marks":56564,"value":34661,"nodeType":864},{},[56565],{"type":1455},{"data":56567,"marks":56568,"value":34665,"nodeType":864},{},[],{"data":56570,"content":56571,"nodeType":860},{},[56572],{"data":56573,"marks":56574,"value":34672,"nodeType":864},{},[],{"data":56576,"content":56577,"nodeType":1312},{},[56578],{"data":56579,"marks":56580,"value":34680,"nodeType":864},{},[56581],{"type":899},{"data":56583,"content":56584,"nodeType":860},{},[56585],{"data":56586,"marks":56587,"value":34687,"nodeType":864},{},[],{"data":56589,"content":56590,"nodeType":860},{},[56591],{"data":56592,"marks":56593,"value":34694,"nodeType":864},{},[],{"data":56595,"content":56598,"nodeType":996},{"target":56596},{"sys":56597},{"id":34699,"type":1001,"linkType":1002},[],{"data":56600,"content":56601,"nodeType":1312},{},[56602],{"data":56603,"marks":56604,"value":34708,"nodeType":864},{},[56605],{"type":899},{"data":56607,"content":56608,"nodeType":860},{},[56609],{"data":56610,"marks":56611,"value":34715,"nodeType":864},{},[],{"data":56613,"content":56614,"nodeType":860},{},[56615],{"data":56616,"marks":56617,"value":34722,"nodeType":864},{},[],{"data":56619,"content":56620,"nodeType":860},{},[56621],{"data":56622,"marks":56623,"value":34729,"nodeType":864},{},[],{"data":56625,"content":56626,"nodeType":1312},{},[56627],{"data":56628,"marks":56629,"value":34737,"nodeType":864},{},[56630],{"type":899},{"data":56632,"content":56633,"nodeType":860},{},[56634],{"data":56635,"marks":56636,"value":34744,"nodeType":864},{},[],{"data":56638,"content":56639,"nodeType":860},{},[56640],{"data":56641,"marks":56642,"value":34751,"nodeType":864},{},[],{"data":56644,"content":56645,"nodeType":860},{},[56646],{"data":56647,"marks":56648,"value":34758,"nodeType":864},{},[],{"data":56650,"content":56651,"nodeType":860},{},[56652],{"data":56653,"marks":56654,"value":34765,"nodeType":864},{},[],{"data":56656,"content":56659,"nodeType":996},{"target":56657},{"sys":56658},{"id":34770,"type":1001,"linkType":1002},[],{"data":56661,"content":56662,"nodeType":1005},{},[],{"data":56664,"content":56665,"nodeType":1009},{},[56666],{"data":56667,"marks":56668,"value":34782,"nodeType":864},{},[56669],{"type":899},{"data":56671,"content":56672,"nodeType":860},{},[56673],{"data":56674,"marks":56675,"value":34789,"nodeType":864},{},[],{"data":56677,"content":56678,"nodeType":941},{},[56679,56688,56697],{"data":56680,"content":56681,"nodeType":945},{},[56682],{"data":56683,"content":56684,"nodeType":860},{},[56685],{"data":56686,"marks":56687,"value":34802,"nodeType":864},{},[],{"data":56689,"content":56690,"nodeType":945},{},[56691],{"data":56692,"content":56693,"nodeType":860},{},[56694],{"data":56695,"marks":56696,"value":34812,"nodeType":864},{},[],{"data":56698,"content":56699,"nodeType":945},{},[56700],{"data":56701,"content":56702,"nodeType":860},{},[56703],{"data":56704,"marks":56705,"value":34822,"nodeType":864},{},[],{"data":56707,"content":56708,"nodeType":860},{},[56709],{"data":56710,"marks":56711,"value":34829,"nodeType":864},{},[],{"data":56713,"content":56714,"nodeType":860},{},[56715,56718,56724],{"data":56716,"marks":56717,"value":1238,"nodeType":864},{},[],{"data":56719,"content":56720,"nodeType":883},{"uri":34838},[56721],{"data":56722,"marks":56723,"value":34843,"nodeType":864},{},[],{"data":56725,"marks":56726,"value":34847,"nodeType":864},{},[],{"data":56728,"content":56729,"nodeType":860},{},[56730,56733,56740],{"data":56731,"marks":56732,"value":34854,"nodeType":864},{},[],{"data":56734,"content":56735,"nodeType":883},{"uri":34857},[56736],{"data":56737,"marks":56738,"value":34863,"nodeType":864},{},[56739],{"type":1455},{"data":56741,"marks":56742,"value":34867,"nodeType":864},{},[],{"data":56744,"content":56747,"nodeType":996},{"target":56745},{"sys":56746},{"id":34872,"type":1001,"linkType":1002},[],{"data":56749,"content":56750,"nodeType":860},{},[56751],{"data":56752,"marks":56753,"value":21,"nodeType":864},{},[],{"items":56755},[56756],{"sys":56757,"name":6593},{"id":6592},{"items":56759},[56760],{"fullName":2736,"firstName":2737,"jobTitle":2738,"profilePicture":56761},{"url":2740},{"__typename":2059,"sys":56763,"content":56764,"title":54173,"synopsis":54174,"hashTags":59,"publishedDate":54175,"slug":54176,"tagsCollection":57300,"authorsCollection":57306},{"id":53557},{"json":56765},{"data":56766,"content":56767,"nodeType":856},{},[56768,56774,56800,56805,56811,56814,56821,56827,56833,56862,56868,56874,56880,56883,56890,56906,56912,56918,56923,56929,56935,56938,56945,56951,56957,56962,56968,56984,57010,57016,57019,57026,57032,57038,57043,57049,57055,57061,57066,57072,57077,57083,57086,57093,57099,57105,57108,57115,57121,57127,57133,57136,57143,57149,57155,57161,57167,57173,57178,57184,57190,57195,57201,57231,57237,57247,57263,57268,57271,57278,57284],{"data":56769,"content":56770,"nodeType":860},{},[56771],{"data":56772,"marks":56773,"value":53568,"nodeType":864},{},[],{"data":56775,"content":56776,"nodeType":860},{},[56777,56780,56787,56790,56797],{"data":56778,"marks":56779,"value":53575,"nodeType":864},{},[],{"data":56781,"content":56782,"nodeType":883},{"uri":4408},[56783],{"data":56784,"marks":56785,"value":27246,"nodeType":864},{},[56786],{"type":1455},{"data":56788,"marks":56789,"value":53586,"nodeType":864},{},[],{"data":56791,"content":56792,"nodeType":883},{"uri":53589},[56793],{"data":56794,"marks":56795,"value":53595,"nodeType":864},{},[56796],{"type":1455},{"data":56798,"marks":56799,"value":12252,"nodeType":864},{},[],{"data":56801,"content":56804,"nodeType":996},{"target":56802},{"sys":56803},{"id":53603,"type":1001,"linkType":1002},[],{"data":56806,"content":56807,"nodeType":860},{},[56808],{"data":56809,"marks":56810,"value":53611,"nodeType":864},{},[],{"data":56812,"content":56813,"nodeType":1005},{},[],{"data":56815,"content":56816,"nodeType":1009},{},[56817],{"data":56818,"marks":56819,"value":53622,"nodeType":864},{},[56820],{"type":899},{"data":56822,"content":56823,"nodeType":860},{},[56824],{"data":56825,"marks":56826,"value":53629,"nodeType":864},{},[],{"data":56828,"content":56829,"nodeType":860},{},[56830],{"data":56831,"marks":56832,"value":53636,"nodeType":864},{},[],{"data":56834,"content":56835,"nodeType":941},{},[56836,56849],{"data":56837,"content":56838,"nodeType":945},{},[56839],{"data":56840,"content":56841,"nodeType":860},{},[56842,56846],{"data":56843,"marks":56844,"value":53650,"nodeType":864},{},[56845],{"type":899},{"data":56847,"marks":56848,"value":53654,"nodeType":864},{},[],{"data":56850,"content":56851,"nodeType":945},{},[56852],{"data":56853,"content":56854,"nodeType":860},{},[56855,56859],{"data":56856,"marks":56857,"value":53665,"nodeType":864},{},[56858],{"type":899},{"data":56860,"marks":56861,"value":53669,"nodeType":864},{},[],{"data":56863,"content":56864,"nodeType":860},{},[56865],{"data":56866,"marks":56867,"value":53676,"nodeType":864},{},[],{"data":56869,"content":56870,"nodeType":860},{},[56871],{"data":56872,"marks":56873,"value":53683,"nodeType":864},{},[],{"data":56875,"content":56876,"nodeType":860},{},[56877],{"data":56878,"marks":56879,"value":53690,"nodeType":864},{},[],{"data":56881,"content":56882,"nodeType":1005},{},[],{"data":56884,"content":56885,"nodeType":1009},{},[56886],{"data":56887,"marks":56888,"value":53701,"nodeType":864},{},[56889],{"type":899},{"data":56891,"content":56892,"nodeType":860},{},[56893,56896,56903],{"data":56894,"marks":56895,"value":53708,"nodeType":864},{},[],{"data":56897,"content":56898,"nodeType":883},{"uri":53711},[56899],{"data":56900,"marks":56901,"value":53717,"nodeType":864},{},[56902],{"type":1455},{"data":56904,"marks":56905,"value":2924,"nodeType":864},{},[],{"data":56907,"content":56908,"nodeType":860},{},[56909],{"data":56910,"marks":56911,"value":53727,"nodeType":864},{},[],{"data":56913,"content":56914,"nodeType":860},{},[56915],{"data":56916,"marks":56917,"value":53734,"nodeType":864},{},[],{"data":56919,"content":56922,"nodeType":996},{"target":56920},{"sys":56921},{"id":53739,"type":1001,"linkType":1002},[],{"data":56924,"content":56925,"nodeType":860},{},[56926],{"data":56927,"marks":56928,"value":53747,"nodeType":864},{},[],{"data":56930,"content":56931,"nodeType":860},{},[56932],{"data":56933,"marks":56934,"value":53754,"nodeType":864},{},[],{"data":56936,"content":56937,"nodeType":1005},{},[],{"data":56939,"content":56940,"nodeType":1312},{},[56941],{"data":56942,"marks":56943,"value":53765,"nodeType":864},{},[56944],{"type":899},{"data":56946,"content":56947,"nodeType":860},{},[56948],{"data":56949,"marks":56950,"value":53772,"nodeType":864},{},[],{"data":56952,"content":56953,"nodeType":860},{},[56954],{"data":56955,"marks":56956,"value":53779,"nodeType":864},{},[],{"data":56958,"content":56961,"nodeType":996},{"target":56959},{"sys":56960},{"id":53784,"type":1001,"linkType":1002},[],{"data":56963,"content":56964,"nodeType":860},{},[56965],{"data":56966,"marks":56967,"value":53792,"nodeType":864},{},[],{"data":56969,"content":56970,"nodeType":860},{},[56971,56974,56981],{"data":56972,"marks":56973,"value":53799,"nodeType":864},{},[],{"data":56975,"content":56976,"nodeType":883},{"uri":53802},[56977],{"data":56978,"marks":56979,"value":53808,"nodeType":864},{},[56980],{"type":1455},{"data":56982,"marks":56983,"value":53812,"nodeType":864},{},[],{"data":56985,"content":56986,"nodeType":860},{},[56987,56990,56997,57000,57007],{"data":56988,"marks":56989,"value":53819,"nodeType":864},{},[],{"data":56991,"content":56992,"nodeType":883},{"uri":53822},[56993],{"data":56994,"marks":56995,"value":53828,"nodeType":864},{},[56996],{"type":1455},{"data":56998,"marks":56999,"value":53832,"nodeType":864},{},[],{"data":57001,"content":57002,"nodeType":883},{"uri":53835},[57003],{"data":57004,"marks":57005,"value":53841,"nodeType":864},{},[57006],{"type":1455},{"data":57008,"marks":57009,"value":53845,"nodeType":864},{},[],{"data":57011,"content":57012,"nodeType":860},{},[57013],{"data":57014,"marks":57015,"value":53852,"nodeType":864},{},[],{"data":57017,"content":57018,"nodeType":1005},{},[],{"data":57020,"content":57021,"nodeType":1312},{},[57022],{"data":57023,"marks":57024,"value":53863,"nodeType":864},{},[57025],{"type":899},{"data":57027,"content":57028,"nodeType":860},{},[57029],{"data":57030,"marks":57031,"value":53870,"nodeType":864},{},[],{"data":57033,"content":57034,"nodeType":860},{},[57035],{"data":57036,"marks":57037,"value":53877,"nodeType":864},{},[],{"data":57039,"content":57042,"nodeType":996},{"target":57040},{"sys":57041},{"id":53882,"type":1001,"linkType":1002},[],{"data":57044,"content":57045,"nodeType":860},{},[57046],{"data":57047,"marks":57048,"value":53890,"nodeType":864},{},[],{"data":57050,"content":57051,"nodeType":860},{},[57052],{"data":57053,"marks":57054,"value":53897,"nodeType":864},{},[],{"data":57056,"content":57057,"nodeType":860},{},[57058],{"data":57059,"marks":57060,"value":53904,"nodeType":864},{},[],{"data":57062,"content":57065,"nodeType":996},{"target":57063},{"sys":57064},{"id":50023,"type":1001,"linkType":1002},[],{"data":57067,"content":57068,"nodeType":860},{},[57069],{"data":57070,"marks":57071,"value":53916,"nodeType":864},{},[],{"data":57073,"content":57076,"nodeType":996},{"target":57074},{"sys":57075},{"id":53921,"type":1001,"linkType":1002},[],{"data":57078,"content":57079,"nodeType":860},{},[57080],{"data":57081,"marks":57082,"value":53929,"nodeType":864},{},[],{"data":57084,"content":57085,"nodeType":1005},{},[],{"data":57087,"content":57088,"nodeType":1009},{},[57089],{"data":57090,"marks":57091,"value":17429,"nodeType":864},{},[57092],{"type":899},{"data":57094,"content":57095,"nodeType":860},{},[57096],{"data":57097,"marks":57098,"value":53946,"nodeType":864},{},[],{"data":57100,"content":57101,"nodeType":860},{},[57102],{"data":57103,"marks":57104,"value":53953,"nodeType":864},{},[],{"data":57106,"content":57107,"nodeType":1005},{},[],{"data":57109,"content":57110,"nodeType":1009},{},[57111],{"data":57112,"marks":57113,"value":53964,"nodeType":864},{},[57114],{"type":899},{"data":57116,"content":57117,"nodeType":860},{},[57118],{"data":57119,"marks":57120,"value":53971,"nodeType":864},{},[],{"data":57122,"content":57123,"nodeType":860},{},[57124],{"data":57125,"marks":57126,"value":53978,"nodeType":864},{},[],{"data":57128,"content":57129,"nodeType":860},{},[57130],{"data":57131,"marks":57132,"value":53985,"nodeType":864},{},[],{"data":57134,"content":57135,"nodeType":1005},{},[],{"data":57137,"content":57138,"nodeType":1312},{},[57139],{"data":57140,"marks":57141,"value":53996,"nodeType":864},{},[57142],{"type":899},{"data":57144,"content":57145,"nodeType":860},{},[57146],{"data":57147,"marks":57148,"value":54003,"nodeType":864},{},[],{"data":57150,"content":57151,"nodeType":860},{},[57152],{"data":57153,"marks":57154,"value":54010,"nodeType":864},{},[],{"data":57156,"content":57157,"nodeType":860},{},[57158],{"data":57159,"marks":57160,"value":54017,"nodeType":864},{},[],{"data":57162,"content":57163,"nodeType":860},{},[57164],{"data":57165,"marks":57166,"value":54024,"nodeType":864},{},[],{"data":57168,"content":57169,"nodeType":860},{},[57170],{"data":57171,"marks":57172,"value":54031,"nodeType":864},{},[],{"data":57174,"content":57177,"nodeType":996},{"target":57175},{"sys":57176},{"id":42667,"type":1001,"linkType":1002},[],{"data":57179,"content":57180,"nodeType":860},{},[57181],{"data":57182,"marks":57183,"value":54043,"nodeType":864},{},[],{"data":57185,"content":57186,"nodeType":860},{},[57187],{"data":57188,"marks":57189,"value":54050,"nodeType":864},{},[],{"data":57191,"content":57194,"nodeType":996},{"target":57192},{"sys":57193},{"id":42703,"type":1001,"linkType":1002},[],{"data":57196,"content":57197,"nodeType":860},{},[57198],{"data":57199,"marks":57200,"value":54062,"nodeType":864},{},[],{"data":57202,"content":57203,"nodeType":941},{},[57204,57213,57222],{"data":57205,"content":57206,"nodeType":945},{},[57207],{"data":57208,"content":57209,"nodeType":860},{},[57210],{"data":57211,"marks":57212,"value":54075,"nodeType":864},{},[],{"data":57214,"content":57215,"nodeType":945},{},[57216],{"data":57217,"content":57218,"nodeType":860},{},[57219],{"data":57220,"marks":57221,"value":54085,"nodeType":864},{},[],{"data":57223,"content":57224,"nodeType":945},{},[57225],{"data":57226,"content":57227,"nodeType":860},{},[57228],{"data":57229,"marks":57230,"value":54095,"nodeType":864},{},[],{"data":57232,"content":57233,"nodeType":860},{},[57234],{"data":57235,"marks":57236,"value":54102,"nodeType":864},{},[],{"data":57238,"content":57239,"nodeType":860},{},[57240,57243],{"data":57241,"marks":57242,"value":54109,"nodeType":864},{},[],{"data":57244,"marks":57245,"value":54114,"nodeType":864},{},[57246],{"type":899},{"data":57248,"content":57249,"nodeType":860},{},[57250,57253,57260],{"data":57251,"marks":57252,"value":54121,"nodeType":864},{},[],{"data":57254,"content":57255,"nodeType":883},{"uri":54124},[57256],{"data":57257,"marks":57258,"value":54130,"nodeType":864},{},[57259],{"type":1455},{"data":57261,"marks":57262,"value":54134,"nodeType":864},{},[],{"data":57264,"content":57267,"nodeType":996},{"target":57265},{"sys":57266},{"id":54139,"type":1001,"linkType":1002},[],{"data":57269,"content":57270,"nodeType":1005},{},[],{"data":57272,"content":57273,"nodeType":1009},{},[57274],{"data":57275,"marks":57276,"value":42749,"nodeType":864},{},[57277],{"type":899},{"data":57279,"content":57280,"nodeType":860},{},[57281],{"data":57282,"marks":57283,"value":44138,"nodeType":864},{},[],{"data":57285,"content":57286,"nodeType":860},{},[57287,57290,57297],{"data":57288,"marks":57289,"value":35574,"nodeType":864},{},[],{"data":57291,"content":57292,"nodeType":883},{"uri":35577},[57293],{"data":57294,"marks":57295,"value":35582,"nodeType":864},{},[57296],{"type":1455},{"data":57298,"marks":57299,"value":35586,"nodeType":864},{},[],{"items":57301},[57302,57304],{"sys":57303,"name":6593},{"id":6592},{"sys":57305,"name":342},{"id":6596},{"items":57307},[57308],{"fullName":2736,"firstName":2737,"jobTitle":2738,"profilePicture":57309},{"url":2740},"blog/introducing-strong-password-enforcement",{"json":57312},{"data":57313,"content":57314,"nodeType":856},{},[57315],{"data":57316,"content":57317,"nodeType":860},{},[57318],{"data":57319,"marks":57320,"value":57321,"nodeType":864},{},[],"Our latest feature release, strong password enforcement, detects when employees have weak, reused, or stolen passwords and then guides them to update their password using in-browser messaging — even on apps that don’t natively support administrative control of password posture.",{"id":50550,"publishedAt":57323},"2026-08-12T11:57:11.530Z",{"items":57325},[57326,57328],{"sys":57327,"name":297},{"id":2732},{"sys":57329,"name":6593},{"id":6592},{"items":57331},[57332,57334,57336,57338,57340,57342,57344,57346,57348,57350,57352,57354,57356,57358],{"sys":57333,"name":413,"slug":414,"tier":31},{"id":410},{"sys":57335,"name":297,"slug":298,"tier":31},{"id":294},{"sys":57337,"name":279,"slug":280,"tier":31},{"id":276},{"sys":57339,"name":545,"slug":546,"tier":31},{"id":542},{"sys":57341,"name":342,"slug":343,"tier":31},{"id":339},{"sys":57343,"name":502,"slug":503,"tier":45},{"id":499},{"sys":57345,"name":333,"slug":334,"tier":45},{"id":330},{"sys":57347,"name":422,"slug":423,"tier":45},{"id":419},{"sys":57349,"name":395,"slug":396,"tier":45},{"id":392},{"sys":57351,"name":457,"slug":458,"tier":45},{"id":454},{"sys":57353,"name":589,"slug":590,"tier":45},{"id":586},{"sys":57355,"name":324,"slug":325,"tier":45},{"id":321},{"sys":57357,"name":571,"slug":572,"tier":45},{"id":568},{"sys":57359,"name":484,"slug":485,"tier":45},{"id":481},"85tYtDmwkHGaqoYy_laJ9nONJ8lxUAU6S5pB9GT1BpE",{"id":57362,"title":35587,"authorsCollection":57363,"content":57368,"extension":228,"faqItemsCollection":58071,"faqTitle":59,"featured":6,"hashTags":59,"meta":58073,"metaTitle":58074,"ogImage":58075,"postType":23466,"publishedDate":35589,"relatedBlogPostsCollection":58077,"slug":35590,"stem":60231,"subtitle":59,"summary":60232,"synopsis":35588,"sys":60242,"tagsCollection":60244,"topicsCollection":60250,"__hash__":60282},"blog/blog/why-attackers-are-targeting-jira-with-stolen-credentials.json",{"items":57364},[57365],{"fullName":2736,"firstName":2737,"jobTitle":2738,"socialLinks":57366,"profilePicture":57367},[11304],{"url":2740},{"json":57369,"links":57964},{"data":57370,"content":57371,"nodeType":856},{},[57372,57385,57390,57396,57401,57404,57411,57417,57498,57503,57509,57515,57518,57525,57532,57538,57586,57593,57608,57632,57638,57645,57651,57656,57671,57684,57689,57695,57718,57724,57730,57760,57766,57772,57788,57791,57798,57804,57810,57816,57823,57839,57844,57851,57867,57882,57887,57894,57900,57916,57922,57927,57930,57937,57943,57949],{"data":57373,"content":57374,"nodeType":860},{},[57375,57378,57382],{"data":57376,"marks":57377,"value":34905,"nodeType":864},{},[],{"data":57379,"marks":57380,"value":34910,"nodeType":864},{},[57381],{"type":899},{"data":57383,"marks":57384,"value":34914,"nodeType":864},{},[],{"data":57386,"content":57389,"nodeType":996},{"target":57387},{"sys":57388},{"id":34919,"type":1001,"linkType":1002},[],{"data":57391,"content":57392,"nodeType":860},{},[57393],{"data":57394,"marks":57395,"value":21,"nodeType":864},{},[],{"data":57397,"content":57400,"nodeType":996},{"target":57398},{"sys":57399},{"id":34931,"type":1001,"linkType":1002},[],{"data":57402,"content":57403,"nodeType":1005},{},[],{"data":57405,"content":57406,"nodeType":1009},{},[57407],{"data":57408,"marks":57409,"value":34943,"nodeType":864},{},[57410],{"type":899},{"data":57412,"content":57413,"nodeType":860},{},[57414],{"data":57415,"marks":57416,"value":34950,"nodeType":864},{},[],{"data":57418,"content":57419,"nodeType":941},{},[57420,57433,57446,57459,57472,57485],{"data":57421,"content":57422,"nodeType":945},{},[57423],{"data":57424,"content":57425,"nodeType":860},{},[57426,57430],{"data":57427,"marks":57428,"value":34964,"nodeType":864},{},[57429],{"type":899},{"data":57431,"marks":57432,"value":34968,"nodeType":864},{},[],{"data":57434,"content":57435,"nodeType":945},{},[57436],{"data":57437,"content":57438,"nodeType":860},{},[57439,57443],{"data":57440,"marks":57441,"value":34979,"nodeType":864},{},[57442],{"type":899},{"data":57444,"marks":57445,"value":34983,"nodeType":864},{},[],{"data":57447,"content":57448,"nodeType":945},{},[57449],{"data":57450,"content":57451,"nodeType":860},{},[57452,57456],{"data":57453,"marks":57454,"value":34994,"nodeType":864},{},[57455],{"type":899},{"data":57457,"marks":57458,"value":34998,"nodeType":864},{},[],{"data":57460,"content":57461,"nodeType":945},{},[57462],{"data":57463,"content":57464,"nodeType":860},{},[57465,57469],{"data":57466,"marks":57467,"value":35009,"nodeType":864},{},[57468],{"type":899},{"data":57470,"marks":57471,"value":35013,"nodeType":864},{},[],{"data":57473,"content":57474,"nodeType":945},{},[57475],{"data":57476,"content":57477,"nodeType":860},{},[57478,57482],{"data":57479,"marks":57480,"value":35024,"nodeType":864},{},[57481],{"type":899},{"data":57483,"marks":57484,"value":35028,"nodeType":864},{},[],{"data":57486,"content":57487,"nodeType":945},{},[57488],{"data":57489,"content":57490,"nodeType":860},{},[57491,57495],{"data":57492,"marks":57493,"value":35039,"nodeType":864},{},[57494],{"type":899},{"data":57496,"marks":57497,"value":35043,"nodeType":864},{},[],{"data":57499,"content":57502,"nodeType":996},{"target":57500},{"sys":57501},{"id":35048,"type":1001,"linkType":1002},[],{"data":57504,"content":57505,"nodeType":860},{},[57506],{"data":57507,"marks":57508,"value":35056,"nodeType":864},{},[],{"data":57510,"content":57511,"nodeType":860},{},[57512],{"data":57513,"marks":57514,"value":35063,"nodeType":864},{},[],{"data":57516,"content":57517,"nodeType":1005},{},[],{"data":57519,"content":57520,"nodeType":1009},{},[57521],{"data":57522,"marks":57523,"value":35074,"nodeType":864},{},[57524],{"type":899},{"data":57526,"content":57527,"nodeType":1312},{},[57528],{"data":57529,"marks":57530,"value":35082,"nodeType":864},{},[57531],{"type":899},{"data":57533,"content":57534,"nodeType":860},{},[57535],{"data":57536,"marks":57537,"value":35089,"nodeType":864},{},[],{"data":57539,"content":57540,"nodeType":941},{},[57541,57550,57559,57568,57577],{"data":57542,"content":57543,"nodeType":945},{},[57544],{"data":57545,"content":57546,"nodeType":860},{},[57547],{"data":57548,"marks":57549,"value":35102,"nodeType":864},{},[],{"data":57551,"content":57552,"nodeType":945},{},[57553],{"data":57554,"content":57555,"nodeType":860},{},[57556],{"data":57557,"marks":57558,"value":35112,"nodeType":864},{},[],{"data":57560,"content":57561,"nodeType":945},{},[57562],{"data":57563,"content":57564,"nodeType":860},{},[57565],{"data":57566,"marks":57567,"value":35122,"nodeType":864},{},[],{"data":57569,"content":57570,"nodeType":945},{},[57571],{"data":57572,"content":57573,"nodeType":860},{},[57574],{"data":57575,"marks":57576,"value":35132,"nodeType":864},{},[],{"data":57578,"content":57579,"nodeType":945},{},[57580],{"data":57581,"content":57582,"nodeType":860},{},[57583],{"data":57584,"marks":57585,"value":35142,"nodeType":864},{},[],{"data":57587,"content":57588,"nodeType":1312},{},[57589],{"data":57590,"marks":57591,"value":35150,"nodeType":864},{},[57592],{"type":899},{"data":57594,"content":57595,"nodeType":860},{},[57596,57599,57605],{"data":57597,"marks":57598,"value":21,"nodeType":864},{},[],{"data":57600,"content":57601,"nodeType":883},{"uri":8628},[57602],{"data":57603,"marks":57604,"value":35163,"nodeType":864},{},[],{"data":57606,"marks":57607,"value":35167,"nodeType":864},{},[],{"data":57609,"content":57610,"nodeType":860},{},[57611,57614,57620,57623,57629],{"data":57612,"marks":57613,"value":35174,"nodeType":864},{},[],{"data":57615,"content":57616,"nodeType":883},{"uri":35177},[57617],{"data":57618,"marks":57619,"value":35182,"nodeType":864},{},[],{"data":57621,"marks":57622,"value":35186,"nodeType":864},{},[],{"data":57624,"content":57625,"nodeType":883},{"uri":3751},[57626],{"data":57627,"marks":57628,"value":29323,"nodeType":864},{},[],{"data":57630,"marks":57631,"value":35196,"nodeType":864},{},[],{"data":57633,"content":57634,"nodeType":860},{},[57635],{"data":57636,"marks":57637,"value":35203,"nodeType":864},{},[],{"data":57639,"content":57640,"nodeType":1312},{},[57641],{"data":57642,"marks":57643,"value":35211,"nodeType":864},{},[57644],{"type":899},{"data":57646,"content":57647,"nodeType":860},{},[57648],{"data":57649,"marks":57650,"value":35218,"nodeType":864},{},[],{"data":57652,"content":57655,"nodeType":996},{"target":57653},{"sys":57654},{"id":35223,"type":1001,"linkType":1002},[],{"data":57657,"content":57658,"nodeType":860},{},[57659,57662,57668],{"data":57660,"marks":57661,"value":35231,"nodeType":864},{},[],{"data":57663,"content":57664,"nodeType":883},{"uri":35234},[57665],{"data":57666,"marks":57667,"value":35239,"nodeType":864},{},[],{"data":57669,"marks":57670,"value":35243,"nodeType":864},{},[],{"data":57672,"content":57673,"nodeType":860},{},[57674,57677,57681],{"data":57675,"marks":57676,"value":35250,"nodeType":864},{},[],{"data":57678,"marks":57679,"value":35255,"nodeType":864},{},[57680],{"type":899},{"data":57682,"marks":57683,"value":35259,"nodeType":864},{},[],{"data":57685,"content":57688,"nodeType":996},{"target":57686},{"sys":57687},{"id":35264,"type":1001,"linkType":1002},[],{"data":57690,"content":57691,"nodeType":860},{},[57692],{"data":57693,"marks":57694,"value":35272,"nodeType":864},{},[],{"data":57696,"content":57697,"nodeType":860},{},[57698,57701,57708,57711,57715],{"data":57699,"marks":57700,"value":21,"nodeType":864},{},[],{"data":57702,"content":57703,"nodeType":883},{"uri":15980},[57704],{"data":57705,"marks":57706,"value":35286,"nodeType":864},{},[57707],{"type":1455},{"data":57709,"marks":57710,"value":35290,"nodeType":864},{},[],{"data":57712,"marks":57713,"value":35295,"nodeType":864},{},[57714],{"type":899},{"data":57716,"marks":57717,"value":12252,"nodeType":864},{},[],{"data":57719,"content":57720,"nodeType":1009},{},[57721],{"data":57722,"marks":57723,"value":35305,"nodeType":864},{},[],{"data":57725,"content":57726,"nodeType":860},{},[57727],{"data":57728,"marks":57729,"value":35312,"nodeType":864},{},[],{"data":57731,"content":57732,"nodeType":941},{},[57733,57742,57751],{"data":57734,"content":57735,"nodeType":945},{},[57736],{"data":57737,"content":57738,"nodeType":860},{},[57739],{"data":57740,"marks":57741,"value":35325,"nodeType":864},{},[],{"data":57743,"content":57744,"nodeType":945},{},[57745],{"data":57746,"content":57747,"nodeType":860},{},[57748],{"data":57749,"marks":57750,"value":35335,"nodeType":864},{},[],{"data":57752,"content":57753,"nodeType":945},{},[57754],{"data":57755,"content":57756,"nodeType":860},{},[57757],{"data":57758,"marks":57759,"value":35345,"nodeType":864},{},[],{"data":57761,"content":57762,"nodeType":860},{},[57763],{"data":57764,"marks":57765,"value":35352,"nodeType":864},{},[],{"data":57767,"content":57768,"nodeType":860},{},[57769],{"data":57770,"marks":57771,"value":35359,"nodeType":864},{},[],{"data":57773,"content":57774,"nodeType":860},{},[57775,57778,57785],{"data":57776,"marks":57777,"value":35366,"nodeType":864},{},[],{"data":57779,"content":57780,"nodeType":883},{"uri":35369},[57781],{"data":57782,"marks":57783,"value":35375,"nodeType":864},{},[57784],{"type":1455},{"data":57786,"marks":57787,"value":35379,"nodeType":864},{},[],{"data":57789,"content":57790,"nodeType":1005},{},[],{"data":57792,"content":57793,"nodeType":1009},{},[57794],{"data":57795,"marks":57796,"value":35390,"nodeType":864},{},[57797],{"type":899},{"data":57799,"content":57800,"nodeType":860},{},[57801],{"data":57802,"marks":57803,"value":35397,"nodeType":864},{},[],{"data":57805,"content":57806,"nodeType":860},{},[57807],{"data":57808,"marks":57809,"value":35404,"nodeType":864},{},[],{"data":57811,"content":57812,"nodeType":860},{},[57813],{"data":57814,"marks":57815,"value":35411,"nodeType":864},{},[],{"data":57817,"content":57818,"nodeType":1312},{},[57819],{"data":57820,"marks":57821,"value":35419,"nodeType":864},{},[57822],{"type":899},{"data":57824,"content":57825,"nodeType":860},{},[57826,57829,57836],{"data":57827,"marks":57828,"value":35426,"nodeType":864},{},[],{"data":57830,"content":57831,"nodeType":883},{"uri":35429},[57832],{"data":57833,"marks":57834,"value":35435,"nodeType":864},{},[57835],{"type":1455},{"data":57837,"marks":57838,"value":35439,"nodeType":864},{},[],{"data":57840,"content":57843,"nodeType":996},{"target":57841},{"sys":57842},{"id":35444,"type":1001,"linkType":1002},[],{"data":57845,"content":57846,"nodeType":1312},{},[57847],{"data":57848,"marks":57849,"value":35453,"nodeType":864},{},[57850],{"type":899},{"data":57852,"content":57853,"nodeType":860},{},[57854,57857,57864],{"data":57855,"marks":57856,"value":35460,"nodeType":864},{},[],{"data":57858,"content":57859,"nodeType":883},{"uri":35369},[57860],{"data":57861,"marks":57862,"value":35468,"nodeType":864},{},[57863],{"type":1455},{"data":57865,"marks":57866,"value":35472,"nodeType":864},{},[],{"data":57868,"content":57869,"nodeType":860},{},[57870,57873,57879],{"data":57871,"marks":57872,"value":35479,"nodeType":864},{},[],{"data":57874,"content":57875,"nodeType":883},{"uri":35482},[57876],{"data":57877,"marks":57878,"value":35487,"nodeType":864},{},[],{"data":57880,"marks":57881,"value":12252,"nodeType":864},{},[],{"data":57883,"content":57886,"nodeType":996},{"target":57884},{"sys":57885},{"id":35495,"type":1001,"linkType":1002},[],{"data":57888,"content":57889,"nodeType":1312},{},[57890],{"data":57891,"marks":57892,"value":35504,"nodeType":864},{},[57893],{"type":899},{"data":57895,"content":57896,"nodeType":860},{},[57897],{"data":57898,"marks":57899,"value":35511,"nodeType":864},{},[],{"data":57901,"content":57902,"nodeType":860},{},[57903,57906,57913],{"data":57904,"marks":57905,"value":35518,"nodeType":864},{},[],{"data":57907,"content":57908,"nodeType":883},{"uri":17701},[57909],{"data":57910,"marks":57911,"value":34626,"nodeType":864},{},[57912],{"type":1455},{"data":57914,"marks":57915,"value":35529,"nodeType":864},{},[],{"data":57917,"content":57918,"nodeType":860},{},[57919],{"data":57920,"marks":57921,"value":35536,"nodeType":864},{},[],{"data":57923,"content":57926,"nodeType":996},{"target":57924},{"sys":57925},{"id":35541,"type":1001,"linkType":1002},[],{"data":57928,"content":57929,"nodeType":1005},{},[],{"data":57931,"content":57932,"nodeType":1009},{},[57933],{"data":57934,"marks":57935,"value":35553,"nodeType":864},{},[57936],{"type":899},{"data":57938,"content":57939,"nodeType":860},{},[57940],{"data":57941,"marks":57942,"value":35560,"nodeType":864},{},[],{"data":57944,"content":57945,"nodeType":860},{},[57946],{"data":57947,"marks":57948,"value":35567,"nodeType":864},{},[],{"data":57950,"content":57951,"nodeType":860},{},[57952,57955,57961],{"data":57953,"marks":57954,"value":35574,"nodeType":864},{},[],{"data":57956,"content":57957,"nodeType":883},{"uri":35577},[57958],{"data":57959,"marks":57960,"value":35582,"nodeType":864},{},[],{"data":57962,"marks":57963,"value":35586,"nodeType":864},{},[],{"entries":57965},{"hyperlink":57966,"inline":57967,"block":57968},[],[],[57969,57977,58021,58027,58054,58061,58065,58067],{"sys":57970,"__typename":47726,"title":57971,"youTubeUrl":57972,"imagePlaceholder":57973},{"id":34919},"Hellcat video","https://www.youtube.com/watch?v=jHm6wpT6mYg",{"url":57974,"width":57975,"height":57976},"https://images.ctfassets.net/y1cdw1ablpvd/5cdcvDUhgAmEpo6kMOdu9I/8abb264bf8ce77b3d7453bcbc8c09783/Slide_Front_Cover__50_.png",3840,2160,{"sys":57978,"__typename":1740,"content":57979,"name":58020,"title":59},{"id":34931},{"json":57980},{"nodeType":856,"data":57981,"content":57982},{},[57983,58002],{"nodeType":860,"data":57984,"content":57985},{},[57986,57990,57998],{"nodeType":864,"value":57987,"marks":57988,"data":57989},"Update 1: Since first writing this article, ",[],{},{"nodeType":883,"data":57991,"content":57993},{"uri":57992},"https://hackread.com/hellcat-ransomware-firms-infostealer-stolen-jira-credentials/",[57994],{"nodeType":864,"value":57995,"marks":57996,"data":57997},"four more victims have been claimed by Hellcat",[],{},{"nodeType":864,"value":57999,"marks":58000,"data":58001}," (all involving Jira breaches), bringing the total to 10 breaches in 6 months. This further indicates that this is a fast moving issue and attackers are undertaking a concerted campaign against Jira accounts — that isn't going away anytime soon. ",[],{},{"nodeType":860,"data":58003,"content":58004},{},[58005,58009,58017],{"nodeType":864,"value":58006,"marks":58007,"data":58008},"Update 2: Jira attacks conducted by Hellcat have continued into July ",[],{},{"nodeType":883,"data":58010,"content":58012},{"uri":58011},"https://www.bleepingcomputer.com/news/security/hacker-leaks-telef-nica-data-allegedly-stolen-in-a-new-breach/",[58013],{"nodeType":864,"value":58014,"marks":58015,"data":58016},"with the latest victim claimed by the attackers.",[],{},{"nodeType":864,"value":1171,"marks":58018,"data":58019},[],{},"Hellcat insight box",{"sys":58022,"__typename":1724,"title":58023,"caption":58024,"layoutMode":59,"file":58025},{"id":35048},"Hellcat timeline of Jira breaches","Attacks targeting Jira using stolen credentials are ramping up",{"url":58026,"width":45619,"height":45620},"https://images.ctfassets.net/y1cdw1ablpvd/1BqkoZww9MTs41whLVPMTj/ee67f53ff51c24b7d36066641e879583/hellcat_social_graphic.png",{"sys":58028,"__typename":1740,"content":58029,"name":58053,"title":59},{"id":35223},{"json":58030},{"data":58031,"content":58032,"nodeType":856},{},[58033],{"data":58034,"content":58035,"nodeType":860},{},[58036,58040,58049],{"data":58037,"marks":58038,"value":58039,"nodeType":864},{},[],"Attackers are already targeting these apps — we recently saw ServiceNow servers being exploited by threat groups — but actually given that most organizations access ServiceNow as a cloud app, it’s easier to go the route of identity attacks. Remember when a ",{"data":58041,"content":58043,"nodeType":883},{"uri":58042},"https://pushsecurity.com/blog/learning-from-the-servicenow-disclosure/",[58044],{"data":58045,"marks":58046,"value":58048,"nodeType":864},{},[58047],{"type":1455},"security researcher logged into Microsoft’s ServiceNow tenant with stolen credentials",{"data":58050,"marks":58051,"value":58052,"nodeType":864},{},[],", accessing 1,000s of support ticket descriptions and attachments, and 250k+ employee emails?","Jira blog insight box",{"sys":58055,"__typename":1724,"title":58056,"caption":58057,"layoutMode":59,"file":58058},{"id":35264},"Comparing password vulnerabilities in Jira and other platforms","Table: What % of accounts with a password are vulnerable to account takeover through (1) MFA gaps and (2) using a breached, weak, or reused password. ",{"url":58059,"width":53122,"height":58060},"https://images.ctfassets.net/y1cdw1ablpvd/2oPkACCXFwWoIuMLfOGOkA/f676624ddce5651b09f6a768a8dd2c70/Screenshot_2025-03-24_at_10.46.49.png",678,{"sys":58062,"__typename":9318,"title":58063,"arcadeDemoUrl":58064,"playText":9321},{"id":35444},"Close MFA gaps with Push","https://demo.arcade.software/eP35OjAoajgNud5qqMGf?embed",{"sys":58066,"__typename":9318,"title":55443,"arcadeDemoUrl":55444,"playText":9321},{"id":35495},{"sys":58068,"__typename":9318,"title":58069,"arcadeDemoUrl":58070,"playText":9321},{"id":35541},"Create an App Banner guiding users to log in via SSO","https://demo.arcade.software/D8BrC6k3x919TcOid0qc?embed",{"items":58072},[],{},"Why attackers are targeting Jira with stolen credentials",{"url":58076},"https://images.ctfassets.net/y1cdw1ablpvd/2IqfH1VLMma3YrbSX29q2Q/0b87ae386387e2ceaed097baf7321257/hellcat_social_graphic.png",{"items":58078},[58079,58944,59644],{"__typename":2059,"sys":58080,"content":58081,"title":51531,"synopsis":51532,"hashTags":59,"publishedDate":35589,"slug":51533,"tagsCollection":58934,"authorsCollection":58940},{"id":50550},{"json":58082},{"data":58083,"content":58084,"nodeType":856},{},[58085,58101,58107,58113,58119,58125,58130,58136,58149,58152,58158,58164,58170,58176,58185,58191,58197,58203,58210,58216,58278,58288,58294,58301,58307,58357,58367,58373,58378,58385,58391,58420,58440,58446,58455,58458,58464,58480,58486,58516,58522,58528,58534,58539,58542,58548,58554,58561,58567,58573,58586,58591,58598,58604,58609,58616,58632,58638,58664,58681,58686,58702,58718,58725,58731,58737,58742,58758,58761,58768,58781,58787,58793,58837,58842,58848,58854,58893,58896,58903,58909,58912,58918],{"data":58086,"content":58087,"nodeType":860},{},[58088,58091,58098],{"data":58089,"marks":58090,"value":50561,"nodeType":864},{},[],{"data":58092,"content":58093,"nodeType":883},{"uri":50564},[58094],{"data":58095,"marks":58096,"value":50570,"nodeType":864},{},[58097],{"type":1455},{"data":58099,"marks":58100,"value":22438,"nodeType":864},{},[],{"data":58102,"content":58103,"nodeType":860},{},[58104],{"data":58105,"marks":58106,"value":50580,"nodeType":864},{},[],{"data":58108,"content":58109,"nodeType":860},{},[58110],{"data":58111,"marks":58112,"value":50587,"nodeType":864},{},[],{"data":58114,"content":58115,"nodeType":860},{},[58116],{"data":58117,"marks":58118,"value":50594,"nodeType":864},{},[],{"data":58120,"content":58121,"nodeType":860},{},[58122],{"data":58123,"marks":58124,"value":50601,"nodeType":864},{},[],{"data":58126,"content":58129,"nodeType":996},{"target":58127},{"sys":58128},{"id":50606,"type":1001,"linkType":1002},[],{"data":58131,"content":58132,"nodeType":860},{},[58133],{"data":58134,"marks":58135,"value":50614,"nodeType":864},{},[],{"data":58137,"content":58138,"nodeType":860},{},[58139,58142,58146],{"data":58140,"marks":58141,"value":50621,"nodeType":864},{},[],{"data":58143,"marks":58144,"value":28471,"nodeType":864},{},[58145],{"type":899},{"data":58147,"marks":58148,"value":50629,"nodeType":864},{},[],{"data":58150,"content":58151,"nodeType":1005},{},[],{"data":58153,"content":58154,"nodeType":1009},{},[58155],{"data":58156,"marks":58157,"value":50639,"nodeType":864},{},[],{"data":58159,"content":58160,"nodeType":860},{},[58161],{"data":58162,"marks":58163,"value":50646,"nodeType":864},{},[],{"data":58165,"content":58166,"nodeType":860},{},[58167],{"data":58168,"marks":58169,"value":50653,"nodeType":864},{},[],{"data":58171,"content":58172,"nodeType":860},{},[58173],{"data":58174,"marks":58175,"value":50660,"nodeType":864},{},[],{"data":58177,"content":58178,"nodeType":1116},{},[58179],{"data":58180,"content":58181,"nodeType":860},{},[58182],{"data":58183,"marks":58184,"value":50670,"nodeType":864},{},[],{"data":58186,"content":58187,"nodeType":860},{},[58188],{"data":58189,"marks":58190,"value":50677,"nodeType":864},{},[],{"data":58192,"content":58193,"nodeType":860},{},[58194],{"data":58195,"marks":58196,"value":50684,"nodeType":864},{},[],{"data":58198,"content":58199,"nodeType":860},{},[58200],{"data":58201,"marks":58202,"value":50691,"nodeType":864},{},[],{"data":58204,"content":58205,"nodeType":1312},{},[58206],{"data":58207,"marks":58208,"value":50699,"nodeType":864},{},[58209],{"type":899},{"data":58211,"content":58212,"nodeType":860},{},[58213],{"data":58214,"marks":58215,"value":50706,"nodeType":864},{},[],{"data":58217,"content":58218,"nodeType":941},{},[58219,58242,58265],{"data":58220,"content":58221,"nodeType":945},{},[58222],{"data":58223,"content":58224,"nodeType":860},{},[58225,58229,58232,58239],{"data":58226,"marks":58227,"value":50720,"nodeType":864},{},[58228],{"type":899},{"data":58230,"marks":58231,"value":50724,"nodeType":864},{},[],{"data":58233,"content":58234,"nodeType":883},{"uri":15980},[58235],{"data":58236,"marks":58237,"value":50732,"nodeType":864},{},[58238],{"type":1455},{"data":58240,"marks":58241,"value":50736,"nodeType":864},{},[],{"data":58243,"content":58244,"nodeType":945},{},[58245],{"data":58246,"content":58247,"nodeType":860},{},[58248,58252,58255,58262],{"data":58249,"marks":58250,"value":50747,"nodeType":864},{},[58251],{"type":899},{"data":58253,"marks":58254,"value":50751,"nodeType":864},{},[],{"data":58256,"content":58257,"nodeType":883},{"uri":26784},[58258],{"data":58259,"marks":58260,"value":17706,"nodeType":864},{},[58261],{"type":1455},{"data":58263,"marks":58264,"value":50762,"nodeType":864},{},[],{"data":58266,"content":58267,"nodeType":945},{},[58268],{"data":58269,"content":58270,"nodeType":860},{},[58271,58275],{"data":58272,"marks":58273,"value":50773,"nodeType":864},{},[58274],{"type":899},{"data":58276,"marks":58277,"value":50777,"nodeType":864},{},[],{"data":58279,"content":58280,"nodeType":860},{},[58281,58285],{"data":58282,"marks":58283,"value":50785,"nodeType":864},{},[58284],{"type":899},{"data":58286,"marks":58287,"value":50789,"nodeType":864},{},[],{"data":58289,"content":58290,"nodeType":860},{},[58291],{"data":58292,"marks":58293,"value":50796,"nodeType":864},{},[],{"data":58295,"content":58296,"nodeType":1312},{},[58297],{"data":58298,"marks":58299,"value":50804,"nodeType":864},{},[58300],{"type":899},{"data":58302,"content":58303,"nodeType":860},{},[58304],{"data":58305,"marks":58306,"value":50811,"nodeType":864},{},[],{"data":58308,"content":58309,"nodeType":941},{},[58310,58334],{"data":58311,"content":58312,"nodeType":945},{},[58313],{"data":58314,"content":58315,"nodeType":860},{},[58316,58319,58327,58331],{"data":58317,"marks":58318,"value":21,"nodeType":864},{},[],{"data":58320,"content":58321,"nodeType":883},{"uri":47951},[58322],{"data":58323,"marks":58324,"value":50832,"nodeType":864},{},[58325,58326],{"type":1455},{"type":899},{"data":58328,"marks":58329,"value":1171,"nodeType":864},{},[58330],{"type":899},{"data":58332,"marks":58333,"value":50840,"nodeType":864},{},[],{"data":58335,"content":58336,"nodeType":945},{},[58337],{"data":58338,"content":58339,"nodeType":860},{},[58340,58344,58347,58354],{"data":58341,"marks":58342,"value":50851,"nodeType":864},{},[58343],{"type":899},{"data":58345,"marks":58346,"value":50855,"nodeType":864},{},[],{"data":58348,"content":58349,"nodeType":883},{"uri":29107},[58350],{"data":58351,"marks":58352,"value":34583,"nodeType":864},{},[58353],{"type":1455},{"data":58355,"marks":58356,"value":50866,"nodeType":864},{},[],{"data":58358,"content":58359,"nodeType":860},{},[58360,58364],{"data":58361,"marks":58362,"value":50874,"nodeType":864},{},[58363],{"type":899},{"data":58365,"marks":58366,"value":50878,"nodeType":864},{},[],{"data":58368,"content":58369,"nodeType":860},{},[58370],{"data":58371,"marks":58372,"value":50885,"nodeType":864},{},[],{"data":58374,"content":58377,"nodeType":996},{"target":58375},{"sys":58376},{"id":50890,"type":1001,"linkType":1002},[],{"data":58379,"content":58380,"nodeType":1312},{},[58381],{"data":58382,"marks":58383,"value":50899,"nodeType":864},{},[58384],{"type":899},{"data":58386,"content":58387,"nodeType":860},{},[58388],{"data":58389,"marks":58390,"value":50906,"nodeType":864},{},[],{"data":58392,"content":58393,"nodeType":941},{},[58394,58407],{"data":58395,"content":58396,"nodeType":945},{},[58397],{"data":58398,"content":58399,"nodeType":860},{},[58400,58404],{"data":58401,"marks":58402,"value":50920,"nodeType":864},{},[58403],{"type":899},{"data":58405,"marks":58406,"value":50924,"nodeType":864},{},[],{"data":58408,"content":58409,"nodeType":945},{},[58410],{"data":58411,"content":58412,"nodeType":860},{},[58413,58417],{"data":58414,"marks":58415,"value":50935,"nodeType":864},{},[58416],{"type":899},{"data":58418,"marks":58419,"value":50939,"nodeType":864},{},[],{"data":58421,"content":58422,"nodeType":860},{},[58423,58427,58430,58437],{"data":58424,"marks":58425,"value":50874,"nodeType":864},{},[58426],{"type":899},{"data":58428,"marks":58429,"value":50950,"nodeType":864},{},[],{"data":58431,"content":58432,"nodeType":883},{"uri":35177},[58433],{"data":58434,"marks":58435,"value":50958,"nodeType":864},{},[58436],{"type":1455},{"data":58438,"marks":58439,"value":50962,"nodeType":864},{},[],{"data":58441,"content":58442,"nodeType":860},{},[58443],{"data":58444,"marks":58445,"value":50969,"nodeType":864},{},[],{"data":58447,"content":58448,"nodeType":1116},{},[58449],{"data":58450,"content":58451,"nodeType":860},{},[58452],{"data":58453,"marks":58454,"value":50979,"nodeType":864},{},[],{"data":58456,"content":58457,"nodeType":1005},{},[],{"data":58459,"content":58460,"nodeType":1009},{},[58461],{"data":58462,"marks":58463,"value":50989,"nodeType":864},{},[],{"data":58465,"content":58466,"nodeType":860},{},[58467,58470,58477],{"data":58468,"marks":58469,"value":50996,"nodeType":864},{},[],{"data":58471,"content":58472,"nodeType":883},{"uri":36813},[58473],{"data":58474,"marks":58475,"value":51004,"nodeType":864},{},[58476],{"type":1455},{"data":58478,"marks":58479,"value":51008,"nodeType":864},{},[],{"data":58481,"content":58482,"nodeType":860},{},[58483],{"data":58484,"marks":58485,"value":51015,"nodeType":864},{},[],{"data":58487,"content":58488,"nodeType":941},{},[58489,58498,58507],{"data":58490,"content":58491,"nodeType":945},{},[58492],{"data":58493,"content":58494,"nodeType":860},{},[58495],{"data":58496,"marks":58497,"value":51028,"nodeType":864},{},[],{"data":58499,"content":58500,"nodeType":945},{},[58501],{"data":58502,"content":58503,"nodeType":860},{},[58504],{"data":58505,"marks":58506,"value":51038,"nodeType":864},{},[],{"data":58508,"content":58509,"nodeType":945},{},[58510],{"data":58511,"content":58512,"nodeType":860},{},[58513],{"data":58514,"marks":58515,"value":51048,"nodeType":864},{},[],{"data":58517,"content":58518,"nodeType":860},{},[58519],{"data":58520,"marks":58521,"value":51055,"nodeType":864},{},[],{"data":58523,"content":58524,"nodeType":860},{},[58525],{"data":58526,"marks":58527,"value":51062,"nodeType":864},{},[],{"data":58529,"content":58530,"nodeType":860},{},[58531],{"data":58532,"marks":58533,"value":51069,"nodeType":864},{},[],{"data":58535,"content":58538,"nodeType":996},{"target":58536},{"sys":58537},{"id":51074,"type":1001,"linkType":1002},[],{"data":58540,"content":58541,"nodeType":1005},{},[],{"data":58543,"content":58544,"nodeType":1009},{},[58545],{"data":58546,"marks":58547,"value":51085,"nodeType":864},{},[],{"data":58549,"content":58550,"nodeType":860},{},[58551],{"data":58552,"marks":58553,"value":51092,"nodeType":864},{},[],{"data":58555,"content":58556,"nodeType":1312},{},[58557],{"data":58558,"marks":58559,"value":51100,"nodeType":864},{},[58560],{"type":899},{"data":58562,"content":58563,"nodeType":860},{},[58564],{"data":58565,"marks":58566,"value":51107,"nodeType":864},{},[],{"data":58568,"content":58569,"nodeType":860},{},[58570],{"data":58571,"marks":58572,"value":51114,"nodeType":864},{},[],{"data":58574,"content":58575,"nodeType":860},{},[58576,58579,58583],{"data":58577,"marks":58578,"value":51121,"nodeType":864},{},[],{"data":58580,"marks":58581,"value":31415,"nodeType":864},{},[58582],{"type":2246},{"data":58584,"marks":58585,"value":51129,"nodeType":864},{},[],{"data":58587,"content":58590,"nodeType":996},{"target":58588},{"sys":58589},{"id":51134,"type":1001,"linkType":1002},[],{"data":58592,"content":58593,"nodeType":1312},{},[58594],{"data":58595,"marks":58596,"value":51143,"nodeType":864},{},[58597],{"type":899},{"data":58599,"content":58600,"nodeType":860},{},[58601],{"data":58602,"marks":58603,"value":51150,"nodeType":864},{},[],{"data":58605,"content":58608,"nodeType":996},{"target":58606},{"sys":58607},{"id":51155,"type":1001,"linkType":1002},[],{"data":58610,"content":58611,"nodeType":1312},{},[58612],{"data":58613,"marks":58614,"value":51164,"nodeType":864},{},[58615],{"type":899},{"data":58617,"content":58618,"nodeType":860},{},[58619,58622,58629],{"data":58620,"marks":58621,"value":51171,"nodeType":864},{},[],{"data":58623,"content":58624,"nodeType":883},{"uri":51174},[58625],{"data":58626,"marks":58627,"value":51180,"nodeType":864},{},[58628],{"type":1455},{"data":58630,"marks":58631,"value":51184,"nodeType":864},{},[],{"data":58633,"content":58634,"nodeType":860},{},[58635],{"data":58636,"marks":58637,"value":51191,"nodeType":864},{},[],{"data":58639,"content":58640,"nodeType":860},{},[58641,58644,58651,58654,58661],{"data":58642,"marks":58643,"value":51198,"nodeType":864},{},[],{"data":58645,"content":58646,"nodeType":883},{"uri":51201},[58647],{"data":58648,"marks":58649,"value":51207,"nodeType":864},{},[58650],{"type":1455},{"data":58652,"marks":58653,"value":51211,"nodeType":864},{},[],{"data":58655,"content":58656,"nodeType":883},{"uri":51214},[58657],{"data":58658,"marks":58659,"value":51220,"nodeType":864},{},[58660],{"type":1455},{"data":58662,"marks":58663,"value":51224,"nodeType":864},{},[],{"data":58665,"content":58666,"nodeType":860},{},[58667,58670,58678],{"data":58668,"marks":58669,"value":28488,"nodeType":864},{},[],{"data":58671,"content":58672,"nodeType":883},{"uri":35369},[58673],{"data":58674,"marks":58675,"value":51239,"nodeType":864},{},[58676,58677],{"type":1455},{"type":899},{"data":58679,"marks":58680,"value":51243,"nodeType":864},{},[],{"data":58682,"content":58685,"nodeType":996},{"target":58683},{"sys":58684},{"id":44007,"type":1001,"linkType":1002},[],{"data":58687,"content":58688,"nodeType":860},{},[58689,58692,58699],{"data":58690,"marks":58691,"value":51255,"nodeType":864},{},[],{"data":58693,"content":58694,"nodeType":883},{"uri":51258},[58695],{"data":58696,"marks":58697,"value":51264,"nodeType":864},{},[58698],{"type":1455},{"data":58700,"marks":58701,"value":51268,"nodeType":864},{},[],{"data":58703,"content":58704,"nodeType":860},{},[58705,58708,58715],{"data":58706,"marks":58707,"value":51275,"nodeType":864},{},[],{"data":58709,"content":58710,"nodeType":883},{"uri":51278},[58711],{"data":58712,"marks":58713,"value":51284,"nodeType":864},{},[58714],{"type":1455},{"data":58716,"marks":58717,"value":51288,"nodeType":864},{},[],{"data":58719,"content":58720,"nodeType":1312},{},[58721],{"data":58722,"marks":58723,"value":51296,"nodeType":864},{},[58724],{"type":899},{"data":58726,"content":58727,"nodeType":860},{},[58728],{"data":58729,"marks":58730,"value":51303,"nodeType":864},{},[],{"data":58732,"content":58733,"nodeType":860},{},[58734],{"data":58735,"marks":58736,"value":51310,"nodeType":864},{},[],{"data":58738,"content":58741,"nodeType":996},{"target":58739},{"sys":58740},{"id":51315,"type":1001,"linkType":1002},[],{"data":58743,"content":58744,"nodeType":860},{},[58745,58748,58755],{"data":58746,"marks":58747,"value":51323,"nodeType":864},{},[],{"data":58749,"content":58750,"nodeType":883},{"uri":35429},[58751],{"data":58752,"marks":58753,"value":28463,"nodeType":864},{},[58754],{"type":1455},{"data":58756,"marks":58757,"value":51334,"nodeType":864},{},[],{"data":58759,"content":58760,"nodeType":1005},{},[],{"data":58762,"content":58763,"nodeType":1009},{},[58764],{"data":58765,"marks":58766,"value":51345,"nodeType":864},{},[58767],{"type":899},{"data":58769,"content":58770,"nodeType":860},{},[58771,58774,58778],{"data":58772,"marks":58773,"value":51352,"nodeType":864},{},[],{"data":58775,"marks":58776,"value":1171,"nodeType":864},{},[58777],{"type":899},{"data":58779,"marks":58780,"value":51360,"nodeType":864},{},[],{"data":58782,"content":58783,"nodeType":860},{},[58784],{"data":58785,"marks":58786,"value":51367,"nodeType":864},{},[],{"data":58788,"content":58789,"nodeType":860},{},[58790],{"data":58791,"marks":58792,"value":51374,"nodeType":864},{},[],{"data":58794,"content":58795,"nodeType":941},{},[58796,58819,58828],{"data":58797,"content":58798,"nodeType":945},{},[58799],{"data":58800,"content":58801,"nodeType":860},{},[58802,58805,58809,58812,58816],{"data":58803,"marks":58804,"value":51387,"nodeType":864},{},[],{"data":58806,"marks":58807,"value":28471,"nodeType":864},{},[58808],{"type":899},{"data":58810,"marks":58811,"value":51395,"nodeType":864},{},[],{"data":58813,"marks":58814,"value":51400,"nodeType":864},{},[58815],{"type":899},{"data":58817,"marks":58818,"value":51404,"nodeType":864},{},[],{"data":58820,"content":58821,"nodeType":945},{},[58822],{"data":58823,"content":58824,"nodeType":860},{},[58825],{"data":58826,"marks":58827,"value":51414,"nodeType":864},{},[],{"data":58829,"content":58830,"nodeType":945},{},[58831],{"data":58832,"content":58833,"nodeType":860},{},[58834],{"data":58835,"marks":58836,"value":51424,"nodeType":864},{},[],{"data":58838,"content":58841,"nodeType":996},{"target":58839},{"sys":58840},{"id":35495,"type":1001,"linkType":1002},[],{"data":58843,"content":58844,"nodeType":860},{},[58845],{"data":58846,"marks":58847,"value":51436,"nodeType":864},{},[],{"data":58849,"content":58850,"nodeType":860},{},[58851],{"data":58852,"marks":58853,"value":51443,"nodeType":864},{},[],{"data":58855,"content":58856,"nodeType":941},{},[58857,58866,58875,58884],{"data":58858,"content":58859,"nodeType":945},{},[58860],{"data":58861,"content":58862,"nodeType":860},{},[58863],{"data":58864,"marks":58865,"value":51456,"nodeType":864},{},[],{"data":58867,"content":58868,"nodeType":945},{},[58869],{"data":58870,"content":58871,"nodeType":860},{},[58872],{"data":58873,"marks":58874,"value":51466,"nodeType":864},{},[],{"data":58876,"content":58877,"nodeType":945},{},[58878],{"data":58879,"content":58880,"nodeType":860},{},[58881],{"data":58882,"marks":58883,"value":51476,"nodeType":864},{},[],{"data":58885,"content":58886,"nodeType":945},{},[58887],{"data":58888,"content":58889,"nodeType":860},{},[58890],{"data":58891,"marks":58892,"value":51486,"nodeType":864},{},[],{"data":58894,"content":58895,"nodeType":1005},{},[],{"data":58897,"content":58898,"nodeType":1009},{},[58899],{"data":58900,"marks":58901,"value":51497,"nodeType":864},{},[58902],{"type":899},{"data":58904,"content":58905,"nodeType":860},{},[58906],{"data":58907,"marks":58908,"value":51504,"nodeType":864},{},[],{"data":58910,"content":58911,"nodeType":1005},{},[],{"data":58913,"content":58914,"nodeType":1009},{},[58915],{"data":58916,"marks":58917,"value":36405,"nodeType":864},{},[],{"data":58919,"content":58920,"nodeType":860},{},[58921,58924,58931],{"data":58922,"marks":58923,"value":51520,"nodeType":864},{},[],{"data":58925,"content":58926,"nodeType":883},{"uri":5642},[58927],{"data":58928,"marks":58929,"value":2715,"nodeType":864},{},[58930],{"type":1455},{"data":58932,"marks":58933,"value":2924,"nodeType":864},{},[],{"items":58935},[58936,58938],{"sys":58937,"name":297},{"id":2732},{"sys":58939,"name":6593},{"id":6592},{"items":58941},[58942],{"fullName":849,"firstName":850,"jobTitle":851,"profilePicture":58943},{"url":853},{"__typename":2059,"sys":58945,"content":58946,"title":34880,"synopsis":34881,"hashTags":59,"publishedDate":34882,"slug":34883,"tagsCollection":59636,"authorsCollection":59640},{"id":34089},{"json":58947},{"data":58948,"content":58949,"nodeType":856},{},[58950,58955,58971,58977,58983,58988,58991,58998,59004,59020,59030,59036,59042,59048,59132,59135,59142,59217,59222,59225,59232,59239,59245,59251,59258,59274,59280,59287,59293,59299,59306,59312,59318,59334,59339,59342,59349,59356,59362,59451,59457,59464,59470,59476,59481,59488,59494,59500,59506,59513,59519,59525,59531,59537,59542,59545,59552,59558,59588,59594,59609,59625,59630],{"data":58951,"content":58954,"nodeType":996},{"target":58952},{"sys":58953},{"id":34098,"type":1001,"linkType":1002},[],{"data":58956,"content":58957,"nodeType":860},{},[58958,58961,58968],{"data":58959,"marks":58960,"value":34106,"nodeType":864},{},[],{"data":58962,"content":58963,"nodeType":883},{"uri":34109},[58964],{"data":58965,"marks":58966,"value":34115,"nodeType":864},{},[58967],{"type":1455},{"data":58969,"marks":58970,"value":34119,"nodeType":864},{},[],{"data":58972,"content":58973,"nodeType":860},{},[58974],{"data":58975,"marks":58976,"value":34126,"nodeType":864},{},[],{"data":58978,"content":58979,"nodeType":860},{},[58980],{"data":58981,"marks":58982,"value":34133,"nodeType":864},{},[],{"data":58984,"content":58987,"nodeType":996},{"target":58985},{"sys":58986},{"id":34138,"type":1001,"linkType":1002},[],{"data":58989,"content":58990,"nodeType":1005},{},[],{"data":58992,"content":58993,"nodeType":1009},{},[58994],{"data":58995,"marks":58996,"value":34150,"nodeType":864},{},[58997],{"type":899},{"data":58999,"content":59000,"nodeType":860},{},[59001],{"data":59002,"marks":59003,"value":34157,"nodeType":864},{},[],{"data":59005,"content":59006,"nodeType":860},{},[59007,59010,59017],{"data":59008,"marks":59009,"value":34164,"nodeType":864},{},[],{"data":59011,"content":59012,"nodeType":883},{"uri":18533},[59013],{"data":59014,"marks":59015,"value":34172,"nodeType":864},{},[59016],{"type":1455},{"data":59018,"marks":59019,"value":12252,"nodeType":864},{},[],{"data":59021,"content":59022,"nodeType":1116},{},[59023],{"data":59024,"content":59025,"nodeType":860},{},[59026],{"data":59027,"marks":59028,"value":34186,"nodeType":864},{},[59029],{"type":899},{"data":59031,"content":59032,"nodeType":860},{},[59033],{"data":59034,"marks":59035,"value":34193,"nodeType":864},{},[],{"data":59037,"content":59038,"nodeType":860},{},[59039],{"data":59040,"marks":59041,"value":34200,"nodeType":864},{},[],{"data":59043,"content":59044,"nodeType":860},{},[59045],{"data":59046,"marks":59047,"value":34207,"nodeType":864},{},[],{"data":59049,"content":59050,"nodeType":941},{},[59051,59060,59069,59078,59087,59096,59105,59114,59123],{"data":59052,"content":59053,"nodeType":945},{},[59054],{"data":59055,"content":59056,"nodeType":860},{},[59057],{"data":59058,"marks":59059,"value":34220,"nodeType":864},{},[],{"data":59061,"content":59062,"nodeType":945},{},[59063],{"data":59064,"content":59065,"nodeType":860},{},[59066],{"data":59067,"marks":59068,"value":34230,"nodeType":864},{},[],{"data":59070,"content":59071,"nodeType":945},{},[59072],{"data":59073,"content":59074,"nodeType":860},{},[59075],{"data":59076,"marks":59077,"value":34240,"nodeType":864},{},[],{"data":59079,"content":59080,"nodeType":945},{},[59081],{"data":59082,"content":59083,"nodeType":860},{},[59084],{"data":59085,"marks":59086,"value":34250,"nodeType":864},{},[],{"data":59088,"content":59089,"nodeType":945},{},[59090],{"data":59091,"content":59092,"nodeType":860},{},[59093],{"data":59094,"marks":59095,"value":34260,"nodeType":864},{},[],{"data":59097,"content":59098,"nodeType":945},{},[59099],{"data":59100,"content":59101,"nodeType":860},{},[59102],{"data":59103,"marks":59104,"value":34270,"nodeType":864},{},[],{"data":59106,"content":59107,"nodeType":945},{},[59108],{"data":59109,"content":59110,"nodeType":860},{},[59111],{"data":59112,"marks":59113,"value":34280,"nodeType":864},{},[],{"data":59115,"content":59116,"nodeType":945},{},[59117],{"data":59118,"content":59119,"nodeType":860},{},[59120],{"data":59121,"marks":59122,"value":34290,"nodeType":864},{},[],{"data":59124,"content":59125,"nodeType":945},{},[59126],{"data":59127,"content":59128,"nodeType":860},{},[59129],{"data":59130,"marks":59131,"value":34300,"nodeType":864},{},[],{"data":59133,"content":59134,"nodeType":1005},{},[],{"data":59136,"content":59137,"nodeType":1009},{},[59138],{"data":59139,"marks":59140,"value":34311,"nodeType":864},{},[59141],{"type":899},{"data":59143,"content":59144,"nodeType":941},{},[59145,59154,59163,59172,59181,59190,59199,59208],{"data":59146,"content":59147,"nodeType":945},{},[59148],{"data":59149,"content":59150,"nodeType":860},{},[59151],{"data":59152,"marks":59153,"value":34324,"nodeType":864},{},[],{"data":59155,"content":59156,"nodeType":945},{},[59157],{"data":59158,"content":59159,"nodeType":860},{},[59160],{"data":59161,"marks":59162,"value":34334,"nodeType":864},{},[],{"data":59164,"content":59165,"nodeType":945},{},[59166],{"data":59167,"content":59168,"nodeType":860},{},[59169],{"data":59170,"marks":59171,"value":34344,"nodeType":864},{},[],{"data":59173,"content":59174,"nodeType":945},{},[59175],{"data":59176,"content":59177,"nodeType":860},{},[59178],{"data":59179,"marks":59180,"value":34354,"nodeType":864},{},[],{"data":59182,"content":59183,"nodeType":945},{},[59184],{"data":59185,"content":59186,"nodeType":860},{},[59187],{"data":59188,"marks":59189,"value":34364,"nodeType":864},{},[],{"data":59191,"content":59192,"nodeType":945},{},[59193],{"data":59194,"content":59195,"nodeType":860},{},[59196],{"data":59197,"marks":59198,"value":34374,"nodeType":864},{},[],{"data":59200,"content":59201,"nodeType":945},{},[59202],{"data":59203,"content":59204,"nodeType":860},{},[59205],{"data":59206,"marks":59207,"value":34384,"nodeType":864},{},[],{"data":59209,"content":59210,"nodeType":945},{},[59211],{"data":59212,"content":59213,"nodeType":860},{},[59214],{"data":59215,"marks":59216,"value":34394,"nodeType":864},{},[],{"data":59218,"content":59221,"nodeType":996},{"target":59219},{"sys":59220},{"id":34399,"type":1001,"linkType":1002},[],{"data":59223,"content":59224,"nodeType":1005},{},[],{"data":59226,"content":59227,"nodeType":1009},{},[59228],{"data":59229,"marks":59230,"value":34411,"nodeType":864},{},[59231],{"type":899},{"data":59233,"content":59234,"nodeType":1312},{},[59235],{"data":59236,"marks":59237,"value":34419,"nodeType":864},{},[59238],{"type":899},{"data":59240,"content":59241,"nodeType":860},{},[59242],{"data":59243,"marks":59244,"value":34426,"nodeType":864},{},[],{"data":59246,"content":59247,"nodeType":860},{},[59248],{"data":59249,"marks":59250,"value":34433,"nodeType":864},{},[],{"data":59252,"content":59253,"nodeType":1312},{},[59254],{"data":59255,"marks":59256,"value":34441,"nodeType":864},{},[59257],{"type":899},{"data":59259,"content":59260,"nodeType":860},{},[59261,59264,59271],{"data":59262,"marks":59263,"value":34448,"nodeType":864},{},[],{"data":59265,"content":59266,"nodeType":883},{"uri":17701},[59267],{"data":59268,"marks":59269,"value":17706,"nodeType":864},{},[59270],{"type":1455},{"data":59272,"marks":59273,"value":12252,"nodeType":864},{},[],{"data":59275,"content":59276,"nodeType":860},{},[59277],{"data":59278,"marks":59279,"value":34465,"nodeType":864},{},[],{"data":59281,"content":59282,"nodeType":1312},{},[59283],{"data":59284,"marks":59285,"value":34473,"nodeType":864},{},[59286],{"type":899},{"data":59288,"content":59289,"nodeType":860},{},[59290],{"data":59291,"marks":59292,"value":34480,"nodeType":864},{},[],{"data":59294,"content":59295,"nodeType":860},{},[59296],{"data":59297,"marks":59298,"value":34487,"nodeType":864},{},[],{"data":59300,"content":59301,"nodeType":1312},{},[59302],{"data":59303,"marks":59304,"value":34495,"nodeType":864},{},[59305],{"type":899},{"data":59307,"content":59308,"nodeType":860},{},[59309],{"data":59310,"marks":59311,"value":34502,"nodeType":864},{},[],{"data":59313,"content":59314,"nodeType":860},{},[59315],{"data":59316,"marks":59317,"value":34509,"nodeType":864},{},[],{"data":59319,"content":59320,"nodeType":860},{},[59321,59324,59331],{"data":59322,"marks":59323,"value":34516,"nodeType":864},{},[],{"data":59325,"content":59326,"nodeType":883},{"uri":34519},[59327],{"data":59328,"marks":59329,"value":34525,"nodeType":864},{},[59330],{"type":1455},{"data":59332,"marks":59333,"value":34529,"nodeType":864},{},[],{"data":59335,"content":59338,"nodeType":996},{"target":59336},{"sys":59337},{"id":34534,"type":1001,"linkType":1002},[],{"data":59340,"content":59341,"nodeType":1005},{},[],{"data":59343,"content":59344,"nodeType":1009},{},[59345],{"data":59346,"marks":59347,"value":34546,"nodeType":864},{},[59348],{"type":899},{"data":59350,"content":59351,"nodeType":1312},{},[59352],{"data":59353,"marks":59354,"value":34554,"nodeType":864},{},[59355],{"type":899},{"data":59357,"content":59358,"nodeType":860},{},[59359],{"data":59360,"marks":59361,"value":34561,"nodeType":864},{},[],{"data":59363,"content":59364,"nodeType":941},{},[59365,59384,59403,59432],{"data":59366,"content":59367,"nodeType":945},{},[59368],{"data":59369,"content":59370,"nodeType":860},{},[59371,59374,59381],{"data":59372,"marks":59373,"value":34574,"nodeType":864},{},[],{"data":59375,"content":59376,"nodeType":883},{"uri":34577},[59377],{"data":59378,"marks":59379,"value":34583,"nodeType":864},{},[59380],{"type":1455},{"data":59382,"marks":59383,"value":34587,"nodeType":864},{},[],{"data":59385,"content":59386,"nodeType":945},{},[59387],{"data":59388,"content":59389,"nodeType":860},{},[59390,59393,59400],{"data":59391,"marks":59392,"value":34597,"nodeType":864},{},[],{"data":59394,"content":59395,"nodeType":883},{"uri":15980},[59396],{"data":59397,"marks":59398,"value":34605,"nodeType":864},{},[59399],{"type":1455},{"data":59401,"marks":59402,"value":2924,"nodeType":864},{},[],{"data":59404,"content":59405,"nodeType":945},{},[59406],{"data":59407,"content":59408,"nodeType":860},{},[59409,59412,59419,59422,59429],{"data":59410,"marks":59411,"value":34618,"nodeType":864},{},[],{"data":59413,"content":59414,"nodeType":883},{"uri":17701},[59415],{"data":59416,"marks":59417,"value":34626,"nodeType":864},{},[59418],{"type":1455},{"data":59420,"marks":59421,"value":34630,"nodeType":864},{},[],{"data":59423,"content":59424,"nodeType":883},{"uri":34633},[59425],{"data":59426,"marks":59427,"value":34639,"nodeType":864},{},[59428],{"type":1455},{"data":59430,"marks":59431,"value":34643,"nodeType":864},{},[],{"data":59433,"content":59434,"nodeType":945},{},[59435],{"data":59436,"content":59437,"nodeType":860},{},[59438,59441,59448],{"data":59439,"marks":59440,"value":34653,"nodeType":864},{},[],{"data":59442,"content":59443,"nodeType":883},{"uri":15980},[59444],{"data":59445,"marks":59446,"value":34661,"nodeType":864},{},[59447],{"type":1455},{"data":59449,"marks":59450,"value":34665,"nodeType":864},{},[],{"data":59452,"content":59453,"nodeType":860},{},[59454],{"data":59455,"marks":59456,"value":34672,"nodeType":864},{},[],{"data":59458,"content":59459,"nodeType":1312},{},[59460],{"data":59461,"marks":59462,"value":34680,"nodeType":864},{},[59463],{"type":899},{"data":59465,"content":59466,"nodeType":860},{},[59467],{"data":59468,"marks":59469,"value":34687,"nodeType":864},{},[],{"data":59471,"content":59472,"nodeType":860},{},[59473],{"data":59474,"marks":59475,"value":34694,"nodeType":864},{},[],{"data":59477,"content":59480,"nodeType":996},{"target":59478},{"sys":59479},{"id":34699,"type":1001,"linkType":1002},[],{"data":59482,"content":59483,"nodeType":1312},{},[59484],{"data":59485,"marks":59486,"value":34708,"nodeType":864},{},[59487],{"type":899},{"data":59489,"content":59490,"nodeType":860},{},[59491],{"data":59492,"marks":59493,"value":34715,"nodeType":864},{},[],{"data":59495,"content":59496,"nodeType":860},{},[59497],{"data":59498,"marks":59499,"value":34722,"nodeType":864},{},[],{"data":59501,"content":59502,"nodeType":860},{},[59503],{"data":59504,"marks":59505,"value":34729,"nodeType":864},{},[],{"data":59507,"content":59508,"nodeType":1312},{},[59509],{"data":59510,"marks":59511,"value":34737,"nodeType":864},{},[59512],{"type":899},{"data":59514,"content":59515,"nodeType":860},{},[59516],{"data":59517,"marks":59518,"value":34744,"nodeType":864},{},[],{"data":59520,"content":59521,"nodeType":860},{},[59522],{"data":59523,"marks":59524,"value":34751,"nodeType":864},{},[],{"data":59526,"content":59527,"nodeType":860},{},[59528],{"data":59529,"marks":59530,"value":34758,"nodeType":864},{},[],{"data":59532,"content":59533,"nodeType":860},{},[59534],{"data":59535,"marks":59536,"value":34765,"nodeType":864},{},[],{"data":59538,"content":59541,"nodeType":996},{"target":59539},{"sys":59540},{"id":34770,"type":1001,"linkType":1002},[],{"data":59543,"content":59544,"nodeType":1005},{},[],{"data":59546,"content":59547,"nodeType":1009},{},[59548],{"data":59549,"marks":59550,"value":34782,"nodeType":864},{},[59551],{"type":899},{"data":59553,"content":59554,"nodeType":860},{},[59555],{"data":59556,"marks":59557,"value":34789,"nodeType":864},{},[],{"data":59559,"content":59560,"nodeType":941},{},[59561,59570,59579],{"data":59562,"content":59563,"nodeType":945},{},[59564],{"data":59565,"content":59566,"nodeType":860},{},[59567],{"data":59568,"marks":59569,"value":34802,"nodeType":864},{},[],{"data":59571,"content":59572,"nodeType":945},{},[59573],{"data":59574,"content":59575,"nodeType":860},{},[59576],{"data":59577,"marks":59578,"value":34812,"nodeType":864},{},[],{"data":59580,"content":59581,"nodeType":945},{},[59582],{"data":59583,"content":59584,"nodeType":860},{},[59585],{"data":59586,"marks":59587,"value":34822,"nodeType":864},{},[],{"data":59589,"content":59590,"nodeType":860},{},[59591],{"data":59592,"marks":59593,"value":34829,"nodeType":864},{},[],{"data":59595,"content":59596,"nodeType":860},{},[59597,59600,59606],{"data":59598,"marks":59599,"value":1238,"nodeType":864},{},[],{"data":59601,"content":59602,"nodeType":883},{"uri":34838},[59603],{"data":59604,"marks":59605,"value":34843,"nodeType":864},{},[],{"data":59607,"marks":59608,"value":34847,"nodeType":864},{},[],{"data":59610,"content":59611,"nodeType":860},{},[59612,59615,59622],{"data":59613,"marks":59614,"value":34854,"nodeType":864},{},[],{"data":59616,"content":59617,"nodeType":883},{"uri":34857},[59618],{"data":59619,"marks":59620,"value":34863,"nodeType":864},{},[59621],{"type":1455},{"data":59623,"marks":59624,"value":34867,"nodeType":864},{},[],{"data":59626,"content":59629,"nodeType":996},{"target":59627},{"sys":59628},{"id":34872,"type":1001,"linkType":1002},[],{"data":59631,"content":59632,"nodeType":860},{},[59633],{"data":59634,"marks":59635,"value":21,"nodeType":864},{},[],{"items":59637},[59638],{"sys":59639,"name":6593},{"id":6592},{"items":59641},[59642],{"fullName":2736,"firstName":2737,"jobTitle":2738,"profilePicture":59643},{"url":2740},{"__typename":2059,"sys":59645,"content":59647,"title":60217,"synopsis":60218,"hashTags":59,"publishedDate":60219,"slug":60220,"tagsCollection":60221,"authorsCollection":60227},{"id":59646},"3dndhjREJvJCbGRLseipak",{"json":59648},{"data":59649,"content":59650,"nodeType":856},{},[59651,59670,59677,59684,59691,59698,59701,59709,59726,59733,59756,59763,59770,59777,59783,59786,59794,59801,59808,59815,59821,59824,59832,59839,59846,59853,59859,59862,59870,59877,59884,59890,59896,59899,59907,59914,59920,59926,59933,59936,59944,59951,59958,59965,59972,60005,60016,60022,60029,60032,60040,60047,60059,60067,60074,60081,60088,60111,60130,60133,60140,60147,60165,60171,60174,60182,60189,60206,60211],{"data":59652,"content":59653,"nodeType":860},{},[59654,59658,59666],{"data":59655,"marks":59656,"value":59657,"nodeType":864},{},[],"If you want the background on CUAs and OpenAI Operator ",{"data":59659,"content":59661,"nodeType":883},{"uri":59660},"https://pushsecurity.com/blog/considering-the-impact-of-computer-using-agents/",[59662],{"data":59663,"marks":59664,"value":52286,"nodeType":864},{},[59665],{"type":1455},{"data":59667,"marks":59668,"value":59669,"nodeType":864},{},[],". But, the TL;DR is that Computer-Using Agents (CUAs) are a new type of AI agent that drives your browser/OS for you. ",{"data":59671,"content":59672,"nodeType":860},{},[59673],{"data":59674,"marks":59675,"value":59676,"nodeType":864},{},[],"Unlike traditional AI models that are limited to text-based interactions, CUAs can actually use a web browser like a real person. Think of them as an advanced no-code automation platform driven by AI — capable of navigating login pages, entering credentials, and interacting with SaaS applications at scale. This is a huge leap forward from the most common malicious use cases we’ve seen for AI so far. ",{"data":59678,"content":59679,"nodeType":860},{},[59680],{"data":59681,"marks":59682,"value":59683,"nodeType":864},{},[],"At Push, we’re fully focused on stopping identity attacks. This meant that when we saw the release of Operator, we could only think of one question: How can attackers abuse this?",{"data":59685,"content":59686,"nodeType":860},{},[59687],{"data":59688,"marks":59689,"value":59690,"nodeType":864},{},[],"Full disclosure, this wasn’t an ‘LLM red team’ style exercise, or even anything close. We weren’t interested in verifying how securely data is stored (I mean who cares, these wouldn’t be our credentials if we were a real attacker, right?) and frankly we assumed that the in-app guardrails wouldn’t be robust enough to stop us. And within our first 30 minutes of testing, we were proved correct. ",{"data":59692,"content":59693,"nodeType":860},{},[59694],{"data":59695,"marks":59696,"value":59697,"nodeType":864},{},[],"Here’s what we found. ",{"data":59699,"content":59700,"nodeType":1005},{},[],{"data":59702,"content":59703,"nodeType":1009},{},[59704],{"data":59705,"marks":59706,"value":59708,"nodeType":864},{},[59707],{"type":899},"You can automate (almost) the entire identity kill chain ",{"data":59710,"content":59711,"nodeType":860},{},[59712,59716,59723],{"data":59713,"marks":59714,"value":59715,"nodeType":864},{},[],"For our test, we looked at how Operator could be applied to identity attacks across discrete Cyber Kill Chain stages and the associated Tactics, Techniques, and Procedures (TTPs) as per the ",{"data":59717,"content":59718,"nodeType":883},{"uri":6418},[59719],{"data":59720,"marks":59721,"value":37864,"nodeType":864},{},[59722],{"type":1455},{"data":59724,"marks":59725,"value":12252,"nodeType":864},{},[],{"data":59727,"content":59728,"nodeType":860},{},[59729],{"data":59730,"marks":59731,"value":59732,"nodeType":864},{},[],"One of the key challenges facing attackers when it comes to scaling identity attacks is that of targeting many different internet apps — all of which are:",{"data":59734,"content":59735,"nodeType":941},{},[59736,59746],{"data":59737,"content":59738,"nodeType":945},{},[59739],{"data":59740,"content":59741,"nodeType":860},{},[59742],{"data":59743,"marks":59744,"value":59745,"nodeType":864},{},[],"Complex and highly customized, with a graphically-driven interface that is different every time.",{"data":59747,"content":59748,"nodeType":945},{},[59749],{"data":59750,"content":59751,"nodeType":860},{},[59752],{"data":59753,"marks":59754,"value":59755,"nodeType":864},{},[],"Specifically designed to prevent malicious automation with things like account lockouts and bot protections like CAPTCHA. ",{"data":59757,"content":59758,"nodeType":860},{},[59759],{"data":59760,"marks":59761,"value":59762,"nodeType":864},{},[],"This is a big change from traditional networks, where you could simply port scan and spray credentials, encountering the same protocols and services for every environment you wanted to target.",{"data":59764,"content":59765,"nodeType":860},{},[59766],{"data":59767,"marks":59768,"value":59769,"nodeType":864},{},[],"Now, every app requires custom tooling that needs to be maintained as apps/pages change. Considering that there are more than 40k SaaS apps, this is no small task. ",{"data":59771,"content":59772,"nodeType":860},{},[59773],{"data":59774,"marks":59775,"value":59776,"nodeType":864},{},[],"But we thought: could Operator solve this problem, without any custom development or tooling whatsoever? And what else can it automate following the initial account takeover? ",{"data":59778,"content":59782,"nodeType":996},{"target":59779},{"sys":59780},{"id":59781,"type":1001,"linkType":1002},"6169dNBRXvahtV8VRlxLCJ",[],{"data":59784,"content":59785,"nodeType":1005},{},[],{"data":59787,"content":59788,"nodeType":1009},{},[59789],{"data":59790,"marks":59791,"value":59793,"nodeType":864},{},[59792],{"type":899},"1: Reconnaissance",{"data":59795,"content":59796,"nodeType":860},{},[59797],{"data":59798,"marks":59799,"value":59800,"nodeType":864},{},[],"Recon in the world of SaaS means figuring out which SaaS apps an organization uses, how users authenticate, and where the weak spots are. ",{"data":59802,"content":59803,"nodeType":860},{},[59804],{"data":59805,"marks":59806,"value":59807,"nodeType":864},{},[],"For example, I asked Operator to check whether a company used BambooHR, Atlassian, or Dropbox. Within minutes, the AI had identified valid tenant names, login URLs, and authentication methods for each app.",{"data":59809,"content":59810,"nodeType":860},{},[59811],{"data":59812,"marks":59813,"value":59814,"nodeType":864},{},[],"While a human attacker might research a handful of targets in a day, a CUA can research thousands, tirelessly mapping out identity attack surfaces across a long list of target organizations.",{"data":59816,"content":59820,"nodeType":996},{"target":59817},{"sys":59818},{"id":59819,"type":1001,"linkType":1002},"6Bt0cyPStlzhDzMaSdBYUp",[],{"data":59822,"content":59823,"nodeType":1005},{},[],{"data":59825,"content":59826,"nodeType":1009},{},[59827],{"data":59828,"marks":59829,"value":59831,"nodeType":864},{},[59830],{"type":899},"2: Initial Access",{"data":59833,"content":59834,"nodeType":860},{},[59835],{"data":59836,"marks":59837,"value":59838,"nodeType":864},{},[],"Once you’ve established your targets, you can automate account takeover using compromised credentials. ",{"data":59840,"content":59841,"nodeType":860},{},[59842],{"data":59843,"marks":59844,"value":59845,"nodeType":864},{},[],"I asked Operator to try to login using a set of compromised credentials across five different apps. It navigated to each page, attempted to login, noted the success or failure (and why), and moved on to the next app in the list. ",{"data":59847,"content":59848,"nodeType":860},{},[59849],{"data":59850,"marks":59851,"value":59852,"nodeType":864},{},[],"Now imagine that same process, but scaled up to tens of thousands of apps at once — with no custom development required. That’s where things start getting interesting.",{"data":59854,"content":59858,"nodeType":996},{"target":59855},{"sys":59856},{"id":59857,"type":1001,"linkType":1002},"6jk6hKykuvc0YAA4CkP8C2",[],{"data":59860,"content":59861,"nodeType":1005},{},[],{"data":59863,"content":59864,"nodeType":1009},{},[59865],{"data":59866,"marks":59867,"value":59869,"nodeType":864},{},[59868],{"type":899},"3: Persistence",{"data":59871,"content":59872,"nodeType":860},{},[59873],{"data":59874,"marks":59875,"value":59876,"nodeType":864},{},[],"Once you take over an account, you might not be able to exploit it straight away — particularly if you’re looking to execute a broader campaign across apps/organizations. So, I asked Operator to establish persistence mechanisms that would enable me to return to the app later, even if the credentials were changed or additional auth factors were deployed. ",{"data":59878,"content":59879,"nodeType":860},{},[59880],{"data":59881,"marks":59882,"value":59883,"nodeType":864},{},[],"Operator was able to analyse wildly different apps/pages with different options for configuring ghost logins, and was able to do things like create an API key and record it for me — a really effective backdoor that is extremely difficult for security teams to detect. ",{"data":59885,"content":59889,"nodeType":996},{"target":59886},{"sys":59887},{"id":59888,"type":1001,"linkType":1002},"6jtmxq2tMJIBga3hxdeDZs",[],{"data":59891,"content":59895,"nodeType":996},{"target":59892},{"sys":59893},{"id":59894,"type":1001,"linkType":1002},"5XqqCMLn0udFeoc2CQkmy6",[],{"data":59897,"content":59898,"nodeType":1005},{},[],{"data":59900,"content":59901,"nodeType":1009},{},[59902],{"data":59903,"marks":59904,"value":59906,"nodeType":864},{},[59905],{"type":899},"4: Lateral Movement",{"data":59908,"content":59909,"nodeType":860},{},[59910],{"data":59911,"marks":59912,"value":59913,"nodeType":864},{},[],"Operator can be used to perform in-app changes which can lay the groundwork for lateral movement. One example of how this can be achieved is through SAMLjacking, effectively allowing the attacker to poison the malicious app tenant and use it as a watering hole to harvest SSO credentials. ",{"data":59915,"content":59919,"nodeType":996},{"target":59916},{"sys":59917},{"id":59918,"type":1001,"linkType":1002},"4GTS6iIlQ0nyMfTxhXQdEg",[],{"data":59921,"content":59925,"nodeType":996},{"target":59922},{"sys":59923},{"id":59924,"type":1001,"linkType":1002},"5awMBkBEQPtdVNtLOYiaCL",[],{"data":59927,"content":59928,"nodeType":860},{},[59929],{"data":59930,"marks":59931,"value":59932,"nodeType":864},{},[],"SAMLjacking is just one option though — you could also do things like identifying which OAuth integrations are already enabled that could be abused to access linked apps and accounts. ",{"data":59934,"content":59935,"nodeType":1005},{},[],{"data":59937,"content":59938,"nodeType":1009},{},[59939],{"data":59940,"marks":59941,"value":59943,"nodeType":864},{},[59942],{"type":899},"5: Collection & Exfiltration ",{"data":59945,"content":59946,"nodeType":860},{},[59947],{"data":59948,"marks":59949,"value":59950,"nodeType":864},{},[],"The final piece in the attack chain we looked at was the ability to automate actions-on-objectives. When targeting SaaS, this typically involves dumping app data. ",{"data":59952,"content":59953,"nodeType":860},{},[59954],{"data":59955,"marks":59956,"value":59957,"nodeType":864},{},[],"We found it would be possible to trigger things like takeout services, but this would involve an email export of the data being sent to the victim — meaning we’d need to also compromise their mailbox, and it would probably raise the alarm if noticed. ",{"data":59959,"content":59960,"nodeType":860},{},[59961],{"data":59962,"marks":59963,"value":59964,"nodeType":864},{},[],"Simply downloading the data directly doesn’t work too well with Operator either — downloads are stored in the VM and aren’t easy to extract (for now, anyway).",{"data":59966,"content":59967,"nodeType":860},{},[59968],{"data":59969,"marks":59970,"value":59971,"nodeType":864},{},[],"But this got us thinking:",{"data":59973,"content":59974,"nodeType":941},{},[59975,59985,59995],{"data":59976,"content":59977,"nodeType":945},{},[59978],{"data":59979,"content":59980,"nodeType":860},{},[59981],{"data":59982,"marks":59983,"value":59984,"nodeType":864},{},[],"Mass data exfiltration is more likely to raise the alarm than the sharing of sensitive data only.",{"data":59986,"content":59987,"nodeType":945},{},[59988],{"data":59989,"content":59990,"nodeType":860},{},[59991],{"data":59992,"marks":59993,"value":59994,"nodeType":864},{},[],"Often, much of the data stolen by attackers is pretty low-value and noisy — attackers often don’t really understand the value of what they’ve taken, or how to use/leverage it (particularly when targeting organizations in specialist fields). ",{"data":59996,"content":59997,"nodeType":945},{},[59998],{"data":59999,"content":60000,"nodeType":860},{},[60001],{"data":60002,"marks":60003,"value":60004,"nodeType":864},{},[],"So what if you could use Operator to understand the data you’ve accessed before dumping it, and stealthily take only what you’re interested in? ",{"data":60006,"content":60007,"nodeType":860},{},[60008,60012],{"data":60009,"marks":60010,"value":60011,"nodeType":864},{},[],"So, w",{"data":60013,"marks":60014,"value":60015,"nodeType":864},{},[],"e asked Operator to analyse data in a compromised Google Drive and report back on what it found. It was able to trawl through looking for specific data of value and report its findings back for us to act on. ",{"data":60017,"content":60021,"nodeType":996},{"target":60018},{"sys":60019},{"id":60020,"type":1001,"linkType":1002},"VAb39fl1Otlj07dkbDmpU",[],{"data":60023,"content":60024,"nodeType":860},{},[60025],{"data":60026,"marks":60027,"value":60028,"nodeType":864},{},[],"At this point, we could have also asked Operator to create sharing links for those files and record them for us (in case our access was revoked in future). ",{"data":60030,"content":60031,"nodeType":1005},{},[],{"data":60033,"content":60034,"nodeType":1009},{},[60035],{"data":60036,"marks":60037,"value":60039,"nodeType":864},{},[60038],{"type":899},"Evaluating Operator",{"data":60041,"content":60042,"nodeType":860},{},[60043],{"data":60044,"marks":60045,"value":60046,"nodeType":864},{},[],"Operator clearly demonstrated that it can be used to perform malicious tasks throughout the identity attack kill chain, for every site we directed it at, without requiring custom tool development. Though we didn’t conduct an exhaustive review, we were able to trivially bypass prompt restrictions. And although Operator was meant to hand back over to the user for some actions (like logging, completing CAPTCHAs, etc.) it could be convinced to perform these tasks autonomously. ",{"data":60048,"content":60049,"nodeType":860},{},[60050,60054],{"data":60051,"marks":60052,"value":60053,"nodeType":864},{},[],"It’s important to come back to the point that this isn’t impressive or useful because of the complexity of the tasks — on a 1:1 basis, a human operator will outperform Operator. ",{"data":60055,"marks":60056,"value":60058,"nodeType":864},{},[60057],{"type":899},"The key benefit is the ability to scale these actions across hundreds or even thousands of apps. ",{"data":60060,"content":60061,"nodeType":1312},{},[60062],{"data":60063,"marks":60064,"value":60066,"nodeType":864},{},[60065],{"type":899},"The best (worst?) is still to come",{"data":60068,"content":60069,"nodeType":860},{},[60070],{"data":60071,"marks":60072,"value":60073,"nodeType":864},{},[],"Yes, Operator is a bit slow at the moment, and can get confused when handling long and large tasks with complex instructions. And overall usage is capped, which might prevent attackers from scaling their identity surface discovery and exploitation infinitely (though we didn’t hit any limits during our testing). But let’s remember, it’s not even in V1 yet … ",{"data":60075,"content":60076,"nodeType":860},{},[60077],{"data":60078,"marks":60079,"value":60080,"nodeType":864},{},[],"Operator (and the underlying CUA tech) will inevitably get better. If you can integrate Operator within a tool framework to cover off some of its limitations, and orchestrate Operator windows to perform tasks simultaneously via API (functionality that exists for ChatGPT already) then this kind of CUA tech becomes something that can be very easily abused by attackers. And ultimately, competing CUA products (even inherently malicious ones) will emerge over time, increasing the scope for abuse. ",{"data":60082,"content":60083,"nodeType":860},{},[60084],{"data":60085,"marks":60086,"value":60087,"nodeType":864},{},[],"And what then? There are dual consequences:",{"data":60089,"content":60090,"nodeType":941},{},[60091,60101],{"data":60092,"content":60093,"nodeType":945},{},[60094],{"data":60095,"content":60096,"nodeType":860},{},[60097],{"data":60098,"marks":60099,"value":60100,"nodeType":864},{},[],"Lower skilled attackers with fewer resources will be able to harness identity attacks and exploit identity vulnerabilities at scale, with out-of-the-box capabilities.",{"data":60102,"content":60103,"nodeType":945},{},[60104],{"data":60105,"content":60106,"nodeType":860},{},[60107],{"data":60108,"marks":60109,"value":60110,"nodeType":864},{},[],"More advanced attackers will be able to scale their operations, a bit like being a red team manager of a fleet of AI interns — they handle the grunt work while you’re freed up to perform more complex tasks, only stepping in when you need to. ",{"data":60112,"content":60113,"nodeType":1116},{},[60114],{"data":60115,"content":60116,"nodeType":860},{},[60117,60121,60126],{"data":60118,"marks":60119,"value":60120,"nodeType":864},{},[],"CUAs mean attackers can scale their operations, ",{"data":60122,"marks":60123,"value":60125,"nodeType":864},{},[60124],{"type":899},"a bit like being a red team manager of a fleet of AI interns",{"data":60127,"marks":60128,"value":60129,"nodeType":864},{},[]," — they handle the grunt work while you’re freed up to perform more complex tasks, only stepping in when you need to. ",{"data":60131,"content":60132,"nodeType":1005},{},[],{"data":60134,"content":60135,"nodeType":1009},{},[60136],{"data":60137,"marks":60138,"value":17429,"nodeType":864},{},[60139],{"type":899},{"data":60141,"content":60142,"nodeType":860},{},[60143],{"data":60144,"marks":60145,"value":60146,"nodeType":864},{},[],"CUA technology has huge implications for the ability of attackers to discover and exploit identity vulnerabilities at-scale. ",{"data":60148,"content":60149,"nodeType":860},{},[60150,60154,60162],{"data":60151,"marks":60152,"value":60153,"nodeType":864},{},[],"The biggest impact that we identified was in terms of credential attacks — and in particular the ability of attackers to leverage compromised credentials and systemic vulnerabilities like credential reuse — which we’ve discussed in more detail ",{"data":60155,"content":60157,"nodeType":883},{"uri":60156},"https://pushsecurity.com/blog/how-new-ai-agents-will-transform-credential-stuffing-attacks/",[60158],{"data":60159,"marks":60160,"value":60161,"nodeType":864},{},[],"in this blog post",{"data":60163,"marks":60164,"value":12252,"nodeType":864},{},[],{"data":60166,"content":60170,"nodeType":996},{"target":60167},{"sys":60168},{"id":60169,"type":1001,"linkType":1002},"5wczyTsTFu9VshpzxJylgX",[],{"data":60172,"content":60173,"nodeType":1005},{},[],{"data":60175,"content":60176,"nodeType":1009},{},[60177],{"data":60178,"marks":60179,"value":60181,"nodeType":864},{},[60180],{"type":899},"What you can do about it",{"data":60183,"content":60184,"nodeType":860},{},[60185],{"data":60186,"marks":60187,"value":60188,"nodeType":864},{},[],"Thankfully, no new anti-AI capabilities are required — but it’s more important than ever that organizations look to defend their identity attack surface and find and fix identity vulnerabilities before attackers can take advantage of them. ",{"data":60190,"content":60191,"nodeType":860},{},[60192,60195,60202],{"data":60193,"marks":60194,"value":21,"nodeType":864},{},[],{"data":60196,"content":60197,"nodeType":883},{"uri":5642},[60198],{"data":60199,"marks":60200,"value":41118,"nodeType":864},{},[60201],{"type":1455},{"data":60203,"marks":60204,"value":60205,"nodeType":864},{},[]," to find out how Push helps organizations to find and fix identity vulnerabilities at-scale, and intercept identity attacks as they happen in employee browsers. ",{"data":60207,"content":60210,"nodeType":996},{"target":60208},{"sys":60209},{"id":59781,"type":1001,"linkType":1002},[],{"data":60212,"content":60213,"nodeType":860},{},[60214],{"data":60215,"marks":60216,"value":21,"nodeType":864},{},[],"5 ways attackers can use Computer-Using Agents to automate identity attacks","We're back with part 2 of our research into OpenAI Operator to share our findings on how it can be used to automate identity attacks. ","2025-03-13T00:00:00.000Z","5-ways-attackers-can-use-computer-using-agents-to-automate-identity-attacks",{"items":60222},[60223,60225],{"sys":60224,"name":6593},{"id":6592},{"sys":60226,"name":297},{"id":2732},{"items":60228},[60229],{"fullName":4949,"firstName":4950,"jobTitle":4951,"profilePicture":60230},{"url":4955},"blog/why-attackers-are-targeting-jira-with-stolen-credentials",{"json":60233},{"data":60234,"content":60235,"nodeType":856},{},[60236],{"data":60237,"content":60238,"nodeType":860},{},[60239],{"data":60240,"marks":60241,"value":35588,"nodeType":864},{},[],{"id":34894,"publishedAt":60243},"2026-08-12T11:54:22.609Z",{"items":60245},[60246,60248],{"sys":60247,"name":6593},{"id":6592},{"sys":60249,"name":342},{"id":6596},{"items":60251},[60252,60254,60256,60258,60260,60262,60264,60266,60268,60270,60272,60274,60276,60278,60280],{"sys":60253,"name":413,"slug":414,"tier":31},{"id":410},{"sys":60255,"name":545,"slug":546,"tier":31},{"id":542},{"sys":60257,"name":279,"slug":280,"tier":31},{"id":276},{"sys":60259,"name":642,"slug":643,"tier":31},{"id":639},{"sys":60261,"name":342,"slug":343,"tier":31},{"id":339},{"sys":60263,"name":297,"slug":298,"tier":31},{"id":294},{"sys":60265,"name":333,"slug":334,"tier":45},{"id":330},{"sys":60267,"name":422,"slug":423,"tier":45},{"id":419},{"sys":60269,"name":528,"slug":529,"tier":45},{"id":525},{"sys":60271,"name":502,"slug":503,"tier":45},{"id":499},{"sys":60273,"name":395,"slug":396,"tier":45},{"id":392},{"sys":60275,"name":457,"slug":458,"tier":45},{"id":454},{"sys":60277,"name":537,"slug":538,"tier":45},{"id":534},{"sys":60279,"name":571,"slug":572,"tier":45},{"id":568},{"sys":60281,"name":324,"slug":325,"tier":45},{"id":321},"vu91m-UCmH2QlKrLtEKhi6TrmA1ZaTVt_DvLlT1QYvc",{"id":60284,"title":60217,"authorsCollection":60285,"content":60290,"extension":228,"faqItemsCollection":60885,"faqTitle":59,"featured":6,"hashTags":59,"meta":60887,"metaTitle":60888,"ogImage":60889,"postType":5740,"publishedDate":60219,"relatedBlogPostsCollection":60891,"slug":60220,"stem":63143,"subtitle":59,"summary":63144,"synopsis":60218,"sys":63155,"tagsCollection":63157,"topicsCollection":63163,"__hash__":63191},"blog/blog/5-ways-attackers-can-use-computer-using-agents-to-automate-identity-attacks.json",{"items":60286},[60287],{"fullName":4949,"firstName":4950,"jobTitle":4951,"socialLinks":60288,"profilePicture":60289},[4953],{"url":4955},{"json":60291,"links":60791},{"data":60292,"content":60293,"nodeType":856},{},[60294,60310,60316,60322,60328,60334,60337,60344,60360,60366,60387,60393,60399,60405,60410,60413,60420,60426,60432,60438,60443,60446,60453,60459,60465,60471,60476,60479,60486,60492,60498,60503,60508,60511,60518,60524,60529,60534,60540,60543,60550,60556,60562,60568,60574,60604,60613,60618,60624,60627,60634,60640,60650,60657,60663,60669,60675,60696,60712,60715,60722,60728,60743,60748,60751,60758,60764,60780,60785],{"data":60295,"content":60296,"nodeType":860},{},[60297,60300,60307],{"data":60298,"marks":60299,"value":59657,"nodeType":864},{},[],{"data":60301,"content":60302,"nodeType":883},{"uri":59660},[60303],{"data":60304,"marks":60305,"value":52286,"nodeType":864},{},[60306],{"type":1455},{"data":60308,"marks":60309,"value":59669,"nodeType":864},{},[],{"data":60311,"content":60312,"nodeType":860},{},[60313],{"data":60314,"marks":60315,"value":59676,"nodeType":864},{},[],{"data":60317,"content":60318,"nodeType":860},{},[60319],{"data":60320,"marks":60321,"value":59683,"nodeType":864},{},[],{"data":60323,"content":60324,"nodeType":860},{},[60325],{"data":60326,"marks":60327,"value":59690,"nodeType":864},{},[],{"data":60329,"content":60330,"nodeType":860},{},[60331],{"data":60332,"marks":60333,"value":59697,"nodeType":864},{},[],{"data":60335,"content":60336,"nodeType":1005},{},[],{"data":60338,"content":60339,"nodeType":1009},{},[60340],{"data":60341,"marks":60342,"value":59708,"nodeType":864},{},[60343],{"type":899},{"data":60345,"content":60346,"nodeType":860},{},[60347,60350,60357],{"data":60348,"marks":60349,"value":59715,"nodeType":864},{},[],{"data":60351,"content":60352,"nodeType":883},{"uri":6418},[60353],{"data":60354,"marks":60355,"value":37864,"nodeType":864},{},[60356],{"type":1455},{"data":60358,"marks":60359,"value":12252,"nodeType":864},{},[],{"data":60361,"content":60362,"nodeType":860},{},[60363],{"data":60364,"marks":60365,"value":59732,"nodeType":864},{},[],{"data":60367,"content":60368,"nodeType":941},{},[60369,60378],{"data":60370,"content":60371,"nodeType":945},{},[60372],{"data":60373,"content":60374,"nodeType":860},{},[60375],{"data":60376,"marks":60377,"value":59745,"nodeType":864},{},[],{"data":60379,"content":60380,"nodeType":945},{},[60381],{"data":60382,"content":60383,"nodeType":860},{},[60384],{"data":60385,"marks":60386,"value":59755,"nodeType":864},{},[],{"data":60388,"content":60389,"nodeType":860},{},[60390],{"data":60391,"marks":60392,"value":59762,"nodeType":864},{},[],{"data":60394,"content":60395,"nodeType":860},{},[60396],{"data":60397,"marks":60398,"value":59769,"nodeType":864},{},[],{"data":60400,"content":60401,"nodeType":860},{},[60402],{"data":60403,"marks":60404,"value":59776,"nodeType":864},{},[],{"data":60406,"content":60409,"nodeType":996},{"target":60407},{"sys":60408},{"id":59781,"type":1001,"linkType":1002},[],{"data":60411,"content":60412,"nodeType":1005},{},[],{"data":60414,"content":60415,"nodeType":1009},{},[60416],{"data":60417,"marks":60418,"value":59793,"nodeType":864},{},[60419],{"type":899},{"data":60421,"content":60422,"nodeType":860},{},[60423],{"data":60424,"marks":60425,"value":59800,"nodeType":864},{},[],{"data":60427,"content":60428,"nodeType":860},{},[60429],{"data":60430,"marks":60431,"value":59807,"nodeType":864},{},[],{"data":60433,"content":60434,"nodeType":860},{},[60435],{"data":60436,"marks":60437,"value":59814,"nodeType":864},{},[],{"data":60439,"content":60442,"nodeType":996},{"target":60440},{"sys":60441},{"id":59819,"type":1001,"linkType":1002},[],{"data":60444,"content":60445,"nodeType":1005},{},[],{"data":60447,"content":60448,"nodeType":1009},{},[60449],{"data":60450,"marks":60451,"value":59831,"nodeType":864},{},[60452],{"type":899},{"data":60454,"content":60455,"nodeType":860},{},[60456],{"data":60457,"marks":60458,"value":59838,"nodeType":864},{},[],{"data":60460,"content":60461,"nodeType":860},{},[60462],{"data":60463,"marks":60464,"value":59845,"nodeType":864},{},[],{"data":60466,"content":60467,"nodeType":860},{},[60468],{"data":60469,"marks":60470,"value":59852,"nodeType":864},{},[],{"data":60472,"content":60475,"nodeType":996},{"target":60473},{"sys":60474},{"id":59857,"type":1001,"linkType":1002},[],{"data":60477,"content":60478,"nodeType":1005},{},[],{"data":60480,"content":60481,"nodeType":1009},{},[60482],{"data":60483,"marks":60484,"value":59869,"nodeType":864},{},[60485],{"type":899},{"data":60487,"content":60488,"nodeType":860},{},[60489],{"data":60490,"marks":60491,"value":59876,"nodeType":864},{},[],{"data":60493,"content":60494,"nodeType":860},{},[60495],{"data":60496,"marks":60497,"value":59883,"nodeType":864},{},[],{"data":60499,"content":60502,"nodeType":996},{"target":60500},{"sys":60501},{"id":59888,"type":1001,"linkType":1002},[],{"data":60504,"content":60507,"nodeType":996},{"target":60505},{"sys":60506},{"id":59894,"type":1001,"linkType":1002},[],{"data":60509,"content":60510,"nodeType":1005},{},[],{"data":60512,"content":60513,"nodeType":1009},{},[60514],{"data":60515,"marks":60516,"value":59906,"nodeType":864},{},[60517],{"type":899},{"data":60519,"content":60520,"nodeType":860},{},[60521],{"data":60522,"marks":60523,"value":59913,"nodeType":864},{},[],{"data":60525,"content":60528,"nodeType":996},{"target":60526},{"sys":60527},{"id":59918,"type":1001,"linkType":1002},[],{"data":60530,"content":60533,"nodeType":996},{"target":60531},{"sys":60532},{"id":59924,"type":1001,"linkType":1002},[],{"data":60535,"content":60536,"nodeType":860},{},[60537],{"data":60538,"marks":60539,"value":59932,"nodeType":864},{},[],{"data":60541,"content":60542,"nodeType":1005},{},[],{"data":60544,"content":60545,"nodeType":1009},{},[60546],{"data":60547,"marks":60548,"value":59943,"nodeType":864},{},[60549],{"type":899},{"data":60551,"content":60552,"nodeType":860},{},[60553],{"data":60554,"marks":60555,"value":59950,"nodeType":864},{},[],{"data":60557,"content":60558,"nodeType":860},{},[60559],{"data":60560,"marks":60561,"value":59957,"nodeType":864},{},[],{"data":60563,"content":60564,"nodeType":860},{},[60565],{"data":60566,"marks":60567,"value":59964,"nodeType":864},{},[],{"data":60569,"content":60570,"nodeType":860},{},[60571],{"data":60572,"marks":60573,"value":59971,"nodeType":864},{},[],{"data":60575,"content":60576,"nodeType":941},{},[60577,60586,60595],{"data":60578,"content":60579,"nodeType":945},{},[60580],{"data":60581,"content":60582,"nodeType":860},{},[60583],{"data":60584,"marks":60585,"value":59984,"nodeType":864},{},[],{"data":60587,"content":60588,"nodeType":945},{},[60589],{"data":60590,"content":60591,"nodeType":860},{},[60592],{"data":60593,"marks":60594,"value":59994,"nodeType":864},{},[],{"data":60596,"content":60597,"nodeType":945},{},[60598],{"data":60599,"content":60600,"nodeType":860},{},[60601],{"data":60602,"marks":60603,"value":60004,"nodeType":864},{},[],{"data":60605,"content":60606,"nodeType":860},{},[60607,60610],{"data":60608,"marks":60609,"value":60011,"nodeType":864},{},[],{"data":60611,"marks":60612,"value":60015,"nodeType":864},{},[],{"data":60614,"content":60617,"nodeType":996},{"target":60615},{"sys":60616},{"id":60020,"type":1001,"linkType":1002},[],{"data":60619,"content":60620,"nodeType":860},{},[60621],{"data":60622,"marks":60623,"value":60028,"nodeType":864},{},[],{"data":60625,"content":60626,"nodeType":1005},{},[],{"data":60628,"content":60629,"nodeType":1009},{},[60630],{"data":60631,"marks":60632,"value":60039,"nodeType":864},{},[60633],{"type":899},{"data":60635,"content":60636,"nodeType":860},{},[60637],{"data":60638,"marks":60639,"value":60046,"nodeType":864},{},[],{"data":60641,"content":60642,"nodeType":860},{},[60643,60646],{"data":60644,"marks":60645,"value":60053,"nodeType":864},{},[],{"data":60647,"marks":60648,"value":60058,"nodeType":864},{},[60649],{"type":899},{"data":60651,"content":60652,"nodeType":1312},{},[60653],{"data":60654,"marks":60655,"value":60066,"nodeType":864},{},[60656],{"type":899},{"data":60658,"content":60659,"nodeType":860},{},[60660],{"data":60661,"marks":60662,"value":60073,"nodeType":864},{},[],{"data":60664,"content":60665,"nodeType":860},{},[60666],{"data":60667,"marks":60668,"value":60080,"nodeType":864},{},[],{"data":60670,"content":60671,"nodeType":860},{},[60672],{"data":60673,"marks":60674,"value":60087,"nodeType":864},{},[],{"data":60676,"content":60677,"nodeType":941},{},[60678,60687],{"data":60679,"content":60680,"nodeType":945},{},[60681],{"data":60682,"content":60683,"nodeType":860},{},[60684],{"data":60685,"marks":60686,"value":60100,"nodeType":864},{},[],{"data":60688,"content":60689,"nodeType":945},{},[60690],{"data":60691,"content":60692,"nodeType":860},{},[60693],{"data":60694,"marks":60695,"value":60110,"nodeType":864},{},[],{"data":60697,"content":60698,"nodeType":1116},{},[60699],{"data":60700,"content":60701,"nodeType":860},{},[60702,60705,60709],{"data":60703,"marks":60704,"value":60120,"nodeType":864},{},[],{"data":60706,"marks":60707,"value":60125,"nodeType":864},{},[60708],{"type":899},{"data":60710,"marks":60711,"value":60129,"nodeType":864},{},[],{"data":60713,"content":60714,"nodeType":1005},{},[],{"data":60716,"content":60717,"nodeType":1009},{},[60718],{"data":60719,"marks":60720,"value":17429,"nodeType":864},{},[60721],{"type":899},{"data":60723,"content":60724,"nodeType":860},{},[60725],{"data":60726,"marks":60727,"value":60146,"nodeType":864},{},[],{"data":60729,"content":60730,"nodeType":860},{},[60731,60734,60740],{"data":60732,"marks":60733,"value":60153,"nodeType":864},{},[],{"data":60735,"content":60736,"nodeType":883},{"uri":60156},[60737],{"data":60738,"marks":60739,"value":60161,"nodeType":864},{},[],{"data":60741,"marks":60742,"value":12252,"nodeType":864},{},[],{"data":60744,"content":60747,"nodeType":996},{"target":60745},{"sys":60746},{"id":60169,"type":1001,"linkType":1002},[],{"data":60749,"content":60750,"nodeType":1005},{},[],{"data":60752,"content":60753,"nodeType":1009},{},[60754],{"data":60755,"marks":60756,"value":60181,"nodeType":864},{},[60757],{"type":899},{"data":60759,"content":60760,"nodeType":860},{},[60761],{"data":60762,"marks":60763,"value":60188,"nodeType":864},{},[],{"data":60765,"content":60766,"nodeType":860},{},[60767,60770,60777],{"data":60768,"marks":60769,"value":21,"nodeType":864},{},[],{"data":60771,"content":60772,"nodeType":883},{"uri":5642},[60773],{"data":60774,"marks":60775,"value":41118,"nodeType":864},{},[60776],{"type":1455},{"data":60778,"marks":60779,"value":60205,"nodeType":864},{},[],{"data":60781,"content":60784,"nodeType":996},{"target":60782},{"sys":60783},{"id":59781,"type":1001,"linkType":1002},[],{"data":60786,"content":60787,"nodeType":860},{},[60788],{"data":60789,"marks":60790,"value":21,"nodeType":864},{},[],{"entries":60792},{"hyperlink":60793,"inline":60794,"block":60795},[],[],[60796,60801,60805,60809,60844,60848,60873,60878,60882],{"sys":60797,"__typename":1717,"type":1718,"ctaText":60798,"buttonLabel":60799,"buttonColour":33488,"buttonUrl":60800},{"id":59781},"See our latest webinar on demand where we explore Operator's malicious use-cases throughout the kill chain","Watch Now","https://pushsecurity.com/resources/automating-identity-attacks",{"sys":60802,"__typename":9318,"title":60803,"arcadeDemoUrl":60804,"playText":29563},{"id":59819},"CUA blog — Arcade 1","https://demo.arcade.software/buNBQ1B8KBs44JUuKM3R?embed",{"sys":60806,"__typename":9318,"title":60807,"arcadeDemoUrl":60808,"playText":9321},{"id":59857},"CUA blog — Arcade 2","https://demo.arcade.software/b4EQ6eEkUvUMF6mXZoek?embed",{"sys":60810,"__typename":1740,"content":60811,"name":60843,"title":59},{"id":59888},{"json":60812},{"nodeType":856,"data":60813,"content":60814},{},[60815],{"nodeType":860,"data":60816,"content":60817},{},[60818,60822,60830,60834,60840],{"nodeType":864,"value":60819,"marks":60820,"data":60821},"Most apps provide ",[],{},{"nodeType":883,"data":60823,"content":60824},{"uri":29178},[60825],{"nodeType":864,"value":60826,"marks":60827,"data":60829},"extremely limited account and authentication method visibility to admins",[60828],{"type":1455},{},{"nodeType":864,"value":60831,"marks":60832,"data":60833},", and even fewer give them the ability to make changes on behalf of the user like removing insecure login methods — meaning it’s very difficult for them to investigate and remediate ",[],{},{"nodeType":883,"data":60835,"content":60836},{"uri":26784},[60837],{"nodeType":864,"value":17706,"marks":60838,"data":60839},[],{},{"nodeType":864,"value":2924,"marks":60841,"data":60842},[],{},"CUA blog — Insight box 1",{"sys":60845,"__typename":9318,"title":60846,"arcadeDemoUrl":60847,"playText":29563},{"id":59894},"CUA blog — Arcade 3","https://demo.arcade.software/uuIiTlrp7eLN2cuPAEFB?embed",{"sys":60849,"__typename":1740,"content":60850,"name":60872,"title":59},{"id":59918},{"json":60851},{"nodeType":856,"data":60852,"content":60853},{},[60854],{"nodeType":860,"data":60855,"content":60856},{},[60857,60861,60869],{"nodeType":864,"value":60858,"marks":60859,"data":60860},"SAMLjacking works by modifying the app’s SAML settings to direct users to authenticate via an attacker-controlled SAML server to sign in using SSO via their IdP account. The user notices no real change to their experience and can access the resources as normal, but the attacker will harvest the credentials of every user that logs in. ",[],{},{"nodeType":883,"data":60862,"content":60863},{"uri":5231},[60864],{"nodeType":864,"value":60865,"marks":60866,"data":60868},"Find out more about SAMLjacking here",[60867],{"type":1455},{},{"nodeType":864,"value":2924,"marks":60870,"data":60871},[],{},"CUA blog — Insight box 2",{"sys":60874,"__typename":9318,"title":60875,"arcadeDemoUrl":60876,"playText":60877},{"id":59924},"CUA blog — Arcade 4","https://demo.arcade.software/hnx017VaUdp9GGdzX8Yy?embed","30 secs",{"sys":60879,"__typename":9318,"title":60880,"arcadeDemoUrl":60881,"playText":29563},{"id":60020},"CUA blog — Arcade 5","https://demo.arcade.software/VvkWBYKmBAm7r9qE64A3?embed",{"sys":60883,"__typename":1717,"type":1718,"ctaText":60884,"buttonLabel":12112,"buttonColour":33488,"buttonUrl":60156},{"id":60169},"Check out our blog post analysing the impact of CUAs on credential stuffing attacks",{"items":60886},[],{},"Using CUAs like Operator to automate identity attacks",{"url":60890},"https://images.ctfassets.net/y1cdw1ablpvd/stqRZBfjcRHW2gz3MBaIN/2679b191b6fa37bbe27b486b334bb7b8/Operator_clip_thumbnail__4_.jpg",{"items":60892},[60893,61496,62128],{"__typename":2059,"sys":60894,"content":60896,"title":61482,"synopsis":61483,"hashTags":59,"publishedDate":61484,"slug":61485,"tagsCollection":61486,"authorsCollection":61492},{"id":60895},"hpHG3MIyOo5AMxoeLDeBX",{"json":60897},{"data":60898,"content":60899,"nodeType":856},{},[60900,60908,60924,60953,60960,60963,60971,60978,60986,60993,61000,61007,61014,61022,61029,61058,61085,61092,61100,61107,61130,61137,61140,61148,61155,61163,61182,61215,61222,61234,61241,61249,61256,61263,61270,61277,61280,61288,61295,61318,61324,61327,61335,61351,61358,61361,61369,61376,61392,61399,61427,61430,61436,61453,61471,61476],{"data":60901,"content":60902,"nodeType":1009},{},[60903],{"data":60904,"marks":60905,"value":60907,"nodeType":864},{},[60906],{"type":899},"Stolen credentials: The cyber criminal’s weapon of choice in 2024",{"data":60909,"content":60910,"nodeType":860},{},[60911,60914,60921],{"data":60912,"marks":60913,"value":21,"nodeType":864},{},[],{"data":60915,"content":60916,"nodeType":883},{"uri":8628},[60917],{"data":60918,"marks":60919,"value":35163,"nodeType":864},{},[60920],{"type":1455},{"data":60922,"marks":60923,"value":35167,"nodeType":864},{},[],{"data":60925,"content":60926,"nodeType":860},{},[60927,60931,60939,60942,60949],{"data":60928,"marks":60929,"value":60930,"nodeType":864},{},[],"The criminal marketplace for stolen credentials is benefitting from ",{"data":60932,"content":60933,"nodeType":883},{"uri":35177},[60934],{"data":60935,"marks":60936,"value":60938,"nodeType":864},{},[60937],{"type":1455},"the publicity of high profile breaches in 2024",{"data":60940,"marks":60941,"value":35186,"nodeType":864},{},[],{"data":60943,"content":60944,"nodeType":883},{"uri":3751},[60945],{"data":60946,"marks":60947,"value":29323,"nodeType":864},{},[60948],{"type":1455},{"data":60950,"marks":60951,"value":60952,"nodeType":864},{},[]," customers using credentials found in data breach dumps and compromised credential feeds from infostealer and mass phishing campaigns, resulting in the compromise of 165 customer tenants and hundreds of millions of breached personal records.",{"data":60954,"content":60955,"nodeType":860},{},[60956],{"data":60957,"marks":60958,"value":60959,"nodeType":864},{},[],"But despite 2024 being an unprecedented year in terms of the impact of identity-based attacks, there’s still a lot of unfulfilled potential for attackers to realize. ",{"data":60961,"content":60962,"nodeType":1005},{},[],{"data":60964,"content":60965,"nodeType":1009},{},[60966],{"data":60967,"marks":60968,"value":60970,"nodeType":864},{},[60969],{"type":899},"Credential attack automation — what’s changed with the shift to SaaS? ",{"data":60972,"content":60973,"nodeType":860},{},[60974],{"data":60975,"marks":60976,"value":60977,"nodeType":864},{},[],"Brute forcing and credential stuffing are nothing new, and have been a key component of the cyber attacker toolkit for decades. But it’s not quite as easy to automatically spray credentials across systems as it once was. ",{"data":60979,"content":60980,"nodeType":1312},{},[60981],{"data":60982,"marks":60983,"value":60985,"nodeType":864},{},[60984],{"type":899},"No more one-size-fits-all",{"data":60987,"content":60988,"nodeType":860},{},[60989],{"data":60990,"marks":60991,"value":60992,"nodeType":864},{},[],"Rather than a single centralized network with apps and data contained within an infrastructure perimeter, business IT is now formed of hundreds of web-based apps and platforms, creating thousands of identities per organization.  ",{"data":60994,"content":60995,"nodeType":860},{},[60996],{"data":60997,"marks":60998,"value":60999,"nodeType":864},{},[],"This means that identities too are now decentralized and distributed all over the internet, as opposed to being stored solely in identity systems like Active Directory, and implemented using common protocols and mechanisms. ",{"data":61001,"content":61002,"nodeType":860},{},[61003],{"data":61004,"marks":61005,"value":61006,"nodeType":864},{},[],"While HTTP(S) is standard, modern web apps are complex and highly customized, with a graphically-driven interface that is different every time. And to make matters worse, modern web apps are specifically designed to prevent malicious automation through bot protections like CAPTCHA. ",{"data":61008,"content":61009,"nodeType":860},{},[61010],{"data":61011,"marks":61012,"value":61013,"nodeType":864},{},[],"So rather than encountering standard protocols and being able to write a single set of tools to use across any organization/environment e.g. write a DNS scanner once, use a single port scanner like Nmap for the entire internet, write a single script per service (e.g. FTP, SSH, Telnet, etc.) for your password sprayer — custom tool development is instead required for every app that you want to target. ",{"data":61015,"content":61016,"nodeType":1312},{},[61017],{"data":61018,"marks":61019,"value":61021,"nodeType":864},{},[61020],{"type":899},"Finding the needle in the haystack",{"data":61023,"content":61024,"nodeType":860},{},[61025],{"data":61026,"marks":61027,"value":61028,"nodeType":864},{},[],"Not only are there more environments for attackers to include in the scope of their attack, but there are more credentials to work with. ",{"data":61030,"content":61031,"nodeType":860},{},[61032,61036,61041,61045,61054],{"data":61033,"marks":61034,"value":61035,"nodeType":864},{},[],"There are around ",{"data":61037,"marks":61038,"value":61040,"nodeType":864},{},[61039],{"type":899},"15 billion compromised credentials",{"data":61042,"marks":61043,"value":61044,"nodeType":864},{},[]," available on the public internet, not including those found only in private channels/feeds. This list is growing all of the time — ",{"data":61046,"content":61048,"nodeType":883},{"uri":61047},"https://www.bleepingcomputer.com/news/security/have-i-been-pwned-adds-284m-accounts-stolen-by-infostealer-malware/",[61049],{"data":61050,"marks":61051,"value":61053,"nodeType":864},{},[61052],{"type":1455},"like 244M never before seen passwords and 493M unique website and email address pairs",{"data":61055,"marks":61056,"value":61057,"nodeType":864},{},[]," being added to Have I Been Pwned from infostealer logs just last month. ",{"data":61059,"content":61060,"nodeType":860},{},[61061,61065,61073,61077,61082],{"data":61062,"marks":61063,"value":61064,"nodeType":864},{},[],"This sounds scary, but it’s tricky for attackers to harness this data. The vast majority of these credentials are old and invalid. Our ",{"data":61066,"content":61067,"nodeType":883},{"uri":35369},[61068],{"data":61069,"marks":61070,"value":61072,"nodeType":864},{},[61071],{"type":1455},"recent review of TI data",{"data":61074,"marks":61075,"value":61076,"nodeType":864},{},[]," found that fewer than 1% of stolen credentials included in threat intelligence feeds from a multi-vendor data set was actionable —",{"data":61078,"marks":61079,"value":61081,"nodeType":864},{},[61080],{"type":899}," in other words, 99% of compromised credentials were false positives.",{"data":61083,"marks":61084,"value":8618,"nodeType":864},{},[],{"data":61086,"content":61087,"nodeType":860},{},[61088],{"data":61089,"marks":61090,"value":61091,"nodeType":864},{},[],"But not all of them are useless — as the Snowflake attacks demonstrated, which successfully leveraged credentials dating back to 2020. So there are clearly treasures waiting to be discovered by attackers. ",{"data":61093,"content":61094,"nodeType":1312},{},[61095],{"data":61096,"marks":61097,"value":61099,"nodeType":864},{},[61098],{"type":899},"Attackers are forced to prioritize",{"data":61101,"content":61102,"nodeType":860},{},[61103],{"data":61104,"marks":61105,"value":61106,"nodeType":864},{},[],"The distributed nature of apps and identities, and the low reliability of compromised credential data, means attackers are forced to prioritize — despite a target-rich environment of hundreds of business apps, creating thousands of sprawled identities per organization, because: ",{"data":61108,"content":61109,"nodeType":941},{},[61110,61120],{"data":61111,"content":61112,"nodeType":945},{},[61113],{"data":61114,"content":61115,"nodeType":860},{},[61116],{"data":61117,"marks":61118,"value":61119,"nodeType":864},{},[],"Writing and running custom python scripts for every single app (there are more than 40k SaaS apps on the internet) is not realistic. Even if you did the top 100 or 1000, that would be a significant task and require constant maintenance, while barely scratching the surface of the total opportunity. ",{"data":61121,"content":61122,"nodeType":945},{},[61123],{"data":61124,"content":61125,"nodeType":860},{},[61126],{"data":61127,"marks":61128,"value":61129,"nodeType":864},{},[],"Even when fully scripted and using a botnet to distribute the attack and avoid IP blocking, controls like rate limiting, CAPTCHA, and account lockouts can obstruct mass credential stuffing against a single app. And a concentrated attack on a single site is going to generate significant levels of traffic if you want to get through 15 billion passwords in a reasonable timeframe, so it’s very likely to raise the alarm.",{"data":61131,"content":61132,"nodeType":860},{},[61133],{"data":61134,"marks":61135,"value":61136,"nodeType":864},{},[],"So attackers tend to target a smaller number of apps, and only look for a direct match in terms of the credentials attempted (e.g. the stolen credential must directly belong to an account on the target app). When they do go after something new, it tends to be concentrated on a specific app/platform (e.g. Snowflake) or looking for a narrower subset of credentials (e.g. credentials clearly associated with edge devices, for more traditional network environments). ",{"data":61138,"content":61139,"nodeType":1005},{},[],{"data":61141,"content":61142,"nodeType":1009},{},[61143],{"data":61144,"marks":61145,"value":61147,"nodeType":864},{},[61146],{"type":899},"A missed opportunity?",{"data":61149,"content":61150,"nodeType":860},{},[61151],{"data":61152,"marks":61153,"value":61154,"nodeType":864},{},[],"As we’ve established, the situation regarding credential stuffing attacks is already pretty bad despite these limitations. But things could be significantly worse. ",{"data":61156,"content":61157,"nodeType":1312},{},[61158],{"data":61159,"marks":61160,"value":61162,"nodeType":864},{},[61161],{"type":899},"Password reuse means a single compromised account could turn into many",{"data":61164,"content":61165,"nodeType":860},{},[61166,61170,61178],{"data":61167,"marks":61168,"value":61169,"nodeType":864},{},[],"If attackers were able to increase the scale of their attacks to target a broader number of apps (rather than concentrating on a shortlist of high value apps) they could take advantage of all-too-common password reuse. According to our ",{"data":61171,"content":61172,"nodeType":883},{"uri":15980},[61173],{"data":61174,"marks":61175,"value":61177,"nodeType":864},{},[61176],{"type":1455},"recent investigation of identity data",{"data":61179,"marks":61180,"value":61181,"nodeType":864},{},[],", on average:",{"data":61183,"content":61184,"nodeType":941},{},[61185,61195,61205],{"data":61186,"content":61187,"nodeType":945},{},[61188],{"data":61189,"content":61190,"nodeType":860},{},[61191],{"data":61192,"marks":61193,"value":61194,"nodeType":864},{},[],"1 in 3 employees reuse passwords",{"data":61196,"content":61197,"nodeType":945},{},[61198],{"data":61199,"content":61200,"nodeType":860},{},[61201],{"data":61202,"marks":61203,"value":61204,"nodeType":864},{},[],"9% of identities have a reused password AND no MFA",{"data":61206,"content":61207,"nodeType":945},{},[61208],{"data":61209,"content":61210,"nodeType":860},{},[61211],{"data":61212,"marks":61213,"value":61214,"nodeType":864},{},[],"10% of IdP accounts (used for SSO) have a non-unique password",{"data":61216,"content":61217,"nodeType":860},{},[61218],{"data":61219,"marks":61220,"value":61221,"nodeType":864},{},[],"What does this mean? If a stolen credential is valid, there’s a good chance that it can be used to access more than one account, on more than one app (at least). ",{"data":61223,"content":61224,"nodeType":860},{},[61225,61230],{"data":61226,"marks":61227,"value":61229,"nodeType":864},{},[61228],{"type":899},"Picture the scenario:",{"data":61231,"marks":61232,"value":61233,"nodeType":864},{},[]," A recent compromised credential leak from infostealer infections or credential phishing campaigns shows that a particular username and password combination is valid on a specific app — let’s say Microsoft 365. Now, this account is pretty locked down — not only does it have MFA, but there are conditional access policies in place restricting the IP/location it can be accessed from. ",{"data":61235,"content":61236,"nodeType":860},{},[61237],{"data":61238,"marks":61239,"value":61240,"nodeType":864},{},[],"Usually, this is where the attack would end, and you’d turn your attention to something else. But what if you were able to spray these credentials across every other business app that the user has an account on?",{"data":61242,"content":61243,"nodeType":1312},{},[61244],{"data":61245,"marks":61246,"value":61248,"nodeType":864},{},[61247],{"type":899},"Scaling credential attacks with Computer-Using Agents",{"data":61250,"content":61251,"nodeType":860},{},[61252],{"data":61253,"marks":61254,"value":61255,"nodeType":864},{},[],"Until now, the impact of AI on identity attacks has been limited to the use of LLMs for the creation of phishing emails, in AI-assisted malware development, and for social media bots — no doubt significant, but not exactly transformative, and requiring constant human oversight and input. ",{"data":61257,"content":61258,"nodeType":860},{},[61259],{"data":61260,"marks":61261,"value":61262,"nodeType":864},{},[],"But with the launch of OpenAI Operator, a new kind of “Computer-Using Agent”, this could be about to change. ",{"data":61264,"content":61265,"nodeType":860},{},[61266],{"data":61267,"marks":61268,"value":61269,"nodeType":864},{},[],"Operator is trained on a specialist dataset and implemented in its own sandboxed browser, meaning it is able to perform common web tasks like a human — seeing and interacting with pages as a human would. ",{"data":61271,"content":61272,"nodeType":860},{},[61273],{"data":61274,"marks":61275,"value":61276,"nodeType":864},{},[],"Unlike other automated solutions, Operator requires no custom implementation or coding to be able to interact with new sites, making it a much more scalable option for attackers looking to target a broad sweep of sites/apps. ",{"data":61278,"content":61279,"nodeType":1005},{},[],{"data":61281,"content":61282,"nodeType":1009},{},[61283],{"data":61284,"marks":61285,"value":61287,"nodeType":864},{},[61286],{"type":899},"Demo: Using Operator to conduct credential stuffing attacks at scale",{"data":61289,"content":61290,"nodeType":860},{},[61291],{"data":61292,"marks":61293,"value":61294,"nodeType":864},{},[],"We put the malicious use-cases of Operator to the test, using it to:",{"data":61296,"content":61297,"nodeType":941},{},[61298,61308],{"data":61299,"content":61300,"nodeType":945},{},[61301],{"data":61302,"content":61303,"nodeType":860},{},[61304],{"data":61305,"marks":61306,"value":61307,"nodeType":864},{},[],"Identify which companies have an existing tenant on a list of apps",{"data":61309,"content":61310,"nodeType":945},{},[61311],{"data":61312,"content":61313,"nodeType":860},{},[61314],{"data":61315,"marks":61316,"value":61317,"nodeType":864},{},[],"Attempt to login to various app tenants with a provided username and password",{"data":61319,"content":61323,"nodeType":996},{"target":61320},{"sys":61321},{"id":61322,"type":1001,"linkType":1002},"moAA7jwcBmZMaqpmPva4w",[],{"data":61325,"content":61326,"nodeType":1005},{},[],{"data":61328,"content":61329,"nodeType":1009},{},[61330],{"data":61331,"marks":61332,"value":61334,"nodeType":864},{},[61333],{"type":899},"Impact summary",{"data":61336,"content":61337,"nodeType":860},{},[61338,61342,61347],{"data":61339,"marks":61340,"value":61341,"nodeType":864},{},[],"The results were pretty eye opening. Operator clearly demonstrated the ability to target a list of apps with compromised credentials and perform in-app actions. ",{"data":61343,"marks":61344,"value":61346,"nodeType":864},{},[61345],{"type":899},"Now think about this x10, x100, x10,000 …",{"data":61348,"marks":61349,"value":61350,"nodeType":864},{},[]," These are not complex tasks. But the value of CUAs Operator is not in tackling complexity, but scale. Imagine a world where you can orchestrate Operator windows via API and get it to execute these actions simultaneously (functionality that exists already for ChatGPT). ",{"data":61352,"content":61353,"nodeType":860},{},[61354],{"data":61355,"marks":61356,"value":61357,"nodeType":864},{},[],"But this is bigger than Operator — it’s about the direction of the technology. OpenAI may implement restrictions — better in-app guardrails, rate limits on the number of concurrent tasks and total usage, etc. But you can guarantee it won’t be the only CUA — it’s only a matter of time before similar products emerge (maybe even inherently malicious ones) making use of the same technology. ",{"data":61359,"content":61360,"nodeType":1005},{},[],{"data":61362,"content":61363,"nodeType":1009},{},[61364],{"data":61365,"marks":61366,"value":61368,"nodeType":864},{},[61367],{"type":899},"Final thoughts ",{"data":61370,"content":61371,"nodeType":860},{},[61372],{"data":61373,"marks":61374,"value":61375,"nodeType":864},{},[],"It’s still early days for CUA tech, but there’s a clear indication that an already severe security challenge could be made worse with this particular form of AI-driven automation. While the ability to target a broad set of apps has been previously beyond the scope of traditional automation, it’s about to become much more accessible to even low-skilled attackers (think: next gen script kiddies?). ",{"data":61377,"content":61378,"nodeType":860},{},[61379,61383,61388],{"data":61380,"marks":61381,"value":61382,"nodeType":864},{},[],"Another way to think about it is that it effectively gives a human attacker a fleet of low-level interns who don’t ",{"data":61384,"marks":61385,"value":61387,"nodeType":864},{},[61386],{"type":2246},"quite",{"data":61389,"marks":61390,"value":61391,"nodeType":864},{},[]," know what they’re doing, but can be instructed to perform specific, itemised tasks at scale with only the occasional check in — while you work on other, more complex tasks. So, a bit like a red team manager of AI bots. ",{"data":61393,"content":61394,"nodeType":860},{},[61395],{"data":61396,"marks":61397,"value":61398,"nodeType":864},{},[],"Operator means that attackers can leverage compromised credentials at-scale, take advantage of the vast numbers of vulnerable and misconfigured identities, and convert them into systemic breaches much more easily. In a way, it could make credential stuffing a bit more like it was before the shift to cloud apps — where you could spray thousands of credentials across your targets without needing custom development every time. ",{"data":61400,"content":61401,"nodeType":860},{},[61402,61406,61413,61416,61423],{"data":61403,"marks":61404,"value":61405,"nodeType":864},{},[],"Thankfully, no new anti-AI capabilities are required — but it’s more important than ever that organizations look to defend their identity attack surface and find and fix identity vulnerabilities before attackers can take advantage of them. To prevent stolen credentials being exploited, defenders need to be able ",{"data":61407,"content":61408,"nodeType":883},{"uri":35369},[61409],{"data":61410,"marks":61411,"value":61412,"nodeType":864},{},[],"to quickly identify where compromised credentials are being actively used",{"data":61414,"marks":61415,"value":2232,"nodeType":864},{},[],{"data":61417,"content":61418,"nodeType":883},{"uri":35429},[61419],{"data":61420,"marks":61421,"value":61422,"nodeType":864},{},[],"deploy mitigating controls like MFA",{"data":61424,"marks":61425,"value":61426,"nodeType":864},{},[]," to prevent exploitation with a vulnerable single factor. ",{"data":61428,"content":61429,"nodeType":1005},{},[],{"data":61431,"content":61432,"nodeType":1009},{},[61433],{"data":61434,"marks":61435,"value":8991,"nodeType":864},{},[],{"data":61437,"content":61438,"nodeType":860},{},[61439,61443,61450],{"data":61440,"marks":61441,"value":61442,"nodeType":864},{},[],"If you want to learn more about identity attacks and how to stop them, ",{"data":61444,"content":61445,"nodeType":883},{"uri":1700},[61446],{"data":61447,"marks":61448,"value":37814,"nodeType":864},{},[61449],{"type":1455},{"data":61451,"marks":61452,"value":2924,"nodeType":864},{},[],{"data":61454,"content":61455,"nodeType":860},{},[61456,61460,61468],{"data":61457,"marks":61458,"value":61459,"nodeType":864},{},[],"And if you want to see more malicious use cases of Operator in action, ",{"data":61461,"content":61462,"nodeType":883},{"uri":60800},[61463],{"data":61464,"marks":61465,"value":61467,"nodeType":864},{},[61466],{"type":1455},"check out this on-demand webinar. ",{"data":61469,"marks":61470,"value":21,"nodeType":864},{},[],{"data":61472,"content":61475,"nodeType":996},{"target":61473},{"sys":61474},{"id":59781,"type":1001,"linkType":1002},[],{"data":61477,"content":61478,"nodeType":860},{},[61479],{"data":61480,"marks":61481,"value":21,"nodeType":864},{},[],"How new AI agents will transform credential stuffing attacks","Credential stuffing attacks had a huge impact in 2024. But things could be dialled up even further with Computer-Using Agents like OpenAI Operator. ","2025-03-11T00:00:00.000Z","how-new-ai-agents-will-transform-credential-stuffing-attacks",{"items":61487},[61488,61490],{"sys":61489,"name":6593},{"id":6592},{"sys":61491,"name":297},{"id":2732},{"items":61493},[61494],{"fullName":2736,"firstName":2737,"jobTitle":2738,"profilePicture":61495},{"url":2740},{"__typename":2059,"sys":61497,"content":61499,"title":62114,"synopsis":62115,"hashTags":59,"publishedDate":62116,"slug":62117,"tagsCollection":62118,"authorsCollection":62124},{"id":61498},"SiALa9w13C6q3OzeTeUum",{"json":61500},{"data":61501,"content":61502,"nodeType":856},{},[61503,61510,61526,61533,61539,61546,61553,61556,61563,61570,61577,61600,61607,61623,61626,61633,61640,61663,61670,61677,61695,61701,61708,61727,61733,61740,61786,61794,61801,61813,61825,61832,61865,61872,61875,61882,61902,61909,61916,61923,61926,61933,61941,61948,61955,62018,62025,62032,62039,62072,62078,62085,62092,62098],{"data":61504,"content":61505,"nodeType":860},{},[61506],{"data":61507,"marks":61508,"value":61509,"nodeType":864},{},[],"Computer-Using Agents (CUAs) are a new type of AI agent that drives your browser/OS for you. With the research preview release of OpenAI Operator last week, it’s likely that we’ll be seeing a lot more of this technology in the future as OpenAI iterates and competitors launch their own versions. ",{"data":61511,"content":61512,"nodeType":860},{},[61513,61517,61522],{"data":61514,"marks":61515,"value":61516,"nodeType":864},{},[],"These models run on the same UI as the user sees, rather than using code or API based add-ons or tools (e.g. with access via API keys). In Operator’s case, the agent runs in its own browser, where it can navigate to and interact with webpages by typing, clicking, and scrolling. It effectively sees and interacts with pages as a human would, ",{"data":61518,"marks":61519,"value":61521,"nodeType":864},{},[61520],{"type":899},"using human (not machine) identities",{"data":61523,"marks":61524,"value":61525,"nodeType":864},{},[]," — taking actions on the web without requiring custom API integrations. ",{"data":61527,"content":61528,"nodeType":860},{},[61529],{"data":61530,"marks":61531,"value":61532,"nodeType":864},{},[],"This means that a user describes a task, and Operator performs it autonomously on their behalf. The examples provided by OpenAI are things like booking a dinner reservation or shopping for groceries — but naturally the potential use cases are much, much broader, especially in a work context.",{"data":61534,"content":61538,"nodeType":996},{"target":61535},{"sys":61536},{"id":61537,"type":1001,"linkType":1002},"5mWWi5mfqEcSQX12gOtyQm",[],{"data":61540,"content":61541,"nodeType":860},{},[61542],{"data":61543,"marks":61544,"value":61545,"nodeType":864},{},[],"Obviously the broad impact of this technology is almost impossible to predict this early in the game. But since we’re focussed on identity security at Push, we can at least describe some of the very predictable impacts in this area.",{"data":61547,"content":61548,"nodeType":860},{},[61549],{"data":61550,"marks":61551,"value":61552,"nodeType":864},{},[],"CUAs like Operator are essentially very flexible no-code automation platforms. This means that these tools (or future iterations of them) will enable low-cost, low-effort automation of common web tasks — the very tasks that app developers and vendors have worked hard to prevent from being automated — including those frequently performed by attackers.",{"data":61554,"content":61555,"nodeType":1005},{},[],{"data":61557,"content":61558,"nodeType":1009},{},[61559],{"data":61560,"marks":61561,"value":61562,"nodeType":864},{},[],"Why do CUAs stand to benefit attackers more than previous AI tools? ",{"data":61564,"content":61565,"nodeType":860},{},[61566],{"data":61567,"marks":61568,"value":61569,"nodeType":864},{},[],"Organizations have been concerned about the security and privacy implications of GenAI tools and platforms for a while now — mainly concerning the risk of inputting sensitive data into LLMs, and prompt injection attacks in which models can be tricked into disclosing internal data. ",{"data":61571,"content":61572,"nodeType":860},{},[61573],{"data":61574,"marks":61575,"value":61576,"nodeType":864},{},[],"But so far, the primary impact of GenAI on attacker capabilities specifically has been mainly limited to the use of LLMs for the creation of phishing emails and in AI-assisted malware development — no doubt significant, but not exactly transformative. And although the concept of an AI agent is nothing new, they haven’t been particularly common outside of research circles. ",{"data":61578,"content":61579,"nodeType":860},{},[61580,61584,61589,61592,61597],{"data":61581,"marks":61582,"value":61583,"nodeType":864},{},[],"CUAs, on the other hand, use LLMs trained using datasets which make them far more able to understand and interact with web pages. Coupled with what is essentially a production-grade integration between browser and LLM, and you have an agent that is able to understand and interact with websites to achieve an outcome, with minimal human input and oversight (as opposed to simply scraping the data) ",{"data":61585,"marks":61586,"value":61588,"nodeType":864},{},[61587],{"type":899},"with much the same behaviors and capabilities",{"data":61590,"marks":61591,"value":1171,"nodeType":864},{},[],{"data":61593,"marks":61594,"value":61596,"nodeType":864},{},[61595],{"type":899},"as a human operator.",{"data":61598,"marks":61599,"value":8618,"nodeType":864},{},[],{"data":61601,"content":61602,"nodeType":860},{},[61603],{"data":61604,"marks":61605,"value":61606,"nodeType":864},{},[],"By performing actions autonomously on the user’s behalf, it has a lot in common with a low/no-code automation platform like Zapier or Make.com — except it doesn’t perform actions via API, but by performing actions in the browser as a user would. Unlike no/low-code automations, it doesn’t need a strict or rigid step-by-step description of tasks that should be automated and can dynamically generate steps like a human does. ",{"data":61608,"content":61609,"nodeType":860},{},[61610,61614,61619],{"data":61611,"marks":61612,"value":61613,"nodeType":864},{},[],"None of this can’t be done using other automation tools, but it’s the difference between writing code to automate a task by hand and asking a human assistant to do something for you — ",{"data":61615,"marks":61616,"value":61618,"nodeType":864},{},[61617],{"type":899},"the effort required is reduced by orders of magnitude.",{"data":61620,"marks":61621,"value":61622,"nodeType":864},{},[]," This makes it both more flexible and accessible to a much wider range of users. ",{"data":61624,"content":61625,"nodeType":1005},{},[],{"data":61627,"content":61628,"nodeType":1009},{},[61629],{"data":61630,"marks":61631,"value":61632,"nodeType":864},{},[],"How can CUAs be abused by attackers?",{"data":61634,"content":61635,"nodeType":860},{},[61636],{"data":61637,"marks":61638,"value":61639,"nodeType":864},{},[],"There are two main groups of attack to be aware of:",{"data":61641,"content":61642,"nodeType":941},{},[61643,61653],{"data":61644,"content":61645,"nodeType":945},{},[61646],{"data":61647,"content":61648,"nodeType":860},{},[61649],{"data":61650,"marks":61651,"value":61652,"nodeType":864},{},[],"Attacks enabled by the technology (CUA)",{"data":61654,"content":61655,"nodeType":945},{},[61656],{"data":61657,"content":61658,"nodeType":860},{},[61659],{"data":61660,"marks":61661,"value":61662,"nodeType":864},{},[],"Attacks against specific CUA tools/implementations (e.g. Operator)",{"data":61664,"content":61665,"nodeType":860},{},[61666],{"data":61667,"marks":61668,"value":61669,"nodeType":864},{},[],"Because the answer to the latter question is subjective depending on the CUA being targeted (and Operator is still in its “research preview” release) we’ll focus on how attackers can potentially use CUAs for malicious purposes in general. ",{"data":61671,"content":61672,"nodeType":1312},{},[61673],{"data":61674,"marks":61675,"value":61676,"nodeType":864},{},[],"How attackers can use their own CUAs to conduct AI-powered cyber attacks",{"data":61678,"content":61679,"nodeType":860},{},[61680,61684,61692],{"data":61681,"marks":61682,"value":61683,"nodeType":864},{},[],"The most obvious use-case for an attacker-controlled CUA is targeting internet-based app accounts. Most organizations are now using hundreds of apps, with thousands of sprawling identities (including both inside enterprise SSO connected accounts and local username & password logins) — ",{"data":61685,"content":61686,"nodeType":883},{"uri":15980},[61687],{"data":61688,"marks":61689,"value":61691,"nodeType":864},{},[61690],{"type":1455},"many of which are highly vulnerable to even low-sophistication attack techniques",{"data":61693,"marks":61694,"value":12252,"nodeType":864},{},[],{"data":61696,"content":61700,"nodeType":996},{"target":61697},{"sys":61698},{"id":61699,"type":1001,"linkType":1002},"7itjimRwqpkrCF7YRI8FTq",[],{"data":61702,"content":61703,"nodeType":860},{},[61704],{"data":61705,"marks":61706,"value":61707,"nodeType":864},{},[],"Previously, identity attacks against modern SaaS environments and the sprawl of apps and accounts required a lot of manual work to scale. Because web identities are implemented in mostly bespoke ways across thousands of sites (and they are constantly changing) attacks on them are challenging to automate. Further, the act of logging in using automated methods has been impacted by widespread bot protection — specifically to prevent malicious automation. ",{"data":61709,"content":61710,"nodeType":860},{},[61711,61715,61723],{"data":61712,"marks":61713,"value":61714,"nodeType":864},{},[],"So, attackers end up sending phishing links through email, and targeting only a few high value apps for cred stuffing — despite the availability of credentials online (which, ",{"data":61716,"content":61717,"nodeType":883},{"uri":3751},[61718],{"data":61719,"marks":61720,"value":61722,"nodeType":864},{},[61721],{"type":1455},"as the Snowflake attacks demonstrate",{"data":61724,"marks":61725,"value":61726,"nodeType":864},{},[],", can be an untapped treasure trove for attackers).",{"data":61728,"content":61732,"nodeType":996},{"target":61729},{"sys":61730},{"id":61731,"type":1001,"linkType":1002},"24HV5O6LJ12ZVECTSel2WL",[],{"data":61734,"content":61735,"nodeType":860},{},[61736],{"data":61737,"marks":61738,"value":61739,"nodeType":864},{},[],"We know that about 1 in 3 users re-use passwords, so there is a great chance a lot of those exact same credentials were actually valid for many other apps. It’s very tough to manually test each credential by logging into even a few dozen apps (or building a web automation to do so). But this is significantly easier if you can ask a CUA to: ",{"data":61741,"content":61742,"nodeType":941},{},[61743,61753,61763],{"data":61744,"content":61745,"nodeType":945},{},[61746],{"data":61747,"content":61748,"nodeType":860},{},[61749],{"data":61750,"marks":61751,"value":61752,"nodeType":864},{},[],"“Find a list of the top 1000 SaaS apps”. ",{"data":61754,"content":61755,"nodeType":945},{},[61756],{"data":61757,"content":61758,"nodeType":860},{},[61759],{"data":61760,"marks":61761,"value":61762,"nodeType":864},{},[],"“Try to login to the app using this username and password. Let me know which apps you successfully logged into”. ",{"data":61764,"content":61765,"nodeType":945},{},[61766],{"data":61767,"content":61768,"nodeType":860},{},[61769,61773,61782],{"data":61770,"marks":61771,"value":61772,"nodeType":864},{},[],"“Use ",{"data":61774,"content":61776,"nodeType":883},{"uri":61775},"https://github.com/pushsecurity/saas-attacks/blob/main/techniques/takeout_services/description.md",[61777],{"data":61778,"marks":61779,"value":61781,"nodeType":864},{},[61780],{"type":1455},"takeout services",{"data":61783,"marks":61784,"value":61785,"nodeType":864},{},[]," to download data from each app and send it to this location, grouping by company name” (or even just ask the model to cut and paste or download the data from the account).",{"data":61787,"content":61788,"nodeType":860},{},[61789],{"data":61790,"marks":61791,"value":61793,"nodeType":864},{},[61792],{"type":899},"This is how you really scale these attacks.",{"data":61795,"content":61796,"nodeType":860},{},[61797],{"data":61798,"marks":61799,"value":61800,"nodeType":864},{},[],"CUA agents also change how and where phishing can take place. Where phishing takes place outside of email, it’s much less likely to be intercepted by enterprise anti-phishing controls. You could:",{"data":61802,"content":61803,"nodeType":860},{},[61804,61809],{"data":61805,"marks":61806,"value":61808,"nodeType":864},{},[61807],{"type":899},"1.",{"data":61810,"marks":61811,"value":61812,"nodeType":864},{},[]," Task an agent to create Reddit, Discord, and Slack accounts, login, and find the 100 (or 10000?) biggest subreddits/communities/channels. Now have it join those, and write posts that seem relevant to ongoing threads, or write targeted DMs and include links to a phishing page. If the account gets banned, no problem, automatically start over. Not enough karma? Instruct the agent to build karma.",{"data":61814,"content":61815,"nodeType":860},{},[61816,61821],{"data":61817,"marks":61818,"value":61820,"nodeType":864},{},[61819],{"type":899},"2.",{"data":61822,"marks":61823,"value":61824,"nodeType":864},{},[]," Or consider a more targeted scenario: connect to a specific target (or group of targets) via LinkedIn, read all your target’s posts and comments, and using that context start a conversation with them, using a topic you know that will interest them to create a phishing lure, and direct them to your phishing site. ",{"data":61826,"content":61827,"nodeType":1312},{},[61828],{"data":61829,"marks":61830,"value":61831,"nodeType":864},{},[],"Operator caveats",{"data":61833,"content":61834,"nodeType":860},{},[61835,61839,61848,61852,61861],{"data":61836,"marks":61837,"value":61838,"nodeType":864},{},[],"Now, it’s worth pointing out that Operator has controls that are designed to prevent this sort of abuse. ",{"data":61840,"content":61842,"nodeType":883},{"uri":61841},"https://openai.com/index/introducing-operator/",[61843],{"data":61844,"marks":61845,"value":61847,"nodeType":864},{},[61846],{"type":1455},"For example",{"data":61849,"marks":61850,"value":61851,"nodeType":864},{},[],", Operator is trained to proactively ask the user to take over for tasks that require login, payment details, or when solving CAPTCHAs. The ",{"data":61853,"content":61855,"nodeType":883},{"uri":61854},"https://openai.com/index/operator-system-card/",[61856],{"data":61857,"marks":61858,"value":61860,"nodeType":864},{},[61859],{"type":1455},"Operator System Card",{"data":61862,"marks":61863,"value":61864,"nodeType":864},{},[]," also cites proactive refusals of high-risk tasks, confirmation prompts before critical actions, and active monitoring systems to detect and mitigate potential threats.",{"data":61866,"content":61867,"nodeType":860},{},[61868],{"data":61869,"marks":61870,"value":61871,"nodeType":864},{},[],"It’s unclear at this point how resistant Operator will be to attack or abuse, but really, as we said earlier, this is not about Operator — once CUA tech becomes more widely available (if recent trends are anything to go by) there’s no doubt that models will emerge with fewer (or no) safety controls. ",{"data":61873,"content":61874,"nodeType":1005},{},[],{"data":61876,"content":61877,"nodeType":1009},{},[61878],{"data":61879,"marks":61880,"value":61881,"nodeType":864},{},[],"Why CUA-based automation is a problem for security teams",{"data":61883,"content":61884,"nodeType":860},{},[61885,61889,61898],{"data":61886,"marks":61887,"value":61888,"nodeType":864},{},[],"Attackers have been using automation tools forever, and in response, developers have been building protections against them (e.g. Cloudflare Turnstile and CAPTCHAs). Using LLMs to super power them isn’t even new, nor is using automation apps for malicious purposes (see our SaaS attack matrix entry for ",{"data":61890,"content":61892,"nodeType":883},{"uri":61891},"https://github.com/pushsecurity/saas-attacks/blob/main/techniques/shadow_workflows/description.md",[61893],{"data":61894,"marks":61895,"value":61897,"nodeType":864},{},[61896],{"type":1455},"shadow workflows",{"data":61899,"marks":61900,"value":61901,"nodeType":864},{},[],") — so what’s the difference?",{"data":61903,"content":61904,"nodeType":860},{},[61905],{"data":61906,"marks":61907,"value":61908,"nodeType":864},{},[],"Previously, attackers needed to tie together automated browsers, get bot protection bypasses working, write code to extract screenshots from these browsers, pump those screenshots into a traditional LLM, generate response actions, and write code to execute those actions using browser automation. It was a lot of manual work — and needed constant maintenance — and wasn’t very effective because the general LLMs weren’t good at interpreting what they were seeing.",{"data":61910,"content":61911,"nodeType":860},{},[61912],{"data":61913,"marks":61914,"value":61915,"nodeType":864},{},[],"So, this isn’t so much a change in capability but a signal that there is going to be a massive increase in performance compared to other AI agents. Bundle the new model’s ability to understand with the ability to interact with webpages and you have something that might soon create real world impact at scale. ",{"data":61917,"content":61918,"nodeType":860},{},[61919],{"data":61920,"marks":61921,"value":61922,"nodeType":864},{},[],"Perhaps the only real obstacles are safety controls and cost. But as we’ve seen after previous GenAI launches, most recently with DeepSeek — competitors have been fast following with models that out-perform the original. Some of these models will be open and contain far fewer safety protections. An open CUA model in the future might be the trigger that enables attackers to leverage these capabilities at scale. ",{"data":61924,"content":61925,"nodeType":1005},{},[],{"data":61927,"content":61928,"nodeType":1009},{},[61929],{"data":61930,"marks":61931,"value":61932,"nodeType":864},{},[],"So what?",{"data":61934,"content":61935,"nodeType":860},{},[61936],{"data":61937,"marks":61938,"value":61940,"nodeType":864},{},[61939],{"type":899},"The TL;DR is that the adoption of CUAs has the potential to significantly lower the cost to attackers of running identity attacks such as phishing and credential stuffing, while increasing their reach.",{"data":61942,"content":61943,"nodeType":860},{},[61944],{"data":61945,"marks":61946,"value":61947,"nodeType":864},{},[],"We can expect improved account takeover attacks in the future as this technology becomes more widespread, with phishing attacks being increasingly delivered outside of traditional (well-protected) mediums like email, and credential stuffing being weaponized on an even more widespread scale, across a broader range of apps. These capabilities will also become more accessible, with even less advanced attackers able to harness them.",{"data":61949,"content":61950,"nodeType":860},{},[61951],{"data":61952,"marks":61953,"value":61954,"nodeType":864},{},[],"Right now, Operator runs in a sandboxed browser environment. But going forward, more value will require an increased ability to perform authenticated access as the user — so one could imagine a world where new features are built to expose passwords into this sandbox — or that these agents will be enabled outside these sandboxes and operate in your browser (primarily) or directly on your OS using agents. We’ve already seen these agents implemented as browser extensions. This makes sense as extensions can see the tab, and interact with the page — and some early extension-based agents have existed for a while:",{"data":61956,"content":61957,"nodeType":941},{},[61958,61978,61998],{"data":61959,"content":61960,"nodeType":945},{},[61961],{"data":61962,"content":61963,"nodeType":860},{},[61964,61967,61975],{"data":61965,"marks":61966,"value":21,"nodeType":864},{},[],{"data":61968,"content":61970,"nodeType":883},{"uri":61969},"https://github.com/richardyc/Chrome-GPT",[61971],{"data":61972,"marks":61973,"value":61969,"nodeType":864},{},[61974],{"type":1455},{"data":61976,"marks":61977,"value":8618,"nodeType":864},{},[],{"data":61979,"content":61980,"nodeType":945},{},[61981],{"data":61982,"content":61983,"nodeType":860},{},[61984,61987,61995],{"data":61985,"marks":61986,"value":21,"nodeType":864},{},[],{"data":61988,"content":61990,"nodeType":883},{"uri":61989},"https://github.com/handrew/browserpilot",[61991],{"data":61992,"marks":61993,"value":61989,"nodeType":864},{},[61994],{"type":1455},{"data":61996,"marks":61997,"value":21,"nodeType":864},{},[],{"data":61999,"content":62000,"nodeType":945},{},[62001],{"data":62002,"content":62003,"nodeType":860},{},[62004,62007,62015],{"data":62005,"marks":62006,"value":21,"nodeType":864},{},[],{"data":62008,"content":62010,"nodeType":883},{"uri":62009},"https://github.com/TaxyAI/browser-extension",[62011],{"data":62012,"marks":62013,"value":62009,"nodeType":864},{},[62014],{"type":1455},{"data":62016,"marks":62017,"value":2924,"nodeType":864},{},[],{"data":62019,"content":62020,"nodeType":860},{},[62021],{"data":62022,"marks":62023,"value":62024,"nodeType":864},{},[],"If we have agents operating on user endpoints, not in sandboxes, that means they will have access to all identities that are already authenticated, or that can be automatically authenticated (password manager autofills etc.). There’s nothing fundamentally stopping you from prompt-injecting a victim's CUA and tricking it into creating a malicious integration, or sending you an API key.",{"data":62026,"content":62027,"nodeType":1312},{},[62028],{"data":62029,"marks":62030,"value":62031,"nodeType":864},{},[],"So to summarize...",{"data":62033,"content":62034,"nodeType":860},{},[62035],{"data":62036,"marks":62037,"value":62038,"nodeType":864},{},[],"Organizations should anticipate an increase in identity attacks targeting web-based apps and services using techniques that can be amplified by CUAs such as phishing and credential stuffing. We recommend that organizations:",{"data":62040,"content":62041,"nodeType":941},{},[62042,62052,62062],{"data":62043,"content":62044,"nodeType":945},{},[62045],{"data":62046,"content":62047,"nodeType":860},{},[62048],{"data":62049,"marks":62050,"value":62051,"nodeType":864},{},[],"Anticipate an increase in phishing attacks delivered outside of email, and evaluate your detection capabilities for mediums such as IM platforms and social media sites.",{"data":62053,"content":62054,"nodeType":945},{},[62055],{"data":62056,"content":62057,"nodeType":860},{},[62058],{"data":62059,"marks":62060,"value":62061,"nodeType":864},{},[],"Find and harden identities that could be vulnerable to attacks using techniques that can be automated (e.g. mass credential stuffing) such as those missing phishing resistant MFA (or MFA altogether).",{"data":62063,"content":62064,"nodeType":945},{},[62065],{"data":62066,"content":62067,"nodeType":860},{},[62068],{"data":62069,"marks":62070,"value":62071,"nodeType":864},{},[],"Ensure that all identities are suitably protected — even those outside the scope of traditional identity stores (such as Active Directory and modern equivalents e.g. Entra, Okta) used to access the much broader set of web-based services. ",{"data":62073,"content":62074,"nodeType":1312},{},[62075],{"data":62076,"marks":62077,"value":8991,"nodeType":864},{},[],{"data":62079,"content":62080,"nodeType":860},{},[62081],{"data":62082,"marks":62083,"value":62084,"nodeType":864},{},[],"AI-powered or not, identity attacks are what Push is designed to combat. Our features and controls designed to stop account takeover via phishing, credential stuffing, and session hijacking remain effective in this new world — in fact, as attackers are granted the ability to conduct these attacks with greater speed and scale, they become more valuable than ever. ",{"data":62086,"content":62087,"nodeType":860},{},[62088],{"data":62089,"marks":62090,"value":62091,"nodeType":864},{},[],"If you're interested in learning more, check out our on-demand webinar where we demonstrate the use of CUAs for automating identity attacks, particularly in the context of SaaS account takeover. ",{"data":62093,"content":62097,"nodeType":996},{"target":62094},{"sys":62095},{"id":62096,"type":1001,"linkType":1002},"UCmd5kqVZ03ce5Cs9M0r5",[],{"data":62099,"content":62100,"nodeType":860},{},[62101,62105,62111],{"data":62102,"marks":62103,"value":62104,"nodeType":864},{},[],"If you’d like to learn more about Push, ",{"data":62106,"content":62107,"nodeType":883},{"uri":5642},[62108],{"data":62109,"marks":62110,"value":48919,"nodeType":864},{},[],{"data":62112,"marks":62113,"value":48923,"nodeType":864},{},[],"Considering the security implications of Computer-Using Agents (like OpenAI Operator)","CUAs are a new type of AI agent that drives your browser/OS for you, enabling effortless automation of web tasks — including those performed by attackers.","2025-01-28T00:00:00.000Z","considering-the-impact-of-computer-using-agents",{"items":62119},[62120,62122],{"sys":62121,"name":6593},{"id":6592},{"sys":62123,"name":297},{"id":2732},{"items":62125},[62126],{"fullName":38408,"firstName":38409,"jobTitle":38410,"profilePicture":62127},{"url":38412},{"__typename":2059,"sys":62129,"content":62130,"title":48924,"synopsis":48925,"hashTags":59,"publishedDate":48926,"slug":48927,"tagsCollection":63133,"authorsCollection":63139},{"id":47753},{"json":62131},{"data":62132,"content":62133,"nodeType":856},{},[62134,62140,62187,62193,62196,62202,62208,62234,62244,62247,62253,62263,62269,62285,62290,62306,62312,62322,62339,62355,62361,62377,62382,62398,62401,62407,62414,62420,62436,62452,62458,62474,62480,62487,62508,62514,62530,62547,62552,62558,62574,62577,62583,62599,62615,62621,62669,62675,62678,62684,62691,62707,62723,62729,62736,62742,62759,62765,62771,62776,62781,62784,62790,62797,62803,62819,62828,62844,62850,62856,62865,62872,62878,62895,62900,62903,62909,62915,62921,62982,62988,62994,63000,63007,63024,63030,63035,63045,63062,63068,63075,63092,63098,63104,63109,63112,63118],{"data":62135,"content":62136,"nodeType":860},{},[62137],{"data":62138,"marks":62139,"value":47764,"nodeType":864},{},[],{"data":62141,"content":62142,"nodeType":941},{},[62143,62159,62168],{"data":62144,"content":62145,"nodeType":945},{},[62146],{"data":62147,"content":62148,"nodeType":860},{},[62149,62152,62156],{"data":62150,"marks":62151,"value":47777,"nodeType":864},{},[],{"data":62153,"marks":62154,"value":47782,"nodeType":864},{},[62155],{"type":2246},{"data":62157,"marks":62158,"value":47786,"nodeType":864},{},[],{"data":62160,"content":62161,"nodeType":945},{},[62162],{"data":62163,"content":62164,"nodeType":860},{},[62165],{"data":62166,"marks":62167,"value":47796,"nodeType":864},{},[],{"data":62169,"content":62170,"nodeType":945},{},[62171],{"data":62172,"content":62173,"nodeType":860},{},[62174,62177,62184],{"data":62175,"marks":62176,"value":47806,"nodeType":864},{},[],{"data":62178,"content":62179,"nodeType":883},{"uri":47809},[62180],{"data":62181,"marks":62182,"value":47815,"nodeType":864},{},[62183],{"type":1455},{"data":62185,"marks":62186,"value":47819,"nodeType":864},{},[],{"data":62188,"content":62189,"nodeType":860},{},[62190],{"data":62191,"marks":62192,"value":47826,"nodeType":864},{},[],{"data":62194,"content":62195,"nodeType":1005},{},[],{"data":62197,"content":62198,"nodeType":1009},{},[62199],{"data":62200,"marks":62201,"value":47836,"nodeType":864},{},[],{"data":62203,"content":62204,"nodeType":860},{},[62205],{"data":62206,"marks":62207,"value":47843,"nodeType":864},{},[],{"data":62209,"content":62210,"nodeType":860},{},[62211,62214,62221,62224,62231],{"data":62212,"marks":62213,"value":47850,"nodeType":864},{},[],{"data":62215,"content":62216,"nodeType":883},{"uri":47853},[62217],{"data":62218,"marks":62219,"value":47859,"nodeType":864},{},[62220],{"type":1455},{"data":62222,"marks":62223,"value":47863,"nodeType":864},{},[],{"data":62225,"content":62226,"nodeType":883},{"uri":47866},[62227],{"data":62228,"marks":62229,"value":47872,"nodeType":864},{},[62230],{"type":1455},{"data":62232,"marks":62233,"value":47876,"nodeType":864},{},[],{"data":62235,"content":62236,"nodeType":860},{},[62237,62240],{"data":62238,"marks":62239,"value":47883,"nodeType":864},{},[],{"data":62241,"marks":62242,"value":47888,"nodeType":864},{},[62243],{"type":899},{"data":62245,"content":62246,"nodeType":1005},{},[],{"data":62248,"content":62249,"nodeType":1009},{},[62250],{"data":62251,"marks":62252,"value":47898,"nodeType":864},{},[],{"data":62254,"content":62255,"nodeType":1312},{},[62256,62260],{"data":62257,"marks":62258,"value":34943,"nodeType":864},{},[62259],{"type":899},{"data":62261,"marks":62262,"value":1171,"nodeType":864},{},[],{"data":62264,"content":62265,"nodeType":860},{},[62266],{"data":62267,"marks":62268,"value":47915,"nodeType":864},{},[],{"data":62270,"content":62271,"nodeType":860},{},[62272,62275,62282],{"data":62273,"marks":62274,"value":47922,"nodeType":864},{},[],{"data":62276,"content":62277,"nodeType":883},{"uri":47925},[62278],{"data":62279,"marks":62280,"value":47931,"nodeType":864},{},[62281],{"type":1455},{"data":62283,"marks":62284,"value":47935,"nodeType":864},{},[],{"data":62286,"content":62289,"nodeType":996},{"target":62287},{"sys":62288},{"id":47940,"type":1001,"linkType":1002},[],{"data":62291,"content":62292,"nodeType":860},{},[62293,62296,62303],{"data":62294,"marks":62295,"value":47948,"nodeType":864},{},[],{"data":62297,"content":62298,"nodeType":883},{"uri":47951},[62299],{"data":62300,"marks":62301,"value":47957,"nodeType":864},{},[62302],{"type":1455},{"data":62304,"marks":62305,"value":47961,"nodeType":864},{},[],{"data":62307,"content":62308,"nodeType":860},{},[62309],{"data":62310,"marks":62311,"value":47968,"nodeType":864},{},[],{"data":62313,"content":62314,"nodeType":1312},{},[62315,62319],{"data":62316,"marks":62317,"value":47976,"nodeType":864},{},[62318],{"type":899},{"data":62320,"marks":62321,"value":1171,"nodeType":864},{},[],{"data":62323,"content":62324,"nodeType":860},{},[62325,62328,62336],{"data":62326,"marks":62327,"value":47986,"nodeType":864},{},[],{"data":62329,"content":62330,"nodeType":883},{"uri":47989},[62331],{"data":62332,"marks":62333,"value":47996,"nodeType":864},{},[62334,62335],{"type":1455},{"type":899},{"data":62337,"marks":62338,"value":48000,"nodeType":864},{},[],{"data":62340,"content":62341,"nodeType":860},{},[62342,62345,62352],{"data":62343,"marks":62344,"value":48007,"nodeType":864},{},[],{"data":62346,"content":62347,"nodeType":883},{"uri":48010},[62348],{"data":62349,"marks":62350,"value":48016,"nodeType":864},{},[62351],{"type":1455},{"data":62353,"marks":62354,"value":48020,"nodeType":864},{},[],{"data":62356,"content":62357,"nodeType":860},{},[62358],{"data":62359,"marks":62360,"value":48027,"nodeType":864},{},[],{"data":62362,"content":62363,"nodeType":860},{},[62364,62367,62374],{"data":62365,"marks":62366,"value":48034,"nodeType":864},{},[],{"data":62368,"content":62369,"nodeType":883},{"uri":15980},[62370],{"data":62371,"marks":62372,"value":48042,"nodeType":864},{},[62373],{"type":1455},{"data":62375,"marks":62376,"value":48046,"nodeType":864},{},[],{"data":62378,"content":62381,"nodeType":996},{"target":62379},{"sys":62380},{"id":48051,"type":1001,"linkType":1002},[],{"data":62383,"content":62384,"nodeType":860},{},[62385,62388,62395],{"data":62386,"marks":62387,"value":48059,"nodeType":864},{},[],{"data":62389,"content":62390,"nodeType":883},{"uri":48062},[62391],{"data":62392,"marks":62393,"value":48068,"nodeType":864},{},[62394],{"type":1455},{"data":62396,"marks":62397,"value":48072,"nodeType":864},{},[],{"data":62399,"content":62400,"nodeType":1005},{},[],{"data":62402,"content":62403,"nodeType":1009},{},[62404],{"data":62405,"marks":62406,"value":48082,"nodeType":864},{},[],{"data":62408,"content":62409,"nodeType":1312},{},[62410],{"data":62411,"marks":62412,"value":34943,"nodeType":864},{},[62413],{"type":899},{"data":62415,"content":62416,"nodeType":860},{},[62417],{"data":62418,"marks":62419,"value":48096,"nodeType":864},{},[],{"data":62421,"content":62422,"nodeType":860},{},[62423,62426,62433],{"data":62424,"marks":62425,"value":48103,"nodeType":864},{},[],{"data":62427,"content":62428,"nodeType":883},{"uri":48106},[62429],{"data":62430,"marks":62431,"value":48112,"nodeType":864},{},[62432],{"type":1455},{"data":62434,"marks":62435,"value":48116,"nodeType":864},{},[],{"data":62437,"content":62438,"nodeType":860},{},[62439,62442,62449],{"data":62440,"marks":62441,"value":48123,"nodeType":864},{},[],{"data":62443,"content":62444,"nodeType":883},{"uri":48126},[62445],{"data":62446,"marks":62447,"value":23700,"nodeType":864},{},[62448],{"type":1455},{"data":62450,"marks":62451,"value":22438,"nodeType":864},{},[],{"data":62453,"content":62454,"nodeType":860},{},[62455],{"data":62456,"marks":62457,"value":48141,"nodeType":864},{},[],{"data":62459,"content":62460,"nodeType":860},{},[62461,62464,62471],{"data":62462,"marks":62463,"value":48148,"nodeType":864},{},[],{"data":62465,"content":62466,"nodeType":883},{"uri":48151},[62467],{"data":62468,"marks":62469,"value":48157,"nodeType":864},{},[62470],{"type":1455},{"data":62472,"marks":62473,"value":48161,"nodeType":864},{},[],{"data":62475,"content":62476,"nodeType":860},{},[62477],{"data":62478,"marks":62479,"value":48168,"nodeType":864},{},[],{"data":62481,"content":62482,"nodeType":1312},{},[62483],{"data":62484,"marks":62485,"value":47976,"nodeType":864},{},[62486],{"type":899},{"data":62488,"content":62489,"nodeType":860},{},[62490,62493,62501,62505],{"data":62491,"marks":62492,"value":48182,"nodeType":864},{},[],{"data":62494,"content":62495,"nodeType":883},{"uri":48185},[62496],{"data":62497,"marks":62498,"value":48192,"nodeType":864},{},[62499,62500],{"type":1455},{"type":899},{"data":62502,"marks":62503,"value":48197,"nodeType":864},{},[62504],{"type":899},{"data":62506,"marks":62507,"value":12252,"nodeType":864},{},[],{"data":62509,"content":62510,"nodeType":860},{},[62511],{"data":62512,"marks":62513,"value":48207,"nodeType":864},{},[],{"data":62515,"content":62516,"nodeType":860},{},[62517,62520,62527],{"data":62518,"marks":62519,"value":48214,"nodeType":864},{},[],{"data":62521,"content":62522,"nodeType":883},{"uri":48217},[62523],{"data":62524,"marks":62525,"value":48223,"nodeType":864},{},[62526],{"type":1455},{"data":62528,"marks":62529,"value":48227,"nodeType":864},{},[],{"data":62531,"content":62532,"nodeType":860},{},[62533,62536,62544],{"data":62534,"marks":62535,"value":48234,"nodeType":864},{},[],{"data":62537,"content":62538,"nodeType":883},{"uri":48237},[62539],{"data":62540,"marks":62541,"value":48244,"nodeType":864},{},[62542,62543],{"type":1455},{"type":899},{"data":62545,"marks":62546,"value":48248,"nodeType":864},{},[],{"data":62548,"content":62551,"nodeType":996},{"target":62549},{"sys":62550},{"id":48253,"type":1001,"linkType":1002},[],{"data":62553,"content":62554,"nodeType":860},{},[62555],{"data":62556,"marks":62557,"value":48261,"nodeType":864},{},[],{"data":62559,"content":62560,"nodeType":860},{},[62561,62564,62571],{"data":62562,"marks":62563,"value":48268,"nodeType":864},{},[],{"data":62565,"content":62566,"nodeType":883},{"uri":36813},[62567],{"data":62568,"marks":62569,"value":48276,"nodeType":864},{},[62570],{"type":1455},{"data":62572,"marks":62573,"value":48280,"nodeType":864},{},[],{"data":62575,"content":62576,"nodeType":1005},{},[],{"data":62578,"content":62579,"nodeType":1009},{},[62580],{"data":62581,"marks":62582,"value":48290,"nodeType":864},{},[],{"data":62584,"content":62585,"nodeType":860},{},[62586,62589,62596],{"data":62587,"marks":62588,"value":48297,"nodeType":864},{},[],{"data":62590,"content":62591,"nodeType":883},{"uri":4408},[62592],{"data":62593,"marks":62594,"value":27246,"nodeType":864},{},[62595],{"type":1455},{"data":62597,"marks":62598,"value":2924,"nodeType":864},{},[],{"data":62600,"content":62601,"nodeType":860},{},[62602,62605,62612],{"data":62603,"marks":62604,"value":48314,"nodeType":864},{},[],{"data":62606,"content":62607,"nodeType":883},{"uri":3751},[62608],{"data":62609,"marks":62610,"value":48322,"nodeType":864},{},[62611],{"type":1455},{"data":62613,"marks":62614,"value":48326,"nodeType":864},{},[],{"data":62616,"content":62617,"nodeType":860},{},[62618],{"data":62619,"marks":62620,"value":48333,"nodeType":864},{},[],{"data":62622,"content":62623,"nodeType":941},{},[62624,62633,62642,62651,62660],{"data":62625,"content":62626,"nodeType":945},{},[62627],{"data":62628,"content":62629,"nodeType":860},{},[62630],{"data":62631,"marks":62632,"value":48346,"nodeType":864},{},[],{"data":62634,"content":62635,"nodeType":945},{},[62636],{"data":62637,"content":62638,"nodeType":860},{},[62639],{"data":62640,"marks":62641,"value":48356,"nodeType":864},{},[],{"data":62643,"content":62644,"nodeType":945},{},[62645],{"data":62646,"content":62647,"nodeType":860},{},[62648],{"data":62649,"marks":62650,"value":48366,"nodeType":864},{},[],{"data":62652,"content":62653,"nodeType":945},{},[62654],{"data":62655,"content":62656,"nodeType":860},{},[62657],{"data":62658,"marks":62659,"value":48376,"nodeType":864},{},[],{"data":62661,"content":62662,"nodeType":945},{},[62663],{"data":62664,"content":62665,"nodeType":860},{},[62666],{"data":62667,"marks":62668,"value":48386,"nodeType":864},{},[],{"data":62670,"content":62671,"nodeType":860},{},[62672],{"data":62673,"marks":62674,"value":48393,"nodeType":864},{},[],{"data":62676,"content":62677,"nodeType":1005},{},[],{"data":62679,"content":62680,"nodeType":1009},{},[62681],{"data":62682,"marks":62683,"value":48403,"nodeType":864},{},[],{"data":62685,"content":62686,"nodeType":1312},{},[62687],{"data":62688,"marks":62689,"value":34943,"nodeType":864},{},[62690],{"type":899},{"data":62692,"content":62693,"nodeType":860},{},[62694,62697,62704],{"data":62695,"marks":62696,"value":21,"nodeType":864},{},[],{"data":62698,"content":62699,"nodeType":883},{"uri":48419},[62700],{"data":62701,"marks":62702,"value":48425,"nodeType":864},{},[62703],{"type":1455},{"data":62705,"marks":62706,"value":48429,"nodeType":864},{},[],{"data":62708,"content":62709,"nodeType":860},{},[62710,62713,62720],{"data":62711,"marks":62712,"value":48436,"nodeType":864},{},[],{"data":62714,"content":62715,"nodeType":883},{"uri":48439},[62716],{"data":62717,"marks":62718,"value":48445,"nodeType":864},{},[62719],{"type":1455},{"data":62721,"marks":62722,"value":48449,"nodeType":864},{},[],{"data":62724,"content":62725,"nodeType":860},{},[62726],{"data":62727,"marks":62728,"value":48456,"nodeType":864},{},[],{"data":62730,"content":62731,"nodeType":1312},{},[62732],{"data":62733,"marks":62734,"value":47976,"nodeType":864},{},[62735],{"type":899},{"data":62737,"content":62738,"nodeType":860},{},[62739],{"data":62740,"marks":62741,"value":48470,"nodeType":864},{},[],{"data":62743,"content":62744,"nodeType":860},{},[62745,62748,62756],{"data":62746,"marks":62747,"value":1238,"nodeType":864},{},[],{"data":62749,"content":62750,"nodeType":883},{"uri":34857},[62751],{"data":62752,"marks":62753,"value":48485,"nodeType":864},{},[62754,62755],{"type":1455},{"type":899},{"data":62757,"marks":62758,"value":48489,"nodeType":864},{},[],{"data":62760,"content":62761,"nodeType":860},{},[62762],{"data":62763,"marks":62764,"value":48496,"nodeType":864},{},[],{"data":62766,"content":62767,"nodeType":860},{},[62768],{"data":62769,"marks":62770,"value":48503,"nodeType":864},{},[],{"data":62772,"content":62775,"nodeType":996},{"target":62773},{"sys":62774},{"id":43965,"type":1001,"linkType":1002},[],{"data":62777,"content":62780,"nodeType":996},{"target":62778},{"sys":62779},{"id":48513,"type":1001,"linkType":1002},[],{"data":62782,"content":62783,"nodeType":1005},{},[],{"data":62785,"content":62786,"nodeType":1009},{},[62787],{"data":62788,"marks":62789,"value":48524,"nodeType":864},{},[],{"data":62791,"content":62792,"nodeType":1312},{},[62793],{"data":62794,"marks":62795,"value":34943,"nodeType":864},{},[62796],{"type":899},{"data":62798,"content":62799,"nodeType":860},{},[62800],{"data":62801,"marks":62802,"value":48538,"nodeType":864},{},[],{"data":62804,"content":62805,"nodeType":860},{},[62806,62809,62816],{"data":62807,"marks":62808,"value":48545,"nodeType":864},{},[],{"data":62810,"content":62811,"nodeType":883},{"uri":48548},[62812],{"data":62813,"marks":62814,"value":48554,"nodeType":864},{},[62815],{"type":1455},{"data":62817,"marks":62818,"value":48558,"nodeType":864},{},[],{"data":62820,"content":62821,"nodeType":1116},{},[62822],{"data":62823,"content":62824,"nodeType":860},{},[62825],{"data":62826,"marks":62827,"value":48568,"nodeType":864},{},[],{"data":62829,"content":62830,"nodeType":860},{},[62831,62834,62841],{"data":62832,"marks":62833,"value":48575,"nodeType":864},{},[],{"data":62835,"content":62836,"nodeType":883},{"uri":48419},[62837],{"data":62838,"marks":62839,"value":48583,"nodeType":864},{},[62840],{"type":1455},{"data":62842,"marks":62843,"value":48587,"nodeType":864},{},[],{"data":62845,"content":62846,"nodeType":860},{},[62847],{"data":62848,"marks":62849,"value":48594,"nodeType":864},{},[],{"data":62851,"content":62852,"nodeType":860},{},[62853],{"data":62854,"marks":62855,"value":48601,"nodeType":864},{},[],{"data":62857,"content":62858,"nodeType":1116},{},[62859],{"data":62860,"content":62861,"nodeType":860},{},[62862],{"data":62863,"marks":62864,"value":48611,"nodeType":864},{},[],{"data":62866,"content":62867,"nodeType":1312},{},[62868],{"data":62869,"marks":62870,"value":47976,"nodeType":864},{},[62871],{"type":899},{"data":62873,"content":62874,"nodeType":860},{},[62875],{"data":62876,"marks":62877,"value":48625,"nodeType":864},{},[],{"data":62879,"content":62880,"nodeType":860},{},[62881,62884,62892],{"data":62882,"marks":62883,"value":48632,"nodeType":864},{},[],{"data":62885,"content":62886,"nodeType":883},{"uri":35369},[62887],{"data":62888,"marks":62889,"value":48641,"nodeType":864},{},[62890,62891],{"type":1455},{"type":899},{"data":62893,"marks":62894,"value":48645,"nodeType":864},{},[],{"data":62896,"content":62899,"nodeType":996},{"target":62897},{"sys":62898},{"id":48650,"type":1001,"linkType":1002},[],{"data":62901,"content":62902,"nodeType":1005},{},[],{"data":62904,"content":62905,"nodeType":1009},{},[62906],{"data":62907,"marks":62908,"value":48661,"nodeType":864},{},[],{"data":62910,"content":62911,"nodeType":860},{},[62912],{"data":62913,"marks":62914,"value":48668,"nodeType":864},{},[],{"data":62916,"content":62917,"nodeType":860},{},[62918],{"data":62919,"marks":62920,"value":48675,"nodeType":864},{},[],{"data":62922,"content":62923,"nodeType":941},{},[62924,62940,62956],{"data":62925,"content":62926,"nodeType":945},{},[62927],{"data":62928,"content":62929,"nodeType":860},{},[62930,62933,62937],{"data":62931,"marks":62932,"value":48688,"nodeType":864},{},[],{"data":62934,"marks":62935,"value":48693,"nodeType":864},{},[62936],{"type":899},{"data":62938,"marks":62939,"value":48697,"nodeType":864},{},[],{"data":62941,"content":62942,"nodeType":945},{},[62943],{"data":62944,"content":62945,"nodeType":860},{},[62946,62949,62953],{"data":62947,"marks":62948,"value":48707,"nodeType":864},{},[],{"data":62950,"marks":62951,"value":48712,"nodeType":864},{},[62952],{"type":899},{"data":62954,"marks":62955,"value":48716,"nodeType":864},{},[],{"data":62957,"content":62958,"nodeType":945},{},[62959],{"data":62960,"content":62961,"nodeType":860},{},[62962,62965,62969,62972,62979],{"data":62963,"marks":62964,"value":48726,"nodeType":864},{},[],{"data":62966,"marks":62967,"value":48731,"nodeType":864},{},[62968],{"type":899},{"data":62970,"marks":62971,"value":48735,"nodeType":864},{},[],{"data":62973,"content":62974,"nodeType":883},{"uri":17701},[62975],{"data":62976,"marks":62977,"value":17706,"nodeType":864},{},[62978],{"type":1455},{"data":62980,"marks":62981,"value":48746,"nodeType":864},{},[],{"data":62983,"content":62984,"nodeType":860},{},[62985],{"data":62986,"marks":62987,"value":48753,"nodeType":864},{},[],{"data":62989,"content":62990,"nodeType":860},{},[62991],{"data":62992,"marks":62993,"value":48760,"nodeType":864},{},[],{"data":62995,"content":62996,"nodeType":860},{},[62997],{"data":62998,"marks":62999,"value":48767,"nodeType":864},{},[],{"data":63001,"content":63002,"nodeType":1312},{},[63003],{"data":63004,"marks":63005,"value":48775,"nodeType":864},{},[63006],{"type":899},{"data":63008,"content":63009,"nodeType":860},{},[63010,63013,63021],{"data":63011,"marks":63012,"value":48782,"nodeType":864},{},[],{"data":63014,"content":63015,"nodeType":883},{"uri":48785},[63016],{"data":63017,"marks":63018,"value":48792,"nodeType":864},{},[63019,63020],{"type":1455},{"type":899},{"data":63022,"marks":63023,"value":48796,"nodeType":864},{},[],{"data":63025,"content":63026,"nodeType":860},{},[63027],{"data":63028,"marks":63029,"value":48803,"nodeType":864},{},[],{"data":63031,"content":63034,"nodeType":996},{"target":63032},{"sys":63033},{"id":48808,"type":1001,"linkType":1002},[],{"data":63036,"content":63037,"nodeType":1312},{},[63038,63042],{"data":63039,"marks":63040,"value":48817,"nodeType":864},{},[63041],{"type":899},{"data":63043,"marks":63044,"value":1171,"nodeType":864},{},[],{"data":63046,"content":63047,"nodeType":860},{},[63048,63051,63059],{"data":63049,"marks":63050,"value":48827,"nodeType":864},{},[],{"data":63052,"content":63053,"nodeType":883},{"uri":48830},[63054],{"data":63055,"marks":63056,"value":48837,"nodeType":864},{},[63057,63058],{"type":1455},{"type":899},{"data":63060,"marks":63061,"value":48841,"nodeType":864},{},[],{"data":63063,"content":63064,"nodeType":860},{},[63065],{"data":63066,"marks":63067,"value":48848,"nodeType":864},{},[],{"data":63069,"content":63070,"nodeType":1312},{},[63071],{"data":63072,"marks":63073,"value":48856,"nodeType":864},{},[63074],{"type":899},{"data":63076,"content":63077,"nodeType":860},{},[63078,63081,63089],{"data":63079,"marks":63080,"value":48863,"nodeType":864},{},[],{"data":63082,"content":63083,"nodeType":883},{"uri":35429},[63084],{"data":63085,"marks":63086,"value":28463,"nodeType":864},{},[63087,63088],{"type":1455},{"type":899},{"data":63090,"marks":63091,"value":48875,"nodeType":864},{},[],{"data":63093,"content":63094,"nodeType":860},{},[63095],{"data":63096,"marks":63097,"value":48882,"nodeType":864},{},[],{"data":63099,"content":63100,"nodeType":860},{},[63101],{"data":63102,"marks":63103,"value":48889,"nodeType":864},{},[],{"data":63105,"content":63108,"nodeType":996},{"target":63106},{"sys":63107},{"id":48894,"type":1001,"linkType":1002},[],{"data":63110,"content":63111,"nodeType":1005},{},[],{"data":63113,"content":63114,"nodeType":1009},{},[63115],{"data":63116,"marks":63117,"value":48905,"nodeType":864},{},[],{"data":63119,"content":63120,"nodeType":860},{},[63121,63124,63130],{"data":63122,"marks":63123,"value":48912,"nodeType":864},{},[],{"data":63125,"content":63126,"nodeType":883},{"uri":5642},[63127],{"data":63128,"marks":63129,"value":48919,"nodeType":864},{},[],{"data":63131,"marks":63132,"value":48923,"nodeType":864},{},[],{"items":63134},[63135,63137],{"sys":63136,"name":342},{"id":6596},{"sys":63138,"name":297},{"id":2732},{"items":63140},[63141],{"fullName":849,"firstName":850,"jobTitle":851,"profilePicture":63142},{"url":853},"blog/5-ways-attackers-can-use-computer-using-agents-to-automate-identity-attacks",{"json":63145},{"data":63146,"content":63147,"nodeType":856},{},[63148],{"data":63149,"content":63150,"nodeType":860},{},[63151],{"data":63152,"marks":63153,"value":63154,"nodeType":864},{},[],"We recently blogged about the security implications of Computer-Using Agents (CUAs) like OpenAI Operator. We got pretty hooked on this new development and went off to do some closer research. Now, we’re back with part two to share what we found. Let’s dive in. ",{"id":59646,"publishedAt":63156},"2026-08-12T11:54:25.541Z",{"items":63158},[63159,63161],{"sys":63160,"name":6593},{"id":6592},{"sys":63162,"name":297},{"id":2732},{"items":63164},[63165,63167,63169,63171,63173,63175,63177,63179,63181,63183,63185,63187,63189],{"sys":63166,"name":279,"slug":280,"tier":31},{"id":276},{"sys":63168,"name":235,"slug":236,"tier":31},{"id":232},{"sys":63170,"name":413,"slug":414,"tier":31},{"id":410},{"sys":63172,"name":545,"slug":546,"tier":31},{"id":542},{"sys":63174,"name":642,"slug":643,"tier":31},{"id":639},{"sys":63176,"name":244,"slug":245,"tier":45},{"id":241},{"sys":63178,"name":333,"slug":334,"tier":45},{"id":330},{"sys":63180,"name":395,"slug":396,"tier":45},{"id":392},{"sys":63182,"name":404,"slug":405,"tier":45},{"id":401},{"sys":63184,"name":484,"slug":485,"tier":45},{"id":481},{"sys":63186,"name":607,"slug":608,"tier":45},{"id":604},{"sys":63188,"name":571,"slug":572,"tier":45},{"id":568},{"sys":63190,"name":502,"slug":503,"tier":45},{"id":499},"SzZF0hQl5WBLGWzyFpHl-7yLlPDRIzswNiBjGIJynv4",{"id":63193,"title":61482,"authorsCollection":63194,"content":63199,"extension":228,"faqItemsCollection":63727,"faqTitle":59,"featured":6,"hashTags":59,"meta":63729,"metaTitle":63730,"ogImage":59,"postType":5740,"publishedDate":61484,"relatedBlogPostsCollection":63731,"slug":61485,"stem":65949,"subtitle":59,"summary":65950,"synopsis":61483,"sys":65961,"tagsCollection":65963,"topicsCollection":65969,"__hash__":65995},"blog/blog/how-new-ai-agents-will-transform-credential-stuffing-attacks.json",{"items":63195},[63196],{"fullName":2736,"firstName":2737,"jobTitle":2738,"socialLinks":63197,"profilePicture":63198},[11304],{"url":2740},{"json":63200,"links":63714},{"data":63201,"content":63202,"nodeType":856},{},[63203,63210,63226,63252,63258,63261,63268,63274,63281,63287,63293,63299,63305,63312,63318,63341,63364,63370,63377,63383,63404,63410,63413,63420,63426,63433,63449,63479,63485,63495,63501,63508,63514,63520,63526,63532,63535,63542,63548,63569,63574,63577,63584,63597,63603,63606,63613,63619,63632,63638,63662,63665,63671,63687,63703,63708],{"data":63204,"content":63205,"nodeType":1009},{},[63206],{"data":63207,"marks":63208,"value":60907,"nodeType":864},{},[63209],{"type":899},{"data":63211,"content":63212,"nodeType":860},{},[63213,63216,63223],{"data":63214,"marks":63215,"value":21,"nodeType":864},{},[],{"data":63217,"content":63218,"nodeType":883},{"uri":8628},[63219],{"data":63220,"marks":63221,"value":35163,"nodeType":864},{},[63222],{"type":1455},{"data":63224,"marks":63225,"value":35167,"nodeType":864},{},[],{"data":63227,"content":63228,"nodeType":860},{},[63229,63232,63239,63242,63249],{"data":63230,"marks":63231,"value":60930,"nodeType":864},{},[],{"data":63233,"content":63234,"nodeType":883},{"uri":35177},[63235],{"data":63236,"marks":63237,"value":60938,"nodeType":864},{},[63238],{"type":1455},{"data":63240,"marks":63241,"value":35186,"nodeType":864},{},[],{"data":63243,"content":63244,"nodeType":883},{"uri":3751},[63245],{"data":63246,"marks":63247,"value":29323,"nodeType":864},{},[63248],{"type":1455},{"data":63250,"marks":63251,"value":60952,"nodeType":864},{},[],{"data":63253,"content":63254,"nodeType":860},{},[63255],{"data":63256,"marks":63257,"value":60959,"nodeType":864},{},[],{"data":63259,"content":63260,"nodeType":1005},{},[],{"data":63262,"content":63263,"nodeType":1009},{},[63264],{"data":63265,"marks":63266,"value":60970,"nodeType":864},{},[63267],{"type":899},{"data":63269,"content":63270,"nodeType":860},{},[63271],{"data":63272,"marks":63273,"value":60977,"nodeType":864},{},[],{"data":63275,"content":63276,"nodeType":1312},{},[63277],{"data":63278,"marks":63279,"value":60985,"nodeType":864},{},[63280],{"type":899},{"data":63282,"content":63283,"nodeType":860},{},[63284],{"data":63285,"marks":63286,"value":60992,"nodeType":864},{},[],{"data":63288,"content":63289,"nodeType":860},{},[63290],{"data":63291,"marks":63292,"value":60999,"nodeType":864},{},[],{"data":63294,"content":63295,"nodeType":860},{},[63296],{"data":63297,"marks":63298,"value":61006,"nodeType":864},{},[],{"data":63300,"content":63301,"nodeType":860},{},[63302],{"data":63303,"marks":63304,"value":61013,"nodeType":864},{},[],{"data":63306,"content":63307,"nodeType":1312},{},[63308],{"data":63309,"marks":63310,"value":61021,"nodeType":864},{},[63311],{"type":899},{"data":63313,"content":63314,"nodeType":860},{},[63315],{"data":63316,"marks":63317,"value":61028,"nodeType":864},{},[],{"data":63319,"content":63320,"nodeType":860},{},[63321,63324,63328,63331,63338],{"data":63322,"marks":63323,"value":61035,"nodeType":864},{},[],{"data":63325,"marks":63326,"value":61040,"nodeType":864},{},[63327],{"type":899},{"data":63329,"marks":63330,"value":61044,"nodeType":864},{},[],{"data":63332,"content":63333,"nodeType":883},{"uri":61047},[63334],{"data":63335,"marks":63336,"value":61053,"nodeType":864},{},[63337],{"type":1455},{"data":63339,"marks":63340,"value":61057,"nodeType":864},{},[],{"data":63342,"content":63343,"nodeType":860},{},[63344,63347,63354,63357,63361],{"data":63345,"marks":63346,"value":61064,"nodeType":864},{},[],{"data":63348,"content":63349,"nodeType":883},{"uri":35369},[63350],{"data":63351,"marks":63352,"value":61072,"nodeType":864},{},[63353],{"type":1455},{"data":63355,"marks":63356,"value":61076,"nodeType":864},{},[],{"data":63358,"marks":63359,"value":61081,"nodeType":864},{},[63360],{"type":899},{"data":63362,"marks":63363,"value":8618,"nodeType":864},{},[],{"data":63365,"content":63366,"nodeType":860},{},[63367],{"data":63368,"marks":63369,"value":61091,"nodeType":864},{},[],{"data":63371,"content":63372,"nodeType":1312},{},[63373],{"data":63374,"marks":63375,"value":61099,"nodeType":864},{},[63376],{"type":899},{"data":63378,"content":63379,"nodeType":860},{},[63380],{"data":63381,"marks":63382,"value":61106,"nodeType":864},{},[],{"data":63384,"content":63385,"nodeType":941},{},[63386,63395],{"data":63387,"content":63388,"nodeType":945},{},[63389],{"data":63390,"content":63391,"nodeType":860},{},[63392],{"data":63393,"marks":63394,"value":61119,"nodeType":864},{},[],{"data":63396,"content":63397,"nodeType":945},{},[63398],{"data":63399,"content":63400,"nodeType":860},{},[63401],{"data":63402,"marks":63403,"value":61129,"nodeType":864},{},[],{"data":63405,"content":63406,"nodeType":860},{},[63407],{"data":63408,"marks":63409,"value":61136,"nodeType":864},{},[],{"data":63411,"content":63412,"nodeType":1005},{},[],{"data":63414,"content":63415,"nodeType":1009},{},[63416],{"data":63417,"marks":63418,"value":61147,"nodeType":864},{},[63419],{"type":899},{"data":63421,"content":63422,"nodeType":860},{},[63423],{"data":63424,"marks":63425,"value":61154,"nodeType":864},{},[],{"data":63427,"content":63428,"nodeType":1312},{},[63429],{"data":63430,"marks":63431,"value":61162,"nodeType":864},{},[63432],{"type":899},{"data":63434,"content":63435,"nodeType":860},{},[63436,63439,63446],{"data":63437,"marks":63438,"value":61169,"nodeType":864},{},[],{"data":63440,"content":63441,"nodeType":883},{"uri":15980},[63442],{"data":63443,"marks":63444,"value":61177,"nodeType":864},{},[63445],{"type":1455},{"data":63447,"marks":63448,"value":61181,"nodeType":864},{},[],{"data":63450,"content":63451,"nodeType":941},{},[63452,63461,63470],{"data":63453,"content":63454,"nodeType":945},{},[63455],{"data":63456,"content":63457,"nodeType":860},{},[63458],{"data":63459,"marks":63460,"value":61194,"nodeType":864},{},[],{"data":63462,"content":63463,"nodeType":945},{},[63464],{"data":63465,"content":63466,"nodeType":860},{},[63467],{"data":63468,"marks":63469,"value":61204,"nodeType":864},{},[],{"data":63471,"content":63472,"nodeType":945},{},[63473],{"data":63474,"content":63475,"nodeType":860},{},[63476],{"data":63477,"marks":63478,"value":61214,"nodeType":864},{},[],{"data":63480,"content":63481,"nodeType":860},{},[63482],{"data":63483,"marks":63484,"value":61221,"nodeType":864},{},[],{"data":63486,"content":63487,"nodeType":860},{},[63488,63492],{"data":63489,"marks":63490,"value":61229,"nodeType":864},{},[63491],{"type":899},{"data":63493,"marks":63494,"value":61233,"nodeType":864},{},[],{"data":63496,"content":63497,"nodeType":860},{},[63498],{"data":63499,"marks":63500,"value":61240,"nodeType":864},{},[],{"data":63502,"content":63503,"nodeType":1312},{},[63504],{"data":63505,"marks":63506,"value":61248,"nodeType":864},{},[63507],{"type":899},{"data":63509,"content":63510,"nodeType":860},{},[63511],{"data":63512,"marks":63513,"value":61255,"nodeType":864},{},[],{"data":63515,"content":63516,"nodeType":860},{},[63517],{"data":63518,"marks":63519,"value":61262,"nodeType":864},{},[],{"data":63521,"content":63522,"nodeType":860},{},[63523],{"data":63524,"marks":63525,"value":61269,"nodeType":864},{},[],{"data":63527,"content":63528,"nodeType":860},{},[63529],{"data":63530,"marks":63531,"value":61276,"nodeType":864},{},[],{"data":63533,"content":63534,"nodeType":1005},{},[],{"data":63536,"content":63537,"nodeType":1009},{},[63538],{"data":63539,"marks":63540,"value":61287,"nodeType":864},{},[63541],{"type":899},{"data":63543,"content":63544,"nodeType":860},{},[63545],{"data":63546,"marks":63547,"value":61294,"nodeType":864},{},[],{"data":63549,"content":63550,"nodeType":941},{},[63551,63560],{"data":63552,"content":63553,"nodeType":945},{},[63554],{"data":63555,"content":63556,"nodeType":860},{},[63557],{"data":63558,"marks":63559,"value":61307,"nodeType":864},{},[],{"data":63561,"content":63562,"nodeType":945},{},[63563],{"data":63564,"content":63565,"nodeType":860},{},[63566],{"data":63567,"marks":63568,"value":61317,"nodeType":864},{},[],{"data":63570,"content":63573,"nodeType":996},{"target":63571},{"sys":63572},{"id":61322,"type":1001,"linkType":1002},[],{"data":63575,"content":63576,"nodeType":1005},{},[],{"data":63578,"content":63579,"nodeType":1009},{},[63580],{"data":63581,"marks":63582,"value":61334,"nodeType":864},{},[63583],{"type":899},{"data":63585,"content":63586,"nodeType":860},{},[63587,63590,63594],{"data":63588,"marks":63589,"value":61341,"nodeType":864},{},[],{"data":63591,"marks":63592,"value":61346,"nodeType":864},{},[63593],{"type":899},{"data":63595,"marks":63596,"value":61350,"nodeType":864},{},[],{"data":63598,"content":63599,"nodeType":860},{},[63600],{"data":63601,"marks":63602,"value":61357,"nodeType":864},{},[],{"data":63604,"content":63605,"nodeType":1005},{},[],{"data":63607,"content":63608,"nodeType":1009},{},[63609],{"data":63610,"marks":63611,"value":61368,"nodeType":864},{},[63612],{"type":899},{"data":63614,"content":63615,"nodeType":860},{},[63616],{"data":63617,"marks":63618,"value":61375,"nodeType":864},{},[],{"data":63620,"content":63621,"nodeType":860},{},[63622,63625,63629],{"data":63623,"marks":63624,"value":61382,"nodeType":864},{},[],{"data":63626,"marks":63627,"value":61387,"nodeType":864},{},[63628],{"type":2246},{"data":63630,"marks":63631,"value":61391,"nodeType":864},{},[],{"data":63633,"content":63634,"nodeType":860},{},[63635],{"data":63636,"marks":63637,"value":61398,"nodeType":864},{},[],{"data":63639,"content":63640,"nodeType":860},{},[63641,63644,63650,63653,63659],{"data":63642,"marks":63643,"value":61405,"nodeType":864},{},[],{"data":63645,"content":63646,"nodeType":883},{"uri":35369},[63647],{"data":63648,"marks":63649,"value":61412,"nodeType":864},{},[],{"data":63651,"marks":63652,"value":2232,"nodeType":864},{},[],{"data":63654,"content":63655,"nodeType":883},{"uri":35429},[63656],{"data":63657,"marks":63658,"value":61422,"nodeType":864},{},[],{"data":63660,"marks":63661,"value":61426,"nodeType":864},{},[],{"data":63663,"content":63664,"nodeType":1005},{},[],{"data":63666,"content":63667,"nodeType":1009},{},[63668],{"data":63669,"marks":63670,"value":8991,"nodeType":864},{},[],{"data":63672,"content":63673,"nodeType":860},{},[63674,63677,63684],{"data":63675,"marks":63676,"value":61442,"nodeType":864},{},[],{"data":63678,"content":63679,"nodeType":883},{"uri":1700},[63680],{"data":63681,"marks":63682,"value":37814,"nodeType":864},{},[63683],{"type":1455},{"data":63685,"marks":63686,"value":2924,"nodeType":864},{},[],{"data":63688,"content":63689,"nodeType":860},{},[63690,63693,63700],{"data":63691,"marks":63692,"value":61459,"nodeType":864},{},[],{"data":63694,"content":63695,"nodeType":883},{"uri":60800},[63696],{"data":63697,"marks":63698,"value":61467,"nodeType":864},{},[63699],{"type":1455},{"data":63701,"marks":63702,"value":21,"nodeType":864},{},[],{"data":63704,"content":63707,"nodeType":996},{"target":63705},{"sys":63706},{"id":59781,"type":1001,"linkType":1002},[],{"data":63709,"content":63710,"nodeType":860},{},[63711],{"data":63712,"marks":63713,"value":21,"nodeType":864},{},[],{"entries":63715},{"hyperlink":63716,"inline":63717,"block":63718},[],[],[63719,63725],{"sys":63720,"__typename":47726,"title":63721,"youTubeUrl":63722,"imagePlaceholder":63723},{"id":61322},"Using Operator to conduct credential stuffing attacks at scale","https://www.youtube.com/watch?v=a_YJafxPjMo",{"url":63724,"width":45619,"height":45620},"https://images.ctfassets.net/y1cdw1ablpvd/47KUHgOYv3FHVkGUbwA3Ly/ab5d478e6b5b1fff84248a05b6d3ccaf/Operator_clip_thumbnail__3_.jpg",{"sys":63726,"__typename":1717,"type":1718,"ctaText":60798,"buttonLabel":60799,"buttonColour":33488,"buttonUrl":60800},{"id":59781},{"items":63728},[],{},"Using OpenAI Operator to automate credential stuffing",{"items":63732},[63733,64281,65296],{"__typename":2059,"sys":63734,"content":63735,"title":62114,"synopsis":62115,"hashTags":59,"publishedDate":62116,"slug":62117,"tagsCollection":64271,"authorsCollection":64277},{"id":61498},{"json":63736},{"data":63737,"content":63738,"nodeType":856},{},[63739,63745,63758,63764,63769,63775,63781,63784,63790,63796,63802,63822,63828,63841,63844,63850,63856,63877,63883,63889,63905,63910,63916,63932,63937,63943,63983,63990,63996,64006,64016,64022,64048,64054,64057,64063,64079,64085,64091,64097,64100,64106,64113,64119,64125,64185,64191,64197,64203,64233,64239,64245,64251,64256],{"data":63740,"content":63741,"nodeType":860},{},[63742],{"data":63743,"marks":63744,"value":61509,"nodeType":864},{},[],{"data":63746,"content":63747,"nodeType":860},{},[63748,63751,63755],{"data":63749,"marks":63750,"value":61516,"nodeType":864},{},[],{"data":63752,"marks":63753,"value":61521,"nodeType":864},{},[63754],{"type":899},{"data":63756,"marks":63757,"value":61525,"nodeType":864},{},[],{"data":63759,"content":63760,"nodeType":860},{},[63761],{"data":63762,"marks":63763,"value":61532,"nodeType":864},{},[],{"data":63765,"content":63768,"nodeType":996},{"target":63766},{"sys":63767},{"id":61537,"type":1001,"linkType":1002},[],{"data":63770,"content":63771,"nodeType":860},{},[63772],{"data":63773,"marks":63774,"value":61545,"nodeType":864},{},[],{"data":63776,"content":63777,"nodeType":860},{},[63778],{"data":63779,"marks":63780,"value":61552,"nodeType":864},{},[],{"data":63782,"content":63783,"nodeType":1005},{},[],{"data":63785,"content":63786,"nodeType":1009},{},[63787],{"data":63788,"marks":63789,"value":61562,"nodeType":864},{},[],{"data":63791,"content":63792,"nodeType":860},{},[63793],{"data":63794,"marks":63795,"value":61569,"nodeType":864},{},[],{"data":63797,"content":63798,"nodeType":860},{},[63799],{"data":63800,"marks":63801,"value":61576,"nodeType":864},{},[],{"data":63803,"content":63804,"nodeType":860},{},[63805,63808,63812,63815,63819],{"data":63806,"marks":63807,"value":61583,"nodeType":864},{},[],{"data":63809,"marks":63810,"value":61588,"nodeType":864},{},[63811],{"type":899},{"data":63813,"marks":63814,"value":1171,"nodeType":864},{},[],{"data":63816,"marks":63817,"value":61596,"nodeType":864},{},[63818],{"type":899},{"data":63820,"marks":63821,"value":8618,"nodeType":864},{},[],{"data":63823,"content":63824,"nodeType":860},{},[63825],{"data":63826,"marks":63827,"value":61606,"nodeType":864},{},[],{"data":63829,"content":63830,"nodeType":860},{},[63831,63834,63838],{"data":63832,"marks":63833,"value":61613,"nodeType":864},{},[],{"data":63835,"marks":63836,"value":61618,"nodeType":864},{},[63837],{"type":899},{"data":63839,"marks":63840,"value":61622,"nodeType":864},{},[],{"data":63842,"content":63843,"nodeType":1005},{},[],{"data":63845,"content":63846,"nodeType":1009},{},[63847],{"data":63848,"marks":63849,"value":61632,"nodeType":864},{},[],{"data":63851,"content":63852,"nodeType":860},{},[63853],{"data":63854,"marks":63855,"value":61639,"nodeType":864},{},[],{"data":63857,"content":63858,"nodeType":941},{},[63859,63868],{"data":63860,"content":63861,"nodeType":945},{},[63862],{"data":63863,"content":63864,"nodeType":860},{},[63865],{"data":63866,"marks":63867,"value":61652,"nodeType":864},{},[],{"data":63869,"content":63870,"nodeType":945},{},[63871],{"data":63872,"content":63873,"nodeType":860},{},[63874],{"data":63875,"marks":63876,"value":61662,"nodeType":864},{},[],{"data":63878,"content":63879,"nodeType":860},{},[63880],{"data":63881,"marks":63882,"value":61669,"nodeType":864},{},[],{"data":63884,"content":63885,"nodeType":1312},{},[63886],{"data":63887,"marks":63888,"value":61676,"nodeType":864},{},[],{"data":63890,"content":63891,"nodeType":860},{},[63892,63895,63902],{"data":63893,"marks":63894,"value":61683,"nodeType":864},{},[],{"data":63896,"content":63897,"nodeType":883},{"uri":15980},[63898],{"data":63899,"marks":63900,"value":61691,"nodeType":864},{},[63901],{"type":1455},{"data":63903,"marks":63904,"value":12252,"nodeType":864},{},[],{"data":63906,"content":63909,"nodeType":996},{"target":63907},{"sys":63908},{"id":61699,"type":1001,"linkType":1002},[],{"data":63911,"content":63912,"nodeType":860},{},[63913],{"data":63914,"marks":63915,"value":61707,"nodeType":864},{},[],{"data":63917,"content":63918,"nodeType":860},{},[63919,63922,63929],{"data":63920,"marks":63921,"value":61714,"nodeType":864},{},[],{"data":63923,"content":63924,"nodeType":883},{"uri":3751},[63925],{"data":63926,"marks":63927,"value":61722,"nodeType":864},{},[63928],{"type":1455},{"data":63930,"marks":63931,"value":61726,"nodeType":864},{},[],{"data":63933,"content":63936,"nodeType":996},{"target":63934},{"sys":63935},{"id":61731,"type":1001,"linkType":1002},[],{"data":63938,"content":63939,"nodeType":860},{},[63940],{"data":63941,"marks":63942,"value":61739,"nodeType":864},{},[],{"data":63944,"content":63945,"nodeType":941},{},[63946,63955,63964],{"data":63947,"content":63948,"nodeType":945},{},[63949],{"data":63950,"content":63951,"nodeType":860},{},[63952],{"data":63953,"marks":63954,"value":61752,"nodeType":864},{},[],{"data":63956,"content":63957,"nodeType":945},{},[63958],{"data":63959,"content":63960,"nodeType":860},{},[63961],{"data":63962,"marks":63963,"value":61762,"nodeType":864},{},[],{"data":63965,"content":63966,"nodeType":945},{},[63967],{"data":63968,"content":63969,"nodeType":860},{},[63970,63973,63980],{"data":63971,"marks":63972,"value":61772,"nodeType":864},{},[],{"data":63974,"content":63975,"nodeType":883},{"uri":61775},[63976],{"data":63977,"marks":63978,"value":61781,"nodeType":864},{},[63979],{"type":1455},{"data":63981,"marks":63982,"value":61785,"nodeType":864},{},[],{"data":63984,"content":63985,"nodeType":860},{},[63986],{"data":63987,"marks":63988,"value":61793,"nodeType":864},{},[63989],{"type":899},{"data":63991,"content":63992,"nodeType":860},{},[63993],{"data":63994,"marks":63995,"value":61800,"nodeType":864},{},[],{"data":63997,"content":63998,"nodeType":860},{},[63999,64003],{"data":64000,"marks":64001,"value":61808,"nodeType":864},{},[64002],{"type":899},{"data":64004,"marks":64005,"value":61812,"nodeType":864},{},[],{"data":64007,"content":64008,"nodeType":860},{},[64009,64013],{"data":64010,"marks":64011,"value":61820,"nodeType":864},{},[64012],{"type":899},{"data":64014,"marks":64015,"value":61824,"nodeType":864},{},[],{"data":64017,"content":64018,"nodeType":1312},{},[64019],{"data":64020,"marks":64021,"value":61831,"nodeType":864},{},[],{"data":64023,"content":64024,"nodeType":860},{},[64025,64028,64035,64038,64045],{"data":64026,"marks":64027,"value":61838,"nodeType":864},{},[],{"data":64029,"content":64030,"nodeType":883},{"uri":61841},[64031],{"data":64032,"marks":64033,"value":61847,"nodeType":864},{},[64034],{"type":1455},{"data":64036,"marks":64037,"value":61851,"nodeType":864},{},[],{"data":64039,"content":64040,"nodeType":883},{"uri":61854},[64041],{"data":64042,"marks":64043,"value":61860,"nodeType":864},{},[64044],{"type":1455},{"data":64046,"marks":64047,"value":61864,"nodeType":864},{},[],{"data":64049,"content":64050,"nodeType":860},{},[64051],{"data":64052,"marks":64053,"value":61871,"nodeType":864},{},[],{"data":64055,"content":64056,"nodeType":1005},{},[],{"data":64058,"content":64059,"nodeType":1009},{},[64060],{"data":64061,"marks":64062,"value":61881,"nodeType":864},{},[],{"data":64064,"content":64065,"nodeType":860},{},[64066,64069,64076],{"data":64067,"marks":64068,"value":61888,"nodeType":864},{},[],{"data":64070,"content":64071,"nodeType":883},{"uri":61891},[64072],{"data":64073,"marks":64074,"value":61897,"nodeType":864},{},[64075],{"type":1455},{"data":64077,"marks":64078,"value":61901,"nodeType":864},{},[],{"data":64080,"content":64081,"nodeType":860},{},[64082],{"data":64083,"marks":64084,"value":61908,"nodeType":864},{},[],{"data":64086,"content":64087,"nodeType":860},{},[64088],{"data":64089,"marks":64090,"value":61915,"nodeType":864},{},[],{"data":64092,"content":64093,"nodeType":860},{},[64094],{"data":64095,"marks":64096,"value":61922,"nodeType":864},{},[],{"data":64098,"content":64099,"nodeType":1005},{},[],{"data":64101,"content":64102,"nodeType":1009},{},[64103],{"data":64104,"marks":64105,"value":61932,"nodeType":864},{},[],{"data":64107,"content":64108,"nodeType":860},{},[64109],{"data":64110,"marks":64111,"value":61940,"nodeType":864},{},[64112],{"type":899},{"data":64114,"content":64115,"nodeType":860},{},[64116],{"data":64117,"marks":64118,"value":61947,"nodeType":864},{},[],{"data":64120,"content":64121,"nodeType":860},{},[64122],{"data":64123,"marks":64124,"value":61954,"nodeType":864},{},[],{"data":64126,"content":64127,"nodeType":941},{},[64128,64147,64166],{"data":64129,"content":64130,"nodeType":945},{},[64131],{"data":64132,"content":64133,"nodeType":860},{},[64134,64137,64144],{"data":64135,"marks":64136,"value":21,"nodeType":864},{},[],{"data":64138,"content":64139,"nodeType":883},{"uri":61969},[64140],{"data":64141,"marks":64142,"value":61969,"nodeType":864},{},[64143],{"type":1455},{"data":64145,"marks":64146,"value":8618,"nodeType":864},{},[],{"data":64148,"content":64149,"nodeType":945},{},[64150],{"data":64151,"content":64152,"nodeType":860},{},[64153,64156,64163],{"data":64154,"marks":64155,"value":21,"nodeType":864},{},[],{"data":64157,"content":64158,"nodeType":883},{"uri":61989},[64159],{"data":64160,"marks":64161,"value":61989,"nodeType":864},{},[64162],{"type":1455},{"data":64164,"marks":64165,"value":21,"nodeType":864},{},[],{"data":64167,"content":64168,"nodeType":945},{},[64169],{"data":64170,"content":64171,"nodeType":860},{},[64172,64175,64182],{"data":64173,"marks":64174,"value":21,"nodeType":864},{},[],{"data":64176,"content":64177,"nodeType":883},{"uri":62009},[64178],{"data":64179,"marks":64180,"value":62009,"nodeType":864},{},[64181],{"type":1455},{"data":64183,"marks":64184,"value":2924,"nodeType":864},{},[],{"data":64186,"content":64187,"nodeType":860},{},[64188],{"data":64189,"marks":64190,"value":62024,"nodeType":864},{},[],{"data":64192,"content":64193,"nodeType":1312},{},[64194],{"data":64195,"marks":64196,"value":62031,"nodeType":864},{},[],{"data":64198,"content":64199,"nodeType":860},{},[64200],{"data":64201,"marks":64202,"value":62038,"nodeType":864},{},[],{"data":64204,"content":64205,"nodeType":941},{},[64206,64215,64224],{"data":64207,"content":64208,"nodeType":945},{},[64209],{"data":64210,"content":64211,"nodeType":860},{},[64212],{"data":64213,"marks":64214,"value":62051,"nodeType":864},{},[],{"data":64216,"content":64217,"nodeType":945},{},[64218],{"data":64219,"content":64220,"nodeType":860},{},[64221],{"data":64222,"marks":64223,"value":62061,"nodeType":864},{},[],{"data":64225,"content":64226,"nodeType":945},{},[64227],{"data":64228,"content":64229,"nodeType":860},{},[64230],{"data":64231,"marks":64232,"value":62071,"nodeType":864},{},[],{"data":64234,"content":64235,"nodeType":1312},{},[64236],{"data":64237,"marks":64238,"value":8991,"nodeType":864},{},[],{"data":64240,"content":64241,"nodeType":860},{},[64242],{"data":64243,"marks":64244,"value":62084,"nodeType":864},{},[],{"data":64246,"content":64247,"nodeType":860},{},[64248],{"data":64249,"marks":64250,"value":62091,"nodeType":864},{},[],{"data":64252,"content":64255,"nodeType":996},{"target":64253},{"sys":64254},{"id":62096,"type":1001,"linkType":1002},[],{"data":64257,"content":64258,"nodeType":860},{},[64259,64262,64268],{"data":64260,"marks":64261,"value":62104,"nodeType":864},{},[],{"data":64263,"content":64264,"nodeType":883},{"uri":5642},[64265],{"data":64266,"marks":64267,"value":48919,"nodeType":864},{},[],{"data":64269,"marks":64270,"value":48923,"nodeType":864},{},[],{"items":64272},[64273,64275],{"sys":64274,"name":6593},{"id":6592},{"sys":64276,"name":297},{"id":2732},{"items":64278},[64279],{"fullName":38408,"firstName":38409,"jobTitle":38410,"profilePicture":64280},{"url":38412},{"__typename":2059,"sys":64282,"content":64283,"title":48924,"synopsis":48925,"hashTags":59,"publishedDate":48926,"slug":48927,"tagsCollection":65286,"authorsCollection":65292},{"id":47753},{"json":64284},{"data":64285,"content":64286,"nodeType":856},{},[64287,64293,64340,64346,64349,64355,64361,64387,64397,64400,64406,64416,64422,64438,64443,64459,64465,64475,64492,64508,64514,64530,64535,64551,64554,64560,64567,64573,64589,64605,64611,64627,64633,64640,64661,64667,64683,64700,64705,64711,64727,64730,64736,64752,64768,64774,64822,64828,64831,64837,64844,64860,64876,64882,64889,64895,64912,64918,64924,64929,64934,64937,64943,64950,64956,64972,64981,64997,65003,65009,65018,65025,65031,65048,65053,65056,65062,65068,65074,65135,65141,65147,65153,65160,65177,65183,65188,65198,65215,65221,65228,65245,65251,65257,65262,65265,65271],{"data":64288,"content":64289,"nodeType":860},{},[64290],{"data":64291,"marks":64292,"value":47764,"nodeType":864},{},[],{"data":64294,"content":64295,"nodeType":941},{},[64296,64312,64321],{"data":64297,"content":64298,"nodeType":945},{},[64299],{"data":64300,"content":64301,"nodeType":860},{},[64302,64305,64309],{"data":64303,"marks":64304,"value":47777,"nodeType":864},{},[],{"data":64306,"marks":64307,"value":47782,"nodeType":864},{},[64308],{"type":2246},{"data":64310,"marks":64311,"value":47786,"nodeType":864},{},[],{"data":64313,"content":64314,"nodeType":945},{},[64315],{"data":64316,"content":64317,"nodeType":860},{},[64318],{"data":64319,"marks":64320,"value":47796,"nodeType":864},{},[],{"data":64322,"content":64323,"nodeType":945},{},[64324],{"data":64325,"content":64326,"nodeType":860},{},[64327,64330,64337],{"data":64328,"marks":64329,"value":47806,"nodeType":864},{},[],{"data":64331,"content":64332,"nodeType":883},{"uri":47809},[64333],{"data":64334,"marks":64335,"value":47815,"nodeType":864},{},[64336],{"type":1455},{"data":64338,"marks":64339,"value":47819,"nodeType":864},{},[],{"data":64341,"content":64342,"nodeType":860},{},[64343],{"data":64344,"marks":64345,"value":47826,"nodeType":864},{},[],{"data":64347,"content":64348,"nodeType":1005},{},[],{"data":64350,"content":64351,"nodeType":1009},{},[64352],{"data":64353,"marks":64354,"value":47836,"nodeType":864},{},[],{"data":64356,"content":64357,"nodeType":860},{},[64358],{"data":64359,"marks":64360,"value":47843,"nodeType":864},{},[],{"data":64362,"content":64363,"nodeType":860},{},[64364,64367,64374,64377,64384],{"data":64365,"marks":64366,"value":47850,"nodeType":864},{},[],{"data":64368,"content":64369,"nodeType":883},{"uri":47853},[64370],{"data":64371,"marks":64372,"value":47859,"nodeType":864},{},[64373],{"type":1455},{"data":64375,"marks":64376,"value":47863,"nodeType":864},{},[],{"data":64378,"content":64379,"nodeType":883},{"uri":47866},[64380],{"data":64381,"marks":64382,"value":47872,"nodeType":864},{},[64383],{"type":1455},{"data":64385,"marks":64386,"value":47876,"nodeType":864},{},[],{"data":64388,"content":64389,"nodeType":860},{},[64390,64393],{"data":64391,"marks":64392,"value":47883,"nodeType":864},{},[],{"data":64394,"marks":64395,"value":47888,"nodeType":864},{},[64396],{"type":899},{"data":64398,"content":64399,"nodeType":1005},{},[],{"data":64401,"content":64402,"nodeType":1009},{},[64403],{"data":64404,"marks":64405,"value":47898,"nodeType":864},{},[],{"data":64407,"content":64408,"nodeType":1312},{},[64409,64413],{"data":64410,"marks":64411,"value":34943,"nodeType":864},{},[64412],{"type":899},{"data":64414,"marks":64415,"value":1171,"nodeType":864},{},[],{"data":64417,"content":64418,"nodeType":860},{},[64419],{"data":64420,"marks":64421,"value":47915,"nodeType":864},{},[],{"data":64423,"content":64424,"nodeType":860},{},[64425,64428,64435],{"data":64426,"marks":64427,"value":47922,"nodeType":864},{},[],{"data":64429,"content":64430,"nodeType":883},{"uri":47925},[64431],{"data":64432,"marks":64433,"value":47931,"nodeType":864},{},[64434],{"type":1455},{"data":64436,"marks":64437,"value":47935,"nodeType":864},{},[],{"data":64439,"content":64442,"nodeType":996},{"target":64440},{"sys":64441},{"id":47940,"type":1001,"linkType":1002},[],{"data":64444,"content":64445,"nodeType":860},{},[64446,64449,64456],{"data":64447,"marks":64448,"value":47948,"nodeType":864},{},[],{"data":64450,"content":64451,"nodeType":883},{"uri":47951},[64452],{"data":64453,"marks":64454,"value":47957,"nodeType":864},{},[64455],{"type":1455},{"data":64457,"marks":64458,"value":47961,"nodeType":864},{},[],{"data":64460,"content":64461,"nodeType":860},{},[64462],{"data":64463,"marks":64464,"value":47968,"nodeType":864},{},[],{"data":64466,"content":64467,"nodeType":1312},{},[64468,64472],{"data":64469,"marks":64470,"value":47976,"nodeType":864},{},[64471],{"type":899},{"data":64473,"marks":64474,"value":1171,"nodeType":864},{},[],{"data":64476,"content":64477,"nodeType":860},{},[64478,64481,64489],{"data":64479,"marks":64480,"value":47986,"nodeType":864},{},[],{"data":64482,"content":64483,"nodeType":883},{"uri":47989},[64484],{"data":64485,"marks":64486,"value":47996,"nodeType":864},{},[64487,64488],{"type":1455},{"type":899},{"data":64490,"marks":64491,"value":48000,"nodeType":864},{},[],{"data":64493,"content":64494,"nodeType":860},{},[64495,64498,64505],{"data":64496,"marks":64497,"value":48007,"nodeType":864},{},[],{"data":64499,"content":64500,"nodeType":883},{"uri":48010},[64501],{"data":64502,"marks":64503,"value":48016,"nodeType":864},{},[64504],{"type":1455},{"data":64506,"marks":64507,"value":48020,"nodeType":864},{},[],{"data":64509,"content":64510,"nodeType":860},{},[64511],{"data":64512,"marks":64513,"value":48027,"nodeType":864},{},[],{"data":64515,"content":64516,"nodeType":860},{},[64517,64520,64527],{"data":64518,"marks":64519,"value":48034,"nodeType":864},{},[],{"data":64521,"content":64522,"nodeType":883},{"uri":15980},[64523],{"data":64524,"marks":64525,"value":48042,"nodeType":864},{},[64526],{"type":1455},{"data":64528,"marks":64529,"value":48046,"nodeType":864},{},[],{"data":64531,"content":64534,"nodeType":996},{"target":64532},{"sys":64533},{"id":48051,"type":1001,"linkType":1002},[],{"data":64536,"content":64537,"nodeType":860},{},[64538,64541,64548],{"data":64539,"marks":64540,"value":48059,"nodeType":864},{},[],{"data":64542,"content":64543,"nodeType":883},{"uri":48062},[64544],{"data":64545,"marks":64546,"value":48068,"nodeType":864},{},[64547],{"type":1455},{"data":64549,"marks":64550,"value":48072,"nodeType":864},{},[],{"data":64552,"content":64553,"nodeType":1005},{},[],{"data":64555,"content":64556,"nodeType":1009},{},[64557],{"data":64558,"marks":64559,"value":48082,"nodeType":864},{},[],{"data":64561,"content":64562,"nodeType":1312},{},[64563],{"data":64564,"marks":64565,"value":34943,"nodeType":864},{},[64566],{"type":899},{"data":64568,"content":64569,"nodeType":860},{},[64570],{"data":64571,"marks":64572,"value":48096,"nodeType":864},{},[],{"data":64574,"content":64575,"nodeType":860},{},[64576,64579,64586],{"data":64577,"marks":64578,"value":48103,"nodeType":864},{},[],{"data":64580,"content":64581,"nodeType":883},{"uri":48106},[64582],{"data":64583,"marks":64584,"value":48112,"nodeType":864},{},[64585],{"type":1455},{"data":64587,"marks":64588,"value":48116,"nodeType":864},{},[],{"data":64590,"content":64591,"nodeType":860},{},[64592,64595,64602],{"data":64593,"marks":64594,"value":48123,"nodeType":864},{},[],{"data":64596,"content":64597,"nodeType":883},{"uri":48126},[64598],{"data":64599,"marks":64600,"value":23700,"nodeType":864},{},[64601],{"type":1455},{"data":64603,"marks":64604,"value":22438,"nodeType":864},{},[],{"data":64606,"content":64607,"nodeType":860},{},[64608],{"data":64609,"marks":64610,"value":48141,"nodeType":864},{},[],{"data":64612,"content":64613,"nodeType":860},{},[64614,64617,64624],{"data":64615,"marks":64616,"value":48148,"nodeType":864},{},[],{"data":64618,"content":64619,"nodeType":883},{"uri":48151},[64620],{"data":64621,"marks":64622,"value":48157,"nodeType":864},{},[64623],{"type":1455},{"data":64625,"marks":64626,"value":48161,"nodeType":864},{},[],{"data":64628,"content":64629,"nodeType":860},{},[64630],{"data":64631,"marks":64632,"value":48168,"nodeType":864},{},[],{"data":64634,"content":64635,"nodeType":1312},{},[64636],{"data":64637,"marks":64638,"value":47976,"nodeType":864},{},[64639],{"type":899},{"data":64641,"content":64642,"nodeType":860},{},[64643,64646,64654,64658],{"data":64644,"marks":64645,"value":48182,"nodeType":864},{},[],{"data":64647,"content":64648,"nodeType":883},{"uri":48185},[64649],{"data":64650,"marks":64651,"value":48192,"nodeType":864},{},[64652,64653],{"type":1455},{"type":899},{"data":64655,"marks":64656,"value":48197,"nodeType":864},{},[64657],{"type":899},{"data":64659,"marks":64660,"value":12252,"nodeType":864},{},[],{"data":64662,"content":64663,"nodeType":860},{},[64664],{"data":64665,"marks":64666,"value":48207,"nodeType":864},{},[],{"data":64668,"content":64669,"nodeType":860},{},[64670,64673,64680],{"data":64671,"marks":64672,"value":48214,"nodeType":864},{},[],{"data":64674,"content":64675,"nodeType":883},{"uri":48217},[64676],{"data":64677,"marks":64678,"value":48223,"nodeType":864},{},[64679],{"type":1455},{"data":64681,"marks":64682,"value":48227,"nodeType":864},{},[],{"data":64684,"content":64685,"nodeType":860},{},[64686,64689,64697],{"data":64687,"marks":64688,"value":48234,"nodeType":864},{},[],{"data":64690,"content":64691,"nodeType":883},{"uri":48237},[64692],{"data":64693,"marks":64694,"value":48244,"nodeType":864},{},[64695,64696],{"type":1455},{"type":899},{"data":64698,"marks":64699,"value":48248,"nodeType":864},{},[],{"data":64701,"content":64704,"nodeType":996},{"target":64702},{"sys":64703},{"id":48253,"type":1001,"linkType":1002},[],{"data":64706,"content":64707,"nodeType":860},{},[64708],{"data":64709,"marks":64710,"value":48261,"nodeType":864},{},[],{"data":64712,"content":64713,"nodeType":860},{},[64714,64717,64724],{"data":64715,"marks":64716,"value":48268,"nodeType":864},{},[],{"data":64718,"content":64719,"nodeType":883},{"uri":36813},[64720],{"data":64721,"marks":64722,"value":48276,"nodeType":864},{},[64723],{"type":1455},{"data":64725,"marks":64726,"value":48280,"nodeType":864},{},[],{"data":64728,"content":64729,"nodeType":1005},{},[],{"data":64731,"content":64732,"nodeType":1009},{},[64733],{"data":64734,"marks":64735,"value":48290,"nodeType":864},{},[],{"data":64737,"content":64738,"nodeType":860},{},[64739,64742,64749],{"data":64740,"marks":64741,"value":48297,"nodeType":864},{},[],{"data":64743,"content":64744,"nodeType":883},{"uri":4408},[64745],{"data":64746,"marks":64747,"value":27246,"nodeType":864},{},[64748],{"type":1455},{"data":64750,"marks":64751,"value":2924,"nodeType":864},{},[],{"data":64753,"content":64754,"nodeType":860},{},[64755,64758,64765],{"data":64756,"marks":64757,"value":48314,"nodeType":864},{},[],{"data":64759,"content":64760,"nodeType":883},{"uri":3751},[64761],{"data":64762,"marks":64763,"value":48322,"nodeType":864},{},[64764],{"type":1455},{"data":64766,"marks":64767,"value":48326,"nodeType":864},{},[],{"data":64769,"content":64770,"nodeType":860},{},[64771],{"data":64772,"marks":64773,"value":48333,"nodeType":864},{},[],{"data":64775,"content":64776,"nodeType":941},{},[64777,64786,64795,64804,64813],{"data":64778,"content":64779,"nodeType":945},{},[64780],{"data":64781,"content":64782,"nodeType":860},{},[64783],{"data":64784,"marks":64785,"value":48346,"nodeType":864},{},[],{"data":64787,"content":64788,"nodeType":945},{},[64789],{"data":64790,"content":64791,"nodeType":860},{},[64792],{"data":64793,"marks":64794,"value":48356,"nodeType":864},{},[],{"data":64796,"content":64797,"nodeType":945},{},[64798],{"data":64799,"content":64800,"nodeType":860},{},[64801],{"data":64802,"marks":64803,"value":48366,"nodeType":864},{},[],{"data":64805,"content":64806,"nodeType":945},{},[64807],{"data":64808,"content":64809,"nodeType":860},{},[64810],{"data":64811,"marks":64812,"value":48376,"nodeType":864},{},[],{"data":64814,"content":64815,"nodeType":945},{},[64816],{"data":64817,"content":64818,"nodeType":860},{},[64819],{"data":64820,"marks":64821,"value":48386,"nodeType":864},{},[],{"data":64823,"content":64824,"nodeType":860},{},[64825],{"data":64826,"marks":64827,"value":48393,"nodeType":864},{},[],{"data":64829,"content":64830,"nodeType":1005},{},[],{"data":64832,"content":64833,"nodeType":1009},{},[64834],{"data":64835,"marks":64836,"value":48403,"nodeType":864},{},[],{"data":64838,"content":64839,"nodeType":1312},{},[64840],{"data":64841,"marks":64842,"value":34943,"nodeType":864},{},[64843],{"type":899},{"data":64845,"content":64846,"nodeType":860},{},[64847,64850,64857],{"data":64848,"marks":64849,"value":21,"nodeType":864},{},[],{"data":64851,"content":64852,"nodeType":883},{"uri":48419},[64853],{"data":64854,"marks":64855,"value":48425,"nodeType":864},{},[64856],{"type":1455},{"data":64858,"marks":64859,"value":48429,"nodeType":864},{},[],{"data":64861,"content":64862,"nodeType":860},{},[64863,64866,64873],{"data":64864,"marks":64865,"value":48436,"nodeType":864},{},[],{"data":64867,"content":64868,"nodeType":883},{"uri":48439},[64869],{"data":64870,"marks":64871,"value":48445,"nodeType":864},{},[64872],{"type":1455},{"data":64874,"marks":64875,"value":48449,"nodeType":864},{},[],{"data":64877,"content":64878,"nodeType":860},{},[64879],{"data":64880,"marks":64881,"value":48456,"nodeType":864},{},[],{"data":64883,"content":64884,"nodeType":1312},{},[64885],{"data":64886,"marks":64887,"value":47976,"nodeType":864},{},[64888],{"type":899},{"data":64890,"content":64891,"nodeType":860},{},[64892],{"data":64893,"marks":64894,"value":48470,"nodeType":864},{},[],{"data":64896,"content":64897,"nodeType":860},{},[64898,64901,64909],{"data":64899,"marks":64900,"value":1238,"nodeType":864},{},[],{"data":64902,"content":64903,"nodeType":883},{"uri":34857},[64904],{"data":64905,"marks":64906,"value":48485,"nodeType":864},{},[64907,64908],{"type":1455},{"type":899},{"data":64910,"marks":64911,"value":48489,"nodeType":864},{},[],{"data":64913,"content":64914,"nodeType":860},{},[64915],{"data":64916,"marks":64917,"value":48496,"nodeType":864},{},[],{"data":64919,"content":64920,"nodeType":860},{},[64921],{"data":64922,"marks":64923,"value":48503,"nodeType":864},{},[],{"data":64925,"content":64928,"nodeType":996},{"target":64926},{"sys":64927},{"id":43965,"type":1001,"linkType":1002},[],{"data":64930,"content":64933,"nodeType":996},{"target":64931},{"sys":64932},{"id":48513,"type":1001,"linkType":1002},[],{"data":64935,"content":64936,"nodeType":1005},{},[],{"data":64938,"content":64939,"nodeType":1009},{},[64940],{"data":64941,"marks":64942,"value":48524,"nodeType":864},{},[],{"data":64944,"content":64945,"nodeType":1312},{},[64946],{"data":64947,"marks":64948,"value":34943,"nodeType":864},{},[64949],{"type":899},{"data":64951,"content":64952,"nodeType":860},{},[64953],{"data":64954,"marks":64955,"value":48538,"nodeType":864},{},[],{"data":64957,"content":64958,"nodeType":860},{},[64959,64962,64969],{"data":64960,"marks":64961,"value":48545,"nodeType":864},{},[],{"data":64963,"content":64964,"nodeType":883},{"uri":48548},[64965],{"data":64966,"marks":64967,"value":48554,"nodeType":864},{},[64968],{"type":1455},{"data":64970,"marks":64971,"value":48558,"nodeType":864},{},[],{"data":64973,"content":64974,"nodeType":1116},{},[64975],{"data":64976,"content":64977,"nodeType":860},{},[64978],{"data":64979,"marks":64980,"value":48568,"nodeType":864},{},[],{"data":64982,"content":64983,"nodeType":860},{},[64984,64987,64994],{"data":64985,"marks":64986,"value":48575,"nodeType":864},{},[],{"data":64988,"content":64989,"nodeType":883},{"uri":48419},[64990],{"data":64991,"marks":64992,"value":48583,"nodeType":864},{},[64993],{"type":1455},{"data":64995,"marks":64996,"value":48587,"nodeType":864},{},[],{"data":64998,"content":64999,"nodeType":860},{},[65000],{"data":65001,"marks":65002,"value":48594,"nodeType":864},{},[],{"data":65004,"content":65005,"nodeType":860},{},[65006],{"data":65007,"marks":65008,"value":48601,"nodeType":864},{},[],{"data":65010,"content":65011,"nodeType":1116},{},[65012],{"data":65013,"content":65014,"nodeType":860},{},[65015],{"data":65016,"marks":65017,"value":48611,"nodeType":864},{},[],{"data":65019,"content":65020,"nodeType":1312},{},[65021],{"data":65022,"marks":65023,"value":47976,"nodeType":864},{},[65024],{"type":899},{"data":65026,"content":65027,"nodeType":860},{},[65028],{"data":65029,"marks":65030,"value":48625,"nodeType":864},{},[],{"data":65032,"content":65033,"nodeType":860},{},[65034,65037,65045],{"data":65035,"marks":65036,"value":48632,"nodeType":864},{},[],{"data":65038,"content":65039,"nodeType":883},{"uri":35369},[65040],{"data":65041,"marks":65042,"value":48641,"nodeType":864},{},[65043,65044],{"type":1455},{"type":899},{"data":65046,"marks":65047,"value":48645,"nodeType":864},{},[],{"data":65049,"content":65052,"nodeType":996},{"target":65050},{"sys":65051},{"id":48650,"type":1001,"linkType":1002},[],{"data":65054,"content":65055,"nodeType":1005},{},[],{"data":65057,"content":65058,"nodeType":1009},{},[65059],{"data":65060,"marks":65061,"value":48661,"nodeType":864},{},[],{"data":65063,"content":65064,"nodeType":860},{},[65065],{"data":65066,"marks":65067,"value":48668,"nodeType":864},{},[],{"data":65069,"content":65070,"nodeType":860},{},[65071],{"data":65072,"marks":65073,"value":48675,"nodeType":864},{},[],{"data":65075,"content":65076,"nodeType":941},{},[65077,65093,65109],{"data":65078,"content":65079,"nodeType":945},{},[65080],{"data":65081,"content":65082,"nodeType":860},{},[65083,65086,65090],{"data":65084,"marks":65085,"value":48688,"nodeType":864},{},[],{"data":65087,"marks":65088,"value":48693,"nodeType":864},{},[65089],{"type":899},{"data":65091,"marks":65092,"value":48697,"nodeType":864},{},[],{"data":65094,"content":65095,"nodeType":945},{},[65096],{"data":65097,"content":65098,"nodeType":860},{},[65099,65102,65106],{"data":65100,"marks":65101,"value":48707,"nodeType":864},{},[],{"data":65103,"marks":65104,"value":48712,"nodeType":864},{},[65105],{"type":899},{"data":65107,"marks":65108,"value":48716,"nodeType":864},{},[],{"data":65110,"content":65111,"nodeType":945},{},[65112],{"data":65113,"content":65114,"nodeType":860},{},[65115,65118,65122,65125,65132],{"data":65116,"marks":65117,"value":48726,"nodeType":864},{},[],{"data":65119,"marks":65120,"value":48731,"nodeType":864},{},[65121],{"type":899},{"data":65123,"marks":65124,"value":48735,"nodeType":864},{},[],{"data":65126,"content":65127,"nodeType":883},{"uri":17701},[65128],{"data":65129,"marks":65130,"value":17706,"nodeType":864},{},[65131],{"type":1455},{"data":65133,"marks":65134,"value":48746,"nodeType":864},{},[],{"data":65136,"content":65137,"nodeType":860},{},[65138],{"data":65139,"marks":65140,"value":48753,"nodeType":864},{},[],{"data":65142,"content":65143,"nodeType":860},{},[65144],{"data":65145,"marks":65146,"value":48760,"nodeType":864},{},[],{"data":65148,"content":65149,"nodeType":860},{},[65150],{"data":65151,"marks":65152,"value":48767,"nodeType":864},{},[],{"data":65154,"content":65155,"nodeType":1312},{},[65156],{"data":65157,"marks":65158,"value":48775,"nodeType":864},{},[65159],{"type":899},{"data":65161,"content":65162,"nodeType":860},{},[65163,65166,65174],{"data":65164,"marks":65165,"value":48782,"nodeType":864},{},[],{"data":65167,"content":65168,"nodeType":883},{"uri":48785},[65169],{"data":65170,"marks":65171,"value":48792,"nodeType":864},{},[65172,65173],{"type":1455},{"type":899},{"data":65175,"marks":65176,"value":48796,"nodeType":864},{},[],{"data":65178,"content":65179,"nodeType":860},{},[65180],{"data":65181,"marks":65182,"value":48803,"nodeType":864},{},[],{"data":65184,"content":65187,"nodeType":996},{"target":65185},{"sys":65186},{"id":48808,"type":1001,"linkType":1002},[],{"data":65189,"content":65190,"nodeType":1312},{},[65191,65195],{"data":65192,"marks":65193,"value":48817,"nodeType":864},{},[65194],{"type":899},{"data":65196,"marks":65197,"value":1171,"nodeType":864},{},[],{"data":65199,"content":65200,"nodeType":860},{},[65201,65204,65212],{"data":65202,"marks":65203,"value":48827,"nodeType":864},{},[],{"data":65205,"content":65206,"nodeType":883},{"uri":48830},[65207],{"data":65208,"marks":65209,"value":48837,"nodeType":864},{},[65210,65211],{"type":1455},{"type":899},{"data":65213,"marks":65214,"value":48841,"nodeType":864},{},[],{"data":65216,"content":65217,"nodeType":860},{},[65218],{"data":65219,"marks":65220,"value":48848,"nodeType":864},{},[],{"data":65222,"content":65223,"nodeType":1312},{},[65224],{"data":65225,"marks":65226,"value":48856,"nodeType":864},{},[65227],{"type":899},{"data":65229,"content":65230,"nodeType":860},{},[65231,65234,65242],{"data":65232,"marks":65233,"value":48863,"nodeType":864},{},[],{"data":65235,"content":65236,"nodeType":883},{"uri":35429},[65237],{"data":65238,"marks":65239,"value":28463,"nodeType":864},{},[65240,65241],{"type":1455},{"type":899},{"data":65243,"marks":65244,"value":48875,"nodeType":864},{},[],{"data":65246,"content":65247,"nodeType":860},{},[65248],{"data":65249,"marks":65250,"value":48882,"nodeType":864},{},[],{"data":65252,"content":65253,"nodeType":860},{},[65254],{"data":65255,"marks":65256,"value":48889,"nodeType":864},{},[],{"data":65258,"content":65261,"nodeType":996},{"target":65259},{"sys":65260},{"id":48894,"type":1001,"linkType":1002},[],{"data":65263,"content":65264,"nodeType":1005},{},[],{"data":65266,"content":65267,"nodeType":1009},{},[65268],{"data":65269,"marks":65270,"value":48905,"nodeType":864},{},[],{"data":65272,"content":65273,"nodeType":860},{},[65274,65277,65283],{"data":65275,"marks":65276,"value":48912,"nodeType":864},{},[],{"data":65278,"content":65279,"nodeType":883},{"uri":5642},[65280],{"data":65281,"marks":65282,"value":48919,"nodeType":864},{},[],{"data":65284,"marks":65285,"value":48923,"nodeType":864},{},[],{"items":65287},[65288,65290],{"sys":65289,"name":342},{"id":6596},{"sys":65291,"name":297},{"id":2732},{"items":65293},[65294],{"fullName":849,"firstName":850,"jobTitle":851,"profilePicture":65295},{"url":853},{"__typename":2059,"sys":65297,"content":65299,"title":65936,"synopsis":65937,"hashTags":59,"publishedDate":48926,"slug":65938,"tagsCollection":65939,"authorsCollection":65945},{"id":65298},"wikyVxlHwKUOKM9xo19eP",{"json":65300},{"data":65301,"content":65302,"nodeType":856},{},[65303,65309,65312,65319,65342,65372,65382,65401,65408,65414,65421,65436,65443,65446,65453,65460,65479,65486,65531,65538,65544,65549,65556,65589,65603,65606,65613,65620,65627,65634,65641,65648,65655,65762,65767,65782,65789,65804,65837,65852,65858,65873,65879,65886,65893,65899,65906,65912,65918],{"data":65304,"content":65308,"nodeType":996},{"target":65305},{"sys":65306},{"id":65307,"type":1001,"linkType":1002},"1hUpsNwuhEXwSPijvRflTq",[],{"data":65310,"content":65311,"nodeType":1005},{},[],{"data":65313,"content":65314,"nodeType":860},{},[65315],{"data":65316,"marks":65317,"value":65318,"nodeType":864},{},[],"There are two things every security operations engineer can agree on:",{"data":65320,"content":65321,"nodeType":941},{},[65322,65332],{"data":65323,"content":65324,"nodeType":945},{},[65325],{"data":65326,"content":65327,"nodeType":860},{},[65328],{"data":65329,"marks":65330,"value":65331,"nodeType":864},{},[],"Get MFA on every account on every app.",{"data":65333,"content":65334,"nodeType":945},{},[65335],{"data":65336,"content":65337,"nodeType":860},{},[65338],{"data":65339,"marks":65340,"value":65341,"nodeType":864},{},[],"This is stupidly harder to achieve than it seems.",{"data":65343,"content":65344,"nodeType":860},{},[65345,65349,65357,65361,65368],{"data":65346,"marks":65347,"value":65348,"nodeType":864},{},[],"The penalties for failing to solve this hard simple problem are abundantly clear. Stolen credentials accounted for roughly half of the initial access methods observed this year across 30,000+ attacks, according to Verizon’s 2024 ",{"data":65350,"content":65351,"nodeType":883},{"uri":8628},[65352],{"data":65353,"marks":65354,"value":65356,"nodeType":864},{},[65355],{"type":1455},"Data Breach Investigations Report",{"data":65358,"marks":65359,"value":65360,"nodeType":864},{},[],". And ",{"data":65362,"content":65363,"nodeType":883},{"uri":48548},[65364],{"data":65365,"marks":65366,"value":65367,"nodeType":864},{},[],"in a review of 30 publicly disclosed breaches involving identity attacks",{"data":65369,"marks":65370,"value":65371,"nodeType":864},{},[]," in 2024, we found that 73% (almost three-quarters) were the result of compromised credentials, with the rest the result of phishing. ",{"data":65373,"content":65374,"nodeType":1116},{},[65375],{"data":65376,"content":65377,"nodeType":860},{},[65378],{"data":65379,"marks":65380,"value":65381,"nodeType":864},{},[],"Three-quarters of publicly disclosed breaches involving identity attacks in 2024 involved compromised credentials and missing MFA.",{"data":65383,"content":65384,"nodeType":860},{},[65385,65389,65397],{"data":65386,"marks":65387,"value":65388,"nodeType":864},{},[],"In the case of the ",{"data":65390,"content":65391,"nodeType":883},{"uri":3751},[65392],{"data":65393,"marks":65394,"value":65396,"nodeType":864},{},[65395],{"type":1455},"Snowflake incident",{"data":65398,"marks":65399,"value":65400,"nodeType":864},{},[]," earlier this year, a lack of MFA meant the difference between an enormous and murky firefight to clean up accounts breached with legitimate credentials, and a decent night’s sleep. The result was hundreds of millions of breached customer records, nine publicly named victims, and at least one ransom paid.",{"data":65402,"content":65403,"nodeType":860},{},[65404],{"data":65405,"marks":65406,"value":65407,"nodeType":864},{},[],"“Do you know how many accounts we have on this third-party service, who owns them, how many tenants, whether those creds are shared elsewhere, and their security posture?” is not a fun question to answer on a Friday. ",{"data":65409,"content":65413,"nodeType":996},{"target":65410},{"sys":65411},{"id":65412,"type":1001,"linkType":1002},"6hg6PLXWMZaEDnGekHEzmD",[],{"data":65415,"content":65416,"nodeType":860},{},[65417],{"data":65418,"marks":65419,"value":65420,"nodeType":864},{},[],"For SecOps teams we’ve helped here at Push that responded to incidents affecting third-party apps (like Snowflake), the first item on the recovery plan is to finally solve that hard simple problem: No more MFA gaps.",{"data":65422,"content":65423,"nodeType":860},{},[65424,65428,65432],{"data":65425,"marks":65426,"value":65427,"nodeType":864},{},[],"With our latest feature release, ",{"data":65429,"marks":65430,"value":28463,"nodeType":864},{},[65431],{"type":899},{"data":65433,"marks":65434,"value":65435,"nodeType":864},{},[],", this is so much easier. With MFA enforcement, Push administrators can configure a control to prompt employees to enroll in MFA whenever Push detects that they’re not registered — even on apps that don’t natively provide any administrative enforcement option for MFA. This capability is made possible by the Push browser extension, which uses in-browser messaging and simple workflows to guide users right where they work.",{"data":65437,"content":65438,"nodeType":860},{},[65439],{"data":65440,"marks":65441,"value":65442,"nodeType":864},{},[],"In this article, we’ll cover how Push helps you identify and close MFA gaps, how our new enforcement feature is one part of that solution, and how you can test the platform yourself.",{"data":65444,"content":65445,"nodeType":1005},{},[],{"data":65447,"content":65448,"nodeType":1009},{},[65449],{"data":65450,"marks":65451,"value":65452,"nodeType":864},{},[],"Shining a light on MFA gaps",{"data":65454,"content":65455,"nodeType":860},{},[65456],{"data":65457,"marks":65458,"value":65459,"nodeType":864},{},[],"There’s no question that the rise of ubiquitous multi-factor authentication has been an enormous advance for defenders in cybersecurity. ",{"data":65461,"content":65462,"nodeType":860},{},[65463,65467,65476],{"data":65464,"marks":65465,"value":65466,"nodeType":864},{},[],"Yet several years into this journey, the problem of verifying and enforcing MFA coverage across an organization remains a bit of a ",{"data":65468,"content":65470,"nodeType":883},{"uri":65469},"https://en.wikipedia.org/wiki/Puzzle_box",[65471],{"data":65472,"marks":65473,"value":65475,"nodeType":864},{},[65474],{"type":1455},"puzzle box",{"data":65477,"marks":65478,"value":2924,"nodeType":864},{},[],{"data":65480,"content":65481,"nodeType":860},{},[65482],{"data":65483,"marks":65484,"value":65485,"nodeType":864},{},[],"Why is this?",{"data":65487,"content":65488,"nodeType":941},{},[65489,65499,65509],{"data":65490,"content":65491,"nodeType":945},{},[65492],{"data":65493,"content":65494,"nodeType":860},{},[65495],{"data":65496,"marks":65497,"value":65498,"nodeType":864},{},[],"Complex overlapping (and occasionally contradictory) configurations for enterprise MFA solutions can result in entire employee groups not registered for MFA, and other critical missing pieces.",{"data":65500,"content":65501,"nodeType":945},{},[65502],{"data":65503,"content":65504,"nodeType":860},{},[65505],{"data":65506,"marks":65507,"value":65508,"nodeType":864},{},[],"With a sprawling ecosystem of both SSO-managed and unmanaged self-adopted SaaS, MFA coverage ends up looking more like a patchwork than a unified layer of protection. Security teams lack visibility of freemium and self-purchased apps, and when signup is simple, many users will naturally skip MFA registration to remove a layer of friction. The end result is often a suite of core apps managed via SSO that enforce MFA — and a lot of other unmanaged apps that don’t (true nightmare fodder).",{"data":65510,"content":65511,"nodeType":945},{},[65512],{"data":65513,"content":65514,"nodeType":860},{},[65515,65519,65527],{"data":65516,"marks":65517,"value":65518,"nodeType":864},{},[],"Another annoying piece of the puzzle box: Even in organizations with a high adoption rate of phishing-resistant MFA methods, having backup MFA methods (and a lack of total visibility into all of those registered methods) can create situations where ",{"data":65520,"content":65521,"nodeType":883},{"uri":39911},[65522],{"data":65523,"marks":65524,"value":65526,"nodeType":864},{},[65525],{"type":1455},"MFA downgrade attacks",{"data":65528,"marks":65529,"value":65530,"nodeType":864},{},[]," are still possible. In MFA downgrade attacks, backup MFA methods that are less secure such as SMS or TOTP can be exploited, effectively bypassing more phishing-resistant methods.",{"data":65532,"content":65533,"nodeType":860},{},[65534],{"data":65535,"marks":65536,"value":65537,"nodeType":864},{},[],"The challenges of solving this puzzle are evident. ",{"data":65539,"content":65543,"nodeType":996},{"target":65540},{"sys":65541},{"id":65542,"type":1001,"linkType":1002},"2BBiFx8pHjSCeLTlP6n6da",[],{"data":65545,"content":65548,"nodeType":996},{"target":65546},{"sys":65547},{"id":50890,"type":1001,"linkType":1002},[],{"data":65550,"content":65551,"nodeType":860},{},[65552],{"data":65553,"marks":65554,"value":65555,"nodeType":864},{},[],"To shine a light on MFA gaps, then, security teams need three things:",{"data":65557,"content":65558,"nodeType":941},{},[65559,65569,65579],{"data":65560,"content":65561,"nodeType":945},{},[65562],{"data":65563,"content":65564,"nodeType":860},{},[65565],{"data":65566,"marks":65567,"value":65568,"nodeType":864},{},[],"A full accounting of their identity attack surface, including accounts on unmanaged and freemium apps not on SSO.",{"data":65570,"content":65571,"nodeType":945},{},[65572],{"data":65573,"content":65574,"nodeType":860},{},[65575],{"data":65576,"marks":65577,"value":65578,"nodeType":864},{},[],"A trustworthy out-of-band method for verifying MFA coverage, beyond the tangle of conditional access rules.",{"data":65580,"content":65581,"nodeType":945},{},[65582],{"data":65583,"content":65584,"nodeType":860},{},[65585],{"data":65586,"marks":65587,"value":65588,"nodeType":864},{},[],"Visibility into which MFA methods are registered to a given account.",{"data":65590,"content":65591,"nodeType":860},{},[65592,65596,65600],{"data":65593,"marks":65594,"value":65595,"nodeType":864},{},[],"You can get all three with the Push platform. The missing piece we’ve now added is a way to automatically prompt employees to add MFA wherever it’s missing. Enter ",{"data":65597,"marks":65598,"value":28463,"nodeType":864},{},[65599],{"type":899},{"data":65601,"marks":65602,"value":2924,"nodeType":864},{},[],{"data":65604,"content":65605,"nodeType":1005},{},[],{"data":65607,"content":65608,"nodeType":1009},{},[65609],{"data":65610,"marks":65611,"value":65612,"nodeType":864},{},[],"How Push helps you ensure MFA coverage",{"data":65614,"content":65615,"nodeType":860},{},[65616],{"data":65617,"marks":65618,"value":65619,"nodeType":864},{},[],"Let’s take a look at a hypothetical incident response scenario to see how Push’s identity visibility and security controls help you ensure MFA coverage.",{"data":65621,"content":65622,"nodeType":860},{},[65623],{"data":65624,"marks":65625,"value":65626,"nodeType":864},{},[],"We’ll assume that prior to this incident, you had already deployed the Push browser extension, which you can install and enforce using any MDM solution, on all major browsers.",{"data":65628,"content":65629,"nodeType":860},{},[65630],{"data":65631,"marks":65632,"value":65633,"nodeType":864},{},[],"It’s a Friday afternoon (sorry).",{"data":65635,"content":65636,"nodeType":860},{},[65637],{"data":65638,"marks":65639,"value":65640,"nodeType":864},{},[],"News breaks that there’s been a suspected breach at a popular enterprise SaaS service.",{"data":65642,"content":65643,"nodeType":860},{},[65644],{"data":65645,"marks":65646,"value":65647,"nodeType":864},{},[],"You’re familiar with the service, but you don’t believe it’s a core managed app at your organization. Unfortunately, that does not mean you don’t have accounts (sorry again).",{"data":65649,"content":65650,"nodeType":860},{},[65651],{"data":65652,"marks":65653,"value":65654,"nodeType":864},{},[],"Using Push, you can:",{"data":65656,"content":65657,"nodeType":941},{},[65658,65677,65687,65714,65740],{"data":65659,"content":65660,"nodeType":945},{},[65661],{"data":65662,"content":65663,"nodeType":860},{},[65664,65668,65673],{"data":65665,"marks":65666,"value":65667,"nodeType":864},{},[],"Immediately check whether the Push extension has observed employee usage of the breached app. It will appear on the ",{"data":65669,"marks":65670,"value":65672,"nodeType":864},{},[65671],{"type":899},"Apps",{"data":65674,"marks":65675,"value":65676,"nodeType":864},{},[]," table. From this overview, you can see how many accounts Push has seen on that app and how they are accessing it (SSO vs. other methods, such as local password login).",{"data":65678,"content":65679,"nodeType":945},{},[65680],{"data":65681,"content":65682,"nodeType":860},{},[65683],{"data":65684,"marks":65685,"value":65686,"nodeType":864},{},[],"For those accounts on the breached app, you can quickly see whether they have MFA, and which methods are registered. To determine MFA status, the Push extension uses the existing user’s active session on an app to query that account’s MFA registration status using the app’s own API, providing a trustworthy verification. ",{"data":65688,"content":65689,"nodeType":945},{},[65690],{"data":65691,"content":65692,"nodeType":860},{},[65693,65697,65702,65706,65711],{"data":65694,"marks":65695,"value":65696,"nodeType":864},{},[],"You can also see whether the users’ passwords have any security issues, such as a verified stolen credential, or a password that’s weak or reused by filtering the ",{"data":65698,"marks":65699,"value":65701,"nodeType":864},{},[65700],{"type":899},"Accounts",{"data":65703,"marks":65704,"value":65705,"nodeType":864},{},[]," list for ",{"data":65707,"marks":65708,"value":65710,"nodeType":864},{},[65709],{"type":899},"Findings",{"data":65712,"marks":65713,"value":2924,"nodeType":864},{},[],{"data":65715,"content":65716,"nodeType":945},{},[65717],{"data":65718,"content":65719,"nodeType":860},{},[65720,65724,65728,65732,65736],{"data":65721,"marks":65722,"value":65723,"nodeType":864},{},[],"For accounts that lack MFA, you can then configure the ",{"data":65725,"marks":65726,"value":28463,"nodeType":864},{},[65727],{"type":899},{"data":65729,"marks":65730,"value":65731,"nodeType":864},{},[]," control from the ",{"data":65733,"marks":65734,"value":51400,"nodeType":864},{},[65735],{"type":899},{"data":65737,"marks":65738,"value":65739,"nodeType":864},{},[]," page. This will prompt employees who lack MFA to set it up whenever they next use the app. In parallel, you can reach out to affected employees through your preferred comms channel and ask them to immediately register for MFA and change their password on the app. ",{"data":65741,"content":65742,"nodeType":945},{},[65743],{"data":65744,"content":65745,"nodeType":860},{},[65746,65750,65759],{"data":65747,"marks":65748,"value":65749,"nodeType":864},{},[],"Then use Push’s webhooks to monitor for MFA registrations and password changes to roll in, by querying the ",{"data":65751,"content":65753,"nodeType":883},{"uri":65752},"https://pushsecurity.redoc.ly/webhooks-v1#operation/login-event",[65754],{"data":65755,"marks":65756,"value":65758,"nodeType":864},{},[65757],{"type":1455},"Login event",{"data":65760,"marks":65761,"value":2924,"nodeType":864},{},[],{"data":65763,"content":65766,"nodeType":996},{"target":65764},{"sys":65765},{"id":35444,"type":1001,"linkType":1002},[],{"data":65768,"content":65769,"nodeType":860},{},[65770,65774,65778],{"data":65771,"marks":65772,"value":65773,"nodeType":864},{},[],"By combining visibility of your workforce identities — including granular context on their MFA registration status, MFA methods, and password security, even on unmanaged apps — with in-browser controls like ",{"data":65775,"marks":65776,"value":28463,"nodeType":864},{},[65777],{"type":899},{"data":65779,"marks":65780,"value":65781,"nodeType":864},{},[],", Push helps security teams respond quickly and with assurance that they have the right information and tools to remediate the issue.",{"data":65783,"content":65784,"nodeType":1009},{},[65785],{"data":65786,"marks":65787,"value":65788,"nodeType":864},{},[],"A closer look at MFA enforcement",{"data":65790,"content":65791,"nodeType":860},{},[65792,65796,65800],{"data":65793,"marks":65794,"value":65795,"nodeType":864},{},[],"With the in-browser ",{"data":65797,"marks":65798,"value":28463,"nodeType":864},{},[65799],{"type":899},{"data":65801,"marks":65802,"value":65803,"nodeType":864},{},[]," control, we chose this approach to close the loop on missing MFA issues because:",{"data":65805,"content":65806,"nodeType":941},{},[65807,65817,65827],{"data":65808,"content":65809,"nodeType":945},{},[65810],{"data":65811,"content":65812,"nodeType":860},{},[65813],{"data":65814,"marks":65815,"value":65816,"nodeType":864},{},[],"It meets users where they are, in the most relevant context where they can successfully address the issue.",{"data":65818,"content":65819,"nodeType":945},{},[65820],{"data":65821,"content":65822,"nodeType":860},{},[65823],{"data":65824,"marks":65825,"value":65826,"nodeType":864},{},[],"It solves the problem of enforcing MFA on apps that are outside of administrative control — or that don’t provide any administrative controls to enforce MFA registration natively.",{"data":65828,"content":65829,"nodeType":945},{},[65830],{"data":65831,"content":65832,"nodeType":860},{},[65833],{"data":65834,"marks":65835,"value":65836,"nodeType":864},{},[],"It’s tenant-agnostic. That means that you can enforce MFA for a given app on all tenants of that app, even those free-tier or test tenants that you don’t know about and have no control over.",{"data":65838,"content":65839,"nodeType":860},{},[65840,65844,65848],{"data":65841,"marks":65842,"value":65843,"nodeType":864},{},[],"As a happy side effect, your compliance team will thank you for finally allowing them to attest to where MFA is ",{"data":65845,"marks":65846,"value":31894,"nodeType":864},{},[65847],{"type":2246},{"data":65849,"marks":65850,"value":65851,"nodeType":864},{},[]," enforced — with verified results, visible at the account level in Push’s admin reporting — across your environment.",{"data":65853,"content":65854,"nodeType":860},{},[65855],{"data":65856,"marks":65857,"value":51374,"nodeType":864},{},[],{"data":65859,"content":65860,"nodeType":860},{},[65861,65865,65869],{"data":65862,"marks":65863,"value":65864,"nodeType":864},{},[],"To enable MFA enforcement, use the configuration tile on the ",{"data":65866,"marks":65867,"value":51400,"nodeType":864},{},[65868],{"type":899},{"data":65870,"marks":65871,"value":65872,"nodeType":864},{},[]," page of the Push admin console and select which apps should require MFA registration. The control currently works with ~90 high-value apps, including Postman, Retool, Datadog, Atlassian, Okta, and others.",{"data":65874,"content":65878,"nodeType":996},{"target":65875},{"sys":65876},{"id":65877,"type":1001,"linkType":1002},"2sDbYZL4oJDxLMbYErJfIN",[],{"data":65880,"content":65881,"nodeType":860},{},[65882],{"data":65883,"marks":65884,"value":65885,"nodeType":864},{},[],"You can then customize the message the employees will see.",{"data":65887,"content":65888,"nodeType":860},{},[65889],{"data":65890,"marks":65891,"value":65892,"nodeType":864},{},[],"On the end-user side, employees will see a banner with your message as soon as they use an app where they lack MFA. ",{"data":65894,"content":65898,"nodeType":996},{"target":65895},{"sys":65896},{"id":65897,"type":1001,"linkType":1002},"37aH1maXXkF8DxgjUod5dn",[],{"data":65900,"content":65901,"nodeType":860},{},[65902],{"data":65903,"marks":65904,"value":65905,"nodeType":864},{},[],"To complete MFA registration, the user can go directly to the app’s MFA registration page from a link in the banner (Push provides this link automatically, where one exists). The extension will query the user’s MFA status regularly in the background and when MFA registration is completed, the banner will disappear and the Push platform will clear the “No MFA” security finding for that account.",{"data":65907,"content":65911,"nodeType":996},{"target":65908},{"sys":65909},{"id":65910,"type":1001,"linkType":1002},"3yb4KjhH3AbvvSnfMbNONr",[],{"data":65913,"content":65914,"nodeType":1009},{},[65915],{"data":65916,"marks":65917,"value":36405,"nodeType":864},{},[],{"data":65919,"content":65920,"nodeType":860},{},[65921,65925,65932],{"data":65922,"marks":65923,"value":65924,"nodeType":864},{},[],"To test our MFA visibility and control features, ",{"data":65926,"content":65927,"nodeType":883},{"uri":28771},[65928],{"data":65929,"marks":65930,"value":65931,"nodeType":864},{},[],"request a demo",{"data":65933,"marks":65934,"value":65935,"nodeType":864},{},[]," from our team. We look forward to helping you finally turn the challenge of MFA coverage into a simple problem, easily solved.","No more hard simple problems: Enforce MFA on third-party apps with Push","Using Push to enforce MFA on third-party apps in the browser — even where MFA enforcement isn't supported by the app itself.","enforce-mfa-on-third-party-apps",{"items":65940},[65941,65943],{"sys":65942,"name":297},{"id":2732},{"sys":65944,"name":342},{"id":6596},{"items":65946},[65947],{"fullName":849,"firstName":850,"jobTitle":851,"profilePicture":65948},{"url":853},"blog/how-new-ai-agents-will-transform-credential-stuffing-attacks",{"json":65951},{"data":65952,"content":65953,"nodeType":856},{},[65954],{"data":65955,"content":65956,"nodeType":860},{},[65957],{"data":65958,"marks":65959,"value":65960,"nodeType":864},{},[],"Credential stuffing attacks had a huge impact in 2024, fueled by a vicious circle of infostealer infections and data breaches. But things could be about to get worse still with Computer-Using Agents, a new kind of AI agent that enables low-cost, low-effort automation of common web tasks — including those frequently performed by attackers.",{"id":60895,"publishedAt":65962},"2026-08-12T11:54:27.033Z",{"items":65964},[65965,65967],{"sys":65966,"name":6593},{"id":6592},{"sys":65968,"name":297},{"id":2732},{"items":65970},[65971,65973,65975,65977,65979,65981,65983,65985,65987,65989,65991,65993],{"sys":65972,"name":279,"slug":280,"tier":31},{"id":276},{"sys":65974,"name":235,"slug":236,"tier":31},{"id":232},{"sys":65976,"name":413,"slug":414,"tier":31},{"id":410},{"sys":65978,"name":545,"slug":546,"tier":31},{"id":542},{"sys":65980,"name":642,"slug":643,"tier":31},{"id":639},{"sys":65982,"name":333,"slug":334,"tier":45},{"id":330},{"sys":65984,"name":244,"slug":245,"tier":45},{"id":241},{"sys":65986,"name":404,"slug":405,"tier":45},{"id":401},{"sys":65988,"name":422,"slug":423,"tier":45},{"id":419},{"sys":65990,"name":502,"slug":503,"tier":45},{"id":499},{"sys":65992,"name":457,"slug":458,"tier":45},{"id":454},{"sys":65994,"name":528,"slug":529,"tier":45},{"id":525},"UIcjNmC70rCBCwd-j86eeibsl8N_v-w6xGOJ5IMJd1c",{"id":65997,"title":42449,"authorsCollection":65998,"content":66003,"extension":228,"faqItemsCollection":66937,"faqTitle":59,"featured":6,"hashTags":59,"meta":66939,"metaTitle":66940,"ogImage":66941,"postType":9326,"publishedDate":42451,"relatedBlogPostsCollection":66943,"slug":42452,"stem":69140,"subtitle":69141,"summary":69142,"synopsis":42450,"sys":69153,"tagsCollection":69155,"topicsCollection":69161,"__hash__":69193},"blog/blog/minimum-viable-identity-security.json",{"items":65999},[66000],{"fullName":2736,"firstName":2737,"jobTitle":2738,"socialLinks":66001,"profilePicture":66002},[11304],{"url":2740},{"json":66004,"links":66771},{"data":66005,"content":66006,"nodeType":856},{},[66007,66013,66019,66025,66030,66033,66040,66056,66062,66068,66074,66095,66102,66105,66112,66118,66124,66130,66136,66141,66147,66153,66183,66189,66196,66201,66207,66223,66239,66244,66249,66256,66272,66277,66283,66289,66319,66326,66332,66337,66343,66349,66375,66382,66398,66405,66421,66428,66434,66439,66445,66448,66455,66471,66520,66526,66532,66539,66545,66566,66572,66588,66593,66599,66604,66610,66667,66674,66690,66696,66717,66720,66727,66733,66738,66744,66760,66765],{"data":66008,"content":66009,"nodeType":860},{},[66010],{"data":66011,"marks":66012,"value":41581,"nodeType":864},{},[],{"data":66014,"content":66015,"nodeType":860},{},[66016],{"data":66017,"marks":66018,"value":41588,"nodeType":864},{},[],{"data":66020,"content":66021,"nodeType":860},{},[66022],{"data":66023,"marks":66024,"value":41595,"nodeType":864},{},[],{"data":66026,"content":66029,"nodeType":996},{"target":66027},{"sys":66028},{"id":34138,"type":1001,"linkType":1002},[],{"data":66031,"content":66032,"nodeType":1005},{},[],{"data":66034,"content":66035,"nodeType":1009},{},[66036],{"data":66037,"marks":66038,"value":41611,"nodeType":864},{},[66039],{"type":899},{"data":66041,"content":66042,"nodeType":860},{},[66043,66046,66053],{"data":66044,"marks":66045,"value":2761,"nodeType":864},{},[],{"data":66047,"content":66048,"nodeType":883},{"uri":41620},[66049],{"data":66050,"marks":66051,"value":41626,"nodeType":864},{},[66052],{"type":1455},{"data":66054,"marks":66055,"value":41630,"nodeType":864},{},[],{"data":66057,"content":66058,"nodeType":860},{},[66059],{"data":66060,"marks":66061,"value":41637,"nodeType":864},{},[],{"data":66063,"content":66064,"nodeType":860},{},[66065],{"data":66066,"marks":66067,"value":41644,"nodeType":864},{},[],{"data":66069,"content":66070,"nodeType":860},{},[66071],{"data":66072,"marks":66073,"value":41651,"nodeType":864},{},[],{"data":66075,"content":66076,"nodeType":941},{},[66077,66086],{"data":66078,"content":66079,"nodeType":945},{},[66080],{"data":66081,"content":66082,"nodeType":860},{},[66083],{"data":66084,"marks":66085,"value":41664,"nodeType":864},{},[],{"data":66087,"content":66088,"nodeType":945},{},[66089],{"data":66090,"content":66091,"nodeType":860},{},[66092],{"data":66093,"marks":66094,"value":41674,"nodeType":864},{},[],{"data":66096,"content":66097,"nodeType":860},{},[66098],{"data":66099,"marks":66100,"value":41682,"nodeType":864},{},[66101],{"type":899},{"data":66103,"content":66104,"nodeType":1005},{},[],{"data":66106,"content":66107,"nodeType":1009},{},[66108],{"data":66109,"marks":66110,"value":41693,"nodeType":864},{},[66111],{"type":899},{"data":66113,"content":66114,"nodeType":860},{},[66115],{"data":66116,"marks":66117,"value":41700,"nodeType":864},{},[],{"data":66119,"content":66120,"nodeType":860},{},[66121],{"data":66122,"marks":66123,"value":41707,"nodeType":864},{},[],{"data":66125,"content":66126,"nodeType":860},{},[66127],{"data":66128,"marks":66129,"value":41714,"nodeType":864},{},[],{"data":66131,"content":66132,"nodeType":860},{},[66133],{"data":66134,"marks":66135,"value":41721,"nodeType":864},{},[],{"data":66137,"content":66140,"nodeType":996},{"target":66138},{"sys":66139},{"id":41726,"type":1001,"linkType":1002},[],{"data":66142,"content":66143,"nodeType":860},{},[66144],{"data":66145,"marks":66146,"value":41734,"nodeType":864},{},[],{"data":66148,"content":66149,"nodeType":860},{},[66150],{"data":66151,"marks":66152,"value":41741,"nodeType":864},{},[],{"data":66154,"content":66155,"nodeType":941},{},[66156,66165,66174],{"data":66157,"content":66158,"nodeType":945},{},[66159],{"data":66160,"content":66161,"nodeType":860},{},[66162],{"data":66163,"marks":66164,"value":41754,"nodeType":864},{},[],{"data":66166,"content":66167,"nodeType":945},{},[66168],{"data":66169,"content":66170,"nodeType":860},{},[66171],{"data":66172,"marks":66173,"value":41764,"nodeType":864},{},[],{"data":66175,"content":66176,"nodeType":945},{},[66177],{"data":66178,"content":66179,"nodeType":860},{},[66180],{"data":66181,"marks":66182,"value":41774,"nodeType":864},{},[],{"data":66184,"content":66185,"nodeType":860},{},[66186],{"data":66187,"marks":66188,"value":41781,"nodeType":864},{},[],{"data":66190,"content":66191,"nodeType":1312},{},[66192],{"data":66193,"marks":66194,"value":41789,"nodeType":864},{},[66195],{"type":899},{"data":66197,"content":66200,"nodeType":996},{"target":66198},{"sys":66199},{"id":41794,"type":1001,"linkType":1002},[],{"data":66202,"content":66203,"nodeType":860},{},[66204],{"data":66205,"marks":66206,"value":41802,"nodeType":864},{},[],{"data":66208,"content":66209,"nodeType":860},{},[66210,66213,66220],{"data":66211,"marks":66212,"value":41809,"nodeType":864},{},[],{"data":66214,"content":66215,"nodeType":883},{"uri":26784},[66216],{"data":66217,"marks":66218,"value":17706,"nodeType":864},{},[66219],{"type":1455},{"data":66221,"marks":66222,"value":41820,"nodeType":864},{},[],{"data":66224,"content":66225,"nodeType":860},{},[66226,66229,66236],{"data":66227,"marks":66228,"value":41827,"nodeType":864},{},[],{"data":66230,"content":66231,"nodeType":883},{"uri":40464},[66232],{"data":66233,"marks":66234,"value":41835,"nodeType":864},{},[66235],{"type":1455},{"data":66237,"marks":66238,"value":41839,"nodeType":864},{},[],{"data":66240,"content":66243,"nodeType":996},{"target":66241},{"sys":66242},{"id":41844,"type":1001,"linkType":1002},[],{"data":66245,"content":66248,"nodeType":996},{"target":66246},{"sys":66247},{"id":41850,"type":1001,"linkType":1002},[],{"data":66250,"content":66251,"nodeType":1312},{},[66252],{"data":66253,"marks":66254,"value":41859,"nodeType":864},{},[66255],{"type":899},{"data":66257,"content":66258,"nodeType":860},{},[66259,66262,66269],{"data":66260,"marks":66261,"value":41866,"nodeType":864},{},[],{"data":66263,"content":66264,"nodeType":883},{"uri":5231},[66265],{"data":66266,"marks":66267,"value":5272,"nodeType":864},{},[66268],{"type":1455},{"data":66270,"marks":66271,"value":41877,"nodeType":864},{},[],{"data":66273,"content":66276,"nodeType":996},{"target":66274},{"sys":66275},{"id":41882,"type":1001,"linkType":1002},[],{"data":66278,"content":66279,"nodeType":860},{},[66280],{"data":66281,"marks":66282,"value":41890,"nodeType":864},{},[],{"data":66284,"content":66285,"nodeType":860},{},[66286],{"data":66287,"marks":66288,"value":41897,"nodeType":864},{},[],{"data":66290,"content":66291,"nodeType":941},{},[66292,66301,66310],{"data":66293,"content":66294,"nodeType":945},{},[66295],{"data":66296,"content":66297,"nodeType":860},{},[66298],{"data":66299,"marks":66300,"value":41910,"nodeType":864},{},[],{"data":66302,"content":66303,"nodeType":945},{},[66304],{"data":66305,"content":66306,"nodeType":860},{},[66307],{"data":66308,"marks":66309,"value":41920,"nodeType":864},{},[],{"data":66311,"content":66312,"nodeType":945},{},[66313],{"data":66314,"content":66315,"nodeType":860},{},[66316],{"data":66317,"marks":66318,"value":41930,"nodeType":864},{},[],{"data":66320,"content":66321,"nodeType":1312},{},[66322],{"data":66323,"marks":66324,"value":41938,"nodeType":864},{},[66325],{"type":899},{"data":66327,"content":66328,"nodeType":860},{},[66329],{"data":66330,"marks":66331,"value":41945,"nodeType":864},{},[],{"data":66333,"content":66336,"nodeType":996},{"target":66334},{"sys":66335},{"id":41950,"type":1001,"linkType":1002},[],{"data":66338,"content":66339,"nodeType":860},{},[66340],{"data":66341,"marks":66342,"value":41958,"nodeType":864},{},[],{"data":66344,"content":66345,"nodeType":860},{},[66346],{"data":66347,"marks":66348,"value":41965,"nodeType":864},{},[],{"data":66350,"content":66351,"nodeType":860},{},[66352,66355,66362,66365,66372],{"data":66353,"marks":66354,"value":41972,"nodeType":864},{},[],{"data":66356,"content":66357,"nodeType":883},{"uri":26728},[66358],{"data":66359,"marks":66360,"value":26733,"nodeType":864},{},[66361],{"type":1455},{"data":66363,"marks":66364,"value":902,"nodeType":864},{},[],{"data":66366,"content":66367,"nodeType":883},{"uri":39911},[66368],{"data":66369,"marks":66370,"value":41990,"nodeType":864},{},[66371],{"type":1455},{"data":66373,"marks":66374,"value":41994,"nodeType":864},{},[],{"data":66376,"content":66377,"nodeType":1312},{},[66378],{"data":66379,"marks":66380,"value":42002,"nodeType":864},{},[66381],{"type":899},{"data":66383,"content":66384,"nodeType":860},{},[66385,66388,66395],{"data":66386,"marks":66387,"value":42009,"nodeType":864},{},[],{"data":66389,"content":66390,"nodeType":883},{"uri":42012},[66391],{"data":66392,"marks":66393,"value":42018,"nodeType":864},{},[66394],{"type":1455},{"data":66396,"marks":66397,"value":42022,"nodeType":864},{},[],{"data":66399,"content":66400,"nodeType":1312},{},[66401],{"data":66402,"marks":66403,"value":42030,"nodeType":864},{},[66404],{"type":899},{"data":66406,"content":66407,"nodeType":860},{},[66408,66411,66418],{"data":66409,"marks":66410,"value":42037,"nodeType":864},{},[],{"data":66412,"content":66413,"nodeType":883},{"uri":42040},[66414],{"data":66415,"marks":66416,"value":42046,"nodeType":864},{},[66417],{"type":1455},{"data":66419,"marks":66420,"value":42050,"nodeType":864},{},[],{"data":66422,"content":66423,"nodeType":1312},{},[66424],{"data":66425,"marks":66426,"value":42058,"nodeType":864},{},[66427],{"type":899},{"data":66429,"content":66430,"nodeType":860},{},[66431],{"data":66432,"marks":66433,"value":42065,"nodeType":864},{},[],{"data":66435,"content":66438,"nodeType":996},{"target":66436},{"sys":66437},{"id":42070,"type":1001,"linkType":1002},[],{"data":66440,"content":66441,"nodeType":860},{},[66442],{"data":66443,"marks":66444,"value":42078,"nodeType":864},{},[],{"data":66446,"content":66447,"nodeType":1005},{},[],{"data":66449,"content":66450,"nodeType":1009},{},[66451],{"data":66452,"marks":66453,"value":42089,"nodeType":864},{},[66454],{"type":899},{"data":66456,"content":66457,"nodeType":860},{},[66458,66461,66468],{"data":66459,"marks":66460,"value":42096,"nodeType":864},{},[],{"data":66462,"content":66463,"nodeType":883},{"uri":42099},[66464],{"data":66465,"marks":66466,"value":42105,"nodeType":864},{},[66467],{"type":1455},{"data":66469,"marks":66470,"value":42109,"nodeType":864},{},[],{"data":66472,"content":66473,"nodeType":941},{},[66474,66493,66502,66511],{"data":66475,"content":66476,"nodeType":945},{},[66477],{"data":66478,"content":66479,"nodeType":860},{},[66480,66483,66490],{"data":66481,"marks":66482,"value":42122,"nodeType":864},{},[],{"data":66484,"content":66485,"nodeType":883},{"uri":42125},[66486],{"data":66487,"marks":66488,"value":42131,"nodeType":864},{},[66489],{"type":1455},{"data":66491,"marks":66492,"value":12285,"nodeType":864},{},[],{"data":66494,"content":66495,"nodeType":945},{},[66496],{"data":66497,"content":66498,"nodeType":860},{},[66499],{"data":66500,"marks":66501,"value":42144,"nodeType":864},{},[],{"data":66503,"content":66504,"nodeType":945},{},[66505],{"data":66506,"content":66507,"nodeType":860},{},[66508],{"data":66509,"marks":66510,"value":42154,"nodeType":864},{},[],{"data":66512,"content":66513,"nodeType":945},{},[66514],{"data":66515,"content":66516,"nodeType":860},{},[66517],{"data":66518,"marks":66519,"value":42164,"nodeType":864},{},[],{"data":66521,"content":66522,"nodeType":860},{},[66523],{"data":66524,"marks":66525,"value":42171,"nodeType":864},{},[],{"data":66527,"content":66528,"nodeType":860},{},[66529],{"data":66530,"marks":66531,"value":42178,"nodeType":864},{},[],{"data":66533,"content":66534,"nodeType":1312},{},[66535],{"data":66536,"marks":66537,"value":42186,"nodeType":864},{},[66538],{"type":899},{"data":66540,"content":66541,"nodeType":860},{},[66542],{"data":66543,"marks":66544,"value":42193,"nodeType":864},{},[],{"data":66546,"content":66547,"nodeType":941},{},[66548,66557],{"data":66549,"content":66550,"nodeType":945},{},[66551],{"data":66552,"content":66553,"nodeType":860},{},[66554],{"data":66555,"marks":66556,"value":42206,"nodeType":864},{},[],{"data":66558,"content":66559,"nodeType":945},{},[66560],{"data":66561,"content":66562,"nodeType":860},{},[66563],{"data":66564,"marks":66565,"value":42216,"nodeType":864},{},[],{"data":66567,"content":66568,"nodeType":860},{},[66569],{"data":66570,"marks":66571,"value":42223,"nodeType":864},{},[],{"data":66573,"content":66574,"nodeType":860},{},[66575,66578,66585],{"data":66576,"marks":66577,"value":2761,"nodeType":864},{},[],{"data":66579,"content":66580,"nodeType":883},{"uri":42232},[66581],{"data":66582,"marks":66583,"value":42238,"nodeType":864},{},[66584],{"type":1455},{"data":66586,"marks":66587,"value":42242,"nodeType":864},{},[],{"data":66589,"content":66592,"nodeType":996},{"target":66590},{"sys":66591},{"id":42247,"type":1001,"linkType":1002},[],{"data":66594,"content":66595,"nodeType":860},{},[66596],{"data":66597,"marks":66598,"value":42255,"nodeType":864},{},[],{"data":66600,"content":66603,"nodeType":996},{"target":66601},{"sys":66602},{"id":42260,"type":1001,"linkType":1002},[],{"data":66605,"content":66606,"nodeType":860},{},[66607],{"data":66608,"marks":66609,"value":42268,"nodeType":864},{},[],{"data":66611,"content":66612,"nodeType":941},{},[66613,66622,66631,66640,66649,66658],{"data":66614,"content":66615,"nodeType":945},{},[66616],{"data":66617,"content":66618,"nodeType":860},{},[66619],{"data":66620,"marks":66621,"value":42281,"nodeType":864},{},[],{"data":66623,"content":66624,"nodeType":945},{},[66625],{"data":66626,"content":66627,"nodeType":860},{},[66628],{"data":66629,"marks":66630,"value":42291,"nodeType":864},{},[],{"data":66632,"content":66633,"nodeType":945},{},[66634],{"data":66635,"content":66636,"nodeType":860},{},[66637],{"data":66638,"marks":66639,"value":42301,"nodeType":864},{},[],{"data":66641,"content":66642,"nodeType":945},{},[66643],{"data":66644,"content":66645,"nodeType":860},{},[66646],{"data":66647,"marks":66648,"value":42311,"nodeType":864},{},[],{"data":66650,"content":66651,"nodeType":945},{},[66652],{"data":66653,"content":66654,"nodeType":860},{},[66655],{"data":66656,"marks":66657,"value":42321,"nodeType":864},{},[],{"data":66659,"content":66660,"nodeType":945},{},[66661],{"data":66662,"content":66663,"nodeType":860},{},[66664],{"data":66665,"marks":66666,"value":42331,"nodeType":864},{},[],{"data":66668,"content":66669,"nodeType":1312},{},[66670],{"data":66671,"marks":66672,"value":42339,"nodeType":864},{},[66673],{"type":899},{"data":66675,"content":66676,"nodeType":860},{},[66677,66680,66687],{"data":66678,"marks":66679,"value":42346,"nodeType":864},{},[],{"data":66681,"content":66682,"nodeType":883},{"uri":42349},[66683],{"data":66684,"marks":66685,"value":42355,"nodeType":864},{},[66686],{"type":1455},{"data":66688,"marks":66689,"value":42359,"nodeType":864},{},[],{"data":66691,"content":66692,"nodeType":860},{},[66693],{"data":66694,"marks":66695,"value":42366,"nodeType":864},{},[],{"data":66697,"content":66698,"nodeType":941},{},[66699,66708],{"data":66700,"content":66701,"nodeType":945},{},[66702],{"data":66703,"content":66704,"nodeType":860},{},[66705],{"data":66706,"marks":66707,"value":42379,"nodeType":864},{},[],{"data":66709,"content":66710,"nodeType":945},{},[66711],{"data":66712,"content":66713,"nodeType":860},{},[66714],{"data":66715,"marks":66716,"value":42389,"nodeType":864},{},[],{"data":66718,"content":66719,"nodeType":1005},{},[],{"data":66721,"content":66722,"nodeType":1009},{},[66723],{"data":66724,"marks":66725,"value":29454,"nodeType":864},{},[66726],{"type":899},{"data":66728,"content":66729,"nodeType":860},{},[66730],{"data":66731,"marks":66732,"value":42406,"nodeType":864},{},[],{"data":66734,"content":66737,"nodeType":996},{"target":66735},{"sys":66736},{"id":42411,"type":1001,"linkType":1002},[],{"data":66739,"content":66740,"nodeType":860},{},[66741],{"data":66742,"marks":66743,"value":42419,"nodeType":864},{},[],{"data":66745,"content":66746,"nodeType":860},{},[66747,66750,66757],{"data":66748,"marks":66749,"value":21,"nodeType":864},{},[],{"data":66751,"content":66752,"nodeType":883},{"uri":5642},[66753],{"data":66754,"marks":66755,"value":41118,"nodeType":864},{},[66756],{"type":1455},{"data":66758,"marks":66759,"value":42436,"nodeType":864},{},[],{"data":66761,"content":66764,"nodeType":996},{"target":66762},{"sys":66763},{"id":42441,"type":1001,"linkType":1002},[],{"data":66766,"content":66767,"nodeType":860},{},[66768],{"data":66769,"marks":66770,"value":21,"nodeType":864},{},[],{"entries":66772},{"hyperlink":66773,"inline":66774,"block":66775},[],[],[66776,66779,66782,66797,66826,66832,66846,66880,66905,66912,66919,66933],{"sys":66777,"__typename":1717,"type":1718,"ctaText":66778,"buttonLabel":31347,"buttonColour":33488,"buttonUrl":35177},{"id":34138},"Get our latest ebook to learn about the evolution of identity attacks in 2024 and their role in public breaches. ",{"sys":66780,"__typename":1717,"type":1718,"ctaText":66781,"buttonLabel":47736,"buttonColour":1721,"buttonUrl":36813},{"id":41726},"Learn how Push provides defense in depth against identity attacks before account takeover.",{"sys":66783,"__typename":1740,"content":66784,"name":66796,"title":59},{"id":41794},{"json":66785},{"data":66786,"content":66787,"nodeType":856},{},[66788],{"data":66789,"content":66790,"nodeType":860},{},[66791],{"data":66792,"marks":66793,"value":66795,"nodeType":864},{},[66794],{"type":899},"If you don’t take anything else away from this piece, this control alone will get rid of 80% of the complexity and room for vulnerabilities to creep in. ","MVSI insight box",{"sys":66798,"__typename":1740,"content":66799,"name":66825,"title":59},{"id":41844},{"json":66800},{"nodeType":856,"data":66801,"content":66802},{},[66803,66818],{"nodeType":860,"data":66804,"content":66805},{},[66806,66810,66815],{"nodeType":864,"value":66807,"marks":66808,"data":66809},"We recently saw a great example of a practical solution to this problem — HubSpot have introduced a feature where any user that is no longer using a password to log in ",[],{},{"nodeType":864,"value":66811,"marks":66812,"data":66814},"will have their password removed automatically",[66813],{"type":899},{},{"nodeType":864,"value":1774,"marks":66816,"data":66817},[],{},{"nodeType":860,"data":66819,"content":66820},{},[66821],{"nodeType":864,"value":66822,"marks":66823,"data":66824},"This means that users consciously opting for more secure SSO-based logins will get the added benefit of the app automatically cleaning up unused login methods. This is an excellent QOL feature and demonstrates a real understanding of the security risk posed by ghost logins. ",[],{},"MVSP insight box",{"sys":66827,"__typename":1724,"title":66828,"caption":59,"layoutMode":59,"file":66829},{"id":41850},"HubSpot automatic password removal",{"url":66830,"width":1788,"height":66831},"https://images.ctfassets.net/y1cdw1ablpvd/1noqvZD8IxO8DLcYLu6uPb/b84a0e8bf80f009895d59d0e16454786/Group_542.png",2078,{"sys":66833,"__typename":1740,"content":66834,"name":66845,"title":59},{"id":41882},{"json":66835},{"nodeType":856,"data":66836,"content":66837},{},[66838],{"nodeType":860,"data":66839,"content":66840},{},[66841],{"nodeType":864,"value":66842,"marks":66843,"data":66844},"Using SAMLjacking, an attacker can turn the compromise of a low risk app/identity into a much more serious one by using it to capture SSO credentials for other users of the app. ",[],{},"MVSI Insight box 2",{"sys":66847,"__typename":1740,"content":66848,"name":66879,"title":59},{"id":41950},{"json":66849},{"nodeType":856,"data":66850,"content":66851},{},[66852],{"nodeType":860,"data":66853,"content":66854},{},[66855,66859,66866,66870,66875],{"nodeType":864,"value":66856,"marks":66857,"data":66858},"One of the leading causes of identity breaches is when ",[],{},{"nodeType":883,"data":66860,"content":66861},{"uri":26784},[66862],{"nodeType":864,"value":17706,"marks":66863,"data":66865},[66864],{"type":1455},{},{"nodeType":864,"value":66867,"marks":66868,"data":66869}," (usually a weak, breached or reused password) exist alongside a more secure login method (e.g. SAML SSO). These ghost logins can be exploitable either as a single factor, or with a weak/phishable MFA method. It doesn’t matter if your employees ",[],{},{"nodeType":864,"value":66871,"marks":66872,"data":66874},"typically",[66873],{"type":2246},{},{"nodeType":864,"value":66876,"marks":66877,"data":66878}," log in with SAML, if insecure local logins exist alongside it — because attackers can take advantage of this. ",[],{},"MVSI insight box 3",{"sys":66881,"__typename":1740,"content":66882,"name":66904,"title":59},{"id":42070},{"json":66883},{"nodeType":856,"data":66884,"content":66885},{},[66886],{"nodeType":860,"data":66887,"content":66888},{},[66889,66893,66900],{"nodeType":864,"value":66890,"marks":66891,"data":66892},"You might assume that a user with access to an IdP account also has access to the email connected to that account, but as we’ve seen with ",[],{},{"nodeType":883,"data":66894,"content":66895},{"uri":40464},[66896],{"nodeType":864,"value":36127,"marks":66897,"data":66899},[66898],{"type":1455},{},{"nodeType":864,"value":66901,"marks":66902,"data":66903},", this isn’t necessarily the case. ",[],{},"MVSI insight box 4",{"sys":66906,"__typename":1724,"title":66907,"caption":66908,"layoutMode":59,"file":66909},{"id":42247},"MVSI: Example Okta login history logs","Example of Okta login history logs",{"url":66910,"width":66911,"height":41554},"https://images.ctfassets.net/y1cdw1ablpvd/2oRCAyYH72TfB2EsGxQDFK/325fceea5222e1404141e7ed89ba4b53/image1.png",1578,{"sys":66913,"__typename":1724,"title":66914,"caption":59,"layoutMode":59,"file":66915},{"id":42260},"MVSI Recommended Logs",{"url":66916,"width":66917,"height":66918},"https://images.ctfassets.net/y1cdw1ablpvd/GWJoQawV0uYCn4vdVxcXy/00bae170edfc839c7e1f37427eb309c7/Screenshot_2025-02-10_at_12.00.14.png",1264,526,{"sys":66920,"__typename":1740,"content":66921,"name":66932,"title":59},{"id":42411},{"json":66922},{"nodeType":856,"data":66923,"content":66924},{},[66925],{"nodeType":860,"data":66926,"content":66927},{},[66928],{"nodeType":864,"value":66929,"marks":66930,"data":66931},"This is certainly not intended as a definitive standard or exhaustive list of identity controls — but hopefully provides any app developers or standards authors with food for thought! We speak for other potential customers when we say that including these controls would make your app much more attractive to the security and compliance teams of prospective buyers. ",[],{},"MVSI insight box 5",{"sys":66934,"__typename":1717,"type":1718,"ctaText":66935,"buttonLabel":47741,"buttonColour":66936,"buttonUrl":5642},{"id":42441},"Book a demo to see how Push prevents and detects identity attacks across all apps your employees use. ","orange",{"items":66938},[],{},"8 ways app developers can mitigate identity-based attacks",{"url":66942},"https://images.ctfassets.net/y1cdw1ablpvd/5EErNKIkhkUn2Y9OCLlDjR/2e5c107747f8d881d87484577bfd895c/Dan_Blog_Thumbnail.jpg",{"items":66944},[66945,67960,68592],{"__typename":2059,"sys":66946,"content":66947,"title":48924,"synopsis":48925,"hashTags":59,"publishedDate":48926,"slug":48927,"tagsCollection":67950,"authorsCollection":67956},{"id":47753},{"json":66948},{"data":66949,"content":66950,"nodeType":856},{},[66951,66957,67004,67010,67013,67019,67025,67051,67061,67064,67070,67080,67086,67102,67107,67123,67129,67139,67156,67172,67178,67194,67199,67215,67218,67224,67231,67237,67253,67269,67275,67291,67297,67304,67325,67331,67347,67364,67369,67375,67391,67394,67400,67416,67432,67438,67486,67492,67495,67501,67508,67524,67540,67546,67553,67559,67576,67582,67588,67593,67598,67601,67607,67614,67620,67636,67645,67661,67667,67673,67682,67689,67695,67712,67717,67720,67726,67732,67738,67799,67805,67811,67817,67824,67841,67847,67852,67862,67879,67885,67892,67909,67915,67921,67926,67929,67935],{"data":66952,"content":66953,"nodeType":860},{},[66954],{"data":66955,"marks":66956,"value":47764,"nodeType":864},{},[],{"data":66958,"content":66959,"nodeType":941},{},[66960,66976,66985],{"data":66961,"content":66962,"nodeType":945},{},[66963],{"data":66964,"content":66965,"nodeType":860},{},[66966,66969,66973],{"data":66967,"marks":66968,"value":47777,"nodeType":864},{},[],{"data":66970,"marks":66971,"value":47782,"nodeType":864},{},[66972],{"type":2246},{"data":66974,"marks":66975,"value":47786,"nodeType":864},{},[],{"data":66977,"content":66978,"nodeType":945},{},[66979],{"data":66980,"content":66981,"nodeType":860},{},[66982],{"data":66983,"marks":66984,"value":47796,"nodeType":864},{},[],{"data":66986,"content":66987,"nodeType":945},{},[66988],{"data":66989,"content":66990,"nodeType":860},{},[66991,66994,67001],{"data":66992,"marks":66993,"value":47806,"nodeType":864},{},[],{"data":66995,"content":66996,"nodeType":883},{"uri":47809},[66997],{"data":66998,"marks":66999,"value":47815,"nodeType":864},{},[67000],{"type":1455},{"data":67002,"marks":67003,"value":47819,"nodeType":864},{},[],{"data":67005,"content":67006,"nodeType":860},{},[67007],{"data":67008,"marks":67009,"value":47826,"nodeType":864},{},[],{"data":67011,"content":67012,"nodeType":1005},{},[],{"data":67014,"content":67015,"nodeType":1009},{},[67016],{"data":67017,"marks":67018,"value":47836,"nodeType":864},{},[],{"data":67020,"content":67021,"nodeType":860},{},[67022],{"data":67023,"marks":67024,"value":47843,"nodeType":864},{},[],{"data":67026,"content":67027,"nodeType":860},{},[67028,67031,67038,67041,67048],{"data":67029,"marks":67030,"value":47850,"nodeType":864},{},[],{"data":67032,"content":67033,"nodeType":883},{"uri":47853},[67034],{"data":67035,"marks":67036,"value":47859,"nodeType":864},{},[67037],{"type":1455},{"data":67039,"marks":67040,"value":47863,"nodeType":864},{},[],{"data":67042,"content":67043,"nodeType":883},{"uri":47866},[67044],{"data":67045,"marks":67046,"value":47872,"nodeType":864},{},[67047],{"type":1455},{"data":67049,"marks":67050,"value":47876,"nodeType":864},{},[],{"data":67052,"content":67053,"nodeType":860},{},[67054,67057],{"data":67055,"marks":67056,"value":47883,"nodeType":864},{},[],{"data":67058,"marks":67059,"value":47888,"nodeType":864},{},[67060],{"type":899},{"data":67062,"content":67063,"nodeType":1005},{},[],{"data":67065,"content":67066,"nodeType":1009},{},[67067],{"data":67068,"marks":67069,"value":47898,"nodeType":864},{},[],{"data":67071,"content":67072,"nodeType":1312},{},[67073,67077],{"data":67074,"marks":67075,"value":34943,"nodeType":864},{},[67076],{"type":899},{"data":67078,"marks":67079,"value":1171,"nodeType":864},{},[],{"data":67081,"content":67082,"nodeType":860},{},[67083],{"data":67084,"marks":67085,"value":47915,"nodeType":864},{},[],{"data":67087,"content":67088,"nodeType":860},{},[67089,67092,67099],{"data":67090,"marks":67091,"value":47922,"nodeType":864},{},[],{"data":67093,"content":67094,"nodeType":883},{"uri":47925},[67095],{"data":67096,"marks":67097,"value":47931,"nodeType":864},{},[67098],{"type":1455},{"data":67100,"marks":67101,"value":47935,"nodeType":864},{},[],{"data":67103,"content":67106,"nodeType":996},{"target":67104},{"sys":67105},{"id":47940,"type":1001,"linkType":1002},[],{"data":67108,"content":67109,"nodeType":860},{},[67110,67113,67120],{"data":67111,"marks":67112,"value":47948,"nodeType":864},{},[],{"data":67114,"content":67115,"nodeType":883},{"uri":47951},[67116],{"data":67117,"marks":67118,"value":47957,"nodeType":864},{},[67119],{"type":1455},{"data":67121,"marks":67122,"value":47961,"nodeType":864},{},[],{"data":67124,"content":67125,"nodeType":860},{},[67126],{"data":67127,"marks":67128,"value":47968,"nodeType":864},{},[],{"data":67130,"content":67131,"nodeType":1312},{},[67132,67136],{"data":67133,"marks":67134,"value":47976,"nodeType":864},{},[67135],{"type":899},{"data":67137,"marks":67138,"value":1171,"nodeType":864},{},[],{"data":67140,"content":67141,"nodeType":860},{},[67142,67145,67153],{"data":67143,"marks":67144,"value":47986,"nodeType":864},{},[],{"data":67146,"content":67147,"nodeType":883},{"uri":47989},[67148],{"data":67149,"marks":67150,"value":47996,"nodeType":864},{},[67151,67152],{"type":1455},{"type":899},{"data":67154,"marks":67155,"value":48000,"nodeType":864},{},[],{"data":67157,"content":67158,"nodeType":860},{},[67159,67162,67169],{"data":67160,"marks":67161,"value":48007,"nodeType":864},{},[],{"data":67163,"content":67164,"nodeType":883},{"uri":48010},[67165],{"data":67166,"marks":67167,"value":48016,"nodeType":864},{},[67168],{"type":1455},{"data":67170,"marks":67171,"value":48020,"nodeType":864},{},[],{"data":67173,"content":67174,"nodeType":860},{},[67175],{"data":67176,"marks":67177,"value":48027,"nodeType":864},{},[],{"data":67179,"content":67180,"nodeType":860},{},[67181,67184,67191],{"data":67182,"marks":67183,"value":48034,"nodeType":864},{},[],{"data":67185,"content":67186,"nodeType":883},{"uri":15980},[67187],{"data":67188,"marks":67189,"value":48042,"nodeType":864},{},[67190],{"type":1455},{"data":67192,"marks":67193,"value":48046,"nodeType":864},{},[],{"data":67195,"content":67198,"nodeType":996},{"target":67196},{"sys":67197},{"id":48051,"type":1001,"linkType":1002},[],{"data":67200,"content":67201,"nodeType":860},{},[67202,67205,67212],{"data":67203,"marks":67204,"value":48059,"nodeType":864},{},[],{"data":67206,"content":67207,"nodeType":883},{"uri":48062},[67208],{"data":67209,"marks":67210,"value":48068,"nodeType":864},{},[67211],{"type":1455},{"data":67213,"marks":67214,"value":48072,"nodeType":864},{},[],{"data":67216,"content":67217,"nodeType":1005},{},[],{"data":67219,"content":67220,"nodeType":1009},{},[67221],{"data":67222,"marks":67223,"value":48082,"nodeType":864},{},[],{"data":67225,"content":67226,"nodeType":1312},{},[67227],{"data":67228,"marks":67229,"value":34943,"nodeType":864},{},[67230],{"type":899},{"data":67232,"content":67233,"nodeType":860},{},[67234],{"data":67235,"marks":67236,"value":48096,"nodeType":864},{},[],{"data":67238,"content":67239,"nodeType":860},{},[67240,67243,67250],{"data":67241,"marks":67242,"value":48103,"nodeType":864},{},[],{"data":67244,"content":67245,"nodeType":883},{"uri":48106},[67246],{"data":67247,"marks":67248,"value":48112,"nodeType":864},{},[67249],{"type":1455},{"data":67251,"marks":67252,"value":48116,"nodeType":864},{},[],{"data":67254,"content":67255,"nodeType":860},{},[67256,67259,67266],{"data":67257,"marks":67258,"value":48123,"nodeType":864},{},[],{"data":67260,"content":67261,"nodeType":883},{"uri":48126},[67262],{"data":67263,"marks":67264,"value":23700,"nodeType":864},{},[67265],{"type":1455},{"data":67267,"marks":67268,"value":22438,"nodeType":864},{},[],{"data":67270,"content":67271,"nodeType":860},{},[67272],{"data":67273,"marks":67274,"value":48141,"nodeType":864},{},[],{"data":67276,"content":67277,"nodeType":860},{},[67278,67281,67288],{"data":67279,"marks":67280,"value":48148,"nodeType":864},{},[],{"data":67282,"content":67283,"nodeType":883},{"uri":48151},[67284],{"data":67285,"marks":67286,"value":48157,"nodeType":864},{},[67287],{"type":1455},{"data":67289,"marks":67290,"value":48161,"nodeType":864},{},[],{"data":67292,"content":67293,"nodeType":860},{},[67294],{"data":67295,"marks":67296,"value":48168,"nodeType":864},{},[],{"data":67298,"content":67299,"nodeType":1312},{},[67300],{"data":67301,"marks":67302,"value":47976,"nodeType":864},{},[67303],{"type":899},{"data":67305,"content":67306,"nodeType":860},{},[67307,67310,67318,67322],{"data":67308,"marks":67309,"value":48182,"nodeType":864},{},[],{"data":67311,"content":67312,"nodeType":883},{"uri":48185},[67313],{"data":67314,"marks":67315,"value":48192,"nodeType":864},{},[67316,67317],{"type":1455},{"type":899},{"data":67319,"marks":67320,"value":48197,"nodeType":864},{},[67321],{"type":899},{"data":67323,"marks":67324,"value":12252,"nodeType":864},{},[],{"data":67326,"content":67327,"nodeType":860},{},[67328],{"data":67329,"marks":67330,"value":48207,"nodeType":864},{},[],{"data":67332,"content":67333,"nodeType":860},{},[67334,67337,67344],{"data":67335,"marks":67336,"value":48214,"nodeType":864},{},[],{"data":67338,"content":67339,"nodeType":883},{"uri":48217},[67340],{"data":67341,"marks":67342,"value":48223,"nodeType":864},{},[67343],{"type":1455},{"data":67345,"marks":67346,"value":48227,"nodeType":864},{},[],{"data":67348,"content":67349,"nodeType":860},{},[67350,67353,67361],{"data":67351,"marks":67352,"value":48234,"nodeType":864},{},[],{"data":67354,"content":67355,"nodeType":883},{"uri":48237},[67356],{"data":67357,"marks":67358,"value":48244,"nodeType":864},{},[67359,67360],{"type":1455},{"type":899},{"data":67362,"marks":67363,"value":48248,"nodeType":864},{},[],{"data":67365,"content":67368,"nodeType":996},{"target":67366},{"sys":67367},{"id":48253,"type":1001,"linkType":1002},[],{"data":67370,"content":67371,"nodeType":860},{},[67372],{"data":67373,"marks":67374,"value":48261,"nodeType":864},{},[],{"data":67376,"content":67377,"nodeType":860},{},[67378,67381,67388],{"data":67379,"marks":67380,"value":48268,"nodeType":864},{},[],{"data":67382,"content":67383,"nodeType":883},{"uri":36813},[67384],{"data":67385,"marks":67386,"value":48276,"nodeType":864},{},[67387],{"type":1455},{"data":67389,"marks":67390,"value":48280,"nodeType":864},{},[],{"data":67392,"content":67393,"nodeType":1005},{},[],{"data":67395,"content":67396,"nodeType":1009},{},[67397],{"data":67398,"marks":67399,"value":48290,"nodeType":864},{},[],{"data":67401,"content":67402,"nodeType":860},{},[67403,67406,67413],{"data":67404,"marks":67405,"value":48297,"nodeType":864},{},[],{"data":67407,"content":67408,"nodeType":883},{"uri":4408},[67409],{"data":67410,"marks":67411,"value":27246,"nodeType":864},{},[67412],{"type":1455},{"data":67414,"marks":67415,"value":2924,"nodeType":864},{},[],{"data":67417,"content":67418,"nodeType":860},{},[67419,67422,67429],{"data":67420,"marks":67421,"value":48314,"nodeType":864},{},[],{"data":67423,"content":67424,"nodeType":883},{"uri":3751},[67425],{"data":67426,"marks":67427,"value":48322,"nodeType":864},{},[67428],{"type":1455},{"data":67430,"marks":67431,"value":48326,"nodeType":864},{},[],{"data":67433,"content":67434,"nodeType":860},{},[67435],{"data":67436,"marks":67437,"value":48333,"nodeType":864},{},[],{"data":67439,"content":67440,"nodeType":941},{},[67441,67450,67459,67468,67477],{"data":67442,"content":67443,"nodeType":945},{},[67444],{"data":67445,"content":67446,"nodeType":860},{},[67447],{"data":67448,"marks":67449,"value":48346,"nodeType":864},{},[],{"data":67451,"content":67452,"nodeType":945},{},[67453],{"data":67454,"content":67455,"nodeType":860},{},[67456],{"data":67457,"marks":67458,"value":48356,"nodeType":864},{},[],{"data":67460,"content":67461,"nodeType":945},{},[67462],{"data":67463,"content":67464,"nodeType":860},{},[67465],{"data":67466,"marks":67467,"value":48366,"nodeType":864},{},[],{"data":67469,"content":67470,"nodeType":945},{},[67471],{"data":67472,"content":67473,"nodeType":860},{},[67474],{"data":67475,"marks":67476,"value":48376,"nodeType":864},{},[],{"data":67478,"content":67479,"nodeType":945},{},[67480],{"data":67481,"content":67482,"nodeType":860},{},[67483],{"data":67484,"marks":67485,"value":48386,"nodeType":864},{},[],{"data":67487,"content":67488,"nodeType":860},{},[67489],{"data":67490,"marks":67491,"value":48393,"nodeType":864},{},[],{"data":67493,"content":67494,"nodeType":1005},{},[],{"data":67496,"content":67497,"nodeType":1009},{},[67498],{"data":67499,"marks":67500,"value":48403,"nodeType":864},{},[],{"data":67502,"content":67503,"nodeType":1312},{},[67504],{"data":67505,"marks":67506,"value":34943,"nodeType":864},{},[67507],{"type":899},{"data":67509,"content":67510,"nodeType":860},{},[67511,67514,67521],{"data":67512,"marks":67513,"value":21,"nodeType":864},{},[],{"data":67515,"content":67516,"nodeType":883},{"uri":48419},[67517],{"data":67518,"marks":67519,"value":48425,"nodeType":864},{},[67520],{"type":1455},{"data":67522,"marks":67523,"value":48429,"nodeType":864},{},[],{"data":67525,"content":67526,"nodeType":860},{},[67527,67530,67537],{"data":67528,"marks":67529,"value":48436,"nodeType":864},{},[],{"data":67531,"content":67532,"nodeType":883},{"uri":48439},[67533],{"data":67534,"marks":67535,"value":48445,"nodeType":864},{},[67536],{"type":1455},{"data":67538,"marks":67539,"value":48449,"nodeType":864},{},[],{"data":67541,"content":67542,"nodeType":860},{},[67543],{"data":67544,"marks":67545,"value":48456,"nodeType":864},{},[],{"data":67547,"content":67548,"nodeType":1312},{},[67549],{"data":67550,"marks":67551,"value":47976,"nodeType":864},{},[67552],{"type":899},{"data":67554,"content":67555,"nodeType":860},{},[67556],{"data":67557,"marks":67558,"value":48470,"nodeType":864},{},[],{"data":67560,"content":67561,"nodeType":860},{},[67562,67565,67573],{"data":67563,"marks":67564,"value":1238,"nodeType":864},{},[],{"data":67566,"content":67567,"nodeType":883},{"uri":34857},[67568],{"data":67569,"marks":67570,"value":48485,"nodeType":864},{},[67571,67572],{"type":1455},{"type":899},{"data":67574,"marks":67575,"value":48489,"nodeType":864},{},[],{"data":67577,"content":67578,"nodeType":860},{},[67579],{"data":67580,"marks":67581,"value":48496,"nodeType":864},{},[],{"data":67583,"content":67584,"nodeType":860},{},[67585],{"data":67586,"marks":67587,"value":48503,"nodeType":864},{},[],{"data":67589,"content":67592,"nodeType":996},{"target":67590},{"sys":67591},{"id":43965,"type":1001,"linkType":1002},[],{"data":67594,"content":67597,"nodeType":996},{"target":67595},{"sys":67596},{"id":48513,"type":1001,"linkType":1002},[],{"data":67599,"content":67600,"nodeType":1005},{},[],{"data":67602,"content":67603,"nodeType":1009},{},[67604],{"data":67605,"marks":67606,"value":48524,"nodeType":864},{},[],{"data":67608,"content":67609,"nodeType":1312},{},[67610],{"data":67611,"marks":67612,"value":34943,"nodeType":864},{},[67613],{"type":899},{"data":67615,"content":67616,"nodeType":860},{},[67617],{"data":67618,"marks":67619,"value":48538,"nodeType":864},{},[],{"data":67621,"content":67622,"nodeType":860},{},[67623,67626,67633],{"data":67624,"marks":67625,"value":48545,"nodeType":864},{},[],{"data":67627,"content":67628,"nodeType":883},{"uri":48548},[67629],{"data":67630,"marks":67631,"value":48554,"nodeType":864},{},[67632],{"type":1455},{"data":67634,"marks":67635,"value":48558,"nodeType":864},{},[],{"data":67637,"content":67638,"nodeType":1116},{},[67639],{"data":67640,"content":67641,"nodeType":860},{},[67642],{"data":67643,"marks":67644,"value":48568,"nodeType":864},{},[],{"data":67646,"content":67647,"nodeType":860},{},[67648,67651,67658],{"data":67649,"marks":67650,"value":48575,"nodeType":864},{},[],{"data":67652,"content":67653,"nodeType":883},{"uri":48419},[67654],{"data":67655,"marks":67656,"value":48583,"nodeType":864},{},[67657],{"type":1455},{"data":67659,"marks":67660,"value":48587,"nodeType":864},{},[],{"data":67662,"content":67663,"nodeType":860},{},[67664],{"data":67665,"marks":67666,"value":48594,"nodeType":864},{},[],{"data":67668,"content":67669,"nodeType":860},{},[67670],{"data":67671,"marks":67672,"value":48601,"nodeType":864},{},[],{"data":67674,"content":67675,"nodeType":1116},{},[67676],{"data":67677,"content":67678,"nodeType":860},{},[67679],{"data":67680,"marks":67681,"value":48611,"nodeType":864},{},[],{"data":67683,"content":67684,"nodeType":1312},{},[67685],{"data":67686,"marks":67687,"value":47976,"nodeType":864},{},[67688],{"type":899},{"data":67690,"content":67691,"nodeType":860},{},[67692],{"data":67693,"marks":67694,"value":48625,"nodeType":864},{},[],{"data":67696,"content":67697,"nodeType":860},{},[67698,67701,67709],{"data":67699,"marks":67700,"value":48632,"nodeType":864},{},[],{"data":67702,"content":67703,"nodeType":883},{"uri":35369},[67704],{"data":67705,"marks":67706,"value":48641,"nodeType":864},{},[67707,67708],{"type":1455},{"type":899},{"data":67710,"marks":67711,"value":48645,"nodeType":864},{},[],{"data":67713,"content":67716,"nodeType":996},{"target":67714},{"sys":67715},{"id":48650,"type":1001,"linkType":1002},[],{"data":67718,"content":67719,"nodeType":1005},{},[],{"data":67721,"content":67722,"nodeType":1009},{},[67723],{"data":67724,"marks":67725,"value":48661,"nodeType":864},{},[],{"data":67727,"content":67728,"nodeType":860},{},[67729],{"data":67730,"marks":67731,"value":48668,"nodeType":864},{},[],{"data":67733,"content":67734,"nodeType":860},{},[67735],{"data":67736,"marks":67737,"value":48675,"nodeType":864},{},[],{"data":67739,"content":67740,"nodeType":941},{},[67741,67757,67773],{"data":67742,"content":67743,"nodeType":945},{},[67744],{"data":67745,"content":67746,"nodeType":860},{},[67747,67750,67754],{"data":67748,"marks":67749,"value":48688,"nodeType":864},{},[],{"data":67751,"marks":67752,"value":48693,"nodeType":864},{},[67753],{"type":899},{"data":67755,"marks":67756,"value":48697,"nodeType":864},{},[],{"data":67758,"content":67759,"nodeType":945},{},[67760],{"data":67761,"content":67762,"nodeType":860},{},[67763,67766,67770],{"data":67764,"marks":67765,"value":48707,"nodeType":864},{},[],{"data":67767,"marks":67768,"value":48712,"nodeType":864},{},[67769],{"type":899},{"data":67771,"marks":67772,"value":48716,"nodeType":864},{},[],{"data":67774,"content":67775,"nodeType":945},{},[67776],{"data":67777,"content":67778,"nodeType":860},{},[67779,67782,67786,67789,67796],{"data":67780,"marks":67781,"value":48726,"nodeType":864},{},[],{"data":67783,"marks":67784,"value":48731,"nodeType":864},{},[67785],{"type":899},{"data":67787,"marks":67788,"value":48735,"nodeType":864},{},[],{"data":67790,"content":67791,"nodeType":883},{"uri":17701},[67792],{"data":67793,"marks":67794,"value":17706,"nodeType":864},{},[67795],{"type":1455},{"data":67797,"marks":67798,"value":48746,"nodeType":864},{},[],{"data":67800,"content":67801,"nodeType":860},{},[67802],{"data":67803,"marks":67804,"value":48753,"nodeType":864},{},[],{"data":67806,"content":67807,"nodeType":860},{},[67808],{"data":67809,"marks":67810,"value":48760,"nodeType":864},{},[],{"data":67812,"content":67813,"nodeType":860},{},[67814],{"data":67815,"marks":67816,"value":48767,"nodeType":864},{},[],{"data":67818,"content":67819,"nodeType":1312},{},[67820],{"data":67821,"marks":67822,"value":48775,"nodeType":864},{},[67823],{"type":899},{"data":67825,"content":67826,"nodeType":860},{},[67827,67830,67838],{"data":67828,"marks":67829,"value":48782,"nodeType":864},{},[],{"data":67831,"content":67832,"nodeType":883},{"uri":48785},[67833],{"data":67834,"marks":67835,"value":48792,"nodeType":864},{},[67836,67837],{"type":1455},{"type":899},{"data":67839,"marks":67840,"value":48796,"nodeType":864},{},[],{"data":67842,"content":67843,"nodeType":860},{},[67844],{"data":67845,"marks":67846,"value":48803,"nodeType":864},{},[],{"data":67848,"content":67851,"nodeType":996},{"target":67849},{"sys":67850},{"id":48808,"type":1001,"linkType":1002},[],{"data":67853,"content":67854,"nodeType":1312},{},[67855,67859],{"data":67856,"marks":67857,"value":48817,"nodeType":864},{},[67858],{"type":899},{"data":67860,"marks":67861,"value":1171,"nodeType":864},{},[],{"data":67863,"content":67864,"nodeType":860},{},[67865,67868,67876],{"data":67866,"marks":67867,"value":48827,"nodeType":864},{},[],{"data":67869,"content":67870,"nodeType":883},{"uri":48830},[67871],{"data":67872,"marks":67873,"value":48837,"nodeType":864},{},[67874,67875],{"type":1455},{"type":899},{"data":67877,"marks":67878,"value":48841,"nodeType":864},{},[],{"data":67880,"content":67881,"nodeType":860},{},[67882],{"data":67883,"marks":67884,"value":48848,"nodeType":864},{},[],{"data":67886,"content":67887,"nodeType":1312},{},[67888],{"data":67889,"marks":67890,"value":48856,"nodeType":864},{},[67891],{"type":899},{"data":67893,"content":67894,"nodeType":860},{},[67895,67898,67906],{"data":67896,"marks":67897,"value":48863,"nodeType":864},{},[],{"data":67899,"content":67900,"nodeType":883},{"uri":35429},[67901],{"data":67902,"marks":67903,"value":28463,"nodeType":864},{},[67904,67905],{"type":1455},{"type":899},{"data":67907,"marks":67908,"value":48875,"nodeType":864},{},[],{"data":67910,"content":67911,"nodeType":860},{},[67912],{"data":67913,"marks":67914,"value":48882,"nodeType":864},{},[],{"data":67916,"content":67917,"nodeType":860},{},[67918],{"data":67919,"marks":67920,"value":48889,"nodeType":864},{},[],{"data":67922,"content":67925,"nodeType":996},{"target":67923},{"sys":67924},{"id":48894,"type":1001,"linkType":1002},[],{"data":67927,"content":67928,"nodeType":1005},{},[],{"data":67930,"content":67931,"nodeType":1009},{},[67932],{"data":67933,"marks":67934,"value":48905,"nodeType":864},{},[],{"data":67936,"content":67937,"nodeType":860},{},[67938,67941,67947],{"data":67939,"marks":67940,"value":48912,"nodeType":864},{},[],{"data":67942,"content":67943,"nodeType":883},{"uri":5642},[67944],{"data":67945,"marks":67946,"value":48919,"nodeType":864},{},[],{"data":67948,"marks":67949,"value":48923,"nodeType":864},{},[],{"items":67951},[67952,67954],{"sys":67953,"name":342},{"id":6596},{"sys":67955,"name":297},{"id":2732},{"items":67957},[67958],{"fullName":849,"firstName":850,"jobTitle":851,"profilePicture":67959},{"url":853},{"__typename":2059,"sys":67961,"content":67963,"title":68580,"synopsis":68581,"hashTags":59,"publishedDate":68582,"slug":68583,"tagsCollection":68584,"authorsCollection":68588},{"id":67962},"1pJdOGN0dOd3BKVqO4CxHh",{"json":67964},{"data":67965,"content":67966,"nodeType":856},{},[67967,67974,67981,67988,68007,68014,68021,68024,68032,68039,68046,68053,68059,68066,68069,68077,68084,68091,68098,68105,68111,68118,68121,68129,68137,68144,68151,68158,68177,68185,68192,68199,68206,68213,68221,68228,68235,68241,68244,68252,68259,68266,68273,68280,68287,68290,68298,68305,68312,68319,68326,68333,68442,68458,68465,68471,68474,68482,68489,68556,68563],{"data":67968,"content":67969,"nodeType":860},{},[67970],{"data":67971,"marks":67972,"value":67973,"nodeType":864},{},[],"2024 was an unprecedented year in terms of the impact of identity-based attacks. Or that’s what it felt like anyway, so I decided to trawl through a year of news to see if reality stacked up. ",{"data":67975,"content":67976,"nodeType":860},{},[67977],{"data":67978,"marks":67979,"value":67980,"nodeType":864},{},[],"My main obstacles here were the ever-disappointing levels of public information disclosure for cyber breaches. Even where breaches are disclosed, it’s rare that any public information contains the nature of the initial access vector (though I can’t say I’m surprised — it’s hard to argue the ‘highly sophisticated’ nature of a breach that involved stolen credentials and no MFA). ",{"data":67982,"content":67983,"nodeType":860},{},[67984],{"data":67985,"marks":67986,"value":67987,"nodeType":864},{},[],"Publicly disclosed breaches are just the tip of the iceberg, and with the rise in data theft and extortion over more disruptive attacks (e.g. ransomware), there is often no obvious service interruption indicating that an incident has taken place. This makes it more likely that these situations can be settled quietly or smoothed over, without hitting the headlines. ",{"data":67989,"content":67990,"nodeType":860},{},[67991,67995,68004],{"data":67992,"marks":67993,"value":67994,"nodeType":864},{},[],"That said, the requirement that US companies submit a Form-8K for breaches of a material nature does appear to have increased the number of voluntary declarations (inside the US, at least) and the growing willingness of the SEC to prosecute negligent or misleading behavior is also a considerable motivator, such as ",{"data":67996,"content":67998,"nodeType":883},{"uri":67997},"https://www.bleepingcomputer.com/news/security/sec-charges-tech-companies-for-downplaying-solarwinds-breaches/",[67999],{"data":68000,"marks":68001,"value":68003,"nodeType":864},{},[68002],{"type":1455},"the recent prosecution of companies for misleading investors about the impact of the 2020 SolarWinds Orion hack",{"data":68005,"marks":68006,"value":2924,"nodeType":864},{},[],{"data":68008,"content":68009,"nodeType":860},{},[68010],{"data":68011,"marks":68012,"value":68013,"nodeType":864},{},[],"Despite all this, I totalled 30 breaches that were the result of an identity-based initial access vector, such as phishing, credential stuffing, social engineering, session hijacking, etc. To make the list, it had to have appeared in the public domain, confirmed by the victim or an authoritative source, and the breach vector had to have been named. ",{"data":68015,"content":68016,"nodeType":860},{},[68017],{"data":68018,"marks":68019,"value":68020,"nodeType":864},{},[],"Public identity-related breaches in 2024 resulted in hundreds of millions of breached customer records (with the final impact of many still yet to appear in the public domain).",{"data":68022,"content":68023,"nodeType":1005},{},[],{"data":68025,"content":68026,"nodeType":1009},{},[68027],{"data":68028,"marks":68029,"value":68031,"nodeType":864},{},[68030],{"type":899},"What is an identity attack?",{"data":68033,"content":68034,"nodeType":860},{},[68035],{"data":68036,"marks":68037,"value":68038,"nodeType":864},{},[],"First, what do we mean by identity attack? ",{"data":68040,"content":68041,"nodeType":860},{},[68042],{"data":68043,"marks":68044,"value":68045,"nodeType":864},{},[],"An identity attack is any attack (regardless of the steps that follow) involving identity-based techniques, such as phishing, credential stuffing, and session hijacking, to log into an account/service. Basically, where identity is the initial breach vector.",{"data":68047,"content":68048,"nodeType":860},{},[68049],{"data":68050,"marks":68051,"value":68052,"nodeType":864},{},[],"The length and complexity of the overall attack chain will vary. For example, a SaaS-based account takeover where the attacker logs in and dumps the data from the app is naturally going to be more direct than a scenario in which an identity-based compromise leads to the takeover of an endpoint or device in a traditional networking environment. ",{"data":68054,"content":68058,"nodeType":996},{"target":68055},{"sys":68056},{"id":68057,"type":1001,"linkType":1002},"SCbhb6dzXnaKUianhgLEL",[],{"data":68060,"content":68061,"nodeType":860},{},[68062],{"data":68063,"marks":68064,"value":68065,"nodeType":864},{},[],"In 2024, we’ve seen examples of both SaaS-based account takeover as well as identity attacks being used for initial access to more traditional networks, often resulting in ransomware deployment.",{"data":68067,"content":68068,"nodeType":1005},{},[],{"data":68070,"content":68071,"nodeType":1009},{},[68072],{"data":68073,"marks":68074,"value":68076,"nodeType":864},{},[68075],{"type":899},"Breakdown of public identity breaches in 2024",{"data":68078,"content":68079,"nodeType":860},{},[68080],{"data":68081,"marks":68082,"value":68083,"nodeType":864},{},[],"It’s always tricky to gauge the impact of a cyber breach, particularly when considering the limited information typically shared. Different types of breach are easier to assess than others — for example, any breach involving extortion/ransom payment has a clear cost associated. Regulator fines and penalties are also clear cut. But aside from these, you’re looking at the extent of any disruption/downtime, recovery costs, and the like. Long term, indirect impacts such as the loss of customer confidence are naturally tricky to estimate. ",{"data":68085,"content":68086,"nodeType":860},{},[68087],{"data":68088,"marks":68089,"value":68090,"nodeType":864},{},[],"However, many identity breaches don’t even have these metrics to go by. The general shift toward data theft only (as opposed to ransomware deployment) continued in 2024, and many of the public identity breaches reflect this. In these attacks, attackers steal data to extort a ransom payment, blackmail end-customers, and/or sell the data via underground criminal marketplaces. ",{"data":68092,"content":68093,"nodeType":860},{},[68094],{"data":68095,"marks":68096,"value":68097,"nodeType":864},{},[],"The one consistent metric we do have is the number of breached records, which is available in many (but not all) cases. Some organizations have attempted to calculate the financial impact per breached record. Most notably IBMs annual ‘Cost of a Data Breach’ report estimates the average data breach to cost $4.88m, and the cost per compromised record to be $169. But when applied to the sheer magnitude of 2024’s biggest attacks (in the region of hundreds of millions of breached records) the figures quickly reach unbelievable levels. ",{"data":68099,"content":68100,"nodeType":860},{},[68101],{"data":68102,"marks":68103,"value":68104,"nodeType":864},{},[],"All this is to say: It’s hard to pin down the relative impact of data breaches. But with the information available (profile of the victim organization, type of data impacted, number of customers impacted) it’s possible to provide a finger-in-the-air assessment — which is what I’ve attempted to do below. Here, we can see the overall month-by-month impact of public identity breaches, dated from when they were first reported (or using dates provided in said reports). ",{"data":68106,"content":68110,"nodeType":996},{"target":68107},{"sys":68108},{"id":68109,"type":1001,"linkType":1002},"2XYuNqLuKhZbISb4II9IW4",[],{"data":68112,"content":68113,"nodeType":860},{},[68114],{"data":68115,"marks":68116,"value":68117,"nodeType":864},{},[],"Let’s take a closer look at the most notable breaches (and why they were especially significant). ",{"data":68119,"content":68120,"nodeType":1005},{},[],{"data":68122,"content":68123,"nodeType":1009},{},[68124],{"data":68125,"marks":68126,"value":68128,"nodeType":864},{},[68127],{"type":899},"Top 3 public identity-related breaches in 2024",{"data":68130,"content":68131,"nodeType":1312},{},[68132],{"data":68133,"marks":68134,"value":68136,"nodeType":864},{},[68135],{"type":899},"#3: Microsoft — January 2024",{"data":68138,"content":68139,"nodeType":860},{},[68140],{"data":68141,"marks":68142,"value":68143,"nodeType":864},{},[],"The threat group known as APT29, associated with the Russian SVR intelligence service, utilized password spray attacks that successfully compromised a non-production tenant account that did not have multi-factor authentication (MFA) enabled. They then leveraged this account to compromise a ‘test’ OAuth application that had elevated access to the Microsoft corporate environment. This was then used to access the email accounts of Microsoft employees. ",{"data":68145,"content":68146,"nodeType":860},{},[68147],{"data":68148,"marks":68149,"value":68150,"nodeType":864},{},[],"The attacks then continued throughout the year using information stolen from Microsoft mailboxes, with password spraying attacks increasing tenfold since the initial attack, resulting in the further compromise of source code repositories. ",{"data":68152,"content":68153,"nodeType":860},{},[68154],{"data":68155,"marks":68156,"value":68157,"nodeType":864},{},[],"Microsoft has shared limited information about the breach, but despite this it caused a significant stir. We can expect the number of email accounts compromised to be significant, given that it was later suggested that at least 100 external organizations had been contacted by Microsoft regarding their communications being breached (we only know this because 100-ish organizations reported the email as spam). The list of companies impacted included both public and private sector organizations, from major enterprises to government agencies in the US and other countries. ",{"data":68159,"content":68160,"nodeType":860},{},[68161,68165,68173],{"data":68162,"marks":68163,"value":68164,"nodeType":864},{},[],"Microsoft’s challenges with credential management didn’t end here either, ",{"data":68166,"content":68167,"nodeType":883},{"uri":58042},[68168],{"data":68169,"marks":68170,"value":68172,"nodeType":864},{},[68171],{"type":1455},"with bug bounty hunters able to use stolen credentials from a TI platform to breach Microsoft’s ServiceNow tenant",{"data":68174,"marks":68175,"value":68176,"nodeType":864},{},[],", accessing 1,000s of support ticket descriptions and attachments, and 250k+ employee emails.",{"data":68178,"content":68179,"nodeType":1312},{},[68180],{"data":68181,"marks":68182,"value":68184,"nodeType":864},{},[68183],{"type":899},"#2: Change Healthcare — February 2024",{"data":68186,"content":68187,"nodeType":860},{},[68188],{"data":68189,"marks":68190,"value":68191,"nodeType":864},{},[],"In February, attackers stole 6TB of data from UnitedHealth subsidiary Change Healthcare as part of a severe ransomware attack that caused massive disruption to the US healthcare industry. This impacted a wide range of critical services used by healthcare providers across the U.S., including payment processing, prescription writing, and insurance claims, and caused financial damages estimated at $872 million. The attack impacted the personal medical data of over 100M customers. ",{"data":68193,"content":68194,"nodeType":860},{},[68195],{"data":68196,"marks":68197,"value":68198,"nodeType":864},{},[],"The attacker used stolen credentials to breach the company's Citrix remote access service, which did not have multi-factor authentication enabled, as the initial breach vector for the attack. ",{"data":68200,"content":68201,"nodeType":860},{},[68202],{"data":68203,"marks":68204,"value":68205,"nodeType":864},{},[],"Following the attack, the organization's IT team replaced thousands of laptops, rotated credentials, and completely rebuilt Change Healthcare's data center network and core services.",{"data":68207,"content":68208,"nodeType":860},{},[68209],{"data":68210,"marks":68211,"value":68212,"nodeType":864},{},[],"The UnitedHealth Group admitted to paying a ransom demand to receive a decryptor and for the threat actors to delete the stolen data. The ransom payment was allegedly $22 million, according to the BlackCat ransomware affiliate who conducted the attack.",{"data":68214,"content":68215,"nodeType":1312},{},[68216],{"data":68217,"marks":68218,"value":68220,"nodeType":864},{},[68219],{"type":899},"#1: Snowflake — April-June 2024",{"data":68222,"content":68223,"nodeType":860},{},[68224],{"data":68225,"marks":68226,"value":68227,"nodeType":864},{},[],"165 organizations around the world were targeted using stolen credentials gathered from infostealer infections dating back to 2020. The impacted accounts lacked MFA, meaning successful authentication only required a valid username and password. As the Snowflake credentials found in infostealer malware credential dumps had not been rotated or updated, they remained valid and could be used to authenticate to user accounts on Snowflake tenants belonging to various customers. It has been touted by some news outlets as ‘one of the biggest breaches ever’. ",{"data":68229,"content":68230,"nodeType":860},{},[68231],{"data":68232,"marks":68233,"value":68234,"nodeType":864},{},[],"In total, nine public victims were named following the breach, collectively impacting hundreds of millions of their respective customers. Data was put up for sale on criminal forums for fees ranging from $150k to $2m per organization, while AT&T was also confirmed as paying an undisclosed ransom fee. ",{"data":68236,"content":68240,"nodeType":996},{"target":68237},{"sys":68238},{"id":68239,"type":1001,"linkType":1002},"68txz4KkLmCX2hF9QySUZs",[],{"data":68242,"content":68243,"nodeType":1005},{},[],{"data":68245,"content":68246,"nodeType":1009},{},[68247],{"data":68248,"marks":68249,"value":68251,"nodeType":864},{},[68250],{"type":899},"Identity attacks vs. other attacks in 2024",{"data":68253,"content":68254,"nodeType":860},{},[68255],{"data":68256,"marks":68257,"value":68258,"nodeType":864},{},[],"In many ways, 2024 was a year of identity attacks. The attacks on Snowflake customers was unarguably one of (if not the most) significant cyber security event of the year (at least, if you exclude CrowdStrike causing a worldwide outage in July) — certainly, it was the largest perpetrated by a criminal group against commercial enterprises. ",{"data":68260,"content":68261,"nodeType":860},{},[68262],{"data":68263,"marks":68264,"value":68265,"nodeType":864},{},[],"Arguably the biggest non-identity story of the year was the Chinese state-sponsored “Salt Typhoon” campaign against global telecommunications firms, with at least nine major providers compromised — including AT&T, Verizon, and T-Mobile. The group reportedly focused on infiltrating telecommunications infrastructure to steal text messages, phone call information, and voicemails from targeted people. The threat actors also targeted the wiretapping platforms used by the US government, raising serious national security concerns.",{"data":68267,"content":68268,"nodeType":860},{},[68269],{"data":68270,"marks":68271,"value":68272,"nodeType":864},{},[],"Undoubtedly this was one of the biggest intelligence compromises in US history and is of major significance. But it’s also arguable that identity attacks had a more widespread commercial impact in 2024 when we look at the big picture.   ",{"data":68274,"content":68275,"nodeType":860},{},[68276],{"data":68277,"marks":68278,"value":68279,"nodeType":864},{},[],"Attacks on edge networking devices were also incredibly prominent, as were very much interlinked with the targeting of telecommunications infrastructure. A barrage of 0-days generated a huge amount of concern about the software security practices of many vendors. ",{"data":68281,"content":68282,"nodeType":860},{},[68283],{"data":68284,"marks":68285,"value":68286,"nodeType":864},{},[],"But despite these honorable mentions, the runaway threat of the year was an identity-based one… ",{"data":68288,"content":68289,"nodeType":1005},{},[],{"data":68291,"content":68292,"nodeType":1009},{},[68293],{"data":68294,"marks":68295,"value":68297,"nodeType":864},{},[68296],{"type":899},"Threat of the year: Infostealers",{"data":68299,"content":68300,"nodeType":860},{},[68301],{"data":68302,"marks":68303,"value":68304,"nodeType":864},{},[],"2024 saw an unprecedented rise in the role of infostealers. The played a huge role in the attacks on Snowflake customers, where 80% of the accounts were targeted using credentials found in infostealer infections. ",{"data":68306,"content":68307,"nodeType":860},{},[68308],{"data":68309,"marks":68310,"value":68311,"nodeType":864},{},[],"News relating to new infostealer variants and distributions campaigns came thick and fast in 2024, as attackers sought to harvest credentials from victims to use as part of their own malicious campaigns, or to sell on to other criminals on underground marketplaces for compromised credentials. Attackers leaned into alternative distribution channels, branching away from email-based campaigns to target victims via gaming forums, Facebook ads, and YouTube video descriptions. GitHub was also continuously targeted as a malware distribution mechanism throughout the year — and the majority of the time it was to push infostealers. ",{"data":68313,"content":68314,"nodeType":860},{},[68315],{"data":68316,"marks":68317,"value":68318,"nodeType":864},{},[],"Infostealers are the weapon of choice for attackers looking to harvest credentials at scale. Compared to credential harvesting phishing campaigns, infostealers target a much broader range of credentials, taking everything saved in the victim’s browser (and often also from local apps, including password managers).",{"data":68320,"content":68321,"nodeType":860},{},[68322],{"data":68323,"marks":68324,"value":68325,"nodeType":864},{},[],"Infostealers are nothing new, but have historically been seen as a problem affecting less secure personal devices and accounts. But 2024 has demonstrated that infostealers are finding ways to harvest business data — by finding ways around controls like EDR, and because of the ways that personal and business identities and accounts are converging in the modern workplace. For example, it’s not uncommon for employees to log into their personal Google account on their work device (and vice versa), inadvertently saving corporate credentials to their personal password store — which is later compromised through an infostealer infection on a personal device. ",{"data":68327,"content":68328,"nodeType":860},{},[68329],{"data":68330,"marks":68331,"value":68332,"nodeType":864},{},[],"The impact of infostealers (and the resulting stolen credentials and session cookies) is underlined by various figures:",{"data":68334,"content":68335,"nodeType":941},{},[68336,68356,68378,68400,68420],{"data":68337,"content":68338,"nodeType":945},{},[68339],{"data":68340,"content":68341,"nodeType":860},{},[68342,68346,68353],{"data":68343,"marks":68344,"value":68345,"nodeType":864},{},[],"79% of web application compromises were the result of breached credentials (",{"data":68347,"content":68348,"nodeType":883},{"uri":4408},[68349],{"data":68350,"marks":68351,"value":27246,"nodeType":864},{},[68352],{"type":1455},{"data":68354,"marks":68355,"value":22438,"nodeType":864},{},[],{"data":68357,"content":68358,"nodeType":945},{},[68359],{"data":68360,"content":68361,"nodeType":860},{},[68362,68366,68375],{"data":68363,"marks":68364,"value":68365,"nodeType":864},{},[],"Infostealer activity increased by 266% in 2023, while the number of attacks featuring valid credentials saw a 71% increase year-over-year (",{"data":68367,"content":68369,"nodeType":883},{"uri":68368},"https://www.ibm.com/downloads/cas/L0GKXDWJ",[68370],{"data":68371,"marks":68372,"value":68374,"nodeType":864},{},[68373],{"type":1455},"IBM",{"data":68376,"marks":68377,"value":22438,"nodeType":864},{},[],{"data":68379,"content":68380,"nodeType":945},{},[68381],{"data":68382,"content":68383,"nodeType":860},{},[68384,68388,68397],{"data":68385,"marks":68386,"value":68387,"nodeType":864},{},[],"Nearly half of the malware detected last year targeted victims’ data specifically, and the majority of that malware was classified as infostealers (",{"data":68389,"content":68391,"nodeType":883},{"uri":68390},"https://news.sophos.com/en-us/2024/03/12/2024-sophos-threat-report/",[68392],{"data":68393,"marks":68394,"value":68396,"nodeType":864},{},[68395],{"type":1455},"Sophos",{"data":68398,"marks":68399,"value":22438,"nodeType":864},{},[],{"data":68401,"content":68402,"nodeType":945},{},[68403],{"data":68404,"content":68405,"nodeType":860},{},[68406,68410,68417],{"data":68407,"marks":68408,"value":68409,"nodeType":864},{},[],"39,000 session token attacks are detected per day (",{"data":68411,"content":68412,"nodeType":883},{"uri":48126},[68413],{"data":68414,"marks":68415,"value":23700,"nodeType":864},{},[68416],{"type":1455},{"data":68418,"marks":68419,"value":22438,"nodeType":864},{},[],{"data":68421,"content":68422,"nodeType":945},{},[68423],{"data":68424,"content":68425,"nodeType":860},{},[68426,68430,68439],{"data":68427,"marks":68428,"value":68429,"nodeType":864},{},[],"Attacks on session cookies happen at the same rough order of magnitude as password-based attacks (",{"data":68431,"content":68433,"nodeType":883},{"uri":68432},"https://github.com/WICG/dbsc/issues/13#issuecomment-1977657864",[68434],{"data":68435,"marks":68436,"value":68438,"nodeType":864},{},[68437],{"type":1455},"Google",{"data":68440,"marks":68441,"value":22438,"nodeType":864},{},[],{"data":68443,"content":68444,"nodeType":860},{},[68445,68449,68454],{"data":68446,"marks":68447,"value":68448,"nodeType":864},{},[],"And of the confirmed identity-based breaches in the public domain that we identified, ",{"data":68450,"marks":68451,"value":68453,"nodeType":864},{},[68452],{"type":899},"a whopping 73% were the result of compromised credentials ",{"data":68455,"marks":68456,"value":68457,"nodeType":864},{},[],"(the rest were phishing attacks). ",{"data":68459,"content":68460,"nodeType":860},{},[68461],{"data":68462,"marks":68463,"value":68464,"nodeType":864},{},[],"As the primary source of compromised credentials, it’s fair to say that infostealers deserve the top spot for 2024.",{"data":68466,"content":68470,"nodeType":996},{"target":68467},{"sys":68468},{"id":68469,"type":1001,"linkType":1002},"7mMQEYQTXKAajIGFviDJKt",[],{"data":68472,"content":68473,"nodeType":1005},{},[],{"data":68475,"content":68476,"nodeType":1009},{},[68477],{"data":68478,"marks":68479,"value":68481,"nodeType":864},{},[68480],{"type":899},"Defend against infostealers with Push",{"data":68483,"content":68484,"nodeType":860},{},[68485],{"data":68486,"marks":68487,"value":68488,"nodeType":864},{},[],"As a browser-based identity security platform designed to stop identity attacks, Push helps organizations to defend against the rise in infostealers by:",{"data":68490,"content":68491,"nodeType":941},{},[68492,68525,68546],{"data":68493,"content":68494,"nodeType":945},{},[68495],{"data":68496,"content":68497,"nodeType":860},{},[68498,68501,68509,68513,68521],{"data":68499,"marks":68500,"value":21,"nodeType":864},{},[],{"data":68502,"content":68503,"nodeType":883},{"uri":35369},[68504],{"data":68505,"marks":68506,"value":68508,"nodeType":864},{},[68507],{"type":1455},"Alerting you whenever the valid credentials your employees are using appear in a compromised credential data feed",{"data":68510,"marks":68511,"value":68512,"nodeType":864},{},[],", which can be leveraged to ",{"data":68514,"content":68515,"nodeType":883},{"uri":48062},[68516],{"data":68517,"marks":68518,"value":68520,"nodeType":864},{},[68519],{"type":1455},"trigger automated password resets",{"data":68522,"marks":68523,"value":68524,"nodeType":864},{},[]," whenever an event fires and is received by your SIEM tool.",{"data":68526,"content":68527,"nodeType":945},{},[68528],{"data":68529,"content":68530,"nodeType":860},{},[68531,68534,68542],{"data":68532,"marks":68533,"value":21,"nodeType":864},{},[],{"data":68535,"content":68536,"nodeType":883},{"uri":34857},[68537],{"data":68538,"marks":68539,"value":68541,"nodeType":864},{},[68540],{"type":1455},"Detecting session hijacking attacks using stolen cookies to identify when an attacker logs into an app",{"data":68543,"marks":68544,"value":68545,"nodeType":864},{},[]," from an unmanaged device without the Push browser extension — this can also be used to detect suspicious access in general!",{"data":68547,"content":68548,"nodeType":945},{},[68549],{"data":68550,"content":68551,"nodeType":860},{},[68552],{"data":68553,"marks":68554,"value":68555,"nodeType":864},{},[],"Enabling you to enforce MFA the next time an employee logs into an app (even when the app itself doesn’t allow you to enforce mandatory MFA) — particularly handy if a weak, breached, or reused password is detected for their account!  ",{"data":68557,"content":68558,"nodeType":860},{},[68559],{"data":68560,"marks":68561,"value":68562,"nodeType":864},{},[],"And much, much more. ",{"data":68564,"content":68565,"nodeType":860},{},[68566,68570,68577],{"data":68567,"marks":68568,"value":68569,"nodeType":864},{},[],"If you’d like to explore the platform yourself and discover more of our great features, you can ",{"data":68571,"content":68572,"nodeType":883},{"uri":1700},[68573],{"data":68574,"marks":68575,"value":65931,"nodeType":864},{},[68576],{"type":1455},{"data":68578,"marks":68579,"value":2924,"nodeType":864},{},[],"Looking back on identity-based breaches in 2024","Reviewing public breaches that stemmed from identity attacks in 2024. ","2025-01-10T00:00:00.000Z","2024-identity-breaches",{"items":68585},[68586],{"sys":68587,"name":6593},{"id":6592},{"items":68589},[68590],{"fullName":2736,"firstName":2737,"jobTitle":2738,"profilePicture":68591},{"url":2740},{"__typename":2059,"sys":68593,"content":68594,"title":62114,"synopsis":62115,"hashTags":59,"publishedDate":62116,"slug":62117,"tagsCollection":69130,"authorsCollection":69136},{"id":61498},{"json":68595},{"data":68596,"content":68597,"nodeType":856},{},[68598,68604,68617,68623,68628,68634,68640,68643,68649,68655,68661,68681,68687,68700,68703,68709,68715,68736,68742,68748,68764,68769,68775,68791,68796,68802,68842,68849,68855,68865,68875,68881,68907,68913,68916,68922,68938,68944,68950,68956,68959,68965,68972,68978,68984,69044,69050,69056,69062,69092,69098,69104,69110,69115],{"data":68599,"content":68600,"nodeType":860},{},[68601],{"data":68602,"marks":68603,"value":61509,"nodeType":864},{},[],{"data":68605,"content":68606,"nodeType":860},{},[68607,68610,68614],{"data":68608,"marks":68609,"value":61516,"nodeType":864},{},[],{"data":68611,"marks":68612,"value":61521,"nodeType":864},{},[68613],{"type":899},{"data":68615,"marks":68616,"value":61525,"nodeType":864},{},[],{"data":68618,"content":68619,"nodeType":860},{},[68620],{"data":68621,"marks":68622,"value":61532,"nodeType":864},{},[],{"data":68624,"content":68627,"nodeType":996},{"target":68625},{"sys":68626},{"id":61537,"type":1001,"linkType":1002},[],{"data":68629,"content":68630,"nodeType":860},{},[68631],{"data":68632,"marks":68633,"value":61545,"nodeType":864},{},[],{"data":68635,"content":68636,"nodeType":860},{},[68637],{"data":68638,"marks":68639,"value":61552,"nodeType":864},{},[],{"data":68641,"content":68642,"nodeType":1005},{},[],{"data":68644,"content":68645,"nodeType":1009},{},[68646],{"data":68647,"marks":68648,"value":61562,"nodeType":864},{},[],{"data":68650,"content":68651,"nodeType":860},{},[68652],{"data":68653,"marks":68654,"value":61569,"nodeType":864},{},[],{"data":68656,"content":68657,"nodeType":860},{},[68658],{"data":68659,"marks":68660,"value":61576,"nodeType":864},{},[],{"data":68662,"content":68663,"nodeType":860},{},[68664,68667,68671,68674,68678],{"data":68665,"marks":68666,"value":61583,"nodeType":864},{},[],{"data":68668,"marks":68669,"value":61588,"nodeType":864},{},[68670],{"type":899},{"data":68672,"marks":68673,"value":1171,"nodeType":864},{},[],{"data":68675,"marks":68676,"value":61596,"nodeType":864},{},[68677],{"type":899},{"data":68679,"marks":68680,"value":8618,"nodeType":864},{},[],{"data":68682,"content":68683,"nodeType":860},{},[68684],{"data":68685,"marks":68686,"value":61606,"nodeType":864},{},[],{"data":68688,"content":68689,"nodeType":860},{},[68690,68693,68697],{"data":68691,"marks":68692,"value":61613,"nodeType":864},{},[],{"data":68694,"marks":68695,"value":61618,"nodeType":864},{},[68696],{"type":899},{"data":68698,"marks":68699,"value":61622,"nodeType":864},{},[],{"data":68701,"content":68702,"nodeType":1005},{},[],{"data":68704,"content":68705,"nodeType":1009},{},[68706],{"data":68707,"marks":68708,"value":61632,"nodeType":864},{},[],{"data":68710,"content":68711,"nodeType":860},{},[68712],{"data":68713,"marks":68714,"value":61639,"nodeType":864},{},[],{"data":68716,"content":68717,"nodeType":941},{},[68718,68727],{"data":68719,"content":68720,"nodeType":945},{},[68721],{"data":68722,"content":68723,"nodeType":860},{},[68724],{"data":68725,"marks":68726,"value":61652,"nodeType":864},{},[],{"data":68728,"content":68729,"nodeType":945},{},[68730],{"data":68731,"content":68732,"nodeType":860},{},[68733],{"data":68734,"marks":68735,"value":61662,"nodeType":864},{},[],{"data":68737,"content":68738,"nodeType":860},{},[68739],{"data":68740,"marks":68741,"value":61669,"nodeType":864},{},[],{"data":68743,"content":68744,"nodeType":1312},{},[68745],{"data":68746,"marks":68747,"value":61676,"nodeType":864},{},[],{"data":68749,"content":68750,"nodeType":860},{},[68751,68754,68761],{"data":68752,"marks":68753,"value":61683,"nodeType":864},{},[],{"data":68755,"content":68756,"nodeType":883},{"uri":15980},[68757],{"data":68758,"marks":68759,"value":61691,"nodeType":864},{},[68760],{"type":1455},{"data":68762,"marks":68763,"value":12252,"nodeType":864},{},[],{"data":68765,"content":68768,"nodeType":996},{"target":68766},{"sys":68767},{"id":61699,"type":1001,"linkType":1002},[],{"data":68770,"content":68771,"nodeType":860},{},[68772],{"data":68773,"marks":68774,"value":61707,"nodeType":864},{},[],{"data":68776,"content":68777,"nodeType":860},{},[68778,68781,68788],{"data":68779,"marks":68780,"value":61714,"nodeType":864},{},[],{"data":68782,"content":68783,"nodeType":883},{"uri":3751},[68784],{"data":68785,"marks":68786,"value":61722,"nodeType":864},{},[68787],{"type":1455},{"data":68789,"marks":68790,"value":61726,"nodeType":864},{},[],{"data":68792,"content":68795,"nodeType":996},{"target":68793},{"sys":68794},{"id":61731,"type":1001,"linkType":1002},[],{"data":68797,"content":68798,"nodeType":860},{},[68799],{"data":68800,"marks":68801,"value":61739,"nodeType":864},{},[],{"data":68803,"content":68804,"nodeType":941},{},[68805,68814,68823],{"data":68806,"content":68807,"nodeType":945},{},[68808],{"data":68809,"content":68810,"nodeType":860},{},[68811],{"data":68812,"marks":68813,"value":61752,"nodeType":864},{},[],{"data":68815,"content":68816,"nodeType":945},{},[68817],{"data":68818,"content":68819,"nodeType":860},{},[68820],{"data":68821,"marks":68822,"value":61762,"nodeType":864},{},[],{"data":68824,"content":68825,"nodeType":945},{},[68826],{"data":68827,"content":68828,"nodeType":860},{},[68829,68832,68839],{"data":68830,"marks":68831,"value":61772,"nodeType":864},{},[],{"data":68833,"content":68834,"nodeType":883},{"uri":61775},[68835],{"data":68836,"marks":68837,"value":61781,"nodeType":864},{},[68838],{"type":1455},{"data":68840,"marks":68841,"value":61785,"nodeType":864},{},[],{"data":68843,"content":68844,"nodeType":860},{},[68845],{"data":68846,"marks":68847,"value":61793,"nodeType":864},{},[68848],{"type":899},{"data":68850,"content":68851,"nodeType":860},{},[68852],{"data":68853,"marks":68854,"value":61800,"nodeType":864},{},[],{"data":68856,"content":68857,"nodeType":860},{},[68858,68862],{"data":68859,"marks":68860,"value":61808,"nodeType":864},{},[68861],{"type":899},{"data":68863,"marks":68864,"value":61812,"nodeType":864},{},[],{"data":68866,"content":68867,"nodeType":860},{},[68868,68872],{"data":68869,"marks":68870,"value":61820,"nodeType":864},{},[68871],{"type":899},{"data":68873,"marks":68874,"value":61824,"nodeType":864},{},[],{"data":68876,"content":68877,"nodeType":1312},{},[68878],{"data":68879,"marks":68880,"value":61831,"nodeType":864},{},[],{"data":68882,"content":68883,"nodeType":860},{},[68884,68887,68894,68897,68904],{"data":68885,"marks":68886,"value":61838,"nodeType":864},{},[],{"data":68888,"content":68889,"nodeType":883},{"uri":61841},[68890],{"data":68891,"marks":68892,"value":61847,"nodeType":864},{},[68893],{"type":1455},{"data":68895,"marks":68896,"value":61851,"nodeType":864},{},[],{"data":68898,"content":68899,"nodeType":883},{"uri":61854},[68900],{"data":68901,"marks":68902,"value":61860,"nodeType":864},{},[68903],{"type":1455},{"data":68905,"marks":68906,"value":61864,"nodeType":864},{},[],{"data":68908,"content":68909,"nodeType":860},{},[68910],{"data":68911,"marks":68912,"value":61871,"nodeType":864},{},[],{"data":68914,"content":68915,"nodeType":1005},{},[],{"data":68917,"content":68918,"nodeType":1009},{},[68919],{"data":68920,"marks":68921,"value":61881,"nodeType":864},{},[],{"data":68923,"content":68924,"nodeType":860},{},[68925,68928,68935],{"data":68926,"marks":68927,"value":61888,"nodeType":864},{},[],{"data":68929,"content":68930,"nodeType":883},{"uri":61891},[68931],{"data":68932,"marks":68933,"value":61897,"nodeType":864},{},[68934],{"type":1455},{"data":68936,"marks":68937,"value":61901,"nodeType":864},{},[],{"data":68939,"content":68940,"nodeType":860},{},[68941],{"data":68942,"marks":68943,"value":61908,"nodeType":864},{},[],{"data":68945,"content":68946,"nodeType":860},{},[68947],{"data":68948,"marks":68949,"value":61915,"nodeType":864},{},[],{"data":68951,"content":68952,"nodeType":860},{},[68953],{"data":68954,"marks":68955,"value":61922,"nodeType":864},{},[],{"data":68957,"content":68958,"nodeType":1005},{},[],{"data":68960,"content":68961,"nodeType":1009},{},[68962],{"data":68963,"marks":68964,"value":61932,"nodeType":864},{},[],{"data":68966,"content":68967,"nodeType":860},{},[68968],{"data":68969,"marks":68970,"value":61940,"nodeType":864},{},[68971],{"type":899},{"data":68973,"content":68974,"nodeType":860},{},[68975],{"data":68976,"marks":68977,"value":61947,"nodeType":864},{},[],{"data":68979,"content":68980,"nodeType":860},{},[68981],{"data":68982,"marks":68983,"value":61954,"nodeType":864},{},[],{"data":68985,"content":68986,"nodeType":941},{},[68987,69006,69025],{"data":68988,"content":68989,"nodeType":945},{},[68990],{"data":68991,"content":68992,"nodeType":860},{},[68993,68996,69003],{"data":68994,"marks":68995,"value":21,"nodeType":864},{},[],{"data":68997,"content":68998,"nodeType":883},{"uri":61969},[68999],{"data":69000,"marks":69001,"value":61969,"nodeType":864},{},[69002],{"type":1455},{"data":69004,"marks":69005,"value":8618,"nodeType":864},{},[],{"data":69007,"content":69008,"nodeType":945},{},[69009],{"data":69010,"content":69011,"nodeType":860},{},[69012,69015,69022],{"data":69013,"marks":69014,"value":21,"nodeType":864},{},[],{"data":69016,"content":69017,"nodeType":883},{"uri":61989},[69018],{"data":69019,"marks":69020,"value":61989,"nodeType":864},{},[69021],{"type":1455},{"data":69023,"marks":69024,"value":21,"nodeType":864},{},[],{"data":69026,"content":69027,"nodeType":945},{},[69028],{"data":69029,"content":69030,"nodeType":860},{},[69031,69034,69041],{"data":69032,"marks":69033,"value":21,"nodeType":864},{},[],{"data":69035,"content":69036,"nodeType":883},{"uri":62009},[69037],{"data":69038,"marks":69039,"value":62009,"nodeType":864},{},[69040],{"type":1455},{"data":69042,"marks":69043,"value":2924,"nodeType":864},{},[],{"data":69045,"content":69046,"nodeType":860},{},[69047],{"data":69048,"marks":69049,"value":62024,"nodeType":864},{},[],{"data":69051,"content":69052,"nodeType":1312},{},[69053],{"data":69054,"marks":69055,"value":62031,"nodeType":864},{},[],{"data":69057,"content":69058,"nodeType":860},{},[69059],{"data":69060,"marks":69061,"value":62038,"nodeType":864},{},[],{"data":69063,"content":69064,"nodeType":941},{},[69065,69074,69083],{"data":69066,"content":69067,"nodeType":945},{},[69068],{"data":69069,"content":69070,"nodeType":860},{},[69071],{"data":69072,"marks":69073,"value":62051,"nodeType":864},{},[],{"data":69075,"content":69076,"nodeType":945},{},[69077],{"data":69078,"content":69079,"nodeType":860},{},[69080],{"data":69081,"marks":69082,"value":62061,"nodeType":864},{},[],{"data":69084,"content":69085,"nodeType":945},{},[69086],{"data":69087,"content":69088,"nodeType":860},{},[69089],{"data":69090,"marks":69091,"value":62071,"nodeType":864},{},[],{"data":69093,"content":69094,"nodeType":1312},{},[69095],{"data":69096,"marks":69097,"value":8991,"nodeType":864},{},[],{"data":69099,"content":69100,"nodeType":860},{},[69101],{"data":69102,"marks":69103,"value":62084,"nodeType":864},{},[],{"data":69105,"content":69106,"nodeType":860},{},[69107],{"data":69108,"marks":69109,"value":62091,"nodeType":864},{},[],{"data":69111,"content":69114,"nodeType":996},{"target":69112},{"sys":69113},{"id":62096,"type":1001,"linkType":1002},[],{"data":69116,"content":69117,"nodeType":860},{},[69118,69121,69127],{"data":69119,"marks":69120,"value":62104,"nodeType":864},{},[],{"data":69122,"content":69123,"nodeType":883},{"uri":5642},[69124],{"data":69125,"marks":69126,"value":48919,"nodeType":864},{},[],{"data":69128,"marks":69129,"value":48923,"nodeType":864},{},[],{"items":69131},[69132,69134],{"sys":69133,"name":6593},{"id":6592},{"sys":69135,"name":297},{"id":2732},{"items":69137},[69138],{"fullName":38408,"firstName":38409,"jobTitle":38410,"profilePicture":69139},{"url":38412},"blog/minimum-viable-identity-security","8 ways app developers can go beyond MVSP to mitigate identity-based attacks",{"json":69143},{"data":69144,"content":69145,"nodeType":856},{},[69146],{"data":69147,"content":69148,"nodeType":860},{},[69149],{"data":69150,"marks":69151,"value":69152,"nodeType":864},{},[],"How app developers can go beyond the Minimum Viable Secure Product (MVSP) controls framework to implement better identity protections and prevent identity-based attacks. ",{"id":41570,"publishedAt":69154},"2026-08-13T09:35:15.589Z",{"items":69156},[69157,69159],{"sys":69158,"name":297},{"id":2732},{"sys":69160,"name":342},{"id":6596},{"items":69162},[69163,69165,69167,69169,69171,69173,69175,69177,69179,69181,69183,69185,69187,69189,69191],{"sys":69164,"name":413,"slug":414,"tier":31},{"id":410},{"sys":69166,"name":545,"slug":546,"tier":31},{"id":542},{"sys":69168,"name":297,"slug":298,"tier":31},{"id":294},{"sys":69170,"name":342,"slug":343,"tier":31},{"id":339},{"sys":69172,"name":502,"slug":503,"tier":45},{"id":499},{"sys":69174,"name":457,"slug":458,"tier":45},{"id":454},{"sys":69176,"name":395,"slug":396,"tier":45},{"id":392},{"sys":69178,"name":571,"slug":572,"tier":45},{"id":568},{"sys":69180,"name":333,"slug":334,"tier":45},{"id":330},{"sys":69182,"name":466,"slug":467,"tier":45},{"id":463},{"sys":69184,"name":493,"slug":494,"tier":45},{"id":490},{"sys":69186,"name":484,"slug":485,"tier":45},{"id":481},{"sys":69188,"name":404,"slug":405,"tier":45},{"id":401},{"sys":69190,"name":324,"slug":325,"tier":45},{"id":321},{"sys":69192,"name":598,"slug":599,"tier":45},{"id":595},"36eBiMftHHKz8mXIjsEN0ybWULXePeHjkaI21BYrWJE",{"id":69195,"title":62114,"authorsCollection":69196,"content":69201,"extension":228,"faqItemsCollection":69771,"faqTitle":59,"featured":6,"hashTags":59,"meta":69773,"metaTitle":69774,"ogImage":69775,"postType":5740,"publishedDate":62116,"relatedBlogPostsCollection":69777,"slug":62117,"stem":72044,"subtitle":59,"summary":72045,"synopsis":62115,"sys":72056,"tagsCollection":72058,"topicsCollection":72064,"__hash__":72100},"blog/blog/considering-the-impact-of-computer-using-agents.json",{"items":69197},[69198],{"fullName":38408,"firstName":38409,"jobTitle":38410,"socialLinks":69199,"profilePicture":69200},[38494],{"url":38412},{"json":69202,"links":69737},{"data":69203,"content":69204,"nodeType":856},{},[69205,69211,69224,69230,69235,69241,69247,69250,69256,69262,69268,69288,69294,69307,69310,69316,69322,69343,69349,69355,69371,69376,69382,69398,69403,69409,69449,69456,69462,69472,69482,69488,69514,69520,69523,69529,69545,69551,69557,69563,69566,69572,69579,69585,69591,69651,69657,69663,69669,69699,69705,69711,69717,69722],{"data":69206,"content":69207,"nodeType":860},{},[69208],{"data":69209,"marks":69210,"value":61509,"nodeType":864},{},[],{"data":69212,"content":69213,"nodeType":860},{},[69214,69217,69221],{"data":69215,"marks":69216,"value":61516,"nodeType":864},{},[],{"data":69218,"marks":69219,"value":61521,"nodeType":864},{},[69220],{"type":899},{"data":69222,"marks":69223,"value":61525,"nodeType":864},{},[],{"data":69225,"content":69226,"nodeType":860},{},[69227],{"data":69228,"marks":69229,"value":61532,"nodeType":864},{},[],{"data":69231,"content":69234,"nodeType":996},{"target":69232},{"sys":69233},{"id":61537,"type":1001,"linkType":1002},[],{"data":69236,"content":69237,"nodeType":860},{},[69238],{"data":69239,"marks":69240,"value":61545,"nodeType":864},{},[],{"data":69242,"content":69243,"nodeType":860},{},[69244],{"data":69245,"marks":69246,"value":61552,"nodeType":864},{},[],{"data":69248,"content":69249,"nodeType":1005},{},[],{"data":69251,"content":69252,"nodeType":1009},{},[69253],{"data":69254,"marks":69255,"value":61562,"nodeType":864},{},[],{"data":69257,"content":69258,"nodeType":860},{},[69259],{"data":69260,"marks":69261,"value":61569,"nodeType":864},{},[],{"data":69263,"content":69264,"nodeType":860},{},[69265],{"data":69266,"marks":69267,"value":61576,"nodeType":864},{},[],{"data":69269,"content":69270,"nodeType":860},{},[69271,69274,69278,69281,69285],{"data":69272,"marks":69273,"value":61583,"nodeType":864},{},[],{"data":69275,"marks":69276,"value":61588,"nodeType":864},{},[69277],{"type":899},{"data":69279,"marks":69280,"value":1171,"nodeType":864},{},[],{"data":69282,"marks":69283,"value":61596,"nodeType":864},{},[69284],{"type":899},{"data":69286,"marks":69287,"value":8618,"nodeType":864},{},[],{"data":69289,"content":69290,"nodeType":860},{},[69291],{"data":69292,"marks":69293,"value":61606,"nodeType":864},{},[],{"data":69295,"content":69296,"nodeType":860},{},[69297,69300,69304],{"data":69298,"marks":69299,"value":61613,"nodeType":864},{},[],{"data":69301,"marks":69302,"value":61618,"nodeType":864},{},[69303],{"type":899},{"data":69305,"marks":69306,"value":61622,"nodeType":864},{},[],{"data":69308,"content":69309,"nodeType":1005},{},[],{"data":69311,"content":69312,"nodeType":1009},{},[69313],{"data":69314,"marks":69315,"value":61632,"nodeType":864},{},[],{"data":69317,"content":69318,"nodeType":860},{},[69319],{"data":69320,"marks":69321,"value":61639,"nodeType":864},{},[],{"data":69323,"content":69324,"nodeType":941},{},[69325,69334],{"data":69326,"content":69327,"nodeType":945},{},[69328],{"data":69329,"content":69330,"nodeType":860},{},[69331],{"data":69332,"marks":69333,"value":61652,"nodeType":864},{},[],{"data":69335,"content":69336,"nodeType":945},{},[69337],{"data":69338,"content":69339,"nodeType":860},{},[69340],{"data":69341,"marks":69342,"value":61662,"nodeType":864},{},[],{"data":69344,"content":69345,"nodeType":860},{},[69346],{"data":69347,"marks":69348,"value":61669,"nodeType":864},{},[],{"data":69350,"content":69351,"nodeType":1312},{},[69352],{"data":69353,"marks":69354,"value":61676,"nodeType":864},{},[],{"data":69356,"content":69357,"nodeType":860},{},[69358,69361,69368],{"data":69359,"marks":69360,"value":61683,"nodeType":864},{},[],{"data":69362,"content":69363,"nodeType":883},{"uri":15980},[69364],{"data":69365,"marks":69366,"value":61691,"nodeType":864},{},[69367],{"type":1455},{"data":69369,"marks":69370,"value":12252,"nodeType":864},{},[],{"data":69372,"content":69375,"nodeType":996},{"target":69373},{"sys":69374},{"id":61699,"type":1001,"linkType":1002},[],{"data":69377,"content":69378,"nodeType":860},{},[69379],{"data":69380,"marks":69381,"value":61707,"nodeType":864},{},[],{"data":69383,"content":69384,"nodeType":860},{},[69385,69388,69395],{"data":69386,"marks":69387,"value":61714,"nodeType":864},{},[],{"data":69389,"content":69390,"nodeType":883},{"uri":3751},[69391],{"data":69392,"marks":69393,"value":61722,"nodeType":864},{},[69394],{"type":1455},{"data":69396,"marks":69397,"value":61726,"nodeType":864},{},[],{"data":69399,"content":69402,"nodeType":996},{"target":69400},{"sys":69401},{"id":61731,"type":1001,"linkType":1002},[],{"data":69404,"content":69405,"nodeType":860},{},[69406],{"data":69407,"marks":69408,"value":61739,"nodeType":864},{},[],{"data":69410,"content":69411,"nodeType":941},{},[69412,69421,69430],{"data":69413,"content":69414,"nodeType":945},{},[69415],{"data":69416,"content":69417,"nodeType":860},{},[69418],{"data":69419,"marks":69420,"value":61752,"nodeType":864},{},[],{"data":69422,"content":69423,"nodeType":945},{},[69424],{"data":69425,"content":69426,"nodeType":860},{},[69427],{"data":69428,"marks":69429,"value":61762,"nodeType":864},{},[],{"data":69431,"content":69432,"nodeType":945},{},[69433],{"data":69434,"content":69435,"nodeType":860},{},[69436,69439,69446],{"data":69437,"marks":69438,"value":61772,"nodeType":864},{},[],{"data":69440,"content":69441,"nodeType":883},{"uri":61775},[69442],{"data":69443,"marks":69444,"value":61781,"nodeType":864},{},[69445],{"type":1455},{"data":69447,"marks":69448,"value":61785,"nodeType":864},{},[],{"data":69450,"content":69451,"nodeType":860},{},[69452],{"data":69453,"marks":69454,"value":61793,"nodeType":864},{},[69455],{"type":899},{"data":69457,"content":69458,"nodeType":860},{},[69459],{"data":69460,"marks":69461,"value":61800,"nodeType":864},{},[],{"data":69463,"content":69464,"nodeType":860},{},[69465,69469],{"data":69466,"marks":69467,"value":61808,"nodeType":864},{},[69468],{"type":899},{"data":69470,"marks":69471,"value":61812,"nodeType":864},{},[],{"data":69473,"content":69474,"nodeType":860},{},[69475,69479],{"data":69476,"marks":69477,"value":61820,"nodeType":864},{},[69478],{"type":899},{"data":69480,"marks":69481,"value":61824,"nodeType":864},{},[],{"data":69483,"content":69484,"nodeType":1312},{},[69485],{"data":69486,"marks":69487,"value":61831,"nodeType":864},{},[],{"data":69489,"content":69490,"nodeType":860},{},[69491,69494,69501,69504,69511],{"data":69492,"marks":69493,"value":61838,"nodeType":864},{},[],{"data":69495,"content":69496,"nodeType":883},{"uri":61841},[69497],{"data":69498,"marks":69499,"value":61847,"nodeType":864},{},[69500],{"type":1455},{"data":69502,"marks":69503,"value":61851,"nodeType":864},{},[],{"data":69505,"content":69506,"nodeType":883},{"uri":61854},[69507],{"data":69508,"marks":69509,"value":61860,"nodeType":864},{},[69510],{"type":1455},{"data":69512,"marks":69513,"value":61864,"nodeType":864},{},[],{"data":69515,"content":69516,"nodeType":860},{},[69517],{"data":69518,"marks":69519,"value":61871,"nodeType":864},{},[],{"data":69521,"content":69522,"nodeType":1005},{},[],{"data":69524,"content":69525,"nodeType":1009},{},[69526],{"data":69527,"marks":69528,"value":61881,"nodeType":864},{},[],{"data":69530,"content":69531,"nodeType":860},{},[69532,69535,69542],{"data":69533,"marks":69534,"value":61888,"nodeType":864},{},[],{"data":69536,"content":69537,"nodeType":883},{"uri":61891},[69538],{"data":69539,"marks":69540,"value":61897,"nodeType":864},{},[69541],{"type":1455},{"data":69543,"marks":69544,"value":61901,"nodeType":864},{},[],{"data":69546,"content":69547,"nodeType":860},{},[69548],{"data":69549,"marks":69550,"value":61908,"nodeType":864},{},[],{"data":69552,"content":69553,"nodeType":860},{},[69554],{"data":69555,"marks":69556,"value":61915,"nodeType":864},{},[],{"data":69558,"content":69559,"nodeType":860},{},[69560],{"data":69561,"marks":69562,"value":61922,"nodeType":864},{},[],{"data":69564,"content":69565,"nodeType":1005},{},[],{"data":69567,"content":69568,"nodeType":1009},{},[69569],{"data":69570,"marks":69571,"value":61932,"nodeType":864},{},[],{"data":69573,"content":69574,"nodeType":860},{},[69575],{"data":69576,"marks":69577,"value":61940,"nodeType":864},{},[69578],{"type":899},{"data":69580,"content":69581,"nodeType":860},{},[69582],{"data":69583,"marks":69584,"value":61947,"nodeType":864},{},[],{"data":69586,"content":69587,"nodeType":860},{},[69588],{"data":69589,"marks":69590,"value":61954,"nodeType":864},{},[],{"data":69592,"content":69593,"nodeType":941},{},[69594,69613,69632],{"data":69595,"content":69596,"nodeType":945},{},[69597],{"data":69598,"content":69599,"nodeType":860},{},[69600,69603,69610],{"data":69601,"marks":69602,"value":21,"nodeType":864},{},[],{"data":69604,"content":69605,"nodeType":883},{"uri":61969},[69606],{"data":69607,"marks":69608,"value":61969,"nodeType":864},{},[69609],{"type":1455},{"data":69611,"marks":69612,"value":8618,"nodeType":864},{},[],{"data":69614,"content":69615,"nodeType":945},{},[69616],{"data":69617,"content":69618,"nodeType":860},{},[69619,69622,69629],{"data":69620,"marks":69621,"value":21,"nodeType":864},{},[],{"data":69623,"content":69624,"nodeType":883},{"uri":61989},[69625],{"data":69626,"marks":69627,"value":61989,"nodeType":864},{},[69628],{"type":1455},{"data":69630,"marks":69631,"value":21,"nodeType":864},{},[],{"data":69633,"content":69634,"nodeType":945},{},[69635],{"data":69636,"content":69637,"nodeType":860},{},[69638,69641,69648],{"data":69639,"marks":69640,"value":21,"nodeType":864},{},[],{"data":69642,"content":69643,"nodeType":883},{"uri":62009},[69644],{"data":69645,"marks":69646,"value":62009,"nodeType":864},{},[69647],{"type":1455},{"data":69649,"marks":69650,"value":2924,"nodeType":864},{},[],{"data":69652,"content":69653,"nodeType":860},{},[69654],{"data":69655,"marks":69656,"value":62024,"nodeType":864},{},[],{"data":69658,"content":69659,"nodeType":1312},{},[69660],{"data":69661,"marks":69662,"value":62031,"nodeType":864},{},[],{"data":69664,"content":69665,"nodeType":860},{},[69666],{"data":69667,"marks":69668,"value":62038,"nodeType":864},{},[],{"data":69670,"content":69671,"nodeType":941},{},[69672,69681,69690],{"data":69673,"content":69674,"nodeType":945},{},[69675],{"data":69676,"content":69677,"nodeType":860},{},[69678],{"data":69679,"marks":69680,"value":62051,"nodeType":864},{},[],{"data":69682,"content":69683,"nodeType":945},{},[69684],{"data":69685,"content":69686,"nodeType":860},{},[69687],{"data":69688,"marks":69689,"value":62061,"nodeType":864},{},[],{"data":69691,"content":69692,"nodeType":945},{},[69693],{"data":69694,"content":69695,"nodeType":860},{},[69696],{"data":69697,"marks":69698,"value":62071,"nodeType":864},{},[],{"data":69700,"content":69701,"nodeType":1312},{},[69702],{"data":69703,"marks":69704,"value":8991,"nodeType":864},{},[],{"data":69706,"content":69707,"nodeType":860},{},[69708],{"data":69709,"marks":69710,"value":62084,"nodeType":864},{},[],{"data":69712,"content":69713,"nodeType":860},{},[69714],{"data":69715,"marks":69716,"value":62091,"nodeType":864},{},[],{"data":69718,"content":69721,"nodeType":996},{"target":69719},{"sys":69720},{"id":62096,"type":1001,"linkType":1002},[],{"data":69723,"content":69724,"nodeType":860},{},[69725,69728,69734],{"data":69726,"marks":69727,"value":62104,"nodeType":864},{},[],{"data":69729,"content":69730,"nodeType":883},{"uri":5642},[69731],{"data":69732,"marks":69733,"value":48919,"nodeType":864},{},[],{"data":69735,"marks":69736,"value":48923,"nodeType":864},{},[],{"entries":69738},{"hyperlink":69739,"inline":69740,"block":69741},[],[],[69742,69747,69751,69765],{"sys":69743,"__typename":1724,"title":69744,"caption":69744,"layoutMode":59,"file":69745},{"id":61537},"OpenAI Operator being tasked with “find and book me the highest rated one-day tour of Rome on Tripadvisor”",{"url":69746,"width":45619,"height":45620},"https://images.ctfassets.net/y1cdw1ablpvd/5iIuabafJE9Ppd3MBVPQr1/c28b519b0ea62b926a0ef17c404fc550/image1.png",{"sys":69748,"__typename":1717,"type":1718,"ctaText":69749,"buttonLabel":69750,"buttonColour":33488,"buttonUrl":48548},{"id":61699},"Read about how identity-based techniques were used by attackers in 2024s biggest cyber breaches","Read Blog",{"sys":69752,"__typename":1740,"content":69753,"name":69764,"title":59},{"id":61731},{"json":69754},{"nodeType":856,"data":69755,"content":69756},{},[69757],{"nodeType":860,"data":69758,"content":69759},{},[69760],{"nodeType":864,"value":69761,"marks":69762,"data":69763},"The Snowflake attacks saw credentials from infostealer infections dating back to 2020 used to breach ~165 customer tenants, resulting in hundreds of millions of breached customer records — arguably the biggest cyber breach of the year. But the impact could have been significantly worse than this if the attackers had access to a CUA. ",[],{},"The Snowflake attacks saw credentials from infostealer infections dating back to 2020 used against ~165 customer tenants. But the impact could have been significantly worse than this if the attackers had access to a CUA. ",{"sys":69766,"__typename":47726,"title":69767,"youTubeUrl":69768,"imagePlaceholder":69769},{"id":62096},"5 ways Computer-Using Agents can automate identity attacks","https://www.youtube.com/watch?v=BuefsnMMyrM",{"url":69770,"width":45619,"height":45620},"https://images.ctfassets.net/y1cdw1ablpvd/7kFAZLy7gbAMifHkkKpfo/add59eb5173ee6b0910d86d5406bb946/Slide_16_9_-_104__1_.png",{"items":69772},[],{},"How Computer-Using Agents can be leveraged in cyber attacks",{"url":69776},"https://images.ctfassets.net/y1cdw1ablpvd/4ACAoxro2X0ONhQrEMDd8C/a066c8b0ec720732f98da1ed5dd2c382/Youtube_Video_Thumbnail_V2__3_.jpg",{"items":69778},[69779,70329,71029],{"__typename":2059,"sys":69780,"content":69781,"title":68580,"synopsis":68581,"hashTags":59,"publishedDate":68582,"slug":68583,"tagsCollection":70321,"authorsCollection":70325},{"id":67962},{"json":69782},{"data":69783,"content":69784,"nodeType":856},{},[69785,69791,69797,69803,69819,69825,69831,69834,69841,69847,69853,69859,69864,69870,69873,69880,69886,69892,69898,69904,69909,69915,69918,69925,69932,69938,69944,69950,69966,69973,69979,69985,69991,69997,70004,70010,70016,70021,70024,70031,70037,70043,70049,70055,70061,70064,70071,70077,70083,70089,70095,70101,70199,70212,70218,70223,70226,70233,70239,70299,70305],{"data":69786,"content":69787,"nodeType":860},{},[69788],{"data":69789,"marks":69790,"value":67973,"nodeType":864},{},[],{"data":69792,"content":69793,"nodeType":860},{},[69794],{"data":69795,"marks":69796,"value":67980,"nodeType":864},{},[],{"data":69798,"content":69799,"nodeType":860},{},[69800],{"data":69801,"marks":69802,"value":67987,"nodeType":864},{},[],{"data":69804,"content":69805,"nodeType":860},{},[69806,69809,69816],{"data":69807,"marks":69808,"value":67994,"nodeType":864},{},[],{"data":69810,"content":69811,"nodeType":883},{"uri":67997},[69812],{"data":69813,"marks":69814,"value":68003,"nodeType":864},{},[69815],{"type":1455},{"data":69817,"marks":69818,"value":2924,"nodeType":864},{},[],{"data":69820,"content":69821,"nodeType":860},{},[69822],{"data":69823,"marks":69824,"value":68013,"nodeType":864},{},[],{"data":69826,"content":69827,"nodeType":860},{},[69828],{"data":69829,"marks":69830,"value":68020,"nodeType":864},{},[],{"data":69832,"content":69833,"nodeType":1005},{},[],{"data":69835,"content":69836,"nodeType":1009},{},[69837],{"data":69838,"marks":69839,"value":68031,"nodeType":864},{},[69840],{"type":899},{"data":69842,"content":69843,"nodeType":860},{},[69844],{"data":69845,"marks":69846,"value":68038,"nodeType":864},{},[],{"data":69848,"content":69849,"nodeType":860},{},[69850],{"data":69851,"marks":69852,"value":68045,"nodeType":864},{},[],{"data":69854,"content":69855,"nodeType":860},{},[69856],{"data":69857,"marks":69858,"value":68052,"nodeType":864},{},[],{"data":69860,"content":69863,"nodeType":996},{"target":69861},{"sys":69862},{"id":68057,"type":1001,"linkType":1002},[],{"data":69865,"content":69866,"nodeType":860},{},[69867],{"data":69868,"marks":69869,"value":68065,"nodeType":864},{},[],{"data":69871,"content":69872,"nodeType":1005},{},[],{"data":69874,"content":69875,"nodeType":1009},{},[69876],{"data":69877,"marks":69878,"value":68076,"nodeType":864},{},[69879],{"type":899},{"data":69881,"content":69882,"nodeType":860},{},[69883],{"data":69884,"marks":69885,"value":68083,"nodeType":864},{},[],{"data":69887,"content":69888,"nodeType":860},{},[69889],{"data":69890,"marks":69891,"value":68090,"nodeType":864},{},[],{"data":69893,"content":69894,"nodeType":860},{},[69895],{"data":69896,"marks":69897,"value":68097,"nodeType":864},{},[],{"data":69899,"content":69900,"nodeType":860},{},[69901],{"data":69902,"marks":69903,"value":68104,"nodeType":864},{},[],{"data":69905,"content":69908,"nodeType":996},{"target":69906},{"sys":69907},{"id":68109,"type":1001,"linkType":1002},[],{"data":69910,"content":69911,"nodeType":860},{},[69912],{"data":69913,"marks":69914,"value":68117,"nodeType":864},{},[],{"data":69916,"content":69917,"nodeType":1005},{},[],{"data":69919,"content":69920,"nodeType":1009},{},[69921],{"data":69922,"marks":69923,"value":68128,"nodeType":864},{},[69924],{"type":899},{"data":69926,"content":69927,"nodeType":1312},{},[69928],{"data":69929,"marks":69930,"value":68136,"nodeType":864},{},[69931],{"type":899},{"data":69933,"content":69934,"nodeType":860},{},[69935],{"data":69936,"marks":69937,"value":68143,"nodeType":864},{},[],{"data":69939,"content":69940,"nodeType":860},{},[69941],{"data":69942,"marks":69943,"value":68150,"nodeType":864},{},[],{"data":69945,"content":69946,"nodeType":860},{},[69947],{"data":69948,"marks":69949,"value":68157,"nodeType":864},{},[],{"data":69951,"content":69952,"nodeType":860},{},[69953,69956,69963],{"data":69954,"marks":69955,"value":68164,"nodeType":864},{},[],{"data":69957,"content":69958,"nodeType":883},{"uri":58042},[69959],{"data":69960,"marks":69961,"value":68172,"nodeType":864},{},[69962],{"type":1455},{"data":69964,"marks":69965,"value":68176,"nodeType":864},{},[],{"data":69967,"content":69968,"nodeType":1312},{},[69969],{"data":69970,"marks":69971,"value":68184,"nodeType":864},{},[69972],{"type":899},{"data":69974,"content":69975,"nodeType":860},{},[69976],{"data":69977,"marks":69978,"value":68191,"nodeType":864},{},[],{"data":69980,"content":69981,"nodeType":860},{},[69982],{"data":69983,"marks":69984,"value":68198,"nodeType":864},{},[],{"data":69986,"content":69987,"nodeType":860},{},[69988],{"data":69989,"marks":69990,"value":68205,"nodeType":864},{},[],{"data":69992,"content":69993,"nodeType":860},{},[69994],{"data":69995,"marks":69996,"value":68212,"nodeType":864},{},[],{"data":69998,"content":69999,"nodeType":1312},{},[70000],{"data":70001,"marks":70002,"value":68220,"nodeType":864},{},[70003],{"type":899},{"data":70005,"content":70006,"nodeType":860},{},[70007],{"data":70008,"marks":70009,"value":68227,"nodeType":864},{},[],{"data":70011,"content":70012,"nodeType":860},{},[70013],{"data":70014,"marks":70015,"value":68234,"nodeType":864},{},[],{"data":70017,"content":70020,"nodeType":996},{"target":70018},{"sys":70019},{"id":68239,"type":1001,"linkType":1002},[],{"data":70022,"content":70023,"nodeType":1005},{},[],{"data":70025,"content":70026,"nodeType":1009},{},[70027],{"data":70028,"marks":70029,"value":68251,"nodeType":864},{},[70030],{"type":899},{"data":70032,"content":70033,"nodeType":860},{},[70034],{"data":70035,"marks":70036,"value":68258,"nodeType":864},{},[],{"data":70038,"content":70039,"nodeType":860},{},[70040],{"data":70041,"marks":70042,"value":68265,"nodeType":864},{},[],{"data":70044,"content":70045,"nodeType":860},{},[70046],{"data":70047,"marks":70048,"value":68272,"nodeType":864},{},[],{"data":70050,"content":70051,"nodeType":860},{},[70052],{"data":70053,"marks":70054,"value":68279,"nodeType":864},{},[],{"data":70056,"content":70057,"nodeType":860},{},[70058],{"data":70059,"marks":70060,"value":68286,"nodeType":864},{},[],{"data":70062,"content":70063,"nodeType":1005},{},[],{"data":70065,"content":70066,"nodeType":1009},{},[70067],{"data":70068,"marks":70069,"value":68297,"nodeType":864},{},[70070],{"type":899},{"data":70072,"content":70073,"nodeType":860},{},[70074],{"data":70075,"marks":70076,"value":68304,"nodeType":864},{},[],{"data":70078,"content":70079,"nodeType":860},{},[70080],{"data":70081,"marks":70082,"value":68311,"nodeType":864},{},[],{"data":70084,"content":70085,"nodeType":860},{},[70086],{"data":70087,"marks":70088,"value":68318,"nodeType":864},{},[],{"data":70090,"content":70091,"nodeType":860},{},[70092],{"data":70093,"marks":70094,"value":68325,"nodeType":864},{},[],{"data":70096,"content":70097,"nodeType":860},{},[70098],{"data":70099,"marks":70100,"value":68332,"nodeType":864},{},[],{"data":70102,"content":70103,"nodeType":941},{},[70104,70123,70142,70161,70180],{"data":70105,"content":70106,"nodeType":945},{},[70107],{"data":70108,"content":70109,"nodeType":860},{},[70110,70113,70120],{"data":70111,"marks":70112,"value":68345,"nodeType":864},{},[],{"data":70114,"content":70115,"nodeType":883},{"uri":4408},[70116],{"data":70117,"marks":70118,"value":27246,"nodeType":864},{},[70119],{"type":1455},{"data":70121,"marks":70122,"value":22438,"nodeType":864},{},[],{"data":70124,"content":70125,"nodeType":945},{},[70126],{"data":70127,"content":70128,"nodeType":860},{},[70129,70132,70139],{"data":70130,"marks":70131,"value":68365,"nodeType":864},{},[],{"data":70133,"content":70134,"nodeType":883},{"uri":68368},[70135],{"data":70136,"marks":70137,"value":68374,"nodeType":864},{},[70138],{"type":1455},{"data":70140,"marks":70141,"value":22438,"nodeType":864},{},[],{"data":70143,"content":70144,"nodeType":945},{},[70145],{"data":70146,"content":70147,"nodeType":860},{},[70148,70151,70158],{"data":70149,"marks":70150,"value":68387,"nodeType":864},{},[],{"data":70152,"content":70153,"nodeType":883},{"uri":68390},[70154],{"data":70155,"marks":70156,"value":68396,"nodeType":864},{},[70157],{"type":1455},{"data":70159,"marks":70160,"value":22438,"nodeType":864},{},[],{"data":70162,"content":70163,"nodeType":945},{},[70164],{"data":70165,"content":70166,"nodeType":860},{},[70167,70170,70177],{"data":70168,"marks":70169,"value":68409,"nodeType":864},{},[],{"data":70171,"content":70172,"nodeType":883},{"uri":48126},[70173],{"data":70174,"marks":70175,"value":23700,"nodeType":864},{},[70176],{"type":1455},{"data":70178,"marks":70179,"value":22438,"nodeType":864},{},[],{"data":70181,"content":70182,"nodeType":945},{},[70183],{"data":70184,"content":70185,"nodeType":860},{},[70186,70189,70196],{"data":70187,"marks":70188,"value":68429,"nodeType":864},{},[],{"data":70190,"content":70191,"nodeType":883},{"uri":68432},[70192],{"data":70193,"marks":70194,"value":68438,"nodeType":864},{},[70195],{"type":1455},{"data":70197,"marks":70198,"value":22438,"nodeType":864},{},[],{"data":70200,"content":70201,"nodeType":860},{},[70202,70205,70209],{"data":70203,"marks":70204,"value":68448,"nodeType":864},{},[],{"data":70206,"marks":70207,"value":68453,"nodeType":864},{},[70208],{"type":899},{"data":70210,"marks":70211,"value":68457,"nodeType":864},{},[],{"data":70213,"content":70214,"nodeType":860},{},[70215],{"data":70216,"marks":70217,"value":68464,"nodeType":864},{},[],{"data":70219,"content":70222,"nodeType":996},{"target":70220},{"sys":70221},{"id":68469,"type":1001,"linkType":1002},[],{"data":70224,"content":70225,"nodeType":1005},{},[],{"data":70227,"content":70228,"nodeType":1009},{},[70229],{"data":70230,"marks":70231,"value":68481,"nodeType":864},{},[70232],{"type":899},{"data":70234,"content":70235,"nodeType":860},{},[70236],{"data":70237,"marks":70238,"value":68488,"nodeType":864},{},[],{"data":70240,"content":70241,"nodeType":941},{},[70242,70271,70290],{"data":70243,"content":70244,"nodeType":945},{},[70245],{"data":70246,"content":70247,"nodeType":860},{},[70248,70251,70258,70261,70268],{"data":70249,"marks":70250,"value":21,"nodeType":864},{},[],{"data":70252,"content":70253,"nodeType":883},{"uri":35369},[70254],{"data":70255,"marks":70256,"value":68508,"nodeType":864},{},[70257],{"type":1455},{"data":70259,"marks":70260,"value":68512,"nodeType":864},{},[],{"data":70262,"content":70263,"nodeType":883},{"uri":48062},[70264],{"data":70265,"marks":70266,"value":68520,"nodeType":864},{},[70267],{"type":1455},{"data":70269,"marks":70270,"value":68524,"nodeType":864},{},[],{"data":70272,"content":70273,"nodeType":945},{},[70274],{"data":70275,"content":70276,"nodeType":860},{},[70277,70280,70287],{"data":70278,"marks":70279,"value":21,"nodeType":864},{},[],{"data":70281,"content":70282,"nodeType":883},{"uri":34857},[70283],{"data":70284,"marks":70285,"value":68541,"nodeType":864},{},[70286],{"type":1455},{"data":70288,"marks":70289,"value":68545,"nodeType":864},{},[],{"data":70291,"content":70292,"nodeType":945},{},[70293],{"data":70294,"content":70295,"nodeType":860},{},[70296],{"data":70297,"marks":70298,"value":68555,"nodeType":864},{},[],{"data":70300,"content":70301,"nodeType":860},{},[70302],{"data":70303,"marks":70304,"value":68562,"nodeType":864},{},[],{"data":70306,"content":70307,"nodeType":860},{},[70308,70311,70318],{"data":70309,"marks":70310,"value":68569,"nodeType":864},{},[],{"data":70312,"content":70313,"nodeType":883},{"uri":1700},[70314],{"data":70315,"marks":70316,"value":65931,"nodeType":864},{},[70317],{"type":1455},{"data":70319,"marks":70320,"value":2924,"nodeType":864},{},[],{"items":70322},[70323],{"sys":70324,"name":6593},{"id":6592},{"items":70326},[70327],{"fullName":2736,"firstName":2737,"jobTitle":2738,"profilePicture":70328},{"url":2740},{"__typename":2059,"sys":70330,"content":70331,"title":34880,"synopsis":34881,"hashTags":59,"publishedDate":34882,"slug":34883,"tagsCollection":71021,"authorsCollection":71025},{"id":34089},{"json":70332},{"data":70333,"content":70334,"nodeType":856},{},[70335,70340,70356,70362,70368,70373,70376,70383,70389,70405,70415,70421,70427,70433,70517,70520,70527,70602,70607,70610,70617,70624,70630,70636,70643,70659,70665,70672,70678,70684,70691,70697,70703,70719,70724,70727,70734,70741,70747,70836,70842,70849,70855,70861,70866,70873,70879,70885,70891,70898,70904,70910,70916,70922,70927,70930,70937,70943,70973,70979,70994,71010,71015],{"data":70336,"content":70339,"nodeType":996},{"target":70337},{"sys":70338},{"id":34098,"type":1001,"linkType":1002},[],{"data":70341,"content":70342,"nodeType":860},{},[70343,70346,70353],{"data":70344,"marks":70345,"value":34106,"nodeType":864},{},[],{"data":70347,"content":70348,"nodeType":883},{"uri":34109},[70349],{"data":70350,"marks":70351,"value":34115,"nodeType":864},{},[70352],{"type":1455},{"data":70354,"marks":70355,"value":34119,"nodeType":864},{},[],{"data":70357,"content":70358,"nodeType":860},{},[70359],{"data":70360,"marks":70361,"value":34126,"nodeType":864},{},[],{"data":70363,"content":70364,"nodeType":860},{},[70365],{"data":70366,"marks":70367,"value":34133,"nodeType":864},{},[],{"data":70369,"content":70372,"nodeType":996},{"target":70370},{"sys":70371},{"id":34138,"type":1001,"linkType":1002},[],{"data":70374,"content":70375,"nodeType":1005},{},[],{"data":70377,"content":70378,"nodeType":1009},{},[70379],{"data":70380,"marks":70381,"value":34150,"nodeType":864},{},[70382],{"type":899},{"data":70384,"content":70385,"nodeType":860},{},[70386],{"data":70387,"marks":70388,"value":34157,"nodeType":864},{},[],{"data":70390,"content":70391,"nodeType":860},{},[70392,70395,70402],{"data":70393,"marks":70394,"value":34164,"nodeType":864},{},[],{"data":70396,"content":70397,"nodeType":883},{"uri":18533},[70398],{"data":70399,"marks":70400,"value":34172,"nodeType":864},{},[70401],{"type":1455},{"data":70403,"marks":70404,"value":12252,"nodeType":864},{},[],{"data":70406,"content":70407,"nodeType":1116},{},[70408],{"data":70409,"content":70410,"nodeType":860},{},[70411],{"data":70412,"marks":70413,"value":34186,"nodeType":864},{},[70414],{"type":899},{"data":70416,"content":70417,"nodeType":860},{},[70418],{"data":70419,"marks":70420,"value":34193,"nodeType":864},{},[],{"data":70422,"content":70423,"nodeType":860},{},[70424],{"data":70425,"marks":70426,"value":34200,"nodeType":864},{},[],{"data":70428,"content":70429,"nodeType":860},{},[70430],{"data":70431,"marks":70432,"value":34207,"nodeType":864},{},[],{"data":70434,"content":70435,"nodeType":941},{},[70436,70445,70454,70463,70472,70481,70490,70499,70508],{"data":70437,"content":70438,"nodeType":945},{},[70439],{"data":70440,"content":70441,"nodeType":860},{},[70442],{"data":70443,"marks":70444,"value":34220,"nodeType":864},{},[],{"data":70446,"content":70447,"nodeType":945},{},[70448],{"data":70449,"content":70450,"nodeType":860},{},[70451],{"data":70452,"marks":70453,"value":34230,"nodeType":864},{},[],{"data":70455,"content":70456,"nodeType":945},{},[70457],{"data":70458,"content":70459,"nodeType":860},{},[70460],{"data":70461,"marks":70462,"value":34240,"nodeType":864},{},[],{"data":70464,"content":70465,"nodeType":945},{},[70466],{"data":70467,"content":70468,"nodeType":860},{},[70469],{"data":70470,"marks":70471,"value":34250,"nodeType":864},{},[],{"data":70473,"content":70474,"nodeType":945},{},[70475],{"data":70476,"content":70477,"nodeType":860},{},[70478],{"data":70479,"marks":70480,"value":34260,"nodeType":864},{},[],{"data":70482,"content":70483,"nodeType":945},{},[70484],{"data":70485,"content":70486,"nodeType":860},{},[70487],{"data":70488,"marks":70489,"value":34270,"nodeType":864},{},[],{"data":70491,"content":70492,"nodeType":945},{},[70493],{"data":70494,"content":70495,"nodeType":860},{},[70496],{"data":70497,"marks":70498,"value":34280,"nodeType":864},{},[],{"data":70500,"content":70501,"nodeType":945},{},[70502],{"data":70503,"content":70504,"nodeType":860},{},[70505],{"data":70506,"marks":70507,"value":34290,"nodeType":864},{},[],{"data":70509,"content":70510,"nodeType":945},{},[70511],{"data":70512,"content":70513,"nodeType":860},{},[70514],{"data":70515,"marks":70516,"value":34300,"nodeType":864},{},[],{"data":70518,"content":70519,"nodeType":1005},{},[],{"data":70521,"content":70522,"nodeType":1009},{},[70523],{"data":70524,"marks":70525,"value":34311,"nodeType":864},{},[70526],{"type":899},{"data":70528,"content":70529,"nodeType":941},{},[70530,70539,70548,70557,70566,70575,70584,70593],{"data":70531,"content":70532,"nodeType":945},{},[70533],{"data":70534,"content":70535,"nodeType":860},{},[70536],{"data":70537,"marks":70538,"value":34324,"nodeType":864},{},[],{"data":70540,"content":70541,"nodeType":945},{},[70542],{"data":70543,"content":70544,"nodeType":860},{},[70545],{"data":70546,"marks":70547,"value":34334,"nodeType":864},{},[],{"data":70549,"content":70550,"nodeType":945},{},[70551],{"data":70552,"content":70553,"nodeType":860},{},[70554],{"data":70555,"marks":70556,"value":34344,"nodeType":864},{},[],{"data":70558,"content":70559,"nodeType":945},{},[70560],{"data":70561,"content":70562,"nodeType":860},{},[70563],{"data":70564,"marks":70565,"value":34354,"nodeType":864},{},[],{"data":70567,"content":70568,"nodeType":945},{},[70569],{"data":70570,"content":70571,"nodeType":860},{},[70572],{"data":70573,"marks":70574,"value":34364,"nodeType":864},{},[],{"data":70576,"content":70577,"nodeType":945},{},[70578],{"data":70579,"content":70580,"nodeType":860},{},[70581],{"data":70582,"marks":70583,"value":34374,"nodeType":864},{},[],{"data":70585,"content":70586,"nodeType":945},{},[70587],{"data":70588,"content":70589,"nodeType":860},{},[70590],{"data":70591,"marks":70592,"value":34384,"nodeType":864},{},[],{"data":70594,"content":70595,"nodeType":945},{},[70596],{"data":70597,"content":70598,"nodeType":860},{},[70599],{"data":70600,"marks":70601,"value":34394,"nodeType":864},{},[],{"data":70603,"content":70606,"nodeType":996},{"target":70604},{"sys":70605},{"id":34399,"type":1001,"linkType":1002},[],{"data":70608,"content":70609,"nodeType":1005},{},[],{"data":70611,"content":70612,"nodeType":1009},{},[70613],{"data":70614,"marks":70615,"value":34411,"nodeType":864},{},[70616],{"type":899},{"data":70618,"content":70619,"nodeType":1312},{},[70620],{"data":70621,"marks":70622,"value":34419,"nodeType":864},{},[70623],{"type":899},{"data":70625,"content":70626,"nodeType":860},{},[70627],{"data":70628,"marks":70629,"value":34426,"nodeType":864},{},[],{"data":70631,"content":70632,"nodeType":860},{},[70633],{"data":70634,"marks":70635,"value":34433,"nodeType":864},{},[],{"data":70637,"content":70638,"nodeType":1312},{},[70639],{"data":70640,"marks":70641,"value":34441,"nodeType":864},{},[70642],{"type":899},{"data":70644,"content":70645,"nodeType":860},{},[70646,70649,70656],{"data":70647,"marks":70648,"value":34448,"nodeType":864},{},[],{"data":70650,"content":70651,"nodeType":883},{"uri":17701},[70652],{"data":70653,"marks":70654,"value":17706,"nodeType":864},{},[70655],{"type":1455},{"data":70657,"marks":70658,"value":12252,"nodeType":864},{},[],{"data":70660,"content":70661,"nodeType":860},{},[70662],{"data":70663,"marks":70664,"value":34465,"nodeType":864},{},[],{"data":70666,"content":70667,"nodeType":1312},{},[70668],{"data":70669,"marks":70670,"value":34473,"nodeType":864},{},[70671],{"type":899},{"data":70673,"content":70674,"nodeType":860},{},[70675],{"data":70676,"marks":70677,"value":34480,"nodeType":864},{},[],{"data":70679,"content":70680,"nodeType":860},{},[70681],{"data":70682,"marks":70683,"value":34487,"nodeType":864},{},[],{"data":70685,"content":70686,"nodeType":1312},{},[70687],{"data":70688,"marks":70689,"value":34495,"nodeType":864},{},[70690],{"type":899},{"data":70692,"content":70693,"nodeType":860},{},[70694],{"data":70695,"marks":70696,"value":34502,"nodeType":864},{},[],{"data":70698,"content":70699,"nodeType":860},{},[70700],{"data":70701,"marks":70702,"value":34509,"nodeType":864},{},[],{"data":70704,"content":70705,"nodeType":860},{},[70706,70709,70716],{"data":70707,"marks":70708,"value":34516,"nodeType":864},{},[],{"data":70710,"content":70711,"nodeType":883},{"uri":34519},[70712],{"data":70713,"marks":70714,"value":34525,"nodeType":864},{},[70715],{"type":1455},{"data":70717,"marks":70718,"value":34529,"nodeType":864},{},[],{"data":70720,"content":70723,"nodeType":996},{"target":70721},{"sys":70722},{"id":34534,"type":1001,"linkType":1002},[],{"data":70725,"content":70726,"nodeType":1005},{},[],{"data":70728,"content":70729,"nodeType":1009},{},[70730],{"data":70731,"marks":70732,"value":34546,"nodeType":864},{},[70733],{"type":899},{"data":70735,"content":70736,"nodeType":1312},{},[70737],{"data":70738,"marks":70739,"value":34554,"nodeType":864},{},[70740],{"type":899},{"data":70742,"content":70743,"nodeType":860},{},[70744],{"data":70745,"marks":70746,"value":34561,"nodeType":864},{},[],{"data":70748,"content":70749,"nodeType":941},{},[70750,70769,70788,70817],{"data":70751,"content":70752,"nodeType":945},{},[70753],{"data":70754,"content":70755,"nodeType":860},{},[70756,70759,70766],{"data":70757,"marks":70758,"value":34574,"nodeType":864},{},[],{"data":70760,"content":70761,"nodeType":883},{"uri":34577},[70762],{"data":70763,"marks":70764,"value":34583,"nodeType":864},{},[70765],{"type":1455},{"data":70767,"marks":70768,"value":34587,"nodeType":864},{},[],{"data":70770,"content":70771,"nodeType":945},{},[70772],{"data":70773,"content":70774,"nodeType":860},{},[70775,70778,70785],{"data":70776,"marks":70777,"value":34597,"nodeType":864},{},[],{"data":70779,"content":70780,"nodeType":883},{"uri":15980},[70781],{"data":70782,"marks":70783,"value":34605,"nodeType":864},{},[70784],{"type":1455},{"data":70786,"marks":70787,"value":2924,"nodeType":864},{},[],{"data":70789,"content":70790,"nodeType":945},{},[70791],{"data":70792,"content":70793,"nodeType":860},{},[70794,70797,70804,70807,70814],{"data":70795,"marks":70796,"value":34618,"nodeType":864},{},[],{"data":70798,"content":70799,"nodeType":883},{"uri":17701},[70800],{"data":70801,"marks":70802,"value":34626,"nodeType":864},{},[70803],{"type":1455},{"data":70805,"marks":70806,"value":34630,"nodeType":864},{},[],{"data":70808,"content":70809,"nodeType":883},{"uri":34633},[70810],{"data":70811,"marks":70812,"value":34639,"nodeType":864},{},[70813],{"type":1455},{"data":70815,"marks":70816,"value":34643,"nodeType":864},{},[],{"data":70818,"content":70819,"nodeType":945},{},[70820],{"data":70821,"content":70822,"nodeType":860},{},[70823,70826,70833],{"data":70824,"marks":70825,"value":34653,"nodeType":864},{},[],{"data":70827,"content":70828,"nodeType":883},{"uri":15980},[70829],{"data":70830,"marks":70831,"value":34661,"nodeType":864},{},[70832],{"type":1455},{"data":70834,"marks":70835,"value":34665,"nodeType":864},{},[],{"data":70837,"content":70838,"nodeType":860},{},[70839],{"data":70840,"marks":70841,"value":34672,"nodeType":864},{},[],{"data":70843,"content":70844,"nodeType":1312},{},[70845],{"data":70846,"marks":70847,"value":34680,"nodeType":864},{},[70848],{"type":899},{"data":70850,"content":70851,"nodeType":860},{},[70852],{"data":70853,"marks":70854,"value":34687,"nodeType":864},{},[],{"data":70856,"content":70857,"nodeType":860},{},[70858],{"data":70859,"marks":70860,"value":34694,"nodeType":864},{},[],{"data":70862,"content":70865,"nodeType":996},{"target":70863},{"sys":70864},{"id":34699,"type":1001,"linkType":1002},[],{"data":70867,"content":70868,"nodeType":1312},{},[70869],{"data":70870,"marks":70871,"value":34708,"nodeType":864},{},[70872],{"type":899},{"data":70874,"content":70875,"nodeType":860},{},[70876],{"data":70877,"marks":70878,"value":34715,"nodeType":864},{},[],{"data":70880,"content":70881,"nodeType":860},{},[70882],{"data":70883,"marks":70884,"value":34722,"nodeType":864},{},[],{"data":70886,"content":70887,"nodeType":860},{},[70888],{"data":70889,"marks":70890,"value":34729,"nodeType":864},{},[],{"data":70892,"content":70893,"nodeType":1312},{},[70894],{"data":70895,"marks":70896,"value":34737,"nodeType":864},{},[70897],{"type":899},{"data":70899,"content":70900,"nodeType":860},{},[70901],{"data":70902,"marks":70903,"value":34744,"nodeType":864},{},[],{"data":70905,"content":70906,"nodeType":860},{},[70907],{"data":70908,"marks":70909,"value":34751,"nodeType":864},{},[],{"data":70911,"content":70912,"nodeType":860},{},[70913],{"data":70914,"marks":70915,"value":34758,"nodeType":864},{},[],{"data":70917,"content":70918,"nodeType":860},{},[70919],{"data":70920,"marks":70921,"value":34765,"nodeType":864},{},[],{"data":70923,"content":70926,"nodeType":996},{"target":70924},{"sys":70925},{"id":34770,"type":1001,"linkType":1002},[],{"data":70928,"content":70929,"nodeType":1005},{},[],{"data":70931,"content":70932,"nodeType":1009},{},[70933],{"data":70934,"marks":70935,"value":34782,"nodeType":864},{},[70936],{"type":899},{"data":70938,"content":70939,"nodeType":860},{},[70940],{"data":70941,"marks":70942,"value":34789,"nodeType":864},{},[],{"data":70944,"content":70945,"nodeType":941},{},[70946,70955,70964],{"data":70947,"content":70948,"nodeType":945},{},[70949],{"data":70950,"content":70951,"nodeType":860},{},[70952],{"data":70953,"marks":70954,"value":34802,"nodeType":864},{},[],{"data":70956,"content":70957,"nodeType":945},{},[70958],{"data":70959,"content":70960,"nodeType":860},{},[70961],{"data":70962,"marks":70963,"value":34812,"nodeType":864},{},[],{"data":70965,"content":70966,"nodeType":945},{},[70967],{"data":70968,"content":70969,"nodeType":860},{},[70970],{"data":70971,"marks":70972,"value":34822,"nodeType":864},{},[],{"data":70974,"content":70975,"nodeType":860},{},[70976],{"data":70977,"marks":70978,"value":34829,"nodeType":864},{},[],{"data":70980,"content":70981,"nodeType":860},{},[70982,70985,70991],{"data":70983,"marks":70984,"value":1238,"nodeType":864},{},[],{"data":70986,"content":70987,"nodeType":883},{"uri":34838},[70988],{"data":70989,"marks":70990,"value":34843,"nodeType":864},{},[],{"data":70992,"marks":70993,"value":34847,"nodeType":864},{},[],{"data":70995,"content":70996,"nodeType":860},{},[70997,71000,71007],{"data":70998,"marks":70999,"value":34854,"nodeType":864},{},[],{"data":71001,"content":71002,"nodeType":883},{"uri":34857},[71003],{"data":71004,"marks":71005,"value":34863,"nodeType":864},{},[71006],{"type":1455},{"data":71008,"marks":71009,"value":34867,"nodeType":864},{},[],{"data":71011,"content":71014,"nodeType":996},{"target":71012},{"sys":71013},{"id":34872,"type":1001,"linkType":1002},[],{"data":71016,"content":71017,"nodeType":860},{},[71018],{"data":71019,"marks":71020,"value":21,"nodeType":864},{},[],{"items":71022},[71023],{"sys":71024,"name":6593},{"id":6592},{"items":71026},[71027],{"fullName":2736,"firstName":2737,"jobTitle":2738,"profilePicture":71028},{"url":2740},{"__typename":2059,"sys":71030,"content":71031,"title":48924,"synopsis":48925,"hashTags":59,"publishedDate":48926,"slug":48927,"tagsCollection":72034,"authorsCollection":72040},{"id":47753},{"json":71032},{"data":71033,"content":71034,"nodeType":856},{},[71035,71041,71088,71094,71097,71103,71109,71135,71145,71148,71154,71164,71170,71186,71191,71207,71213,71223,71240,71256,71262,71278,71283,71299,71302,71308,71315,71321,71337,71353,71359,71375,71381,71388,71409,71415,71431,71448,71453,71459,71475,71478,71484,71500,71516,71522,71570,71576,71579,71585,71592,71608,71624,71630,71637,71643,71660,71666,71672,71677,71682,71685,71691,71698,71704,71720,71729,71745,71751,71757,71766,71773,71779,71796,71801,71804,71810,71816,71822,71883,71889,71895,71901,71908,71925,71931,71936,71946,71963,71969,71976,71993,71999,72005,72010,72013,72019],{"data":71036,"content":71037,"nodeType":860},{},[71038],{"data":71039,"marks":71040,"value":47764,"nodeType":864},{},[],{"data":71042,"content":71043,"nodeType":941},{},[71044,71060,71069],{"data":71045,"content":71046,"nodeType":945},{},[71047],{"data":71048,"content":71049,"nodeType":860},{},[71050,71053,71057],{"data":71051,"marks":71052,"value":47777,"nodeType":864},{},[],{"data":71054,"marks":71055,"value":47782,"nodeType":864},{},[71056],{"type":2246},{"data":71058,"marks":71059,"value":47786,"nodeType":864},{},[],{"data":71061,"content":71062,"nodeType":945},{},[71063],{"data":71064,"content":71065,"nodeType":860},{},[71066],{"data":71067,"marks":71068,"value":47796,"nodeType":864},{},[],{"data":71070,"content":71071,"nodeType":945},{},[71072],{"data":71073,"content":71074,"nodeType":860},{},[71075,71078,71085],{"data":71076,"marks":71077,"value":47806,"nodeType":864},{},[],{"data":71079,"content":71080,"nodeType":883},{"uri":47809},[71081],{"data":71082,"marks":71083,"value":47815,"nodeType":864},{},[71084],{"type":1455},{"data":71086,"marks":71087,"value":47819,"nodeType":864},{},[],{"data":71089,"content":71090,"nodeType":860},{},[71091],{"data":71092,"marks":71093,"value":47826,"nodeType":864},{},[],{"data":71095,"content":71096,"nodeType":1005},{},[],{"data":71098,"content":71099,"nodeType":1009},{},[71100],{"data":71101,"marks":71102,"value":47836,"nodeType":864},{},[],{"data":71104,"content":71105,"nodeType":860},{},[71106],{"data":71107,"marks":71108,"value":47843,"nodeType":864},{},[],{"data":71110,"content":71111,"nodeType":860},{},[71112,71115,71122,71125,71132],{"data":71113,"marks":71114,"value":47850,"nodeType":864},{},[],{"data":71116,"content":71117,"nodeType":883},{"uri":47853},[71118],{"data":71119,"marks":71120,"value":47859,"nodeType":864},{},[71121],{"type":1455},{"data":71123,"marks":71124,"value":47863,"nodeType":864},{},[],{"data":71126,"content":71127,"nodeType":883},{"uri":47866},[71128],{"data":71129,"marks":71130,"value":47872,"nodeType":864},{},[71131],{"type":1455},{"data":71133,"marks":71134,"value":47876,"nodeType":864},{},[],{"data":71136,"content":71137,"nodeType":860},{},[71138,71141],{"data":71139,"marks":71140,"value":47883,"nodeType":864},{},[],{"data":71142,"marks":71143,"value":47888,"nodeType":864},{},[71144],{"type":899},{"data":71146,"content":71147,"nodeType":1005},{},[],{"data":71149,"content":71150,"nodeType":1009},{},[71151],{"data":71152,"marks":71153,"value":47898,"nodeType":864},{},[],{"data":71155,"content":71156,"nodeType":1312},{},[71157,71161],{"data":71158,"marks":71159,"value":34943,"nodeType":864},{},[71160],{"type":899},{"data":71162,"marks":71163,"value":1171,"nodeType":864},{},[],{"data":71165,"content":71166,"nodeType":860},{},[71167],{"data":71168,"marks":71169,"value":47915,"nodeType":864},{},[],{"data":71171,"content":71172,"nodeType":860},{},[71173,71176,71183],{"data":71174,"marks":71175,"value":47922,"nodeType":864},{},[],{"data":71177,"content":71178,"nodeType":883},{"uri":47925},[71179],{"data":71180,"marks":71181,"value":47931,"nodeType":864},{},[71182],{"type":1455},{"data":71184,"marks":71185,"value":47935,"nodeType":864},{},[],{"data":71187,"content":71190,"nodeType":996},{"target":71188},{"sys":71189},{"id":47940,"type":1001,"linkType":1002},[],{"data":71192,"content":71193,"nodeType":860},{},[71194,71197,71204],{"data":71195,"marks":71196,"value":47948,"nodeType":864},{},[],{"data":71198,"content":71199,"nodeType":883},{"uri":47951},[71200],{"data":71201,"marks":71202,"value":47957,"nodeType":864},{},[71203],{"type":1455},{"data":71205,"marks":71206,"value":47961,"nodeType":864},{},[],{"data":71208,"content":71209,"nodeType":860},{},[71210],{"data":71211,"marks":71212,"value":47968,"nodeType":864},{},[],{"data":71214,"content":71215,"nodeType":1312},{},[71216,71220],{"data":71217,"marks":71218,"value":47976,"nodeType":864},{},[71219],{"type":899},{"data":71221,"marks":71222,"value":1171,"nodeType":864},{},[],{"data":71224,"content":71225,"nodeType":860},{},[71226,71229,71237],{"data":71227,"marks":71228,"value":47986,"nodeType":864},{},[],{"data":71230,"content":71231,"nodeType":883},{"uri":47989},[71232],{"data":71233,"marks":71234,"value":47996,"nodeType":864},{},[71235,71236],{"type":1455},{"type":899},{"data":71238,"marks":71239,"value":48000,"nodeType":864},{},[],{"data":71241,"content":71242,"nodeType":860},{},[71243,71246,71253],{"data":71244,"marks":71245,"value":48007,"nodeType":864},{},[],{"data":71247,"content":71248,"nodeType":883},{"uri":48010},[71249],{"data":71250,"marks":71251,"value":48016,"nodeType":864},{},[71252],{"type":1455},{"data":71254,"marks":71255,"value":48020,"nodeType":864},{},[],{"data":71257,"content":71258,"nodeType":860},{},[71259],{"data":71260,"marks":71261,"value":48027,"nodeType":864},{},[],{"data":71263,"content":71264,"nodeType":860},{},[71265,71268,71275],{"data":71266,"marks":71267,"value":48034,"nodeType":864},{},[],{"data":71269,"content":71270,"nodeType":883},{"uri":15980},[71271],{"data":71272,"marks":71273,"value":48042,"nodeType":864},{},[71274],{"type":1455},{"data":71276,"marks":71277,"value":48046,"nodeType":864},{},[],{"data":71279,"content":71282,"nodeType":996},{"target":71280},{"sys":71281},{"id":48051,"type":1001,"linkType":1002},[],{"data":71284,"content":71285,"nodeType":860},{},[71286,71289,71296],{"data":71287,"marks":71288,"value":48059,"nodeType":864},{},[],{"data":71290,"content":71291,"nodeType":883},{"uri":48062},[71292],{"data":71293,"marks":71294,"value":48068,"nodeType":864},{},[71295],{"type":1455},{"data":71297,"marks":71298,"value":48072,"nodeType":864},{},[],{"data":71300,"content":71301,"nodeType":1005},{},[],{"data":71303,"content":71304,"nodeType":1009},{},[71305],{"data":71306,"marks":71307,"value":48082,"nodeType":864},{},[],{"data":71309,"content":71310,"nodeType":1312},{},[71311],{"data":71312,"marks":71313,"value":34943,"nodeType":864},{},[71314],{"type":899},{"data":71316,"content":71317,"nodeType":860},{},[71318],{"data":71319,"marks":71320,"value":48096,"nodeType":864},{},[],{"data":71322,"content":71323,"nodeType":860},{},[71324,71327,71334],{"data":71325,"marks":71326,"value":48103,"nodeType":864},{},[],{"data":71328,"content":71329,"nodeType":883},{"uri":48106},[71330],{"data":71331,"marks":71332,"value":48112,"nodeType":864},{},[71333],{"type":1455},{"data":71335,"marks":71336,"value":48116,"nodeType":864},{},[],{"data":71338,"content":71339,"nodeType":860},{},[71340,71343,71350],{"data":71341,"marks":71342,"value":48123,"nodeType":864},{},[],{"data":71344,"content":71345,"nodeType":883},{"uri":48126},[71346],{"data":71347,"marks":71348,"value":23700,"nodeType":864},{},[71349],{"type":1455},{"data":71351,"marks":71352,"value":22438,"nodeType":864},{},[],{"data":71354,"content":71355,"nodeType":860},{},[71356],{"data":71357,"marks":71358,"value":48141,"nodeType":864},{},[],{"data":71360,"content":71361,"nodeType":860},{},[71362,71365,71372],{"data":71363,"marks":71364,"value":48148,"nodeType":864},{},[],{"data":71366,"content":71367,"nodeType":883},{"uri":48151},[71368],{"data":71369,"marks":71370,"value":48157,"nodeType":864},{},[71371],{"type":1455},{"data":71373,"marks":71374,"value":48161,"nodeType":864},{},[],{"data":71376,"content":71377,"nodeType":860},{},[71378],{"data":71379,"marks":71380,"value":48168,"nodeType":864},{},[],{"data":71382,"content":71383,"nodeType":1312},{},[71384],{"data":71385,"marks":71386,"value":47976,"nodeType":864},{},[71387],{"type":899},{"data":71389,"content":71390,"nodeType":860},{},[71391,71394,71402,71406],{"data":71392,"marks":71393,"value":48182,"nodeType":864},{},[],{"data":71395,"content":71396,"nodeType":883},{"uri":48185},[71397],{"data":71398,"marks":71399,"value":48192,"nodeType":864},{},[71400,71401],{"type":1455},{"type":899},{"data":71403,"marks":71404,"value":48197,"nodeType":864},{},[71405],{"type":899},{"data":71407,"marks":71408,"value":12252,"nodeType":864},{},[],{"data":71410,"content":71411,"nodeType":860},{},[71412],{"data":71413,"marks":71414,"value":48207,"nodeType":864},{},[],{"data":71416,"content":71417,"nodeType":860},{},[71418,71421,71428],{"data":71419,"marks":71420,"value":48214,"nodeType":864},{},[],{"data":71422,"content":71423,"nodeType":883},{"uri":48217},[71424],{"data":71425,"marks":71426,"value":48223,"nodeType":864},{},[71427],{"type":1455},{"data":71429,"marks":71430,"value":48227,"nodeType":864},{},[],{"data":71432,"content":71433,"nodeType":860},{},[71434,71437,71445],{"data":71435,"marks":71436,"value":48234,"nodeType":864},{},[],{"data":71438,"content":71439,"nodeType":883},{"uri":48237},[71440],{"data":71441,"marks":71442,"value":48244,"nodeType":864},{},[71443,71444],{"type":1455},{"type":899},{"data":71446,"marks":71447,"value":48248,"nodeType":864},{},[],{"data":71449,"content":71452,"nodeType":996},{"target":71450},{"sys":71451},{"id":48253,"type":1001,"linkType":1002},[],{"data":71454,"content":71455,"nodeType":860},{},[71456],{"data":71457,"marks":71458,"value":48261,"nodeType":864},{},[],{"data":71460,"content":71461,"nodeType":860},{},[71462,71465,71472],{"data":71463,"marks":71464,"value":48268,"nodeType":864},{},[],{"data":71466,"content":71467,"nodeType":883},{"uri":36813},[71468],{"data":71469,"marks":71470,"value":48276,"nodeType":864},{},[71471],{"type":1455},{"data":71473,"marks":71474,"value":48280,"nodeType":864},{},[],{"data":71476,"content":71477,"nodeType":1005},{},[],{"data":71479,"content":71480,"nodeType":1009},{},[71481],{"data":71482,"marks":71483,"value":48290,"nodeType":864},{},[],{"data":71485,"content":71486,"nodeType":860},{},[71487,71490,71497],{"data":71488,"marks":71489,"value":48297,"nodeType":864},{},[],{"data":71491,"content":71492,"nodeType":883},{"uri":4408},[71493],{"data":71494,"marks":71495,"value":27246,"nodeType":864},{},[71496],{"type":1455},{"data":71498,"marks":71499,"value":2924,"nodeType":864},{},[],{"data":71501,"content":71502,"nodeType":860},{},[71503,71506,71513],{"data":71504,"marks":71505,"value":48314,"nodeType":864},{},[],{"data":71507,"content":71508,"nodeType":883},{"uri":3751},[71509],{"data":71510,"marks":71511,"value":48322,"nodeType":864},{},[71512],{"type":1455},{"data":71514,"marks":71515,"value":48326,"nodeType":864},{},[],{"data":71517,"content":71518,"nodeType":860},{},[71519],{"data":71520,"marks":71521,"value":48333,"nodeType":864},{},[],{"data":71523,"content":71524,"nodeType":941},{},[71525,71534,71543,71552,71561],{"data":71526,"content":71527,"nodeType":945},{},[71528],{"data":71529,"content":71530,"nodeType":860},{},[71531],{"data":71532,"marks":71533,"value":48346,"nodeType":864},{},[],{"data":71535,"content":71536,"nodeType":945},{},[71537],{"data":71538,"content":71539,"nodeType":860},{},[71540],{"data":71541,"marks":71542,"value":48356,"nodeType":864},{},[],{"data":71544,"content":71545,"nodeType":945},{},[71546],{"data":71547,"content":71548,"nodeType":860},{},[71549],{"data":71550,"marks":71551,"value":48366,"nodeType":864},{},[],{"data":71553,"content":71554,"nodeType":945},{},[71555],{"data":71556,"content":71557,"nodeType":860},{},[71558],{"data":71559,"marks":71560,"value":48376,"nodeType":864},{},[],{"data":71562,"content":71563,"nodeType":945},{},[71564],{"data":71565,"content":71566,"nodeType":860},{},[71567],{"data":71568,"marks":71569,"value":48386,"nodeType":864},{},[],{"data":71571,"content":71572,"nodeType":860},{},[71573],{"data":71574,"marks":71575,"value":48393,"nodeType":864},{},[],{"data":71577,"content":71578,"nodeType":1005},{},[],{"data":71580,"content":71581,"nodeType":1009},{},[71582],{"data":71583,"marks":71584,"value":48403,"nodeType":864},{},[],{"data":71586,"content":71587,"nodeType":1312},{},[71588],{"data":71589,"marks":71590,"value":34943,"nodeType":864},{},[71591],{"type":899},{"data":71593,"content":71594,"nodeType":860},{},[71595,71598,71605],{"data":71596,"marks":71597,"value":21,"nodeType":864},{},[],{"data":71599,"content":71600,"nodeType":883},{"uri":48419},[71601],{"data":71602,"marks":71603,"value":48425,"nodeType":864},{},[71604],{"type":1455},{"data":71606,"marks":71607,"value":48429,"nodeType":864},{},[],{"data":71609,"content":71610,"nodeType":860},{},[71611,71614,71621],{"data":71612,"marks":71613,"value":48436,"nodeType":864},{},[],{"data":71615,"content":71616,"nodeType":883},{"uri":48439},[71617],{"data":71618,"marks":71619,"value":48445,"nodeType":864},{},[71620],{"type":1455},{"data":71622,"marks":71623,"value":48449,"nodeType":864},{},[],{"data":71625,"content":71626,"nodeType":860},{},[71627],{"data":71628,"marks":71629,"value":48456,"nodeType":864},{},[],{"data":71631,"content":71632,"nodeType":1312},{},[71633],{"data":71634,"marks":71635,"value":47976,"nodeType":864},{},[71636],{"type":899},{"data":71638,"content":71639,"nodeType":860},{},[71640],{"data":71641,"marks":71642,"value":48470,"nodeType":864},{},[],{"data":71644,"content":71645,"nodeType":860},{},[71646,71649,71657],{"data":71647,"marks":71648,"value":1238,"nodeType":864},{},[],{"data":71650,"content":71651,"nodeType":883},{"uri":34857},[71652],{"data":71653,"marks":71654,"value":48485,"nodeType":864},{},[71655,71656],{"type":1455},{"type":899},{"data":71658,"marks":71659,"value":48489,"nodeType":864},{},[],{"data":71661,"content":71662,"nodeType":860},{},[71663],{"data":71664,"marks":71665,"value":48496,"nodeType":864},{},[],{"data":71667,"content":71668,"nodeType":860},{},[71669],{"data":71670,"marks":71671,"value":48503,"nodeType":864},{},[],{"data":71673,"content":71676,"nodeType":996},{"target":71674},{"sys":71675},{"id":43965,"type":1001,"linkType":1002},[],{"data":71678,"content":71681,"nodeType":996},{"target":71679},{"sys":71680},{"id":48513,"type":1001,"linkType":1002},[],{"data":71683,"content":71684,"nodeType":1005},{},[],{"data":71686,"content":71687,"nodeType":1009},{},[71688],{"data":71689,"marks":71690,"value":48524,"nodeType":864},{},[],{"data":71692,"content":71693,"nodeType":1312},{},[71694],{"data":71695,"marks":71696,"value":34943,"nodeType":864},{},[71697],{"type":899},{"data":71699,"content":71700,"nodeType":860},{},[71701],{"data":71702,"marks":71703,"value":48538,"nodeType":864},{},[],{"data":71705,"content":71706,"nodeType":860},{},[71707,71710,71717],{"data":71708,"marks":71709,"value":48545,"nodeType":864},{},[],{"data":71711,"content":71712,"nodeType":883},{"uri":48548},[71713],{"data":71714,"marks":71715,"value":48554,"nodeType":864},{},[71716],{"type":1455},{"data":71718,"marks":71719,"value":48558,"nodeType":864},{},[],{"data":71721,"content":71722,"nodeType":1116},{},[71723],{"data":71724,"content":71725,"nodeType":860},{},[71726],{"data":71727,"marks":71728,"value":48568,"nodeType":864},{},[],{"data":71730,"content":71731,"nodeType":860},{},[71732,71735,71742],{"data":71733,"marks":71734,"value":48575,"nodeType":864},{},[],{"data":71736,"content":71737,"nodeType":883},{"uri":48419},[71738],{"data":71739,"marks":71740,"value":48583,"nodeType":864},{},[71741],{"type":1455},{"data":71743,"marks":71744,"value":48587,"nodeType":864},{},[],{"data":71746,"content":71747,"nodeType":860},{},[71748],{"data":71749,"marks":71750,"value":48594,"nodeType":864},{},[],{"data":71752,"content":71753,"nodeType":860},{},[71754],{"data":71755,"marks":71756,"value":48601,"nodeType":864},{},[],{"data":71758,"content":71759,"nodeType":1116},{},[71760],{"data":71761,"content":71762,"nodeType":860},{},[71763],{"data":71764,"marks":71765,"value":48611,"nodeType":864},{},[],{"data":71767,"content":71768,"nodeType":1312},{},[71769],{"data":71770,"marks":71771,"value":47976,"nodeType":864},{},[71772],{"type":899},{"data":71774,"content":71775,"nodeType":860},{},[71776],{"data":71777,"marks":71778,"value":48625,"nodeType":864},{},[],{"data":71780,"content":71781,"nodeType":860},{},[71782,71785,71793],{"data":71783,"marks":71784,"value":48632,"nodeType":864},{},[],{"data":71786,"content":71787,"nodeType":883},{"uri":35369},[71788],{"data":71789,"marks":71790,"value":48641,"nodeType":864},{},[71791,71792],{"type":1455},{"type":899},{"data":71794,"marks":71795,"value":48645,"nodeType":864},{},[],{"data":71797,"content":71800,"nodeType":996},{"target":71798},{"sys":71799},{"id":48650,"type":1001,"linkType":1002},[],{"data":71802,"content":71803,"nodeType":1005},{},[],{"data":71805,"content":71806,"nodeType":1009},{},[71807],{"data":71808,"marks":71809,"value":48661,"nodeType":864},{},[],{"data":71811,"content":71812,"nodeType":860},{},[71813],{"data":71814,"marks":71815,"value":48668,"nodeType":864},{},[],{"data":71817,"content":71818,"nodeType":860},{},[71819],{"data":71820,"marks":71821,"value":48675,"nodeType":864},{},[],{"data":71823,"content":71824,"nodeType":941},{},[71825,71841,71857],{"data":71826,"content":71827,"nodeType":945},{},[71828],{"data":71829,"content":71830,"nodeType":860},{},[71831,71834,71838],{"data":71832,"marks":71833,"value":48688,"nodeType":864},{},[],{"data":71835,"marks":71836,"value":48693,"nodeType":864},{},[71837],{"type":899},{"data":71839,"marks":71840,"value":48697,"nodeType":864},{},[],{"data":71842,"content":71843,"nodeType":945},{},[71844],{"data":71845,"content":71846,"nodeType":860},{},[71847,71850,71854],{"data":71848,"marks":71849,"value":48707,"nodeType":864},{},[],{"data":71851,"marks":71852,"value":48712,"nodeType":864},{},[71853],{"type":899},{"data":71855,"marks":71856,"value":48716,"nodeType":864},{},[],{"data":71858,"content":71859,"nodeType":945},{},[71860],{"data":71861,"content":71862,"nodeType":860},{},[71863,71866,71870,71873,71880],{"data":71864,"marks":71865,"value":48726,"nodeType":864},{},[],{"data":71867,"marks":71868,"value":48731,"nodeType":864},{},[71869],{"type":899},{"data":71871,"marks":71872,"value":48735,"nodeType":864},{},[],{"data":71874,"content":71875,"nodeType":883},{"uri":17701},[71876],{"data":71877,"marks":71878,"value":17706,"nodeType":864},{},[71879],{"type":1455},{"data":71881,"marks":71882,"value":48746,"nodeType":864},{},[],{"data":71884,"content":71885,"nodeType":860},{},[71886],{"data":71887,"marks":71888,"value":48753,"nodeType":864},{},[],{"data":71890,"content":71891,"nodeType":860},{},[71892],{"data":71893,"marks":71894,"value":48760,"nodeType":864},{},[],{"data":71896,"content":71897,"nodeType":860},{},[71898],{"data":71899,"marks":71900,"value":48767,"nodeType":864},{},[],{"data":71902,"content":71903,"nodeType":1312},{},[71904],{"data":71905,"marks":71906,"value":48775,"nodeType":864},{},[71907],{"type":899},{"data":71909,"content":71910,"nodeType":860},{},[71911,71914,71922],{"data":71912,"marks":71913,"value":48782,"nodeType":864},{},[],{"data":71915,"content":71916,"nodeType":883},{"uri":48785},[71917],{"data":71918,"marks":71919,"value":48792,"nodeType":864},{},[71920,71921],{"type":1455},{"type":899},{"data":71923,"marks":71924,"value":48796,"nodeType":864},{},[],{"data":71926,"content":71927,"nodeType":860},{},[71928],{"data":71929,"marks":71930,"value":48803,"nodeType":864},{},[],{"data":71932,"content":71935,"nodeType":996},{"target":71933},{"sys":71934},{"id":48808,"type":1001,"linkType":1002},[],{"data":71937,"content":71938,"nodeType":1312},{},[71939,71943],{"data":71940,"marks":71941,"value":48817,"nodeType":864},{},[71942],{"type":899},{"data":71944,"marks":71945,"value":1171,"nodeType":864},{},[],{"data":71947,"content":71948,"nodeType":860},{},[71949,71952,71960],{"data":71950,"marks":71951,"value":48827,"nodeType":864},{},[],{"data":71953,"content":71954,"nodeType":883},{"uri":48830},[71955],{"data":71956,"marks":71957,"value":48837,"nodeType":864},{},[71958,71959],{"type":1455},{"type":899},{"data":71961,"marks":71962,"value":48841,"nodeType":864},{},[],{"data":71964,"content":71965,"nodeType":860},{},[71966],{"data":71967,"marks":71968,"value":48848,"nodeType":864},{},[],{"data":71970,"content":71971,"nodeType":1312},{},[71972],{"data":71973,"marks":71974,"value":48856,"nodeType":864},{},[71975],{"type":899},{"data":71977,"content":71978,"nodeType":860},{},[71979,71982,71990],{"data":71980,"marks":71981,"value":48863,"nodeType":864},{},[],{"data":71983,"content":71984,"nodeType":883},{"uri":35429},[71985],{"data":71986,"marks":71987,"value":28463,"nodeType":864},{},[71988,71989],{"type":1455},{"type":899},{"data":71991,"marks":71992,"value":48875,"nodeType":864},{},[],{"data":71994,"content":71995,"nodeType":860},{},[71996],{"data":71997,"marks":71998,"value":48882,"nodeType":864},{},[],{"data":72000,"content":72001,"nodeType":860},{},[72002],{"data":72003,"marks":72004,"value":48889,"nodeType":864},{},[],{"data":72006,"content":72009,"nodeType":996},{"target":72007},{"sys":72008},{"id":48894,"type":1001,"linkType":1002},[],{"data":72011,"content":72012,"nodeType":1005},{},[],{"data":72014,"content":72015,"nodeType":1009},{},[72016],{"data":72017,"marks":72018,"value":48905,"nodeType":864},{},[],{"data":72020,"content":72021,"nodeType":860},{},[72022,72025,72031],{"data":72023,"marks":72024,"value":48912,"nodeType":864},{},[],{"data":72026,"content":72027,"nodeType":883},{"uri":5642},[72028],{"data":72029,"marks":72030,"value":48919,"nodeType":864},{},[],{"data":72032,"marks":72033,"value":48923,"nodeType":864},{},[],{"items":72035},[72036,72038],{"sys":72037,"name":342},{"id":6596},{"sys":72039,"name":297},{"id":2732},{"items":72041},[72042],{"fullName":849,"firstName":850,"jobTitle":851,"profilePicture":72043},{"url":853},"blog/considering-the-impact-of-computer-using-agents",{"json":72046},{"data":72047,"content":72048,"nodeType":856},{},[72049],{"data":72050,"content":72051,"nodeType":860},{},[72052],{"data":72053,"marks":72054,"value":72055,"nodeType":864},{},[],"Computer-Using Agents (CUAs) are a new type of AI agent that drives your browser/OS for you. These tools (or future iterations of them) will enable low-cost, low-effort automation of common web tasks — including those frequently performed by attackers.",{"id":61498,"publishedAt":72057},"2026-08-12T11:54:30.875Z",{"items":72059},[72060,72062],{"sys":72061,"name":6593},{"id":6592},{"sys":72063,"name":297},{"id":2732},{"items":72065},[72066,72068,72070,72072,72074,72076,72078,72080,72082,72084,72086,72088,72090,72092,72094,72096,72098],{"sys":72067,"name":279,"slug":280,"tier":31},{"id":276},{"sys":72069,"name":235,"slug":236,"tier":31},{"id":232},{"sys":72071,"name":413,"slug":414,"tier":31},{"id":410},{"sys":72073,"name":545,"slug":546,"tier":31},{"id":542},{"sys":72075,"name":642,"slug":643,"tier":31},{"id":639},{"sys":72077,"name":297,"slug":298,"tier":31},{"id":294},{"sys":72079,"name":519,"slug":520,"tier":31},{"id":516},{"sys":72081,"name":244,"slug":245,"tier":45},{"id":241},{"sys":72083,"name":404,"slug":405,"tier":45},{"id":401},{"sys":72085,"name":333,"slug":334,"tier":45},{"id":330},{"sys":72087,"name":324,"slug":325,"tier":45},{"id":321},{"sys":72089,"name":475,"slug":476,"tier":45},{"id":472},{"sys":72091,"name":607,"slug":608,"tier":45},{"id":604},{"sys":72093,"name":571,"slug":572,"tier":45},{"id":568},{"sys":72095,"name":422,"slug":423,"tier":45},{"id":419},{"sys":72097,"name":502,"slug":503,"tier":45},{"id":499},{"sys":72099,"name":288,"slug":289,"tier":45},{"id":285},"BXC9egMG__WJ8DlAdMBbENBH-pmptSUJ4ZypBxm0Dzs",{"id":72102,"title":65936,"authorsCollection":72103,"content":72107,"extension":228,"faqItemsCollection":72786,"faqTitle":59,"featured":6,"hashTags":59,"meta":72788,"metaTitle":72789,"ogImage":59,"postType":55451,"publishedDate":48926,"relatedBlogPostsCollection":72790,"slug":65938,"stem":75367,"subtitle":59,"summary":75368,"synopsis":65937,"sys":75379,"tagsCollection":75381,"topicsCollection":75387,"__hash__":75415},"blog/blog/enforce-mfa-on-third-party-apps.json",{"items":72104},[72105],{"fullName":849,"firstName":850,"jobTitle":851,"socialLinks":59,"profilePicture":72106},{"url":853},{"json":72108,"links":72665},{"data":72109,"content":72110,"nodeType":856},{},[72111,72116,72119,72125,72146,72171,72180,72196,72202,72207,72213,72226,72232,72235,72241,72247,72263,72269,72309,72315,72320,72325,72331,72361,72374,72377,72383,72389,72395,72401,72407,72413,72419,72512,72517,72530,72536,72549,72579,72592,72598,72611,72616,72622,72628,72633,72639,72644,72650],{"data":72112,"content":72115,"nodeType":996},{"target":72113},{"sys":72114},{"id":65307,"type":1001,"linkType":1002},[],{"data":72117,"content":72118,"nodeType":1005},{},[],{"data":72120,"content":72121,"nodeType":860},{},[72122],{"data":72123,"marks":72124,"value":65318,"nodeType":864},{},[],{"data":72126,"content":72127,"nodeType":941},{},[72128,72137],{"data":72129,"content":72130,"nodeType":945},{},[72131],{"data":72132,"content":72133,"nodeType":860},{},[72134],{"data":72135,"marks":72136,"value":65331,"nodeType":864},{},[],{"data":72138,"content":72139,"nodeType":945},{},[72140],{"data":72141,"content":72142,"nodeType":860},{},[72143],{"data":72144,"marks":72145,"value":65341,"nodeType":864},{},[],{"data":72147,"content":72148,"nodeType":860},{},[72149,72152,72159,72162,72168],{"data":72150,"marks":72151,"value":65348,"nodeType":864},{},[],{"data":72153,"content":72154,"nodeType":883},{"uri":8628},[72155],{"data":72156,"marks":72157,"value":65356,"nodeType":864},{},[72158],{"type":1455},{"data":72160,"marks":72161,"value":65360,"nodeType":864},{},[],{"data":72163,"content":72164,"nodeType":883},{"uri":48548},[72165],{"data":72166,"marks":72167,"value":65367,"nodeType":864},{},[],{"data":72169,"marks":72170,"value":65371,"nodeType":864},{},[],{"data":72172,"content":72173,"nodeType":1116},{},[72174],{"data":72175,"content":72176,"nodeType":860},{},[72177],{"data":72178,"marks":72179,"value":65381,"nodeType":864},{},[],{"data":72181,"content":72182,"nodeType":860},{},[72183,72186,72193],{"data":72184,"marks":72185,"value":65388,"nodeType":864},{},[],{"data":72187,"content":72188,"nodeType":883},{"uri":3751},[72189],{"data":72190,"marks":72191,"value":65396,"nodeType":864},{},[72192],{"type":1455},{"data":72194,"marks":72195,"value":65400,"nodeType":864},{},[],{"data":72197,"content":72198,"nodeType":860},{},[72199],{"data":72200,"marks":72201,"value":65407,"nodeType":864},{},[],{"data":72203,"content":72206,"nodeType":996},{"target":72204},{"sys":72205},{"id":65412,"type":1001,"linkType":1002},[],{"data":72208,"content":72209,"nodeType":860},{},[72210],{"data":72211,"marks":72212,"value":65420,"nodeType":864},{},[],{"data":72214,"content":72215,"nodeType":860},{},[72216,72219,72223],{"data":72217,"marks":72218,"value":65427,"nodeType":864},{},[],{"data":72220,"marks":72221,"value":28463,"nodeType":864},{},[72222],{"type":899},{"data":72224,"marks":72225,"value":65435,"nodeType":864},{},[],{"data":72227,"content":72228,"nodeType":860},{},[72229],{"data":72230,"marks":72231,"value":65442,"nodeType":864},{},[],{"data":72233,"content":72234,"nodeType":1005},{},[],{"data":72236,"content":72237,"nodeType":1009},{},[72238],{"data":72239,"marks":72240,"value":65452,"nodeType":864},{},[],{"data":72242,"content":72243,"nodeType":860},{},[72244],{"data":72245,"marks":72246,"value":65459,"nodeType":864},{},[],{"data":72248,"content":72249,"nodeType":860},{},[72250,72253,72260],{"data":72251,"marks":72252,"value":65466,"nodeType":864},{},[],{"data":72254,"content":72255,"nodeType":883},{"uri":65469},[72256],{"data":72257,"marks":72258,"value":65475,"nodeType":864},{},[72259],{"type":1455},{"data":72261,"marks":72262,"value":2924,"nodeType":864},{},[],{"data":72264,"content":72265,"nodeType":860},{},[72266],{"data":72267,"marks":72268,"value":65485,"nodeType":864},{},[],{"data":72270,"content":72271,"nodeType":941},{},[72272,72281,72290],{"data":72273,"content":72274,"nodeType":945},{},[72275],{"data":72276,"content":72277,"nodeType":860},{},[72278],{"data":72279,"marks":72280,"value":65498,"nodeType":864},{},[],{"data":72282,"content":72283,"nodeType":945},{},[72284],{"data":72285,"content":72286,"nodeType":860},{},[72287],{"data":72288,"marks":72289,"value":65508,"nodeType":864},{},[],{"data":72291,"content":72292,"nodeType":945},{},[72293],{"data":72294,"content":72295,"nodeType":860},{},[72296,72299,72306],{"data":72297,"marks":72298,"value":65518,"nodeType":864},{},[],{"data":72300,"content":72301,"nodeType":883},{"uri":39911},[72302],{"data":72303,"marks":72304,"value":65526,"nodeType":864},{},[72305],{"type":1455},{"data":72307,"marks":72308,"value":65530,"nodeType":864},{},[],{"data":72310,"content":72311,"nodeType":860},{},[72312],{"data":72313,"marks":72314,"value":65537,"nodeType":864},{},[],{"data":72316,"content":72319,"nodeType":996},{"target":72317},{"sys":72318},{"id":65542,"type":1001,"linkType":1002},[],{"data":72321,"content":72324,"nodeType":996},{"target":72322},{"sys":72323},{"id":50890,"type":1001,"linkType":1002},[],{"data":72326,"content":72327,"nodeType":860},{},[72328],{"data":72329,"marks":72330,"value":65555,"nodeType":864},{},[],{"data":72332,"content":72333,"nodeType":941},{},[72334,72343,72352],{"data":72335,"content":72336,"nodeType":945},{},[72337],{"data":72338,"content":72339,"nodeType":860},{},[72340],{"data":72341,"marks":72342,"value":65568,"nodeType":864},{},[],{"data":72344,"content":72345,"nodeType":945},{},[72346],{"data":72347,"content":72348,"nodeType":860},{},[72349],{"data":72350,"marks":72351,"value":65578,"nodeType":864},{},[],{"data":72353,"content":72354,"nodeType":945},{},[72355],{"data":72356,"content":72357,"nodeType":860},{},[72358],{"data":72359,"marks":72360,"value":65588,"nodeType":864},{},[],{"data":72362,"content":72363,"nodeType":860},{},[72364,72367,72371],{"data":72365,"marks":72366,"value":65595,"nodeType":864},{},[],{"data":72368,"marks":72369,"value":28463,"nodeType":864},{},[72370],{"type":899},{"data":72372,"marks":72373,"value":2924,"nodeType":864},{},[],{"data":72375,"content":72376,"nodeType":1005},{},[],{"data":72378,"content":72379,"nodeType":1009},{},[72380],{"data":72381,"marks":72382,"value":65612,"nodeType":864},{},[],{"data":72384,"content":72385,"nodeType":860},{},[72386],{"data":72387,"marks":72388,"value":65619,"nodeType":864},{},[],{"data":72390,"content":72391,"nodeType":860},{},[72392],{"data":72393,"marks":72394,"value":65626,"nodeType":864},{},[],{"data":72396,"content":72397,"nodeType":860},{},[72398],{"data":72399,"marks":72400,"value":65633,"nodeType":864},{},[],{"data":72402,"content":72403,"nodeType":860},{},[72404],{"data":72405,"marks":72406,"value":65640,"nodeType":864},{},[],{"data":72408,"content":72409,"nodeType":860},{},[72410],{"data":72411,"marks":72412,"value":65647,"nodeType":864},{},[],{"data":72414,"content":72415,"nodeType":860},{},[72416],{"data":72417,"marks":72418,"value":65654,"nodeType":864},{},[],{"data":72420,"content":72421,"nodeType":941},{},[72422,72438,72447,72470,72493],{"data":72423,"content":72424,"nodeType":945},{},[72425],{"data":72426,"content":72427,"nodeType":860},{},[72428,72431,72435],{"data":72429,"marks":72430,"value":65667,"nodeType":864},{},[],{"data":72432,"marks":72433,"value":65672,"nodeType":864},{},[72434],{"type":899},{"data":72436,"marks":72437,"value":65676,"nodeType":864},{},[],{"data":72439,"content":72440,"nodeType":945},{},[72441],{"data":72442,"content":72443,"nodeType":860},{},[72444],{"data":72445,"marks":72446,"value":65686,"nodeType":864},{},[],{"data":72448,"content":72449,"nodeType":945},{},[72450],{"data":72451,"content":72452,"nodeType":860},{},[72453,72456,72460,72463,72467],{"data":72454,"marks":72455,"value":65696,"nodeType":864},{},[],{"data":72457,"marks":72458,"value":65701,"nodeType":864},{},[72459],{"type":899},{"data":72461,"marks":72462,"value":65705,"nodeType":864},{},[],{"data":72464,"marks":72465,"value":65710,"nodeType":864},{},[72466],{"type":899},{"data":72468,"marks":72469,"value":2924,"nodeType":864},{},[],{"data":72471,"content":72472,"nodeType":945},{},[72473],{"data":72474,"content":72475,"nodeType":860},{},[72476,72479,72483,72486,72490],{"data":72477,"marks":72478,"value":65723,"nodeType":864},{},[],{"data":72480,"marks":72481,"value":28463,"nodeType":864},{},[72482],{"type":899},{"data":72484,"marks":72485,"value":65731,"nodeType":864},{},[],{"data":72487,"marks":72488,"value":51400,"nodeType":864},{},[72489],{"type":899},{"data":72491,"marks":72492,"value":65739,"nodeType":864},{},[],{"data":72494,"content":72495,"nodeType":945},{},[72496],{"data":72497,"content":72498,"nodeType":860},{},[72499,72502,72509],{"data":72500,"marks":72501,"value":65749,"nodeType":864},{},[],{"data":72503,"content":72504,"nodeType":883},{"uri":65752},[72505],{"data":72506,"marks":72507,"value":65758,"nodeType":864},{},[72508],{"type":1455},{"data":72510,"marks":72511,"value":2924,"nodeType":864},{},[],{"data":72513,"content":72516,"nodeType":996},{"target":72514},{"sys":72515},{"id":35444,"type":1001,"linkType":1002},[],{"data":72518,"content":72519,"nodeType":860},{},[72520,72523,72527],{"data":72521,"marks":72522,"value":65773,"nodeType":864},{},[],{"data":72524,"marks":72525,"value":28463,"nodeType":864},{},[72526],{"type":899},{"data":72528,"marks":72529,"value":65781,"nodeType":864},{},[],{"data":72531,"content":72532,"nodeType":1009},{},[72533],{"data":72534,"marks":72535,"value":65788,"nodeType":864},{},[],{"data":72537,"content":72538,"nodeType":860},{},[72539,72542,72546],{"data":72540,"marks":72541,"value":65795,"nodeType":864},{},[],{"data":72543,"marks":72544,"value":28463,"nodeType":864},{},[72545],{"type":899},{"data":72547,"marks":72548,"value":65803,"nodeType":864},{},[],{"data":72550,"content":72551,"nodeType":941},{},[72552,72561,72570],{"data":72553,"content":72554,"nodeType":945},{},[72555],{"data":72556,"content":72557,"nodeType":860},{},[72558],{"data":72559,"marks":72560,"value":65816,"nodeType":864},{},[],{"data":72562,"content":72563,"nodeType":945},{},[72564],{"data":72565,"content":72566,"nodeType":860},{},[72567],{"data":72568,"marks":72569,"value":65826,"nodeType":864},{},[],{"data":72571,"content":72572,"nodeType":945},{},[72573],{"data":72574,"content":72575,"nodeType":860},{},[72576],{"data":72577,"marks":72578,"value":65836,"nodeType":864},{},[],{"data":72580,"content":72581,"nodeType":860},{},[72582,72585,72589],{"data":72583,"marks":72584,"value":65843,"nodeType":864},{},[],{"data":72586,"marks":72587,"value":31894,"nodeType":864},{},[72588],{"type":2246},{"data":72590,"marks":72591,"value":65851,"nodeType":864},{},[],{"data":72593,"content":72594,"nodeType":860},{},[72595],{"data":72596,"marks":72597,"value":51374,"nodeType":864},{},[],{"data":72599,"content":72600,"nodeType":860},{},[72601,72604,72608],{"data":72602,"marks":72603,"value":65864,"nodeType":864},{},[],{"data":72605,"marks":72606,"value":51400,"nodeType":864},{},[72607],{"type":899},{"data":72609,"marks":72610,"value":65872,"nodeType":864},{},[],{"data":72612,"content":72615,"nodeType":996},{"target":72613},{"sys":72614},{"id":65877,"type":1001,"linkType":1002},[],{"data":72617,"content":72618,"nodeType":860},{},[72619],{"data":72620,"marks":72621,"value":65885,"nodeType":864},{},[],{"data":72623,"content":72624,"nodeType":860},{},[72625],{"data":72626,"marks":72627,"value":65892,"nodeType":864},{},[],{"data":72629,"content":72632,"nodeType":996},{"target":72630},{"sys":72631},{"id":65897,"type":1001,"linkType":1002},[],{"data":72634,"content":72635,"nodeType":860},{},[72636],{"data":72637,"marks":72638,"value":65905,"nodeType":864},{},[],{"data":72640,"content":72643,"nodeType":996},{"target":72641},{"sys":72642},{"id":65910,"type":1001,"linkType":1002},[],{"data":72645,"content":72646,"nodeType":1009},{},[72647],{"data":72648,"marks":72649,"value":36405,"nodeType":864},{},[],{"data":72651,"content":72652,"nodeType":860},{},[72653,72656,72662],{"data":72654,"marks":72655,"value":65924,"nodeType":864},{},[],{"data":72657,"content":72658,"nodeType":883},{"uri":28771},[72659],{"data":72660,"marks":72661,"value":65931,"nodeType":864},{},[],{"data":72663,"marks":72664,"value":65935,"nodeType":864},{},[],{"entries":72666},{"hyperlink":72667,"inline":72668,"block":72669},[],[],[72670,72676,72707,72761,72764,72766,72772,72779],{"sys":72671,"__typename":47726,"title":72672,"youTubeUrl":72673,"imagePlaceholder":72674},{"id":65307},"Feature Release: MFA Enforcement","https://www.youtube.com/watch?v=0nu0iD3O3hs",{"url":72675,"width":45619,"height":45620},"https://images.ctfassets.net/y1cdw1ablpvd/5iUOFCN18UQD38wT1NWbGt/0f8f7bb499134473df52fe68cd747c3c/Youtube_Video_Thumbnail_V2__1_.png",{"sys":72677,"__typename":1740,"content":72678,"name":72706,"title":59},{"id":65412},{"json":72679},{"nodeType":856,"data":72680,"content":72681},{},[72682],{"nodeType":860,"data":72683,"content":72684},{},[72685,72689,72694,72698,72703],{"nodeType":864,"value":72686,"marks":72687,"data":72688},"Typically, ",[],{},{"nodeType":864,"value":72690,"marks":72691,"data":72693},"37% of logins",[72692],{"type":899},{},{"nodeType":864,"value":72695,"marks":72696,"data":72697}," observed by Push upon initial deployment into a new customer environment ",[],{},{"nodeType":864,"value":72699,"marks":72700,"data":72702},"do not use any form of MFA",[72701],{"type":899},{},{"nodeType":864,"value":2924,"marks":72704,"data":72705},[],{},"Typically, 37% of logins observed by Push upon initial deployment into a new customer environment do not use any form of MFA.",{"sys":72708,"__typename":1740,"content":72709,"name":72760,"title":59},{"id":65542},{"json":72710},{"nodeType":856,"data":72711,"content":72712},{},[72713],{"nodeType":860,"data":72714,"content":72715},{},[72716,72720,72728,72732,72737,72741,72746,72752,72757],{"nodeType":864,"value":72717,"marks":72718,"data":72719},"A ",[],{},{"nodeType":883,"data":72721,"content":72722},{"uri":15980},[72723],{"nodeType":864,"value":72724,"marks":72725,"data":72727},"recent review",[72726],{"type":1455},{},{"nodeType":864,"value":72729,"marks":72730,"data":72731}," by Push Security researchers of a 300,000-account dataset found that ",[],{},{"nodeType":864,"value":72733,"marks":72734,"data":72736},"37% of accounts used a password and had no MFA",[72735],{"type":899},{},{"nodeType":864,"value":72738,"marks":72739,"data":72740},". Meanwhile, ",[],{},{"nodeType":864,"value":72742,"marks":72743,"data":72745},"99% of the accounts ",[72744],{"type":899},{},{"nodeType":864,"value":72747,"marks":72748,"data":72751},"with",[72749,72750],{"type":2246},{"type":899},{},{"nodeType":864,"value":72753,"marks":72754,"data":72756}," MFA used at least 1 phishable method",[72755],{"type":899},{},{"nodeType":864,"value":2924,"marks":72758,"data":72759},[],{},"A recent review by Push Security researchers of a 300,000-account dataset found that 37% of accounts used a password and had no MFA. Meanwhile, 99% of the accounts with MFA used at least 1 phishable method.",{"sys":72762,"__typename":1724,"title":55406,"caption":55407,"layoutMode":59,"file":72763},{"id":50890},{"url":55409,"width":55410,"height":55410},{"sys":72765,"__typename":9318,"title":58063,"arcadeDemoUrl":58064,"playText":9321},{"id":35444},{"sys":72767,"__typename":1724,"title":72768,"caption":72768,"layoutMode":59,"file":72769},{"id":65877},"Configure MFA enforcement for apps",{"url":72770,"width":41540,"height":72771},"https://images.ctfassets.net/y1cdw1ablpvd/7eB1Iargjtx7rL8XDZQTbe/54bb26c3c20685733293b376a6fbcfc5/image2.png",900,{"sys":72773,"__typename":1724,"title":72774,"caption":72774,"layoutMode":59,"file":72775},{"id":65897},"Customize the message seen by your users",{"url":72776,"width":72777,"height":72778},"https://images.ctfassets.net/y1cdw1ablpvd/6vnbTJU4sKYUrLSWAmAzs8/e99e53441d5347f721167fbaa02514f6/image3.png",1438,785,{"sys":72780,"__typename":1724,"title":72781,"caption":72781,"layoutMode":59,"file":72782},{"id":65910},"No MFA finding cleared once MFA is configured",{"url":72783,"width":72784,"height":72785},"https://images.ctfassets.net/y1cdw1ablpvd/7Gj6yMGjEbXK39P82wI17E/338b2f4ba9f749da560b46ff33b18b48/image1.png",694,781,{"items":72787},[],{},"Using Push to enforce MFA on third-party apps in the browser",{"items":72791},[72792,73505,73853],{"__typename":2059,"sys":72793,"content":72795,"title":73489,"synopsis":73490,"hashTags":59,"publishedDate":73491,"slug":73492,"tagsCollection":73493,"authorsCollection":73501},{"id":72794},"6vCr4d3R1XA1E8dU883l7N",{"json":72796},{"data":72797,"content":72798,"nodeType":856},{},[72799,72805,72808,72824,72831,72838,72844,72851,72869,72888,72895,72901,72908,72911,72918,72925,72932,72939,72946,72953,72986,72992,72999,73002,73009,73016,73131,73138,73156,73163,73181,73188,73208,73215,73233,73236,73243,73250,73257,73289,73296,73303,73321,73327,73334,73341,73347,73354,73416,73423,73430,73437,73444,73451,73454,73461,73478,73483],{"data":72800,"content":72804,"nodeType":996},{"target":72801},{"sys":72802},{"id":72803,"type":1001,"linkType":1002},"HcoxuG8EK0w5uFQlN0hbh",[],{"data":72806,"content":72807,"nodeType":1005},{},[],{"data":72809,"content":72810,"nodeType":860},{},[72811,72815,72820],{"data":72812,"marks":72813,"value":72814,"nodeType":864},{},[],"While ",{"data":72816,"marks":72817,"value":72819,"nodeType":864},{},[72818],{"type":2246},"striking",{"data":72821,"marks":72822,"value":72823,"nodeType":864},{},[]," gold sure feels good, mining for gold doesn’t. All that sifting for a few grains of value. ",{"data":72825,"content":72826,"nodeType":860},{},[72827],{"data":72828,"marks":72829,"value":72830,"nodeType":864},{},[],"If you’ve ever tried to make use of a TI feed on stolen credentials, you’ll know exactly how this feels. Yet the need to identify signal from noise is obvious. When it matters, it really matters. ",{"data":72832,"content":72833,"nodeType":860},{},[72834],{"data":72835,"marks":72836,"value":72837,"nodeType":864},{},[],"While there’s an enormous volume of TI data available on stolen creds, data trustworthiness is much harder to establish. Are these creds still in use? Are they in use on company applications? And without trust in the data, it’s harder to take action.",{"data":72839,"content":72843,"nodeType":996},{"target":72840},{"sys":72841},{"id":72842,"type":1001,"linkType":1002},"4unFZadFrWEQsiHsD3YAEo",[],{"data":72845,"content":72846,"nodeType":860},{},[72847],{"data":72848,"marks":72849,"value":72850,"nodeType":864},{},[],"We set out to solve this problem at Push and ended up flipping the script on conventional approaches to evaluating TI on stolen credentials. (Lay down your shovel, friend.)",{"data":72852,"content":72853,"nodeType":1116},{},[72854],{"data":72855,"content":72856,"nodeType":860},{},[72857,72861,72866],{"data":72858,"marks":72859,"value":72860,"nodeType":864},{},[],"With our latest release, Push takes TI on stolen credentials sourced from criminal forums and compares it to the actual credentials still being used across customer environments, ",{"data":72862,"marks":72863,"value":72865,"nodeType":864},{},[72864],{"type":899},"alerting on validated true positives only",{"data":72867,"marks":72868,"value":1774,"nodeType":864},{},[],{"data":72870,"content":72871,"nodeType":860},{},[72872,72876,72884],{"data":72873,"marks":72874,"value":72875,"nodeType":864},{},[],"As of January 2025, you can also bring your own TI to the Push platform. Using the ",{"data":72877,"content":72879,"nodeType":883},{"uri":72878},"https://pushsecurity.redoc.ly/rest-v1#tag/Stolen-credential-detection",[72880],{"data":72881,"marks":72882,"value":72883,"nodeType":864},{},[],"Push REST API",{"data":72885,"marks":72886,"value":72887,"nodeType":864},{},[],", you can share stolen credential reports you receive from your existing vendors and task the Push browser agent with finding the ones still in use by employees.",{"data":72889,"content":72890,"nodeType":860},{},[72891],{"data":72892,"marks":72893,"value":72894,"nodeType":864},{},[],"Call it the “dirt in, gold out” model for TI feeds.",{"data":72896,"content":72900,"nodeType":996},{"target":72897},{"sys":72898},{"id":72899,"type":1001,"linkType":1002},"5VtuerdMpP4U9yL7pjrb4P",[],{"data":72902,"content":72903,"nodeType":860},{},[72904],{"data":72905,"marks":72906,"value":72907,"nodeType":864},{},[],"In this article, we’ll cover some of the challenges with threat intel on stolen credentials, why the rise of infostealers has added urgency to determining the trustworthiness of this category of threat, and how Push’s approach of validating stolen credentials cuts through uncertainty. ",{"data":72909,"content":72910,"nodeType":1005},{},[],{"data":72912,"content":72913,"nodeType":1009},{},[72914],{"data":72915,"marks":72916,"value":72917,"nodeType":864},{},[],"Why actionable intel on creds is hard",{"data":72919,"content":72920,"nodeType":860},{},[72921],{"data":72922,"marks":72923,"value":72924,"nodeType":864},{},[],"Both threat actors and security teams have ready access to information on stolen credentials, with obviously opposite goals. There is now a robust economy for this data, driven in part by both the success of attacks using stolen creds, and the SaaS-ification of business software. In the past, security teams could audit their Active Directory passwords. Today, many if not most corporate credentials are stored in apps that do not provide that level of visibility.",{"data":72926,"content":72927,"nodeType":860},{},[72928],{"data":72929,"marks":72930,"value":72931,"nodeType":864},{},[],"So when it comes to stolen credential TI, the challenge is not the availability of data — dozens of vendors already do the hard work of establishing presences in these forums in order to collect and disseminate information on credentials such as usernames, passwords, cookies, and API keys that have been stolen through data breaches, phishing attacks, infostealers, or other methods. ",{"data":72933,"content":72934,"nodeType":1312},{},[72935],{"data":72936,"marks":72937,"value":72938,"nodeType":864},{},[],"Too much data, not enough context",{"data":72940,"content":72941,"nodeType":860},{},[72942],{"data":72943,"marks":72944,"value":72945,"nodeType":864},{},[],"Rather, the difficulty is determining which information to act on. Finding the gold, in other words.",{"data":72947,"content":72948,"nodeType":860},{},[72949],{"data":72950,"marks":72951,"value":72952,"nodeType":864},{},[],"TI on stolen credentials often suffers from:",{"data":72954,"content":72955,"nodeType":941},{},[72956,72971],{"data":72957,"content":72958,"nodeType":945},{},[72959],{"data":72960,"content":72961,"nodeType":860},{},[72962,72967],{"data":72963,"marks":72964,"value":72966,"nodeType":864},{},[72965],{"type":899},"Data overload:",{"data":72968,"marks":72969,"value":72970,"nodeType":864},{},[]," The double bind of TI is especially evident here — once you know about a potential true positive, you feel obligated to investigate, yet the scale of the information and the high incidence of outdated or incomplete information can pose a risk of desensitizing the SOC or wasting dozens of hours of time investigating what turn out to be false positives, especially when that time could have been better spent on in-depth threat hunting.",{"data":72972,"content":72973,"nodeType":945},{},[72974],{"data":72975,"content":72976,"nodeType":860},{},[72977,72982],{"data":72978,"marks":72979,"value":72981,"nodeType":864},{},[72980],{"type":899},"Minimal context:",{"data":72983,"marks":72984,"value":72985,"nodeType":864},{},[]," Intelligence is often incomplete or out of date. TI feeds may present stolen passwords as new breaches, but the data is actually a recycled combolist (aggregated list of lists) rather than a new incident. In some situations, infostealer threat intel can stem from a personal device that was compromised and once accessed corporate assets, but is no longer active or using that password. Then there are the false negatives, where you get an alert for stolen credentials on a core app following a breach, and the creds are no longer in use there — but they are still being used on a different high-value app. ",{"data":72987,"content":72991,"nodeType":996},{"target":72988},{"sys":72989},{"id":72990,"type":1001,"linkType":1002},"40ZWbzJFQLRjCAaFCA0YLS",[],{"data":72993,"content":72994,"nodeType":860},{},[72995],{"data":72996,"marks":72997,"value":72998,"nodeType":864},{},[],"Despite these challenges, there is still a strong case for incorporating TI on stolen creds into your cyber defense practice for one important reason: Attackers are increasingly using stolen credentials to compromise organizations.",{"data":73000,"content":73001,"nodeType":1005},{},[],{"data":73003,"content":73004,"nodeType":1009},{},[73005],{"data":73006,"marks":73007,"value":73008,"nodeType":864},{},[],"The commodification of stolen creds in the age of infostealers",{"data":73010,"content":73011,"nodeType":860},{},[73012],{"data":73013,"marks":73014,"value":73015,"nodeType":864},{},[],"A few headline stats on how ubiquitous stolen credential exploitation has become:",{"data":73017,"content":73018,"nodeType":941},{},[73019,73040,73062,73085,73121],{"data":73020,"content":73021,"nodeType":945},{},[73022],{"data":73023,"content":73024,"nodeType":860},{},[73025,73028,73036],{"data":73026,"marks":73027,"value":2761,"nodeType":864},{},[],{"data":73029,"content":73030,"nodeType":883},{"uri":4408},[73031],{"data":73032,"marks":73033,"value":73035,"nodeType":864},{},[73034],{"type":1455},"2024 Verizon DBIR",{"data":73037,"marks":73038,"value":73039,"nodeType":864},{},[]," found that 79% of web application compromises were the result of breached credentials.",{"data":73041,"content":73042,"nodeType":945},{},[73043],{"data":73044,"content":73045,"nodeType":860},{},[73046,73049,73058],{"data":73047,"marks":73048,"value":21,"nodeType":864},{},[],{"data":73050,"content":73052,"nodeType":883},{"uri":73051},"https://www.ibm.com/reports/threat-intelligence",[73053],{"data":73054,"marks":73055,"value":73057,"nodeType":864},{},[73056],{"type":1455},"Researchers at IBM",{"data":73059,"marks":73060,"value":73061,"nodeType":864},{},[]," identified a 71% year-over-year increase in cyberattacks using stolen or compromised credentials. This jump made stolen creds the No. 1 source of initial access for cyberattacks in their study. They also found a 266% uptick in the last year in the use of infostealers — malware designed to capture passwords, cookies, and other credential data.",{"data":73063,"content":73064,"nodeType":945},{},[73065],{"data":73066,"content":73067,"nodeType":860},{},[73068,73072,73081],{"data":73069,"marks":73070,"value":73071,"nodeType":864},{},[],"Researchers at threat intelligence provider ",{"data":73073,"content":73075,"nodeType":883},{"uri":73074},"https://go.recordedfuture.com/hubfs/reports/ta-2024-0321.pdf",[73076],{"data":73077,"marks":73078,"value":73080,"nodeType":864},{},[73079],{"type":1455},"Recorded Future",{"data":73082,"marks":73083,"value":73084,"nodeType":864},{},[]," found a 135% increase last year in the number of harvested credentials among their data sources, and a 166% increase in credentials that included cookies, providing an easy way for attackers to bypass MFA protections.",{"data":73086,"content":73087,"nodeType":945},{},[73088],{"data":73089,"content":73090,"nodeType":860},{},[73091,73095,73104,73108,73117],{"data":73092,"marks":73093,"value":73094,"nodeType":864},{},[],"Meanwhile, Mandiant’s last two ",{"data":73096,"content":73098,"nodeType":883},{"uri":73097},"https://cloud.google.com/security/resources/m-trends",[73099],{"data":73100,"marks":73101,"value":73103,"nodeType":864},{},[73102],{"type":1455},"M-Trends reports",{"data":73105,"marks":73106,"value":73107,"nodeType":864},{},[]," found that stolen creds were the third and fourth most-used initial intrusion method of the last two years. Cisco Talos researchers found that the ",{"data":73109,"content":73111,"nodeType":883},{"uri":73110},"https://blog.talosintelligence.com/cisco-talos-2023-year-in-review/",[73112],{"data":73113,"marks":73114,"value":73116,"nodeType":864},{},[73115],{"type":1455},"use of valid accounts",{"data":73118,"marks":73119,"value":73120,"nodeType":864},{},[]," was the second-most common attack technique they observed last year.",{"data":73122,"content":73123,"nodeType":945},{},[73124],{"data":73125,"content":73126,"nodeType":860},{},[73127],{"data":73128,"marks":73129,"value":73130,"nodeType":864},{},[],"Push’s own review of the 25 most notable public identity-related breaches over the last year found that 23 were tied to stolen credentials.",{"data":73132,"content":73133,"nodeType":860},{},[73134],{"data":73135,"marks":73136,"value":73137,"nodeType":864},{},[],"What’s not immediately obvious from these statistics is that not only are credential-based attacks becoming more common, but they’re also becoming easier for attackers to execute.",{"data":73139,"content":73140,"nodeType":860},{},[73141,73144,73152],{"data":73142,"marks":73143,"value":21,"nodeType":864},{},[],{"data":73145,"content":73146,"nodeType":883},{"uri":73051},[73147],{"data":73148,"marks":73149,"value":73151,"nodeType":864},{},[73150],{"type":1455},"IBM X-Force researchers",{"data":73153,"marks":73154,"value":73155,"nodeType":864},{},[]," have found that credentials for cloud accounts account for 90% of all cloud assets for sale on the dark web, making them readily accessible. Price tags can be as low as $10.",{"data":73157,"content":73158,"nodeType":1312},{},[73159],{"data":73160,"marks":73161,"value":73162,"nodeType":864},{},[],"The rise of infostealers has supercharged the stolen credential marketplace",{"data":73164,"content":73165,"nodeType":860},{},[73166,73170,73178],{"data":73167,"marks":73168,"value":73169,"nodeType":864},{},[],"One category of threat — infostealer malware — has emerged as an especially successful avenue of compromise. While infostealers aren’t new, they have developed alongside what is now a robust economy for stolen credentials (think: dedicated Telegram channels advertising stolen data from the most popular infostealers), making them a fruitful option for attackers. For a deeper dive on the rise of infostealers, see our ",{"data":73171,"content":73172,"nodeType":883},{"uri":48419},[73173],{"data":73174,"marks":73175,"value":73177,"nodeType":864},{},[73176],{"type":1455},"previous article",{"data":73179,"marks":73180,"value":2924,"nodeType":864},{},[],{"data":73182,"content":73183,"nodeType":860},{},[73184],{"data":73185,"marks":73186,"value":73187,"nodeType":864},{},[],"Once attackers gain possession of stolen creds, they have plenty of soft targets. For organizations with a large amount of SaaS — a percentage of which will always be unmanaged shadow IT or freemium — the risk is heightened because all attackers need to do is log in to potentially hundreds of services, dump the data they find (including additional creds in some cases), and profit. ",{"data":73189,"content":73190,"nodeType":860},{},[73191,73195,73204],{"data":73192,"marks":73193,"value":73194,"nodeType":864},{},[],"In other words, the average attack path for SaaS is shorter and occurs in-app, often using legitimate workflows, making it therefore harder to detect than traditional network exploits. We discuss this phenomenon in our ",{"data":73196,"content":73197,"nodeType":883},{"uri":36813},[73198],{"data":73199,"marks":73200,"value":73203,"nodeType":864},{},[73201,73202],{"type":1455},{"type":899},"shifting detection left",{"data":73205,"marks":73206,"value":73207,"nodeType":864},{},[]," article.",{"data":73209,"content":73210,"nodeType":860},{},[73211],{"data":73212,"marks":73213,"value":73214,"nodeType":864},{},[],"Our take: We haven’t yet seen the peak of identity attacks that leverage compromised credentials. The opportunities for attackers are too numerous, and front-line defenses like MFA are still not widely enough enforced, particularly on unmanaged apps used for work.",{"data":73216,"content":73217,"nodeType":860},{},[73218,73222,73229],{"data":73219,"marks":73220,"value":73221,"nodeType":864},{},[],"Push Security’s ",{"data":73223,"content":73224,"nodeType":883},{"uri":15980},[73225],{"data":73226,"marks":73227,"value":50732,"nodeType":864},{},[73228],{"type":1455},{"data":73230,"marks":73231,"value":73232,"nodeType":864},{},[]," has found that 37% of corporate identities are using passwords with no MFA. For attackers in possession of stolen creds, these are easy marks.",{"data":73234,"content":73235,"nodeType":1005},{},[],{"data":73237,"content":73238,"nodeType":1009},{},[73239],{"data":73240,"marks":73241,"value":73242,"nodeType":864},{},[],"How Push detects stolen creds with high confidence",{"data":73244,"content":73245,"nodeType":860},{},[73246],{"data":73247,"marks":73248,"value":73249,"nodeType":864},{},[],"Now let’s take a look at how Push’s approach to this problem is different.",{"data":73251,"content":73252,"nodeType":860},{},[73253],{"data":73254,"marks":73255,"value":73256,"nodeType":864},{},[],"If you’re not familiar with the Push platform, a bit of context will be useful here: Push uses a browser agent deployed to employee browsers (we support all major browsers) to prevent, detect, and block identity attacks. ",{"data":73258,"content":73259,"nodeType":860},{},[73260,73264,73273,73277,73285],{"data":73261,"marks":73262,"value":73263,"nodeType":864},{},[],"In addition to enforcing ",{"data":73265,"content":73267,"nodeType":883},{"uri":73266},"https://pushsecurity.com/blog/introducing-set-and-forget-controls-that-stop-real-world-identity-attacks/",[73268],{"data":73269,"marks":73270,"value":73272,"nodeType":864},{},[73271],{"type":1455},"security controls",{"data":73274,"marks":73275,"value":73276,"nodeType":864},{},[]," in the browser, Push also assesses the strength of end-user passwords by ",{"data":73278,"content":73279,"nodeType":883},{"uri":51174},[73280],{"data":73281,"marks":73282,"value":73284,"nodeType":864},{},[73283],{"type":1455},"creating and analyzing",{"data":73286,"marks":73287,"value":73288,"nodeType":864},{},[]," a truncated, salted SHA256 hash of the password for a given account. This is called a password fingerprint. These k-anonymized fingerprints are never seen by Push’s back-end and exist only in local browser extension storage.",{"data":73290,"content":73291,"nodeType":860},{},[73292],{"data":73293,"marks":73294,"value":73295,"nodeType":864},{},[],"This approach gives Push a directly observable source of truth for corporate credentials, and that data point turns out to be the key to flipping the script on how threat intelligence on stolen credentials is typically evaluated.",{"data":73297,"content":73298,"nodeType":860},{},[73299],{"data":73300,"marks":73301,"value":73302,"nodeType":864},{},[],"In the past, evaluating TI on stolen creds meant performing traditional intelligence assessments, such as confidence level based on factors like the intel source and whether the data was still current. Only after determining whether the information was high-confidence could you take action.",{"data":73304,"content":73305,"nodeType":860},{},[73306,73310,73317],{"data":73307,"marks":73308,"value":73309,"nodeType":864},{},[],"It’s worth noting, too, that the age of TI alone is not enough of an indicator to determine whether to take action. With the ",{"data":73311,"content":73312,"nodeType":883},{"uri":3751},[73313],{"data":73314,"marks":73315,"value":73316,"nodeType":864},{},[],"Snowflake breach earlier this year",{"data":73318,"marks":73319,"value":73320,"nodeType":864},{},[],", we saw how even older credentials posed a threat of account takeover where these creds were still in use. In the case of Snowflake, the attacker used credentials sourced from historical infostealer campaigns, some dating as far back as 2020.",{"data":73322,"content":73326,"nodeType":996},{"target":73323},{"sys":73324},{"id":73325,"type":1001,"linkType":1002},"2lSZ7HbZfLmSFXneCnVJzY",[],{"data":73328,"content":73329,"nodeType":1312},{},[73330],{"data":73331,"marks":73332,"value":73333,"nodeType":864},{},[],"Forget about time-consuming manual TI validation and get straight to the true positives",{"data":73335,"content":73336,"nodeType":860},{},[73337],{"data":73338,"marks":73339,"value":73340,"nodeType":864},{},[],"With Push, the platform now can analyze threat intelligence on stolen credentials and alert when there’s a validated match among current credentials in use in your environment. This method works regardless of the source of the data or its age. This method also finds the needles in the haystack — situations where threat intel flags a stolen credential on one app, but that credential is also in use on several other apps. ",{"data":73342,"content":73346,"nodeType":996},{"target":73343},{"sys":73344},{"id":73345,"type":1001,"linkType":1002},"7GSFasHfHb3UgpgF8pZ2N2",[],{"data":73348,"content":73349,"nodeType":860},{},[73350],{"data":73351,"marks":73352,"value":73353,"nodeType":864},{},[],"Here’s how it works:",{"data":73355,"content":73356,"nodeType":941},{},[73357,73377,73387,73397,73407],{"data":73358,"content":73359,"nodeType":945},{},[73360],{"data":73361,"content":73362,"nodeType":860},{},[73363,73367,73374],{"data":73364,"marks":73365,"value":73366,"nodeType":864},{},[],"Push receives TI on stolen credentials from vendor feeds. Use the feeds that Push supplies (at no additional cost for Push customers), or, additionally, bring your own TI by supplying stolen credential reports via the ",{"data":73368,"content":73370,"nodeType":883},{"uri":73369},"https://pushsecurity.redoc.ly/rest-v1#operation/post-controls-stolenCredentials",[73371],{"data":73372,"marks":73373,"value":72883,"nodeType":864},{},[],{"data":73375,"marks":73376,"value":1774,"nodeType":864},{},[],{"data":73378,"content":73379,"nodeType":945},{},[73380],{"data":73381,"content":73382,"nodeType":860},{},[73383],{"data":73384,"marks":73385,"value":73386,"nodeType":864},{},[],"For each customer environment, Push checks for customer domains in the data set.",{"data":73388,"content":73389,"nodeType":945},{},[73390],{"data":73391,"content":73392,"nodeType":860},{},[73393],{"data":73394,"marks":73395,"value":73396,"nodeType":864},{},[],"When suspected stolen creds for a customer environment are present, Push hashes and salts the passwords and then sends those fingerprints to the relevant browser agents for comparison. ",{"data":73398,"content":73399,"nodeType":945},{},[73400],{"data":73401,"content":73402,"nodeType":860},{},[73403],{"data":73404,"marks":73405,"value":73406,"nodeType":864},{},[],"If the stolen credential fingerprint matches a known credential fingerprint observed to be in use by the Push browser agent, the platform returns a validated true positive alert. Note that Push can alert on a validated true positive regardless of which platform the TI source indicated was the source of the stolen cred, allowing you to find those compromised credentials in use across any of your apps.",{"data":73408,"content":73409,"nodeType":945},{},[73410],{"data":73411,"content":73412,"nodeType":860},{},[73413],{"data":73414,"marks":73415,"value":44002,"nodeType":864},{},[],{"data":73417,"content":73418,"nodeType":860},{},[73419],{"data":73420,"marks":73421,"value":73422,"nodeType":864},{},[],"From there, security teams can take action to reset passwords, identify potentially compromised devices, or perform other investigations.",{"data":73424,"content":73425,"nodeType":860},{},[73426],{"data":73427,"marks":73428,"value":73429,"nodeType":864},{},[],"By comparing all possible matches to only those credentials that are still in use, Push eliminates time-consuming validation exercises. In essence, the provenance of the intel no longer matters; only the true positives do.",{"data":73431,"content":73432,"nodeType":1312},{},[73433],{"data":73434,"marks":73435,"value":73436,"nodeType":864},{},[],"Bring your own TI",{"data":73438,"content":73439,"nodeType":860},{},[73440],{"data":73441,"marks":73442,"value":73443,"nodeType":864},{},[],"With verified stolen credential detection, you can also extract a lot more value from your existing threat intelligence feeds by sharing stolen creds reports with the Push platform via API. ",{"data":73445,"content":73446,"nodeType":860},{},[73447],{"data":73448,"marks":73449,"value":73450,"nodeType":864},{},[],"This allows Push to perform the same checks to compare the reports to observed password fingerprints and flag only the true positives — eliminating the time-consuming work of manual triage, investigation, and end-user follow-up for your security team.",{"data":73452,"content":73453,"nodeType":1005},{},[],{"data":73455,"content":73456,"nodeType":1009},{},[73457],{"data":73458,"marks":73459,"value":73460,"nodeType":864},{},[],"Try Push for yourself",{"data":73462,"content":73463,"nodeType":860},{},[73464,73468,73475],{"data":73465,"marks":73466,"value":73467,"nodeType":864},{},[],"The validated stolen credential detections feature is available at no additional cost for all Push customers. If you’d like to explore the platform yourself, ",{"data":73469,"content":73470,"nodeType":883},{"uri":5642},[73471],{"data":73472,"marks":73473,"value":65931,"nodeType":864},{},[73474],{"type":1455},{"data":73476,"marks":73477,"value":12252,"nodeType":864},{},[],{"data":73479,"content":73482,"nodeType":996},{"target":73480},{"sys":73481},{"id":34872,"type":1001,"linkType":1002},[],{"data":73484,"content":73485,"nodeType":860},{},[73486],{"data":73487,"marks":73488,"value":21,"nodeType":864},{},[],"Eliminate false positives with verified stolen credential detections using Push","Push now compares user passwords with TI feeds to alert you when valid credentials are available on the clearweb and darkweb.","2024-12-03T00:00:00.000Z","verified-stolen-credential-detection",{"items":73494},[73495,73499],{"sys":73496,"name":73498},{"id":73497},"5jk0kqjSdSK2L0YiistQjY","Release notes",{"sys":73500,"name":342},{"id":6596},{"items":73502},[73503],{"fullName":849,"firstName":850,"jobTitle":851,"profilePicture":73504},{"url":853},{"__typename":2059,"sys":73506,"content":73508,"title":73835,"synopsis":73836,"hashTags":59,"publishedDate":73837,"slug":73838,"tagsCollection":73839,"authorsCollection":73845},{"id":73507},"75wcCkoZEKwEMl7zBmDMtT",{"json":73509},{"data":73510,"content":73511,"nodeType":856},{},[73512,73519,73526,73545,73564,73587,73594,73610,73617,73624,73631,73634,73641,73661,73679,73685,73705,73712,73719,73725,73732,73738,73771,73778,73797,73800,73807,73817,73823,73829],{"data":73513,"content":73514,"nodeType":1009},{},[73515],{"data":73516,"marks":73517,"value":73518,"nodeType":864},{},[],"Preventing credential attacks with automated password resets ",{"data":73520,"content":73521,"nodeType":860},{},[73522],{"data":73523,"marks":73524,"value":73525,"nodeType":864},{},[],"Preventing credential attacks is not an easy task, especially if you’re a member of the security team tasked with protecting some of your organization’s most valued assets: SSO identities.",{"data":73527,"content":73528,"nodeType":860},{},[73529,73533,73542],{"data":73530,"marks":73531,"value":73532,"nodeType":864},{},[],"IdP accounts such as a user’s Okta, Entra, or Google Workspace login are the most lucrative identities that an attacker can take over. By compromising an SSO identity, attackers not only gain access to the account itself, but also any downstream apps accessed via SSO – and the juicy data and functionality stored there. This was evidenced earlier this year when ",{"data":73534,"content":73536,"nodeType":883},{"uri":73535},"https://www.bleepingcomputer.com/news/security/okta-warns-of-unprecedented-credential-stuffing-attacks-on-customers/",[73537],{"data":73538,"marks":73539,"value":73541,"nodeType":864},{},[73540],{"type":1455},"Okta users experienced unprecedented levels of credential stuffing attacks",{"data":73543,"marks":73544,"value":12252,"nodeType":864},{},[],{"data":73546,"content":73547,"nodeType":860},{},[73548,73552,73560],{"data":73549,"marks":73550,"value":73551,"nodeType":864},{},[],"You might also be surprised to learn that even these most critical accounts have serious security gaps. For example, ",{"data":73553,"content":73554,"nodeType":883},{"uri":15980},[73555],{"data":73556,"marks":73557,"value":73559,"nodeType":864},{},[73558],{"type":1455},"in a recent study we identified that",{"data":73561,"marks":73562,"value":73563,"nodeType":864},{},[],":",{"data":73565,"content":73566,"nodeType":941},{},[73567,73577],{"data":73568,"content":73569,"nodeType":945},{},[73570],{"data":73571,"content":73572,"nodeType":860},{},[73573],{"data":73574,"marks":73575,"value":73576,"nodeType":864},{},[],"1 in 5 IdP accounts does not have an MFA method set, leaving them exposed to single-factor compromises using stolen credentials.",{"data":73578,"content":73579,"nodeType":945},{},[73580],{"data":73581,"content":73582,"nodeType":860},{},[73583],{"data":73584,"marks":73585,"value":73586,"nodeType":864},{},[],"10% of IdP accounts share a password that is used to access other identities. (We’re not talking about the actual SSO process here – many users will use the same password as they do to log into their Okta or Entra as they do personal accounts such as shopping or food delivery. Yes, really.)  ",{"data":73588,"content":73589,"nodeType":860},{},[73590],{"data":73591,"marks":73592,"value":73593,"nodeType":864},{},[],"It’s a constant worry that your CFO’s Microsoft, Google, or Okta credentials are going to show up in the next big darkweb password dump. Ideally you’d want to prevent users from reusing passwords across multiple services. That’s why your information security policy is mandating password manager use, right?",{"data":73595,"content":73596,"nodeType":860},{},[73597,73601,73606],{"data":73598,"marks":73599,"value":73600,"nodeType":864},{},[],"No matter how many policies you have in place, ",{"data":73602,"marks":73603,"value":73605,"nodeType":864},{},[73604],{"type":1455},"people will inevitably use the same passwords across multiple services",{"data":73607,"marks":73608,"value":73609,"nodeType":864},{},[],". But who can blame them? Having to remember multiple passwords is a drag, especially when they find they can’t log into their company’s password manager from their home computers… The next best thing is to just reuse your Entra or Okta password across all services, right?!",{"data":73611,"content":73612,"nodeType":860},{},[73613],{"data":73614,"marks":73615,"value":73616,"nodeType":864},{},[],"At Push we realize that mistakes happen. That's why it's important to look out for when critical credentials are entered into a dodgy ecommerce platform, or the next entry lands on haveibeenpwnd.com.",{"data":73618,"content":73619,"nodeType":860},{},[73620],{"data":73621,"marks":73622,"value":73623,"nodeType":864},{},[],"By quickly forcing a password change when an SSO password is reused or breached, we can minimize the chance of it being abused by attackers. ",{"data":73625,"content":73626,"nodeType":860},{},[73627],{"data":73628,"marks":73629,"value":73630,"nodeType":864},{},[],"But how will you know when a password is reused or compromised? ",{"data":73632,"content":73633,"nodeType":1005},{},[],{"data":73635,"content":73636,"nodeType":1009},{},[73637],{"data":73638,"marks":73639,"value":73640,"nodeType":864},{},[],"Using Push data to alert on password vulnerabilities ",{"data":73642,"content":73643,"nodeType":860},{},[73644,73648,73657],{"data":73645,"marks":73646,"value":73647,"nodeType":864},{},[],"Enter the Push browser extension. Push fingerprints passwords (",{"data":73649,"content":73651,"nodeType":883},{"uri":73650},"https://pushsecurity.com/help/how-does-the-push-browser-extension-securely-track-reused-passwords",[73652],{"data":73653,"marks":73654,"value":73656,"nodeType":864},{},[73655],{"type":1455},"in a safe way",{"data":73658,"marks":73659,"value":73660,"nodeType":864},{},[],") as they are used by employees to access apps in their browsers. ",{"data":73662,"content":73663,"nodeType":860},{},[73664,73668,73676],{"data":73665,"marks":73666,"value":73667,"nodeType":864},{},[],"When a user logs into an app using credentials that they’ve previously used to login to another account, Push fires off an alert. ",{"data":73669,"content":73670,"nodeType":883},{"uri":35369},[73671],{"data":73672,"marks":73673,"value":73675,"nodeType":864},{},[73674],{"type":1455},"We can also detect when an active password is stolen and appears on a criminal forum",{"data":73677,"marks":73678,"value":12252,"nodeType":864},{},[],{"data":73680,"content":73684,"nodeType":996},{"target":73681},{"sys":73682},{"id":73683,"type":1001,"linkType":1002},"5He3FB0NT3D3lcbwiVtn02",[],{"data":73686,"content":73687,"nodeType":860},{},[73688,73692,73701],{"data":73689,"marks":73690,"value":73691,"nodeType":864},{},[],"If you’ve ",{"data":73693,"content":73695,"nodeType":883},{"uri":73694},"https://pushsecurity.com/help/audience/administrators/docs/connect-to-siem-or-soar/#start",[73696],{"data":73697,"marks":73698,"value":73700,"nodeType":864},{},[73699],{"type":1455},"connected Push to your SIEM or SOAR",{"data":73702,"marks":73703,"value":73704,"nodeType":864},{},[],", you’ll be able to create a workflow to respond automatically. ",{"data":73706,"content":73707,"nodeType":1312},{},[73708],{"data":73709,"marks":73710,"value":73711,"nodeType":864},{},[],"Automating password resets in your SIEM using Push webhooks",{"data":73713,"content":73714,"nodeType":860},{},[73715],{"data":73716,"marks":73717,"value":73718,"nodeType":864},{},[],"You can automate password resets for accounts by ingesting this information via webhook into a SIEM, generating an alert. This in turn can fire off another webhook or workflow that sets the ‘force password change on next logon’ attribute on the user’s account.",{"data":73720,"content":73724,"nodeType":996},{"target":73721},{"sys":73722},{"id":73723,"type":1001,"linkType":1002},"5WFLIVm4DWcuH7a6owQlR1",[],{"data":73726,"content":73727,"nodeType":860},{},[73728],{"data":73729,"marks":73730,"value":73731,"nodeType":864},{},[],"Below is some POC python code we use internally. This is specific to Google Workspace, but the general logic should apply to any IdP that allows you to perform these actions via API calls.",{"data":73733,"content":73737,"nodeType":996},{"target":73734},{"sys":73735},{"id":73736,"type":1001,"linkType":1002},"4YNirRo8BlRrgGKwwzXE8R",[],{"data":73739,"content":73740,"nodeType":860},{},[73741,73745,73754,73758,73767],{"data":73742,"marks":73743,"value":73744,"nodeType":864},{},[],"You can perform similar functions in Microsoft Entra ID by modifying the user's ",{"data":73746,"content":73748,"nodeType":883},{"uri":73747},"https://learn.microsoft.com/en-us/graph/api/user-update?view=graph-rest-1.0&tabs=http#:~:text=DisablePasswordExpiration%2C%20DisableStrongPassword.-,passwordProfile,-PasswordProfile",[73749],{"data":73750,"marks":73751,"value":73753,"nodeType":864},{},[73752],{"type":1455},"passwordProfile",{"data":73755,"marks":73756,"value":73757,"nodeType":864},{},[]," attribute via Microsoft Graph API, or in Okta via the ",{"data":73759,"content":73761,"nodeType":883},{"uri":73760},"https://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserCred/#tag/UserCred/operation/expirePassword",[73762],{"data":73763,"marks":73764,"value":73766,"nodeType":864},{},[73765],{"type":1455},"expire_password",{"data":73768,"marks":73769,"value":73770,"nodeType":864},{},[]," API endpoint.",{"data":73772,"content":73773,"nodeType":860},{},[73774],{"data":73775,"marks":73776,"value":73777,"nodeType":864},{},[],"You aren’t limited to just IdP accounts either – any app with an API that provides this functionality can be configured for automated password resets using Push data. ",{"data":73779,"content":73780,"nodeType":860},{},[73781,73785,73793],{"data":73782,"marks":73783,"value":73784,"nodeType":864},{},[],"We also use SSO password data to ",{"data":73786,"content":73787,"nodeType":883},{"uri":47989},[73788],{"data":73789,"marks":73790,"value":73792,"nodeType":864},{},[73791],{"type":1455},"prevent users from entering their SSO credentials into phishing sites",{"data":73794,"marks":73795,"value":73796,"nodeType":864},{},[],", providing strong anti-phishing protection that is extremely hard for attackers to bypass. ",{"data":73798,"content":73799,"nodeType":1005},{},[],{"data":73801,"content":73802,"nodeType":1009},{},[73803],{"data":73804,"marks":73805,"value":73806,"nodeType":864},{},[],"Preventing attackers from exploiting vulnerable credentials has never been easier",{"data":73808,"content":73809,"nodeType":860},{},[73810,73814],{"data":73811,"marks":73812,"value":73813,"nodeType":864},{},[],"This is just one of the possible SecOps use cases that Push streamlines and levels up for security teams. ",{"data":73815,"marks":73816,"value":1682,"nodeType":864},{},[],{"data":73818,"content":73819,"nodeType":860},{},[73820],{"data":73821,"marks":73822,"value":1689,"nodeType":864},{},[],{"data":73824,"content":73828,"nodeType":996},{"target":73825},{"sys":73826},{"id":73827,"type":1001,"linkType":1002},"11p9wnGrZHqp3XPpThHFk3",[],{"data":73830,"content":73831,"nodeType":860},{},[73832],{"data":73833,"marks":73834,"value":21,"nodeType":864},{},[],"Automating SSO password resets using Push","Using Push to automate password resets for your most critical identities when a password vulnerability is detected.","2024-12-13T00:00:00.000Z","automating-sso-password-resets-using-push",{"items":73840},[73841,73843],{"sys":73842,"name":297},{"id":2732},{"sys":73844,"name":342},{"id":6596},{"items":73846},[73847],{"fullName":73848,"firstName":73849,"jobTitle":73850,"profilePicture":73851},"Johann Scheepers","Johann","Senior Security Engineer",{"url":73852},"https://images.ctfassets.net/y1cdw1ablpvd/75IEOH93vR0hbvxuqTu1m3/f6222745ee6892ea07bc18727a5a5ae7/T016S22KZ96-U02LU3SKC2D-e1e755770536-512.png",{"__typename":2059,"sys":73854,"content":73856,"title":75355,"synopsis":75356,"hashTags":59,"publishedDate":75357,"slug":75358,"tagsCollection":75359,"authorsCollection":75363},{"id":73855},"3lWfiuAMsVecxVyEKiwV0c",{"json":73857},{"data":73858,"content":73859,"nodeType":856},{},[73860,73867,73874,73890,73896,73915,73922,73929,73932,73939,73946,74026,74033,74040,74047,74054,74061,74068,74083,74089,74169,74176,74183,74220,74227,74233,74240,74255,74365,74389,74395,74402,74418,74424,74427,74434,74441,74456,74463,74470,74477,74500,74521,74527,74534,74541,74548,74564,74570,74606,74612,74619,74648,74660,74667,74674,74681,74731,74738,74744,74751,74754,74761,74768,74775,74782,74835,74849,74900,74932,74939,75002,75008,75015,75068,75087,75094,75109,75147,75154,75161,75168,75194,75200,75203,75210,75217,75224,75336,75343,75349],{"data":73861,"content":73862,"nodeType":1009},{},[73863],{"data":73864,"marks":73865,"value":73866,"nodeType":864},{},[],"The journey ahead",{"data":73868,"content":73869,"nodeType":860},{},[73870],{"data":73871,"marks":73872,"value":73873,"nodeType":864},{},[],"So you’ve chosen Push to accompany you on your identity security journey. Good choice! We’ve got (threat) hunting supplies and a sturdy raft. It’s risky to go alone, though, so take this map with you.",{"data":73875,"content":73876,"nodeType":860},{},[73877,73881,73886],{"data":73878,"marks":73879,"value":73880,"nodeType":864},{},[],"Inspired by the classic 1980s video game* ",{"data":73882,"marks":73883,"value":73885,"nodeType":864},{},[73884],{"type":2246},"Oregon Trail",{"data":73887,"marks":73888,"value":73889,"nodeType":864},{},[],", we’ve put together the following guide for intrepid security teams who are traveling across potentially unknown territory as they uncover their identity attack surface, including shadow identities and apps, and secure it against modern identity attacks.",{"data":73891,"content":73895,"nodeType":996},{"target":73892},{"sys":73893},{"id":73894,"type":1001,"linkType":1002},"3Ys8l6lqQcWOFX5O6QSulO",[],{"data":73897,"content":73898,"nodeType":860},{},[73899,73903,73911],{"data":73900,"marks":73901,"value":73902,"nodeType":864},{},[],"(*For Push fans outside the U.S., Oregon Trail followed a group of pioneers as they attempted to cross the continent in a covered wagon, avoiding wild animals and hunting for food along the way. The ",{"data":73904,"content":73906,"nodeType":883},{"uri":73905},"https://knowyourmeme.com/memes/subcultures/the-oregon-trail",[73907],{"data":73908,"marks":73909,"value":73910,"nodeType":864},{},[],"memes",{"data":73912,"marks":73913,"value":73914,"nodeType":864},{},[]," now outlive the game, but we remember it fondly.)",{"data":73916,"content":73917,"nodeType":860},{},[73918],{"data":73919,"marks":73920,"value":73921,"nodeType":864},{},[],"In this guide, we’ll provide advice on what you can accomplish in your first three months after deploying Push to your workforce, transforming your employees’ browsers into a reliable control point to enforce a strong identity posture and stop account takeover.",{"data":73923,"content":73924,"nodeType":860},{},[73925],{"data":73926,"marks":73927,"value":73928,"nodeType":864},{},[],"In your first 90 days using Push, you can go far. Let’s take a look.",{"data":73930,"content":73931,"nodeType":1005},{},[],{"data":73933,"content":73934,"nodeType":1009},{},[73935],{"data":73936,"marks":73937,"value":73938,"nodeType":864},{},[],"First 30 days: Get intel and secure against bears",{"data":73940,"content":73941,"nodeType":860},{},[73942],{"data":73943,"marks":73944,"value":73945,"nodeType":864},{},[],"This guide assumes you’ve identified a few identity security goals already. These probably include things like:",{"data":73947,"content":73948,"nodeType":941},{},[73949,73972,73996,74006,74016],{"data":73950,"content":73951,"nodeType":945},{},[73952],{"data":73953,"content":73954,"nodeType":860},{},[73955,73959,73969],{"data":73956,"marks":73957,"value":73958,"nodeType":864},{},[],"Closing gaps in existing security controls to protect against MFA bypass attacks like Adversary-in-the-Middle ",{"data":73960,"content":73964,"nodeType":27604},{"target":73961},{"sys":73962},{"id":73963,"type":1001,"linkType":1002},"11C3shj5SlkS8sAd3AlYDp",[73965],{"data":73966,"marks":73967,"value":73968,"nodeType":864},{},[],"(AiTM) phishing toolkits",{"data":73970,"marks":73971,"value":2924,"nodeType":864},{},[],{"data":73973,"content":73974,"nodeType":945},{},[73975],{"data":73976,"content":73977,"nodeType":860},{},[73978,73982,73992],{"data":73979,"marks":73980,"value":73981,"nodeType":864},{},[],"Increasing ",{"data":73983,"content":73987,"nodeType":27604},{"target":73984},{"sys":73985},{"id":73986,"type":1001,"linkType":1002},"1qegIy4rMdm5XZXnIEoKpE",[73988],{"data":73989,"marks":73990,"value":73991,"nodeType":864},{},[],"visibility of user activity",{"data":73993,"marks":73994,"value":73995,"nodeType":864},{},[]," in the browser to identify and respond to threats.",{"data":73997,"content":73998,"nodeType":945},{},[73999],{"data":74000,"content":74001,"nodeType":860},{},[74002],{"data":74003,"marks":74004,"value":74005,"nodeType":864},{},[],"Using federated SSO-based logins over password-based logins to limit the number of identities created, and removing unused login methods.",{"data":74007,"content":74008,"nodeType":945},{},[74009],{"data":74010,"content":74011,"nodeType":860},{},[74012],{"data":74013,"marks":74014,"value":74015,"nodeType":864},{},[],"Implementing phishing-resistant authentication methods, and removing phishable ones.",{"data":74017,"content":74018,"nodeType":945},{},[74019],{"data":74020,"content":74021,"nodeType":860},{},[74022],{"data":74023,"marks":74024,"value":74025,"nodeType":864},{},[],"Where password use cannot be avoided, ensuring good hygiene (no weak, reused, or breached passwords) and phishing-resistant MFA factors.",{"data":74027,"content":74028,"nodeType":860},{},[74029],{"data":74030,"marks":74031,"value":74032,"nodeType":864},{},[],"Then, once you’ve deployed the Push browser extension to your browser ecosystem, invited your security team to the Push admin console, and begun collecting behavioral and identity posture data from your employees’ login activity, you’re ready to embark.",{"data":74034,"content":74035,"nodeType":860},{},[74036],{"data":74037,"marks":74038,"value":74039,"nodeType":864},{},[],"Right away, you can set up your first out-of-the-box security control to provide novel and effective protection against adversary-in-the-middle (AiTM) phishing toolkits such as Evilginx, EvilNoVNC, and others.",{"data":74041,"content":74042,"nodeType":860},{},[74043],{"data":74044,"marks":74045,"value":74046,"nodeType":864},{},[],"It’s the identity security equivalent of bear deterrent (something sadly lacking on the Oregon Trail), and it takes just a couple of minutes.",{"data":74048,"content":74049,"nodeType":860},{},[74050],{"data":74051,"marks":74052,"value":74053,"nodeType":864},{},[],"You can also set additional security controls in Monitor mode and begin collecting valuable insights from your users’ account and app activity.",{"data":74055,"content":74056,"nodeType":860},{},[74057],{"data":74058,"marks":74059,"value":74060,"nodeType":864},{},[],"Here’s what we recommend for your first 30 days using Push:",{"data":74062,"content":74063,"nodeType":1312},{},[74064],{"data":74065,"marks":74066,"value":74067,"nodeType":864},{},[],"Enable phishing tool detection in Warn or Block mode",{"data":74069,"content":74070,"nodeType":860},{},[74071,74075,74080],{"data":74072,"marks":74073,"value":74074,"nodeType":864},{},[],"Begin protecting employees from adversary-in-the-middle phishing from AitM tools by enabling ",{"data":74076,"marks":74077,"value":74079,"nodeType":864},{},[74078],{"type":899},"Phishing tool detection",{"data":74081,"marks":74082,"value":2924,"nodeType":864},{},[],{"data":74084,"content":74088,"nodeType":996},{"target":74085},{"sys":74086},{"id":74087,"type":1001,"linkType":1002},"2ylIkR0JXHkFStGuCFRjlN",[],{"data":74090,"content":74091,"nodeType":941},{},[74092,74131,74141,74151],{"data":74093,"content":74094,"nodeType":945},{},[74095],{"data":74096,"content":74097,"nodeType":860},{},[74098,74101,74105,74109,74113,74117,74121,74124,74128],{"data":74099,"marks":74100,"value":28673,"nodeType":864},{},[],{"data":74102,"marks":74103,"value":51400,"nodeType":864},{},[74104],{"type":899},{"data":74106,"marks":74107,"value":74108,"nodeType":864},{},[]," page in the Push admin console, select ",{"data":74110,"marks":74111,"value":74079,"nodeType":864},{},[74112],{"type":899},{"data":74114,"marks":74115,"value":74116,"nodeType":864},{},[]," and set the mode to ",{"data":74118,"marks":74119,"value":1503,"nodeType":864},{},[74120],{"type":899},{"data":74122,"marks":74123,"value":27405,"nodeType":864},{},[],{"data":74125,"marks":74126,"value":1397,"nodeType":864},{},[74127],{"type":899},{"data":74129,"marks":74130,"value":2924,"nodeType":864},{},[],{"data":74132,"content":74133,"nodeType":945},{},[74134],{"data":74135,"content":74136,"nodeType":860},{},[74137],{"data":74138,"marks":74139,"value":74140,"nodeType":864},{},[],"Customize the message that employees will see if they encounter a malicious site.",{"data":74142,"content":74143,"nodeType":945},{},[74144],{"data":74145,"content":74146,"nodeType":860},{},[74147],{"data":74148,"marks":74149,"value":74150,"nodeType":864},{},[],"Add domains to the ignore list if you wish to ignore enforcing the control on specific domains or encounter any domains that trigger false positives.",{"data":74152,"content":74153,"nodeType":945},{},[74154],{"data":74155,"content":74156,"nodeType":860},{},[74157,74161,74165],{"data":74158,"marks":74159,"value":74160,"nodeType":864},{},[],"You can monitor the ",{"data":74162,"marks":74163,"value":28609,"nodeType":864},{},[74164],{"type":899},{"data":74166,"marks":74167,"value":74168,"nodeType":864},{},[]," page (or send Push events to an external SIEM or SOAR) to see when the control is triggered.",{"data":74170,"content":74171,"nodeType":860},{},[74172],{"data":74173,"marks":74174,"value":74175,"nodeType":864},{},[],"You may also wish to communicate with your end-users to let them know you’re enabling a new security protection to stop phishing attacks and that if they encounter a malicious site, they’ll see a warning.",{"data":74177,"content":74178,"nodeType":1312},{},[74179],{"data":74180,"marks":74181,"value":74182,"nodeType":864},{},[],"Check for verified stolen credentials",{"data":74184,"content":74185,"nodeType":860},{},[74186,74190,74199,74203,74208,74212,74217],{"data":74187,"marks":74188,"value":74189,"nodeType":864},{},[],"Push uses threat intelligence sources to compare suspected ",{"data":74191,"content":74194,"nodeType":27604},{"target":74192},{"sys":74193},{"id":72794,"type":1001,"linkType":1002},[74195],{"data":74196,"marks":74197,"value":74198,"nodeType":864},{},[],"stolen credentials",{"data":74200,"marks":74201,"value":74202,"nodeType":864},{},[]," to those still actively in use across your workforce identities. You don’t need to configure anything for this feature, and you can check for any verified true positives by viewing the ",{"data":74204,"marks":74205,"value":74207,"nodeType":864},{},[74206],{"type":899},"Vulnerable identities",{"data":74209,"marks":74210,"value":74211,"nodeType":864},{},[]," section of the ",{"data":74213,"marks":74214,"value":74216,"nodeType":864},{},[74215],{"type":899},"Dashboard",{"data":74218,"marks":74219,"value":1774,"nodeType":864},{},[],{"data":74221,"content":74222,"nodeType":860},{},[74223],{"data":74224,"marks":74225,"value":74226,"nodeType":864},{},[],"We recommend investigating immediately and taking action to remediate any accounts with verified stolen credentials.",{"data":74228,"content":74232,"nodeType":996},{"target":74229},{"sys":74230},{"id":74231,"type":1001,"linkType":1002},"150dE4aTzofOwFXJCtGkJF",[],{"data":74234,"content":74235,"nodeType":1312},{},[74236],{"data":74237,"marks":74238,"value":74239,"nodeType":864},{},[],"Enable additional security controls in Monitor mode",{"data":74241,"content":74242,"nodeType":860},{},[74243,74247,74251],{"data":74244,"marks":74245,"value":74246,"nodeType":864},{},[],"Next, set up additional security controls in ",{"data":74248,"marks":74249,"value":1334,"nodeType":864},{},[74250],{"type":899},{"data":74252,"marks":74253,"value":74254,"nodeType":864},{},[]," mode so you can begin finetuning your configuration or adding to ignore lists. A few details to keep in mind:",{"data":74256,"content":74257,"nodeType":941},{},[74258,74296,74319,74342],{"data":74259,"content":74260,"nodeType":945},{},[74261],{"data":74262,"content":74263,"nodeType":860},{},[74264,74269,74273,74284,74288,74292],{"data":74265,"marks":74266,"value":74268,"nodeType":864},{},[74267],{"type":899},"For all controls",{"data":74270,"marks":74271,"value":74272,"nodeType":864},{},[],", update your ",{"data":74274,"content":74278,"nodeType":27604},{"target":74275},{"sys":74276},{"id":74277,"type":1001,"linkType":1002},"2q4iZicL3D85XGTsYZ5mgK",[74279],{"data":74280,"marks":74281,"value":74283,"nodeType":864},{},[74282],{"type":899},"Custom login URLs",{"data":74285,"marks":74286,"value":74287,"nodeType":864},{},[]," list on the ",{"data":74289,"marks":74290,"value":28678,"nodeType":864},{},[74291],{"type":899},{"data":74293,"marks":74294,"value":74295,"nodeType":864},{},[]," page to include any custom URLs you use for your identity provider or other important apps, so that Push can correctly identify those logins as belonging to your IdP (or other app).",{"data":74297,"content":74298,"nodeType":945},{},[74299],{"data":74300,"content":74301,"nodeType":860},{},[74302,74307,74311,74315],{"data":74303,"marks":74304,"value":74306,"nodeType":864},{},[74305],{"type":899},"For SSO password protection",{"data":74308,"marks":74309,"value":74310,"nodeType":864},{},[],", we recommend starting in ",{"data":74312,"marks":74313,"value":1334,"nodeType":864},{},[74314],{"type":899},{"data":74316,"marks":74317,"value":74318,"nodeType":864},{},[]," so you can identify any sites in your environment that cause false positives, such as sites that are configured to legitimately allow use of SSO credentials. Then add these sites to your ignore list. By running in monitor mode for a few weeks, you can also get a sense of how often employees are reusing their corporate IdP credentials on other sites where they shouldn’t, such as personal apps.",{"data":74320,"content":74321,"nodeType":945},{},[74322],{"data":74323,"content":74324,"nodeType":860},{},[74325,74330,74334,74338],{"data":74326,"marks":74327,"value":74329,"nodeType":864},{},[74328],{"type":899},"For cloned login page detection",{"data":74331,"marks":74332,"value":74333,"nodeType":864},{},[],", set the mode to ",{"data":74335,"marks":74336,"value":1334,"nodeType":864},{},[74337],{"type":899},{"data":74339,"marks":74340,"value":74341,"nodeType":864},{},[]," to receive events when employees visit a site using a cloned login screen for important apps including your identity provider.",{"data":74343,"content":74344,"nodeType":945},{},[74345],{"data":74346,"content":74347,"nodeType":860},{},[74348,74353,74357,74361],{"data":74349,"marks":74350,"value":74352,"nodeType":864},{},[74351],{"type":899},"For URL blocking",{"data":74354,"marks":74355,"value":74356,"nodeType":864},{},[],", test a blocked URL or begin compiling a list of URLs you wish to block, such as AiTM sites discovered through phishing sites you find while using the ",{"data":74358,"marks":74359,"value":74079,"nodeType":864},{},[74360],{"type":899},{"data":74362,"marks":74363,"value":74364,"nodeType":864},{},[]," feature.",{"data":74366,"content":74367,"nodeType":860},{},[74368,74372,74376,74380,74385],{"data":74369,"marks":74370,"value":74371,"nodeType":864},{},[],"To see events generated by these controls, filter the ",{"data":74373,"marks":74374,"value":28609,"nodeType":864},{},[74375],{"type":899},{"data":74377,"marks":74378,"value":74379,"nodeType":864},{},[]," page. Go to the filters icon, then select ",{"data":74381,"marks":74382,"value":74384,"nodeType":864},{},[74383],{"type":899},"Events > By type",{"data":74386,"marks":74387,"value":74388,"nodeType":864},{},[]," from the dropdown and choose the specific control to see associated events.",{"data":74390,"content":74394,"nodeType":996},{"target":74391},{"sys":74392},{"id":74393,"type":1001,"linkType":1002},"2M0Cjc2Wo9L7c9rIQebx0S",[],{"data":74396,"content":74397,"nodeType":1312},{},[74398],{"data":74399,"marks":74400,"value":74401,"nodeType":864},{},[],"Set up alerts for your security team",{"data":74403,"content":74404,"nodeType":860},{},[74405,74409,74414],{"data":74406,"marks":74407,"value":74408,"nodeType":864},{},[],"Push can send notifications of interesting employee activity to a Microsoft Teams or Slack channel so you can stay on top of new apps and account security findings. In the admin console, go to the ",{"data":74410,"marks":74411,"value":74413,"nodeType":864},{},[74412],{"type":899},"ChatOps",{"data":74415,"marks":74416,"value":74417,"nodeType":864},{},[]," page and integrate your Teams or Slack instance, then enable topics you wish to get notified about.",{"data":74419,"content":74423,"nodeType":996},{"target":74420},{"sys":74421},{"id":74422,"type":1001,"linkType":1002},"OObhJQA1HMcmwBvpWfmC7",[],{"data":74425,"content":74426,"nodeType":1005},{},[],{"data":74428,"content":74429,"nodeType":1009},{},[74430],{"data":74431,"marks":74432,"value":74433,"nodeType":864},{},[],"First 60 days: Go (threat) hunting",{"data":74435,"content":74436,"nodeType":860},{},[74437],{"data":74438,"marks":74439,"value":74440,"nodeType":864},{},[],"Now you’re ready to survey the landscape and see where there are dangers hiding among your workforce identities such as missing MFA or SSO, unused accounts, compromised passwords, and unsanctioned or untrustworthy apps and integrations. ",{"data":74442,"content":74443,"nodeType":860},{},[74444,74448,74452],{"data":74445,"marks":74446,"value":74447,"nodeType":864},{},[],"Luckily, Push doesn’t make you forage for the important information. Use the ",{"data":74449,"marks":74450,"value":74216,"nodeType":864},{},[74451],{"type":899},{"data":74453,"marks":74454,"value":74455,"nodeType":864},{},[]," in the Push admin console to pinpoint vulnerable identities and see SSO trends and other insights.",{"data":74457,"content":74458,"nodeType":860},{},[74459],{"data":74460,"marks":74461,"value":74462,"nodeType":864},{},[],"After getting a baseline understanding of your ecosystem, you can begin translating your security policies into actionable controls by preparing end-users and creating the foundation for control configuration rules.",{"data":74464,"content":74465,"nodeType":860},{},[74466],{"data":74467,"marks":74468,"value":74469,"nodeType":864},{},[],"Here’s what we recommend for your second month using Push:",{"data":74471,"content":74472,"nodeType":1312},{},[74473],{"data":74474,"marks":74475,"value":74476,"nodeType":864},{},[],"Understand which identities are most vulnerable to account takeover",{"data":74478,"content":74479,"nodeType":860},{},[74480,74484,74488,74492,74496],{"data":74481,"marks":74482,"value":74483,"nodeType":864},{},[],"On the ",{"data":74485,"marks":74486,"value":74216,"nodeType":864},{},[74487],{"type":899},{"data":74489,"marks":74490,"value":74491,"nodeType":864},{},[],", you can identify which identities are most at risk because they use a leaked, reused, or weak password and lack MFA by referencing the ",{"data":74493,"marks":74494,"value":74207,"nodeType":864},{},[74495],{"type":899},{"data":74497,"marks":74498,"value":74499,"nodeType":864},{},[]," section.",{"data":74501,"content":74502,"nodeType":860},{},[74503,74508,74512,74517],{"data":74504,"marks":74505,"value":74507,"nodeType":864},{},[74506],{"type":899},"Tip: ",{"data":74509,"marks":74510,"value":74511,"nodeType":864},{},[],"Toggle the view to ",{"data":74513,"marks":74514,"value":74516,"nodeType":864},{},[74515],{"type":899},"All identities",{"data":74518,"marks":74519,"value":74520,"nodeType":864},{},[]," if you are not yet using the sensitivity labels for apps to get a full picture of your data.",{"data":74522,"content":74526,"nodeType":996},{"target":74523},{"sys":74524},{"id":74525,"type":1001,"linkType":1002},"4xPy4cr18jk7JV7TWqnmoy",[],{"data":74528,"content":74529,"nodeType":860},{},[74530],{"data":74531,"marks":74532,"value":74533,"nodeType":864},{},[],"Select each slice of the chart to go to a filtered list of the accounts with those security issues. You can then evaluate which accounts pose the biggest risk, whether they belong to high-sensitivity apps or high-value roles, such as admins or executives, or whether there are any data patterns, such as a cluster of account issues that belong to specific teams, that will help you decide on a remediation strategy.",{"data":74535,"content":74536,"nodeType":860},{},[74537],{"data":74538,"marks":74539,"value":74540,"nodeType":864},{},[],"As mentioned earlier, we recommend taking immediate action for any accounts with verified stolen credentials, especially those that also lack MFA protection.",{"data":74542,"content":74543,"nodeType":1312},{},[74544],{"data":74545,"marks":74546,"value":74547,"nodeType":864},{},[],"Check your SSO coverage",{"data":74549,"content":74550,"nodeType":860},{},[74551,74555,74560],{"data":74552,"marks":74553,"value":74554,"nodeType":864},{},[],"On the Dashboard, you can also start to see your ",{"data":74556,"marks":74557,"value":74559,"nodeType":864},{},[74558],{"type":899},"SSO trends",{"data":74561,"marks":74562,"value":74563,"nodeType":864},{},[],". Use this section of the dashboard to see a breakdown of login methods for your accounts (SAML, OIDC, or non-SSO).",{"data":74565,"content":74569,"nodeType":996},{"target":74566},{"sys":74567},{"id":74568,"type":1001,"linkType":1002},"6GbX5cV4wOerwFeqKKAolC",[],{"data":74571,"content":74572,"nodeType":860},{},[74573,74577,74581,74585,74590,74594,74603],{"data":74574,"marks":74575,"value":74576,"nodeType":864},{},[],"You can look at more granular information on the ",{"data":74578,"marks":74579,"value":65701,"nodeType":864},{},[74580],{"type":899},{"data":74582,"marks":74583,"value":74584,"nodeType":864},{},[]," page by filtering by ",{"data":74586,"marks":74587,"value":74589,"nodeType":864},{},[74588],{"type":899},"Login method",{"data":74591,"marks":74592,"value":74593,"nodeType":864},{},[],". For example, you may wish to view accounts that have used both password and SAML login methods to identify local accounts on high-value apps that should be using SSO only — otherwise known as ",{"data":74595,"content":74599,"nodeType":27604},{"target":74596},{"sys":74597},{"id":74598,"type":1001,"linkType":1002},"174u87EYeKMKHzYYxBLlHO",[74600],{"data":74601,"marks":74602,"value":17706,"nodeType":864},{},[],{"data":74604,"marks":74605,"value":2924,"nodeType":864},{},[],{"data":74607,"content":74611,"nodeType":996},{"target":74608},{"sys":74609},{"id":74610,"type":1001,"linkType":1002},"68Sfs2MmpkdISb4rnoTCzW",[],{"data":74613,"content":74614,"nodeType":1312},{},[74615],{"data":74616,"marks":74617,"value":74618,"nodeType":864},{},[],"Review patterns in employee activity",{"data":74620,"content":74621,"nodeType":860},{},[74622,74625,74629,74632,74637,74640,74644],{"data":74623,"marks":74624,"value":28458,"nodeType":864},{},[],{"data":74626,"marks":74627,"value":65672,"nodeType":864},{},[74628],{"type":899},{"data":74630,"marks":74631,"value":3731,"nodeType":864},{},[],{"data":74633,"marks":74634,"value":74636,"nodeType":864},{},[74635],{"type":899},"Employees",{"data":74638,"marks":74639,"value":2232,"nodeType":864},{},[],{"data":74641,"marks":74642,"value":65701,"nodeType":864},{},[74643],{"type":899},{"data":74645,"marks":74646,"value":74647,"nodeType":864},{},[]," pages, you can then get a sense of which apps employees are accessing, using which login methods, whether they’re registered for MFA (and which MFA methods are registered on the account), whether they’re using a password manager, and where there are account security issues such as weak, reused, or shared passwords.",{"data":74649,"content":74650,"nodeType":860},{},[74651,74656],{"data":74652,"marks":74653,"value":74655,"nodeType":864},{},[74654],{"type":899},"Tip:",{"data":74657,"marks":74658,"value":74659,"nodeType":864},{},[]," Use the filters on these pages to zero in on issues of interest, such as password logins, account security findings, or weak MFA methods.",{"data":74661,"content":74662,"nodeType":1312},{},[74663],{"data":74664,"marks":74665,"value":74666,"nodeType":864},{},[],"Put your security policies into practice",{"data":74668,"content":74669,"nodeType":860},{},[74670],{"data":74671,"marks":74672,"value":74673,"nodeType":864},{},[],"Equipped with this context, now you’re ready to lay the foundation for remediation and blocking controls, putting your security policies into practice.",{"data":74675,"content":74676,"nodeType":860},{},[74677],{"data":74678,"marks":74679,"value":74680,"nodeType":864},{},[],"At this stage, we recommend that you:",{"data":74682,"content":74683,"nodeType":941},{},[74684,74711,74721],{"data":74685,"content":74686,"nodeType":945},{},[74687],{"data":74688,"content":74689,"nodeType":860},{},[74690,74694,74699,74702,74707],{"data":74691,"marks":74692,"value":74693,"nodeType":864},{},[],"Set the ",{"data":74695,"marks":74696,"value":74698,"nodeType":864},{},[74697],{"type":899},"Approval status",{"data":74700,"marks":74701,"value":902,"nodeType":864},{},[],{"data":74703,"marks":74704,"value":74706,"nodeType":864},{},[74705],{"type":899},"Sensitivity level",{"data":74708,"marks":74709,"value":74710,"nodeType":864},{},[]," of your apps using the provided categories in Push.",{"data":74712,"content":74713,"nodeType":945},{},[74714],{"data":74715,"content":74716,"nodeType":860},{},[74717],{"data":74718,"marks":74719,"value":74720,"nodeType":864},{},[],"Create employee groups (which can be done manually or via API to match your existing directory groups) and assign employees to them based on department or job function.",{"data":74722,"content":74723,"nodeType":945},{},[74724],{"data":74725,"content":74726,"nodeType":860},{},[74727],{"data":74728,"marks":74729,"value":74730,"nodeType":864},{},[],"Create custom labels for apps as needed.",{"data":74732,"content":74733,"nodeType":860},{},[74734],{"data":74735,"marks":74736,"value":74737,"nodeType":864},{},[],"By adding this metadata, you’ll be able to use these classifications when configuring rules for how to apply your desired security controls.",{"data":74739,"content":74743,"nodeType":996},{"target":74740},{"sys":74741},{"id":74742,"type":1001,"linkType":1002},"pCIPMrpBAWlmqFoKxTL8P",[],{"data":74745,"content":74746,"nodeType":860},{},[74747],{"data":74748,"marks":74749,"value":74750,"nodeType":864},{},[],"Before enabling end-user remediation and blocking controls, which we cover in the next section, you may also wish to let your employees know what they should expect to see in terms of self-remediation workflows or other employee-facing guidance in their browser.",{"data":74752,"content":74753,"nodeType":1005},{},[],{"data":74755,"content":74756,"nodeType":1009},{},[74757],{"data":74758,"marks":74759,"value":74760,"nodeType":864},{},[],"First 90 days: Remediate issues and arrive safely",{"data":74762,"content":74763,"nodeType":860},{},[74764],{"data":74765,"marks":74766,"value":74767,"nodeType":864},{},[],"With your team prepared and your rifle well-oiled, you’re ready to pick off security issues like SSO password phishing; missing MFA; and use of unsanctioned apps.",{"data":74769,"content":74770,"nodeType":860},{},[74771],{"data":74772,"marks":74773,"value":74774,"nodeType":864},{},[],"Here’s what we recommend for your third month using Push:",{"data":74776,"content":74777,"nodeType":1312},{},[74778],{"data":74779,"marks":74780,"value":74781,"nodeType":864},{},[],"Move security controls out of Monitor mode to Warn or Block",{"data":74783,"content":74784,"nodeType":860},{},[74785,74789,74793,74797,74801,74804,74808,74812,74816,74820,74824,74827,74831],{"data":74786,"marks":74787,"value":74788,"nodeType":864},{},[],"Once you’ve informed your employees and curated your ignore list, you’re ready to move security controls such as ",{"data":74790,"marks":74791,"value":47996,"nodeType":864},{},[74792],{"type":899},{"data":74794,"marks":74795,"value":74796,"nodeType":864},{},[]," into ",{"data":74798,"marks":74799,"value":1503,"nodeType":864},{},[74800],{"type":899},{"data":74802,"marks":74803,"value":27405,"nodeType":864},{},[],{"data":74805,"marks":74806,"value":1397,"nodeType":864},{},[74807],{"type":899},{"data":74809,"marks":74810,"value":74811,"nodeType":864},{},[]," mode. (If you have not already set the ",{"data":74813,"marks":74814,"value":74079,"nodeType":864},{},[74815],{"type":899},{"data":74817,"marks":74818,"value":74819,"nodeType":864},{},[]," control to ",{"data":74821,"marks":74822,"value":1503,"nodeType":864},{},[74823],{"type":899},{"data":74825,"marks":74826,"value":27405,"nodeType":864},{},[],{"data":74828,"marks":74829,"value":1397,"nodeType":864},{},[74830],{"type":899},{"data":74832,"marks":74833,"value":74834,"nodeType":864},{},[],", now is also a good time to do that.)",{"data":74836,"content":74837,"nodeType":860},{},[74838,74841,74845],{"data":74839,"marks":74840,"value":28673,"nodeType":864},{},[],{"data":74842,"marks":74843,"value":51400,"nodeType":864},{},[74844],{"type":899},{"data":74846,"marks":74847,"value":74848,"nodeType":864},{},[]," page of the admin console:",{"data":74850,"content":74851,"nodeType":941},{},[74852,74870,74880,74890],{"data":74853,"content":74854,"nodeType":945},{},[74855],{"data":74856,"content":74857,"nodeType":860},{},[74858,74862,74867],{"data":74859,"marks":74860,"value":74861,"nodeType":864},{},[],"Open the tile for the given control and update the ",{"data":74863,"marks":74864,"value":74866,"nodeType":864},{},[74865],{"type":899},"Mode",{"data":74868,"marks":74869,"value":2924,"nodeType":864},{},[],{"data":74871,"content":74872,"nodeType":945},{},[74873],{"data":74874,"content":74875,"nodeType":860},{},[74876],{"data":74877,"marks":74878,"value":74879,"nodeType":864},{},[],"Create a custom message that employees will see when the control is triggered.",{"data":74881,"content":74882,"nodeType":945},{},[74883],{"data":74884,"content":74885,"nodeType":860},{},[74886],{"data":74887,"marks":74888,"value":74889,"nodeType":864},{},[],"Save the configuration.",{"data":74891,"content":74892,"nodeType":945},{},[74893],{"data":74894,"content":74895,"nodeType":860},{},[74896],{"data":74897,"marks":74898,"value":74899,"nodeType":864},{},[],"If possible, we also recommend consuming the webhook events generated when these controls are triggered in your SIEM or other alerting platform so you have good visibility.",{"data":74901,"content":74902,"nodeType":860},{},[74903,74907,74911,74914,74919,74923,74928],{"data":74904,"marks":74905,"value":74906,"nodeType":864},{},[],"If you’ve found any malicious sites using the ",{"data":74908,"marks":74909,"value":74079,"nodeType":864},{},[74910],{"type":899},{"data":74912,"marks":74913,"value":27405,"nodeType":864},{},[],{"data":74915,"marks":74916,"value":74918,"nodeType":864},{},[74917],{"type":899},"Cloned login page detection",{"data":74920,"marks":74921,"value":74922,"nodeType":864},{},[]," control, you may also wish to update your blocklist using the ",{"data":74924,"marks":74925,"value":74927,"nodeType":864},{},[74926],{"type":899},"URL blocking",{"data":74929,"marks":74930,"value":74931,"nodeType":864},{},[]," control. ",{"data":74933,"content":74934,"nodeType":1312},{},[74935],{"data":74936,"marks":74937,"value":74938,"nodeType":864},{},[],"Implement banners to guide secure employee behavior",{"data":74940,"content":74941,"nodeType":860},{},[74942,74946,74950,74954,74959,74962,74966,74969,74974,74977,74981,74985,74989,74993,74998],{"data":74943,"marks":74944,"value":74945,"nodeType":864},{},[],"Depending on your security goals, you may want to implement in-browser guidance for employees in the form of ",{"data":74947,"marks":74948,"value":1366,"nodeType":864},{},[74949],{"type":899},{"data":74951,"marks":74952,"value":74953,"nodeType":864},{},[],". You can configure a banner in ",{"data":74955,"marks":74956,"value":74958,"nodeType":864},{},[74957],{"type":899},"Inform",{"data":74960,"marks":74961,"value":3731,"nodeType":864},{},[],{"data":74963,"marks":74964,"value":1357,"nodeType":864},{},[74965],{"type":899},{"data":74967,"marks":74968,"value":3731,"nodeType":864},{},[],{"data":74970,"marks":74971,"value":74973,"nodeType":864},{},[74972],{"type":899},"Reason",{"data":74975,"marks":74976,"value":12960,"nodeType":864},{},[],{"data":74978,"marks":74979,"value":1397,"nodeType":864},{},[74980],{"type":899},{"data":74982,"marks":74983,"value":74984,"nodeType":864},{},[]," modes from the ",{"data":74986,"marks":74987,"value":51400,"nodeType":864},{},[74988],{"type":899},{"data":74990,"marks":74991,"value":74992,"nodeType":864},{},[]," page. Use the ",{"data":74994,"marks":74995,"value":74997,"nodeType":864},{},[74996],{"type":899},"Rules",{"data":74999,"marks":75000,"value":75001,"nodeType":864},{},[]," feature to specify which employees or employee groups should see a banner, and which apps to apply it to.",{"data":75003,"content":75007,"nodeType":996},{"target":75004},{"sys":75005},{"id":75006,"type":1001,"linkType":1002},"2rVWMTYrjShEdrswkzobJe",[],{"data":75009,"content":75010,"nodeType":860},{},[75011],{"data":75012,"marks":75013,"value":75014,"nodeType":864},{},[],"Common use cases include:",{"data":75016,"content":75017,"nodeType":941},{},[75018,75028,75038,75048,75058],{"data":75019,"content":75020,"nodeType":945},{},[75021],{"data":75022,"content":75023,"nodeType":860},{},[75024],{"data":75025,"marks":75026,"value":75027,"nodeType":864},{},[],"Blocking an app while you investigate a potential data breach.",{"data":75029,"content":75030,"nodeType":945},{},[75031],{"data":75032,"content":75033,"nodeType":860},{},[75034],{"data":75035,"marks":75036,"value":75037,"nodeType":864},{},[],"Blocking unapproved apps, such as a file-sharing service that’s not approved for storing sensitive information.",{"data":75039,"content":75040,"nodeType":945},{},[75041],{"data":75042,"content":75043,"nodeType":860},{},[75044],{"data":75045,"marks":75046,"value":75047,"nodeType":864},{},[],"Requiring employees to acknowledge your GenAI policy before using GenAI apps.",{"data":75049,"content":75050,"nodeType":945},{},[75051],{"data":75052,"content":75053,"nodeType":860},{},[75054],{"data":75055,"marks":75056,"value":75057,"nodeType":864},{},[],"Reminding employees to use SSO for SAML-enabled apps rather than a local account password.",{"data":75059,"content":75060,"nodeType":945},{},[75061],{"data":75062,"content":75063,"nodeType":860},{},[75064],{"data":75065,"marks":75066,"value":75067,"nodeType":864},{},[],"Asking employees not to use an app before it can be reviewed by the security team, for apps not yet in your inventory.",{"data":75069,"content":75070,"nodeType":860},{},[75071,75075,75079,75083],{"data":75072,"marks":75073,"value":74655,"nodeType":864},{},[75074],{"type":899},{"data":75076,"marks":75077,"value":75078,"nodeType":864},{},[]," You can monitor employee engagement with app banners on the ",{"data":75080,"marks":75081,"value":28609,"nodeType":864},{},[75082],{"type":899},{"data":75084,"marks":75085,"value":75086,"nodeType":864},{},[]," page and send webhook events for when a banner is displayed or interacted with to your SIEM or SOAR.",{"data":75088,"content":75089,"nodeType":1312},{},[75090],{"data":75091,"marks":75092,"value":75093,"nodeType":864},{},[],"Enforce MFA on high-value apps",{"data":75095,"content":75096,"nodeType":860},{},[75097,75101,75105],{"data":75098,"marks":75099,"value":75100,"nodeType":864},{},[],"If you’ve identified accounts on important apps that lack MFA, you can prompt employees to add an MFA method using ",{"data":75102,"marks":75103,"value":28463,"nodeType":864},{},[75104],{"type":899},{"data":75106,"marks":75107,"value":75108,"nodeType":864},{},[],". This control uses an in-browser message to direct employees to register for MFA on apps where they lack it. This control is enabled on a per-app basis, so you can decide where you want to prompt for MFA registration.",{"data":75110,"content":75111,"nodeType":941},{},[75112,75137],{"data":75113,"content":75114,"nodeType":945},{},[75115],{"data":75116,"content":75117,"nodeType":860},{},[75118,75121,75125,75129,75133],{"data":75119,"marks":75120,"value":28673,"nodeType":864},{},[],{"data":75122,"marks":75123,"value":51400,"nodeType":864},{},[75124],{"type":899},{"data":75126,"marks":75127,"value":75128,"nodeType":864},{},[]," page, select the ",{"data":75130,"marks":75131,"value":28463,"nodeType":864},{},[75132],{"type":899},{"data":75134,"marks":75135,"value":75136,"nodeType":864},{},[]," tile.",{"data":75138,"content":75139,"nodeType":945},{},[75140],{"data":75141,"content":75142,"nodeType":860},{},[75143],{"data":75144,"marks":75145,"value":75146,"nodeType":864},{},[],"Customize the message to employees, if you like.",{"data":75148,"content":75149,"nodeType":860},{},[75150],{"data":75151,"marks":75152,"value":75153,"nodeType":864},{},[],"image",{"data":75155,"content":75156,"nodeType":1312},{},[75157],{"data":75158,"marks":75159,"value":75160,"nodeType":864},{},[],"Send events to your SIEM or SOAR",{"data":75162,"content":75163,"nodeType":860},{},[75164],{"data":75165,"marks":75166,"value":75167,"nodeType":864},{},[],"To stay informed about end-user activity, findings, and controls on the Push platform, we recommend consuming events important to your security strategy in your SIEM, SOAR, or other similar alerting or automation platform.",{"data":75169,"content":75170,"nodeType":860},{},[75171,75175,75179,75183,75190],{"data":75172,"marks":75173,"value":75174,"nodeType":864},{},[],"Use the ",{"data":75176,"marks":75177,"value":28609,"nodeType":864},{},[75178],{"type":899},{"data":75180,"marks":75181,"value":75182,"nodeType":864},{},[]," page in the admin console to get familiar with the data structure of events, as well as the volume of events, and then review our ",{"data":75184,"content":75185,"nodeType":883},{"uri":28224},[75186],{"data":75187,"marks":75188,"value":75189,"nodeType":864},{},[],"REST API and webhooks documentation",{"data":75191,"marks":75192,"value":75193,"nodeType":864},{},[]," for details on which entities, activities, control events, and audit logs you can consume.",{"data":75195,"content":75199,"nodeType":996},{"target":75196},{"sys":75197},{"id":75198,"type":1001,"linkType":1002},"1oG13vQ3AGP5i6TD24dnjs",[],{"data":75201,"content":75202,"nodeType":1005},{},[],{"data":75204,"content":75205,"nodeType":1009},{},[75206],{"data":75207,"marks":75208,"value":75209,"nodeType":864},{},[],"Next: Chart your own course",{"data":75211,"content":75212,"nodeType":860},{},[75213],{"data":75214,"marks":75215,"value":75216,"nodeType":864},{},[],"In your first 90 days and beyond, you can also begin creating custom workflows in your SIEM or SOAR platform to take Push’s browser and user activity telemetry and transform it into the triggers for solving specific problems in your environment.",{"data":75218,"content":75219,"nodeType":860},{},[75220],{"data":75221,"marks":75222,"value":75223,"nodeType":864},{},[],"Here are some ideas for what you can accomplish using Push’s REST API and webhooks:",{"data":75225,"content":75226,"nodeType":941},{},[75227,75242,75257,75272,75287,75306,75321],{"data":75228,"content":75229,"nodeType":945},{},[75230],{"data":75231,"content":75232,"nodeType":860},{},[75233,75238],{"data":75234,"marks":75235,"value":75237,"nodeType":864},{},[75236],{"type":899},"Harden identities and reduce account compromise",{"data":75239,"marks":75240,"value":75241,"nodeType":864},{},[],", such as alerting you when passwords are identified in public data breaches or when employees are using an unapproved app or when an SSO app is accessed via local account.",{"data":75243,"content":75244,"nodeType":945},{},[75245],{"data":75246,"content":75247,"nodeType":860},{},[75248,75253],{"data":75249,"marks":75250,"value":75252,"nodeType":864},{},[75251],{"type":899},"Monitor for suspicious activity or high-risk changes",{"data":75254,"marks":75255,"value":75256,"nodeType":864},{},[],", such as checking for MFA method changes, or flagging when employees reuse corporate SSO passwords or visit sites running phishing malware.",{"data":75258,"content":75259,"nodeType":945},{},[75260],{"data":75261,"content":75262,"nodeType":860},{},[75263,75268],{"data":75264,"marks":75265,"value":75267,"nodeType":864},{},[75266],{"type":899},"Investigate indicators of compromise",{"data":75269,"marks":75270,"value":75271,"nodeType":864},{},[],", such as correlating login events with platform logs, searching for recent signups to risky apps, or identifying post-compromise lateral movement opportunities.",{"data":75273,"content":75274,"nodeType":945},{},[75275],{"data":75276,"content":75277,"nodeType":860},{},[75278,75283],{"data":75279,"marks":75280,"value":75282,"nodeType":864},{},[75281],{"type":899},"Force-reset an IdP password",{"data":75284,"marks":75285,"value":75286,"nodeType":864},{},[]," if Push finds a compromised password on an employee account.",{"data":75288,"content":75289,"nodeType":945},{},[75290],{"data":75291,"content":75292,"nodeType":860},{},[75293,75297,75302],{"data":75294,"marks":75295,"value":75296,"nodeType":864},{},[],"Automate a workflow showing you all the",{"data":75298,"marks":75299,"value":75301,"nodeType":864},{},[75300],{"type":899}," accounts and apps used by an employee you’re offboarding",{"data":75303,"marks":75304,"value":75305,"nodeType":864},{},[],", and their account login methods.",{"data":75307,"content":75308,"nodeType":945},{},[75309],{"data":75310,"content":75311,"nodeType":860},{},[75312,75317],{"data":75313,"marks":75314,"value":75316,"nodeType":864},{},[75315],{"type":899},"Automate a workflow to revoke licenses",{"data":75318,"marks":75319,"value":75320,"nodeType":864},{},[]," on SaaS after a period of inactivity, saving money.",{"data":75322,"content":75323,"nodeType":945},{},[75324],{"data":75325,"content":75326,"nodeType":860},{},[75327,75332],{"data":75328,"marks":75329,"value":75331,"nodeType":864},{},[75330],{"type":899},"Build an approved apps list",{"data":75333,"marks":75334,"value":75335,"nodeType":864},{},[]," in your company wiki, synced from Push’s source of truth.",{"data":75337,"content":75338,"nodeType":860},{},[75339],{"data":75340,"marks":75341,"value":75342,"nodeType":864},{},[],"If you’ve made it this far, congratulations! You did not die of identity attacks.",{"data":75344,"content":75348,"nodeType":996},{"target":75345},{"sys":75346},{"id":75347,"type":1001,"linkType":1002},"4B7JIz8Iy7kp83vWLEVgOw",[],{"data":75350,"content":75351,"nodeType":860},{},[75352],{"data":75353,"marks":75354,"value":21,"nodeType":864},{},[],"River crossing: What you can accomplish in your first 90 days with Push Security","We’ve put together the following guide for intrepid security teams as they use Push to secure against modern identity attacks.","2024-12-09T00:00:00.000Z","navigating-your-first-90-days-with-push",{"items":75360},[75361],{"sys":75362,"name":297},{"id":2732},{"items":75364},[75365],{"fullName":849,"firstName":850,"jobTitle":851,"profilePicture":75366},{"url":853},"blog/enforce-mfa-on-third-party-apps",{"json":75369},{"data":75370,"content":75371,"nodeType":856},{},[75372],{"data":75373,"content":75374,"nodeType":860},{},[75375],{"data":75376,"marks":75377,"value":75378,"nodeType":864},{},[],"With our latest feature release, MFA enforcement, Push administrators can configure a control to prompt employees to enroll in MFA whenever Push detects that they’re not registered — even on apps that don’t natively provide any administrative enforcement option for MFA. ",{"id":65298,"publishedAt":75380},"2026-08-12T11:54:32.329Z",{"items":75382},[75383,75385],{"sys":75384,"name":297},{"id":2732},{"sys":75386,"name":342},{"id":6596},{"items":75388},[75389,75391,75393,75395,75397,75399,75401,75403,75405,75407,75409,75411,75413],{"sys":75390,"name":413,"slug":414,"tier":31},{"id":410},{"sys":75392,"name":297,"slug":298,"tier":31},{"id":294},{"sys":75394,"name":545,"slug":546,"tier":31},{"id":542},{"sys":75396,"name":342,"slug":343,"tier":31},{"id":339},{"sys":75398,"name":457,"slug":458,"tier":45},{"id":454},{"sys":75400,"name":633,"slug":634,"tier":45},{"id":630},{"sys":75402,"name":333,"slug":334,"tier":45},{"id":330},{"sys":75404,"name":502,"slug":503,"tier":45},{"id":499},{"sys":75406,"name":589,"slug":590,"tier":45},{"id":586},{"sys":75408,"name":395,"slug":396,"tier":45},{"id":392},{"sys":75410,"name":466,"slug":467,"tier":45},{"id":463},{"sys":75412,"name":528,"slug":529,"tier":45},{"id":525},{"sys":75414,"name":422,"slug":423,"tier":45},{"id":419},"AxFeD6f71_nK0qgIS7gKPX0R17g4_iovd5YiarpsnHM",{"id":75417,"title":48924,"authorsCollection":75418,"content":75422,"extension":228,"faqItemsCollection":76497,"faqTitle":59,"featured":6,"hashTags":59,"meta":76499,"metaTitle":76500,"ogImage":59,"postType":55451,"publishedDate":48926,"relatedBlogPostsCollection":76501,"slug":48927,"stem":78938,"subtitle":59,"summary":78939,"synopsis":48925,"sys":78950,"tagsCollection":78952,"topicsCollection":78958,"__hash__":78998},"blog/blog/push-features-2024.json",{"items":75419},[75420],{"fullName":849,"firstName":850,"jobTitle":851,"socialLinks":59,"profilePicture":75421},{"url":853},{"json":75423,"links":76425},{"data":75424,"content":75425,"nodeType":856},{},[75426,75432,75479,75485,75488,75494,75500,75526,75536,75539,75545,75555,75561,75577,75582,75598,75604,75614,75631,75647,75653,75669,75674,75690,75693,75699,75706,75712,75728,75744,75750,75766,75772,75779,75800,75806,75822,75839,75844,75850,75866,75869,75875,75891,75907,75913,75961,75967,75970,75976,75983,75999,76015,76021,76028,76034,76051,76057,76063,76068,76073,76076,76082,76089,76095,76111,76120,76136,76142,76148,76157,76164,76170,76187,76192,76195,76201,76207,76213,76274,76280,76286,76292,76299,76316,76322,76327,76337,76354,76360,76367,76384,76390,76396,76401,76404,76410],{"data":75427,"content":75428,"nodeType":860},{},[75429],{"data":75430,"marks":75431,"value":47764,"nodeType":864},{},[],{"data":75433,"content":75434,"nodeType":941},{},[75435,75451,75460],{"data":75436,"content":75437,"nodeType":945},{},[75438],{"data":75439,"content":75440,"nodeType":860},{},[75441,75444,75448],{"data":75442,"marks":75443,"value":47777,"nodeType":864},{},[],{"data":75445,"marks":75446,"value":47782,"nodeType":864},{},[75447],{"type":2246},{"data":75449,"marks":75450,"value":47786,"nodeType":864},{},[],{"data":75452,"content":75453,"nodeType":945},{},[75454],{"data":75455,"content":75456,"nodeType":860},{},[75457],{"data":75458,"marks":75459,"value":47796,"nodeType":864},{},[],{"data":75461,"content":75462,"nodeType":945},{},[75463],{"data":75464,"content":75465,"nodeType":860},{},[75466,75469,75476],{"data":75467,"marks":75468,"value":47806,"nodeType":864},{},[],{"data":75470,"content":75471,"nodeType":883},{"uri":47809},[75472],{"data":75473,"marks":75474,"value":47815,"nodeType":864},{},[75475],{"type":1455},{"data":75477,"marks":75478,"value":47819,"nodeType":864},{},[],{"data":75480,"content":75481,"nodeType":860},{},[75482],{"data":75483,"marks":75484,"value":47826,"nodeType":864},{},[],{"data":75486,"content":75487,"nodeType":1005},{},[],{"data":75489,"content":75490,"nodeType":1009},{},[75491],{"data":75492,"marks":75493,"value":47836,"nodeType":864},{},[],{"data":75495,"content":75496,"nodeType":860},{},[75497],{"data":75498,"marks":75499,"value":47843,"nodeType":864},{},[],{"data":75501,"content":75502,"nodeType":860},{},[75503,75506,75513,75516,75523],{"data":75504,"marks":75505,"value":47850,"nodeType":864},{},[],{"data":75507,"content":75508,"nodeType":883},{"uri":47853},[75509],{"data":75510,"marks":75511,"value":47859,"nodeType":864},{},[75512],{"type":1455},{"data":75514,"marks":75515,"value":47863,"nodeType":864},{},[],{"data":75517,"content":75518,"nodeType":883},{"uri":47866},[75519],{"data":75520,"marks":75521,"value":47872,"nodeType":864},{},[75522],{"type":1455},{"data":75524,"marks":75525,"value":47876,"nodeType":864},{},[],{"data":75527,"content":75528,"nodeType":860},{},[75529,75532],{"data":75530,"marks":75531,"value":47883,"nodeType":864},{},[],{"data":75533,"marks":75534,"value":47888,"nodeType":864},{},[75535],{"type":899},{"data":75537,"content":75538,"nodeType":1005},{},[],{"data":75540,"content":75541,"nodeType":1009},{},[75542],{"data":75543,"marks":75544,"value":47898,"nodeType":864},{},[],{"data":75546,"content":75547,"nodeType":1312},{},[75548,75552],{"data":75549,"marks":75550,"value":34943,"nodeType":864},{},[75551],{"type":899},{"data":75553,"marks":75554,"value":1171,"nodeType":864},{},[],{"data":75556,"content":75557,"nodeType":860},{},[75558],{"data":75559,"marks":75560,"value":47915,"nodeType":864},{},[],{"data":75562,"content":75563,"nodeType":860},{},[75564,75567,75574],{"data":75565,"marks":75566,"value":47922,"nodeType":864},{},[],{"data":75568,"content":75569,"nodeType":883},{"uri":47925},[75570],{"data":75571,"marks":75572,"value":47931,"nodeType":864},{},[75573],{"type":1455},{"data":75575,"marks":75576,"value":47935,"nodeType":864},{},[],{"data":75578,"content":75581,"nodeType":996},{"target":75579},{"sys":75580},{"id":47940,"type":1001,"linkType":1002},[],{"data":75583,"content":75584,"nodeType":860},{},[75585,75588,75595],{"data":75586,"marks":75587,"value":47948,"nodeType":864},{},[],{"data":75589,"content":75590,"nodeType":883},{"uri":47951},[75591],{"data":75592,"marks":75593,"value":47957,"nodeType":864},{},[75594],{"type":1455},{"data":75596,"marks":75597,"value":47961,"nodeType":864},{},[],{"data":75599,"content":75600,"nodeType":860},{},[75601],{"data":75602,"marks":75603,"value":47968,"nodeType":864},{},[],{"data":75605,"content":75606,"nodeType":1312},{},[75607,75611],{"data":75608,"marks":75609,"value":47976,"nodeType":864},{},[75610],{"type":899},{"data":75612,"marks":75613,"value":1171,"nodeType":864},{},[],{"data":75615,"content":75616,"nodeType":860},{},[75617,75620,75628],{"data":75618,"marks":75619,"value":47986,"nodeType":864},{},[],{"data":75621,"content":75622,"nodeType":883},{"uri":47989},[75623],{"data":75624,"marks":75625,"value":47996,"nodeType":864},{},[75626,75627],{"type":1455},{"type":899},{"data":75629,"marks":75630,"value":48000,"nodeType":864},{},[],{"data":75632,"content":75633,"nodeType":860},{},[75634,75637,75644],{"data":75635,"marks":75636,"value":48007,"nodeType":864},{},[],{"data":75638,"content":75639,"nodeType":883},{"uri":48010},[75640],{"data":75641,"marks":75642,"value":48016,"nodeType":864},{},[75643],{"type":1455},{"data":75645,"marks":75646,"value":48020,"nodeType":864},{},[],{"data":75648,"content":75649,"nodeType":860},{},[75650],{"data":75651,"marks":75652,"value":48027,"nodeType":864},{},[],{"data":75654,"content":75655,"nodeType":860},{},[75656,75659,75666],{"data":75657,"marks":75658,"value":48034,"nodeType":864},{},[],{"data":75660,"content":75661,"nodeType":883},{"uri":15980},[75662],{"data":75663,"marks":75664,"value":48042,"nodeType":864},{},[75665],{"type":1455},{"data":75667,"marks":75668,"value":48046,"nodeType":864},{},[],{"data":75670,"content":75673,"nodeType":996},{"target":75671},{"sys":75672},{"id":48051,"type":1001,"linkType":1002},[],{"data":75675,"content":75676,"nodeType":860},{},[75677,75680,75687],{"data":75678,"marks":75679,"value":48059,"nodeType":864},{},[],{"data":75681,"content":75682,"nodeType":883},{"uri":48062},[75683],{"data":75684,"marks":75685,"value":48068,"nodeType":864},{},[75686],{"type":1455},{"data":75688,"marks":75689,"value":48072,"nodeType":864},{},[],{"data":75691,"content":75692,"nodeType":1005},{},[],{"data":75694,"content":75695,"nodeType":1009},{},[75696],{"data":75697,"marks":75698,"value":48082,"nodeType":864},{},[],{"data":75700,"content":75701,"nodeType":1312},{},[75702],{"data":75703,"marks":75704,"value":34943,"nodeType":864},{},[75705],{"type":899},{"data":75707,"content":75708,"nodeType":860},{},[75709],{"data":75710,"marks":75711,"value":48096,"nodeType":864},{},[],{"data":75713,"content":75714,"nodeType":860},{},[75715,75718,75725],{"data":75716,"marks":75717,"value":48103,"nodeType":864},{},[],{"data":75719,"content":75720,"nodeType":883},{"uri":48106},[75721],{"data":75722,"marks":75723,"value":48112,"nodeType":864},{},[75724],{"type":1455},{"data":75726,"marks":75727,"value":48116,"nodeType":864},{},[],{"data":75729,"content":75730,"nodeType":860},{},[75731,75734,75741],{"data":75732,"marks":75733,"value":48123,"nodeType":864},{},[],{"data":75735,"content":75736,"nodeType":883},{"uri":48126},[75737],{"data":75738,"marks":75739,"value":23700,"nodeType":864},{},[75740],{"type":1455},{"data":75742,"marks":75743,"value":22438,"nodeType":864},{},[],{"data":75745,"content":75746,"nodeType":860},{},[75747],{"data":75748,"marks":75749,"value":48141,"nodeType":864},{},[],{"data":75751,"content":75752,"nodeType":860},{},[75753,75756,75763],{"data":75754,"marks":75755,"value":48148,"nodeType":864},{},[],{"data":75757,"content":75758,"nodeType":883},{"uri":48151},[75759],{"data":75760,"marks":75761,"value":48157,"nodeType":864},{},[75762],{"type":1455},{"data":75764,"marks":75765,"value":48161,"nodeType":864},{},[],{"data":75767,"content":75768,"nodeType":860},{},[75769],{"data":75770,"marks":75771,"value":48168,"nodeType":864},{},[],{"data":75773,"content":75774,"nodeType":1312},{},[75775],{"data":75776,"marks":75777,"value":47976,"nodeType":864},{},[75778],{"type":899},{"data":75780,"content":75781,"nodeType":860},{},[75782,75785,75793,75797],{"data":75783,"marks":75784,"value":48182,"nodeType":864},{},[],{"data":75786,"content":75787,"nodeType":883},{"uri":48185},[75788],{"data":75789,"marks":75790,"value":48192,"nodeType":864},{},[75791,75792],{"type":1455},{"type":899},{"data":75794,"marks":75795,"value":48197,"nodeType":864},{},[75796],{"type":899},{"data":75798,"marks":75799,"value":12252,"nodeType":864},{},[],{"data":75801,"content":75802,"nodeType":860},{},[75803],{"data":75804,"marks":75805,"value":48207,"nodeType":864},{},[],{"data":75807,"content":75808,"nodeType":860},{},[75809,75812,75819],{"data":75810,"marks":75811,"value":48214,"nodeType":864},{},[],{"data":75813,"content":75814,"nodeType":883},{"uri":48217},[75815],{"data":75816,"marks":75817,"value":48223,"nodeType":864},{},[75818],{"type":1455},{"data":75820,"marks":75821,"value":48227,"nodeType":864},{},[],{"data":75823,"content":75824,"nodeType":860},{},[75825,75828,75836],{"data":75826,"marks":75827,"value":48234,"nodeType":864},{},[],{"data":75829,"content":75830,"nodeType":883},{"uri":48237},[75831],{"data":75832,"marks":75833,"value":48244,"nodeType":864},{},[75834,75835],{"type":1455},{"type":899},{"data":75837,"marks":75838,"value":48248,"nodeType":864},{},[],{"data":75840,"content":75843,"nodeType":996},{"target":75841},{"sys":75842},{"id":48253,"type":1001,"linkType":1002},[],{"data":75845,"content":75846,"nodeType":860},{},[75847],{"data":75848,"marks":75849,"value":48261,"nodeType":864},{},[],{"data":75851,"content":75852,"nodeType":860},{},[75853,75856,75863],{"data":75854,"marks":75855,"value":48268,"nodeType":864},{},[],{"data":75857,"content":75858,"nodeType":883},{"uri":36813},[75859],{"data":75860,"marks":75861,"value":48276,"nodeType":864},{},[75862],{"type":1455},{"data":75864,"marks":75865,"value":48280,"nodeType":864},{},[],{"data":75867,"content":75868,"nodeType":1005},{},[],{"data":75870,"content":75871,"nodeType":1009},{},[75872],{"data":75873,"marks":75874,"value":48290,"nodeType":864},{},[],{"data":75876,"content":75877,"nodeType":860},{},[75878,75881,75888],{"data":75879,"marks":75880,"value":48297,"nodeType":864},{},[],{"data":75882,"content":75883,"nodeType":883},{"uri":4408},[75884],{"data":75885,"marks":75886,"value":27246,"nodeType":864},{},[75887],{"type":1455},{"data":75889,"marks":75890,"value":2924,"nodeType":864},{},[],{"data":75892,"content":75893,"nodeType":860},{},[75894,75897,75904],{"data":75895,"marks":75896,"value":48314,"nodeType":864},{},[],{"data":75898,"content":75899,"nodeType":883},{"uri":3751},[75900],{"data":75901,"marks":75902,"value":48322,"nodeType":864},{},[75903],{"type":1455},{"data":75905,"marks":75906,"value":48326,"nodeType":864},{},[],{"data":75908,"content":75909,"nodeType":860},{},[75910],{"data":75911,"marks":75912,"value":48333,"nodeType":864},{},[],{"data":75914,"content":75915,"nodeType":941},{},[75916,75925,75934,75943,75952],{"data":75917,"content":75918,"nodeType":945},{},[75919],{"data":75920,"content":75921,"nodeType":860},{},[75922],{"data":75923,"marks":75924,"value":48346,"nodeType":864},{},[],{"data":75926,"content":75927,"nodeType":945},{},[75928],{"data":75929,"content":75930,"nodeType":860},{},[75931],{"data":75932,"marks":75933,"value":48356,"nodeType":864},{},[],{"data":75935,"content":75936,"nodeType":945},{},[75937],{"data":75938,"content":75939,"nodeType":860},{},[75940],{"data":75941,"marks":75942,"value":48366,"nodeType":864},{},[],{"data":75944,"content":75945,"nodeType":945},{},[75946],{"data":75947,"content":75948,"nodeType":860},{},[75949],{"data":75950,"marks":75951,"value":48376,"nodeType":864},{},[],{"data":75953,"content":75954,"nodeType":945},{},[75955],{"data":75956,"content":75957,"nodeType":860},{},[75958],{"data":75959,"marks":75960,"value":48386,"nodeType":864},{},[],{"data":75962,"content":75963,"nodeType":860},{},[75964],{"data":75965,"marks":75966,"value":48393,"nodeType":864},{},[],{"data":75968,"content":75969,"nodeType":1005},{},[],{"data":75971,"content":75972,"nodeType":1009},{},[75973],{"data":75974,"marks":75975,"value":48403,"nodeType":864},{},[],{"data":75977,"content":75978,"nodeType":1312},{},[75979],{"data":75980,"marks":75981,"value":34943,"nodeType":864},{},[75982],{"type":899},{"data":75984,"content":75985,"nodeType":860},{},[75986,75989,75996],{"data":75987,"marks":75988,"value":21,"nodeType":864},{},[],{"data":75990,"content":75991,"nodeType":883},{"uri":48419},[75992],{"data":75993,"marks":75994,"value":48425,"nodeType":864},{},[75995],{"type":1455},{"data":75997,"marks":75998,"value":48429,"nodeType":864},{},[],{"data":76000,"content":76001,"nodeType":860},{},[76002,76005,76012],{"data":76003,"marks":76004,"value":48436,"nodeType":864},{},[],{"data":76006,"content":76007,"nodeType":883},{"uri":48439},[76008],{"data":76009,"marks":76010,"value":48445,"nodeType":864},{},[76011],{"type":1455},{"data":76013,"marks":76014,"value":48449,"nodeType":864},{},[],{"data":76016,"content":76017,"nodeType":860},{},[76018],{"data":76019,"marks":76020,"value":48456,"nodeType":864},{},[],{"data":76022,"content":76023,"nodeType":1312},{},[76024],{"data":76025,"marks":76026,"value":47976,"nodeType":864},{},[76027],{"type":899},{"data":76029,"content":76030,"nodeType":860},{},[76031],{"data":76032,"marks":76033,"value":48470,"nodeType":864},{},[],{"data":76035,"content":76036,"nodeType":860},{},[76037,76040,76048],{"data":76038,"marks":76039,"value":1238,"nodeType":864},{},[],{"data":76041,"content":76042,"nodeType":883},{"uri":34857},[76043],{"data":76044,"marks":76045,"value":48485,"nodeType":864},{},[76046,76047],{"type":1455},{"type":899},{"data":76049,"marks":76050,"value":48489,"nodeType":864},{},[],{"data":76052,"content":76053,"nodeType":860},{},[76054],{"data":76055,"marks":76056,"value":48496,"nodeType":864},{},[],{"data":76058,"content":76059,"nodeType":860},{},[76060],{"data":76061,"marks":76062,"value":48503,"nodeType":864},{},[],{"data":76064,"content":76067,"nodeType":996},{"target":76065},{"sys":76066},{"id":43965,"type":1001,"linkType":1002},[],{"data":76069,"content":76072,"nodeType":996},{"target":76070},{"sys":76071},{"id":48513,"type":1001,"linkType":1002},[],{"data":76074,"content":76075,"nodeType":1005},{},[],{"data":76077,"content":76078,"nodeType":1009},{},[76079],{"data":76080,"marks":76081,"value":48524,"nodeType":864},{},[],{"data":76083,"content":76084,"nodeType":1312},{},[76085],{"data":76086,"marks":76087,"value":34943,"nodeType":864},{},[76088],{"type":899},{"data":76090,"content":76091,"nodeType":860},{},[76092],{"data":76093,"marks":76094,"value":48538,"nodeType":864},{},[],{"data":76096,"content":76097,"nodeType":860},{},[76098,76101,76108],{"data":76099,"marks":76100,"value":48545,"nodeType":864},{},[],{"data":76102,"content":76103,"nodeType":883},{"uri":48548},[76104],{"data":76105,"marks":76106,"value":48554,"nodeType":864},{},[76107],{"type":1455},{"data":76109,"marks":76110,"value":48558,"nodeType":864},{},[],{"data":76112,"content":76113,"nodeType":1116},{},[76114],{"data":76115,"content":76116,"nodeType":860},{},[76117],{"data":76118,"marks":76119,"value":48568,"nodeType":864},{},[],{"data":76121,"content":76122,"nodeType":860},{},[76123,76126,76133],{"data":76124,"marks":76125,"value":48575,"nodeType":864},{},[],{"data":76127,"content":76128,"nodeType":883},{"uri":48419},[76129],{"data":76130,"marks":76131,"value":48583,"nodeType":864},{},[76132],{"type":1455},{"data":76134,"marks":76135,"value":48587,"nodeType":864},{},[],{"data":76137,"content":76138,"nodeType":860},{},[76139],{"data":76140,"marks":76141,"value":48594,"nodeType":864},{},[],{"data":76143,"content":76144,"nodeType":860},{},[76145],{"data":76146,"marks":76147,"value":48601,"nodeType":864},{},[],{"data":76149,"content":76150,"nodeType":1116},{},[76151],{"data":76152,"content":76153,"nodeType":860},{},[76154],{"data":76155,"marks":76156,"value":48611,"nodeType":864},{},[],{"data":76158,"content":76159,"nodeType":1312},{},[76160],{"data":76161,"marks":76162,"value":47976,"nodeType":864},{},[76163],{"type":899},{"data":76165,"content":76166,"nodeType":860},{},[76167],{"data":76168,"marks":76169,"value":48625,"nodeType":864},{},[],{"data":76171,"content":76172,"nodeType":860},{},[76173,76176,76184],{"data":76174,"marks":76175,"value":48632,"nodeType":864},{},[],{"data":76177,"content":76178,"nodeType":883},{"uri":35369},[76179],{"data":76180,"marks":76181,"value":48641,"nodeType":864},{},[76182,76183],{"type":1455},{"type":899},{"data":76185,"marks":76186,"value":48645,"nodeType":864},{},[],{"data":76188,"content":76191,"nodeType":996},{"target":76189},{"sys":76190},{"id":48650,"type":1001,"linkType":1002},[],{"data":76193,"content":76194,"nodeType":1005},{},[],{"data":76196,"content":76197,"nodeType":1009},{},[76198],{"data":76199,"marks":76200,"value":48661,"nodeType":864},{},[],{"data":76202,"content":76203,"nodeType":860},{},[76204],{"data":76205,"marks":76206,"value":48668,"nodeType":864},{},[],{"data":76208,"content":76209,"nodeType":860},{},[76210],{"data":76211,"marks":76212,"value":48675,"nodeType":864},{},[],{"data":76214,"content":76215,"nodeType":941},{},[76216,76232,76248],{"data":76217,"content":76218,"nodeType":945},{},[76219],{"data":76220,"content":76221,"nodeType":860},{},[76222,76225,76229],{"data":76223,"marks":76224,"value":48688,"nodeType":864},{},[],{"data":76226,"marks":76227,"value":48693,"nodeType":864},{},[76228],{"type":899},{"data":76230,"marks":76231,"value":48697,"nodeType":864},{},[],{"data":76233,"content":76234,"nodeType":945},{},[76235],{"data":76236,"content":76237,"nodeType":860},{},[76238,76241,76245],{"data":76239,"marks":76240,"value":48707,"nodeType":864},{},[],{"data":76242,"marks":76243,"value":48712,"nodeType":864},{},[76244],{"type":899},{"data":76246,"marks":76247,"value":48716,"nodeType":864},{},[],{"data":76249,"content":76250,"nodeType":945},{},[76251],{"data":76252,"content":76253,"nodeType":860},{},[76254,76257,76261,76264,76271],{"data":76255,"marks":76256,"value":48726,"nodeType":864},{},[],{"data":76258,"marks":76259,"value":48731,"nodeType":864},{},[76260],{"type":899},{"data":76262,"marks":76263,"value":48735,"nodeType":864},{},[],{"data":76265,"content":76266,"nodeType":883},{"uri":17701},[76267],{"data":76268,"marks":76269,"value":17706,"nodeType":864},{},[76270],{"type":1455},{"data":76272,"marks":76273,"value":48746,"nodeType":864},{},[],{"data":76275,"content":76276,"nodeType":860},{},[76277],{"data":76278,"marks":76279,"value":48753,"nodeType":864},{},[],{"data":76281,"content":76282,"nodeType":860},{},[76283],{"data":76284,"marks":76285,"value":48760,"nodeType":864},{},[],{"data":76287,"content":76288,"nodeType":860},{},[76289],{"data":76290,"marks":76291,"value":48767,"nodeType":864},{},[],{"data":76293,"content":76294,"nodeType":1312},{},[76295],{"data":76296,"marks":76297,"value":48775,"nodeType":864},{},[76298],{"type":899},{"data":76300,"content":76301,"nodeType":860},{},[76302,76305,76313],{"data":76303,"marks":76304,"value":48782,"nodeType":864},{},[],{"data":76306,"content":76307,"nodeType":883},{"uri":48785},[76308],{"data":76309,"marks":76310,"value":48792,"nodeType":864},{},[76311,76312],{"type":1455},{"type":899},{"data":76314,"marks":76315,"value":48796,"nodeType":864},{},[],{"data":76317,"content":76318,"nodeType":860},{},[76319],{"data":76320,"marks":76321,"value":48803,"nodeType":864},{},[],{"data":76323,"content":76326,"nodeType":996},{"target":76324},{"sys":76325},{"id":48808,"type":1001,"linkType":1002},[],{"data":76328,"content":76329,"nodeType":1312},{},[76330,76334],{"data":76331,"marks":76332,"value":48817,"nodeType":864},{},[76333],{"type":899},{"data":76335,"marks":76336,"value":1171,"nodeType":864},{},[],{"data":76338,"content":76339,"nodeType":860},{},[76340,76343,76351],{"data":76341,"marks":76342,"value":48827,"nodeType":864},{},[],{"data":76344,"content":76345,"nodeType":883},{"uri":48830},[76346],{"data":76347,"marks":76348,"value":48837,"nodeType":864},{},[76349,76350],{"type":1455},{"type":899},{"data":76352,"marks":76353,"value":48841,"nodeType":864},{},[],{"data":76355,"content":76356,"nodeType":860},{},[76357],{"data":76358,"marks":76359,"value":48848,"nodeType":864},{},[],{"data":76361,"content":76362,"nodeType":1312},{},[76363],{"data":76364,"marks":76365,"value":48856,"nodeType":864},{},[76366],{"type":899},{"data":76368,"content":76369,"nodeType":860},{},[76370,76373,76381],{"data":76371,"marks":76372,"value":48863,"nodeType":864},{},[],{"data":76374,"content":76375,"nodeType":883},{"uri":35429},[76376],{"data":76377,"marks":76378,"value":28463,"nodeType":864},{},[76379,76380],{"type":1455},{"type":899},{"data":76382,"marks":76383,"value":48875,"nodeType":864},{},[],{"data":76385,"content":76386,"nodeType":860},{},[76387],{"data":76388,"marks":76389,"value":48882,"nodeType":864},{},[],{"data":76391,"content":76392,"nodeType":860},{},[76393],{"data":76394,"marks":76395,"value":48889,"nodeType":864},{},[],{"data":76397,"content":76400,"nodeType":996},{"target":76398},{"sys":76399},{"id":48894,"type":1001,"linkType":1002},[],{"data":76402,"content":76403,"nodeType":1005},{},[],{"data":76405,"content":76406,"nodeType":1009},{},[76407],{"data":76408,"marks":76409,"value":48905,"nodeType":864},{},[],{"data":76411,"content":76412,"nodeType":860},{},[76413,76416,76422],{"data":76414,"marks":76415,"value":48912,"nodeType":864},{},[],{"data":76417,"content":76418,"nodeType":883},{"uri":5642},[76419],{"data":76420,"marks":76421,"value":48919,"nodeType":864},{},[],{"data":76423,"marks":76424,"value":48923,"nodeType":864},{},[],{"entries":76426},{"hyperlink":76427,"inline":76428,"block":76429},[],[],[76430,76438,76445,76449,76452,76479,76485,76491],{"sys":76431,"__typename":1724,"title":76432,"caption":76433,"layoutMode":59,"file":76434},{"id":47940},"Managed vs. unmanaged IdPs","Managed IdPs can be administered centrally by the organization (which owns and operates the IdP and the identities on it), whereas unmanaged ‘social’ IdPs are controlled by the vendor, and identities are owned and administered by the user.",{"url":76435,"width":76436,"height":76437},"https://images.ctfassets.net/y1cdw1ablpvd/6qDjvYcLbUxlC4w24VvDLO/4da66c4e755c9b1c00b285a5ab3f9c57/image1.png",1500,1000,{"sys":76439,"__typename":1724,"title":76440,"caption":76440,"layoutMode":59,"file":76441},{"id":48051},"Customizable block screen that end-users will see if they attempt to enter their SSO password into any login that’s not their IdP.",{"url":76442,"width":76443,"height":76444},"https://images.ctfassets.net/y1cdw1ablpvd/5y1AiJEoLP6BveEJwDKhAL/ba22c55dced3ec2842093000ea050fa7/protected_pwd_block_screen_branded_20260420.png",2670,1622,{"sys":76446,"__typename":1724,"title":50217,"caption":76447,"layoutMode":59,"file":76448},{"id":48253},"How Push stops phishing attacks with layered anti-phishing controls.",{"url":50220,"width":50221,"height":50222},{"sys":76450,"__typename":1724,"title":45623,"caption":45623,"layoutMode":59,"file":76451},{"id":43965},{"url":45625,"width":41540,"height":45626},{"sys":76453,"__typename":1740,"content":76454,"name":76478,"title":59},{"id":48513},{"json":76455},{"data":76456,"content":76457,"nodeType":856},{},[76458],{"data":76459,"content":76460,"nodeType":860},{},[76461,76465,76474],{"data":76462,"marks":76463,"value":76464,"nodeType":864},{},[],"A bonus for Panther users: Push also ",{"data":76466,"content":76468,"nodeType":883},{"uri":76467},"https://pushsecurity.com/blog/combining-the-powers-of-push-and-panther-to-stop-identity-attacks/",[76469],{"data":76470,"marks":76471,"value":76473,"nodeType":864},{},[76472],{"type":1455},"partnered with Panther",{"data":76475,"marks":76476,"value":76477,"nodeType":864},{},[]," last year to deliver a detection pack for identity attacks, including for session token theft events, which will get you up and running quickly in your SIEM without needing to write custom detections.","A bonus for Panther users: Push also partnered with Panther last year to deliver a detection pack for identity attacks, including for session token theft events, which will get you up and running quickly in your SIEM.",{"sys":76480,"__typename":1724,"title":76481,"caption":76482,"layoutMode":59,"file":76483},{"id":48650},"How Push identifies verified stolen credential detections in use across workforce identities","How Push identifies verified stolen credential detections in use across workforce identities.",{"url":76484,"width":45619,"height":45620},"https://images.ctfassets.net/y1cdw1ablpvd/6jg3sNxb7fQe1Hqj18yfb2/c11687d77697c0ecc09aaefab0ef435c/image3.png",{"sys":76486,"__typename":1724,"title":76487,"caption":76488,"layoutMode":59,"file":76489},{"id":48808},"App banner require reason mode","App banners \"require reason\" mode.",{"url":76490,"width":29569,"height":23461},"https://images.ctfassets.net/y1cdw1ablpvd/3ZWyyglvBRrvY6bCZWidMM/fcb34c101d390f5315c70e8cb6486a26/banner_branded_reason.png",{"sys":76492,"__typename":1724,"title":76493,"caption":76494,"layoutMode":59,"file":76495},{"id":48894},"MFA enforcement feature in action. ","MFA enforcement feature in action.",{"url":76496,"width":72777,"height":72778},"https://images.ctfassets.net/y1cdw1ablpvd/1H45Qj9vCfyQTCMxs8ypU5/6eeb494d24a904058d5635f290569889/Screenshot_2024-12-09_at_1.58.57_PM.png",{"items":76498},[],{},"Features we built to stop account takeover in 2024",{"items":76502},[76503,77053,77623],{"__typename":2059,"sys":76504,"content":76505,"title":68580,"synopsis":68581,"hashTags":59,"publishedDate":68582,"slug":68583,"tagsCollection":77045,"authorsCollection":77049},{"id":67962},{"json":76506},{"data":76507,"content":76508,"nodeType":856},{},[76509,76515,76521,76527,76543,76549,76555,76558,76565,76571,76577,76583,76588,76594,76597,76604,76610,76616,76622,76628,76633,76639,76642,76649,76656,76662,76668,76674,76690,76697,76703,76709,76715,76721,76728,76734,76740,76745,76748,76755,76761,76767,76773,76779,76785,76788,76795,76801,76807,76813,76819,76825,76923,76936,76942,76947,76950,76957,76963,77023,77029],{"data":76510,"content":76511,"nodeType":860},{},[76512],{"data":76513,"marks":76514,"value":67973,"nodeType":864},{},[],{"data":76516,"content":76517,"nodeType":860},{},[76518],{"data":76519,"marks":76520,"value":67980,"nodeType":864},{},[],{"data":76522,"content":76523,"nodeType":860},{},[76524],{"data":76525,"marks":76526,"value":67987,"nodeType":864},{},[],{"data":76528,"content":76529,"nodeType":860},{},[76530,76533,76540],{"data":76531,"marks":76532,"value":67994,"nodeType":864},{},[],{"data":76534,"content":76535,"nodeType":883},{"uri":67997},[76536],{"data":76537,"marks":76538,"value":68003,"nodeType":864},{},[76539],{"type":1455},{"data":76541,"marks":76542,"value":2924,"nodeType":864},{},[],{"data":76544,"content":76545,"nodeType":860},{},[76546],{"data":76547,"marks":76548,"value":68013,"nodeType":864},{},[],{"data":76550,"content":76551,"nodeType":860},{},[76552],{"data":76553,"marks":76554,"value":68020,"nodeType":864},{},[],{"data":76556,"content":76557,"nodeType":1005},{},[],{"data":76559,"content":76560,"nodeType":1009},{},[76561],{"data":76562,"marks":76563,"value":68031,"nodeType":864},{},[76564],{"type":899},{"data":76566,"content":76567,"nodeType":860},{},[76568],{"data":76569,"marks":76570,"value":68038,"nodeType":864},{},[],{"data":76572,"content":76573,"nodeType":860},{},[76574],{"data":76575,"marks":76576,"value":68045,"nodeType":864},{},[],{"data":76578,"content":76579,"nodeType":860},{},[76580],{"data":76581,"marks":76582,"value":68052,"nodeType":864},{},[],{"data":76584,"content":76587,"nodeType":996},{"target":76585},{"sys":76586},{"id":68057,"type":1001,"linkType":1002},[],{"data":76589,"content":76590,"nodeType":860},{},[76591],{"data":76592,"marks":76593,"value":68065,"nodeType":864},{},[],{"data":76595,"content":76596,"nodeType":1005},{},[],{"data":76598,"content":76599,"nodeType":1009},{},[76600],{"data":76601,"marks":76602,"value":68076,"nodeType":864},{},[76603],{"type":899},{"data":76605,"content":76606,"nodeType":860},{},[76607],{"data":76608,"marks":76609,"value":68083,"nodeType":864},{},[],{"data":76611,"content":76612,"nodeType":860},{},[76613],{"data":76614,"marks":76615,"value":68090,"nodeType":864},{},[],{"data":76617,"content":76618,"nodeType":860},{},[76619],{"data":76620,"marks":76621,"value":68097,"nodeType":864},{},[],{"data":76623,"content":76624,"nodeType":860},{},[76625],{"data":76626,"marks":76627,"value":68104,"nodeType":864},{},[],{"data":76629,"content":76632,"nodeType":996},{"target":76630},{"sys":76631},{"id":68109,"type":1001,"linkType":1002},[],{"data":76634,"content":76635,"nodeType":860},{},[76636],{"data":76637,"marks":76638,"value":68117,"nodeType":864},{},[],{"data":76640,"content":76641,"nodeType":1005},{},[],{"data":76643,"content":76644,"nodeType":1009},{},[76645],{"data":76646,"marks":76647,"value":68128,"nodeType":864},{},[76648],{"type":899},{"data":76650,"content":76651,"nodeType":1312},{},[76652],{"data":76653,"marks":76654,"value":68136,"nodeType":864},{},[76655],{"type":899},{"data":76657,"content":76658,"nodeType":860},{},[76659],{"data":76660,"marks":76661,"value":68143,"nodeType":864},{},[],{"data":76663,"content":76664,"nodeType":860},{},[76665],{"data":76666,"marks":76667,"value":68150,"nodeType":864},{},[],{"data":76669,"content":76670,"nodeType":860},{},[76671],{"data":76672,"marks":76673,"value":68157,"nodeType":864},{},[],{"data":76675,"content":76676,"nodeType":860},{},[76677,76680,76687],{"data":76678,"marks":76679,"value":68164,"nodeType":864},{},[],{"data":76681,"content":76682,"nodeType":883},{"uri":58042},[76683],{"data":76684,"marks":76685,"value":68172,"nodeType":864},{},[76686],{"type":1455},{"data":76688,"marks":76689,"value":68176,"nodeType":864},{},[],{"data":76691,"content":76692,"nodeType":1312},{},[76693],{"data":76694,"marks":76695,"value":68184,"nodeType":864},{},[76696],{"type":899},{"data":76698,"content":76699,"nodeType":860},{},[76700],{"data":76701,"marks":76702,"value":68191,"nodeType":864},{},[],{"data":76704,"content":76705,"nodeType":860},{},[76706],{"data":76707,"marks":76708,"value":68198,"nodeType":864},{},[],{"data":76710,"content":76711,"nodeType":860},{},[76712],{"data":76713,"marks":76714,"value":68205,"nodeType":864},{},[],{"data":76716,"content":76717,"nodeType":860},{},[76718],{"data":76719,"marks":76720,"value":68212,"nodeType":864},{},[],{"data":76722,"content":76723,"nodeType":1312},{},[76724],{"data":76725,"marks":76726,"value":68220,"nodeType":864},{},[76727],{"type":899},{"data":76729,"content":76730,"nodeType":860},{},[76731],{"data":76732,"marks":76733,"value":68227,"nodeType":864},{},[],{"data":76735,"content":76736,"nodeType":860},{},[76737],{"data":76738,"marks":76739,"value":68234,"nodeType":864},{},[],{"data":76741,"content":76744,"nodeType":996},{"target":76742},{"sys":76743},{"id":68239,"type":1001,"linkType":1002},[],{"data":76746,"content":76747,"nodeType":1005},{},[],{"data":76749,"content":76750,"nodeType":1009},{},[76751],{"data":76752,"marks":76753,"value":68251,"nodeType":864},{},[76754],{"type":899},{"data":76756,"content":76757,"nodeType":860},{},[76758],{"data":76759,"marks":76760,"value":68258,"nodeType":864},{},[],{"data":76762,"content":76763,"nodeType":860},{},[76764],{"data":76765,"marks":76766,"value":68265,"nodeType":864},{},[],{"data":76768,"content":76769,"nodeType":860},{},[76770],{"data":76771,"marks":76772,"value":68272,"nodeType":864},{},[],{"data":76774,"content":76775,"nodeType":860},{},[76776],{"data":76777,"marks":76778,"value":68279,"nodeType":864},{},[],{"data":76780,"content":76781,"nodeType":860},{},[76782],{"data":76783,"marks":76784,"value":68286,"nodeType":864},{},[],{"data":76786,"content":76787,"nodeType":1005},{},[],{"data":76789,"content":76790,"nodeType":1009},{},[76791],{"data":76792,"marks":76793,"value":68297,"nodeType":864},{},[76794],{"type":899},{"data":76796,"content":76797,"nodeType":860},{},[76798],{"data":76799,"marks":76800,"value":68304,"nodeType":864},{},[],{"data":76802,"content":76803,"nodeType":860},{},[76804],{"data":76805,"marks":76806,"value":68311,"nodeType":864},{},[],{"data":76808,"content":76809,"nodeType":860},{},[76810],{"data":76811,"marks":76812,"value":68318,"nodeType":864},{},[],{"data":76814,"content":76815,"nodeType":860},{},[76816],{"data":76817,"marks":76818,"value":68325,"nodeType":864},{},[],{"data":76820,"content":76821,"nodeType":860},{},[76822],{"data":76823,"marks":76824,"value":68332,"nodeType":864},{},[],{"data":76826,"content":76827,"nodeType":941},{},[76828,76847,76866,76885,76904],{"data":76829,"content":76830,"nodeType":945},{},[76831],{"data":76832,"content":76833,"nodeType":860},{},[76834,76837,76844],{"data":76835,"marks":76836,"value":68345,"nodeType":864},{},[],{"data":76838,"content":76839,"nodeType":883},{"uri":4408},[76840],{"data":76841,"marks":76842,"value":27246,"nodeType":864},{},[76843],{"type":1455},{"data":76845,"marks":76846,"value":22438,"nodeType":864},{},[],{"data":76848,"content":76849,"nodeType":945},{},[76850],{"data":76851,"content":76852,"nodeType":860},{},[76853,76856,76863],{"data":76854,"marks":76855,"value":68365,"nodeType":864},{},[],{"data":76857,"content":76858,"nodeType":883},{"uri":68368},[76859],{"data":76860,"marks":76861,"value":68374,"nodeType":864},{},[76862],{"type":1455},{"data":76864,"marks":76865,"value":22438,"nodeType":864},{},[],{"data":76867,"content":76868,"nodeType":945},{},[76869],{"data":76870,"content":76871,"nodeType":860},{},[76872,76875,76882],{"data":76873,"marks":76874,"value":68387,"nodeType":864},{},[],{"data":76876,"content":76877,"nodeType":883},{"uri":68390},[76878],{"data":76879,"marks":76880,"value":68396,"nodeType":864},{},[76881],{"type":1455},{"data":76883,"marks":76884,"value":22438,"nodeType":864},{},[],{"data":76886,"content":76887,"nodeType":945},{},[76888],{"data":76889,"content":76890,"nodeType":860},{},[76891,76894,76901],{"data":76892,"marks":76893,"value":68409,"nodeType":864},{},[],{"data":76895,"content":76896,"nodeType":883},{"uri":48126},[76897],{"data":76898,"marks":76899,"value":23700,"nodeType":864},{},[76900],{"type":1455},{"data":76902,"marks":76903,"value":22438,"nodeType":864},{},[],{"data":76905,"content":76906,"nodeType":945},{},[76907],{"data":76908,"content":76909,"nodeType":860},{},[76910,76913,76920],{"data":76911,"marks":76912,"value":68429,"nodeType":864},{},[],{"data":76914,"content":76915,"nodeType":883},{"uri":68432},[76916],{"data":76917,"marks":76918,"value":68438,"nodeType":864},{},[76919],{"type":1455},{"data":76921,"marks":76922,"value":22438,"nodeType":864},{},[],{"data":76924,"content":76925,"nodeType":860},{},[76926,76929,76933],{"data":76927,"marks":76928,"value":68448,"nodeType":864},{},[],{"data":76930,"marks":76931,"value":68453,"nodeType":864},{},[76932],{"type":899},{"data":76934,"marks":76935,"value":68457,"nodeType":864},{},[],{"data":76937,"content":76938,"nodeType":860},{},[76939],{"data":76940,"marks":76941,"value":68464,"nodeType":864},{},[],{"data":76943,"content":76946,"nodeType":996},{"target":76944},{"sys":76945},{"id":68469,"type":1001,"linkType":1002},[],{"data":76948,"content":76949,"nodeType":1005},{},[],{"data":76951,"content":76952,"nodeType":1009},{},[76953],{"data":76954,"marks":76955,"value":68481,"nodeType":864},{},[76956],{"type":899},{"data":76958,"content":76959,"nodeType":860},{},[76960],{"data":76961,"marks":76962,"value":68488,"nodeType":864},{},[],{"data":76964,"content":76965,"nodeType":941},{},[76966,76995,77014],{"data":76967,"content":76968,"nodeType":945},{},[76969],{"data":76970,"content":76971,"nodeType":860},{},[76972,76975,76982,76985,76992],{"data":76973,"marks":76974,"value":21,"nodeType":864},{},[],{"data":76976,"content":76977,"nodeType":883},{"uri":35369},[76978],{"data":76979,"marks":76980,"value":68508,"nodeType":864},{},[76981],{"type":1455},{"data":76983,"marks":76984,"value":68512,"nodeType":864},{},[],{"data":76986,"content":76987,"nodeType":883},{"uri":48062},[76988],{"data":76989,"marks":76990,"value":68520,"nodeType":864},{},[76991],{"type":1455},{"data":76993,"marks":76994,"value":68524,"nodeType":864},{},[],{"data":76996,"content":76997,"nodeType":945},{},[76998],{"data":76999,"content":77000,"nodeType":860},{},[77001,77004,77011],{"data":77002,"marks":77003,"value":21,"nodeType":864},{},[],{"data":77005,"content":77006,"nodeType":883},{"uri":34857},[77007],{"data":77008,"marks":77009,"value":68541,"nodeType":864},{},[77010],{"type":1455},{"data":77012,"marks":77013,"value":68545,"nodeType":864},{},[],{"data":77015,"content":77016,"nodeType":945},{},[77017],{"data":77018,"content":77019,"nodeType":860},{},[77020],{"data":77021,"marks":77022,"value":68555,"nodeType":864},{},[],{"data":77024,"content":77025,"nodeType":860},{},[77026],{"data":77027,"marks":77028,"value":68562,"nodeType":864},{},[],{"data":77030,"content":77031,"nodeType":860},{},[77032,77035,77042],{"data":77033,"marks":77034,"value":68569,"nodeType":864},{},[],{"data":77036,"content":77037,"nodeType":883},{"uri":1700},[77038],{"data":77039,"marks":77040,"value":65931,"nodeType":864},{},[77041],{"type":1455},{"data":77043,"marks":77044,"value":2924,"nodeType":864},{},[],{"items":77046},[77047],{"sys":77048,"name":6593},{"id":6592},{"items":77050},[77051],{"fullName":2736,"firstName":2737,"jobTitle":2738,"profilePicture":77052},{"url":2740},{"__typename":2059,"sys":77054,"content":77055,"title":65936,"synopsis":65937,"hashTags":59,"publishedDate":48926,"slug":65938,"tagsCollection":77613,"authorsCollection":77619},{"id":65298},{"json":77056},{"data":77057,"content":77058,"nodeType":856},{},[77059,77064,77067,77073,77094,77119,77128,77144,77150,77155,77161,77174,77180,77183,77189,77195,77211,77217,77257,77263,77268,77273,77279,77309,77322,77325,77331,77337,77343,77349,77355,77361,77367,77460,77465,77478,77484,77497,77527,77540,77546,77559,77564,77570,77576,77581,77587,77592,77598],{"data":77060,"content":77063,"nodeType":996},{"target":77061},{"sys":77062},{"id":65307,"type":1001,"linkType":1002},[],{"data":77065,"content":77066,"nodeType":1005},{},[],{"data":77068,"content":77069,"nodeType":860},{},[77070],{"data":77071,"marks":77072,"value":65318,"nodeType":864},{},[],{"data":77074,"content":77075,"nodeType":941},{},[77076,77085],{"data":77077,"content":77078,"nodeType":945},{},[77079],{"data":77080,"content":77081,"nodeType":860},{},[77082],{"data":77083,"marks":77084,"value":65331,"nodeType":864},{},[],{"data":77086,"content":77087,"nodeType":945},{},[77088],{"data":77089,"content":77090,"nodeType":860},{},[77091],{"data":77092,"marks":77093,"value":65341,"nodeType":864},{},[],{"data":77095,"content":77096,"nodeType":860},{},[77097,77100,77107,77110,77116],{"data":77098,"marks":77099,"value":65348,"nodeType":864},{},[],{"data":77101,"content":77102,"nodeType":883},{"uri":8628},[77103],{"data":77104,"marks":77105,"value":65356,"nodeType":864},{},[77106],{"type":1455},{"data":77108,"marks":77109,"value":65360,"nodeType":864},{},[],{"data":77111,"content":77112,"nodeType":883},{"uri":48548},[77113],{"data":77114,"marks":77115,"value":65367,"nodeType":864},{},[],{"data":77117,"marks":77118,"value":65371,"nodeType":864},{},[],{"data":77120,"content":77121,"nodeType":1116},{},[77122],{"data":77123,"content":77124,"nodeType":860},{},[77125],{"data":77126,"marks":77127,"value":65381,"nodeType":864},{},[],{"data":77129,"content":77130,"nodeType":860},{},[77131,77134,77141],{"data":77132,"marks":77133,"value":65388,"nodeType":864},{},[],{"data":77135,"content":77136,"nodeType":883},{"uri":3751},[77137],{"data":77138,"marks":77139,"value":65396,"nodeType":864},{},[77140],{"type":1455},{"data":77142,"marks":77143,"value":65400,"nodeType":864},{},[],{"data":77145,"content":77146,"nodeType":860},{},[77147],{"data":77148,"marks":77149,"value":65407,"nodeType":864},{},[],{"data":77151,"content":77154,"nodeType":996},{"target":77152},{"sys":77153},{"id":65412,"type":1001,"linkType":1002},[],{"data":77156,"content":77157,"nodeType":860},{},[77158],{"data":77159,"marks":77160,"value":65420,"nodeType":864},{},[],{"data":77162,"content":77163,"nodeType":860},{},[77164,77167,77171],{"data":77165,"marks":77166,"value":65427,"nodeType":864},{},[],{"data":77168,"marks":77169,"value":28463,"nodeType":864},{},[77170],{"type":899},{"data":77172,"marks":77173,"value":65435,"nodeType":864},{},[],{"data":77175,"content":77176,"nodeType":860},{},[77177],{"data":77178,"marks":77179,"value":65442,"nodeType":864},{},[],{"data":77181,"content":77182,"nodeType":1005},{},[],{"data":77184,"content":77185,"nodeType":1009},{},[77186],{"data":77187,"marks":77188,"value":65452,"nodeType":864},{},[],{"data":77190,"content":77191,"nodeType":860},{},[77192],{"data":77193,"marks":77194,"value":65459,"nodeType":864},{},[],{"data":77196,"content":77197,"nodeType":860},{},[77198,77201,77208],{"data":77199,"marks":77200,"value":65466,"nodeType":864},{},[],{"data":77202,"content":77203,"nodeType":883},{"uri":65469},[77204],{"data":77205,"marks":77206,"value":65475,"nodeType":864},{},[77207],{"type":1455},{"data":77209,"marks":77210,"value":2924,"nodeType":864},{},[],{"data":77212,"content":77213,"nodeType":860},{},[77214],{"data":77215,"marks":77216,"value":65485,"nodeType":864},{},[],{"data":77218,"content":77219,"nodeType":941},{},[77220,77229,77238],{"data":77221,"content":77222,"nodeType":945},{},[77223],{"data":77224,"content":77225,"nodeType":860},{},[77226],{"data":77227,"marks":77228,"value":65498,"nodeType":864},{},[],{"data":77230,"content":77231,"nodeType":945},{},[77232],{"data":77233,"content":77234,"nodeType":860},{},[77235],{"data":77236,"marks":77237,"value":65508,"nodeType":864},{},[],{"data":77239,"content":77240,"nodeType":945},{},[77241],{"data":77242,"content":77243,"nodeType":860},{},[77244,77247,77254],{"data":77245,"marks":77246,"value":65518,"nodeType":864},{},[],{"data":77248,"content":77249,"nodeType":883},{"uri":39911},[77250],{"data":77251,"marks":77252,"value":65526,"nodeType":864},{},[77253],{"type":1455},{"data":77255,"marks":77256,"value":65530,"nodeType":864},{},[],{"data":77258,"content":77259,"nodeType":860},{},[77260],{"data":77261,"marks":77262,"value":65537,"nodeType":864},{},[],{"data":77264,"content":77267,"nodeType":996},{"target":77265},{"sys":77266},{"id":65542,"type":1001,"linkType":1002},[],{"data":77269,"content":77272,"nodeType":996},{"target":77270},{"sys":77271},{"id":50890,"type":1001,"linkType":1002},[],{"data":77274,"content":77275,"nodeType":860},{},[77276],{"data":77277,"marks":77278,"value":65555,"nodeType":864},{},[],{"data":77280,"content":77281,"nodeType":941},{},[77282,77291,77300],{"data":77283,"content":77284,"nodeType":945},{},[77285],{"data":77286,"content":77287,"nodeType":860},{},[77288],{"data":77289,"marks":77290,"value":65568,"nodeType":864},{},[],{"data":77292,"content":77293,"nodeType":945},{},[77294],{"data":77295,"content":77296,"nodeType":860},{},[77297],{"data":77298,"marks":77299,"value":65578,"nodeType":864},{},[],{"data":77301,"content":77302,"nodeType":945},{},[77303],{"data":77304,"content":77305,"nodeType":860},{},[77306],{"data":77307,"marks":77308,"value":65588,"nodeType":864},{},[],{"data":77310,"content":77311,"nodeType":860},{},[77312,77315,77319],{"data":77313,"marks":77314,"value":65595,"nodeType":864},{},[],{"data":77316,"marks":77317,"value":28463,"nodeType":864},{},[77318],{"type":899},{"data":77320,"marks":77321,"value":2924,"nodeType":864},{},[],{"data":77323,"content":77324,"nodeType":1005},{},[],{"data":77326,"content":77327,"nodeType":1009},{},[77328],{"data":77329,"marks":77330,"value":65612,"nodeType":864},{},[],{"data":77332,"content":77333,"nodeType":860},{},[77334],{"data":77335,"marks":77336,"value":65619,"nodeType":864},{},[],{"data":77338,"content":77339,"nodeType":860},{},[77340],{"data":77341,"marks":77342,"value":65626,"nodeType":864},{},[],{"data":77344,"content":77345,"nodeType":860},{},[77346],{"data":77347,"marks":77348,"value":65633,"nodeType":864},{},[],{"data":77350,"content":77351,"nodeType":860},{},[77352],{"data":77353,"marks":77354,"value":65640,"nodeType":864},{},[],{"data":77356,"content":77357,"nodeType":860},{},[77358],{"data":77359,"marks":77360,"value":65647,"nodeType":864},{},[],{"data":77362,"content":77363,"nodeType":860},{},[77364],{"data":77365,"marks":77366,"value":65654,"nodeType":864},{},[],{"data":77368,"content":77369,"nodeType":941},{},[77370,77386,77395,77418,77441],{"data":77371,"content":77372,"nodeType":945},{},[77373],{"data":77374,"content":77375,"nodeType":860},{},[77376,77379,77383],{"data":77377,"marks":77378,"value":65667,"nodeType":864},{},[],{"data":77380,"marks":77381,"value":65672,"nodeType":864},{},[77382],{"type":899},{"data":77384,"marks":77385,"value":65676,"nodeType":864},{},[],{"data":77387,"content":77388,"nodeType":945},{},[77389],{"data":77390,"content":77391,"nodeType":860},{},[77392],{"data":77393,"marks":77394,"value":65686,"nodeType":864},{},[],{"data":77396,"content":77397,"nodeType":945},{},[77398],{"data":77399,"content":77400,"nodeType":860},{},[77401,77404,77408,77411,77415],{"data":77402,"marks":77403,"value":65696,"nodeType":864},{},[],{"data":77405,"marks":77406,"value":65701,"nodeType":864},{},[77407],{"type":899},{"data":77409,"marks":77410,"value":65705,"nodeType":864},{},[],{"data":77412,"marks":77413,"value":65710,"nodeType":864},{},[77414],{"type":899},{"data":77416,"marks":77417,"value":2924,"nodeType":864},{},[],{"data":77419,"content":77420,"nodeType":945},{},[77421],{"data":77422,"content":77423,"nodeType":860},{},[77424,77427,77431,77434,77438],{"data":77425,"marks":77426,"value":65723,"nodeType":864},{},[],{"data":77428,"marks":77429,"value":28463,"nodeType":864},{},[77430],{"type":899},{"data":77432,"marks":77433,"value":65731,"nodeType":864},{},[],{"data":77435,"marks":77436,"value":51400,"nodeType":864},{},[77437],{"type":899},{"data":77439,"marks":77440,"value":65739,"nodeType":864},{},[],{"data":77442,"content":77443,"nodeType":945},{},[77444],{"data":77445,"content":77446,"nodeType":860},{},[77447,77450,77457],{"data":77448,"marks":77449,"value":65749,"nodeType":864},{},[],{"data":77451,"content":77452,"nodeType":883},{"uri":65752},[77453],{"data":77454,"marks":77455,"value":65758,"nodeType":864},{},[77456],{"type":1455},{"data":77458,"marks":77459,"value":2924,"nodeType":864},{},[],{"data":77461,"content":77464,"nodeType":996},{"target":77462},{"sys":77463},{"id":35444,"type":1001,"linkType":1002},[],{"data":77466,"content":77467,"nodeType":860},{},[77468,77471,77475],{"data":77469,"marks":77470,"value":65773,"nodeType":864},{},[],{"data":77472,"marks":77473,"value":28463,"nodeType":864},{},[77474],{"type":899},{"data":77476,"marks":77477,"value":65781,"nodeType":864},{},[],{"data":77479,"content":77480,"nodeType":1009},{},[77481],{"data":77482,"marks":77483,"value":65788,"nodeType":864},{},[],{"data":77485,"content":77486,"nodeType":860},{},[77487,77490,77494],{"data":77488,"marks":77489,"value":65795,"nodeType":864},{},[],{"data":77491,"marks":77492,"value":28463,"nodeType":864},{},[77493],{"type":899},{"data":77495,"marks":77496,"value":65803,"nodeType":864},{},[],{"data":77498,"content":77499,"nodeType":941},{},[77500,77509,77518],{"data":77501,"content":77502,"nodeType":945},{},[77503],{"data":77504,"content":77505,"nodeType":860},{},[77506],{"data":77507,"marks":77508,"value":65816,"nodeType":864},{},[],{"data":77510,"content":77511,"nodeType":945},{},[77512],{"data":77513,"content":77514,"nodeType":860},{},[77515],{"data":77516,"marks":77517,"value":65826,"nodeType":864},{},[],{"data":77519,"content":77520,"nodeType":945},{},[77521],{"data":77522,"content":77523,"nodeType":860},{},[77524],{"data":77525,"marks":77526,"value":65836,"nodeType":864},{},[],{"data":77528,"content":77529,"nodeType":860},{},[77530,77533,77537],{"data":77531,"marks":77532,"value":65843,"nodeType":864},{},[],{"data":77534,"marks":77535,"value":31894,"nodeType":864},{},[77536],{"type":2246},{"data":77538,"marks":77539,"value":65851,"nodeType":864},{},[],{"data":77541,"content":77542,"nodeType":860},{},[77543],{"data":77544,"marks":77545,"value":51374,"nodeType":864},{},[],{"data":77547,"content":77548,"nodeType":860},{},[77549,77552,77556],{"data":77550,"marks":77551,"value":65864,"nodeType":864},{},[],{"data":77553,"marks":77554,"value":51400,"nodeType":864},{},[77555],{"type":899},{"data":77557,"marks":77558,"value":65872,"nodeType":864},{},[],{"data":77560,"content":77563,"nodeType":996},{"target":77561},{"sys":77562},{"id":65877,"type":1001,"linkType":1002},[],{"data":77565,"content":77566,"nodeType":860},{},[77567],{"data":77568,"marks":77569,"value":65885,"nodeType":864},{},[],{"data":77571,"content":77572,"nodeType":860},{},[77573],{"data":77574,"marks":77575,"value":65892,"nodeType":864},{},[],{"data":77577,"content":77580,"nodeType":996},{"target":77578},{"sys":77579},{"id":65897,"type":1001,"linkType":1002},[],{"data":77582,"content":77583,"nodeType":860},{},[77584],{"data":77585,"marks":77586,"value":65905,"nodeType":864},{},[],{"data":77588,"content":77591,"nodeType":996},{"target":77589},{"sys":77590},{"id":65910,"type":1001,"linkType":1002},[],{"data":77593,"content":77594,"nodeType":1009},{},[77595],{"data":77596,"marks":77597,"value":36405,"nodeType":864},{},[],{"data":77599,"content":77600,"nodeType":860},{},[77601,77604,77610],{"data":77602,"marks":77603,"value":65924,"nodeType":864},{},[],{"data":77605,"content":77606,"nodeType":883},{"uri":28771},[77607],{"data":77608,"marks":77609,"value":65931,"nodeType":864},{},[],{"data":77611,"marks":77612,"value":65935,"nodeType":864},{},[],{"items":77614},[77615,77617],{"sys":77616,"name":297},{"id":2732},{"sys":77618,"name":342},{"id":6596},{"items":77620},[77621],{"fullName":849,"firstName":850,"jobTitle":851,"profilePicture":77622},{"url":853},{"__typename":2059,"sys":77624,"content":77625,"title":75355,"synopsis":75356,"hashTags":59,"publishedDate":75357,"slug":75358,"tagsCollection":78930,"authorsCollection":78934},{"id":73855},{"json":77626},{"data":77627,"content":77628,"nodeType":856},{},[77629,77635,77641,77654,77659,77674,77680,77686,77689,77695,77701,77771,77777,77783,77789,77795,77801,77807,77820,77825,77899,77905,77911,77942,77948,77953,77959,77972,78067,78087,78092,78098,78111,78116,78119,78125,78131,78144,78150,78156,78162,78182,78199,78204,78210,78216,78222,78235,78240,78271,78276,78282,78309,78319,78325,78331,78337,78381,78387,78392,78398,78401,78407,78413,78419,78425,78473,78486,78532,78559,78565,78620,78625,78631,78679,78696,78702,78715,78750,78756,78762,78768,78790,78795,78798,78804,78810,78816,78913,78919,78924],{"data":77630,"content":77631,"nodeType":1009},{},[77632],{"data":77633,"marks":77634,"value":73866,"nodeType":864},{},[],{"data":77636,"content":77637,"nodeType":860},{},[77638],{"data":77639,"marks":77640,"value":73873,"nodeType":864},{},[],{"data":77642,"content":77643,"nodeType":860},{},[77644,77647,77651],{"data":77645,"marks":77646,"value":73880,"nodeType":864},{},[],{"data":77648,"marks":77649,"value":73885,"nodeType":864},{},[77650],{"type":2246},{"data":77652,"marks":77653,"value":73889,"nodeType":864},{},[],{"data":77655,"content":77658,"nodeType":996},{"target":77656},{"sys":77657},{"id":73894,"type":1001,"linkType":1002},[],{"data":77660,"content":77661,"nodeType":860},{},[77662,77665,77671],{"data":77663,"marks":77664,"value":73902,"nodeType":864},{},[],{"data":77666,"content":77667,"nodeType":883},{"uri":73905},[77668],{"data":77669,"marks":77670,"value":73910,"nodeType":864},{},[],{"data":77672,"marks":77673,"value":73914,"nodeType":864},{},[],{"data":77675,"content":77676,"nodeType":860},{},[77677],{"data":77678,"marks":77679,"value":73921,"nodeType":864},{},[],{"data":77681,"content":77682,"nodeType":860},{},[77683],{"data":77684,"marks":77685,"value":73928,"nodeType":864},{},[],{"data":77687,"content":77688,"nodeType":1005},{},[],{"data":77690,"content":77691,"nodeType":1009},{},[77692],{"data":77693,"marks":77694,"value":73938,"nodeType":864},{},[],{"data":77696,"content":77697,"nodeType":860},{},[77698],{"data":77699,"marks":77700,"value":73945,"nodeType":864},{},[],{"data":77702,"content":77703,"nodeType":941},{},[77704,77724,77744,77753,77762],{"data":77705,"content":77706,"nodeType":945},{},[77707],{"data":77708,"content":77709,"nodeType":860},{},[77710,77713,77721],{"data":77711,"marks":77712,"value":73958,"nodeType":864},{},[],{"data":77714,"content":77717,"nodeType":27604},{"target":77715},{"sys":77716},{"id":73963,"type":1001,"linkType":1002},[77718],{"data":77719,"marks":77720,"value":73968,"nodeType":864},{},[],{"data":77722,"marks":77723,"value":2924,"nodeType":864},{},[],{"data":77725,"content":77726,"nodeType":945},{},[77727],{"data":77728,"content":77729,"nodeType":860},{},[77730,77733,77741],{"data":77731,"marks":77732,"value":73981,"nodeType":864},{},[],{"data":77734,"content":77737,"nodeType":27604},{"target":77735},{"sys":77736},{"id":73986,"type":1001,"linkType":1002},[77738],{"data":77739,"marks":77740,"value":73991,"nodeType":864},{},[],{"data":77742,"marks":77743,"value":73995,"nodeType":864},{},[],{"data":77745,"content":77746,"nodeType":945},{},[77747],{"data":77748,"content":77749,"nodeType":860},{},[77750],{"data":77751,"marks":77752,"value":74005,"nodeType":864},{},[],{"data":77754,"content":77755,"nodeType":945},{},[77756],{"data":77757,"content":77758,"nodeType":860},{},[77759],{"data":77760,"marks":77761,"value":74015,"nodeType":864},{},[],{"data":77763,"content":77764,"nodeType":945},{},[77765],{"data":77766,"content":77767,"nodeType":860},{},[77768],{"data":77769,"marks":77770,"value":74025,"nodeType":864},{},[],{"data":77772,"content":77773,"nodeType":860},{},[77774],{"data":77775,"marks":77776,"value":74032,"nodeType":864},{},[],{"data":77778,"content":77779,"nodeType":860},{},[77780],{"data":77781,"marks":77782,"value":74039,"nodeType":864},{},[],{"data":77784,"content":77785,"nodeType":860},{},[77786],{"data":77787,"marks":77788,"value":74046,"nodeType":864},{},[],{"data":77790,"content":77791,"nodeType":860},{},[77792],{"data":77793,"marks":77794,"value":74053,"nodeType":864},{},[],{"data":77796,"content":77797,"nodeType":860},{},[77798],{"data":77799,"marks":77800,"value":74060,"nodeType":864},{},[],{"data":77802,"content":77803,"nodeType":1312},{},[77804],{"data":77805,"marks":77806,"value":74067,"nodeType":864},{},[],{"data":77808,"content":77809,"nodeType":860},{},[77810,77813,77817],{"data":77811,"marks":77812,"value":74074,"nodeType":864},{},[],{"data":77814,"marks":77815,"value":74079,"nodeType":864},{},[77816],{"type":899},{"data":77818,"marks":77819,"value":2924,"nodeType":864},{},[],{"data":77821,"content":77824,"nodeType":996},{"target":77822},{"sys":77823},{"id":74087,"type":1001,"linkType":1002},[],{"data":77826,"content":77827,"nodeType":941},{},[77828,77865,77874,77883],{"data":77829,"content":77830,"nodeType":945},{},[77831],{"data":77832,"content":77833,"nodeType":860},{},[77834,77837,77841,77844,77848,77851,77855,77858,77862],{"data":77835,"marks":77836,"value":28673,"nodeType":864},{},[],{"data":77838,"marks":77839,"value":51400,"nodeType":864},{},[77840],{"type":899},{"data":77842,"marks":77843,"value":74108,"nodeType":864},{},[],{"data":77845,"marks":77846,"value":74079,"nodeType":864},{},[77847],{"type":899},{"data":77849,"marks":77850,"value":74116,"nodeType":864},{},[],{"data":77852,"marks":77853,"value":1503,"nodeType":864},{},[77854],{"type":899},{"data":77856,"marks":77857,"value":27405,"nodeType":864},{},[],{"data":77859,"marks":77860,"value":1397,"nodeType":864},{},[77861],{"type":899},{"data":77863,"marks":77864,"value":2924,"nodeType":864},{},[],{"data":77866,"content":77867,"nodeType":945},{},[77868],{"data":77869,"content":77870,"nodeType":860},{},[77871],{"data":77872,"marks":77873,"value":74140,"nodeType":864},{},[],{"data":77875,"content":77876,"nodeType":945},{},[77877],{"data":77878,"content":77879,"nodeType":860},{},[77880],{"data":77881,"marks":77882,"value":74150,"nodeType":864},{},[],{"data":77884,"content":77885,"nodeType":945},{},[77886],{"data":77887,"content":77888,"nodeType":860},{},[77889,77892,77896],{"data":77890,"marks":77891,"value":74160,"nodeType":864},{},[],{"data":77893,"marks":77894,"value":28609,"nodeType":864},{},[77895],{"type":899},{"data":77897,"marks":77898,"value":74168,"nodeType":864},{},[],{"data":77900,"content":77901,"nodeType":860},{},[77902],{"data":77903,"marks":77904,"value":74175,"nodeType":864},{},[],{"data":77906,"content":77907,"nodeType":1312},{},[77908],{"data":77909,"marks":77910,"value":74182,"nodeType":864},{},[],{"data":77912,"content":77913,"nodeType":860},{},[77914,77917,77925,77928,77932,77935,77939],{"data":77915,"marks":77916,"value":74189,"nodeType":864},{},[],{"data":77918,"content":77921,"nodeType":27604},{"target":77919},{"sys":77920},{"id":72794,"type":1001,"linkType":1002},[77922],{"data":77923,"marks":77924,"value":74198,"nodeType":864},{},[],{"data":77926,"marks":77927,"value":74202,"nodeType":864},{},[],{"data":77929,"marks":77930,"value":74207,"nodeType":864},{},[77931],{"type":899},{"data":77933,"marks":77934,"value":74211,"nodeType":864},{},[],{"data":77936,"marks":77937,"value":74216,"nodeType":864},{},[77938],{"type":899},{"data":77940,"marks":77941,"value":1774,"nodeType":864},{},[],{"data":77943,"content":77944,"nodeType":860},{},[77945],{"data":77946,"marks":77947,"value":74226,"nodeType":864},{},[],{"data":77949,"content":77952,"nodeType":996},{"target":77950},{"sys":77951},{"id":74231,"type":1001,"linkType":1002},[],{"data":77954,"content":77955,"nodeType":1312},{},[77956],{"data":77957,"marks":77958,"value":74239,"nodeType":864},{},[],{"data":77960,"content":77961,"nodeType":860},{},[77962,77965,77969],{"data":77963,"marks":77964,"value":74246,"nodeType":864},{},[],{"data":77966,"marks":77967,"value":1334,"nodeType":864},{},[77968],{"type":899},{"data":77970,"marks":77971,"value":74254,"nodeType":864},{},[],{"data":77973,"content":77974,"nodeType":941},{},[77975,78007,78027,78047],{"data":77976,"content":77977,"nodeType":945},{},[77978],{"data":77979,"content":77980,"nodeType":860},{},[77981,77985,77988,77997,78000,78004],{"data":77982,"marks":77983,"value":74268,"nodeType":864},{},[77984],{"type":899},{"data":77986,"marks":77987,"value":74272,"nodeType":864},{},[],{"data":77989,"content":77992,"nodeType":27604},{"target":77990},{"sys":77991},{"id":74277,"type":1001,"linkType":1002},[77993],{"data":77994,"marks":77995,"value":74283,"nodeType":864},{},[77996],{"type":899},{"data":77998,"marks":77999,"value":74287,"nodeType":864},{},[],{"data":78001,"marks":78002,"value":28678,"nodeType":864},{},[78003],{"type":899},{"data":78005,"marks":78006,"value":74295,"nodeType":864},{},[],{"data":78008,"content":78009,"nodeType":945},{},[78010],{"data":78011,"content":78012,"nodeType":860},{},[78013,78017,78020,78024],{"data":78014,"marks":78015,"value":74306,"nodeType":864},{},[78016],{"type":899},{"data":78018,"marks":78019,"value":74310,"nodeType":864},{},[],{"data":78021,"marks":78022,"value":1334,"nodeType":864},{},[78023],{"type":899},{"data":78025,"marks":78026,"value":74318,"nodeType":864},{},[],{"data":78028,"content":78029,"nodeType":945},{},[78030],{"data":78031,"content":78032,"nodeType":860},{},[78033,78037,78040,78044],{"data":78034,"marks":78035,"value":74329,"nodeType":864},{},[78036],{"type":899},{"data":78038,"marks":78039,"value":74333,"nodeType":864},{},[],{"data":78041,"marks":78042,"value":1334,"nodeType":864},{},[78043],{"type":899},{"data":78045,"marks":78046,"value":74341,"nodeType":864},{},[],{"data":78048,"content":78049,"nodeType":945},{},[78050],{"data":78051,"content":78052,"nodeType":860},{},[78053,78057,78060,78064],{"data":78054,"marks":78055,"value":74352,"nodeType":864},{},[78056],{"type":899},{"data":78058,"marks":78059,"value":74356,"nodeType":864},{},[],{"data":78061,"marks":78062,"value":74079,"nodeType":864},{},[78063],{"type":899},{"data":78065,"marks":78066,"value":74364,"nodeType":864},{},[],{"data":78068,"content":78069,"nodeType":860},{},[78070,78073,78077,78080,78084],{"data":78071,"marks":78072,"value":74371,"nodeType":864},{},[],{"data":78074,"marks":78075,"value":28609,"nodeType":864},{},[78076],{"type":899},{"data":78078,"marks":78079,"value":74379,"nodeType":864},{},[],{"data":78081,"marks":78082,"value":74384,"nodeType":864},{},[78083],{"type":899},{"data":78085,"marks":78086,"value":74388,"nodeType":864},{},[],{"data":78088,"content":78091,"nodeType":996},{"target":78089},{"sys":78090},{"id":74393,"type":1001,"linkType":1002},[],{"data":78093,"content":78094,"nodeType":1312},{},[78095],{"data":78096,"marks":78097,"value":74401,"nodeType":864},{},[],{"data":78099,"content":78100,"nodeType":860},{},[78101,78104,78108],{"data":78102,"marks":78103,"value":74408,"nodeType":864},{},[],{"data":78105,"marks":78106,"value":74413,"nodeType":864},{},[78107],{"type":899},{"data":78109,"marks":78110,"value":74417,"nodeType":864},{},[],{"data":78112,"content":78115,"nodeType":996},{"target":78113},{"sys":78114},{"id":74422,"type":1001,"linkType":1002},[],{"data":78117,"content":78118,"nodeType":1005},{},[],{"data":78120,"content":78121,"nodeType":1009},{},[78122],{"data":78123,"marks":78124,"value":74433,"nodeType":864},{},[],{"data":78126,"content":78127,"nodeType":860},{},[78128],{"data":78129,"marks":78130,"value":74440,"nodeType":864},{},[],{"data":78132,"content":78133,"nodeType":860},{},[78134,78137,78141],{"data":78135,"marks":78136,"value":74447,"nodeType":864},{},[],{"data":78138,"marks":78139,"value":74216,"nodeType":864},{},[78140],{"type":899},{"data":78142,"marks":78143,"value":74455,"nodeType":864},{},[],{"data":78145,"content":78146,"nodeType":860},{},[78147],{"data":78148,"marks":78149,"value":74462,"nodeType":864},{},[],{"data":78151,"content":78152,"nodeType":860},{},[78153],{"data":78154,"marks":78155,"value":74469,"nodeType":864},{},[],{"data":78157,"content":78158,"nodeType":1312},{},[78159],{"data":78160,"marks":78161,"value":74476,"nodeType":864},{},[],{"data":78163,"content":78164,"nodeType":860},{},[78165,78168,78172,78175,78179],{"data":78166,"marks":78167,"value":74483,"nodeType":864},{},[],{"data":78169,"marks":78170,"value":74216,"nodeType":864},{},[78171],{"type":899},{"data":78173,"marks":78174,"value":74491,"nodeType":864},{},[],{"data":78176,"marks":78177,"value":74207,"nodeType":864},{},[78178],{"type":899},{"data":78180,"marks":78181,"value":74499,"nodeType":864},{},[],{"data":78183,"content":78184,"nodeType":860},{},[78185,78189,78192,78196],{"data":78186,"marks":78187,"value":74507,"nodeType":864},{},[78188],{"type":899},{"data":78190,"marks":78191,"value":74511,"nodeType":864},{},[],{"data":78193,"marks":78194,"value":74516,"nodeType":864},{},[78195],{"type":899},{"data":78197,"marks":78198,"value":74520,"nodeType":864},{},[],{"data":78200,"content":78203,"nodeType":996},{"target":78201},{"sys":78202},{"id":74525,"type":1001,"linkType":1002},[],{"data":78205,"content":78206,"nodeType":860},{},[78207],{"data":78208,"marks":78209,"value":74533,"nodeType":864},{},[],{"data":78211,"content":78212,"nodeType":860},{},[78213],{"data":78214,"marks":78215,"value":74540,"nodeType":864},{},[],{"data":78217,"content":78218,"nodeType":1312},{},[78219],{"data":78220,"marks":78221,"value":74547,"nodeType":864},{},[],{"data":78223,"content":78224,"nodeType":860},{},[78225,78228,78232],{"data":78226,"marks":78227,"value":74554,"nodeType":864},{},[],{"data":78229,"marks":78230,"value":74559,"nodeType":864},{},[78231],{"type":899},{"data":78233,"marks":78234,"value":74563,"nodeType":864},{},[],{"data":78236,"content":78239,"nodeType":996},{"target":78237},{"sys":78238},{"id":74568,"type":1001,"linkType":1002},[],{"data":78241,"content":78242,"nodeType":860},{},[78243,78246,78250,78253,78257,78260,78268],{"data":78244,"marks":78245,"value":74576,"nodeType":864},{},[],{"data":78247,"marks":78248,"value":65701,"nodeType":864},{},[78249],{"type":899},{"data":78251,"marks":78252,"value":74584,"nodeType":864},{},[],{"data":78254,"marks":78255,"value":74589,"nodeType":864},{},[78256],{"type":899},{"data":78258,"marks":78259,"value":74593,"nodeType":864},{},[],{"data":78261,"content":78264,"nodeType":27604},{"target":78262},{"sys":78263},{"id":74598,"type":1001,"linkType":1002},[78265],{"data":78266,"marks":78267,"value":17706,"nodeType":864},{},[],{"data":78269,"marks":78270,"value":2924,"nodeType":864},{},[],{"data":78272,"content":78275,"nodeType":996},{"target":78273},{"sys":78274},{"id":74610,"type":1001,"linkType":1002},[],{"data":78277,"content":78278,"nodeType":1312},{},[78279],{"data":78280,"marks":78281,"value":74618,"nodeType":864},{},[],{"data":78283,"content":78284,"nodeType":860},{},[78285,78288,78292,78295,78299,78302,78306],{"data":78286,"marks":78287,"value":28458,"nodeType":864},{},[],{"data":78289,"marks":78290,"value":65672,"nodeType":864},{},[78291],{"type":899},{"data":78293,"marks":78294,"value":3731,"nodeType":864},{},[],{"data":78296,"marks":78297,"value":74636,"nodeType":864},{},[78298],{"type":899},{"data":78300,"marks":78301,"value":2232,"nodeType":864},{},[],{"data":78303,"marks":78304,"value":65701,"nodeType":864},{},[78305],{"type":899},{"data":78307,"marks":78308,"value":74647,"nodeType":864},{},[],{"data":78310,"content":78311,"nodeType":860},{},[78312,78316],{"data":78313,"marks":78314,"value":74655,"nodeType":864},{},[78315],{"type":899},{"data":78317,"marks":78318,"value":74659,"nodeType":864},{},[],{"data":78320,"content":78321,"nodeType":1312},{},[78322],{"data":78323,"marks":78324,"value":74666,"nodeType":864},{},[],{"data":78326,"content":78327,"nodeType":860},{},[78328],{"data":78329,"marks":78330,"value":74673,"nodeType":864},{},[],{"data":78332,"content":78333,"nodeType":860},{},[78334],{"data":78335,"marks":78336,"value":74680,"nodeType":864},{},[],{"data":78338,"content":78339,"nodeType":941},{},[78340,78363,78372],{"data":78341,"content":78342,"nodeType":945},{},[78343],{"data":78344,"content":78345,"nodeType":860},{},[78346,78349,78353,78356,78360],{"data":78347,"marks":78348,"value":74693,"nodeType":864},{},[],{"data":78350,"marks":78351,"value":74698,"nodeType":864},{},[78352],{"type":899},{"data":78354,"marks":78355,"value":902,"nodeType":864},{},[],{"data":78357,"marks":78358,"value":74706,"nodeType":864},{},[78359],{"type":899},{"data":78361,"marks":78362,"value":74710,"nodeType":864},{},[],{"data":78364,"content":78365,"nodeType":945},{},[78366],{"data":78367,"content":78368,"nodeType":860},{},[78369],{"data":78370,"marks":78371,"value":74720,"nodeType":864},{},[],{"data":78373,"content":78374,"nodeType":945},{},[78375],{"data":78376,"content":78377,"nodeType":860},{},[78378],{"data":78379,"marks":78380,"value":74730,"nodeType":864},{},[],{"data":78382,"content":78383,"nodeType":860},{},[78384],{"data":78385,"marks":78386,"value":74737,"nodeType":864},{},[],{"data":78388,"content":78391,"nodeType":996},{"target":78389},{"sys":78390},{"id":74742,"type":1001,"linkType":1002},[],{"data":78393,"content":78394,"nodeType":860},{},[78395],{"data":78396,"marks":78397,"value":74750,"nodeType":864},{},[],{"data":78399,"content":78400,"nodeType":1005},{},[],{"data":78402,"content":78403,"nodeType":1009},{},[78404],{"data":78405,"marks":78406,"value":74760,"nodeType":864},{},[],{"data":78408,"content":78409,"nodeType":860},{},[78410],{"data":78411,"marks":78412,"value":74767,"nodeType":864},{},[],{"data":78414,"content":78415,"nodeType":860},{},[78416],{"data":78417,"marks":78418,"value":74774,"nodeType":864},{},[],{"data":78420,"content":78421,"nodeType":1312},{},[78422],{"data":78423,"marks":78424,"value":74781,"nodeType":864},{},[],{"data":78426,"content":78427,"nodeType":860},{},[78428,78431,78435,78438,78442,78445,78449,78452,78456,78459,78463,78466,78470],{"data":78429,"marks":78430,"value":74788,"nodeType":864},{},[],{"data":78432,"marks":78433,"value":47996,"nodeType":864},{},[78434],{"type":899},{"data":78436,"marks":78437,"value":74796,"nodeType":864},{},[],{"data":78439,"marks":78440,"value":1503,"nodeType":864},{},[78441],{"type":899},{"data":78443,"marks":78444,"value":27405,"nodeType":864},{},[],{"data":78446,"marks":78447,"value":1397,"nodeType":864},{},[78448],{"type":899},{"data":78450,"marks":78451,"value":74811,"nodeType":864},{},[],{"data":78453,"marks":78454,"value":74079,"nodeType":864},{},[78455],{"type":899},{"data":78457,"marks":78458,"value":74819,"nodeType":864},{},[],{"data":78460,"marks":78461,"value":1503,"nodeType":864},{},[78462],{"type":899},{"data":78464,"marks":78465,"value":27405,"nodeType":864},{},[],{"data":78467,"marks":78468,"value":1397,"nodeType":864},{},[78469],{"type":899},{"data":78471,"marks":78472,"value":74834,"nodeType":864},{},[],{"data":78474,"content":78475,"nodeType":860},{},[78476,78479,78483],{"data":78477,"marks":78478,"value":28673,"nodeType":864},{},[],{"data":78480,"marks":78481,"value":51400,"nodeType":864},{},[78482],{"type":899},{"data":78484,"marks":78485,"value":74848,"nodeType":864},{},[],{"data":78487,"content":78488,"nodeType":941},{},[78489,78505,78514,78523],{"data":78490,"content":78491,"nodeType":945},{},[78492],{"data":78493,"content":78494,"nodeType":860},{},[78495,78498,78502],{"data":78496,"marks":78497,"value":74861,"nodeType":864},{},[],{"data":78499,"marks":78500,"value":74866,"nodeType":864},{},[78501],{"type":899},{"data":78503,"marks":78504,"value":2924,"nodeType":864},{},[],{"data":78506,"content":78507,"nodeType":945},{},[78508],{"data":78509,"content":78510,"nodeType":860},{},[78511],{"data":78512,"marks":78513,"value":74879,"nodeType":864},{},[],{"data":78515,"content":78516,"nodeType":945},{},[78517],{"data":78518,"content":78519,"nodeType":860},{},[78520],{"data":78521,"marks":78522,"value":74889,"nodeType":864},{},[],{"data":78524,"content":78525,"nodeType":945},{},[78526],{"data":78527,"content":78528,"nodeType":860},{},[78529],{"data":78530,"marks":78531,"value":74899,"nodeType":864},{},[],{"data":78533,"content":78534,"nodeType":860},{},[78535,78538,78542,78545,78549,78552,78556],{"data":78536,"marks":78537,"value":74906,"nodeType":864},{},[],{"data":78539,"marks":78540,"value":74079,"nodeType":864},{},[78541],{"type":899},{"data":78543,"marks":78544,"value":27405,"nodeType":864},{},[],{"data":78546,"marks":78547,"value":74918,"nodeType":864},{},[78548],{"type":899},{"data":78550,"marks":78551,"value":74922,"nodeType":864},{},[],{"data":78553,"marks":78554,"value":74927,"nodeType":864},{},[78555],{"type":899},{"data":78557,"marks":78558,"value":74931,"nodeType":864},{},[],{"data":78560,"content":78561,"nodeType":1312},{},[78562],{"data":78563,"marks":78564,"value":74938,"nodeType":864},{},[],{"data":78566,"content":78567,"nodeType":860},{},[78568,78571,78575,78578,78582,78585,78589,78592,78596,78599,78603,78606,78610,78613,78617],{"data":78569,"marks":78570,"value":74945,"nodeType":864},{},[],{"data":78572,"marks":78573,"value":1366,"nodeType":864},{},[78574],{"type":899},{"data":78576,"marks":78577,"value":74953,"nodeType":864},{},[],{"data":78579,"marks":78580,"value":74958,"nodeType":864},{},[78581],{"type":899},{"data":78583,"marks":78584,"value":3731,"nodeType":864},{},[],{"data":78586,"marks":78587,"value":1357,"nodeType":864},{},[78588],{"type":899},{"data":78590,"marks":78591,"value":3731,"nodeType":864},{},[],{"data":78593,"marks":78594,"value":74973,"nodeType":864},{},[78595],{"type":899},{"data":78597,"marks":78598,"value":12960,"nodeType":864},{},[],{"data":78600,"marks":78601,"value":1397,"nodeType":864},{},[78602],{"type":899},{"data":78604,"marks":78605,"value":74984,"nodeType":864},{},[],{"data":78607,"marks":78608,"value":51400,"nodeType":864},{},[78609],{"type":899},{"data":78611,"marks":78612,"value":74992,"nodeType":864},{},[],{"data":78614,"marks":78615,"value":74997,"nodeType":864},{},[78616],{"type":899},{"data":78618,"marks":78619,"value":75001,"nodeType":864},{},[],{"data":78621,"content":78624,"nodeType":996},{"target":78622},{"sys":78623},{"id":75006,"type":1001,"linkType":1002},[],{"data":78626,"content":78627,"nodeType":860},{},[78628],{"data":78629,"marks":78630,"value":75014,"nodeType":864},{},[],{"data":78632,"content":78633,"nodeType":941},{},[78634,78643,78652,78661,78670],{"data":78635,"content":78636,"nodeType":945},{},[78637],{"data":78638,"content":78639,"nodeType":860},{},[78640],{"data":78641,"marks":78642,"value":75027,"nodeType":864},{},[],{"data":78644,"content":78645,"nodeType":945},{},[78646],{"data":78647,"content":78648,"nodeType":860},{},[78649],{"data":78650,"marks":78651,"value":75037,"nodeType":864},{},[],{"data":78653,"content":78654,"nodeType":945},{},[78655],{"data":78656,"content":78657,"nodeType":860},{},[78658],{"data":78659,"marks":78660,"value":75047,"nodeType":864},{},[],{"data":78662,"content":78663,"nodeType":945},{},[78664],{"data":78665,"content":78666,"nodeType":860},{},[78667],{"data":78668,"marks":78669,"value":75057,"nodeType":864},{},[],{"data":78671,"content":78672,"nodeType":945},{},[78673],{"data":78674,"content":78675,"nodeType":860},{},[78676],{"data":78677,"marks":78678,"value":75067,"nodeType":864},{},[],{"data":78680,"content":78681,"nodeType":860},{},[78682,78686,78689,78693],{"data":78683,"marks":78684,"value":74655,"nodeType":864},{},[78685],{"type":899},{"data":78687,"marks":78688,"value":75078,"nodeType":864},{},[],{"data":78690,"marks":78691,"value":28609,"nodeType":864},{},[78692],{"type":899},{"data":78694,"marks":78695,"value":75086,"nodeType":864},{},[],{"data":78697,"content":78698,"nodeType":1312},{},[78699],{"data":78700,"marks":78701,"value":75093,"nodeType":864},{},[],{"data":78703,"content":78704,"nodeType":860},{},[78705,78708,78712],{"data":78706,"marks":78707,"value":75100,"nodeType":864},{},[],{"data":78709,"marks":78710,"value":28463,"nodeType":864},{},[78711],{"type":899},{"data":78713,"marks":78714,"value":75108,"nodeType":864},{},[],{"data":78716,"content":78717,"nodeType":941},{},[78718,78741],{"data":78719,"content":78720,"nodeType":945},{},[78721],{"data":78722,"content":78723,"nodeType":860},{},[78724,78727,78731,78734,78738],{"data":78725,"marks":78726,"value":28673,"nodeType":864},{},[],{"data":78728,"marks":78729,"value":51400,"nodeType":864},{},[78730],{"type":899},{"data":78732,"marks":78733,"value":75128,"nodeType":864},{},[],{"data":78735,"marks":78736,"value":28463,"nodeType":864},{},[78737],{"type":899},{"data":78739,"marks":78740,"value":75136,"nodeType":864},{},[],{"data":78742,"content":78743,"nodeType":945},{},[78744],{"data":78745,"content":78746,"nodeType":860},{},[78747],{"data":78748,"marks":78749,"value":75146,"nodeType":864},{},[],{"data":78751,"content":78752,"nodeType":860},{},[78753],{"data":78754,"marks":78755,"value":75153,"nodeType":864},{},[],{"data":78757,"content":78758,"nodeType":1312},{},[78759],{"data":78760,"marks":78761,"value":75160,"nodeType":864},{},[],{"data":78763,"content":78764,"nodeType":860},{},[78765],{"data":78766,"marks":78767,"value":75167,"nodeType":864},{},[],{"data":78769,"content":78770,"nodeType":860},{},[78771,78774,78778,78781,78787],{"data":78772,"marks":78773,"value":75174,"nodeType":864},{},[],{"data":78775,"marks":78776,"value":28609,"nodeType":864},{},[78777],{"type":899},{"data":78779,"marks":78780,"value":75182,"nodeType":864},{},[],{"data":78782,"content":78783,"nodeType":883},{"uri":28224},[78784],{"data":78785,"marks":78786,"value":75189,"nodeType":864},{},[],{"data":78788,"marks":78789,"value":75193,"nodeType":864},{},[],{"data":78791,"content":78794,"nodeType":996},{"target":78792},{"sys":78793},{"id":75198,"type":1001,"linkType":1002},[],{"data":78796,"content":78797,"nodeType":1005},{},[],{"data":78799,"content":78800,"nodeType":1009},{},[78801],{"data":78802,"marks":78803,"value":75209,"nodeType":864},{},[],{"data":78805,"content":78806,"nodeType":860},{},[78807],{"data":78808,"marks":78809,"value":75216,"nodeType":864},{},[],{"data":78811,"content":78812,"nodeType":860},{},[78813],{"data":78814,"marks":78815,"value":75223,"nodeType":864},{},[],{"data":78817,"content":78818,"nodeType":941},{},[78819,78832,78845,78858,78871,78887,78900],{"data":78820,"content":78821,"nodeType":945},{},[78822],{"data":78823,"content":78824,"nodeType":860},{},[78825,78829],{"data":78826,"marks":78827,"value":75237,"nodeType":864},{},[78828],{"type":899},{"data":78830,"marks":78831,"value":75241,"nodeType":864},{},[],{"data":78833,"content":78834,"nodeType":945},{},[78835],{"data":78836,"content":78837,"nodeType":860},{},[78838,78842],{"data":78839,"marks":78840,"value":75252,"nodeType":864},{},[78841],{"type":899},{"data":78843,"marks":78844,"value":75256,"nodeType":864},{},[],{"data":78846,"content":78847,"nodeType":945},{},[78848],{"data":78849,"content":78850,"nodeType":860},{},[78851,78855],{"data":78852,"marks":78853,"value":75267,"nodeType":864},{},[78854],{"type":899},{"data":78856,"marks":78857,"value":75271,"nodeType":864},{},[],{"data":78859,"content":78860,"nodeType":945},{},[78861],{"data":78862,"content":78863,"nodeType":860},{},[78864,78868],{"data":78865,"marks":78866,"value":75282,"nodeType":864},{},[78867],{"type":899},{"data":78869,"marks":78870,"value":75286,"nodeType":864},{},[],{"data":78872,"content":78873,"nodeType":945},{},[78874],{"data":78875,"content":78876,"nodeType":860},{},[78877,78880,78884],{"data":78878,"marks":78879,"value":75296,"nodeType":864},{},[],{"data":78881,"marks":78882,"value":75301,"nodeType":864},{},[78883],{"type":899},{"data":78885,"marks":78886,"value":75305,"nodeType":864},{},[],{"data":78888,"content":78889,"nodeType":945},{},[78890],{"data":78891,"content":78892,"nodeType":860},{},[78893,78897],{"data":78894,"marks":78895,"value":75316,"nodeType":864},{},[78896],{"type":899},{"data":78898,"marks":78899,"value":75320,"nodeType":864},{},[],{"data":78901,"content":78902,"nodeType":945},{},[78903],{"data":78904,"content":78905,"nodeType":860},{},[78906,78910],{"data":78907,"marks":78908,"value":75331,"nodeType":864},{},[78909],{"type":899},{"data":78911,"marks":78912,"value":75335,"nodeType":864},{},[],{"data":78914,"content":78915,"nodeType":860},{},[78916],{"data":78917,"marks":78918,"value":75342,"nodeType":864},{},[],{"data":78920,"content":78923,"nodeType":996},{"target":78921},{"sys":78922},{"id":75347,"type":1001,"linkType":1002},[],{"data":78925,"content":78926,"nodeType":860},{},[78927],{"data":78928,"marks":78929,"value":21,"nodeType":864},{},[],{"items":78931},[78932],{"sys":78933,"name":297},{"id":2732},{"items":78935},[78936],{"fullName":849,"firstName":850,"jobTitle":851,"profilePicture":78937},{"url":853},"blog/push-features-2024",{"json":78940},{"data":78941,"content":78942,"nodeType":856},{},[78943],{"data":78944,"content":78945,"nodeType":860},{},[78946],{"data":78947,"marks":78948,"value":78949,"nodeType":864},{},[],"Here’s how in-the-wild attacks and our own R&D inspired what we built over the last year to stop account takeover and reduce security risks across all your workforce identities.",{"id":47753,"publishedAt":78951},"2026-08-13T09:35:20.164Z",{"items":78953},[78954,78956],{"sys":78955,"name":342},{"id":6596},{"sys":78957,"name":297},{"id":2732},{"items":78959},[78960,78962,78964,78966,78968,78970,78972,78974,78976,78978,78980,78982,78984,78986,78988,78990,78992,78994,78996],{"sys":78961,"name":297,"slug":298,"tier":31},{"id":294},{"sys":78963,"name":342,"slug":343,"tier":31},{"id":339},{"sys":78965,"name":413,"slug":414,"tier":31},{"id":410},{"sys":78967,"name":279,"slug":280,"tier":31},{"id":276},{"sys":78969,"name":519,"slug":520,"tier":31},{"id":516},{"sys":78971,"name":545,"slug":546,"tier":31},{"id":542},{"sys":78973,"name":422,"slug":423,"tier":45},{"id":419},{"sys":78975,"name":528,"slug":529,"tier":45},{"id":525},{"sys":78977,"name":261,"slug":262,"tier":45},{"id":258},{"sys":78979,"name":511,"slug":512,"tier":45},{"id":508},{"sys":78981,"name":571,"slug":572,"tier":45},{"id":568},{"sys":78983,"name":333,"slug":334,"tier":45},{"id":330},{"sys":78985,"name":324,"slug":325,"tier":45},{"id":321},{"sys":78987,"name":466,"slug":467,"tier":45},{"id":463},{"sys":78989,"name":457,"slug":458,"tier":45},{"id":454},{"sys":78991,"name":502,"slug":503,"tier":45},{"id":499},{"sys":78993,"name":395,"slug":396,"tier":45},{"id":392},{"sys":78995,"name":589,"slug":590,"tier":45},{"id":586},{"sys":78997,"name":475,"slug":476,"tier":45},{"id":472},"4nKG_8I-DGCIJdQpuByj1hJyD35aOO5eruoj3lwwjP0",{"id":79000,"title":79001,"authorsCollection":79002,"content":79010,"extension":228,"faqItemsCollection":79434,"faqTitle":59,"featured":6,"hashTags":59,"meta":79436,"metaTitle":79437,"ogImage":59,"postType":79438,"publishedDate":79439,"relatedBlogPostsCollection":79440,"slug":79750,"stem":79751,"subtitle":59,"summary":79752,"synopsis":79763,"sys":79764,"tagsCollection":79767,"topicsCollection":79771,"__hash__":79787},"blog/blog/product-release-december-2024.json","Product release: December 2024",{"items":79003},[79004],{"fullName":79005,"firstName":79006,"jobTitle":79007,"socialLinks":59,"profilePicture":79008},"Andy Waugh","Andy","VP Product",{"url":79009},"https://images.ctfassets.net/y1cdw1ablpvd/3Rf76rJn6S9inMb4dUnAIJ/0a787f8141d05b95300e2fe77c4493fa/DSC_6868.jpg",{"json":79011,"links":79401},{"data":79012,"content":79013,"nodeType":856},{},[79014,79021,79064,79071,79087,79103,79123,79128,79151,79170,79176,79191,79207,79213,79235,79253,79259,79275,79299,79332,79350,79356,79371,79378,79385],{"data":79015,"content":79016,"nodeType":1009},{},[79017],{"data":79018,"marks":79019,"value":79020,"nodeType":864},{},[],"What's new this month:",{"data":79022,"content":79023,"nodeType":941},{},[79024,79034,79044,79054],{"data":79025,"content":79026,"nodeType":945},{},[79027],{"data":79028,"content":79029,"nodeType":860},{},[79030],{"data":79031,"marks":79032,"value":79033,"nodeType":864},{},[],"Detect verified stolen credentials without false positives",{"data":79035,"content":79036,"nodeType":945},{},[79037],{"data":79038,"content":79039,"nodeType":860},{},[79040],{"data":79041,"marks":79042,"value":79043,"nodeType":864},{},[],"Enforce MFA directly in the browser",{"data":79045,"content":79046,"nodeType":945},{},[79047],{"data":79048,"content":79049,"nodeType":860},{},[79050],{"data":79051,"marks":79052,"value":79053,"nodeType":864},{},[],"Detect internal apps and request support for unrecognized apps",{"data":79055,"content":79056,"nodeType":945},{},[79057],{"data":79058,"content":79059,"nodeType":860},{},[79060],{"data":79061,"marks":79062,"value":79063,"nodeType":864},{},[],"Managed deployment support for Safari",{"data":79065,"content":79066,"nodeType":1009},{},[79067],{"data":79068,"marks":79069,"value":79070,"nodeType":864},{},[],"Cut through false positives and find verified stolen credentials",{"data":79072,"content":79073,"nodeType":860},{},[79074,79078,79083],{"data":79075,"marks":79076,"value":79077,"nodeType":864},{},[],"Push now ",{"data":79079,"marks":79080,"value":79082,"nodeType":864},{},[79081],{"type":899},"flags verified stolen credentials",{"data":79084,"marks":79085,"value":79086,"nodeType":864},{},[]," in use across your workforce identities by comparing threat intelligence data to fingerprints of passwords actively in use. ",{"data":79088,"content":79089,"nodeType":860},{},[79090,79094,79099],{"data":79091,"marks":79092,"value":79093,"nodeType":864},{},[],"This comparison allows us to ",{"data":79095,"marks":79096,"value":79098,"nodeType":864},{},[79097],{"type":899},"discard all false positives",{"data":79100,"marks":79101,"value":79102,"nodeType":864},{},[]," from the TI sources, leaving you just with the verified true positives. ",{"data":79104,"content":79105,"nodeType":860},{},[79106,79110,79119],{"data":79107,"marks":79108,"value":79109,"nodeType":864},{},[],"With the rise in identity attacks stemming from ",{"data":79111,"content":79115,"nodeType":27604},{"target":79112},{"sys":79113},{"id":79114,"type":1001,"linkType":1002},"4OrixXXLxRmSDxa7PF9gfM",[79116],{"data":79117,"marks":79118,"value":74198,"nodeType":864},{},[],{"data":79120,"marks":79121,"value":79122,"nodeType":864},{},[],", we’re especially excited to get this feature into your hands to provide a reliable and high-fidelity source of information about which accounts are at critical risk of account takeover.",{"data":79124,"content":79127,"nodeType":996},{"target":79125},{"sys":79126},{"id":74231,"type":1001,"linkType":1002},[],{"data":79129,"content":79130,"nodeType":860},{},[79131,79134,79139,79143,79147],{"data":79132,"marks":79133,"value":51387,"nodeType":864},{},[],{"data":79135,"marks":79136,"value":79138,"nodeType":864},{},[79137],{"type":899},"Stolen credential detection",{"data":79140,"marks":79141,"value":79142,"nodeType":864},{},[]," on the ",{"data":79144,"marks":79145,"value":51400,"nodeType":864},{},[79146],{"type":899},{"data":79148,"marks":79149,"value":79150,"nodeType":864},{},[]," page of the Push admin console. Get alerted to findings via ChatOps notification, webhook event, or in the UI.",{"data":79152,"content":79153,"nodeType":860},{},[79154,79158,79167],{"data":79155,"marks":79156,"value":79157,"nodeType":864},{},[],"To learn more about how we securely compare stolen cred reports to your employee credentials, check out our ",{"data":79159,"content":79162,"nodeType":27604},{"target":79160},{"sys":79161},{"id":72794,"type":1001,"linkType":1002},[79163],{"data":79164,"marks":79165,"value":79166,"nodeType":864},{},[],"blog post",{"data":79168,"marks":79169,"value":2924,"nodeType":864},{},[],{"data":79171,"content":79172,"nodeType":1009},{},[79173],{"data":79174,"marks":79175,"value":79043,"nodeType":864},{},[],{"data":79177,"content":79178,"nodeType":860},{},[79179,79183,79187],{"data":79180,"marks":79181,"value":79182,"nodeType":864},{},[],"You can now use Push to prompt employees to register for MFA using our new ",{"data":79184,"marks":79185,"value":28463,"nodeType":864},{},[79186],{"type":899},{"data":79188,"marks":79189,"value":79190,"nodeType":864},{},[]," control.",{"data":79192,"content":79193,"nodeType":860},{},[79194,79198,79203],{"data":79195,"marks":79196,"value":79197,"nodeType":864},{},[],"End-users will see a banner in their browser ",{"data":79199,"marks":79200,"value":79202,"nodeType":864},{},[79201],{"type":899},"when they use accounts that lack MFA protection",{"data":79204,"marks":79205,"value":79206,"nodeType":864},{},[],". As an administrator, you can select which apps you want to enforce MFA on, including apps not on SSO — or unmanaged apps you don’t even know about.",{"data":79208,"content":79212,"nodeType":996},{"target":79209},{"sys":79210},{"id":79211,"type":1001,"linkType":1002},"3XH0hnnhcZNI47PhdiD4q0",[],{"data":79214,"content":79215,"nodeType":860},{},[79216,79220,79224,79227,79231],{"data":79217,"marks":79218,"value":79219,"nodeType":864},{},[],"You can configure ",{"data":79221,"marks":79222,"value":28463,"nodeType":864},{},[79223],{"type":899},{"data":79225,"marks":79226,"value":79142,"nodeType":864},{},[],{"data":79228,"marks":79229,"value":51400,"nodeType":864},{},[79230],{"type":899},{"data":79232,"marks":79233,"value":79234,"nodeType":864},{},[]," page of the admin console.",{"data":79236,"content":79237,"nodeType":860},{},[79238,79241,79250],{"data":79239,"marks":79240,"value":21,"nodeType":864},{},[],{"data":79242,"content":79245,"nodeType":27604},{"target":79243},{"sys":79244},{"id":28319,"type":1001,"linkType":1002},[79246],{"data":79247,"marks":79248,"value":79249,"nodeType":864},{},[],"See how it works",{"data":79251,"marks":79252,"value":21,"nodeType":864},{},[],{"data":79254,"content":79255,"nodeType":1009},{},[79256],{"data":79257,"marks":79258,"value":79053,"nodeType":864},{},[],{"data":79260,"content":79261,"nodeType":860},{},[79262,79266,79271],{"data":79263,"marks":79264,"value":79265,"nodeType":864},{},[],"Push can now ",{"data":79267,"marks":79268,"value":79270,"nodeType":864},{},[79269],{"type":899},"detect internal corporate apps",{"data":79272,"marks":79273,"value":79274,"nodeType":864},{},[]," on non-publicly-accessible domains, such as apps with a domain of “.internal,” “.intranet,” or “.corp.” ",{"data":79276,"content":79277,"nodeType":860},{},[79278,79282,79287,79291,79295],{"data":79279,"marks":79280,"value":79281,"nodeType":864},{},[],"You can find internal apps listed in the ",{"data":79283,"marks":79284,"value":79286,"nodeType":864},{},[79285],{"type":899},"Other apps",{"data":79288,"marks":79289,"value":79290,"nodeType":864},{},[]," slideout on the ",{"data":79292,"marks":79293,"value":65672,"nodeType":864},{},[79294],{"type":899},{"data":79296,"marks":79297,"value":79298,"nodeType":864},{},[]," page in the Push admin console.",{"data":79300,"content":79301,"nodeType":860},{},[79302,79306,79311,79315,79319,79323,79328],{"data":79303,"marks":79304,"value":79305,"nodeType":864},{},[],"You can also now ",{"data":79307,"marks":79308,"value":79310,"nodeType":864},{},[79309],{"type":899},"request support for any apps",{"data":79312,"marks":79313,"value":79314,"nodeType":864},{},[]," in the ",{"data":79316,"marks":79317,"value":79286,"nodeType":864},{},[79318],{"type":899},{"data":79320,"marks":79321,"value":79322,"nodeType":864},{},[]," list that you use for work but which Push doesn’t immediately recognize as a commonly used work app. From the slideout, select ",{"data":79324,"marks":79325,"value":79327,"nodeType":864},{},[79326],{"type":899},"Request app review",{"data":79329,"marks":79330,"value":79331,"nodeType":864},{},[],". Our team will take a look and add support as soon as possible.",{"data":79333,"content":79334,"nodeType":860},{},[79335,79338,79347],{"data":79336,"marks":79337,"value":21,"nodeType":864},{},[],{"data":79339,"content":79343,"nodeType":27604},{"target":79340},{"sys":79341},{"id":79342,"type":1001,"linkType":1002},"WciLKam7PCkbAASOdfiEw",[79344],{"data":79345,"marks":79346,"value":30213,"nodeType":864},{},[],{"data":79348,"marks":79349,"value":21,"nodeType":864},{},[],{"data":79351,"content":79352,"nodeType":1009},{},[79353],{"data":79354,"marks":79355,"value":79063,"nodeType":864},{},[],{"data":79357,"content":79358,"nodeType":860},{},[79359,79363,79368],{"data":79360,"marks":79361,"value":79362,"nodeType":864},{},[],"With the release of macOS 15, Push now supports ",{"data":79364,"marks":79365,"value":79367,"nodeType":864},{},[79366],{"type":899},"managed deployment of the Push browser extension on Safari",{"data":79369,"marks":79370,"value":2924,"nodeType":864},{},[],{"data":79372,"content":79373,"nodeType":860},{},[79374],{"data":79375,"marks":79376,"value":79377,"nodeType":864},{},[],"Using your MDM, you can now deploy and activate the Push agent seamlessly without any end-user interaction.",{"data":79379,"content":79380,"nodeType":860},{},[79381],{"data":79382,"marks":79383,"value":79384,"nodeType":864},{},[],"Push already provides managed deployment support for other major browsers, including Chrome, Edge, Firefox, Brave, and Arc. ",{"data":79386,"content":79387,"nodeType":860},{},[79388,79391,79398],{"data":79389,"marks":79390,"value":21,"nodeType":864},{},[],{"data":79392,"content":79394,"nodeType":883},{"uri":79393},"/help/audience/administrators/docs/install-the-browser-extension/managed-deployment-using-an-mdm-on-macos/#instructions-for-safari",[79395],{"data":79396,"marks":79397,"value":30213,"nodeType":864},{},[],{"data":79399,"marks":79400,"value":21,"nodeType":864},{},[],{"entries":79402},{"inline":79403,"hyperlink":79404,"block":79422},[],[79405,79409,79411,79417],{"sys":79406,"__typename":2059,"title":79407,"slug":79408},{"id":79114},"What the rise of infostealers says about identity attacks","what-the-rise-of-infostealers-says-about-identity-attacks",{"sys":79410,"__typename":2059,"title":73489,"slug":73492},{"id":72794},{"sys":79412,"__typename":79413,"title":79414,"slug":79415,"articleId":79416},{"id":28319},"HelpArticle","How does MFA enforcement work?","how-does-mfa-enforcement-work",10121,{"sys":79418,"__typename":79413,"title":79419,"slug":79420,"articleId":79421},{"id":79342},"What apps appear in the ‘Other apps’ list in Push?","what-apps-appear-in-the-other-apps-list-in-push",10100,[79423,79430],{"sys":79424,"__typename":1724,"title":79425,"caption":59,"layoutMode":59,"file":79426},{"id":74231},"Stolen creds detection example - KB 10126",{"url":79427,"width":79428,"height":79429},"https://images.ctfassets.net/y1cdw1ablpvd/10hLISFPMFMCmatHDrdCOy/f706764340f828221f18acc9bc9a6d34/stolen_creds_example_slideout.png",783,1229,{"sys":79431,"__typename":1724,"title":79432,"caption":59,"layoutMode":59,"file":79433},{"id":79211},"MFA enforcement banner - KB 10121",{"url":76496,"width":72777,"height":72778},{"items":79435},[],{},"Push Security new product features for December 2024","release-notes","2024-12-19T00:00:00.000Z",{"items":79441},[79442],{"__typename":2059,"sys":79443,"content":79445,"title":79736,"synopsis":79737,"hashTags":59,"publishedDate":79738,"slug":79739,"tagsCollection":79740,"authorsCollection":79746},{"id":79444},"7zpbhFfV42vlPLJcYrjXdH",{"json":79446},{"data":79447,"content":79448,"nodeType":856},{},[79449,79455,79488,79494,79509,79524,79567,79573,79580,79598,79604,79620,79636,79642,79658,79676,79682,79698,79705,79712,79718],{"data":79450,"content":79451,"nodeType":1009},{},[79452],{"data":79453,"marks":79454,"value":79020,"nodeType":864},{},[],{"data":79456,"content":79457,"nodeType":941},{},[79458,79468,79478],{"data":79459,"content":79460,"nodeType":945},{},[79461],{"data":79462,"content":79463,"nodeType":860},{},[79464],{"data":79465,"marks":79466,"value":79467,"nodeType":864},{},[],"Easier management of app banners at scale",{"data":79469,"content":79470,"nodeType":945},{},[79471],{"data":79472,"content":79473,"nodeType":860},{},[79474],{"data":79475,"marks":79476,"value":79477,"nodeType":864},{},[],"Identify where unapproved password managers are in use",{"data":79479,"content":79480,"nodeType":945},{},[79481],{"data":79482,"content":79483,"nodeType":860},{},[79484],{"data":79485,"marks":79486,"value":79487,"nodeType":864},{},[],"Organize employees into groups",{"data":79489,"content":79490,"nodeType":1009},{},[79491],{"data":79492,"marks":79493,"value":79467,"nodeType":864},{},[],{"data":79495,"content":79496,"nodeType":860},{},[79497,79501,79506],{"data":79498,"marks":79499,"value":79500,"nodeType":864},{},[],"You can now set app banners based on nuanced criteria such as employee groups, approval status, custom labels, and more using our ",{"data":79502,"marks":79503,"value":79505,"nodeType":864},{},[79504],{"type":899},"rules",{"data":79507,"marks":79508,"value":74364,"nodeType":864},{},[],{"data":79510,"content":79511,"nodeType":860},{},[79512,79516,79520],{"data":79513,"marks":79514,"value":79515,"nodeType":864},{},[],"With ",{"data":79517,"marks":79518,"value":79505,"nodeType":864},{},[79519],{"type":899},{"data":79521,"marks":79522,"value":79523,"nodeType":864},{},[],", you can do powerful things like:",{"data":79525,"content":79526,"nodeType":941},{},[79527,79537,79547,79557],{"data":79528,"content":79529,"nodeType":945},{},[79530],{"data":79531,"content":79532,"nodeType":860},{},[79533],{"data":79534,"marks":79535,"value":79536,"nodeType":864},{},[],"Block a compromised app while you investigate.",{"data":79538,"content":79539,"nodeType":945},{},[79540],{"data":79541,"content":79542,"nodeType":860},{},[79543],{"data":79544,"marks":79545,"value":79546,"nodeType":864},{},[],"Block all unapproved apps.",{"data":79548,"content":79549,"nodeType":945},{},[79550],{"data":79551,"content":79552,"nodeType":860},{},[79553],{"data":79554,"marks":79555,"value":79556,"nodeType":864},{},[],"Restrict app usage for specific employee groups while allowing it for others.",{"data":79558,"content":79559,"nodeType":945},{},[79560],{"data":79561,"content":79562,"nodeType":860},{},[79563],{"data":79564,"marks":79565,"value":79566,"nodeType":864},{},[],"Test new banner modes for a small group before deploying more widely.",{"data":79568,"content":79572,"nodeType":996},{"target":79569},{"sys":79570},{"id":79571,"type":1001,"linkType":1002},"2Ug9KhBmzAE3HRrDH0NCUT",[],{"data":79574,"content":79575,"nodeType":860},{},[79576],{"data":79577,"marks":79578,"value":79579,"nodeType":864},{},[],"If you already use app banners, you don’t need to do anything — we’ve already moved over your configurations to the new rules model.",{"data":79581,"content":79582,"nodeType":860},{},[79583,79586,79595],{"data":79584,"marks":79585,"value":21,"nodeType":864},{},[],{"data":79587,"content":79591,"nodeType":27604},{"target":79588},{"sys":79589},{"id":79590,"type":1001,"linkType":1002},"2ti5f4Eh4teqnVkKDgztcm",[79592],{"data":79593,"marks":79594,"value":30213,"nodeType":864},{},[],{"data":79596,"marks":79597,"value":21,"nodeType":864},{},[],{"data":79599,"content":79600,"nodeType":1009},{},[79601],{"data":79602,"marks":79603,"value":79477,"nodeType":864},{},[],{"data":79605,"content":79606,"nodeType":860},{},[79607,79611,79616],{"data":79608,"marks":79609,"value":79610,"nodeType":864},{},[],"Ensure employees are storing corporate credentials only in approved password managers with our new ",{"data":79612,"marks":79613,"value":79615,"nodeType":864},{},[79614],{"type":899},"password manager identification",{"data":79617,"marks":79618,"value":79619,"nodeType":864},{},[]," feature. ",{"data":79621,"content":79622,"nodeType":860},{},[79623,79627,79632],{"data":79624,"marks":79625,"value":79626,"nodeType":864},{},[],"The Push browser agent can now ",{"data":79628,"marks":79629,"value":79631,"nodeType":864},{},[79630],{"type":899},"fingerprint commonly used password managers",{"data":79633,"marks":79634,"value":79635,"nodeType":864},{},[]," to identify which ones are being used across your environment. With the rise of infostealer malware, many security teams are defending against scenarios where users’ personal password managers get compromised, allowing attackers to pivot to corporate environments and assets.",{"data":79637,"content":79641,"nodeType":996},{"target":79638},{"sys":79639},{"id":79640,"type":1001,"linkType":1002},"4XZ7OtBG17Oe4aqtYsfi0E",[],{"data":79643,"content":79644,"nodeType":860},{},[79645,79649,79654],{"data":79646,"marks":79647,"value":79648,"nodeType":864},{},[],"Now you can use Push to ",{"data":79650,"marks":79651,"value":79653,"nodeType":864},{},[79652],{"type":899},"know exactly where corporate creds are stored",{"data":79655,"marks":79656,"value":79657,"nodeType":864},{},[]," and address unauthorized usage.",{"data":79659,"content":79660,"nodeType":860},{},[79661,79664,79673],{"data":79662,"marks":79663,"value":21,"nodeType":864},{},[],{"data":79665,"content":79669,"nodeType":27604},{"target":79666},{"sys":79667},{"id":79668,"type":1001,"linkType":1002},"5FbtEQCr5slMLF78TTo1W2",[79670],{"data":79671,"marks":79672,"value":30213,"nodeType":864},{},[],{"data":79674,"marks":79675,"value":21,"nodeType":864},{},[],{"data":79677,"content":79678,"nodeType":1009},{},[79679],{"data":79680,"marks":79681,"value":79487,"nodeType":864},{},[],{"data":79683,"content":79684,"nodeType":860},{},[79685,79689,79694],{"data":79686,"marks":79687,"value":79688,"nodeType":864},{},[],"You can now ",{"data":79690,"marks":79691,"value":79693,"nodeType":864},{},[79692],{"type":899},"add group assignments to employee records",{"data":79695,"marks":79696,"value":79697,"nodeType":864},{},[]," in Push and then filter employees, apps, and accounts by group information to give you better context on your identity attack surface. ",{"data":79699,"content":79700,"nodeType":860},{},[79701],{"data":79702,"marks":79703,"value":79704,"nodeType":864},{},[],"Groups can be synced in via the Push REST API from your identity provider, or added manually.",{"data":79706,"content":79707,"nodeType":860},{},[79708],{"data":79709,"marks":79710,"value":79711,"nodeType":864},{},[],"Then use groups to drive other Push features, like rules for app banners, mentioned above.",{"data":79713,"content":79717,"nodeType":996},{"target":79714},{"sys":79715},{"id":79716,"type":1001,"linkType":1002},"7BJDvYlHy4zt3FwntrL3TT",[],{"data":79719,"content":79720,"nodeType":860},{},[79721,79724,79733],{"data":79722,"marks":79723,"value":21,"nodeType":864},{},[],{"data":79725,"content":79729,"nodeType":27604},{"target":79726},{"sys":79727},{"id":79728,"type":1001,"linkType":1002},"18xzRG6WK9rBGp37Epttu6",[79730],{"data":79731,"marks":79732,"value":30213,"nodeType":864},{},[],{"data":79734,"marks":79735,"value":21,"nodeType":864},{},[],"Product release: November 2024","Here’s what’s new on the Push platform for November 2024.","2024-11-12T00:00:00.000Z","product-release-november-2024",{"items":79741},[79742,79744],{"sys":79743,"name":73498},{"id":73497},{"sys":79745,"name":297},{"id":2732},{"items":79747},[79748],{"fullName":79005,"firstName":79006,"jobTitle":79007,"profilePicture":79749},{"url":79009},"product-release-december-2024","blog/product-release-december-2024",{"json":79753},{"data":79754,"content":79755,"nodeType":856},{},[79756],{"data":79757,"content":79758,"nodeType":860},{},[79759],{"data":79760,"marks":79761,"value":79762,"nodeType":864},{},[],"Detect verified stolen credentials, enforce MFA directly in the browser, and more","Here’s what’s new on the Push platform for December 2024.",{"id":79765,"publishedAt":79766},"4Q2pQJXxzthIPAb79RtAML","2026-08-12T11:54:38.490Z",{"items":79768},[79769],{"sys":79770,"name":73498},{"id":73497},{"items":79772},[79773,79775,79777,79779,79781,79783,79785],{"sys":79774,"name":413,"slug":414,"tier":31},{"id":410},{"sys":79776,"name":297,"slug":298,"tier":31},{"id":294},{"sys":79778,"name":545,"slug":546,"tier":31},{"id":542},{"sys":79780,"name":422,"slug":423,"tier":45},{"id":419},{"sys":79782,"name":457,"slug":458,"tier":45},{"id":454},{"sys":79784,"name":502,"slug":503,"tier":45},{"id":499},{"sys":79786,"name":589,"slug":590,"tier":45},{"id":586},"iYHsISanmDCVF9onqhXnN_rzkW4-9hsFlnGPlbJXk7I",{"id":79789,"title":34880,"authorsCollection":79790,"content":79795,"extension":228,"faqItemsCollection":80543,"faqTitle":59,"featured":6,"hashTags":59,"meta":80545,"metaTitle":80546,"ogImage":59,"postType":23466,"publishedDate":34882,"relatedBlogPostsCollection":80547,"slug":34883,"stem":83150,"subtitle":59,"summary":83151,"synopsis":34881,"sys":83162,"tagsCollection":83164,"topicsCollection":83168,"__hash__":83196},"blog/blog/snowflake-retro.json",{"items":79791},[79792],{"fullName":2736,"firstName":2737,"jobTitle":2738,"socialLinks":79793,"profilePicture":79794},[11304],{"url":2740},{"json":79796,"links":80485},{"data":79797,"content":79798,"nodeType":856},{},[79799,79804,79820,79826,79832,79837,79840,79847,79853,79869,79879,79885,79891,79897,79981,79984,79991,80066,80071,80074,80081,80088,80094,80100,80107,80123,80129,80136,80142,80148,80155,80161,80167,80183,80188,80191,80198,80205,80211,80300,80306,80313,80319,80325,80330,80337,80343,80349,80355,80362,80368,80374,80380,80386,80391,80394,80401,80407,80437,80443,80458,80474,80479],{"data":79800,"content":79803,"nodeType":996},{"target":79801},{"sys":79802},{"id":34098,"type":1001,"linkType":1002},[],{"data":79805,"content":79806,"nodeType":860},{},[79807,79810,79817],{"data":79808,"marks":79809,"value":34106,"nodeType":864},{},[],{"data":79811,"content":79812,"nodeType":883},{"uri":34109},[79813],{"data":79814,"marks":79815,"value":34115,"nodeType":864},{},[79816],{"type":1455},{"data":79818,"marks":79819,"value":34119,"nodeType":864},{},[],{"data":79821,"content":79822,"nodeType":860},{},[79823],{"data":79824,"marks":79825,"value":34126,"nodeType":864},{},[],{"data":79827,"content":79828,"nodeType":860},{},[79829],{"data":79830,"marks":79831,"value":34133,"nodeType":864},{},[],{"data":79833,"content":79836,"nodeType":996},{"target":79834},{"sys":79835},{"id":34138,"type":1001,"linkType":1002},[],{"data":79838,"content":79839,"nodeType":1005},{},[],{"data":79841,"content":79842,"nodeType":1009},{},[79843],{"data":79844,"marks":79845,"value":34150,"nodeType":864},{},[79846],{"type":899},{"data":79848,"content":79849,"nodeType":860},{},[79850],{"data":79851,"marks":79852,"value":34157,"nodeType":864},{},[],{"data":79854,"content":79855,"nodeType":860},{},[79856,79859,79866],{"data":79857,"marks":79858,"value":34164,"nodeType":864},{},[],{"data":79860,"content":79861,"nodeType":883},{"uri":18533},[79862],{"data":79863,"marks":79864,"value":34172,"nodeType":864},{},[79865],{"type":1455},{"data":79867,"marks":79868,"value":12252,"nodeType":864},{},[],{"data":79870,"content":79871,"nodeType":1116},{},[79872],{"data":79873,"content":79874,"nodeType":860},{},[79875],{"data":79876,"marks":79877,"value":34186,"nodeType":864},{},[79878],{"type":899},{"data":79880,"content":79881,"nodeType":860},{},[79882],{"data":79883,"marks":79884,"value":34193,"nodeType":864},{},[],{"data":79886,"content":79887,"nodeType":860},{},[79888],{"data":79889,"marks":79890,"value":34200,"nodeType":864},{},[],{"data":79892,"content":79893,"nodeType":860},{},[79894],{"data":79895,"marks":79896,"value":34207,"nodeType":864},{},[],{"data":79898,"content":79899,"nodeType":941},{},[79900,79909,79918,79927,79936,79945,79954,79963,79972],{"data":79901,"content":79902,"nodeType":945},{},[79903],{"data":79904,"content":79905,"nodeType":860},{},[79906],{"data":79907,"marks":79908,"value":34220,"nodeType":864},{},[],{"data":79910,"content":79911,"nodeType":945},{},[79912],{"data":79913,"content":79914,"nodeType":860},{},[79915],{"data":79916,"marks":79917,"value":34230,"nodeType":864},{},[],{"data":79919,"content":79920,"nodeType":945},{},[79921],{"data":79922,"content":79923,"nodeType":860},{},[79924],{"data":79925,"marks":79926,"value":34240,"nodeType":864},{},[],{"data":79928,"content":79929,"nodeType":945},{},[79930],{"data":79931,"content":79932,"nodeType":860},{},[79933],{"data":79934,"marks":79935,"value":34250,"nodeType":864},{},[],{"data":79937,"content":79938,"nodeType":945},{},[79939],{"data":79940,"content":79941,"nodeType":860},{},[79942],{"data":79943,"marks":79944,"value":34260,"nodeType":864},{},[],{"data":79946,"content":79947,"nodeType":945},{},[79948],{"data":79949,"content":79950,"nodeType":860},{},[79951],{"data":79952,"marks":79953,"value":34270,"nodeType":864},{},[],{"data":79955,"content":79956,"nodeType":945},{},[79957],{"data":79958,"content":79959,"nodeType":860},{},[79960],{"data":79961,"marks":79962,"value":34280,"nodeType":864},{},[],{"data":79964,"content":79965,"nodeType":945},{},[79966],{"data":79967,"content":79968,"nodeType":860},{},[79969],{"data":79970,"marks":79971,"value":34290,"nodeType":864},{},[],{"data":79973,"content":79974,"nodeType":945},{},[79975],{"data":79976,"content":79977,"nodeType":860},{},[79978],{"data":79979,"marks":79980,"value":34300,"nodeType":864},{},[],{"data":79982,"content":79983,"nodeType":1005},{},[],{"data":79985,"content":79986,"nodeType":1009},{},[79987],{"data":79988,"marks":79989,"value":34311,"nodeType":864},{},[79990],{"type":899},{"data":79992,"content":79993,"nodeType":941},{},[79994,80003,80012,80021,80030,80039,80048,80057],{"data":79995,"content":79996,"nodeType":945},{},[79997],{"data":79998,"content":79999,"nodeType":860},{},[80000],{"data":80001,"marks":80002,"value":34324,"nodeType":864},{},[],{"data":80004,"content":80005,"nodeType":945},{},[80006],{"data":80007,"content":80008,"nodeType":860},{},[80009],{"data":80010,"marks":80011,"value":34334,"nodeType":864},{},[],{"data":80013,"content":80014,"nodeType":945},{},[80015],{"data":80016,"content":80017,"nodeType":860},{},[80018],{"data":80019,"marks":80020,"value":34344,"nodeType":864},{},[],{"data":80022,"content":80023,"nodeType":945},{},[80024],{"data":80025,"content":80026,"nodeType":860},{},[80027],{"data":80028,"marks":80029,"value":34354,"nodeType":864},{},[],{"data":80031,"content":80032,"nodeType":945},{},[80033],{"data":80034,"content":80035,"nodeType":860},{},[80036],{"data":80037,"marks":80038,"value":34364,"nodeType":864},{},[],{"data":80040,"content":80041,"nodeType":945},{},[80042],{"data":80043,"content":80044,"nodeType":860},{},[80045],{"data":80046,"marks":80047,"value":34374,"nodeType":864},{},[],{"data":80049,"content":80050,"nodeType":945},{},[80051],{"data":80052,"content":80053,"nodeType":860},{},[80054],{"data":80055,"marks":80056,"value":34384,"nodeType":864},{},[],{"data":80058,"content":80059,"nodeType":945},{},[80060],{"data":80061,"content":80062,"nodeType":860},{},[80063],{"data":80064,"marks":80065,"value":34394,"nodeType":864},{},[],{"data":80067,"content":80070,"nodeType":996},{"target":80068},{"sys":80069},{"id":34399,"type":1001,"linkType":1002},[],{"data":80072,"content":80073,"nodeType":1005},{},[],{"data":80075,"content":80076,"nodeType":1009},{},[80077],{"data":80078,"marks":80079,"value":34411,"nodeType":864},{},[80080],{"type":899},{"data":80082,"content":80083,"nodeType":1312},{},[80084],{"data":80085,"marks":80086,"value":34419,"nodeType":864},{},[80087],{"type":899},{"data":80089,"content":80090,"nodeType":860},{},[80091],{"data":80092,"marks":80093,"value":34426,"nodeType":864},{},[],{"data":80095,"content":80096,"nodeType":860},{},[80097],{"data":80098,"marks":80099,"value":34433,"nodeType":864},{},[],{"data":80101,"content":80102,"nodeType":1312},{},[80103],{"data":80104,"marks":80105,"value":34441,"nodeType":864},{},[80106],{"type":899},{"data":80108,"content":80109,"nodeType":860},{},[80110,80113,80120],{"data":80111,"marks":80112,"value":34448,"nodeType":864},{},[],{"data":80114,"content":80115,"nodeType":883},{"uri":17701},[80116],{"data":80117,"marks":80118,"value":17706,"nodeType":864},{},[80119],{"type":1455},{"data":80121,"marks":80122,"value":12252,"nodeType":864},{},[],{"data":80124,"content":80125,"nodeType":860},{},[80126],{"data":80127,"marks":80128,"value":34465,"nodeType":864},{},[],{"data":80130,"content":80131,"nodeType":1312},{},[80132],{"data":80133,"marks":80134,"value":34473,"nodeType":864},{},[80135],{"type":899},{"data":80137,"content":80138,"nodeType":860},{},[80139],{"data":80140,"marks":80141,"value":34480,"nodeType":864},{},[],{"data":80143,"content":80144,"nodeType":860},{},[80145],{"data":80146,"marks":80147,"value":34487,"nodeType":864},{},[],{"data":80149,"content":80150,"nodeType":1312},{},[80151],{"data":80152,"marks":80153,"value":34495,"nodeType":864},{},[80154],{"type":899},{"data":80156,"content":80157,"nodeType":860},{},[80158],{"data":80159,"marks":80160,"value":34502,"nodeType":864},{},[],{"data":80162,"content":80163,"nodeType":860},{},[80164],{"data":80165,"marks":80166,"value":34509,"nodeType":864},{},[],{"data":80168,"content":80169,"nodeType":860},{},[80170,80173,80180],{"data":80171,"marks":80172,"value":34516,"nodeType":864},{},[],{"data":80174,"content":80175,"nodeType":883},{"uri":34519},[80176],{"data":80177,"marks":80178,"value":34525,"nodeType":864},{},[80179],{"type":1455},{"data":80181,"marks":80182,"value":34529,"nodeType":864},{},[],{"data":80184,"content":80187,"nodeType":996},{"target":80185},{"sys":80186},{"id":34534,"type":1001,"linkType":1002},[],{"data":80189,"content":80190,"nodeType":1005},{},[],{"data":80192,"content":80193,"nodeType":1009},{},[80194],{"data":80195,"marks":80196,"value":34546,"nodeType":864},{},[80197],{"type":899},{"data":80199,"content":80200,"nodeType":1312},{},[80201],{"data":80202,"marks":80203,"value":34554,"nodeType":864},{},[80204],{"type":899},{"data":80206,"content":80207,"nodeType":860},{},[80208],{"data":80209,"marks":80210,"value":34561,"nodeType":864},{},[],{"data":80212,"content":80213,"nodeType":941},{},[80214,80233,80252,80281],{"data":80215,"content":80216,"nodeType":945},{},[80217],{"data":80218,"content":80219,"nodeType":860},{},[80220,80223,80230],{"data":80221,"marks":80222,"value":34574,"nodeType":864},{},[],{"data":80224,"content":80225,"nodeType":883},{"uri":34577},[80226],{"data":80227,"marks":80228,"value":34583,"nodeType":864},{},[80229],{"type":1455},{"data":80231,"marks":80232,"value":34587,"nodeType":864},{},[],{"data":80234,"content":80235,"nodeType":945},{},[80236],{"data":80237,"content":80238,"nodeType":860},{},[80239,80242,80249],{"data":80240,"marks":80241,"value":34597,"nodeType":864},{},[],{"data":80243,"content":80244,"nodeType":883},{"uri":15980},[80245],{"data":80246,"marks":80247,"value":34605,"nodeType":864},{},[80248],{"type":1455},{"data":80250,"marks":80251,"value":2924,"nodeType":864},{},[],{"data":80253,"content":80254,"nodeType":945},{},[80255],{"data":80256,"content":80257,"nodeType":860},{},[80258,80261,80268,80271,80278],{"data":80259,"marks":80260,"value":34618,"nodeType":864},{},[],{"data":80262,"content":80263,"nodeType":883},{"uri":17701},[80264],{"data":80265,"marks":80266,"value":34626,"nodeType":864},{},[80267],{"type":1455},{"data":80269,"marks":80270,"value":34630,"nodeType":864},{},[],{"data":80272,"content":80273,"nodeType":883},{"uri":34633},[80274],{"data":80275,"marks":80276,"value":34639,"nodeType":864},{},[80277],{"type":1455},{"data":80279,"marks":80280,"value":34643,"nodeType":864},{},[],{"data":80282,"content":80283,"nodeType":945},{},[80284],{"data":80285,"content":80286,"nodeType":860},{},[80287,80290,80297],{"data":80288,"marks":80289,"value":34653,"nodeType":864},{},[],{"data":80291,"content":80292,"nodeType":883},{"uri":15980},[80293],{"data":80294,"marks":80295,"value":34661,"nodeType":864},{},[80296],{"type":1455},{"data":80298,"marks":80299,"value":34665,"nodeType":864},{},[],{"data":80301,"content":80302,"nodeType":860},{},[80303],{"data":80304,"marks":80305,"value":34672,"nodeType":864},{},[],{"data":80307,"content":80308,"nodeType":1312},{},[80309],{"data":80310,"marks":80311,"value":34680,"nodeType":864},{},[80312],{"type":899},{"data":80314,"content":80315,"nodeType":860},{},[80316],{"data":80317,"marks":80318,"value":34687,"nodeType":864},{},[],{"data":80320,"content":80321,"nodeType":860},{},[80322],{"data":80323,"marks":80324,"value":34694,"nodeType":864},{},[],{"data":80326,"content":80329,"nodeType":996},{"target":80327},{"sys":80328},{"id":34699,"type":1001,"linkType":1002},[],{"data":80331,"content":80332,"nodeType":1312},{},[80333],{"data":80334,"marks":80335,"value":34708,"nodeType":864},{},[80336],{"type":899},{"data":80338,"content":80339,"nodeType":860},{},[80340],{"data":80341,"marks":80342,"value":34715,"nodeType":864},{},[],{"data":80344,"content":80345,"nodeType":860},{},[80346],{"data":80347,"marks":80348,"value":34722,"nodeType":864},{},[],{"data":80350,"content":80351,"nodeType":860},{},[80352],{"data":80353,"marks":80354,"value":34729,"nodeType":864},{},[],{"data":80356,"content":80357,"nodeType":1312},{},[80358],{"data":80359,"marks":80360,"value":34737,"nodeType":864},{},[80361],{"type":899},{"data":80363,"content":80364,"nodeType":860},{},[80365],{"data":80366,"marks":80367,"value":34744,"nodeType":864},{},[],{"data":80369,"content":80370,"nodeType":860},{},[80371],{"data":80372,"marks":80373,"value":34751,"nodeType":864},{},[],{"data":80375,"content":80376,"nodeType":860},{},[80377],{"data":80378,"marks":80379,"value":34758,"nodeType":864},{},[],{"data":80381,"content":80382,"nodeType":860},{},[80383],{"data":80384,"marks":80385,"value":34765,"nodeType":864},{},[],{"data":80387,"content":80390,"nodeType":996},{"target":80388},{"sys":80389},{"id":34770,"type":1001,"linkType":1002},[],{"data":80392,"content":80393,"nodeType":1005},{},[],{"data":80395,"content":80396,"nodeType":1009},{},[80397],{"data":80398,"marks":80399,"value":34782,"nodeType":864},{},[80400],{"type":899},{"data":80402,"content":80403,"nodeType":860},{},[80404],{"data":80405,"marks":80406,"value":34789,"nodeType":864},{},[],{"data":80408,"content":80409,"nodeType":941},{},[80410,80419,80428],{"data":80411,"content":80412,"nodeType":945},{},[80413],{"data":80414,"content":80415,"nodeType":860},{},[80416],{"data":80417,"marks":80418,"value":34802,"nodeType":864},{},[],{"data":80420,"content":80421,"nodeType":945},{},[80422],{"data":80423,"content":80424,"nodeType":860},{},[80425],{"data":80426,"marks":80427,"value":34812,"nodeType":864},{},[],{"data":80429,"content":80430,"nodeType":945},{},[80431],{"data":80432,"content":80433,"nodeType":860},{},[80434],{"data":80435,"marks":80436,"value":34822,"nodeType":864},{},[],{"data":80438,"content":80439,"nodeType":860},{},[80440],{"data":80441,"marks":80442,"value":34829,"nodeType":864},{},[],{"data":80444,"content":80445,"nodeType":860},{},[80446,80449,80455],{"data":80447,"marks":80448,"value":1238,"nodeType":864},{},[],{"data":80450,"content":80451,"nodeType":883},{"uri":34838},[80452],{"data":80453,"marks":80454,"value":34843,"nodeType":864},{},[],{"data":80456,"marks":80457,"value":34847,"nodeType":864},{},[],{"data":80459,"content":80460,"nodeType":860},{},[80461,80464,80471],{"data":80462,"marks":80463,"value":34854,"nodeType":864},{},[],{"data":80465,"content":80466,"nodeType":883},{"uri":34857},[80467],{"data":80468,"marks":80469,"value":34863,"nodeType":864},{},[80470],{"type":1455},{"data":80472,"marks":80473,"value":34867,"nodeType":864},{},[],{"data":80475,"content":80478,"nodeType":996},{"target":80476},{"sys":80477},{"id":34872,"type":1001,"linkType":1002},[],{"data":80480,"content":80481,"nodeType":860},{},[80482],{"data":80483,"marks":80484,"value":21,"nodeType":864},{},[],{"entries":80486},{"hyperlink":80487,"inline":80488,"block":80489},[],[],[80490,80514,80516,80524,80527,80531,80538],{"sys":80491,"__typename":1740,"content":80492,"name":80513,"title":59},{"id":34098},{"json":80493},{"nodeType":856,"data":80494,"content":80495},{},[80496],{"nodeType":860,"data":80497,"content":80498},{},[80499,80503,80510],{"nodeType":864,"value":80500,"marks":80501,"data":80502},"The attackers behind this campaign went on a worldwide hacking spree in 2025, taking on the moniker of \"Scattered Lapsus$ Hunters\" and launching attacks on Marks & Spencer, Co-op, Jaguar Land Rover, and hundreds of Salesforce customers. ",[],{},{"nodeType":883,"data":80504,"content":80505},{"uri":6237},[80506],{"nodeType":864,"value":80507,"marks":80508,"data":80509},"Check out the blog post for all the details. ",[],{},{"nodeType":864,"value":21,"marks":80511,"data":80512},[],{},"Snowflake insight box 1",{"sys":80515,"__typename":1717,"type":1718,"ctaText":66778,"buttonLabel":31347,"buttonColour":33488,"buttonUrl":35177},{"id":34138},{"sys":80517,"__typename":1724,"title":80518,"caption":80519,"layoutMode":59,"file":80520},{"id":34399},"Snowflake attack path","Attack path traversed in the attacks on Snowflake customers",{"url":80521,"width":80522,"height":80523},"https://images.ctfassets.net/y1cdw1ablpvd/4cjVqskN2svdMLJpOkAGxq/057ec00e3b9965534e5ffeff5b423744/Snowflake_Attack_Path__3_.png",6140,2568,{"sys":80525,"__typename":1717,"type":1718,"ctaText":80526,"buttonLabel":47736,"buttonColour":33488,"buttonUrl":48419},{"id":34534},"Read our blog post to learn more about the rise of infostealers and their role in the credential theft ecosystem. ",{"sys":80528,"__typename":1717,"type":1718,"ctaText":80529,"buttonLabel":80530,"buttonColour":66936,"buttonUrl":34838},{"id":34699},"Find out how Push helps you to cut through the noise of TI feeds with its validated stolen credentials feature, enabling you to pinpoint and remediate vulnerable accounts. ","Read the Feature Release",{"sys":80532,"__typename":47726,"title":80533,"youTubeUrl":80534,"imagePlaceholder":80535},{"id":34770},"Snowflake: The tip of the iceberg – Three practical takeaways from the Snowflake incident","https://www.youtube.com/watch?v=0s0NB4L7oKU",{"url":80536,"width":47731,"height":80537},"https://images.ctfassets.net/y1cdw1ablpvd/6DHHMV4gUPSKU36Jzyf0ei/458ed0cc9e04c53b92daa96013ada0d8/Twitter-X_-_1200_x_680.png",675,{"sys":80539,"__typename":1717,"type":80540,"ctaText":80541,"buttonLabel":80542,"buttonColour":1721,"buttonUrl":1700},{"id":34872},"Demo","Book a demo to see how Push helps you detect and prevent account takeover and reduce your identity attack surface","Book Demo",{"items":80544},[],{},"Analysing the 2024 Snowflake breaches via stolen credentials",{"items":80548},[80549,81163,82314],{"__typename":2059,"sys":80550,"content":80551,"title":73489,"synopsis":73490,"hashTags":59,"publishedDate":73491,"slug":73492,"tagsCollection":81153,"authorsCollection":81159},{"id":72794},{"json":80552},{"data":80553,"content":80554,"nodeType":856},{},[80555,80560,80563,80576,80582,80588,80593,80599,80615,80630,80636,80641,80647,80650,80656,80662,80668,80674,80680,80686,80715,80720,80726,80729,80735,80741,80839,80845,80861,80867,80883,80889,80906,80912,80928,80931,80937,80943,80949,80975,80981,80987,81002,81007,81013,81019,81024,81030,81087,81093,81099,81105,81111,81117,81120,81126,81142,81147],{"data":80556,"content":80559,"nodeType":996},{"target":80557},{"sys":80558},{"id":72803,"type":1001,"linkType":1002},[],{"data":80561,"content":80562,"nodeType":1005},{},[],{"data":80564,"content":80565,"nodeType":860},{},[80566,80569,80573],{"data":80567,"marks":80568,"value":72814,"nodeType":864},{},[],{"data":80570,"marks":80571,"value":72819,"nodeType":864},{},[80572],{"type":2246},{"data":80574,"marks":80575,"value":72823,"nodeType":864},{},[],{"data":80577,"content":80578,"nodeType":860},{},[80579],{"data":80580,"marks":80581,"value":72830,"nodeType":864},{},[],{"data":80583,"content":80584,"nodeType":860},{},[80585],{"data":80586,"marks":80587,"value":72837,"nodeType":864},{},[],{"data":80589,"content":80592,"nodeType":996},{"target":80590},{"sys":80591},{"id":72842,"type":1001,"linkType":1002},[],{"data":80594,"content":80595,"nodeType":860},{},[80596],{"data":80597,"marks":80598,"value":72850,"nodeType":864},{},[],{"data":80600,"content":80601,"nodeType":1116},{},[80602],{"data":80603,"content":80604,"nodeType":860},{},[80605,80608,80612],{"data":80606,"marks":80607,"value":72860,"nodeType":864},{},[],{"data":80609,"marks":80610,"value":72865,"nodeType":864},{},[80611],{"type":899},{"data":80613,"marks":80614,"value":1774,"nodeType":864},{},[],{"data":80616,"content":80617,"nodeType":860},{},[80618,80621,80627],{"data":80619,"marks":80620,"value":72875,"nodeType":864},{},[],{"data":80622,"content":80623,"nodeType":883},{"uri":72878},[80624],{"data":80625,"marks":80626,"value":72883,"nodeType":864},{},[],{"data":80628,"marks":80629,"value":72887,"nodeType":864},{},[],{"data":80631,"content":80632,"nodeType":860},{},[80633],{"data":80634,"marks":80635,"value":72894,"nodeType":864},{},[],{"data":80637,"content":80640,"nodeType":996},{"target":80638},{"sys":80639},{"id":72899,"type":1001,"linkType":1002},[],{"data":80642,"content":80643,"nodeType":860},{},[80644],{"data":80645,"marks":80646,"value":72907,"nodeType":864},{},[],{"data":80648,"content":80649,"nodeType":1005},{},[],{"data":80651,"content":80652,"nodeType":1009},{},[80653],{"data":80654,"marks":80655,"value":72917,"nodeType":864},{},[],{"data":80657,"content":80658,"nodeType":860},{},[80659],{"data":80660,"marks":80661,"value":72924,"nodeType":864},{},[],{"data":80663,"content":80664,"nodeType":860},{},[80665],{"data":80666,"marks":80667,"value":72931,"nodeType":864},{},[],{"data":80669,"content":80670,"nodeType":1312},{},[80671],{"data":80672,"marks":80673,"value":72938,"nodeType":864},{},[],{"data":80675,"content":80676,"nodeType":860},{},[80677],{"data":80678,"marks":80679,"value":72945,"nodeType":864},{},[],{"data":80681,"content":80682,"nodeType":860},{},[80683],{"data":80684,"marks":80685,"value":72952,"nodeType":864},{},[],{"data":80687,"content":80688,"nodeType":941},{},[80689,80702],{"data":80690,"content":80691,"nodeType":945},{},[80692],{"data":80693,"content":80694,"nodeType":860},{},[80695,80699],{"data":80696,"marks":80697,"value":72966,"nodeType":864},{},[80698],{"type":899},{"data":80700,"marks":80701,"value":72970,"nodeType":864},{},[],{"data":80703,"content":80704,"nodeType":945},{},[80705],{"data":80706,"content":80707,"nodeType":860},{},[80708,80712],{"data":80709,"marks":80710,"value":72981,"nodeType":864},{},[80711],{"type":899},{"data":80713,"marks":80714,"value":72985,"nodeType":864},{},[],{"data":80716,"content":80719,"nodeType":996},{"target":80717},{"sys":80718},{"id":72990,"type":1001,"linkType":1002},[],{"data":80721,"content":80722,"nodeType":860},{},[80723],{"data":80724,"marks":80725,"value":72998,"nodeType":864},{},[],{"data":80727,"content":80728,"nodeType":1005},{},[],{"data":80730,"content":80731,"nodeType":1009},{},[80732],{"data":80733,"marks":80734,"value":73008,"nodeType":864},{},[],{"data":80736,"content":80737,"nodeType":860},{},[80738],{"data":80739,"marks":80740,"value":73015,"nodeType":864},{},[],{"data":80742,"content":80743,"nodeType":941},{},[80744,80763,80782,80801,80830],{"data":80745,"content":80746,"nodeType":945},{},[80747],{"data":80748,"content":80749,"nodeType":860},{},[80750,80753,80760],{"data":80751,"marks":80752,"value":2761,"nodeType":864},{},[],{"data":80754,"content":80755,"nodeType":883},{"uri":4408},[80756],{"data":80757,"marks":80758,"value":73035,"nodeType":864},{},[80759],{"type":1455},{"data":80761,"marks":80762,"value":73039,"nodeType":864},{},[],{"data":80764,"content":80765,"nodeType":945},{},[80766],{"data":80767,"content":80768,"nodeType":860},{},[80769,80772,80779],{"data":80770,"marks":80771,"value":21,"nodeType":864},{},[],{"data":80773,"content":80774,"nodeType":883},{"uri":73051},[80775],{"data":80776,"marks":80777,"value":73057,"nodeType":864},{},[80778],{"type":1455},{"data":80780,"marks":80781,"value":73061,"nodeType":864},{},[],{"data":80783,"content":80784,"nodeType":945},{},[80785],{"data":80786,"content":80787,"nodeType":860},{},[80788,80791,80798],{"data":80789,"marks":80790,"value":73071,"nodeType":864},{},[],{"data":80792,"content":80793,"nodeType":883},{"uri":73074},[80794],{"data":80795,"marks":80796,"value":73080,"nodeType":864},{},[80797],{"type":1455},{"data":80799,"marks":80800,"value":73084,"nodeType":864},{},[],{"data":80802,"content":80803,"nodeType":945},{},[80804],{"data":80805,"content":80806,"nodeType":860},{},[80807,80810,80817,80820,80827],{"data":80808,"marks":80809,"value":73094,"nodeType":864},{},[],{"data":80811,"content":80812,"nodeType":883},{"uri":73097},[80813],{"data":80814,"marks":80815,"value":73103,"nodeType":864},{},[80816],{"type":1455},{"data":80818,"marks":80819,"value":73107,"nodeType":864},{},[],{"data":80821,"content":80822,"nodeType":883},{"uri":73110},[80823],{"data":80824,"marks":80825,"value":73116,"nodeType":864},{},[80826],{"type":1455},{"data":80828,"marks":80829,"value":73120,"nodeType":864},{},[],{"data":80831,"content":80832,"nodeType":945},{},[80833],{"data":80834,"content":80835,"nodeType":860},{},[80836],{"data":80837,"marks":80838,"value":73130,"nodeType":864},{},[],{"data":80840,"content":80841,"nodeType":860},{},[80842],{"data":80843,"marks":80844,"value":73137,"nodeType":864},{},[],{"data":80846,"content":80847,"nodeType":860},{},[80848,80851,80858],{"data":80849,"marks":80850,"value":21,"nodeType":864},{},[],{"data":80852,"content":80853,"nodeType":883},{"uri":73051},[80854],{"data":80855,"marks":80856,"value":73151,"nodeType":864},{},[80857],{"type":1455},{"data":80859,"marks":80860,"value":73155,"nodeType":864},{},[],{"data":80862,"content":80863,"nodeType":1312},{},[80864],{"data":80865,"marks":80866,"value":73162,"nodeType":864},{},[],{"data":80868,"content":80869,"nodeType":860},{},[80870,80873,80880],{"data":80871,"marks":80872,"value":73169,"nodeType":864},{},[],{"data":80874,"content":80875,"nodeType":883},{"uri":48419},[80876],{"data":80877,"marks":80878,"value":73177,"nodeType":864},{},[80879],{"type":1455},{"data":80881,"marks":80882,"value":2924,"nodeType":864},{},[],{"data":80884,"content":80885,"nodeType":860},{},[80886],{"data":80887,"marks":80888,"value":73187,"nodeType":864},{},[],{"data":80890,"content":80891,"nodeType":860},{},[80892,80895,80903],{"data":80893,"marks":80894,"value":73194,"nodeType":864},{},[],{"data":80896,"content":80897,"nodeType":883},{"uri":36813},[80898],{"data":80899,"marks":80900,"value":73203,"nodeType":864},{},[80901,80902],{"type":1455},{"type":899},{"data":80904,"marks":80905,"value":73207,"nodeType":864},{},[],{"data":80907,"content":80908,"nodeType":860},{},[80909],{"data":80910,"marks":80911,"value":73214,"nodeType":864},{},[],{"data":80913,"content":80914,"nodeType":860},{},[80915,80918,80925],{"data":80916,"marks":80917,"value":73221,"nodeType":864},{},[],{"data":80919,"content":80920,"nodeType":883},{"uri":15980},[80921],{"data":80922,"marks":80923,"value":50732,"nodeType":864},{},[80924],{"type":1455},{"data":80926,"marks":80927,"value":73232,"nodeType":864},{},[],{"data":80929,"content":80930,"nodeType":1005},{},[],{"data":80932,"content":80933,"nodeType":1009},{},[80934],{"data":80935,"marks":80936,"value":73242,"nodeType":864},{},[],{"data":80938,"content":80939,"nodeType":860},{},[80940],{"data":80941,"marks":80942,"value":73249,"nodeType":864},{},[],{"data":80944,"content":80945,"nodeType":860},{},[80946],{"data":80947,"marks":80948,"value":73256,"nodeType":864},{},[],{"data":80950,"content":80951,"nodeType":860},{},[80952,80955,80962,80965,80972],{"data":80953,"marks":80954,"value":73263,"nodeType":864},{},[],{"data":80956,"content":80957,"nodeType":883},{"uri":73266},[80958],{"data":80959,"marks":80960,"value":73272,"nodeType":864},{},[80961],{"type":1455},{"data":80963,"marks":80964,"value":73276,"nodeType":864},{},[],{"data":80966,"content":80967,"nodeType":883},{"uri":51174},[80968],{"data":80969,"marks":80970,"value":73284,"nodeType":864},{},[80971],{"type":1455},{"data":80973,"marks":80974,"value":73288,"nodeType":864},{},[],{"data":80976,"content":80977,"nodeType":860},{},[80978],{"data":80979,"marks":80980,"value":73295,"nodeType":864},{},[],{"data":80982,"content":80983,"nodeType":860},{},[80984],{"data":80985,"marks":80986,"value":73302,"nodeType":864},{},[],{"data":80988,"content":80989,"nodeType":860},{},[80990,80993,80999],{"data":80991,"marks":80992,"value":73309,"nodeType":864},{},[],{"data":80994,"content":80995,"nodeType":883},{"uri":3751},[80996],{"data":80997,"marks":80998,"value":73316,"nodeType":864},{},[],{"data":81000,"marks":81001,"value":73320,"nodeType":864},{},[],{"data":81003,"content":81006,"nodeType":996},{"target":81004},{"sys":81005},{"id":73325,"type":1001,"linkType":1002},[],{"data":81008,"content":81009,"nodeType":1312},{},[81010],{"data":81011,"marks":81012,"value":73333,"nodeType":864},{},[],{"data":81014,"content":81015,"nodeType":860},{},[81016],{"data":81017,"marks":81018,"value":73340,"nodeType":864},{},[],{"data":81020,"content":81023,"nodeType":996},{"target":81021},{"sys":81022},{"id":73345,"type":1001,"linkType":1002},[],{"data":81025,"content":81026,"nodeType":860},{},[81027],{"data":81028,"marks":81029,"value":73353,"nodeType":864},{},[],{"data":81031,"content":81032,"nodeType":941},{},[81033,81051,81060,81069,81078],{"data":81034,"content":81035,"nodeType":945},{},[81036],{"data":81037,"content":81038,"nodeType":860},{},[81039,81042,81048],{"data":81040,"marks":81041,"value":73366,"nodeType":864},{},[],{"data":81043,"content":81044,"nodeType":883},{"uri":73369},[81045],{"data":81046,"marks":81047,"value":72883,"nodeType":864},{},[],{"data":81049,"marks":81050,"value":1774,"nodeType":864},{},[],{"data":81052,"content":81053,"nodeType":945},{},[81054],{"data":81055,"content":81056,"nodeType":860},{},[81057],{"data":81058,"marks":81059,"value":73386,"nodeType":864},{},[],{"data":81061,"content":81062,"nodeType":945},{},[81063],{"data":81064,"content":81065,"nodeType":860},{},[81066],{"data":81067,"marks":81068,"value":73396,"nodeType":864},{},[],{"data":81070,"content":81071,"nodeType":945},{},[81072],{"data":81073,"content":81074,"nodeType":860},{},[81075],{"data":81076,"marks":81077,"value":73406,"nodeType":864},{},[],{"data":81079,"content":81080,"nodeType":945},{},[81081],{"data":81082,"content":81083,"nodeType":860},{},[81084],{"data":81085,"marks":81086,"value":44002,"nodeType":864},{},[],{"data":81088,"content":81089,"nodeType":860},{},[81090],{"data":81091,"marks":81092,"value":73422,"nodeType":864},{},[],{"data":81094,"content":81095,"nodeType":860},{},[81096],{"data":81097,"marks":81098,"value":73429,"nodeType":864},{},[],{"data":81100,"content":81101,"nodeType":1312},{},[81102],{"data":81103,"marks":81104,"value":73436,"nodeType":864},{},[],{"data":81106,"content":81107,"nodeType":860},{},[81108],{"data":81109,"marks":81110,"value":73443,"nodeType":864},{},[],{"data":81112,"content":81113,"nodeType":860},{},[81114],{"data":81115,"marks":81116,"value":73450,"nodeType":864},{},[],{"data":81118,"content":81119,"nodeType":1005},{},[],{"data":81121,"content":81122,"nodeType":1009},{},[81123],{"data":81124,"marks":81125,"value":73460,"nodeType":864},{},[],{"data":81127,"content":81128,"nodeType":860},{},[81129,81132,81139],{"data":81130,"marks":81131,"value":73467,"nodeType":864},{},[],{"data":81133,"content":81134,"nodeType":883},{"uri":5642},[81135],{"data":81136,"marks":81137,"value":65931,"nodeType":864},{},[81138],{"type":1455},{"data":81140,"marks":81141,"value":12252,"nodeType":864},{},[],{"data":81143,"content":81146,"nodeType":996},{"target":81144},{"sys":81145},{"id":34872,"type":1001,"linkType":1002},[],{"data":81148,"content":81149,"nodeType":860},{},[81150],{"data":81151,"marks":81152,"value":21,"nodeType":864},{},[],{"items":81154},[81155,81157],{"sys":81156,"name":73498},{"id":73497},{"sys":81158,"name":342},{"id":6596},{"items":81160},[81161],{"fullName":849,"firstName":850,"jobTitle":851,"profilePicture":81162},{"url":853},{"__typename":2059,"sys":81164,"content":81165,"title":79407,"synopsis":82302,"hashTags":59,"publishedDate":82303,"slug":79408,"tagsCollection":82304,"authorsCollection":82310},{"id":79114},{"json":81166},{"data":81167,"content":81168,"nodeType":856},{},[81169,81199,81211,81227,81234,81241,81244,81251,81258,81382,81389,81396,81490,81497,81504,81557,81564,81587,81644,81647,81654,81673,81693,81700,81719,81726,81738,81741,81748,81755,81803,81810,81817,81835,81838,81845,81852,81859,81878,81885,81892,81899,81917,81924,81931,81938,81945,81964,81971,81978,81985,81992,82021,82027,82030,82037,82044,82050,82057,82064,82087,82094,82101,82144,82160,82179,82185,82192,82199,82206,82238,82283,82290,82296],{"data":81170,"content":81171,"nodeType":860},{},[81172,81176,81184,81187,81195],{"data":81173,"marks":81174,"value":81175,"nodeType":864},{},[],"Infostealer malware seems to be grabbing the headlines right now. It’s easy to see why, too, after laying claim to one of the ",{"data":81177,"content":81178,"nodeType":883},{"uri":34109},[81179],{"data":81180,"marks":81181,"value":81183,"nodeType":864},{},[81182],{"type":1455},"biggest breaches in history",{"data":81185,"marks":81186,"value":3748,"nodeType":864},{},[],{"data":81188,"content":81189,"nodeType":883},{"uri":6300},[81190],{"data":81191,"marks":81192,"value":81194,"nodeType":864},{},[81193],{"type":1455},"recent attacks on Snowflake customers",{"data":81196,"marks":81197,"value":81198,"nodeType":864},{},[]," saw ~165 businesses compromised using stolen credentials, resulting in millions of breached customer records, with the full impact still emerging. ",{"data":81200,"content":81201,"nodeType":860},{},[81202,81206],{"data":81203,"marks":81204,"value":81205,"nodeType":864},{},[],"Notably, ",{"data":81207,"marks":81208,"value":81210,"nodeType":864},{},[81209],{"type":899},"80% of the credentials used to access Snowflake customer accounts had found their way online after being stolen in infostealer infections – dating back as early as 2020. ",{"data":81212,"content":81213,"nodeType":860},{},[81214,81218,81223],{"data":81215,"marks":81216,"value":81217,"nodeType":864},{},[],"The Snowflake situation is a reminder of how lucrative stolen credentials can be for attackers – and how the cybercrime ecosystem has tilted as a result. As the saying goes nowadays, ",{"data":81219,"marks":81220,"value":81222,"nodeType":864},{},[81221],{"type":899},"hackers don’t hack in, they log in",{"data":81224,"marks":81225,"value":81226,"nodeType":864},{},[],". Stolen credentials are the lowest hanging fruit available to attackers, and their appetite (and the ecosystem needed to feed it) is insatiable. As an attacker, the prospect of picking up access to a major enterprise for just $10 or less (or even for free) is hard to resist – why wouldn’t you buy a ticket and take the gamble?  ",{"data":81228,"content":81229,"nodeType":860},{},[81230],{"data":81231,"marks":81232,"value":81233,"nodeType":864},{},[],"Infostealers are a huge part of the shift toward identity attacks. Along with phishing, infostealers are the primary mechanism for attackers to harvest credentials. Unlike phishing, infostealers can collect a large number of credentials (and other helpful data saved in the browser) in one fell swoop. But, they do have limitations. For example, you would expect any credible EDR to detect and block these attacks. And yet, the success of the attacks on Snowflake customers show us that gaps are being found and exploited.  ",{"data":81235,"content":81236,"nodeType":860},{},[81237],{"data":81238,"marks":81239,"value":81240,"nodeType":864},{},[],"In this article, we’ll look at the history of infostealers, how they work, and what the trends show us about how the cybercrime ecosystem is leaning into the opportunity they present.    ",{"data":81242,"content":81243,"nodeType":1005},{},[],{"data":81245,"content":81246,"nodeType":1009},{},[81247],{"data":81248,"marks":81249,"value":81250,"nodeType":864},{},[],"The state of infostealers today",{"data":81252,"content":81253,"nodeType":860},{},[81254],{"data":81255,"marks":81256,"value":81257,"nodeType":864},{},[],"Infostealers, and the mass credential harvesting they enable, are a big part of the rise in identity attacks. The stats support this, as:",{"data":81259,"content":81260,"nodeType":941},{},[81261,81283,81302,81323,81343,81362],{"data":81262,"content":81263,"nodeType":945},{},[81264],{"data":81265,"content":81266,"nodeType":860},{},[81267,81271,81280],{"data":81268,"marks":81269,"value":81270,"nodeType":864},{},[],"One million new stealer logs are distributed every month, with an estimated 3-5% containing credentials and session cookies to corporate IT environments (",{"data":81272,"content":81274,"nodeType":883},{"uri":81273},"https://www.bleepingcomputer.com/news/security/single-sign-on-and-the-cybercrime-ecosystem/",[81275],{"data":81276,"marks":81277,"value":81279,"nodeType":864},{},[81278],{"type":1455},"Flare",{"data":81281,"marks":81282,"value":22438,"nodeType":864},{},[],{"data":81284,"content":81285,"nodeType":945},{},[81286],{"data":81287,"content":81288,"nodeType":860},{},[81289,81292,81299],{"data":81290,"marks":81291,"value":68365,"nodeType":864},{},[],{"data":81293,"content":81294,"nodeType":883},{"uri":68368},[81295],{"data":81296,"marks":81297,"value":68374,"nodeType":864},{},[81298],{"type":1455},{"data":81300,"marks":81301,"value":22438,"nodeType":864},{},[],{"data":81303,"content":81304,"nodeType":945},{},[81305],{"data":81306,"content":81307,"nodeType":860},{},[81308,81312,81320],{"data":81309,"marks":81310,"value":81311,"nodeType":864},{},[],"147,000 token replay attacks were detected by Microsoft in 2023, an 111% increase year-over-year (",{"data":81313,"content":81315,"nodeType":883},{"uri":81314},"https://techcommunity.microsoft.com/t5/microsoft-entra-blog/how-to-break-the-token-theft-cyber-attack-chain/ba-p/4062700",[81316],{"data":81317,"marks":81318,"value":23700,"nodeType":864},{},[81319],{"type":1455},{"data":81321,"marks":81322,"value":12285,"nodeType":864},{},[],{"data":81324,"content":81325,"nodeType":945},{},[81326],{"data":81327,"content":81328,"nodeType":860},{},[81329,81333,81340],{"data":81330,"marks":81331,"value":81332,"nodeType":864},{},[],"Over 1000 credentials are posted online per day, per marketplace with an average sale price of $10, and 65% posted less than one day after being collected (",{"data":81334,"content":81335,"nodeType":883},{"uri":4408},[81336],{"data":81337,"marks":81338,"value":27246,"nodeType":864},{},[81339],{"type":1455},{"data":81341,"marks":81342,"value":22438,"nodeType":864},{},[],{"data":81344,"content":81345,"nodeType":945},{},[81346],{"data":81347,"content":81348,"nodeType":860},{},[81349,81353,81359],{"data":81350,"marks":81351,"value":81352,"nodeType":864},{},[],"Nearly half of the malware detected last year by Sophos targeted victims’ data specifically, and the majority of that malware was classified as infostealers (",{"data":81354,"content":81355,"nodeType":883},{"uri":68390},[81356],{"data":81357,"marks":81358,"value":68396,"nodeType":864},{},[],{"data":81360,"marks":81361,"value":22438,"nodeType":864},{},[],{"data":81363,"content":81364,"nodeType":945},{},[81365],{"data":81366,"content":81367,"nodeType":860},{},[81368,81372,81379],{"data":81369,"marks":81370,"value":81371,"nodeType":864},{},[],"Attacks on session cookies happen at the same order of magnitude as password-based attacks (",{"data":81373,"content":81374,"nodeType":883},{"uri":68432},[81375],{"data":81376,"marks":81377,"value":68438,"nodeType":864},{},[81378],{"type":1455},{"data":81380,"marks":81381,"value":22438,"nodeType":864},{},[],{"data":81383,"content":81384,"nodeType":1312},{},[81385],{"data":81386,"marks":81387,"value":81388,"nodeType":864},{},[],"How did we get here?",{"data":81390,"content":81391,"nodeType":860},{},[81392],{"data":81393,"marks":81394,"value":81395,"nodeType":864},{},[],"Let’s go back to the beginning. When they first emerged, infostealers were designed to steal online banking and credit card information. The most notable early example comes from as far back as 2006 with the ZeuS trojan. After the ZeuS source code was leaked in March 2011, the creation of multiple variants boosted the popularity of this type of malware and inspired the development of infostealers with increasingly sophisticated capabilities.",{"data":81397,"content":81398,"nodeType":860},{},[81399,81403,81412,81416,81425,81429,81438,81441,81450,81453,81462,81465,81474,81477,81486],{"data":81400,"marks":81401,"value":81402,"nodeType":864},{},[],"Modern infostealers rose to prominence in around 2018 with the emergence of ",{"data":81404,"content":81406,"nodeType":883},{"uri":81405},"https://malpedia.caad.fkie.fraunhofer.de/details/win.arkei_stealer",[81407],{"data":81408,"marks":81409,"value":81411,"nodeType":864},{},[81410],{"type":1455},"Arkei",{"data":81413,"marks":81414,"value":81415,"nodeType":864},{},[],", which quickly spawned the more popular ",{"data":81417,"content":81419,"nodeType":883},{"uri":81418},"https://malpedia.caad.fkie.fraunhofer.de/details/win.vidar",[81420],{"data":81421,"marks":81422,"value":81424,"nodeType":864},{},[81423],{"type":1455},"Vidar",{"data":81426,"marks":81427,"value":81428,"nodeType":864},{},[]," stealer. Today, some of the most popular families are ",{"data":81430,"content":81432,"nodeType":883},{"uri":81431},"https://malpedia.caad.fkie.fraunhofer.de/details/win.risepro",[81433],{"data":81434,"marks":81435,"value":81437,"nodeType":864},{},[81436],{"type":1455},"RisePro",{"data":81439,"marks":81440,"value":3731,"nodeType":864},{},[],{"data":81442,"content":81444,"nodeType":883},{"uri":81443},"https://malpedia.caad.fkie.fraunhofer.de/details/win.redline_stealer",[81445],{"data":81446,"marks":81447,"value":81449,"nodeType":864},{},[81448],{"type":1455},"RedLine",{"data":81451,"marks":81452,"value":3731,"nodeType":864},{},[],{"data":81454,"content":81456,"nodeType":883},{"uri":81455},"https://malpedia.caad.fkie.fraunhofer.de/details/win.stealc",[81457],{"data":81458,"marks":81459,"value":81461,"nodeType":864},{},[81460],{"type":1455},"StealC",{"data":81463,"marks":81464,"value":3731,"nodeType":864},{},[],{"data":81466,"content":81468,"nodeType":883},{"uri":81467},"https://malpedia.caad.fkie.fraunhofer.de/details/win.raccoon",[81469],{"data":81470,"marks":81471,"value":81473,"nodeType":864},{},[81472],{"type":1455},"Raccoon",{"data":81475,"marks":81476,"value":2232,"nodeType":864},{},[],{"data":81478,"content":81480,"nodeType":883},{"uri":81479},"https://malpedia.caad.fkie.fraunhofer.de/details/win.lumma",[81481],{"data":81482,"marks":81483,"value":81485,"nodeType":864},{},[81484],{"type":1455},"Lumma",{"data":81487,"marks":81488,"value":81489,"nodeType":864},{},[],", with new variants and families appearing all the time. ",{"data":81491,"content":81492,"nodeType":860},{},[81493],{"data":81494,"marks":81495,"value":81496,"nodeType":864},{},[],"Infostealers are used by all manner of threat actors of varying levels of sophistication. For larger groups with sufficient resources, the creation of new, custom stealers and malware packages is a common tactic to attempt to evade detection. ",{"data":81498,"content":81499,"nodeType":860},{},[81500],{"data":81501,"marks":81502,"value":81503,"nodeType":864},{},[],"But despite all the variants, infostealers do have common capabilities and characteristics, such as:",{"data":81505,"content":81506,"nodeType":941},{},[81507,81517,81527,81537,81547],{"data":81508,"content":81509,"nodeType":945},{},[81510],{"data":81511,"content":81512,"nodeType":860},{},[81513],{"data":81514,"marks":81515,"value":81516,"nodeType":864},{},[],"Extracting information from the browsers of a compromised device, such as passwords, cookies, autofill information, downloaded file information.",{"data":81518,"content":81519,"nodeType":945},{},[81520],{"data":81521,"content":81522,"nodeType":860},{},[81523],{"data":81524,"marks":81525,"value":81526,"nodeType":864},{},[],"Snapshotting the desktop and system inventory, with details such as the username, location data, hardware configuration, and information regarding installed security software.",{"data":81528,"content":81529,"nodeType":945},{},[81530],{"data":81531,"content":81532,"nodeType":860},{},[81533],{"data":81534,"marks":81535,"value":81536,"nodeType":864},{},[],"Sending stolen data back to a C2 server.",{"data":81538,"content":81539,"nodeType":945},{},[81540],{"data":81541,"content":81542,"nodeType":860},{},[81543],{"data":81544,"marks":81545,"value":81546,"nodeType":864},{},[],"Facilitating the deployment of additional tools and malware as part of a package. ",{"data":81548,"content":81549,"nodeType":945},{},[81550],{"data":81551,"content":81552,"nodeType":860},{},[81553],{"data":81554,"marks":81555,"value":81556,"nodeType":864},{},[],"Often (but not always) self-terminating once complete, leaving little trace on the victim machine and no ongoing behavior that might be detected. ",{"data":81558,"content":81559,"nodeType":860},{},[81560],{"data":81561,"marks":81562,"value":81563,"nodeType":864},{},[],"Infostealers are distributed in similar ways to other types of malware, such as:",{"data":81565,"content":81566,"nodeType":941},{},[81567,81577],{"data":81568,"content":81569,"nodeType":945},{},[81570],{"data":81571,"content":81572,"nodeType":860},{},[81573],{"data":81574,"marks":81575,"value":81576,"nodeType":864},{},[],"Delivery of malicious executable files via phishing emails or by having a victim download content from a malicious website. ",{"data":81578,"content":81579,"nodeType":945},{},[81580],{"data":81581,"content":81582,"nodeType":860},{},[81583],{"data":81584,"marks":81585,"value":81586,"nodeType":864},{},[],"‘Drive-by’ style attacks where the victim has only to visit an infected website.",{"data":81588,"content":81589,"nodeType":860},{},[81590,81594,81603,81606,81615,81618,81627,81631,81640],{"data":81591,"marks":81592,"value":81593,"nodeType":864},{},[],"They’re typically spread via malvertising, P2P downloads, and deceptive software download sites. ",{"data":81595,"content":81597,"nodeType":883},{"uri":81596},"https://www.bleepingcomputer.com/news/security/fake-cheat-lures-gamers-into-spreading-infostealer-malware/",[81598],{"data":81599,"marks":81600,"value":81602,"nodeType":864},{},[81601],{"type":1455},"Gaming forums",{"data":81604,"marks":81605,"value":3731,"nodeType":864},{},[],{"data":81607,"content":81609,"nodeType":883},{"uri":81608},"https://cybersecuritynews.com/facebook-account-hijack-malware/",[81610],{"data":81611,"marks":81612,"value":81614,"nodeType":864},{},[81613],{"type":1455},"Facebook ads",{"data":81616,"marks":81617,"value":2232,"nodeType":864},{},[],{"data":81619,"content":81621,"nodeType":883},{"uri":81620},"https://www.fortinet.com/blog/threat-research/lumma-variant-on-youtube",[81622],{"data":81623,"marks":81624,"value":81626,"nodeType":864},{},[81625],{"type":1455},"YouTube video descriptions",{"data":81628,"marks":81629,"value":81630,"nodeType":864},{},[]," are popular locations for malicious links, but recent examples also include ",{"data":81632,"content":81634,"nodeType":883},{"uri":81633},"https://www.bleepingcomputer.com/news/security/over-3-000-github-accounts-used-by-malware-distribution-service/",[81635],{"data":81636,"marks":81637,"value":81639,"nodeType":864},{},[81638],{"type":1455},"complex malware distribution networks on GitHub",{"data":81641,"marks":81642,"value":81643,"nodeType":864},{},[]," – such as the recent campaign from ‘Stargazer Goblin’ with more than 3,000 fake accounts creating and promoting hundreds of fake repositories to increase their apparent legitimacy and make them more likely to appear on GitHub's trending section.",{"data":81645,"content":81646,"nodeType":1005},{},[],{"data":81648,"content":81649,"nodeType":1009},{},[81650],{"data":81651,"marks":81652,"value":81653,"nodeType":864},{},[],"Infostealers are key to the cybercrime ecosystem",{"data":81655,"content":81656,"nodeType":860},{},[81657,81661,81669],{"data":81658,"marks":81659,"value":81660,"nodeType":864},{},[],"After being stolen, ",{"data":81662,"content":81663,"nodeType":883},{"uri":81273},[81664],{"data":81665,"marks":81666,"value":81668,"nodeType":864},{},[81667],{"type":1455},"infostealer data inevitably finds its way onto hacker forums and marketplaces",{"data":81670,"marks":81671,"value":81672,"nodeType":864},{},[],", both on the clearweb and darkweb. Popular infostealers have their own dedicated Telegram channels to advertise and sell stolen data. Private channels also exist, with the channel owner distributing tens of thousands of logs per week to a limited number of threat actors who pay $200-$400 for access to the channel. This allows them to get ‘first pick’ of stolen logs, which are later shared through public Telegram channels. ",{"data":81674,"content":81675,"nodeType":860},{},[81676,81680,81689],{"data":81677,"marks":81678,"value":81679,"nodeType":864},{},[],"Public data eventually makes its way onto services such as Have I Been Pwned (HIBP), which gives individuals and security teams some visibility of which credentials have been compromised. For example, ",{"data":81681,"content":81683,"nodeType":883},{"uri":81682},"https://www.troyhunt.com/telegram-combolists-and-361m-email-addresses/",[81684],{"data":81685,"marks":81686,"value":81688,"nodeType":864},{},[81687],{"type":1455},"in June, Troy Hunt (creator of HIBP) wrote",{"data":81690,"marks":81691,"value":81692,"nodeType":864},{},[]," about the impact of channels like Telegram and the sale of combolists (username, password, login portal URL), after being sent 122GB of data scraped out of thousands of Telegram channels, containing 361M unique email addresses (of which 151M had never been seen in HIBP before). ",{"data":81694,"content":81695,"nodeType":860},{},[81696],{"data":81697,"marks":81698,"value":81699,"nodeType":864},{},[],"The cybercrime ecosystem is complex, with a developed supply chain and organizations fulfilling different roles as a result: from malware-as-a-service developers, to initial access brokers, to the operators that actually conduct the attacks (be they ransomware, data theft, etc.) – and many, many other roles in between. Sometimes, a single group and/or its affiliates will conduct the full chain, but this is far less common today. ",{"data":81701,"content":81702,"nodeType":860},{},[81703,81706,81715],{"data":81704,"marks":81705,"value":21,"nodeType":864},{},[],{"data":81707,"content":81709,"nodeType":883},{"uri":81708},"https://www.secureworks.com/research/the-growing-threat-from-infostealers",[81710],{"data":81711,"marks":81712,"value":81714,"nodeType":864},{},[81713],{"type":1455},"Infostealers are often sold by malware developers to other attackers as a monthly subscription service.",{"data":81716,"marks":81717,"value":81718,"nodeType":864},{},[]," The price can range from $50 to over $1,000 USD per month for access to a stealer command and control (C2) server operated by the developer. The service often features a range of support functions, including multiple ways to view, download, and share stolen data. Self-hosted stealer C2 servers are also available and are usually sold for a flat fee. ",{"data":81720,"content":81721,"nodeType":860},{},[81722],{"data":81723,"marks":81724,"value":81725,"nodeType":864},{},[],"There’s also evidence that there is an element of target coordination – with one marketplace, Russian Market, allowing users to ‘preorder’ credentials for a $1,000 USD deposit from 2022. ",{"data":81727,"content":81728,"nodeType":860},{},[81729,81734],{"data":81730,"marks":81731,"value":81733,"nodeType":864},{},[81732],{"type":899},"So what? Well, there's evidently an abundance of breached data already online, and attackers have the tools readily available to have this pile grow exponentially bigger and more useful.",{"data":81735,"marks":81736,"value":81737,"nodeType":864},{},[]," It’s also probably more coordinated than we like to admit – a particularly intimidating prospect in the wake of Snowflake, which will no doubt have many criminals smelling blood in the water. ",{"data":81739,"content":81740,"nodeType":1005},{},[],{"data":81742,"content":81743,"nodeType":1009},{},[81744],{"data":81745,"marks":81746,"value":81747,"nodeType":864},{},[],"How can stolen data be abused by attackers? ",{"data":81749,"content":81750,"nodeType":860},{},[81751],{"data":81752,"marks":81753,"value":81754,"nodeType":864},{},[],"It’s pretty obvious that attackers getting access to all of your passwords and session cookies is bad, but there is a clear value hierarchy from a corporate security perspective. So, from highest to lowest risk:",{"data":81756,"content":81757,"nodeType":941},{},[81758,81773,81788],{"data":81759,"content":81760,"nodeType":945},{},[81761],{"data":81762,"content":81763,"nodeType":860},{},[81764,81769],{"data":81765,"marks":81766,"value":81768,"nodeType":864},{},[81767],{"type":899},"Stolen session cookies",{"data":81770,"marks":81771,"value":81772,"nodeType":864},{},[]," simply need to be imported into an attacker’s browser to resume an active session on an app. That means access can be gained without needing to enter a username and password, or pass any MFA checks. ",{"data":81774,"content":81775,"nodeType":945},{},[81776],{"data":81777,"content":81778,"nodeType":860},{},[81779,81784],{"data":81780,"marks":81781,"value":81783,"nodeType":864},{},[81782],{"type":899},"Stolen usernames, passwords",{"data":81785,"marks":81786,"value":81787,"nodeType":864},{},[],", and login page URLs can be used to access any accounts that lack MFA. ",{"data":81789,"content":81790,"nodeType":945},{},[81791],{"data":81792,"content":81793,"nodeType":860},{},[81794,81799],{"data":81795,"marks":81796,"value":81798,"nodeType":864},{},[81797],{"type":899},"Stolen autofill data",{"data":81800,"marks":81801,"value":81802,"nodeType":864},{},[]," can be used to gather other valuable information that could be useful for impersonating the victim when speaking to social engineering IT support staff, for example to reset or remove MFA.",{"data":81804,"content":81805,"nodeType":860},{},[81806],{"data":81807,"marks":81808,"value":81809,"nodeType":864},{},[],"Naturally, stolen session cookies are the most valuable prize, but they are often valid for only a limited time before the user must re-authenticate, and active sessions can often be terminated by security admins. Unfortunately, it’s not that uncommon for sessions to last for up to a month, or even sometimes indefinitely.",{"data":81811,"content":81812,"nodeType":860},{},[81813],{"data":81814,"marks":81815,"value":81816,"nodeType":864},{},[],"Stolen usernames and passwords are a different story. As the Snowflake breaches demonstrate, passwords can remain valid for years after a breach, particularly in the world of SaaS apps where mandatory password rotation is not as common as for a user’s primary domain account.",{"data":81818,"content":81819,"nodeType":860},{},[81820,81824,81831],{"data":81821,"marks":81822,"value":81823,"nodeType":864},{},[],"There’s also the problem of ",{"data":81825,"content":81826,"nodeType":883},{"uri":17701},[81827],{"data":81828,"marks":81829,"value":17706,"nodeType":864},{},[81830],{"type":1455},{"data":81832,"marks":81833,"value":81834,"nodeType":864},{},[]," – where a local login with a username and password (and probably lacking MFA) can exist alongside other, more secure login methods such as SSO. Given the fact that many apps are self-adopted by users, these accounts continue to exist even when an app is subsequently added to SSO via the chosen IdP, meaning they can fly under the radar of security teams. ",{"data":81836,"content":81837,"nodeType":1005},{},[],{"data":81839,"content":81840,"nodeType":1009},{},[81841],{"data":81842,"marks":81843,"value":81844,"nodeType":864},{},[],"Should you be concerned about infostealers?",{"data":81846,"content":81847,"nodeType":860},{},[81848],{"data":81849,"marks":81850,"value":81851,"nodeType":864},{},[],"It’s commonly thought that infostealers are primarily a concern for unmanaged devices that lack security controls common to corporate IT, such as EDR. But there’s a couple of reasons why corporate users are also at risk:",{"data":81853,"content":81854,"nodeType":1312},{},[81855],{"data":81856,"marks":81857,"value":81858,"nodeType":864},{},[],"EDR can be bypassed",{"data":81860,"content":81861,"nodeType":860},{},[81862,81866,81875],{"data":81863,"marks":81864,"value":81865,"nodeType":864},{},[],"EDR is seen as the go-to solution for defending against infostealer malware. However, attackers are always looking for ways to get around security controls by obfuscating malicious behavior and evading signature-based checks. For example, ",{"data":81867,"content":81869,"nodeType":883},{"uri":81868},"https://thehackernews.com/2024/07/microsoft-defender-flaw-exploited-to.html",[81870],{"data":81871,"marks":81872,"value":81874,"nodeType":864},{},[81873],{"type":1455},"a flaw in Microsoft Defender SmartScreen was recently exploited to deliver infostealer malware",{"data":81876,"marks":81877,"value":2924,"nodeType":864},{},[],{"data":81879,"content":81880,"nodeType":860},{},[81881],{"data":81882,"marks":81883,"value":81884,"nodeType":864},{},[],"Getting total coverage across your endpoint estate is notoriously difficult, if not totally unrealistic. Unless the malware is stopped on execution, then data will inevitably be stolen, and will continue to be taken until stopped (or it self-terminates). And once an attacker has stolen employee credentials or sessions, the credential stuffing and session hijacking attacks that come next won’t touch the endpoint. For those reasons, you can’t rely on EDR as a single line of defense against infostealers.",{"data":81886,"content":81887,"nodeType":1312},{},[81888],{"data":81889,"marks":81890,"value":81891,"nodeType":864},{},[],"Unmanaged devices such as BYOD or third-parties are vulnerable",{"data":81893,"content":81894,"nodeType":860},{},[81895],{"data":81896,"marks":81897,"value":81898,"nodeType":864},{},[],"Companies that support BYOD often have less secure configurations than those with fully managed devices. The same applies to third-party contractors, who often use their own devices to access company systems on a temporary basis. ",{"data":81900,"content":81901,"nodeType":860},{},[81902,81906,81913],{"data":81903,"marks":81904,"value":81905,"nodeType":864},{},[],"This issue was acutely felt in the Snowflake attacks: There is some suggestion that targeting key third-party suppliers – ",{"data":81907,"content":81908,"nodeType":883},{"uri":34519},[81909],{"data":81910,"marks":81911,"value":34525,"nodeType":864},{},[81912],{"type":1455},{"data":81914,"marks":81915,"value":81916,"nodeType":864},{},[]," – yielded some of the access needed. It’s unclear what came first, but it’s possible (likely, even) that EPAM was identified as a target specifically because of its lucrative customer base – third-parties are a known weak point for red teamers, so it would be foolish to assume that attackers don’t also think this way. It’s possible too that EPAM were specifically targeted because of their Snowflake chops – adding another indicator that Snowflake was potentially a premeditated attack inspired by the availability of Snowflake credentials online. ",{"data":81918,"content":81919,"nodeType":1312},{},[81920],{"data":81921,"marks":81922,"value":81923,"nodeType":864},{},[],"Browser profiles can be synced across devices, increasing the blast radius",{"data":81925,"content":81926,"nodeType":860},{},[81927],{"data":81928,"marks":81929,"value":81930,"nodeType":864},{},[],"It’s not uncommon for employees to access their personal email accounts from company devices. When accessing any browser, you are typically prompted to sign in with your account credentials (e.g. your Google account). If a user signs into a browser on a company device with a personal account, you’re usually prompted to sync your account across devices. This usually means that any saved passwords, search history, and settings are shared across devices. ",{"data":81932,"content":81933,"nodeType":860},{},[81934],{"data":81935,"marks":81936,"value":81937,"nodeType":864},{},[],"Naturally, this means that if a personal device is compromised where you’re also logged into the browser profile, then an infostealer will be able to harvest information saved into that profile across devices.",{"data":81939,"content":81940,"nodeType":860},{},[81941],{"data":81942,"marks":81943,"value":81944,"nodeType":864},{},[],"Even when using separate browser profiles for work and personal, it’s easy for the two to converge, or to slip into using the wrong profile. Accessing personal accounts (or at least synchronizing data across accounts) is usually a workplace policy violation, but it’s unfortunately all too common. ",{"data":81946,"content":81947,"nodeType":860},{},[81948,81952,81961],{"data":81949,"marks":81950,"value":81951,"nodeType":864},{},[],"Previous vulnerabilities have exacerbated this problem, such as ",{"data":81953,"content":81955,"nodeType":883},{"uri":81954},"https://thehackernews.com/2024/01/malware-using-google-multilogin-exploit.html",[81956],{"data":81957,"marks":81958,"value":81960,"nodeType":864},{},[81959],{"type":1455},"an exploit affecting Google MultiLogin to maintain access to synced accounts even after a password reset",{"data":81962,"marks":81963,"value":12252,"nodeType":864},{},[],{"data":81965,"content":81966,"nodeType":1312},{},[81967],{"data":81968,"marks":81969,"value":81970,"nodeType":864},{},[],"Are infostealers a bigger problem than credential phishing? ",{"data":81972,"content":81973,"nodeType":860},{},[81974],{"data":81975,"marks":81976,"value":81977,"nodeType":864},{},[],"The short answer is: No. The longer answer is: They are both part of the bigger problem of identity attacks, and attackers can wield both approaches simultaneously. ",{"data":81979,"content":81980,"nodeType":860},{},[81981],{"data":81982,"marks":81983,"value":81984,"nodeType":864},{},[],"While they are delivered to victims in similar ways to phishing links, most organizations are arguably better protected against infostealers than modern phishing attacks because endpoint security controls provide another layer of protection, in theory – whereas modern phishing attacks don’t necessarily involve the delivery of malware that executes on the device. ",{"data":81986,"content":81987,"nodeType":860},{},[81988],{"data":81989,"marks":81990,"value":81991,"nodeType":864},{},[],"Infostealers arguably provide more bang for the attacker’s buck, grabbing a stack of credentials and useful data in one go. In contrast, phishing is usually much more targeted, and involves the compromise of a narrower set of credentials – typically focusing on a particular site or app. ",{"data":81993,"content":81994,"nodeType":860},{},[81995,81999,82007,82011,82017],{"data":81996,"marks":81997,"value":81998,"nodeType":864},{},[],"It’s worth focusing on the TTP, not the particular tool being used: The attacker technique here is ",{"data":82000,"content":82001,"nodeType":883},{"uri":42040},[82002],{"data":82003,"marks":82004,"value":82006,"nodeType":864},{},[82005],{"type":1455},"session cookie theft",{"data":82008,"marks":82009,"value":82010,"nodeType":864},{},[],", and subsequently session hijacking by importing the cookie into the attacker’s browser. Both infostealers and ",{"data":82012,"content":82013,"nodeType":883},{"uri":48106},[82014],{"data":82015,"marks":82016,"value":48112,"nodeType":864},{},[],{"data":82018,"marks":82019,"value":82020,"nodeType":864},{},[]," involve the theft of session tokens, and so are valid means to achieve this end. In fact, there’s nothing to stop threat groups from employing both simultaneously.",{"data":82022,"content":82026,"nodeType":996},{"target":82023},{"sys":82024},{"id":82025,"type":1001,"linkType":1002},"7fil6aaQDFfJGYUnQ14k10",[],{"data":82028,"content":82029,"nodeType":1005},{},[],{"data":82031,"content":82032,"nodeType":1009},{},[82033],{"data":82034,"marks":82035,"value":82036,"nodeType":864},{},[],"Infostealers in action",{"data":82038,"content":82039,"nodeType":860},{},[82040],{"data":82041,"marks":82042,"value":82043,"nodeType":864},{},[],"Check out the video demo below to see the attack chain in action from the point of an infostealer compromise, showing session cookie theft, reimporting the cookies into the attacker's browser, and evading policy-based controls in M365. It also shows the targeting of downstream apps that are usually accessed via SSO in the context of both a Microsoft Entra and Okta compromise.",{"data":82045,"content":82049,"nodeType":996},{"target":82046},{"sys":82047},{"id":82048,"type":1001,"linkType":1002},"4J7LqqjQX2W52AbmcVmjUt",[],{"data":82051,"content":82052,"nodeType":1009},{},[82053],{"data":82054,"marks":82055,"value":82056,"nodeType":864},{},[],"What can organizations do about the infostealer threat? ",{"data":82058,"content":82059,"nodeType":860},{},[82060],{"data":82061,"marks":82062,"value":82063,"nodeType":864},{},[],"Security teams should have two main concerns:",{"data":82065,"content":82066,"nodeType":941},{},[82067,82077],{"data":82068,"content":82069,"nodeType":945},{},[82070],{"data":82071,"content":82072,"nodeType":860},{},[82073],{"data":82074,"marks":82075,"value":82076,"nodeType":864},{},[],"Data that is already out there from historical data dumps, but is still valid. ",{"data":82078,"content":82079,"nodeType":945},{},[82080],{"data":82081,"content":82082,"nodeType":860},{},[82083],{"data":82084,"marks":82085,"value":82086,"nodeType":864},{},[],"Data in private channels that attackers could use in the future, that you are blind to. ",{"data":82088,"content":82089,"nodeType":860},{},[82090],{"data":82091,"marks":82092,"value":82093,"nodeType":864},{},[],"As always, the root-cause of the problem is a lack of meaningful visibility of what apps your employees are using (including those outside your IdP) and whether the associated identities are configured securely. ",{"data":82095,"content":82096,"nodeType":860},{},[82097],{"data":82098,"marks":82099,"value":82100,"nodeType":864},{},[],"A layered, defense-in-depth approach is required to resolve the issue, by:",{"data":82102,"content":82103,"nodeType":941},{},[82104,82114,82124,82134],{"data":82105,"content":82106,"nodeType":945},{},[82107],{"data":82108,"content":82109,"nodeType":860},{},[82110],{"data":82111,"marks":82112,"value":82113,"nodeType":864},{},[],"Deploying MFA across all your identities and apps, including any local logins that can’t be put behind SSO. ",{"data":82115,"content":82116,"nodeType":945},{},[82117],{"data":82118,"content":82119,"nodeType":860},{},[82120],{"data":82121,"marks":82122,"value":82123,"nodeType":864},{},[],"Configuring time-limited session lifetimes for all apps to ensure that any stolen session tokens can only be used temporarily. ",{"data":82125,"content":82126,"nodeType":945},{},[82127],{"data":82128,"content":82129,"nodeType":860},{},[82130],{"data":82131,"marks":82132,"value":82133,"nodeType":864},{},[],"Ensuring that employees don’t access or synchronize personal accounts on their work devices, as well as limiting non-work activities on their work device as much as possible.",{"data":82135,"content":82136,"nodeType":945},{},[82137],{"data":82138,"content":82139,"nodeType":860},{},[82140],{"data":82141,"marks":82142,"value":82143,"nodeType":864},{},[],"Implementing a robust EDR/MDR solution to detect and respond to malware compromises on user devices. ",{"data":82145,"content":82146,"nodeType":860},{},[82147,82151,82156],{"data":82148,"marks":82149,"value":82150,"nodeType":864},{},[],"Organizations also have the option of investing in a commercial TI feed to detect and report data breaches affecting employees. But in our experience, these feeds contain ",{"data":82152,"marks":82153,"value":82155,"nodeType":864},{},[82154],{"type":899},"a lot ",{"data":82157,"marks":82158,"value":82159,"nodeType":864},{},[],"of false positives – so unless you have password visibility for employee accounts across apps, it’s going to waste a chunk of valuable time for you and your employees.",{"data":82161,"content":82162,"nodeType":860},{},[82163,82167,82175],{"data":82164,"marks":82165,"value":82166,"nodeType":864},{},[],"It would be remiss of us not to mention our recently released ",{"data":82168,"content":82169,"nodeType":883},{"uri":34857},[82170],{"data":82171,"marks":82172,"value":82174,"nodeType":864},{},[82173],{"type":1455},"session token theft detection feature",{"data":82176,"marks":82177,"value":82178,"nodeType":864},{},[]," that identifies session token theft by adding telemetry to the user agent string – using the power of our browser agent to create a new high-fidelity signal for security teams. It can also be applied more generally to detect any session taking place in an unmanaged browser – so you can use it to spot unauthorized access to company apps in general, too.  ",{"data":82180,"content":82184,"nodeType":996},{"target":82181},{"sys":82182},{"id":82183,"type":1001,"linkType":1002},"3XgpqEGzZSD2J0uvnCg5D8",[],{"data":82186,"content":82187,"nodeType":1312},{},[82188],{"data":82189,"marks":82190,"value":82191,"nodeType":864},{},[],"What’s next for infostealers?",{"data":82193,"content":82194,"nodeType":860},{},[82195],{"data":82196,"marks":82197,"value":82198,"nodeType":864},{},[],"All the signs point to the fact that infostealers will continue being a useful tool in the attacker’s arsenal. The Snowflake attacks in particular are both a warning for defenders and encouragement for attackers. It's also a good reminder that while infostealers were once used to harvest things like VPN creds to pivot to the internal network, they're now largely used to target third-party services over the internet. ",{"data":82200,"content":82201,"nodeType":860},{},[82202],{"data":82203,"marks":82204,"value":82205,"nodeType":864},{},[],"To evade EDR, it’s likely that we’ll see a growing number of families and variants used by individual groups, or better ‘enterprise’ capabilities from malware-as-a-service vendors. ",{"data":82207,"content":82208,"nodeType":860},{},[82209,82213,82222,82226,82234],{"data":82210,"marks":82211,"value":82212,"nodeType":864},{},[],"One notable quirk is that, to date, infostealers have not really branched out from targeting browsers. Take the example of password manager apps – you would think this would be an obvious target, right? But, they’re not usually targeted (",{"data":82214,"content":82216,"nodeType":883},{"uri":82215},"https://securitysenses.com/posts/malware-targeting-password-managers",[82217],{"data":82218,"marks":82219,"value":82221,"nodeType":864},{},[82220],{"type":1455},"with some exceptions",{"data":82223,"marks":82224,"value":82225,"nodeType":864},{},[],"). And when they do, ",{"data":82227,"content":82228,"nodeType":883},{"uri":82215},[82229],{"data":82230,"marks":82231,"value":82233,"nodeType":864},{},[82232],{"type":1455},"they work by eavesdropping on the password manager’s browser extension in action",{"data":82235,"marks":82236,"value":82237,"nodeType":864},{},[]," – meaning they are intercepted one-at-a-time as the user uses them, rather than targeting the password manager directly and exporting the saved passwords all at once. It will be interesting to see whether these capabilities are added in the future. ",{"data":82239,"content":82240,"nodeType":860},{},[82241,82245,82254,82257,82266,82270,82279],{"data":82242,"marks":82243,"value":82244,"nodeType":864},{},[],"On the other hand, there are defensive security developments that could reduce the ability of attackers to leverage things like stolen session tokens, such as ",{"data":82246,"content":82248,"nodeType":883},{"uri":82247},"https://learn.microsoft.com/en-us/entra/identity/conditional-access/concept-token-protection",[82249],{"data":82250,"marks":82251,"value":82253,"nodeType":864},{},[82252],{"type":1455},"Microsoft’s token binding feature in Entra",{"data":82255,"marks":82256,"value":12960,"nodeType":864},{},[],{"data":82258,"content":82260,"nodeType":883},{"uri":82259},"https://blog.chromium.org/2024/04/fighting-cookie-theft-using-device.html",[82261],{"data":82262,"marks":82263,"value":82265,"nodeType":864},{},[82264],{"type":1455},"Google’s device bound session cookies",{"data":82267,"marks":82268,"value":82269,"nodeType":864},{},[],". Google also released an ",{"data":82271,"content":82273,"nodeType":883},{"uri":82272},"https://security.googleblog.com/2024/07/improving-security-of-chrome-cookies-on.html?m=1",[82274],{"data":82275,"marks":82276,"value":82278,"nodeType":864},{},[82277],{"type":1455},"app-bound encryption feature",{"data":82280,"marks":82281,"value":82282,"nodeType":864},{},[],", which adds additional protection against infostealers attempting to steal browser data in Chrome if the underlying Windows device is compromised. ",{"data":82284,"content":82285,"nodeType":860},{},[82286],{"data":82287,"marks":82288,"value":82289,"nodeType":864},{},[],"That said, mature versions of these controls are still years away, and while session cookie theft is a key risk of infostealers, it’s not the only risk – so alternative controls and mitigations remain valuable to security teams in the present. ",{"data":82291,"content":82295,"nodeType":996},{"target":82292},{"sys":82293},{"id":82294,"type":1001,"linkType":1002},"5loTnpvwGD3kaKMXBp23hZ",[],{"data":82297,"content":82298,"nodeType":860},{},[82299],{"data":82300,"marks":82301,"value":21,"nodeType":864},{},[],"What the rise in popularity of infostealers tells us about the cybercrime ecosystem and the shift toward identity attacks. ","2024-07-31T00:00:00.000Z",{"items":82305},[82306,82308],{"sys":82307,"name":6593},{"id":6592},{"sys":82309,"name":342},{"id":6596},{"items":82311},[82312],{"fullName":2736,"firstName":2737,"jobTitle":2738,"profilePicture":82313},{"url":2740},{"__typename":2059,"sys":82315,"content":82317,"title":83136,"synopsis":83137,"hashTags":59,"publishedDate":83138,"slug":83139,"tagsCollection":83140,"authorsCollection":83146},{"id":82316},"4Bc6qX9kURetHcK7nkS8on",{"json":82318},{"data":82319,"content":82320,"nodeType":856},{},[82321,82328,82335,82342,82348,82356,82363,82369,82376,82382,82389,82397,82404,82409,82416,82447,82454,82461,82494,82502,82509,82517,82525,82532,82539,82558,82565,82572,82579,82587,82594,82601,82634,82641,82694,82701,82708,82716,82723,82730,82737,82745,82752,82775,82782,82830,82837,82843,82850,82893,82900,82908,82915,82922,82953,82961,82968,82974,82981,82987,82994,83000,83007,83090,83097,83104,83111,83129],{"data":82322,"content":82323,"nodeType":860},{},[82324],{"data":82325,"marks":82326,"value":82327,"nodeType":864},{},[],"As an industry, we’ve been conditioned to think about threat detection and response as something that happens post-compromise. Best practice has formed around resources like the Cyber Kill Chain and the MITRE ATT&CK Framework which focus on detecting indicators of an attacker presence on your network, and their behaviors and actions as they move through it.",{"data":82329,"content":82330,"nodeType":860},{},[82331],{"data":82332,"marks":82333,"value":82334,"nodeType":864},{},[],"But with the shift to identity attacks, where attackers look to take over accounts on internet-facing apps and services, relying on an assumed compromise approach to detection is becoming less reliable. The most significant breaches of the last 12-18 months have been the result of browser-based attacks where an attacker has taken over an account, exfiltrated data… and that’s it. ",{"data":82336,"content":82337,"nodeType":860},{},[82338],{"data":82339,"marks":82340,"value":82341,"nodeType":864},{},[],"This change means that the typical methods of post-compromise detection and response become much less viable. So, we’re going to talk a bit about what’s changed, why controls are failing, and what we’re doing here at Push to address the detection gaps. ",{"data":82343,"content":82347,"nodeType":996},{"target":82344},{"sys":82345},{"id":82346,"type":1001,"linkType":1002},"4179AY8ZEIJ3Ce9jszn4fA",[],{"data":82349,"content":82350,"nodeType":1009},{},[82351],{"data":82352,"marks":82353,"value":82355,"nodeType":864},{},[82354],{"type":899},"The good old days",{"data":82357,"content":82358,"nodeType":860},{},[82359],{"data":82360,"marks":82361,"value":82362,"nodeType":864},{},[],"Over the previous decade the typical attack paths, and the controls that have formed around it, have become very familiar to SecOps teams. ",{"data":82364,"content":82368,"nodeType":996},{"target":82365},{"sys":82366},{"id":82367,"type":1001,"linkType":1002},"4AOzwBGuNkXXogyqy46ki5",[],{"data":82370,"content":82371,"nodeType":860},{},[82372],{"data":82373,"marks":82374,"value":82375,"nodeType":864},{},[],"Even with the more recent transition to enterprise cloud and hybrid networking, the broad offensive logic of “land and expand” remains. This has seen the typical view of a network-based attack path simply expand to add first enterprise cloud, and then SaaS to the picture. ",{"data":82377,"content":82381,"nodeType":996},{"target":82378},{"sys":82379},{"id":82380,"type":1001,"linkType":1002},"2J3s38YOVcMuJuTdryhERA",[],{"data":82383,"content":82384,"nodeType":860},{},[82385],{"data":82386,"marks":82387,"value":82388,"nodeType":864},{},[],"And while this sort of attack path is theoretically possible, what happens in reality looks quite different. ",{"data":82390,"content":82391,"nodeType":1009},{},[82392],{"data":82393,"marks":82394,"value":82396,"nodeType":864},{},[82395],{"type":899},"The new world",{"data":82398,"content":82399,"nodeType":860},{},[82400],{"data":82401,"marks":82402,"value":82403,"nodeType":864},{},[],"Instead of needing to progress through the network, moving laterally, elevating privileges, etc. modern account takeover tends to take a much more direct approach. ",{"data":82405,"content":82408,"nodeType":996},{"target":82406},{"sys":82407},{"id":51074,"type":1001,"linkType":1002},[],{"data":82410,"content":82411,"nodeType":860},{},[82412],{"data":82413,"marks":82414,"value":82415,"nodeType":864},{},[],"It’s a common misconception that SaaS compromise typically comes after the traditional attack chain (a myth largely promoted by old-school consultancy providers, MSSPs, and managed SOC providers). There’s no need for an attacker looking to take over a SaaS account to target the network first – and many organizations today simply no longer have a network in the conventional sense.  ",{"data":82417,"content":82418,"nodeType":860},{},[82419,82423,82431,82435,82444],{"data":82420,"marks":82421,"value":82422,"nodeType":864},{},[],"This isn’t to say that there aren’t examples of longer SaaS compromises involving lateral movement from SaaS to SaaS, or SaaS to cloud (",{"data":82424,"content":82425,"nodeType":883},{"uri":6418},[82426],{"data":82427,"marks":82428,"value":82430,"nodeType":864},{},[82429],{"type":1455},"we created a whole attack matrix demonstrating the art of the possible here",{"data":82432,"marks":82433,"value":82434,"nodeType":864},{},[],"). Equally, there are examples of very short and direct attacks in enterprise cloud environments leading to ransomware deployment (for example, ",{"data":82436,"content":82438,"nodeType":883},{"uri":82437},"https://www.bleepingcomputer.com/news/security/mgm-casinos-esxi-servers-allegedly-encrypted-in-ransomware-attack/",[82439],{"data":82440,"marks":82441,"value":82443,"nodeType":864},{},[82442],{"type":1455},"Scattered Spider turning an initial account takeover in Okta into a full-scale VMware ESXi ransomware compromise",{"data":82445,"marks":82446,"value":12285,"nodeType":864},{},[],{"data":82448,"content":82449,"nodeType":860},{},[82450],{"data":82451,"marks":82452,"value":82453,"nodeType":864},{},[],"But statistically, the average network or enterprise cloud attack involves much more complex lateral movement, privilege escalation, and defense evasion than the average SaaS attack path. ",{"data":82455,"content":82456,"nodeType":860},{},[82457],{"data":82458,"marks":82459,"value":82460,"nodeType":864},{},[],"The Snowflake attack path is a useful case study here: ",{"data":82462,"content":82463,"nodeType":941},{},[82464,82474,82484],{"data":82465,"content":82466,"nodeType":945},{},[82467],{"data":82468,"content":82469,"nodeType":860},{},[82470],{"data":82471,"marks":82472,"value":82473,"nodeType":864},{},[],"Attackers logged into the Snowflake tenant of ~165 organizations using stolen credentials to access user accounts via the web-based ‘SnowSight’ portal. ",{"data":82475,"content":82476,"nodeType":945},{},[82477],{"data":82478,"content":82479,"nodeType":860},{},[82480],{"data":82481,"marks":82482,"value":82483,"nodeType":864},{},[],"To take advantage of the many exposed accounts, the attacker created a utility performing account takeover and recon at-scale. ",{"data":82485,"content":82486,"nodeType":945},{},[82487],{"data":82488,"content":82489,"nodeType":860},{},[82490],{"data":82491,"marks":82492,"value":82493,"nodeType":864},{},[],"The attack finished with the attacker executing the same set of SQL commands across customer instances to stage and exfiltrate data. ",{"data":82495,"content":82496,"nodeType":860},{},[82497],{"data":82498,"marks":82499,"value":82501,"nodeType":864},{},[82500],{"type":899},"And that’s it. ",{"data":82503,"content":82504,"nodeType":860},{},[82505],{"data":82506,"marks":82507,"value":82508,"nodeType":864},{},[],"Since these attacks happen in-app, to be able to detect and intercept them you’d need deep app-level telemetry, and probably the ability to automate any containment and response activities. But unfortunately…",{"data":82510,"content":82511,"nodeType":1009},{},[82512],{"data":82513,"marks":82514,"value":82516,"nodeType":864},{},[82515],{"type":899},"Detecting and responding after account takeover is really, really difficult",{"data":82518,"content":82519,"nodeType":1312},{},[82520],{"data":82521,"marks":82522,"value":82524,"nodeType":864},{},[82523],{"type":899},"Limited log data ",{"data":82526,"content":82527,"nodeType":860},{},[82528],{"data":82529,"marks":82530,"value":82531,"nodeType":864},{},[],"The first challenge is that in-app malicious activity is mostly indistinguishable from legitimate user behavior. Even mass data exfiltration might appear legitimate depending on what the app is used for!",{"data":82533,"content":82534,"nodeType":860},{},[82535],{"data":82536,"marks":82537,"value":82538,"nodeType":864},{},[],"To meaningfully detect malicious activity in-app, for starters you would need visibility of user behavior and actions. Unfortunately, you don’t have this. ",{"data":82540,"content":82541,"nodeType":860},{},[82542,82546,82554],{"data":82543,"marks":82544,"value":82545,"nodeType":864},{},[],"We’ve previously discussed in detail why ",{"data":82547,"content":82548,"nodeType":883},{"uri":36853},[82549],{"data":82550,"marks":82551,"value":82553,"nodeType":864},{},[82552],{"type":1455},"log sources like network (web proxy), IdP, and app logs fall short",{"data":82555,"marks":82556,"value":82557,"nodeType":864},{},[]," when it comes to identity attacks, but the TL;DR is that most applications provide extremely limited security logging (if they provide it at all). ",{"data":82559,"content":82560,"nodeType":860},{},[82561],{"data":82562,"marks":82563,"value":82564,"nodeType":864},{},[],"When logs are available, you’re limited to the events that the third-party deems suitable to log. Out of the 100 most popular apps we see across our customers, and perhaps the few dozen or so that are security critical, only a small handful provide any useful logging. So extremely risky actions, like cloning a private GitHub repo, or downloading SharePoint files via ‘open in app’ or file syncing, don’t generate any logs at all. ",{"data":82566,"content":82567,"nodeType":860},{},[82568],{"data":82569,"marks":82570,"value":82571,"nodeType":864},{},[],"Further, the lack of out-of-the-box connectors for many apps means that complex custom architectures are often required for ingestion.",{"data":82573,"content":82574,"nodeType":860},{},[82575],{"data":82576,"marks":82577,"value":82578,"nodeType":864},{},[],"So, even if logs are available and you’re able to ingest them into your SIEM, there’s no guarantee that the telemetry available will contribute to any meaningful detection of malicious activity. ",{"data":82580,"content":82581,"nodeType":1312},{},[82582],{"data":82583,"marks":82584,"value":82586,"nodeType":864},{},[82585],{"type":899},"Limited response capabilities",{"data":82588,"content":82589,"nodeType":860},{},[82590],{"data":82591,"marks":82592,"value":82593,"nodeType":864},{},[],"By some miracle, you’ve detected an account takeover. Now what?",{"data":82595,"content":82596,"nodeType":860},{},[82597],{"data":82598,"marks":82599,"value":82600,"nodeType":864},{},[],"The ability to respond to an attack is dictated by the controls that are available to the security team. Unfortunately:",{"data":82602,"content":82603,"nodeType":941},{},[82604,82614,82624],{"data":82605,"content":82606,"nodeType":945},{},[82607],{"data":82608,"content":82609,"nodeType":860},{},[82610],{"data":82611,"marks":82612,"value":82613,"nodeType":864},{},[],"Depending on the app and how it was adopted, there’s no guarantee that you have admin rights. ",{"data":82615,"content":82616,"nodeType":945},{},[82617],{"data":82618,"content":82619,"nodeType":860},{},[82620],{"data":82621,"marks":82622,"value":82623,"nodeType":864},{},[],"It’s not guaranteed that admins will have the required security features available to them, like forcing a logout on a session or disabling an account (you may not even know who the users and admins are within your organization, particularly if it was self-adopted by a specific team). ",{"data":82625,"content":82626,"nodeType":945},{},[82627],{"data":82628,"content":82629,"nodeType":860},{},[82630],{"data":82631,"marks":82632,"value":82633,"nodeType":864},{},[],"Response probably requires that you log into the app and perform these actions in the admin interface (rather than being something you can orchestrate via SIEM workflow or API).",{"data":82635,"content":82636,"nodeType":860},{},[82637],{"data":82638,"marks":82639,"value":82640,"nodeType":864},{},[],"So at the point that the SecOps team is engaged, the team needs to be able to respond by eradicating the attacker’s access and closing the vulnerabilities exploited to prevent re-entry. To do this, the team needs to be able to identify, for example:",{"data":82642,"content":82643,"nodeType":941},{},[82644,82654,82664,82674,82684],{"data":82645,"content":82646,"nodeType":945},{},[82647],{"data":82648,"content":82649,"nodeType":860},{},[82650],{"data":82651,"marks":82652,"value":82653,"nodeType":864},{},[],"How the attacker gained access to the account",{"data":82655,"content":82656,"nodeType":945},{},[82657],{"data":82658,"content":82659,"nodeType":860},{},[82660],{"data":82661,"marks":82662,"value":82663,"nodeType":864},{},[],"What the attacker did using the compromised account",{"data":82665,"content":82666,"nodeType":945},{},[82667],{"data":82668,"content":82669,"nodeType":860},{},[82670],{"data":82671,"marks":82672,"value":82673,"nodeType":864},{},[],"Whether any alternative access methods were established (e.g. backup emails, API keys, or OAuth integrations)",{"data":82675,"content":82676,"nodeType":945},{},[82677],{"data":82678,"content":82679,"nodeType":860},{},[82680],{"data":82681,"marks":82682,"value":82683,"nodeType":864},{},[],"Where the attacker could have laterally moved to using the account (based on the integrations and permissions of the identity)",{"data":82685,"content":82686,"nodeType":945},{},[82687],{"data":82688,"content":82689,"nodeType":860},{},[82690],{"data":82691,"marks":82692,"value":82693,"nodeType":864},{},[],"Other accounts the attacker could also access using the same credentials",{"data":82695,"content":82696,"nodeType":860},{},[82697],{"data":82698,"marks":82699,"value":82700,"nodeType":864},{},[],"Given the limited tools available and the probable lack of app-specific knowledge (you can’t be an expert in every app!), by the time you’ve managed to respond, the attacker has probably already sailed off into the sunset with all of the data they can lay their hands on. ",{"data":82702,"content":82703,"nodeType":860},{},[82704],{"data":82705,"marks":82706,"value":82707,"nodeType":864},{},[],"Clearly, post-compromise detection and response isn’t really a viable option – you’re basically entering full response and recovery mode at this point. ",{"data":82709,"content":82710,"nodeType":1009},{},[82711],{"data":82712,"marks":82713,"value":82715,"nodeType":864},{},[82714],{"type":899},"Shifting detection left",{"data":82717,"content":82718,"nodeType":860},{},[82719],{"data":82720,"marks":82721,"value":82722,"nodeType":864},{},[],"If you can’t reasonably detect and respond to post-compromise activity, it makes detecting and blocking initial access much more important. ",{"data":82724,"content":82725,"nodeType":860},{},[82726],{"data":82727,"marks":82728,"value":82729,"nodeType":864},{},[],"Again, it seems obvious, but it’s yet another notion that’s fallen under the radar – despite the trendiness of ‘shifting left’ in other areas like software development and vulnerability management. Partly because as we’ve discussed, post-compromise detection and response has been the norm for so long. But also because we’ve accepted the status quo of the (somewhat disappointing) preventative controls that are available. ",{"data":82731,"content":82732,"nodeType":860},{},[82733],{"data":82734,"marks":82735,"value":82736,"nodeType":864},{},[],"First, let’s isolate the techniques and steps that attackers typically rely on for account takeover. ",{"data":82738,"content":82739,"nodeType":1312},{},[82740],{"data":82741,"marks":82742,"value":82744,"nodeType":864},{},[82743],{"type":899},"Methods of account takeover",{"data":82746,"content":82747,"nodeType":860},{},[82748],{"data":82749,"marks":82750,"value":82751,"nodeType":864},{},[],"To be able to hijack an account, an attacker needs to possess one of two things:",{"data":82753,"content":82754,"nodeType":941},{},[82755,82765],{"data":82756,"content":82757,"nodeType":945},{},[82758],{"data":82759,"content":82760,"nodeType":860},{},[82761],{"data":82762,"marks":82763,"value":82764,"nodeType":864},{},[],"Authentication material e.g. a username and password, with a login portal URL.",{"data":82766,"content":82767,"nodeType":945},{},[82768],{"data":82769,"content":82770,"nodeType":860},{},[82771],{"data":82772,"marks":82773,"value":82774,"nodeType":864},{},[],"Session material e.g. session cookies. ",{"data":82776,"content":82777,"nodeType":860},{},[82778],{"data":82779,"marks":82780,"value":82781,"nodeType":864},{},[],"There are three main ways that an attacker can hijack an account by acquiring (or generating) these materials: Phishing, infostealers, and credential stuffing. ",{"data":82783,"content":82784,"nodeType":941},{},[82785,82800,82815],{"data":82786,"content":82787,"nodeType":945},{},[82788],{"data":82789,"content":82790,"nodeType":860},{},[82791,82796],{"data":82792,"marks":82793,"value":82795,"nodeType":864},{},[82794],{"type":899},"Phishing:",{"data":82797,"marks":82798,"value":82799,"nodeType":864},{},[]," Stealing valid authentication and session material from victims, including usernames, passwords, and session cookies (if AitM or BitM), for a specific site or app.",{"data":82801,"content":82802,"nodeType":945},{},[82803],{"data":82804,"content":82805,"nodeType":860},{},[82806,82811],{"data":82807,"marks":82808,"value":82810,"nodeType":864},{},[82809],{"type":899},"Infostealers:",{"data":82812,"marks":82813,"value":82814,"nodeType":864},{},[]," Stealing valid authentication and session material from the victim’s web browsers for all apps that the user has signed into, as well as desktop information from the device.",{"data":82816,"content":82817,"nodeType":945},{},[82818],{"data":82819,"content":82820,"nodeType":860},{},[82821,82826],{"data":82822,"marks":82823,"value":82825,"nodeType":864},{},[82824],{"type":899},"Credential stuffing: ",{"data":82827,"marks":82828,"value":82829,"nodeType":864},{},[],"Using previously breached authentication or session material in data breach dumps, or taking advantage of weak or guessable passwords (as a result of password reuse).",{"data":82831,"content":82832,"nodeType":860},{},[82833],{"data":82834,"marks":82835,"value":82836,"nodeType":864},{},[],"Once this information has been acquired, the attack path follows a similar journey regardless of the initial attack technique, ending in the attacker initiating a session in their own browser. ",{"data":82838,"content":82842,"nodeType":996},{"target":82839},{"sys":82840},{"id":82841,"type":1001,"linkType":1002},"7CJT84yPsiUaUO4Mfb6oFd",[],{"data":82844,"content":82845,"nodeType":860},{},[82846],{"data":82847,"marks":82848,"value":82849,"nodeType":864},{},[],"Clearly, there are a number of steps here that involve user behaviors/actions that could in theory be detected with the right visibility:",{"data":82851,"content":82852,"nodeType":941},{},[82853,82863,82873,82883],{"data":82854,"content":82855,"nodeType":945},{},[82856],{"data":82857,"content":82858,"nodeType":860},{},[82859],{"data":82860,"marks":82861,"value":82862,"nodeType":864},{},[],"The victim being sent and accessing a malicious link, or downloading a malicious file",{"data":82864,"content":82865,"nodeType":945},{},[82866],{"data":82867,"content":82868,"nodeType":860},{},[82869],{"data":82870,"marks":82871,"value":82872,"nodeType":864},{},[],"The victim loading a malicious webpage",{"data":82874,"content":82875,"nodeType":945},{},[82876],{"data":82877,"content":82878,"nodeType":860},{},[82879],{"data":82880,"marks":82881,"value":82882,"nodeType":864},{},[],"The victim interacting with a malicious webpage, such as entering their credentials",{"data":82884,"content":82885,"nodeType":945},{},[82886],{"data":82887,"content":82888,"nodeType":860},{},[82889],{"data":82890,"marks":82891,"value":82892,"nodeType":864},{},[],"(If an infostealer attack) The victim executing malware on their device",{"data":82894,"content":82895,"nodeType":860},{},[82896],{"data":82897,"marks":82898,"value":82899,"nodeType":864},{},[],"Finally, the attacker must also access the stolen account from their own device/browser.",{"data":82901,"content":82902,"nodeType":1312},{},[82903],{"data":82904,"marks":82905,"value":82907,"nodeType":864},{},[82906],{"type":899},"Existing controls are falling short",{"data":82909,"content":82910,"nodeType":860},{},[82911],{"data":82912,"marks":82913,"value":82914,"nodeType":864},{},[],"So, now we know what these attacks look like, how do you feasibly detect and block them? ",{"data":82916,"content":82917,"nodeType":860},{},[82918],{"data":82919,"marks":82920,"value":82921,"nodeType":864},{},[],"The vast majority of identity attacks take place entirely over the internet. These attacks don’t involve traditional network and endpoint-based techniques, and therefore don’t run into many of your existing perimeter controls. Infostealer attacks are the exception in that they do involve an endpoint compromise (and therefore come up against EDR), but attackers are continually finding new bypass techniques, or are targeting unmanaged devices that are not protected by EDR. ",{"data":82923,"content":82924,"nodeType":860},{},[82925,82929,82937,82941,82949],{"data":82926,"marks":82927,"value":82928,"nodeType":864},{},[],"This leaves us in the hands of TI-driven blocklists and SWG/email controls that identify and block malicious content. However, these controls are largely based on ",{"data":82930,"content":82931,"nodeType":883},{"uri":7425},[82932],{"data":82933,"marks":82934,"value":82936,"nodeType":864},{},[82935],{"type":1455},"indicators like domain names, URLs, and IPs",{"data":82938,"marks":82939,"value":82940,"nodeType":864},{},[]," which are easy for attackers to change (and therefore bypass). Where pages and downloads are analyzed, ",{"data":82942,"content":82943,"nodeType":883},{"uri":48151},[82944],{"data":82945,"marks":82946,"value":82948,"nodeType":864},{},[82947],{"type":1455},"attackers are routinely implementing obfuscation measures to defeat more advanced dynamic controls",{"data":82950,"marks":82951,"value":82952,"nodeType":864},{},[]," with a lot of success, or using techniques like HTML smuggling to bypass download scanning tools. ",{"data":82954,"content":82955,"nodeType":1312},{},[82956],{"data":82957,"marks":82958,"value":82960,"nodeType":864},{},[82959],{"type":899},"Detecting and responding to account takeover with Push",{"data":82962,"content":82963,"nodeType":860},{},[82964],{"data":82965,"marks":82966,"value":82967,"nodeType":864},{},[],"But, Push’s vantage point in the browser gives us a very different perspective. Because in the browser, you have much better visibility of the rendered web page (meaning it's much harder to disguise malicious content). You also aren’t restricted to email, and can intercept a user loading a malicious page whatever it’s source. ",{"data":82969,"content":82973,"nodeType":996},{"target":82970},{"sys":82971},{"id":82972,"type":1001,"linkType":1002},"4JpFRHGRGEbCb1hNF0CGlE",[],{"data":82975,"content":82976,"nodeType":860},{},[82977],{"data":82978,"marks":82979,"value":82980,"nodeType":864},{},[],"So, let’s compare the typical web-based controls that organizations rely on against what’s possible using Push’s browser-based solution. We’ll put EDR to one side here and focus on a typical phishing attack, since the majority of the attack path happens over the internet (and the attacker has to return to the internet to access the app/account anyway). ",{"data":82982,"content":82986,"nodeType":996},{"target":82983},{"sys":82984},{"id":82985,"type":1001,"linkType":1002},"4ua9ZNNSnxJnRLwJvRTaf1",[],{"data":82988,"content":82989,"nodeType":860},{},[82990],{"data":82991,"marks":82992,"value":82993,"nodeType":864},{},[],"You can see here that attackers have established methods of routinely bypassing these controls. In contrast, with Push, there are layered detections against different stages of the attack path to account takeover, providing defense-in-depth should a layer be somehow bypassed.",{"data":82995,"content":82999,"nodeType":996},{"target":82996},{"sys":82997},{"id":82998,"type":1001,"linkType":1002},"ogIj92nzV9Q2Z7I9YOgG3",[],{"data":83001,"content":83002,"nodeType":860},{},[83003],{"data":83004,"marks":83005,"value":83006,"nodeType":864},{},[],"In practice, this creates four strong lines of defense – all before an attacker can even take over an account. ",{"data":83008,"content":83009,"nodeType":941},{},[83010,83030,83050,83070],{"data":83011,"content":83012,"nodeType":945},{},[83013],{"data":83014,"content":83015,"nodeType":860},{},[83016,83020,83027],{"data":83017,"marks":83018,"value":83019,"nodeType":864},{},[],"1st line: ",{"data":83021,"content":83022,"nodeType":883},{"uri":48237},[83023],{"data":83024,"marks":83025,"value":83026,"nodeType":864},{},[],"Detecting when a login page that you access is cloned from a legitimate page.",{"data":83028,"marks":83029,"value":21,"nodeType":864},{},[],{"data":83031,"content":83032,"nodeType":945},{},[83033],{"data":83034,"content":83035,"nodeType":860},{},[83036,83040,83047],{"data":83037,"marks":83038,"value":83039,"nodeType":864},{},[],"2nd line: ",{"data":83041,"content":83042,"nodeType":883},{"uri":48185},[83043],{"data":83044,"marks":83045,"value":83046,"nodeType":864},{},[],"Detecting and blocking access to a page with a known phishing kit signature present on the page",{"data":83048,"marks":83049,"value":12252,"nodeType":864},{},[],{"data":83051,"content":83052,"nodeType":945},{},[83053],{"data":83054,"content":83055,"nodeType":860},{},[83056,83060,83067],{"data":83057,"marks":83058,"value":83059,"nodeType":864},{},[],"3rd line: ",{"data":83061,"content":83062,"nodeType":883},{"uri":47989},[83063],{"data":83064,"marks":83065,"value":83066,"nodeType":864},{},[],"Detecting and blocking the user behavior of entering their password into any site that the password doesn’t belong to",{"data":83068,"marks":83069,"value":12252,"nodeType":864},{},[],{"data":83071,"content":83072,"nodeType":945},{},[83073],{"data":83074,"content":83075,"nodeType":860},{},[83076,83080,83087],{"data":83077,"marks":83078,"value":83079,"nodeType":864},{},[],"4th line: ",{"data":83081,"content":83082,"nodeType":883},{"uri":34857},[83083],{"data":83084,"marks":83085,"value":83086,"nodeType":864},{},[],"Detecting when an attacker resumes a stolen session in a browser without the Push extension running. ",{"data":83088,"marks":83089,"value":21,"nodeType":864},{},[],{"data":83091,"content":83092,"nodeType":860},{},[83093],{"data":83094,"marks":83095,"value":83096,"nodeType":864},{},[],"Each of these controls either detects and blocks the account takeover attempt outright, or provides a high-fidelity indicator that should trigger a priority investigation via your SecOps workflow. ",{"data":83098,"content":83099,"nodeType":1009},{},[83100],{"data":83101,"marks":83102,"value":32492,"nodeType":864},{},[83103],{"type":899},{"data":83105,"content":83106,"nodeType":860},{},[83107],{"data":83108,"marks":83109,"value":83110,"nodeType":864},{},[],"Hopefully we’ve demonstrated shifting detection left isn’t just possible, but essential for defending against modern identity attacks and account takeover. ",{"data":83112,"content":83113,"nodeType":860},{},[83114,83118,83126],{"data":83115,"marks":83116,"value":83117,"nodeType":864},{},[],"This is the second post in our design philosophy series, so if you want to read about how we’re building detections that are hard for attackers to bypass using the Pyramid of Pain, ",{"data":83119,"content":83120,"nodeType":883},{"uri":7425},[83121],{"data":83122,"marks":83123,"value":83125,"nodeType":864},{},[83124],{"type":1455},"you can check it out here",{"data":83127,"marks":83128,"value":12252,"nodeType":864},{},[],{"data":83130,"content":83131,"nodeType":860},{},[83132],{"data":83133,"marks":83134,"value":83135,"nodeType":864},{},[],"We look forward to sharing more about our design philosophy with you in the future! ","Shifting detection left for more effective threat detection","Why relying on post-compromise detection and response is no longer an option for modern browser-based attacks.","2024-10-25T00:00:00.000Z","shifting-detection-left-for-more-effective-threat-detection",{"items":83141},[83142,83144],{"sys":83143,"name":342},{"id":6596},{"sys":83145,"name":6593},{"id":6592},{"items":83147},[83148],{"fullName":2736,"firstName":2737,"jobTitle":2738,"profilePicture":83149},{"url":2740},"blog/snowflake-retro",{"json":83152},{"data":83153,"content":83154,"nodeType":856},{},[83155],{"data":83156,"content":83157,"nodeType":860},{},[83158],{"data":83159,"marks":83160,"value":83161,"nodeType":864},{},[],"The campaign against Snowflake customers in 2024 was a watershed moment for the cyber security industry, indicating that we’ve entered a new era of cyber security in which identity is the new perimeter.",{"id":34089,"publishedAt":83163},"2026-08-12T11:54:44.431Z",{"items":83165},[83166],{"sys":83167,"name":6593},{"id":6592},{"items":83169},[83170,83172,83174,83176,83178,83180,83182,83184,83186,83188,83190,83192,83194],{"sys":83171,"name":413,"slug":414,"tier":31},{"id":410},{"sys":83173,"name":545,"slug":546,"tier":31},{"id":542},{"sys":83175,"name":279,"slug":280,"tier":31},{"id":276},{"sys":83177,"name":642,"slug":643,"tier":31},{"id":639},{"sys":83179,"name":422,"slug":423,"tier":45},{"id":419},{"sys":83181,"name":333,"slug":334,"tier":45},{"id":330},{"sys":83183,"name":528,"slug":529,"tier":45},{"id":525},{"sys":83185,"name":395,"slug":396,"tier":45},{"id":392},{"sys":83187,"name":457,"slug":458,"tier":45},{"id":454},{"sys":83189,"name":502,"slug":503,"tier":45},{"id":499},{"sys":83191,"name":571,"slug":572,"tier":45},{"id":568},{"sys":83193,"name":633,"slug":634,"tier":45},{"id":630},{"sys":83195,"name":589,"slug":590,"tier":45},{"id":586},"xN-knFE2h__bhz7XxGqbZN_g_AAJlDtGURT2F_oSLRs",{"id":83198,"title":83199,"authorsCollection":83200,"content":83205,"extension":228,"faqItemsCollection":84589,"faqTitle":59,"featured":6,"hashTags":59,"meta":84591,"metaTitle":84592,"ogImage":59,"postType":5740,"publishedDate":84593,"relatedBlogPostsCollection":84594,"slug":86479,"stem":86480,"subtitle":59,"summary":86481,"synopsis":86500,"sys":86501,"tagsCollection":86504,"topicsCollection":86510,"__hash__":86538},"blog/blog/a-new-class-of-phishing-verification-phishing-and-cross-idp-impersonation.json","A new class of phishing: Verification phishing and cross-IdP impersonation",{"items":83201},[83202],{"fullName":4949,"firstName":4950,"jobTitle":4951,"socialLinks":83203,"profilePicture":83204},[4953],{"url":4955},{"json":83206,"links":84491},{"data":83207,"content":83208,"nodeType":856},{},[83209,83216,83223,83256,83263,83270,83273,83280,83297,83317,83324,83330,83348,83355,83380,83383,83390,83397,83404,83411,83418,83424,83442,83449,83452,83459,83466,83473,83480,83487,83535,83538,83544,83551,83557,83560,83566,83597,83617,83624,83630,83633,83640,83657,83677,83684,83737,83743,83746,83753,83760,83767,83842,83845,83852,83859,83866,83872,83875,83882,83901,83919,83935,83942,83945,83952,83959,83966,83973,83976,83983,83990,83997,84004,84007,84014,84021,84028,84034,84040,84043,84050,84057,84064,84070,84073,84080,84087,84094,84100,84103,84110,84117,84124,84130,84136,84143,84162,84169,84175,84182,84185,84192,84199,84206,84213,84216,84223,84230,84236,84239,84246,84253,84260,84292,84295,84302,84309,84327,84334,84341,84348,84354,84357,84364,84371,84390,84393,84399,84406,84458,84465,84472,84479,84485],{"data":83210,"content":83211,"nodeType":860},{},[83212],{"data":83213,"marks":83214,"value":83215,"nodeType":864},{},[],"Many organizations make use of a centralized managed identity provider (IdP) that they use as an SSO gateway, such as Microsoft Entra, Okta, Google Workspace etc. ",{"data":83217,"content":83218,"nodeType":860},{},[83219],{"data":83220,"marks":83221,"value":83222,"nodeType":864},{},[],"In a perfect world, every account, on every business application, would be:",{"data":83224,"content":83225,"nodeType":941},{},[83226,83236,83246],{"data":83227,"content":83228,"nodeType":945},{},[83229],{"data":83230,"content":83231,"nodeType":860},{},[83232],{"data":83233,"marks":83234,"value":83235,"nodeType":864},{},[],"Accessed via SSO from an IdP account via SAML or OIDC protocols.",{"data":83237,"content":83238,"nodeType":945},{},[83239],{"data":83240,"content":83241,"nodeType":860},{},[83242],{"data":83243,"marks":83244,"value":83245,"nodeType":864},{},[],"Protected by strong authentication controls such as phishing-resistant factors such as passkeys or Okta Fastpass.",{"data":83247,"content":83248,"nodeType":945},{},[83249],{"data":83250,"content":83251,"nodeType":860},{},[83252],{"data":83253,"marks":83254,"value":83255,"nodeType":864},{},[],"Configured to provide strong centralized audit logging. ",{"data":83257,"content":83258,"nodeType":860},{},[83259],{"data":83260,"marks":83261,"value":83262,"nodeType":864},{},[],"This would in theory provide broad protection against identity attacks — there are no credentials to steal or be phished (even using modern AiTM phish kits) and the logging would provide threat hunting and incident response teams with a great data source for detection and response. ",{"data":83264,"content":83265,"nodeType":860},{},[83266],{"data":83267,"marks":83268,"value":83269,"nodeType":864},{},[],"But what if it were possible to compromise downstream SaaS applications directly and circumvent every single control we just outlined? No password needed, no MFA needed, no SSO audit logs — and all it took was the ability to phish a verification code from a target user. This is what is often possible using verification phishing when combined with cross-IdP impersonation. ",{"data":83271,"content":83272,"nodeType":1005},{},[],{"data":83274,"content":83275,"nodeType":1009},{},[83276],{"data":83277,"marks":83278,"value":83279,"nodeType":864},{},[],"What is cross-IdP impersonation?",{"data":83281,"content":83282,"nodeType":860},{},[83283,83286,83293],{"data":83284,"marks":83285,"value":21,"nodeType":864},{},[],{"data":83287,"content":83288,"nodeType":883},{"uri":36121},[83289],{"data":83290,"marks":83291,"value":40457,"nodeType":864},{},[83292],{"type":1455},{"data":83294,"marks":83295,"value":83296,"nodeType":864},{},[]," is when you authenticate to an application as a user but using a different IdP from the one used ordinarily by the target organization. Depending on the configuration of the target application, this can potentially allow very strict authentication controls to be either partially or completely circumvented. ",{"data":83298,"content":83299,"nodeType":860},{},[83300,83304,83313],{"data":83301,"marks":83302,"value":83303,"nodeType":864},{},[],"Let’s look at an example. Say an organization uses Microsoft Entra as their primary IdP. Their users have email addresses of ",{"data":83305,"content":83307,"nodeType":883},{"uri":83306},"mailto:user@example.com",[83308],{"data":83309,"marks":83310,"value":83312,"nodeType":864},{},[83311],{"type":1455},"user@example.com",{"data":83314,"marks":83315,"value":83316,"nodeType":864},{},[],", they authenticate using strong MFA to Microsoft and then either SAML or OIDC login to their downstream applications. ",{"data":83318,"content":83319,"nodeType":860},{},[83320],{"data":83321,"marks":83322,"value":83323,"nodeType":864},{},[],"However, some of their downstream applications support many different login methods to support different customers, as is extremely common for SaaS vendors. Let’s say they are using the Atlassian suite of products, which support many different login methods as shown below:",{"data":83325,"content":83329,"nodeType":996},{"target":83326},{"sys":83327},{"id":83328,"type":1001,"linkType":1002},"5tV8ypsY7V1P5VpVOeJXUO",[],{"data":83331,"content":83332,"nodeType":860},{},[83333,83337,83344],{"data":83334,"marks":83335,"value":83336,"nodeType":864},{},[],"The legitimate user normally clicks the Microsoft button to perform an OIDC social login. However, what happens if an attacker somehow gains access to an account with a different IdP using the target user’s email address? So they somehow gain access to ",{"data":83338,"content":83339,"nodeType":883},{"uri":83306},[83340],{"data":83341,"marks":83342,"value":83312,"nodeType":864},{},[83343],{"type":1455},{"data":83345,"marks":83346,"value":83347,"nodeType":864},{},[]," as an account for Apple or Google. Then, in the default configuration of Atlassian, they can click the Apple or Google buttons and login directly to the downstream application without ever touching the organization’s secure Microsoft Entra tenant.",{"data":83349,"content":83350,"nodeType":860},{},[83351],{"data":83352,"marks":83353,"value":83354,"nodeType":864},{},[],"But how would an attacker gain access to an Apple or Google account anyway? Wouldn’t they have to authenticate using Microsoft to login to those services and so it becomes a circular problem? Well actually, no. In many cases, an organization won’t have accounts with other major IdPs and so those accounts don’t actually exist. ",{"data":83356,"content":83357,"nodeType":860},{},[83358,83362,83367,83371,83376],{"data":83359,"marks":83360,"value":83361,"nodeType":864},{},[],"So rather than take over ",{"data":83363,"marks":83364,"value":83366,"nodeType":864},{},[83365],{"type":1455},"existing",{"data":83368,"marks":83369,"value":83370,"nodeType":864},{},[]," accounts, what if an attacker could somehow ",{"data":83372,"marks":83373,"value":83375,"nodeType":864},{},[83374],{"type":1455},"create",{"data":83377,"marks":83378,"value":83379,"nodeType":864},{},[]," a new one?",{"data":83381,"content":83382,"nodeType":1005},{},[],{"data":83384,"content":83385,"nodeType":1009},{},[83386],{"data":83387,"marks":83388,"value":83389,"nodeType":864},{},[],"What is verification phishing?",{"data":83391,"content":83392,"nodeType":860},{},[83393],{"data":83394,"marks":83395,"value":83396,"nodeType":864},{},[],"The primary concern for most organizations is preventing attackers from gaining access to core business applications and data and, consequently, the identities that allow access to those applications and data — therefore, protecting IdP accounts used for SSO is a Tier-1 priority. ",{"data":83398,"content":83399,"nodeType":860},{},[83400],{"data":83401,"marks":83402,"value":83403,"nodeType":864},{},[],"However, preventing accounts being created on other applications they do not use, and therefore do not contain company data, is not a direct concern — unless legitimate users start using those applications and entering company data. This is normally only considered in the context of a shadow SaaS problem — an important, but very different, security issue.",{"data":83405,"content":83406,"nodeType":860},{},[83407],{"data":83408,"marks":83409,"value":83410,"nodeType":864},{},[],"For SaaS vendors though, unwanted and unverified signups can be a painful issue as they are often associated with spam or general misuse of their platforms. Therefore, it’s very common (but not universal) for SaaS vendors to require some basic verification steps for new accounts to raise the bar and prevent common abuse patterns — most commonly, this involves sending an email to the given email address to require either a link to be clicked or to supply a verification code to be used to verify the address. ",{"data":83412,"content":83413,"nodeType":860},{},[83414],{"data":83415,"marks":83416,"value":83417,"nodeType":864},{},[],"For example, here’s what Google sends when creating a new Google account attached to an existing email address:",{"data":83419,"content":83423,"nodeType":996},{"target":83420},{"sys":83421},{"id":83422,"type":1001,"linkType":1002},"4Smkx9soF6ob3W1BZaqy3P",[],{"data":83425,"content":83426,"nodeType":860},{},[83427,83431,83438],{"data":83428,"marks":83429,"value":83430,"nodeType":864},{},[],"So let’s say an attacker wants to register a new account as ",{"data":83432,"content":83433,"nodeType":883},{"uri":83306},[83434],{"data":83435,"marks":83436,"value":83312,"nodeType":864},{},[83437],{"type":1455},{"data":83439,"marks":83440,"value":83441,"nodeType":864},{},[]," with an application that is not used by the target user (or even the target organization). What would they need to do? Well in many cases, they can create the account, set the password and any other details like MFA or phone number directly — all they need to do is convince the user to click the link in the verification email or supply the verification code included.",{"data":83443,"content":83444,"nodeType":860},{},[83445],{"data":83446,"marks":83447,"value":83448,"nodeType":864},{},[],"So that’s what verification phishing is: Using phishing, or some other form of social engineering, to convince a target user to verify an account. But how difficult is that? Well, actually, not very!",{"data":83450,"content":83451,"nodeType":1005},{},[],{"data":83453,"content":83454,"nodeType":1009},{},[83455],{"data":83456,"marks":83457,"value":83458,"nodeType":864},{},[],"Verification phishing scenarios",{"data":83460,"content":83461,"nodeType":860},{},[83462],{"data":83463,"marks":83464,"value":83465,"nodeType":864},{},[],"No matter how hard we try to stop phishing with user awareness training and phishing simulations, phishing still succeeds to some extent.",{"data":83467,"content":83468,"nodeType":860},{},[83469],{"data":83470,"marks":83471,"value":83472,"nodeType":864},{},[],"Typically, we train users to be suspicious of clicking links in emails, to check the domains of any links carefully and to be especially careful when prompted for entering a password for an account they use.",{"data":83474,"content":83475,"nodeType":860},{},[83476],{"data":83477,"marks":83478,"value":83479,"nodeType":864},{},[],"But what are we asking our target users to do with verification phishing? Simply asking them to click a link, or supply a verification code, in an email from a legitimate address for an account they know does not exist — so from their perspective, what are they giving away? What’s the risk, really?",{"data":83481,"content":83482,"nodeType":860},{},[83483],{"data":83484,"marks":83485,"value":83486,"nodeType":864},{},[],"With a bit of clever thought behind the social engineering effort, we should see much higher success rates with verification phishing than with conventional password phishing. Let’s consider a few strategies that could be used, with differing sophistication levels:",{"data":83488,"content":83489,"nodeType":941},{},[83490,83505,83520],{"data":83491,"content":83492,"nodeType":945},{},[83493],{"data":83494,"content":83495,"nodeType":860},{},[83496,83501],{"data":83497,"marks":83498,"value":83500,"nodeType":864},{},[83499],{"type":899},"Pretext emails",{"data":83502,"marks":83503,"value":83504,"nodeType":864},{},[]," – a classic and simple email approach",{"data":83506,"content":83507,"nodeType":945},{},[83508],{"data":83509,"content":83510,"nodeType":860},{},[83511,83516],{"data":83512,"marks":83513,"value":83515,"nodeType":864},{},[83514],{"type":899},"IM phishing",{"data":83517,"marks":83518,"value":83519,"nodeType":864},{},[]," – hands-on-keyboard social engineering effort but using IM",{"data":83521,"content":83522,"nodeType":945},{},[83523],{"data":83524,"content":83525,"nodeType":860},{},[83526,83531],{"data":83527,"marks":83528,"value":83530,"nodeType":864},{},[83529],{"type":899},"AiTM verification phishing",{"data":83532,"marks":83533,"value":83534,"nodeType":864},{},[]," – a technically sophisticated approach requiring new tooling",{"data":83536,"content":83537,"nodeType":1005},{},[],{"data":83539,"content":83540,"nodeType":1312},{},[83541],{"data":83542,"marks":83543,"value":83500,"nodeType":864},{},[],{"data":83545,"content":83546,"nodeType":860},{},[83547],{"data":83548,"marks":83549,"value":83550,"nodeType":864},{},[],"We could create a false pretext by emailing users ahead of time to be expecting the verification email and take advantage of the fact the incoming verification email will be from a legitimate address to create an additional sense of trust. We’ll use Google as an example in this case.",{"data":83552,"content":83556,"nodeType":996},{"target":83553},{"sys":83554},{"id":83555,"type":1001,"linkType":1002},"4YQzNZOxyg7zGxCReAJonK",[],{"data":83558,"content":83559,"nodeType":1005},{},[],{"data":83561,"content":83562,"nodeType":1312},{},[83563],{"data":83564,"marks":83565,"value":83515,"nodeType":864},{},[],{"data":83567,"content":83568,"nodeType":860},{},[83569,83573,83582,83585,83594],{"data":83570,"marks":83571,"value":83572,"nodeType":864},{},[],"IM phishing is a great way to conduct modern phishing attacks as users generally have more trust in IM platforms than email. Since the advent of Slack Connect and Teams external access, this has been possible as an external initial access vector too. If you’re interested in this technique in general, check out our previous posts on ",{"data":83574,"content":83576,"nodeType":883},{"uri":83575},"https://pushsecurity.com/blog/slack-phishing-for-initial-access/",[83577],{"data":83578,"marks":83579,"value":83581,"nodeType":864},{},[83580],{"type":1455},"Slack phishing",{"data":83583,"marks":83584,"value":902,"nodeType":864},{},[],{"data":83586,"content":83588,"nodeType":883},{"uri":83587},"https://pushsecurity.com/blog/phishing-microsoft-teams-for-initial-access/",[83589],{"data":83590,"marks":83591,"value":83593,"nodeType":864},{},[83592],{"type":1455},"Teams phishing",{"data":83595,"marks":83596,"value":2924,"nodeType":864},{},[],{"data":83598,"content":83599,"nodeType":860},{},[83600,83604,83613],{"data":83601,"marks":83602,"value":83603,"nodeType":864},{},[],"It also has the advantage that the instant nature of it makes it great for building a social engineering pretext. This is more of a classic interactive social engineering effort over a new delivery vector (IM), than a single message or link-based phishing attack, and so is a more targeted attack strategy. It’s not too dissimilar from ",{"data":83605,"content":83607,"nodeType":883},{"uri":83606},"https://www.microsoft.com/en-us/security/blog/2023/10/25/octo-tempest-crosses-boundaries-to-facilitate-extortion-encryption-and-destruction/",[83608],{"data":83609,"marks":83610,"value":83612,"nodeType":864},{},[83611],{"type":1455},"strategies used by Scattered Spider to social engineer their way past MFA controls",{"data":83614,"marks":83615,"value":83616,"nodeType":864},{},[],", except they generally used phone and SMS delivery vectors. ",{"data":83618,"content":83619,"nodeType":860},{},[83620],{"data":83621,"marks":83622,"value":83623,"nodeType":864},{},[],"Consider the following exchange, and ask yourself how many users could fall for this strategy. I’ll play the victim myself this time and we’ll use Apple as an example.",{"data":83625,"content":83629,"nodeType":996},{"target":83626},{"sys":83627},{"id":83628,"type":1001,"linkType":1002},"11A6zC4ZA6NRorrC5UCqUE",[],{"data":83631,"content":83632,"nodeType":1005},{},[],{"data":83634,"content":83635,"nodeType":1312},{},[83636],{"data":83637,"marks":83638,"value":83639,"nodeType":864},{},[],"AiTM verification phishing ",{"data":83641,"content":83642,"nodeType":860},{},[83643,83646,83653],{"data":83644,"marks":83645,"value":21,"nodeType":864},{},[],{"data":83647,"content":83648,"nodeType":883},{"uri":48106},[83649],{"data":83650,"marks":83651,"value":261,"nodeType":864},{},[83652],{"type":1455},{"data":83654,"marks":83655,"value":83656,"nodeType":864},{},[]," to bypass common SSO and MFA protections is now a commonly used technique by attackers, with a range of open-source and criminal tools implementing this in the wild. However, there is nothing stopping a similar approach being used to make verification phishing much more effective and scalable than it is currently. ",{"data":83658,"content":83659,"nodeType":860},{},[83660,83664,83673],{"data":83661,"marks":83662,"value":83663,"nodeType":864},{},[],"If current AiTM tooling, such as the popular AiTM tool ",{"data":83665,"content":83667,"nodeType":883},{"uri":83666},"https://github.com/kgretzky/evilginx2",[83668],{"data":83669,"marks":83670,"value":83672,"nodeType":864},{},[83671],{"type":1455},"Evilginx",{"data":83674,"marks":83675,"value":83676,"nodeType":864},{},[],", evolves to integrate this capability then it is likely to be by far the most effective verification phishing technique.",{"data":83678,"content":83679,"nodeType":860},{},[83680],{"data":83681,"marks":83682,"value":83683,"nodeType":864},{},[],"Consider the IM phishing example with Slack given above turned into an interactive website.  We would probably see the following steps occur:",{"data":83685,"content":83686,"nodeType":941},{},[83687,83697,83707,83717,83727],{"data":83688,"content":83689,"nodeType":945},{},[83690],{"data":83691,"content":83692,"nodeType":860},{},[83693],{"data":83694,"marks":83695,"value":83696,"nodeType":864},{},[],"Phishing email sent with a link asking the user to register if they would like to take part in the Apple device trial",{"data":83698,"content":83699,"nodeType":945},{},[83700],{"data":83701,"content":83702,"nodeType":860},{},[83703],{"data":83704,"marks":83705,"value":83706,"nodeType":864},{},[],"User clicks link and is taken to a custom phishing website that informs them they will need to verify their email for an Apple account to be provisioned for their new device",{"data":83708,"content":83709,"nodeType":945},{},[83710],{"data":83711,"content":83712,"nodeType":860},{},[83713],{"data":83714,"marks":83715,"value":83716,"nodeType":864},{},[],"User clicks a verification button and the AiTM tool automatically registers a new Apple account and prompts for the verification code",{"data":83718,"content":83719,"nodeType":945},{},[83720],{"data":83721,"content":83722,"nodeType":860},{},[83723],{"data":83724,"marks":83725,"value":83726,"nodeType":864},{},[],"The target user sees the verification email from Apple arrive in their inbox and copies the code into the phishing website",{"data":83728,"content":83729,"nodeType":945},{},[83730],{"data":83731,"content":83732,"nodeType":860},{},[83733],{"data":83734,"marks":83735,"value":83736,"nodeType":864},{},[],"The AiTM tool verifies the Apple account using the supplied code and the attack is complete",{"data":83738,"content":83742,"nodeType":996},{"target":83739},{"sys":83740},{"id":83741,"type":1001,"linkType":1002},"5JP8lyDNKJf3P3XcbI83Bw",[],{"data":83744,"content":83745,"nodeType":1005},{},[],{"data":83747,"content":83748,"nodeType":1009},{},[83749],{"data":83750,"marks":83751,"value":83752,"nodeType":864},{},[],"Putting it all together (with demo)",{"data":83754,"content":83755,"nodeType":860},{},[83756],{"data":83757,"marks":83758,"value":83759,"nodeType":864},{},[],"Now that we’re familiar with cross-IdP impersonation and verification phishing, let’s consider what a full attack chain looks like and what the impact is. ",{"data":83761,"content":83762,"nodeType":860},{},[83763],{"data":83764,"marks":83765,"value":83766,"nodeType":864},{},[],"In doing so, we’ll consider an organization that uses Microsoft Entra as their SSO with strong phishing-resistant MFA and logging and an example downstream SaaS app being Atlassian, which is accessed using a Microsoft social login for SSO. ",{"data":83768,"content":83769,"nodeType":941},{},[83770,83791,83801,83811,83832],{"data":83771,"content":83772,"nodeType":945},{},[83773],{"data":83774,"content":83775,"nodeType":860},{},[83776,83780,83787],{"data":83777,"marks":83778,"value":83779,"nodeType":864},{},[],"Attacker registers for an IdP account, such as an Apple account with ",{"data":83781,"content":83782,"nodeType":883},{"uri":83306},[83783],{"data":83784,"marks":83785,"value":83312,"nodeType":864},{},[83786],{"type":1455},{"data":83788,"marks":83789,"value":83790,"nodeType":864},{},[]," and sets a password",{"data":83792,"content":83793,"nodeType":945},{},[83794],{"data":83795,"content":83796,"nodeType":860},{},[83797],{"data":83798,"marks":83799,"value":83800,"nodeType":864},{},[],"Attacker begins the verification phishing process and convinces a user to supply the verification code",{"data":83802,"content":83803,"nodeType":945},{},[83804],{"data":83805,"content":83806,"nodeType":860},{},[83807],{"data":83808,"marks":83809,"value":83810,"nodeType":864},{},[],"Attacker verifies their newly created Apple account using the verification code",{"data":83812,"content":83813,"nodeType":945},{},[83814],{"data":83815,"content":83816,"nodeType":860},{},[83817,83821,83828],{"data":83818,"marks":83819,"value":83820,"nodeType":864},{},[],"Attacker logs in to Atlassian using “Login with Apple” as ",{"data":83822,"content":83823,"nodeType":883},{"uri":83306},[83824],{"data":83825,"marks":83826,"value":83312,"nodeType":864},{},[83827],{"type":1455},{"data":83829,"marks":83830,"value":83831,"nodeType":864},{},[],", without having to know the user’s password or MFA factors",{"data":83833,"content":83834,"nodeType":945},{},[83835],{"data":83836,"content":83837,"nodeType":860},{},[83838],{"data":83839,"marks":83840,"value":83841,"nodeType":864},{},[],"There are no logs generated in Microsoft to show an SSO login to Atlassian was made as it happened via the attacker’s Apple account – the only logs would be within Atlassian itself",{"data":83843,"content":83844,"nodeType":1005},{},[],{"data":83846,"content":83847,"nodeType":1312},{},[83848],{"data":83849,"marks":83850,"value":83851,"nodeType":864},{},[],"Cross-IdP impersonation attack demo",{"data":83853,"content":83854,"nodeType":860},{},[83855],{"data":83856,"marks":83857,"value":83858,"nodeType":864},{},[],"At this point, there’s no better way to demonstrate the attack than to show it. The following narrated video shows cross-idp impersonation in action to compromise an Atlassian account that is normally accessed using a Microsoft Entra account for SSO that is strongly protected with passkeys. ",{"data":83860,"content":83861,"nodeType":860},{},[83862],{"data":83863,"marks":83864,"value":83865,"nodeType":864},{},[],"For the purposes of this demo, we assume some form of successful verification phishing is performed and focus on demonstrating the cross-IdP impersonation aspect.",{"data":83867,"content":83871,"nodeType":996},{"target":83868},{"sys":83869},{"id":83870,"type":1001,"linkType":1002},"1rfmqEdOlYeWCkpQE0c0IE",[],{"data":83873,"content":83874,"nodeType":1005},{},[],{"data":83876,"content":83877,"nodeType":1009},{},[83878],{"data":83879,"marks":83880,"value":83881,"nodeType":864},{},[],"It doesn't stop there: cross-IdP impersonation for persistence",{"data":83883,"content":83884,"nodeType":860},{},[83885,83889,83897],{"data":83886,"marks":83887,"value":83888,"nodeType":864},{},[],"The problems with cross-IdP impersonation don’t stop at the initial access layer. Consider an attacker who has gained temporary control of an SSO user account, or email inbox, through some other means and is looking to maintain access. Perhaps they have used an ",{"data":83890,"content":83891,"nodeType":883},{"uri":48106},[83892],{"data":83893,"marks":83894,"value":83896,"nodeType":864},{},[83895],{"type":1455},"AiTM phishing attack",{"data":83898,"marks":83899,"value":83900,"nodeType":864},{},[]," to compromise the user’s core SSO identity. ",{"data":83902,"content":83903,"nodeType":860},{},[83904,83908,83915],{"data":83905,"marks":83906,"value":83907,"nodeType":864},{},[],"A common method for achieving this is to create ",{"data":83909,"content":83910,"nodeType":883},{"uri":26784},[83911],{"data":83912,"marks":83913,"value":17706,"nodeType":864},{},[83914],{"type":1455},{"data":83916,"marks":83917,"value":83918,"nodeType":864},{},[]," on downstream SaaS applications. This depends on what each application supports but it can involve connecting secondary email addresses, connecting separate social accounts, creating API keys or any method that allows a different way to authenticate to the application. These allow the attacker to maintain their access to those applications even if their access to the core SSO identity for the user is revoked. The downside is that it has to be performed on a per-application basis.",{"data":83920,"content":83921,"nodeType":860},{},[83922,83926,83931],{"data":83923,"marks":83924,"value":83925,"nodeType":864},{},[],"However, ",{"data":83927,"marks":83928,"value":83930,"nodeType":864},{},[83929],{"type":899},"cross-IdP impersonation is arguably the most powerful ghost login method available",{"data":83932,"marks":83933,"value":83934,"nodeType":864},{},[],". If you already have access to a user’s email inbox through another attack then there is no need to perform verification phishing. Simply register an account with Google/Apple/LinkedIn/X/GitHub or any other major IdP using the email address you have control over, verifying the accounts, and then deleting the email evidence.",{"data":83936,"content":83937,"nodeType":860},{},[83938],{"data":83939,"marks":83940,"value":83941,"nodeType":864},{},[],"An attacker who does this will then maintain the ability to login to any downstream SaaS applications that support any of those login methods without additional verification steps — even if original SSO/email compromise efforts are discovered and contained. In effect, a single persistence technique could potentially maintain access to a range of different downstream applications. ",{"data":83943,"content":83944,"nodeType":1005},{},[],{"data":83946,"content":83947,"nodeType":1009},{},[83948],{"data":83949,"marks":83950,"value":83951,"nodeType":864},{},[],"Why (and when) is this attack possible?",{"data":83953,"content":83954,"nodeType":860},{},[83955],{"data":83956,"marks":83957,"value":83958,"nodeType":864},{},[],"Most SaaS applications support a range of different authentication methods to provide flexibility for the wide range of customers they have and generally make it as simple to sign up as possible — a consequence of product-led growth marketing strategies.",{"data":83960,"content":83961,"nodeType":860},{},[83962],{"data":83963,"marks":83964,"value":83965,"nodeType":864},{},[],"Using more secure, locked-down authentication methods is often left as a task for the administrators of a given customer’s tenant. However, when hundreds of SaaS apps are in use, this doesn’t always happen — maybe the app was self-adopted by a specific team and the security team doesn’t know about it, or they simply haven’t gotten around to it. ",{"data":83967,"content":83968,"nodeType":860},{},[83969],{"data":83970,"marks":83971,"value":83972,"nodeType":864},{},[],"There are far too many applications out there to provide an exhaustive list of what configurations and behaviors are available. Instead, I’ll provide some examples of the different types of controls/configuration you may encounter that can help or hinder this attack technique.",{"data":83974,"content":83975,"nodeType":1005},{},[],{"data":83977,"content":83978,"nodeType":1312},{},[83979],{"data":83980,"marks":83981,"value":83982,"nodeType":864},{},[],"1) Default allow",{"data":83984,"content":83985,"nodeType":860},{},[83986],{"data":83987,"marks":83988,"value":83989,"nodeType":864},{},[],"This is the primary vulnerable case like we have seen with the Atlassian example in this article. Once you have created an account on an application then all other sign-in methods are available by default, making it a prime target for cross-IdP impersonation. ",{"data":83991,"content":83992,"nodeType":860},{},[83993],{"data":83994,"marks":83995,"value":83996,"nodeType":864},{},[],"An important caveat here is this is not a case of Atlassian being uniquely vulnerable. This is a widespread issue with many SaaS apps behaving this way by default. We just used Atlassian as an example because it’s a particularly popular app. ",{"data":83998,"content":83999,"nodeType":860},{},[84000],{"data":84001,"marks":84002,"value":84003,"nodeType":864},{},[],"This also doesn’t mean you have to accept this limitation. It’s often possible to disable other methods, but it requires that app administrators proactively take that step. For example, Atlassian allows third-party logins to be disabled entirely, and more advanced control of authentication options is possible using the Atlassian Guard product too. (See the section on configurable controls, below.)",{"data":84005,"content":84006,"nodeType":1005},{},[],{"data":84008,"content":84009,"nodeType":1312},{},[84010],{"data":84011,"marks":84012,"value":84013,"nodeType":864},{},[],"2) Email verification",{"data":84015,"content":84016,"nodeType":860},{},[84017],{"data":84018,"marks":84019,"value":84020,"nodeType":864},{},[],"Some applications will require their own email verification when a new login method is used. This does not completely prevent the issue, as it’s possible to perform verification phishing of this too, but it’s definitely a mitigating factor that makes an attacker’s life more difficult.",{"data":84022,"content":84023,"nodeType":860},{},[84024],{"data":84025,"marks":84026,"value":84027,"nodeType":864},{},[],"The following screenshots show how this works for Adobe as an example. When logging in with a Google account in this case, it prompts for a verification code from email in order to connect the Google account to the pre-existing Adobe account.",{"data":84029,"content":84033,"nodeType":996},{"target":84030},{"sys":84031},{"id":84032,"type":1001,"linkType":1002},"92VAmeVKmQ3FWSwSP3mHv",[],{"data":84035,"content":84039,"nodeType":996},{"target":84036},{"sys":84037},{"id":84038,"type":1001,"linkType":1002},"6UqNnTdjZxisCUA7Q2gZWQ",[],{"data":84041,"content":84042,"nodeType":1005},{},[],{"data":84044,"content":84045,"nodeType":1312},{},[84046],{"data":84047,"marks":84048,"value":84049,"nodeType":864},{},[],"3) Device Verification",{"data":84051,"content":84052,"nodeType":860},{},[84053],{"data":84054,"marks":84055,"value":84056,"nodeType":864},{},[],"Some applications will treat any login from a new device (typically a new browser without a specific cookie set) as requiring a verification code from the linked email account. Again, this isn’t full protection as it still allows a second verification phishing attack, but it is a significant mitigating factor.",{"data":84058,"content":84059,"nodeType":860},{},[84060],{"data":84061,"marks":84062,"value":84063,"nodeType":864},{},[],"An example of this with HubSpot is shown below:",{"data":84065,"content":84069,"nodeType":996},{"target":84066},{"sys":84067},{"id":84068,"type":1001,"linkType":1002},"4QcTjWAgv4w0LSqxXTw2CT",[],{"data":84071,"content":84072,"nodeType":1005},{},[],{"data":84074,"content":84075,"nodeType":1312},{},[84076],{"data":84077,"marks":84078,"value":84079,"nodeType":864},{},[],"4) Pinned authentication",{"data":84081,"content":84082,"nodeType":860},{},[84083],{"data":84084,"marks":84085,"value":84086,"nodeType":864},{},[],"This is probably the most effective default control that some SaaS apps implement. Once an account has been created, the original authentication method is pinned as being the only acceptable authentication method. Authenticating using a different method will produce an error that cannot be circumvented without using the original authentication method first.",{"data":84088,"content":84089,"nodeType":860},{},[84090],{"data":84091,"marks":84092,"value":84093,"nodeType":864},{},[],"We can see an example of this with Mailchimp below, where we can see after a successful authentication with our malicious Google account we receive an error to indicate that the account is not connected to Google and the original credentials must be used instead.",{"data":84095,"content":84099,"nodeType":996},{"target":84096},{"sys":84097},{"id":84098,"type":1001,"linkType":1002},"27b5V0Pmguo4rpwwHHSO7v",[],{"data":84101,"content":84102,"nodeType":1005},{},[],{"data":84104,"content":84105,"nodeType":1312},{},[84106],{"data":84107,"marks":84108,"value":84109,"nodeType":864},{},[],"5) Configurable controls",{"data":84111,"content":84112,"nodeType":860},{},[84113],{"data":84114,"marks":84115,"value":84116,"nodeType":864},{},[],"Many SaaS applications, even if they have no controls in place by default, allow administrators to lock the configuration down if they want to. For example, all supported authentication methods may work by default but it may be possible to disable these individually to ensure only the intended authentication method is possible.",{"data":84118,"content":84119,"nodeType":860},{},[84120],{"data":84121,"marks":84122,"value":84123,"nodeType":864},{},[],"For example, in the case of the Atlassian example we used earlier, it’s possible to disable third-party logins entirely in a basic subscription. More advanced controls over authentication are available using a separate Atlassian Guard subscription:",{"data":84125,"content":84129,"nodeType":996},{"target":84126},{"sys":84127},{"id":84128,"type":1001,"linkType":1002},"7JA8XMaUJsMcvqsQOLUTVQ",[],{"data":84131,"content":84135,"nodeType":996},{"target":84132},{"sys":84133},{"id":84134,"type":1001,"linkType":1002},"29n6vvFCjz3s667ESNdgW5",[],{"data":84137,"content":84138,"nodeType":860},{},[84139],{"data":84140,"marks":84141,"value":84142,"nodeType":864},{},[],"To give another example, a default Datadog instance may allow Google logins and so be vulnerable to cross-IdP impersonation if password logins or SAML-based SSO logins are normally used. However, an administrator can disable Google logins across the entire organization or on a per-user basis if they wish. ",{"data":84144,"content":84145,"nodeType":860},{},[84146,84150,84159],{"data":84147,"marks":84148,"value":84149,"nodeType":864},{},[],"Alternatively, if an administrator disables both Google and password-based logins then only SAML-based logins will be allowed. Datadog refers to this as ",{"data":84151,"content":84153,"nodeType":883},{"uri":84152},"https://docs.datadoghq.com/account_management/saml/",[84154],{"data":84155,"marks":84156,"value":84158,"nodeType":864},{},[84157],{"type":1455},"‘SAML strict’",{"data":84160,"marks":84161,"value":12252,"nodeType":864},{},[],{"data":84163,"content":84164,"nodeType":860},{},[84165],{"data":84166,"marks":84167,"value":84168,"nodeType":864},{},[],"This functionality is available without any separate subscriptions:",{"data":84170,"content":84174,"nodeType":996},{"target":84171},{"sys":84172},{"id":84173,"type":1001,"linkType":1002},"5RMHXJpjSgnZJJx8uf3214",[],{"data":84176,"content":84177,"nodeType":860},{},[84178],{"data":84179,"marks":84180,"value":84181,"nodeType":864},{},[],"To give credit where it’s due, it’s worth noting that the examples we’ve used in this blog post offer ways of mitigating this attack – but this isn’t always the case. Many more apps don’t offer this kind of in-app control, leaving customers exposed.  ",{"data":84183,"content":84184,"nodeType":1005},{},[],{"data":84186,"content":84187,"nodeType":1009},{},[84188],{"data":84189,"marks":84190,"value":84191,"nodeType":864},{},[],"What steps can SaaS customers take to protect against this threat?",{"data":84193,"content":84194,"nodeType":860},{},[84195],{"data":84196,"marks":84197,"value":84198,"nodeType":864},{},[],"In an ideal world, all SaaS vendors would only support the strongest authentication methods available, default to pinning authentication to the first method used for an account, and allow administrators to flexibly configure authentication rules where required. ",{"data":84200,"content":84201,"nodeType":860},{},[84202],{"data":84203,"marks":84204,"value":84205,"nodeType":864},{},[],"But we don’t live in an ideal world. Many SaaS apps don’t even support SSO and the overwhelming majority of them default to single-factor authentication when users sign up. So how can the average organizations stop their strong SSO controls from being bypassed using cross-IdP impersonation and verification phishing?",{"data":84207,"content":84208,"nodeType":860},{},[84209],{"data":84210,"marks":84211,"value":84212,"nodeType":864},{},[],"Luckily, there are some pragmatic options to significantly increase resilience to these attacks.",{"data":84214,"content":84215,"nodeType":1005},{},[],{"data":84217,"content":84218,"nodeType":1312},{},[84219],{"data":84220,"marks":84221,"value":84222,"nodeType":864},{},[],"Lock your domain with other IdPs",{"data":84224,"content":84225,"nodeType":860},{},[84226],{"data":84227,"marks":84228,"value":84229,"nodeType":864},{},[],"Some IdPs allow you to register and lock your domain with them in order to prevent the creation of personal accounts with them. Apple is one example where you can lock your domain using Apple Business Manager. Maybe you aren’t an Apple user as an organization overall but you want to make sure nobody can create Apple accounts on your domain. Well, you can use this feature to entirely prevent this threat! (For Apple, at least.)",{"data":84231,"content":84235,"nodeType":996},{"target":84232},{"sys":84233},{"id":84234,"type":1001,"linkType":1002},"56sqxSy9QuTxzOGvUmcYBK",[],{"data":84237,"content":84238,"nodeType":1005},{},[],{"data":84240,"content":84241,"nodeType":1312},{},[84242],{"data":84243,"marks":84244,"value":84245,"nodeType":864},{},[],"Create detection rules for verification emails from IdP vendors",{"data":84247,"content":84248,"nodeType":860},{},[84249],{"data":84250,"marks":84251,"value":84252,"nodeType":864},{},[],"There are a relatively small number of IdPs that account for the overwhelming majority of social login methods that can be used across a larger number of SaaS apps and the verification emails they send come from predictable addresses with predictable subjects and body formats.  ",{"data":84254,"content":84255,"nodeType":860},{},[84256],{"data":84257,"marks":84258,"value":84259,"nodeType":864},{},[],"Your threat hunting teams can create detection rules for this so you are alerted any time a verification request is made on a different IdP vendor. Whether this is from verification phishing, persistence mechanisms or just legitimate users creating shadow SaaS identities, it’s very easy for you to find out about it and then take actions accordingly.",{"data":84261,"content":84262,"nodeType":860},{},[84263,84267,84276,84280,84288],{"data":84264,"marks":84265,"value":84266,"nodeType":864},{},[],"Our friends at ",{"data":84268,"content":84270,"nodeType":883},{"uri":84269},"https://sublime.security/",[84271],{"data":84272,"marks":84273,"value":84275,"nodeType":864},{},[84274],{"type":1455},"Sublime Security",{"data":84277,"marks":84278,"value":84279,"nodeType":864},{},[]," don't miss a beat, and have already ",{"data":84281,"content":84283,"nodeType":883},{"uri":84282},"https://github.com/sublime-security/sublime-rules/blob/8f8ef92f605f1bd87197315939beb0035c28869f/discovery-rules/new_account_verification_code.yml",[84284],{"data":84285,"marks":84286,"value":84287,"nodeType":864},{},[],"released a detection rule",{"data":84289,"marks":84290,"value":84291,"nodeType":864},{},[]," for this, allowing you to alert on new account creation emails for Apple, GitHub, Microsoft, Google, and Slack.",{"data":84293,"content":84294,"nodeType":1005},{},[],{"data":84296,"content":84297,"nodeType":1312},{},[84298],{"data":84299,"marks":84300,"value":84301,"nodeType":864},{},[],"Audit your SaaS applications for susceptibility to cross-IdP impersonation",{"data":84303,"content":84304,"nodeType":860},{},[84305],{"data":84306,"marks":84307,"value":84308,"nodeType":864},{},[],"Ok, this one is more work, as you might have hundreds of SaaS applications in use overall. It’s better to start with a shortlist of the most widely used and sensitive applications (you’re probably looking at 10 to 20 apps). ",{"data":84310,"content":84311,"nodeType":860},{},[84312,84316,84323],{"data":84313,"marks":84314,"value":84315,"nodeType":864},{},[],"Discovering all the applications in use across your organization and the login methods they use to them is the first part of the problem. It’s also common for multiple login methods to be in use for the same application, a problem known as ",{"data":84317,"content":84318,"nodeType":883},{"uri":17701},[84319],{"data":84320,"marks":84321,"value":17706,"nodeType":864},{},[84322],{"type":1455},{"data":84324,"marks":84325,"value":84326,"nodeType":864},{},[],". When you factor in how tricky it is to collect information on application accounts and login methods, and the mixed controls available to enforce the desired configuration in-app, This step is actually much harder than it sounds.",{"data":84328,"content":84329,"nodeType":860},{},[84330],{"data":84331,"marks":84332,"value":84333,"nodeType":864},{},[],"Once you have a list of applications, have your security teams create accounts with other IdPs and then see which of your SaaS applications allow them to login with cross-IdP impersonation, or otherwise which of the controls listed previously apply (e.g. email verification, device verification, pinned authentication etc).",{"data":84335,"content":84336,"nodeType":860},{},[84337],{"data":84338,"marks":84339,"value":84340,"nodeType":864},{},[],"Depending on the results of this, you can reduce vulnerability on an app-by-app basis. Where apps allow it through configuration, have the application owners configure your tenant to restrict authentication options. ",{"data":84342,"content":84343,"nodeType":860},{},[84344],{"data":84345,"marks":84346,"value":84347,"nodeType":864},{},[],"And if you find an application that does not support this feature then pressure the vendor with a feature request, the same as you might for a vendor that doesn’t support SSO.",{"data":84349,"content":84353,"nodeType":996},{"target":84350},{"sys":84351},{"id":84352,"type":1001,"linkType":1002},"6lsemiR9tRQ1eOPOh3rtfc",[],{"data":84355,"content":84356,"nodeType":1005},{},[],{"data":84358,"content":84359,"nodeType":1312},{},[84360],{"data":84361,"marks":84362,"value":84363,"nodeType":864},{},[],"Ask your red teams to add this technique to their attack simulations",{"data":84365,"content":84366,"nodeType":860},{},[84367],{"data":84368,"marks":84369,"value":84370,"nodeType":864},{},[],"Whether using internal or external red teams, proper adversarial simulation is key to understanding the realistic vulnerability of your organization to a range of attack scenarios. Next time you have a red team operation planned, ask them if they can attempt cross-IdP impersonation and verification phishing as part of an end-to-end attack chain to assess your vulnerability and detection and response controls appropriately. ",{"data":84372,"content":84373,"nodeType":860},{},[84374,84378,84386],{"data":84375,"marks":84376,"value":84377,"nodeType":864},{},[],"In fact, you should probably be asking them to be putting a huge focus on identity attacks in general. Ask them if they can use the ",{"data":84379,"content":84380,"nodeType":883},{"uri":6418},[84381],{"data":84382,"marks":84383,"value":84385,"nodeType":864},{},[84384],{"type":1455},"open-source SaaS attacks matrix ",{"data":84387,"marks":84388,"value":84389,"nodeType":864},{},[],"as a basis for an identity attack focused red team operation.",{"data":84391,"content":84392,"nodeType":1005},{},[],{"data":84394,"content":84395,"nodeType":1009},{},[84396],{"data":84397,"marks":84398,"value":32492,"nodeType":864},{},[],{"data":84400,"content":84401,"nodeType":860},{},[84402],{"data":84403,"marks":84404,"value":84405,"nodeType":864},{},[],"We’ve seen how cross-IdP impersonation enables SaaS applications to be accessed using accounts outside the control of an organization and thus bypassing all controls enforced by SSO, such as:",{"data":84407,"content":84408,"nodeType":941},{},[84409,84419,84428,84438,84448],{"data":84410,"content":84411,"nodeType":945},{},[84412],{"data":84413,"content":84414,"nodeType":860},{},[84415],{"data":84416,"marks":84417,"value":84418,"nodeType":864},{},[],"Strong password requirements",{"data":84420,"content":84421,"nodeType":945},{},[84422],{"data":84423,"content":84424,"nodeType":860},{},[84425],{"data":84426,"marks":84427,"value":457,"nodeType":864},{},[],{"data":84429,"content":84430,"nodeType":945},{},[84431],{"data":84432,"content":84433,"nodeType":860},{},[84434],{"data":84435,"marks":84436,"value":84437,"nodeType":864},{},[],"Phishing-resistant authentication e.g. passkeys or Okta Fastpass",{"data":84439,"content":84440,"nodeType":945},{},[84441],{"data":84442,"content":84443,"nodeType":860},{},[84444],{"data":84445,"marks":84446,"value":84447,"nodeType":864},{},[],"IP/Location restrictions",{"data":84449,"content":84450,"nodeType":945},{},[84451],{"data":84452,"content":84453,"nodeType":860},{},[84454],{"data":84455,"marks":84456,"value":84457,"nodeType":864},{},[],"Authentication logs",{"data":84459,"content":84460,"nodeType":860},{},[84461],{"data":84462,"marks":84463,"value":84464,"nodeType":864},{},[],"During the initial access phase of an attack, combining cross-IdP impersonation with verification phishing can allow external attackers to gain permanent access to a range of downstream SaaS applications through the compromise of a single verification code, even if they are normally protected by a rock-solid SSO implementation.",{"data":84466,"content":84467,"nodeType":860},{},[84468],{"data":84469,"marks":84470,"value":84471,"nodeType":864},{},[],"During the persistence phase of a compromise, an attacker can utilize cross-IdP impersonation as an extremely powerful ghost login method in order to maintain access to a range of SaaS applications through a single mechanism, even if containment exercises later remove their access to the original SSO account or email inbox they compromised.",{"data":84473,"content":84474,"nodeType":860},{},[84475],{"data":84476,"marks":84477,"value":84478,"nodeType":864},{},[],"It is extremely important that organizations understand the threat these attacks pose, evaluate their vulnerability to these attacks and implement the prevention and detection controls provided above accordingly. ",{"data":84480,"content":84484,"nodeType":996},{"target":84481},{"sys":84482},{"id":84483,"type":1001,"linkType":1002},"3j4TX3jabfyWrhlXjo8ZHX",[],{"data":84486,"content":84487,"nodeType":860},{},[84488],{"data":84489,"marks":84490,"value":21,"nodeType":864},{},[],{"entries":84492},{"hyperlink":84493,"inline":84494,"block":84495},[],[],[84496,84503,84510,84516,84523,84527,84533,84540,84545,84551,84556,84562,84569,84576,84583,84586],{"sys":84497,"__typename":1724,"title":84498,"caption":84498,"layoutMode":59,"file":84499},{"id":83328},"Default Atlassian login page showing the range of social login methods available",{"url":84500,"width":84501,"height":84502},"https://images.ctfassets.net/y1cdw1ablpvd/7G7oxoeV5vQNAbOrjs7LWh/fc4570accb729c55c23186db302cd0f9/image10.png",397,516,{"sys":84504,"__typename":1724,"title":84505,"caption":84505,"layoutMode":59,"file":84506},{"id":83422},"Google email verification example",{"url":84507,"width":84508,"height":84509},"https://images.ctfassets.net/y1cdw1ablpvd/1j2a1rr1xZJs4jhgUMphQc/9b8e23fa928f15873b8cffed1cd7421e/image8.png",852,776,{"sys":84511,"__typename":1724,"title":84512,"caption":84512,"layoutMode":59,"file":84513},{"id":83555},"Pretext email example to perform verification phishing",{"url":84514,"width":84515,"height":23461},"https://images.ctfassets.net/y1cdw1ablpvd/6tHP6GZWFDK38IMQHMWI5B/090ed3f69bf0479afde71001c13d8141/image3__1_.png",560,{"sys":84517,"__typename":1724,"title":84518,"caption":84518,"layoutMode":59,"file":84519},{"id":83628},"Slack social engineering example for verification phishing",{"url":84520,"width":84521,"height":84522},"https://images.ctfassets.net/y1cdw1ablpvd/1JFyQPB1Gk1HPCKxhh7Eus/e0a7c69d12e1374c0a3761a0b00eefce/image6.png",818,652,{"sys":84524,"__typename":1717,"type":1718,"ctaText":84525,"buttonLabel":1720,"buttonColour":33488,"buttonUrl":84526},{"id":83741},"Want to learn more about why AiTM attacks are so successful? Register for our webinar on Dec 5th to find out how phishing toolkits are getting through your detection controls.","https://pushsecurity.com/webinar/phish-kit-teardown",{"sys":84528,"__typename":47726,"title":84529,"youTubeUrl":84530,"imagePlaceholder":84531},{"id":83870},"Verification Phishing & Cross-IdP Impersonation Demo","https://www.youtube.com/watch?v=53JMEmZV6ck",{"url":84532,"width":45619,"height":45620},"https://images.ctfassets.net/y1cdw1ablpvd/KXQAXbpFMRJprAkzoKhtx/ac370fb92687122022e753120bb7cb47/Slide_Front_Cover__20_.png",{"sys":84534,"__typename":1724,"title":84535,"caption":84536,"layoutMode":59,"file":84537},{"id":84032},"Adobe Google account linking and verification","Adobe Google account linking and verification (1)",{"url":84538,"width":84539,"height":72771},"https://images.ctfassets.net/y1cdw1ablpvd/3KeKxlgHPx3H2TbBd8WfQ1/ae1bdb07d43eaef106b74cd23752fbcf/image4.png",1436,{"sys":84541,"__typename":1724,"title":84542,"caption":84542,"layoutMode":59,"file":84543},{"id":84038},"Adobe Google account linking and verification (2)",{"url":84544,"width":84539,"height":72771},"https://images.ctfassets.net/y1cdw1ablpvd/6YVMDFtLttuF8E4g88G4la/b7dc3a4e37f5dd39c36ee739700e7048/image1.png",{"sys":84546,"__typename":1724,"title":84547,"caption":84547,"layoutMode":59,"file":84548},{"id":84068},"HubSpot unrecognized device email verification",{"url":84549,"width":84539,"height":84550},"https://images.ctfassets.net/y1cdw1ablpvd/1S8swPaBQ9K8PzU81NTphI/69bf04d6084e7df74b47f211d935d271/image7.png",824,{"sys":84552,"__typename":1724,"title":84553,"caption":84553,"layoutMode":59,"file":84554},{"id":84098},"Mailchimp pinned authentication requiring original login method",{"url":84555,"width":84539,"height":72771},"https://images.ctfassets.net/y1cdw1ablpvd/1fNIa9cZywrQ9CxuuZkWUA/b344fa67a49acb7f8fcd015517a4fc87/image11.png",{"sys":84557,"__typename":1724,"title":84558,"caption":84558,"layoutMode":59,"file":84559},{"id":84128},"Basic Atlassian authentication policies allowing third-party logins to be disabled",{"url":84560,"width":84561,"height":72771},"https://images.ctfassets.net/y1cdw1ablpvd/1SlxwxNhriIrLHho1acSsJ/99e99d1ec5445286fd42692a9d4772de/image12.png",1475,{"sys":84563,"__typename":1724,"title":84564,"caption":84564,"layoutMode":59,"file":84565},{"id":84134},"Atlassian Guard allows more advanced controls, including enforced SSO",{"url":84566,"width":84567,"height":84568},"https://images.ctfassets.net/y1cdw1ablpvd/716nNbqfT1A0xtWQPaFqp/e64839cb4c1eed8dcfe4d7460063fc53/image9.png",434,471,{"sys":84570,"__typename":1724,"title":84571,"caption":84571,"layoutMode":59,"file":84572},{"id":84173},"Datadog administrative screen for enabling/disabling login methods",{"url":84573,"width":84574,"height":84575},"https://images.ctfassets.net/y1cdw1ablpvd/4wwOBe1ojQ0noPXv1aWU8Q/df962016e42277e46454acd38baabef1/image5.png",935,620,{"sys":84577,"__typename":1724,"title":84578,"caption":84578,"layoutMode":59,"file":84579},{"id":84234},"Apple business manager update providing more options to manage verified domains",{"url":84580,"width":84581,"height":84582},"https://images.ctfassets.net/y1cdw1ablpvd/3NH2d6WMqAmPfrPMQas4e0/35676fdc69d7e91c3c1dd163fe3ff51d/image2.png",1394,942,{"sys":84584,"__typename":1717,"type":80540,"ctaText":84585,"buttonLabel":80542,"buttonColour":1721,"buttonUrl":5642},{"id":84352},"See how Push helps you to find and fix vulnerable identities at-scale, by identifying applications, login methods, and insecure configurations",{"sys":84587,"__typename":1717,"type":1718,"ctaText":84588,"buttonLabel":69750,"buttonColour":33488,"buttonUrl":47925},{"id":84483},"To read more about Cross-IdP impersonation and examples in the wild, check out this blog post",{"items":84590},[],{},"Combining Verification Phishing and Cross-IdP Impersonation","2024-11-23T00:00:00.000Z",{"items":84595},[84596,85498,86193],{"__typename":2059,"sys":84597,"content":84599,"title":85484,"synopsis":85485,"hashTags":59,"publishedDate":85486,"slug":85487,"tagsCollection":85488,"authorsCollection":85494},{"id":84598},"2PpB1KSjZkmpzYDhDLRBYx",{"json":84600},{"data":84601,"content":84602,"nodeType":856},{},[84603,84610,84617,84645,84652,84655,84662,84670,84690,84697,84704,84710,84717,84724,84747,84754,84761,84800,84807,84810,84817,84853,84859,84866,84873,84876,84884,84891,84924,84930,84937,84940,84948,84968,84975,84982,85000,85003,85011,85031,85038,85054,85069,85072,85080,85099,85106,85113,85206,85213,85218,85225,85232,85265,85272,85275,85283,85290,85297,85330,85337,85344,85347,85355,85374,85381,85388,85431,85436,85443,85461,85466,85472,85478],{"data":84604,"content":84605,"nodeType":860},{},[84606],{"data":84607,"marks":84608,"value":84609,"nodeType":864},{},[],"Two stories have hit the headlines in recent months involving attackers and researchers, demonstrating ways of taking over a SaaS account by accessing it using an SSO login from an IdP that you’ve never used before.",{"data":84611,"content":84612,"nodeType":860},{},[84613],{"data":84614,"marks":84615,"value":84616,"nodeType":864},{},[],"Yes, you read that right. An attacker created an IdP account on an IdP that you don’t use. And because the account matched your actual company domain, they used it to log into your actual downstream accounts on the apps that you use. ",{"data":84618,"content":84619,"nodeType":860},{},[84620,84624,84630,84634,84641],{"data":84621,"marks":84622,"value":84623,"nodeType":864},{},[],"We're calling this technique ",{"data":84625,"content":84626,"nodeType":883},{"uri":36121},[84627],{"data":84628,"marks":84629,"value":36127,"nodeType":864},{},[],{"data":84631,"marks":84632,"value":84633,"nodeType":864},{},[],". If you’re familiar with our other research, this is basically ",{"data":84635,"content":84636,"nodeType":883},{"uri":17701},[84637],{"data":84638,"marks":84639,"value":17706,"nodeType":864},{},[84640],{"type":1455},{"data":84642,"marks":84643,"value":84644,"nodeType":864},{},[]," on steroids — you’re effectively making your own! ",{"data":84646,"content":84647,"nodeType":860},{},[84648],{"data":84649,"marks":84650,"value":84651,"nodeType":864},{},[],"Let’s take a look at some examples.",{"data":84653,"content":84654,"nodeType":1005},{},[],{"data":84656,"content":84657,"nodeType":1009},{},[84658],{"data":84659,"marks":84660,"value":84661,"nodeType":864},{},[],"Cross-IdP impersonation in the wild",{"data":84663,"content":84664,"nodeType":1312},{},[84665],{"data":84666,"marks":84667,"value":84669,"nodeType":864},{},[84668],{"type":899},"Spoofing Zendesk support emails and infiltrating connected apps (via Apple SSO)",{"data":84671,"content":84672,"nodeType":860},{},[84673,84677,84686],{"data":84674,"marks":84675,"value":84676,"nodeType":864},{},[],"A 15-year-old researcher was able to ",{"data":84678,"content":84680,"nodeType":883},{"uri":84679},"https://gist.github.com/hackermondev/68ec8ed145fcee49d2f5e2b9d2cf2e52",[84681],{"data":84682,"marks":84683,"value":84685,"nodeType":864},{},[84684],{"type":1455},"access Zendesk support ticket history via spoofing a company’s support email, and later use it to access connected apps",{"data":84687,"marks":84688,"value":84689,"nodeType":864},{},[]," (Slack, in this case) via SSO, successfully targeting hundreds of companies.  ",{"data":84691,"content":84692,"nodeType":860},{},[84693],{"data":84694,"marks":84695,"value":84696,"nodeType":864},{},[],"The attack is based around the fact that Zendesk support tickets are easy to enumerate. The typical method of setting up Zendesk is to have your existing support email address (e.g. support@company.com) forward emails to Zendesk. ",{"data":84698,"content":84699,"nodeType":860},{},[84700],{"data":84701,"marks":84702,"value":84703,"nodeType":864},{},[],"The researcher was able to abuse this feature to create an account for an existing company domain on an IdP not currently being used by the company, and then use that account to authenticate to a third-party app used by the company. ",{"data":84705,"content":84709,"nodeType":996},{"target":84706},{"sys":84707},{"id":84708,"type":1001,"linkType":1002},"3A6fHQ0XB2qAjQdJGvAb9N",[],{"data":84711,"content":84712,"nodeType":860},{},[84713],{"data":84714,"marks":84715,"value":84716,"nodeType":864},{},[],"The researcher found that, although Zendesk had started blocking emails from ‘noreply@’ addresses (probably to prevent this kind of attack), Apple sent its verification emails from an ‘appleid@’ address, making the attack possible when using Apple IdP.",{"data":84718,"content":84719,"nodeType":860},{},[84720],{"data":84721,"marks":84722,"value":84723,"nodeType":864},{},[],"There’s a couple of things to note here:",{"data":84725,"content":84726,"nodeType":941},{},[84727,84737],{"data":84728,"content":84729,"nodeType":945},{},[84730],{"data":84731,"content":84732,"nodeType":860},{},[84733],{"data":84734,"marks":84735,"value":84736,"nodeType":864},{},[],"Apple could be swapped out for any IdP that doesn’t send verification emails from a ‘noreply@’ address.",{"data":84738,"content":84739,"nodeType":945},{},[84740],{"data":84741,"content":84742,"nodeType":860},{},[84743],{"data":84744,"marks":84745,"value":84746,"nodeType":864},{},[],"Slack could be swapped out for just about any downstream SaaS app. ",{"data":84748,"content":84749,"nodeType":860},{},[84750],{"data":84751,"marks":84752,"value":84753,"nodeType":864},{},[],"Taking a step back — what if an attacker had discovered this exploit? The researcher states that, after Zendesk refused to acknowledge the issue through its bug bounty program operated by HackerOne, he individually contacted ‘hundreds’ of affected organizations. ",{"data":84755,"content":84756,"nodeType":860},{},[84757],{"data":84758,"marks":84759,"value":84760,"nodeType":864},{},[],"So that’s hundreds of vulnerable organizations, and potentially tens to hundreds of business apps per victim organization that could be accessed via Apple SSO. Any app that allows ‘sign in with Apple’ could be targeted where:",{"data":84762,"content":84763,"nodeType":941},{},[84764,84782],{"data":84765,"content":84766,"nodeType":945},{},[84767],{"data":84768,"content":84769,"nodeType":860},{},[84770,84774,84778],{"data":84771,"marks":84772,"value":84773,"nodeType":864},{},[],"An app with an ",{"data":84775,"marks":84776,"value":83366,"nodeType":864},{},[84777],{"type":1455},{"data":84779,"marks":84780,"value":84781,"nodeType":864},{},[]," account belonging to the specific email & domain combination could be taken over.",{"data":84783,"content":84784,"nodeType":945},{},[84785],{"data":84786,"content":84787,"nodeType":860},{},[84788,84791,84796],{"data":84789,"marks":84790,"value":72717,"nodeType":864},{},[],{"data":84792,"marks":84793,"value":84795,"nodeType":864},{},[84794],{"type":1455},"new",{"data":84797,"marks":84798,"value":84799,"nodeType":864},{},[]," account could also be created on apps allowing anyone with a company email to join the company tenant. ",{"data":84801,"content":84802,"nodeType":860},{},[84803],{"data":84804,"marks":84805,"value":84806,"nodeType":864},{},[],"It’s unclear whether Zendesk will have implemented a global fix for the issue either, as the vulnerability stems from a configuration option that could be remediated by disabling email collaboration, but is on by default. ",{"data":84808,"content":84809,"nodeType":1005},{},[],{"data":84811,"content":84812,"nodeType":1312},{},[84813],{"data":84814,"marks":84815,"value":84816,"nodeType":864},{},[],"Google domain verification bug similarities",{"data":84818,"content":84819,"nodeType":860},{},[84820,84824,84833,84837,84842,84845,84850],{"data":84821,"marks":84822,"value":84823,"nodeType":864},{},[],"The Zendesk attack shares some similarities with ",{"data":84825,"content":84827,"nodeType":883},{"uri":84826},"https://krebsonsecurity.com/2024/07/crooks-bypassed-googles-email-verification-to-create-workspace-accounts-access-3rd-party-services/",[84828],{"data":84829,"marks":84830,"value":84832,"nodeType":864},{},[84831],{"type":1455},"a recent (now resolved) Google email verification vulnerability",{"data":84834,"marks":84835,"value":84836,"nodeType":864},{},[]," which allowed a newly created Google account/domain to be used to authenticate to downstream apps via SSO — ",{"data":84838,"marks":84839,"value":84841,"nodeType":864},{},[84840],{"type":899},"this time",{"data":84843,"marks":84844,"value":1171,"nodeType":864},{},[],{"data":84846,"marks":84847,"value":84849,"nodeType":864},{},[84848],{"type":899},"without verifying ownership of the domain",{"data":84851,"marks":84852,"value":12252,"nodeType":864},{},[],{"data":84854,"content":84858,"nodeType":996},{"target":84855},{"sys":84856},{"id":84857,"type":1001,"linkType":1002},"6EeN0uKbhz9daUOo4E6wzR",[],{"data":84860,"content":84861,"nodeType":860},{},[84862],{"data":84863,"marks":84864,"value":84865,"nodeType":864},{},[],"Whereas the Zendesk attack took advantage of Apple email configs, this attack was much more direct in that Google enabled SSO to downstream apps prior to domain verification. ",{"data":84867,"content":84868,"nodeType":860},{},[84869],{"data":84870,"marks":84871,"value":84872,"nodeType":864},{},[],"The Google attack is definitely a bug rather than abusing a feature, and has since been patched. But, we’re starting to see a concerning pattern emerge. ",{"data":84874,"content":84875,"nodeType":1005},{},[],{"data":84877,"content":84878,"nodeType":1009},{},[84879],{"data":84880,"marks":84881,"value":84883,"nodeType":864},{},[84882],{"type":899},"How big of a problem is this?",{"data":84885,"content":84886,"nodeType":860},{},[84887],{"data":84888,"marks":84889,"value":84890,"nodeType":864},{},[],"First, let’s recap the general attack path:",{"data":84892,"content":84893,"nodeType":941},{},[84894,84904,84914],{"data":84895,"content":84896,"nodeType":945},{},[84897],{"data":84898,"content":84899,"nodeType":860},{},[84900],{"data":84901,"marks":84902,"value":84903,"nodeType":864},{},[],"The attacker signs up for an account on an app that functions as an IdP, linking it to the victim’s existing company email address via the ‘use existing email’ option.",{"data":84905,"content":84906,"nodeType":945},{},[84907],{"data":84908,"content":84909,"nodeType":860},{},[84910],{"data":84911,"marks":84912,"value":84913,"nodeType":864},{},[],"The attacker either bypasses domain verification or verifies the domain via email (typically by clicking a link or entering a one-time password) either through an attack like the ones above, or by social engineering the victim user.",{"data":84915,"content":84916,"nodeType":945},{},[84917],{"data":84918,"content":84919,"nodeType":860},{},[84920],{"data":84921,"marks":84922,"value":84923,"nodeType":864},{},[],"The attacker logs into an account on a downstream app using the ‘sign in with …’ SSO login option. ",{"data":84925,"content":84929,"nodeType":996},{"target":84926},{"sys":84927},{"id":84928,"type":1001,"linkType":1002},"5lz0Nqq3j3Q1XasHYszRXy",[],{"data":84931,"content":84932,"nodeType":860},{},[84933],{"data":84934,"marks":84935,"value":84936,"nodeType":864},{},[],"Let’s look more closely at why this is a cause for concern.",{"data":84938,"content":84939,"nodeType":1005},{},[],{"data":84941,"content":84942,"nodeType":1312},{},[84943],{"data":84944,"marks":84945,"value":84947,"nodeType":864},{},[84946],{"type":899},"It gets around your most hardened IdP accounts",{"data":84949,"content":84950,"nodeType":860},{},[84951,84955,84964],{"data":84952,"marks":84953,"value":84954,"nodeType":864},{},[],"The notion of IdP impersonation isn’t necessarily new. Take for example ",{"data":84956,"content":84958,"nodeType":883},{"uri":84957},"https://sec.okta.com/articles/2023/08/cross-tenant-impersonation-prevention-and-detection",[84959],{"data":84960,"marks":84961,"value":84963,"nodeType":864},{},[84962],{"type":1455},"cross-tenant impersonation",{"data":84965,"marks":84966,"value":84967,"nodeType":864},{},[],", which focuses on mapping an attacker-controlled Okta tenant to a compromised Okta tenant to give full access to connected user accounts and enable unrestricted lateral movement.",{"data":84969,"content":84970,"nodeType":860},{},[84971],{"data":84972,"marks":84973,"value":84974,"nodeType":864},{},[],"Cross-IdP impersonation, however, doesn’t require that you’ve already compromised an IdP admin account. You pick a user account (or multiple) that you want to take over, you enroll them with a new IdP matching the tenant and address structure, and then authenticate to whichever apps you’re interested in taking over. ",{"data":84976,"content":84977,"nodeType":860},{},[84978],{"data":84979,"marks":84980,"value":84981,"nodeType":864},{},[],"So, compromising your target’s main IdP isn’t necessary when the data and functionality that you’re most interested in lives in downstream apps. This means that even if your primary IdP is super locked down with phishing-resistant authentication (e.g. passkeys) this technique enables attackers to get around it. ",{"data":84983,"content":84984,"nodeType":860},{},[84985,84989,84997],{"data":84986,"marks":84987,"value":84988,"nodeType":864},{},[],"And a smart attacker who does their OSINT will identify potential app admins whose accounts to mirror, eliminating any noise that would be generated by privilege escalation & lateral movement attempts such as ",{"data":84990,"content":84991,"nodeType":883},{"uri":49829},[84992],{"data":84993,"marks":84994,"value":84996,"nodeType":864},{},[84995],{"type":1455},"in-app phishing.",{"data":84998,"marks":84999,"value":8618,"nodeType":864},{},[],{"data":85001,"content":85002,"nodeType":1005},{},[],{"data":85004,"content":85005,"nodeType":1312},{},[85006],{"data":85007,"marks":85008,"value":85010,"nodeType":864},{},[85009],{"type":899},"App-based prevention measures are inconsistent",{"data":85012,"content":85013,"nodeType":860},{},[85014,85018,85027],{"data":85015,"marks":85016,"value":85017,"nodeType":864},{},[],"It’s worth noting that this attack doesn’t work the same on all apps. At the point of using a new login method to access an app, ",{"data":85019,"content":85021,"nodeType":883},{"uri":85020},"https://auth0.com/docs/manage-users/user-accounts/user-account-linking",[85022],{"data":85023,"marks":85024,"value":85026,"nodeType":864},{},[85025],{"type":1455},"it is considered best practice to require re-verification",{"data":85028,"marks":85029,"value":85030,"nodeType":864},{},[]," — for example by logging in with the original login method, or approving the request via an email code or link. ",{"data":85032,"content":85033,"nodeType":860},{},[85034],{"data":85035,"marks":85036,"value":85037,"nodeType":864},{},[],"Requiring re-authentication with the original login method is probably game over for the attacker, but if the attacker has already found a way of verifying a new IdP via email, the latter option is probably less of an obstacle. ",{"data":85039,"content":85040,"nodeType":860},{},[85041,85045,85050],{"data":85042,"marks":85043,"value":85044,"nodeType":864},{},[],"But not all apps follow these best practices around adding new login methods. We tested a range of the most popular apps that our customers use by creating an account, adding a password and an SSO method, and subsequently adding another SSO method using a different IdP, and ",{"data":85046,"marks":85047,"value":85049,"nodeType":864},{},[85048],{"type":899},"found that 60% (3 in 5) of the apps we tested do not require re-verification by default",{"data":85051,"marks":85052,"value":85053,"nodeType":864},{},[]," when adding a new SSO login method.",{"data":85055,"content":85056,"nodeType":1116},{},[85057],{"data":85058,"content":85059,"nodeType":860},{},[85060,85065],{"data":85061,"marks":85062,"value":85064,"nodeType":864},{},[85063],{"type":899},"60% (3 in 5) of the apps we tested do not require re-verification by default",{"data":85066,"marks":85067,"value":85068,"nodeType":864},{},[]," when adding a new SSO login method",{"data":85070,"content":85071,"nodeType":1005},{},[],{"data":85073,"content":85074,"nodeType":1312},{},[85075],{"data":85076,"marks":85077,"value":85079,"nodeType":864},{},[85078],{"type":899},"There are more IdPs than you realize",{"data":85081,"content":85082,"nodeType":860},{},[85083,85087,85095],{"data":85084,"marks":85085,"value":85086,"nodeType":864},{},[],"IdP accounts have always been a valuable target. Earlier this year we saw ",{"data":85088,"content":85089,"nodeType":883},{"uri":73535},[85090],{"data":85091,"marks":85092,"value":85094,"nodeType":864},{},[85093],{"type":1455},"a dramatic spike in the attacks on Okta accounts",{"data":85096,"marks":85097,"value":85098,"nodeType":864},{},[],", for example. But these accounts are often well protected with strong credentials (or passkeys) and MFA. ",{"data":85100,"content":85101,"nodeType":860},{},[85102],{"data":85103,"marks":85104,"value":85105,"nodeType":864},{},[],"In contrast, cross-IdP impersonation gives attackers a way of getting the benefit of an IdP compromise without needing to take over a locked down IdP account. ",{"data":85107,"content":85108,"nodeType":860},{},[85109],{"data":85110,"marks":85111,"value":85112,"nodeType":864},{},[],"Apps accept a wide variety of SSO login options. An app might support any combination of, for example:",{"data":85114,"content":85115,"nodeType":941},{},[85116,85126,85136,85146,85156,85166,85176,85186,85196],{"data":85117,"content":85118,"nodeType":945},{},[85119],{"data":85120,"content":85121,"nodeType":860},{},[85122],{"data":85123,"marks":85124,"value":85125,"nodeType":864},{},[],"Log in with Google",{"data":85127,"content":85128,"nodeType":945},{},[85129],{"data":85130,"content":85131,"nodeType":860},{},[85132],{"data":85133,"marks":85134,"value":85135,"nodeType":864},{},[],"Log in with Facebook",{"data":85137,"content":85138,"nodeType":945},{},[85139],{"data":85140,"content":85141,"nodeType":860},{},[85142],{"data":85143,"marks":85144,"value":85145,"nodeType":864},{},[],"Log in with Apple",{"data":85147,"content":85148,"nodeType":945},{},[85149],{"data":85150,"content":85151,"nodeType":860},{},[85152],{"data":85153,"marks":85154,"value":85155,"nodeType":864},{},[],"Log in with X",{"data":85157,"content":85158,"nodeType":945},{},[85159],{"data":85160,"content":85161,"nodeType":860},{},[85162],{"data":85163,"marks":85164,"value":85165,"nodeType":864},{},[],"Log in with Microsoft",{"data":85167,"content":85168,"nodeType":945},{},[85169],{"data":85170,"content":85171,"nodeType":860},{},[85172],{"data":85173,"marks":85174,"value":85175,"nodeType":864},{},[],"Log in with GitHub",{"data":85177,"content":85178,"nodeType":945},{},[85179],{"data":85180,"content":85181,"nodeType":860},{},[85182],{"data":85183,"marks":85184,"value":85185,"nodeType":864},{},[],"Log in with Okta ",{"data":85187,"content":85188,"nodeType":945},{},[85189],{"data":85190,"content":85191,"nodeType":860},{},[85192],{"data":85193,"marks":85194,"value":85195,"nodeType":864},{},[],"Log in with SAML",{"data":85197,"content":85198,"nodeType":945},{},[85199],{"data":85200,"content":85201,"nodeType":860},{},[85202],{"data":85203,"marks":85204,"value":85205,"nodeType":864},{},[],"Log in with SSO",{"data":85207,"content":85208,"nodeType":860},{},[85209],{"data":85210,"marks":85211,"value":85212,"nodeType":864},{},[],"And there are many, many IdPs — probably more than you realize — all of which could potentially be hijacked by an attacker to impersonate your organization.  ",{"data":85214,"content":85217,"nodeType":996},{"target":85215},{"sys":85216},{"id":47940,"type":1001,"linkType":1002},[],{"data":85219,"content":85220,"nodeType":860},{},[85221],{"data":85222,"marks":85223,"value":85224,"nodeType":864},{},[],"But it’s not just about attackers creating new IdP accounts: What other IdPs might your users have inadvertently created? And are these accounts as securely configured as your primary company IdP (most commonly Okta, Microsoft Entra, or Google Workspace)?",{"data":85226,"content":85227,"nodeType":860},{},[85228],{"data":85229,"marks":85230,"value":85231,"nodeType":864},{},[],"In fact, there are a few different scenarios to be aware of here:",{"data":85233,"content":85234,"nodeType":941},{},[85235,85245,85255],{"data":85236,"content":85237,"nodeType":945},{},[85238],{"data":85239,"content":85240,"nodeType":860},{},[85241],{"data":85242,"marks":85243,"value":85244,"nodeType":864},{},[],"An attacker creates a new account on a previously unused IdP mapping to your company domain and email, and exploits a flaw to bypass domain verification.",{"data":85246,"content":85247,"nodeType":945},{},[85248],{"data":85249,"content":85250,"nodeType":860},{},[85251],{"data":85252,"marks":85253,"value":85254,"nodeType":864},{},[],"An attacker creates a new account on a previously unused IdP mapping to your company domain and email, and social engineers the target user to convince them to complete the domain verification request. ",{"data":85256,"content":85257,"nodeType":945},{},[85258],{"data":85259,"content":85260,"nodeType":860},{},[85261],{"data":85262,"marks":85263,"value":85264,"nodeType":864},{},[],"A legitimate user signs up for an account that functions as an IdP with their company email, using a weak password and no MFA. This account is later compromised by an attacker. ",{"data":85266,"content":85267,"nodeType":860},{},[85268],{"data":85269,"marks":85270,"value":85271,"nodeType":864},{},[],"In all of these cases, an attacker would be able to authenticate to downstream apps and take over user accounts. ",{"data":85273,"content":85274,"nodeType":1005},{},[],{"data":85276,"content":85277,"nodeType":1312},{},[85278],{"data":85279,"marks":85280,"value":85282,"nodeType":864},{},[85281],{"type":899},"We’re only scratching the surface of what’s possible",{"data":85284,"content":85285,"nodeType":860},{},[85286],{"data":85287,"marks":85288,"value":85289,"nodeType":864},{},[],"The Zendesk attack demonstrates a creative way of abusing an app’s functionality, combined with the way in which the Apple IdP is configured. ",{"data":85291,"content":85292,"nodeType":860},{},[85293],{"data":85294,"marks":85295,"value":85296,"nodeType":864},{},[],"It would be naive to suggest that similar issues don’t exist for other IdPs. Or that apps other than Zendesk don’t have features that can be exploited.",{"data":85298,"content":85299,"nodeType":860},{},[85300,85304,85313,85317,85326],{"data":85301,"marks":85302,"value":85303,"nodeType":864},{},[],"For example, we’ve previously documented ",{"data":85305,"content":85307,"nodeType":883},{"uri":85306},"https://pushsecurity.com/blog/nearly-invisible-attack-chain/#id-an-example-attack-zapier",[85308],{"data":85309,"marks":85310,"value":85312,"nodeType":864},{},[85311],{"type":1455},"using Zapier to create malicious automated workflows",{"data":85314,"marks":85315,"value":85316,"nodeType":864},{},[]," to compromise integrated apps, or ",{"data":85318,"content":85320,"nodeType":883},{"uri":85319},"https://pushsecurity.com/blog/oktajacking/",[85321],{"data":85322,"marks":85323,"value":85325,"nodeType":864},{},[85324],{"type":1455},"changing the SAML configuration of an app",{"data":85327,"marks":85328,"value":85329,"nodeType":864},{},[]," to direct logins to a malicious Okta tenant. ",{"data":85331,"content":85332,"nodeType":860},{},[85333],{"data":85334,"marks":85335,"value":85336,"nodeType":864},{},[],"Until now, there hasn’t been much research in this space. It’s not surprising when we consider that this kind of bug bounty isn’t paying out, and I know of only a handful of forward-thinking security consultancies conducting any real offensive security testing with their clients in this space. ",{"data":85338,"content":85339,"nodeType":860},{},[85340],{"data":85341,"marks":85342,"value":85343,"nodeType":864},{},[],"All organizations should be taking SaaS and identity attacks seriously — a good starting point would be to normalize SaaS and IdP configuration testing as part of routine security assessments, as well as demonstrating in-app post exploitation activity to raise awareness of how direct and dangerous these attacks can be. ",{"data":85345,"content":85346,"nodeType":1005},{},[],{"data":85348,"content":85349,"nodeType":1009},{},[85350],{"data":85351,"marks":85352,"value":85354,"nodeType":864},{},[85353],{"type":899},"Expect more cross-IdP impersonation in future",{"data":85356,"content":85357,"nodeType":860},{},[85358,85362,85370],{"data":85359,"marks":85360,"value":85361,"nodeType":864},{},[],"With the ",{"data":85363,"content":85364,"nodeType":883},{"uri":6300},[85365],{"data":85366,"marks":85367,"value":85369,"nodeType":864},{},[85368],{"type":1455},"success of the attacks on Snowflake customers",{"data":85371,"marks":85372,"value":85373,"nodeType":864},{},[]," it feels like attackers and researchers are starting to take note, and the research scrutiny is amping up. It would be wise to expect more of these attacks in future. ",{"data":85375,"content":85376,"nodeType":860},{},[85377],{"data":85378,"marks":85379,"value":85380,"nodeType":864},{},[],"Cross-IdP impersonation could be largely prevented if all apps required re-verification upon adding a new login method by default (specifically, requiring that you log in with the original method, not approving via email link/code). This is yet another example of the inconsistencies in SaaS authentication introducing vulnerabilities. ",{"data":85382,"content":85383,"nodeType":860},{},[85384],{"data":85385,"marks":85386,"value":85387,"nodeType":864},{},[],"As this is unlikely to happen anytime soon, to mitigate the threat of cross-IdP impersonation we recommend that you:",{"data":85389,"content":85390,"nodeType":941},{},[85391,85401,85411,85421],{"data":85392,"content":85393,"nodeType":945},{},[85394],{"data":85395,"content":85396,"nodeType":860},{},[85397],{"data":85398,"marks":85399,"value":85400,"nodeType":864},{},[],"Set email alerts for employees receiving IdP activation emails to their corporate mailbox and forward to your SIEM. This will provide visibility both of unauthorized IdPs being connected to your domain by employees (which can lead to your corporate apps and accounts being compromised via less secure accounts, such as their Apple, LinkedIn, X, etc.), and of attackers attempting to register a new IdP as part of an attack. ",{"data":85402,"content":85403,"nodeType":945},{},[85404],{"data":85405,"content":85406,"nodeType":860},{},[85407],{"data":85408,"marks":85409,"value":85410,"nodeType":864},{},[],"Warn users of the risks associated with creating new IdP accounts and connecting them to their primary corporate email (as well as the possibility of phishing scams designed to trick the user into completing the verification process or passing on a verification code). ",{"data":85412,"content":85413,"nodeType":945},{},[85414],{"data":85415,"content":85416,"nodeType":860},{},[85417],{"data":85418,"marks":85419,"value":85420,"nodeType":864},{},[],"Where configurable, require downstream applications to enforce re-verification when adding new SSO methods. Requiring login with the original method, rather than email approval, is a more secure approach.",{"data":85422,"content":85423,"nodeType":945},{},[85424],{"data":85425,"content":85426,"nodeType":860},{},[85427],{"data":85428,"marks":85429,"value":85430,"nodeType":864},{},[],"Where possible, prevent the conversion of personal accounts to corporate accounts within the main IdP providers. For example, Apple Business Manager recently released the ability to lock your domain and prevent new accounts being created, as well as locking the authentication to your preferred IdP (preventing local accounts from being created) — convenient timing!",{"data":85432,"content":85435,"nodeType":996},{"target":85433},{"sys":85434},{"id":84234,"type":1001,"linkType":1002},[],{"data":85437,"content":85438,"nodeType":860},{},[85439],{"data":85440,"marks":85441,"value":85442,"nodeType":864},{},[],"However, your ability to prevent attackers from creating new accounts on IdPs and connecting them to your domain is going to vary from IdP to IdP, so complete remediation may not be possible. And unless handled carefully, joining multiple IdPs to your primary IdP has the potential to increase your attack surface, not reduce it!",{"data":85444,"content":85445,"nodeType":860},{},[85446,85450,85457],{"data":85447,"marks":85448,"value":85449,"nodeType":864},{},[],"If you want a bit more technical detail on how this technique can be combined with verification phishing to reliably create new IdP accounts, ",{"data":85451,"content":85452,"nodeType":883},{"uri":40464},[85453],{"data":85454,"marks":85455,"value":85456,"nodeType":864},{},[],"check out this blog post.",{"data":85458,"marks":85459,"value":85460,"nodeType":864},{},[]," Here's a quick demo of the attack chain to whet your appetite... ",{"data":85462,"content":85465,"nodeType":996},{"target":85463},{"sys":85464},{"id":83870,"type":1001,"linkType":1002},[],{"data":85467,"content":85468,"nodeType":860},{},[85469],{"data":85470,"marks":85471,"value":21,"nodeType":864},{},[],{"data":85473,"content":85477,"nodeType":996},{"target":85474},{"sys":85475},{"id":85476,"type":1001,"linkType":1002},"3MGuq0h7IfW7F2ueNbc5v4",[],{"data":85479,"content":85480,"nodeType":860},{},[85481],{"data":85482,"marks":85483,"value":21,"nodeType":864},{},[],"Cross-IdP impersonation: Hijacking SSO to access downstream apps","Cross-IdP impersonation is a method of hijacking SSO to access downstream apps — without needing to compromise accounts on your company’s main IdP. ","2024-11-19T00:00:00.000Z","cross-idp-impersonation",{"items":85489},[85490,85492],{"sys":85491,"name":6593},{"id":6592},{"sys":85493,"name":342},{"id":6596},{"items":85495},[85496],{"fullName":2736,"firstName":2737,"jobTitle":2738,"profilePicture":85497},{"url":2740},{"__typename":2059,"sys":85499,"content":85501,"title":86180,"synopsis":86181,"hashTags":59,"publishedDate":79738,"slug":86182,"tagsCollection":86183,"authorsCollection":86189},{"id":85500},"6XHbplcolYfUeAB6x3olYQ",{"json":85502},{"data":85503,"content":85504,"nodeType":856},{},[85505,85512,85530,85563,85570,85576,85583,85590,85623,85630,85637,85644,85651,85658,85665,85672,85679,85686,85693,85700,85707,85714,85721,85728,85735,85742,85748,85754,85761,85768,85775,85782,85788,85795,85802,85820,85827,85847,85853,85860,85867,85874,85881,85887,85894,85901,85908,85915,85922,85928,85934,85941,85948,85955,85962,85969,85976,85982,85989,85996,86003,86010,86017,86023,86029,86036,86043,86050,86056,86063,86070,86077,86083,86090,86096,86103,86109,86126,86144,86151,86168,86174],{"data":85506,"content":85507,"nodeType":1009},{},[85508],{"data":85509,"marks":85510,"value":85511,"nodeType":864},{},[],"Picking up where we left off...",{"data":85513,"content":85514,"nodeType":860},{},[85515,85519,85526],{"data":85516,"marks":85517,"value":85518,"nodeType":864},{},[],"In our previous ",{"data":85520,"content":85521,"nodeType":883},{"uri":48151},[85522],{"data":85523,"marks":85524,"value":79166,"nodeType":864},{},[85525],{"type":1455},{"data":85527,"marks":85528,"value":85529,"nodeType":864},{},[],", we looked at a range of techniques implemented by a then-recent instance of the NakedPages AiTM phishing kit for evading detection. The techniques covered previously were mostly intended to make two detection strategies for defenders much more difficult:",{"data":85531,"content":85532,"nodeType":941},{},[85533,85548],{"data":85534,"content":85535,"nodeType":945},{},[85536],{"data":85537,"content":85538,"nodeType":860},{},[85539,85544],{"data":85540,"marks":85541,"value":85543,"nodeType":864},{},[85542],{"type":899},"Writing toolkit signatures",{"data":85545,"marks":85546,"value":85547,"nodeType":864},{},[],": Through heavy use of randomization, constantly changing hosting domains/IPs, legitimate hosting options etc., it becomes very difficult for defenders to maintain effective signatures to detect either generic phishing kit code or where they are hosted.",{"data":85549,"content":85550,"nodeType":945},{},[85551],{"data":85552,"content":85553,"nodeType":860},{},[85554,85559],{"data":85555,"marks":85556,"value":85558,"nodeType":864},{},[85557],{"type":899},"Automating dynamic analysis",{"data":85560,"marks":85561,"value":85562,"nodeType":864},{},[],": Similarly to sandbox evasion for malware, phishing kits are designed to evade automated discovery and analysis, e.g. by using Cloudflare Turnstile bot detection, and requiring legitimate browser interaction and JavaScript execution in order for execution flow to reach the malicious phishing functionality.",{"data":85564,"content":85565,"nodeType":860},{},[85566],{"data":85567,"marks":85568,"value":85569,"nodeType":864},{},[],"In this blog post, we're diving deeper into a specific category of signature-based detection and how attackers are getting around them: Login page signatures. ",{"data":85571,"content":85575,"nodeType":996},{"target":85572},{"sys":85573},{"id":85574,"type":1001,"linkType":1002},"1aaDMth4Cxv6CMT0PJW5py",[],{"data":85577,"content":85578,"nodeType":1009},{},[85579],{"data":85580,"marks":85581,"value":85582,"nodeType":864},{},[],"Login page signatures 101",{"data":85584,"content":85585,"nodeType":860},{},[85586],{"data":85587,"marks":85588,"value":85589,"nodeType":864},{},[],"The overwhelming majority of common AiTM phishing kits in the wild now are targeting the most dominant identity providers (IdPs), such as Microsoft Entra or Google Workspace. They typically emulate the login pages of these platforms to ensure the victim uses the correct password and MFA factor and completes the login process, so the attacker can steal the valid session.",{"data":85591,"content":85592,"nodeType":860},{},[85593,85597,85602,85605,85610,85614,85619],{"data":85594,"marks":85595,"value":85596,"nodeType":864},{},[],"As a result, security product vendors are naturally looking to move away from unreliable detections based on signaturing ever-changing phishing kits, toward detecting login pages that ",{"data":85598,"marks":85599,"value":85601,"nodeType":864},{},[85600],{"type":899},"look like",{"data":85603,"marks":85604,"value":1171,"nodeType":864},{},[],{"data":85606,"marks":85607,"value":85609,"nodeType":864},{},[85608],{"type":899},"Microsoft Entra, Google Workspace",{"data":85611,"marks":85612,"value":85613,"nodeType":864},{},[]," (or any other common IdP) ",{"data":85615,"marks":85616,"value":85618,"nodeType":864},{},[85617],{"type":899},"but are not hosted on the official domains",{"data":85620,"marks":85621,"value":85622,"nodeType":864},{},[],". The benefit here is that you’re focusing on a fixed, known target, rather than a constantly moving one (e.g. phishing kit codebases).",{"data":85624,"content":85625,"nodeType":860},{},[85626],{"data":85627,"marks":85628,"value":85629,"nodeType":864},{},[],"However, attackers have managed to stay one step ahead and are already using a wide range of techniques to break these detections and counter the countermeasures.",{"data":85631,"content":85632,"nodeType":1009},{},[85633],{"data":85634,"marks":85635,"value":85636,"nodeType":864},{},[],"Signature evasion strategies",{"data":85638,"content":85639,"nodeType":860},{},[85640],{"data":85641,"marks":85642,"value":85643,"nodeType":864},{},[],"Well, like most good ideas, someone else has already had it — many phishing kits pre-emptively take steps to evade detections based on login page signatures. The specific evasion techniques used are a useful insight into what detection techniques are out there and are needing to be circumvented. ",{"data":85645,"content":85646,"nodeType":860},{},[85647],{"data":85648,"marks":85649,"value":85650,"nodeType":864},{},[],"Before we delve into the specific examples, let’s first consider the general strategies for this: document object model (DOM) obfuscation, and visual obfuscation. ",{"data":85652,"content":85653,"nodeType":1312},{},[85654],{"data":85655,"marks":85656,"value":85657,"nodeType":864},{},[],"DOM obfuscation",{"data":85659,"content":85660,"nodeType":860},{},[85661],{"data":85662,"marks":85663,"value":85664,"nodeType":864},{},[],"This is the more traditional evasion approach. The goal for an attacker is to have a login page that is visually identical to the real page when viewed with the human eye. ",{"data":85666,"content":85667,"nodeType":860},{},[85668],{"data":85669,"marks":85670,"value":85671,"nodeType":864},{},[],"But that doesn’t mean the underlying DOM (or loaded HTML, CSS, and JS code) needs to be the same, or even similar, to the real login page. It’s possible to  construct a completely different DOM that ensures the same visual output with a very different underlying code. ",{"data":85673,"content":85674,"nodeType":860},{},[85675],{"data":85676,"marks":85677,"value":85678,"nodeType":864},{},[],"It’s also possible to use dynamic modification techniques to ensure the DOM changes during execution to frustrate fixed point-in-time analysis controls, like those that may be used by web proxies.  ",{"data":85680,"content":85681,"nodeType":1312},{},[85682],{"data":85683,"marks":85684,"value":85685,"nodeType":864},{},[],"Visual obfuscation",{"data":85687,"content":85688,"nodeType":860},{},[85689],{"data":85690,"marks":85691,"value":85692,"nodeType":864},{},[],"With the ever-increasing capabilities of machine learning (ML) and other artificial intelligence (AI) technologies, we don’t just have to look at the underlying code and text signatures anymore. There are a range of computer vision based techniques that can be used to simulate a more human approach to assessing if a login page matches another example. ",{"data":85694,"content":85695,"nodeType":860},{},[85696],{"data":85697,"marks":85698,"value":85699,"nodeType":864},{},[],"Therefore, another approach to defeat login page signatures would be to perform visual obfuscation techniques that can frustrate computer vision-based detections, while still fooling a human user.",{"data":85701,"content":85702,"nodeType":1009},{},[85703],{"data":85704,"marks":85705,"value":85706,"nodeType":864},{},[],"DOM obfuscation techniques",{"data":85708,"content":85709,"nodeType":860},{},[85710],{"data":85711,"marks":85712,"value":85713,"nodeType":864},{},[],"For consistency, we’re going to focus on Microsoft login phishing kits as they are the most common (by far), but we’ll pick from some different samples we’ve observed. Let’s start with a few examples of DOM obfuscation we have seen in the wild:",{"data":85715,"content":85716,"nodeType":1312},{},[85717],{"data":85718,"marks":85719,"value":85720,"nodeType":864},{},[],"#1 – DOM structure change",{"data":85722,"content":85723,"nodeType":860},{},[85724],{"data":85725,"marks":85726,"value":85727,"nodeType":864},{},[],"If an attacker were to simply clone Microsoft’s login page, then we’d expect to see a very similar (if not identical) DOM structure, right? After all, the simplest way to emulate a web page visually is either to copy the HTML directly or transparently proxy requests to the real target with minimal changes, as tools like Evilginx do. This would make detection far simpler as we’d have a known code structure to look for. ",{"data":85729,"content":85730,"nodeType":860},{},[85731],{"data":85732,"marks":85733,"value":85734,"nodeType":864},{},[],"Unfortunately, it’s pretty common for attackers to deliberately use a completely different DOM structure for something that’s almost identical to the eye. It takes a lot more effort to implement this and so the reason for it is almost certainly to avoid this detection technique.  ",{"data":85736,"content":85737,"nodeType":860},{},[85738],{"data":85739,"marks":85740,"value":85741,"nodeType":864},{},[],"Check out the examples below to see a high-level interpretation of the DOM structure for a legitimate Microsoft login page and one phishing example. You can see how they are visually very similar, but radically different from one another when looking at DOM code:",{"data":85743,"content":85747,"nodeType":996},{"target":85744},{"sys":85745},{"id":85746,"type":1001,"linkType":1002},"4amv144ZzTBmd9ssh66kkr",[],{"data":85749,"content":85753,"nodeType":996},{"target":85750},{"sys":85751},{"id":85752,"type":1001,"linkType":1002},"2gC49b2f2Th4wAEWLPvAnL",[],{"data":85755,"content":85756,"nodeType":1312},{},[85757],{"data":85758,"marks":85759,"value":85760,"nodeType":864},{},[],"#2 – Randomizing page titles",{"data":85762,"content":85763,"nodeType":860},{},[85764],{"data":85765,"marks":85766,"value":85767,"nodeType":864},{},[],"The HTML page title is one very specific place to check for similarity. For Microsoft, it can change slightly depending on the service, but if we use Outlook as an example then the page title is “Sign in to Outlook”. This also has a favicon of the Microsoft logo (another issue we’ll visit later in the article). \n\nIt’s unsurprising that attackers are randomizing the page title to evade basic detections – how many users would really notice any difference?",{"data":85769,"content":85770,"nodeType":860},{},[85771],{"data":85772,"marks":85773,"value":85774,"nodeType":864},{},[],"Some kits, such as the NakedPages case study we looked at in the previous article, use purely randomized alphanumeric text. Others use english words that may seem innocuous if a user does inspect them, but are in fact randomized between iterations to ensure any one set that is flagged will not completely block the phishing kit from operating. ",{"data":85776,"content":85777,"nodeType":860},{},[85778],{"data":85779,"marks":85780,"value":85781,"nodeType":864},{},[],"For example, see three refreshed examples of the same phishing kit below when compared with the legitimate Outlook login page title next to it.",{"data":85783,"content":85787,"nodeType":996},{"target":85784},{"sys":85785},{"id":85786,"type":1001,"linkType":1002},"2KuHCssISCeGYeZNC005pV",[],{"data":85789,"content":85790,"nodeType":1312},{},[85791],{"data":85792,"marks":85793,"value":85794,"nodeType":864},{},[],"#3 – Desktop control techniques (e.g. NoVNC)",{"data":85796,"content":85797,"nodeType":860},{},[85798],{"data":85799,"marks":85800,"value":85801,"nodeType":864},{},[],"The most common AiTM phishing technique is some form of a web proxy method, where the victim interacts with a legitimate website that is proxying certain requests to the real backend. However, this is not the only method. Some tools utilize a Browser-in-the-Middle (BiTM) technique that involves using desktop sharing technologies to remotely control an attacker’s browser instead. ",{"data":85803,"content":85804,"nodeType":860},{},[85805,85809,85817],{"data":85806,"marks":85807,"value":85808,"nodeType":864},{},[],"If you want to know more about this, check out our ",{"data":85810,"content":85811,"nodeType":883},{"uri":48106},[85812],{"data":85813,"marks":85814,"value":85816,"nodeType":864},{},[85815],{"type":1455},"previous article on AiTM phishing",{"data":85818,"marks":85819,"value":2924,"nodeType":864},{},[],{"data":85821,"content":85822,"nodeType":860},{},[85823],{"data":85824,"marks":85825,"value":85826,"nodeType":864},{},[],"The upside of this for an attacker is that the website is actually completely different from the target website under the hood. If anything, it just looks like any other website making use of similar technologies like NoVNC.",{"data":85828,"content":85829,"nodeType":860},{},[85830,85834,85843],{"data":85831,"marks":85832,"value":85833,"nodeType":864},{},[],"For example, see the following screenshot example of using the open-source BiTM tool, ",{"data":85835,"content":85837,"nodeType":883},{"uri":85836},"https://github.com/JoelGMSec/EvilnoVNC",[85838],{"data":85839,"marks":85840,"value":85842,"nodeType":864},{},[85841],{"type":1455},"EvilNoVNC",{"data":85844,"marks":85845,"value":85846,"nodeType":864},{},[],". You can see how the underlying HTML and DOM are completely different due to the use of this technique, with effectively the entire page just being an HTML canvas element that is rendered like a video.",{"data":85848,"content":85852,"nodeType":996},{"target":85849},{"sys":85850},{"id":85851,"type":1001,"linkType":1002},"60Jt2P0ip14ycdtS9qLPhc",[],{"data":85854,"content":85855,"nodeType":1312},{},[85856],{"data":85857,"marks":85858,"value":85859,"nodeType":864},{},[],"#4 – Dynamic text decoding",{"data":85861,"content":85862,"nodeType":860},{},[85863],{"data":85864,"marks":85865,"value":85866,"nodeType":864},{},[],"Sometimes there may be very specific strings that detection tools might try to signature on. Let’s use the example of text that appears visually on the login page. While most login text can be pretty generic, e.g. “Sign in”, that’s not always the case. To appear authentic, it’s better for an attacker to keep it the same, but that leaves it vulnerable to signature detection. ",{"data":85868,"content":85869,"nodeType":860},{},[85870],{"data":85871,"marks":85872,"value":85873,"nodeType":864},{},[],"For example, the placeholder text on Microsoft’s login page is “Email, phone, or Skype”. Particularly given Microsoft’s historical acquisition of Skype, this is actually a pretty specific piece of text that you won’t usually find in the username field of a login page very often. ",{"data":85875,"content":85876,"nodeType":860},{},[85877],{"data":85878,"marks":85879,"value":85880,"nodeType":864},{},[],"So how do you keep this text but make it harder to signature on? Well you fall back to classic decoding techniques to avoid static signatures. In this case, that is decoded from base64 using JavaScript’s atob() function in order to load that text dynamically during execution rather than have it statically within the HTML. This makes it harder to create a signature using common point-in-time static analysis techniques.",{"data":85882,"content":85886,"nodeType":996},{"target":85883},{"sys":85884},{"id":85885,"type":1001,"linkType":1002},"1PymaE09il5CubFvwSfLqW",[],{"data":85888,"content":85889,"nodeType":1312},{},[85890],{"data":85891,"marks":85892,"value":85893,"nodeType":864},{},[],"#5 – Image element obfuscation",{"data":85895,"content":85896,"nodeType":860},{},[85897],{"data":85898,"marks":85899,"value":85900,"nodeType":864},{},[],"We’re starting to shift towards more visual-based obfuscation elements now, but first let’s cover  an interesting example that straddles the two.",{"data":85902,"content":85903,"nodeType":860},{},[85904],{"data":85905,"marks":85906,"value":85907,"nodeType":864},{},[],"Many login pages will have very clear examples of vendor logos present in specific locations and elements as part of a login page. This is a huge part of an authentic visual experience and so attackers would like to keep them there. However, as defenders we could specifically look for these elements, both for pure structural matching techniques or as a pre-processing step for visual matching techniques later (e.g. visually matching a logo, rather than the entire page). ",{"data":85909,"content":85910,"nodeType":860},{},[85911],{"data":85912,"marks":85913,"value":85914,"nodeType":864},{},[],"For this reason, attackers might want to obfuscate this aspect in order to make it difficult to match or locate the images used within the login page, while still ensuring they appear visually identical to a user.",{"data":85916,"content":85917,"nodeType":860},{},[85918],{"data":85919,"marks":85920,"value":85921,"nodeType":864},{},[],"Below, we can see a comparison of a legitimate Microsoft login page and a phishing kit. You can see how in the original a standard HTML \u003Cimg> element of a specific size and name are used. In comparison, our phishing kit has replaced this with a \u003Cdiv> element of a different size and made use of background image styling to ensure the \u003Cdiv> ends up with the same visual appearance despite the structural differences.",{"data":85923,"content":85927,"nodeType":996},{"target":85924},{"sys":85925},{"id":85926,"type":1001,"linkType":1002},"4MvwXZDjMA56ZYSdjKpu9R",[],{"data":85929,"content":85933,"nodeType":996},{"target":85930},{"sys":85931},{"id":85932,"type":1001,"linkType":1002},"6tNMjTvHuAWkuK0x7ZEgKr",[],{"data":85935,"content":85936,"nodeType":1009},{},[85937],{"data":85938,"marks":85939,"value":85940,"nodeType":864},{},[],"Visual obfuscation techniques",{"data":85942,"content":85943,"nodeType":860},{},[85944],{"data":85945,"marks":85946,"value":85947,"nodeType":864},{},[],"As if that wasn’t enough, let’s move on to some visual obfuscation techniques that attackers are also using.",{"data":85949,"content":85950,"nodeType":1312},{},[85951],{"data":85952,"marks":85953,"value":85954,"nodeType":864},{},[],"#6 – Favicon changes",{"data":85956,"content":85957,"nodeType":860},{},[85958],{"data":85959,"marks":85960,"value":85961,"nodeType":864},{},[],"We effectively saw this earlier when speaking about HTML page title randomization. The favicon is also an easy place to look for the obvious use of vendor logos. How many legitimate websites are going to have the Microsoft logo as their favicon? If they do, they may quickly end up with a cease and desist letter!",{"data":85963,"content":85964,"nodeType":860},{},[85965],{"data":85966,"marks":85967,"value":85968,"nodeType":864},{},[],"Favicons also render at a fixed size, so if an attacker wants to ensure that the Microsoft logo appears as the favicon for their page, it gives defenders a fixed target to perform image recognition against for cloned logos. ",{"data":85970,"content":85971,"nodeType":860},{},[85972],{"data":85973,"marks":85974,"value":85975,"nodeType":864},{},[],"In this phishing kit example, it looks like the authors have decided they are better off just leaving the favicon empty to avoid being vulnerable to this detection technique.",{"data":85977,"content":85981,"nodeType":996},{"target":85978},{"sys":85979},{"id":85980,"type":1001,"linkType":1002},"7FknWWF9ri9eZvu8Prhkd5",[],{"data":85983,"content":85984,"nodeType":1312},{},[85985],{"data":85986,"marks":85987,"value":85988,"nodeType":864},{},[],"#7 – Blurred background images",{"data":85990,"content":85991,"nodeType":860},{},[85992],{"data":85993,"marks":85994,"value":85995,"nodeType":864},{},[],"Ok, this is a pretty clever one. Let’s say as a defender we wanted to perform sophisticated image recognition techniques to detect websites that look visually very similar to Microsoft’s login page overall. There may be many challenges around rendering resolution etc to deal with but conceptually we could look to match on the whole page. ",{"data":85997,"content":85998,"nodeType":860},{},[85999],{"data":86000,"marks":86001,"value":86002,"nodeType":864},{},[],"However, if an attacker makes a substantial visual change to the page that still appears authentic then this would prevent the technique from operating effectively. One common graphic design method used when a modal pops up is to blur the background. Some phishing kits use similar techniques on their login pages with a variety of different background images that are derived from legitimate Microsoft sources. ",{"data":86004,"content":86005,"nodeType":860},{},[86006],{"data":86007,"marks":86008,"value":86009,"nodeType":864},{},[],"The first time you see this, it’s easy to think you’ve seen this a hundred times before. It just seems very familiar and authentic… except it’s not. The real login page has a blank background. Therefore, any algorithms looking for visual similarity of the overall page are not going to match because they are actually radically different. ",{"data":86011,"content":86012,"nodeType":860},{},[86013],{"data":86014,"marks":86015,"value":86016,"nodeType":864},{},[],"This is a trick on the human brain and the way we interpret images, not a trick on a computer vision algorithm. Take a look at the phishing example and the real Microsoft login page below:",{"data":86018,"content":86022,"nodeType":996},{"target":86019},{"sys":86020},{"id":86021,"type":1001,"linkType":1002},"6KnrHECqltSOgSCGHIjYEL",[],{"data":86024,"content":86028,"nodeType":996},{"target":86025},{"sys":86026},{"id":86027,"type":1001,"linkType":1002},"1nb6K1MyBkON2eBHk1365B",[],{"data":86030,"content":86031,"nodeType":1312},{},[86032],{"data":86033,"marks":86034,"value":86035,"nodeType":864},{},[],"#8 – Logo substitution",{"data":86037,"content":86038,"nodeType":860},{},[86039],{"data":86040,"marks":86041,"value":86042,"nodeType":864},{},[],"You might have noticed one other change with the previous image – the logo that was used. We saw earlier how some phishing kits make it harder to identify individual logos within an image through DOM obfuscation techniques. However, the other approach is to substitute logos for similar ones that give a sense of authenticity to the user but are visually completely different.",{"data":86044,"content":86045,"nodeType":860},{},[86046],{"data":86047,"marks":86048,"value":86049,"nodeType":864},{},[],"In this case, the phishing kit has chosen to use the newer purple hexagon Microsoft 365 logo in place of the standard Microsoft logo on the login page. Users will no doubt be familiar with this logo as belonging to Microsoft and so it still gives the sense of authenticity. A computer vision algorithm looking to match the original logo won’t know that though!",{"data":86051,"content":86055,"nodeType":996},{"target":86052},{"sys":86053},{"id":86054,"type":1001,"linkType":1002},"5o1WRmupkYPr9QmeQUf5uF",[],{"data":86057,"content":86058,"nodeType":1312},{},[86059],{"data":86060,"marks":86061,"value":86062,"nodeType":864},{},[],"#9 - Sub-image obfuscation",{"data":86064,"content":86065,"nodeType":860},{},[86066],{"data":86067,"marks":86068,"value":86069,"nodeType":864},{},[],"Ok, so let’s say an attacker wants to use the real logo and they’ve even used the image element obfuscation method we saw earlier to dynamically set the image as a background image for a \u003Cdiv> element. ",{"data":86071,"content":86072,"nodeType":860},{},[86073],{"data":86074,"marks":86075,"value":86076,"nodeType":864},{},[],"However, it’s not impossible for these images to be isolated and analyzed. Perhaps a defender might enumerate all divs, compute the background images and analyze them all. We can see an example of using code to do this to determine the image used by a \u003Cdiv> element in a phishing kit below:",{"data":86078,"content":86082,"nodeType":996},{"target":86079},{"sys":86080},{"id":86081,"type":1001,"linkType":1002},"79e7r8I5p0Nh9hpqrRs9eJ",[],{"data":86084,"content":86085,"nodeType":860},{},[86086],{"data":86087,"marks":86088,"value":86089,"nodeType":864},{},[],"This gives us the base64 image data that was set as the background image. However, if we look at that image data directly we see it’s an obfuscated form of the image, even though it displays correctly when properly cropped as it’s embedded in the overall page:",{"data":86091,"content":86095,"nodeType":996},{"target":86092},{"sys":86093},{"id":86094,"type":1001,"linkType":1002},"jXlXRHrezWsZ27CiQIyBO",[],{"data":86097,"content":86098,"nodeType":860},{},[86099],{"data":86100,"marks":86101,"value":86102,"nodeType":864},{},[],"This makes it harder for a visual algorithm to match the logo as it’s clearly not exactly the same. Instead, careful construction of the div and related DOM has ensured that these obfuscated edge pieces do not show visually to the user.",{"data":86104,"content":86105,"nodeType":1009},{},[86106],{"data":86107,"marks":86108,"value":32492,"nodeType":864},{},[],{"data":86110,"content":86111,"nodeType":860},{},[86112,86115,86122],{"data":86113,"marks":86114,"value":1499,"nodeType":864},{},[],{"data":86116,"content":86117,"nodeType":883},{"uri":48151},[86118],{"data":86119,"marks":86120,"value":86121,"nodeType":864},{},[],"our previous article",{"data":86123,"marks":86124,"value":86125,"nodeType":864},{},[],", we looked at a higher level set of techniques used by phishing kits to avoid detection. In this article, we’ve dived deeper into one particular strategy of breaking login page signatures and have shown how, even inside of this one strategy, there are many different sub-techniques being used to evade common detections.",{"data":86127,"content":86128,"nodeType":860},{},[86129,86133,86140],{"data":86130,"marks":86131,"value":86132,"nodeType":864},{},[],"Looking at the evasion techniques discussed here and in ",{"data":86134,"content":86135,"nodeType":883},{"uri":48151},[86136],{"data":86137,"marks":86138,"value":86139,"nodeType":864},{},[],"Part 1",{"data":86141,"marks":86142,"value":86143,"nodeType":864},{},[],", it’s pretty clear that attackers are consciously looking to bypass automated detection techniques typically implemented through either web traffic analysis (using a web proxy inspection tool or Secure Web Gateway) or website sandboxing (for example link analysis provided by an email security appliance).",{"data":86145,"content":86146,"nodeType":860},{},[86147],{"data":86148,"marks":86149,"value":86150,"nodeType":864},{},[],"On a positive note, this shows us that (at least some) detection tools are trending upwards on the Pyramid of Pain — moving away from nearly pointless signatures like IP addresses and domains towards more in-depth detections of specific tool techniques. Though it’s also fair to say that, in this cat-and-mouse game, it seems the attackers are maintaining the advantage. This may be because these detection technologies are widely available, and attackers can test their kits against these tools and change them just enough to bypass them.",{"data":86152,"content":86153,"nodeType":860},{},[86154,86158,86165],{"data":86155,"marks":86156,"value":86157,"nodeType":864},{},[],"If you’re interested in how Push is able to detect these attacks despite all these ever evolving evasion techniques by using browser telemetry and evaluating user interaction with these kits — ",{"data":86159,"content":86160,"nodeType":883},{"uri":31757},[86161],{"data":86162,"marks":86163,"value":86164,"nodeType":864},{},[],"take a look at how we do phishing detection.",{"data":86166,"marks":86167,"value":21,"nodeType":864},{},[],{"data":86169,"content":86173,"nodeType":996},{"target":86170},{"sys":86171},{"id":86172,"type":1001,"linkType":1002},"6H8HmAmYiGvs3T7kQLA4dd",[],{"data":86175,"content":86176,"nodeType":860},{},[86177],{"data":86178,"marks":86179,"value":21,"nodeType":864},{},[],"How AitM phishing kits evade detection: Part 2","How attackers are breaking detection signatures designed to identify phishing sites impersonating real login pages.","how-aitm-phishing-kits-evade-detection-p2",{"items":86184},[86185,86187],{"sys":86186,"name":342},{"id":6596},{"sys":86188,"name":6593},{"id":6592},{"items":86190},[86191],{"fullName":4949,"firstName":4950,"jobTitle":4951,"profilePicture":86192},{"url":4955},{"__typename":2059,"sys":86194,"content":86195,"title":42779,"synopsis":42780,"hashTags":59,"publishedDate":42781,"slug":42782,"tagsCollection":86469,"authorsCollection":86475},{"id":42465},{"json":86196},{"data":86197,"content":86198,"nodeType":856},{},[86199,86205,86221,86234,86240,86246,86249,86255,86261,86309,86315,86320,86323,86329,86335,86341,86347,86353,86367,86372,86378,86384,86398,86403,86409,86415,86421,86427,86433,86436,86442,86458,86463],{"data":86200,"content":86201,"nodeType":1009},{},[86202],{"data":86203,"marks":86204,"value":42476,"nodeType":864},{},[],{"data":86206,"content":86207,"nodeType":860},{},[86208,86211,86218],{"data":86209,"marks":86210,"value":42483,"nodeType":864},{},[],{"data":86212,"content":86213,"nodeType":883},{"uri":7425},[86214],{"data":86215,"marks":86216,"value":42491,"nodeType":864},{},[86217],{"type":1455},{"data":86219,"marks":86220,"value":12252,"nodeType":864},{},[],{"data":86222,"content":86223,"nodeType":860},{},[86224,86227,86231],{"data":86225,"marks":86226,"value":42501,"nodeType":864},{},[],{"data":86228,"marks":86229,"value":42506,"nodeType":864},{},[86230],{"type":1455},{"data":86232,"marks":86233,"value":42510,"nodeType":864},{},[],{"data":86235,"content":86236,"nodeType":860},{},[86237],{"data":86238,"marks":86239,"value":42517,"nodeType":864},{},[],{"data":86241,"content":86242,"nodeType":860},{},[86243],{"data":86244,"marks":86245,"value":42524,"nodeType":864},{},[],{"data":86247,"content":86248,"nodeType":1005},{},[],{"data":86250,"content":86251,"nodeType":1312},{},[86252],{"data":86253,"marks":86254,"value":42534,"nodeType":864},{},[],{"data":86256,"content":86257,"nodeType":860},{},[86258],{"data":86259,"marks":86260,"value":42541,"nodeType":864},{},[],{"data":86262,"content":86263,"nodeType":941},{},[86264,86273,86282,86291,86300],{"data":86265,"content":86266,"nodeType":945},{},[86267],{"data":86268,"content":86269,"nodeType":860},{},[86270],{"data":86271,"marks":86272,"value":42554,"nodeType":864},{},[],{"data":86274,"content":86275,"nodeType":945},{},[86276],{"data":86277,"content":86278,"nodeType":860},{},[86279],{"data":86280,"marks":86281,"value":42564,"nodeType":864},{},[],{"data":86283,"content":86284,"nodeType":945},{},[86285],{"data":86286,"content":86287,"nodeType":860},{},[86288],{"data":86289,"marks":86290,"value":42574,"nodeType":864},{},[],{"data":86292,"content":86293,"nodeType":945},{},[86294],{"data":86295,"content":86296,"nodeType":860},{},[86297],{"data":86298,"marks":86299,"value":42584,"nodeType":864},{},[],{"data":86301,"content":86302,"nodeType":945},{},[86303],{"data":86304,"content":86305,"nodeType":860},{},[86306],{"data":86307,"marks":86308,"value":42594,"nodeType":864},{},[],{"data":86310,"content":86311,"nodeType":860},{},[86312],{"data":86313,"marks":86314,"value":42601,"nodeType":864},{},[],{"data":86316,"content":86319,"nodeType":996},{"target":86317},{"sys":86318},{"id":42606,"type":1001,"linkType":1002},[],{"data":86321,"content":86322,"nodeType":1005},{},[],{"data":86324,"content":86325,"nodeType":1312},{},[86326],{"data":86327,"marks":86328,"value":42617,"nodeType":864},{},[],{"data":86330,"content":86331,"nodeType":860},{},[86332],{"data":86333,"marks":86334,"value":42624,"nodeType":864},{},[],{"data":86336,"content":86337,"nodeType":860},{},[86338],{"data":86339,"marks":86340,"value":42631,"nodeType":864},{},[],{"data":86342,"content":86343,"nodeType":860},{},[86344],{"data":86345,"marks":86346,"value":42638,"nodeType":864},{},[],{"data":86348,"content":86349,"nodeType":860},{},[86350],{"data":86351,"marks":86352,"value":42645,"nodeType":864},{},[],{"data":86354,"content":86355,"nodeType":1312},{},[86356,86359,86364],{"data":86357,"marks":86358,"value":42652,"nodeType":864},{},[],{"data":86360,"marks":86361,"value":42658,"nodeType":864},{},[86362,86363],{"type":1455},{"type":899},{"data":86365,"marks":86366,"value":42662,"nodeType":864},{},[],{"data":86368,"content":86371,"nodeType":996},{"target":86369},{"sys":86370},{"id":42667,"type":1001,"linkType":1002},[],{"data":86373,"content":86374,"nodeType":860},{},[86375],{"data":86376,"marks":86377,"value":42675,"nodeType":864},{},[],{"data":86379,"content":86380,"nodeType":860},{},[86381],{"data":86382,"marks":86383,"value":42682,"nodeType":864},{},[],{"data":86385,"content":86386,"nodeType":1312},{},[86387,86390,86395],{"data":86388,"marks":86389,"value":42689,"nodeType":864},{},[],{"data":86391,"marks":86392,"value":3053,"nodeType":864},{},[86393,86394],{"type":1455},{"type":899},{"data":86396,"marks":86397,"value":42698,"nodeType":864},{},[],{"data":86399,"content":86402,"nodeType":996},{"target":86400},{"sys":86401},{"id":42703,"type":1001,"linkType":1002},[],{"data":86404,"content":86405,"nodeType":860},{},[86406],{"data":86407,"marks":86408,"value":42711,"nodeType":864},{},[],{"data":86410,"content":86411,"nodeType":860},{},[86412],{"data":86413,"marks":86414,"value":42718,"nodeType":864},{},[],{"data":86416,"content":86417,"nodeType":860},{},[86418],{"data":86419,"marks":86420,"value":42725,"nodeType":864},{},[],{"data":86422,"content":86423,"nodeType":860},{},[86424],{"data":86425,"marks":86426,"value":42732,"nodeType":864},{},[],{"data":86428,"content":86429,"nodeType":860},{},[86430],{"data":86431,"marks":86432,"value":42739,"nodeType":864},{},[],{"data":86434,"content":86435,"nodeType":1005},{},[],{"data":86437,"content":86438,"nodeType":1009},{},[86439],{"data":86440,"marks":86441,"value":42749,"nodeType":864},{},[],{"data":86443,"content":86444,"nodeType":860},{},[86445,86448,86455],{"data":86446,"marks":86447,"value":42756,"nodeType":864},{},[],{"data":86449,"content":86450,"nodeType":883},{"uri":5642},[86451],{"data":86452,"marks":86453,"value":35582,"nodeType":864},{},[86454],{"type":1455},{"data":86456,"marks":86457,"value":35977,"nodeType":864},{},[],{"data":86459,"content":86462,"nodeType":996},{"target":86460},{"sys":86461},{"id":42771,"type":1001,"linkType":1002},[],{"data":86464,"content":86465,"nodeType":860},{},[86466],{"data":86467,"marks":86468,"value":21,"nodeType":864},{},[],{"items":86470},[86471,86473],{"sys":86472,"name":6593},{"id":6592},{"sys":86474,"name":342},{"id":6596},{"items":86476},[86477],{"fullName":4878,"firstName":4879,"jobTitle":851,"profilePicture":86478},{"url":4881},"a-new-class-of-phishing-verification-phishing-and-cross-idp-impersonation","blog/a-new-class-of-phishing-verification-phishing-and-cross-idp-impersonation",{"json":86482},{"data":86483,"content":86484,"nodeType":856},{},[86485],{"data":86486,"content":86487,"nodeType":860},{},[86488,86492,86496],{"data":86489,"marks":86490,"value":86491,"nodeType":864},{},[],"P",{"data":86493,"marks":86494,"value":86495,"nodeType":864},{},[],"hishing for email verification can be combined with cross-IdP impersonation gain direct access to downstream SaaS. ",{"data":86497,"marks":86498,"value":86499,"nodeType":864},{},[],"This means that accounts normally protected by strong SSO mechanisms using phishing-resistant MFA factors like passkeys or Okta Fastpass can be directly compromised through phishing a single OTP.","How phishing for email verification can be combined with cross-IdP impersonation to gain direct access to downstream SaaS and bypass hardened IdP accounts.\n",{"id":86502,"publishedAt":86503},"6aIClLltBiYMQYgKtQcKqz","2026-08-12T11:54:45.994Z",{"items":86505},[86506,86508],{"sys":86507,"name":6593},{"id":6592},{"sys":86509,"name":342},{"id":6596},{"items":86511},[86512,86514,86516,86518,86520,86522,86524,86526,86528,86530,86532,86534,86536],{"sys":86513,"name":279,"slug":280,"tier":31},{"id":276},{"sys":86515,"name":413,"slug":414,"tier":31},{"id":410},{"sys":86517,"name":519,"slug":520,"tier":31},{"id":516},{"sys":86519,"name":545,"slug":546,"tier":31},{"id":542},{"sys":86521,"name":261,"slug":262,"tier":45},{"id":258},{"sys":86523,"name":466,"slug":467,"tier":45},{"id":463},{"sys":86525,"name":324,"slug":325,"tier":45},{"id":321},{"sys":86527,"name":607,"slug":608,"tier":45},{"id":604},{"sys":86529,"name":395,"slug":396,"tier":45},{"id":392},{"sys":86531,"name":484,"slug":485,"tier":45},{"id":481},{"sys":86533,"name":457,"slug":458,"tier":45},{"id":454},{"sys":86535,"name":493,"slug":494,"tier":45},{"id":490},{"sys":86537,"name":475,"slug":476,"tier":45},{"id":472},"p_wkpCZ2pyZqAIoH1mlF3sFMEyFX86375Q6MdLkb4FM",{"id":86540,"title":85484,"authorsCollection":86541,"content":86546,"extension":228,"faqItemsCollection":87352,"faqTitle":59,"featured":6,"hashTags":59,"meta":87354,"metaTitle":87355,"ogImage":87356,"postType":5740,"publishedDate":85486,"relatedBlogPostsCollection":87357,"slug":85487,"stem":88997,"subtitle":59,"summary":88998,"synopsis":85485,"sys":89009,"tagsCollection":89011,"topicsCollection":89017,"__hash__":89041},"blog/blog/cross-idp-impersonation.json",{"items":86542},[86543],{"fullName":2736,"firstName":2737,"jobTitle":2738,"socialLinks":86544,"profilePicture":86545},[11304],{"url":2740},{"json":86547,"links":87319},{"data":86548,"content":86549,"nodeType":856},{},[86550,86556,86562,86587,86593,86596,86602,86609,86625,86631,86637,86642,86648,86654,86675,86681,86687,86722,86728,86731,86737,86767,86772,86778,86784,86787,86794,86800,86830,86835,86841,86844,86851,86867,86873,86879,86895,86898,86905,86921,86927,86940,86953,86956,86963,86979,86985,86991,87075,87081,87086,87092,87098,87128,87134,87137,87144,87150,87156,87182,87188,87194,87197,87204,87220,87226,87232,87271,87276,87282,87297,87302,87308,87313],{"data":86551,"content":86552,"nodeType":860},{},[86553],{"data":86554,"marks":86555,"value":84609,"nodeType":864},{},[],{"data":86557,"content":86558,"nodeType":860},{},[86559],{"data":86560,"marks":86561,"value":84616,"nodeType":864},{},[],{"data":86563,"content":86564,"nodeType":860},{},[86565,86568,86574,86577,86584],{"data":86566,"marks":86567,"value":84623,"nodeType":864},{},[],{"data":86569,"content":86570,"nodeType":883},{"uri":36121},[86571],{"data":86572,"marks":86573,"value":36127,"nodeType":864},{},[],{"data":86575,"marks":86576,"value":84633,"nodeType":864},{},[],{"data":86578,"content":86579,"nodeType":883},{"uri":17701},[86580],{"data":86581,"marks":86582,"value":17706,"nodeType":864},{},[86583],{"type":1455},{"data":86585,"marks":86586,"value":84644,"nodeType":864},{},[],{"data":86588,"content":86589,"nodeType":860},{},[86590],{"data":86591,"marks":86592,"value":84651,"nodeType":864},{},[],{"data":86594,"content":86595,"nodeType":1005},{},[],{"data":86597,"content":86598,"nodeType":1009},{},[86599],{"data":86600,"marks":86601,"value":84661,"nodeType":864},{},[],{"data":86603,"content":86604,"nodeType":1312},{},[86605],{"data":86606,"marks":86607,"value":84669,"nodeType":864},{},[86608],{"type":899},{"data":86610,"content":86611,"nodeType":860},{},[86612,86615,86622],{"data":86613,"marks":86614,"value":84676,"nodeType":864},{},[],{"data":86616,"content":86617,"nodeType":883},{"uri":84679},[86618],{"data":86619,"marks":86620,"value":84685,"nodeType":864},{},[86621],{"type":1455},{"data":86623,"marks":86624,"value":84689,"nodeType":864},{},[],{"data":86626,"content":86627,"nodeType":860},{},[86628],{"data":86629,"marks":86630,"value":84696,"nodeType":864},{},[],{"data":86632,"content":86633,"nodeType":860},{},[86634],{"data":86635,"marks":86636,"value":84703,"nodeType":864},{},[],{"data":86638,"content":86641,"nodeType":996},{"target":86639},{"sys":86640},{"id":84708,"type":1001,"linkType":1002},[],{"data":86643,"content":86644,"nodeType":860},{},[86645],{"data":86646,"marks":86647,"value":84716,"nodeType":864},{},[],{"data":86649,"content":86650,"nodeType":860},{},[86651],{"data":86652,"marks":86653,"value":84723,"nodeType":864},{},[],{"data":86655,"content":86656,"nodeType":941},{},[86657,86666],{"data":86658,"content":86659,"nodeType":945},{},[86660],{"data":86661,"content":86662,"nodeType":860},{},[86663],{"data":86664,"marks":86665,"value":84736,"nodeType":864},{},[],{"data":86667,"content":86668,"nodeType":945},{},[86669],{"data":86670,"content":86671,"nodeType":860},{},[86672],{"data":86673,"marks":86674,"value":84746,"nodeType":864},{},[],{"data":86676,"content":86677,"nodeType":860},{},[86678],{"data":86679,"marks":86680,"value":84753,"nodeType":864},{},[],{"data":86682,"content":86683,"nodeType":860},{},[86684],{"data":86685,"marks":86686,"value":84760,"nodeType":864},{},[],{"data":86688,"content":86689,"nodeType":941},{},[86690,86706],{"data":86691,"content":86692,"nodeType":945},{},[86693],{"data":86694,"content":86695,"nodeType":860},{},[86696,86699,86703],{"data":86697,"marks":86698,"value":84773,"nodeType":864},{},[],{"data":86700,"marks":86701,"value":83366,"nodeType":864},{},[86702],{"type":1455},{"data":86704,"marks":86705,"value":84781,"nodeType":864},{},[],{"data":86707,"content":86708,"nodeType":945},{},[86709],{"data":86710,"content":86711,"nodeType":860},{},[86712,86715,86719],{"data":86713,"marks":86714,"value":72717,"nodeType":864},{},[],{"data":86716,"marks":86717,"value":84795,"nodeType":864},{},[86718],{"type":1455},{"data":86720,"marks":86721,"value":84799,"nodeType":864},{},[],{"data":86723,"content":86724,"nodeType":860},{},[86725],{"data":86726,"marks":86727,"value":84806,"nodeType":864},{},[],{"data":86729,"content":86730,"nodeType":1005},{},[],{"data":86732,"content":86733,"nodeType":1312},{},[86734],{"data":86735,"marks":86736,"value":84816,"nodeType":864},{},[],{"data":86738,"content":86739,"nodeType":860},{},[86740,86743,86750,86753,86757,86760,86764],{"data":86741,"marks":86742,"value":84823,"nodeType":864},{},[],{"data":86744,"content":86745,"nodeType":883},{"uri":84826},[86746],{"data":86747,"marks":86748,"value":84832,"nodeType":864},{},[86749],{"type":1455},{"data":86751,"marks":86752,"value":84836,"nodeType":864},{},[],{"data":86754,"marks":86755,"value":84841,"nodeType":864},{},[86756],{"type":899},{"data":86758,"marks":86759,"value":1171,"nodeType":864},{},[],{"data":86761,"marks":86762,"value":84849,"nodeType":864},{},[86763],{"type":899},{"data":86765,"marks":86766,"value":12252,"nodeType":864},{},[],{"data":86768,"content":86771,"nodeType":996},{"target":86769},{"sys":86770},{"id":84857,"type":1001,"linkType":1002},[],{"data":86773,"content":86774,"nodeType":860},{},[86775],{"data":86776,"marks":86777,"value":84865,"nodeType":864},{},[],{"data":86779,"content":86780,"nodeType":860},{},[86781],{"data":86782,"marks":86783,"value":84872,"nodeType":864},{},[],{"data":86785,"content":86786,"nodeType":1005},{},[],{"data":86788,"content":86789,"nodeType":1009},{},[86790],{"data":86791,"marks":86792,"value":84883,"nodeType":864},{},[86793],{"type":899},{"data":86795,"content":86796,"nodeType":860},{},[86797],{"data":86798,"marks":86799,"value":84890,"nodeType":864},{},[],{"data":86801,"content":86802,"nodeType":941},{},[86803,86812,86821],{"data":86804,"content":86805,"nodeType":945},{},[86806],{"data":86807,"content":86808,"nodeType":860},{},[86809],{"data":86810,"marks":86811,"value":84903,"nodeType":864},{},[],{"data":86813,"content":86814,"nodeType":945},{},[86815],{"data":86816,"content":86817,"nodeType":860},{},[86818],{"data":86819,"marks":86820,"value":84913,"nodeType":864},{},[],{"data":86822,"content":86823,"nodeType":945},{},[86824],{"data":86825,"content":86826,"nodeType":860},{},[86827],{"data":86828,"marks":86829,"value":84923,"nodeType":864},{},[],{"data":86831,"content":86834,"nodeType":996},{"target":86832},{"sys":86833},{"id":84928,"type":1001,"linkType":1002},[],{"data":86836,"content":86837,"nodeType":860},{},[86838],{"data":86839,"marks":86840,"value":84936,"nodeType":864},{},[],{"data":86842,"content":86843,"nodeType":1005},{},[],{"data":86845,"content":86846,"nodeType":1312},{},[86847],{"data":86848,"marks":86849,"value":84947,"nodeType":864},{},[86850],{"type":899},{"data":86852,"content":86853,"nodeType":860},{},[86854,86857,86864],{"data":86855,"marks":86856,"value":84954,"nodeType":864},{},[],{"data":86858,"content":86859,"nodeType":883},{"uri":84957},[86860],{"data":86861,"marks":86862,"value":84963,"nodeType":864},{},[86863],{"type":1455},{"data":86865,"marks":86866,"value":84967,"nodeType":864},{},[],{"data":86868,"content":86869,"nodeType":860},{},[86870],{"data":86871,"marks":86872,"value":84974,"nodeType":864},{},[],{"data":86874,"content":86875,"nodeType":860},{},[86876],{"data":86877,"marks":86878,"value":84981,"nodeType":864},{},[],{"data":86880,"content":86881,"nodeType":860},{},[86882,86885,86892],{"data":86883,"marks":86884,"value":84988,"nodeType":864},{},[],{"data":86886,"content":86887,"nodeType":883},{"uri":49829},[86888],{"data":86889,"marks":86890,"value":84996,"nodeType":864},{},[86891],{"type":1455},{"data":86893,"marks":86894,"value":8618,"nodeType":864},{},[],{"data":86896,"content":86897,"nodeType":1005},{},[],{"data":86899,"content":86900,"nodeType":1312},{},[86901],{"data":86902,"marks":86903,"value":85010,"nodeType":864},{},[86904],{"type":899},{"data":86906,"content":86907,"nodeType":860},{},[86908,86911,86918],{"data":86909,"marks":86910,"value":85017,"nodeType":864},{},[],{"data":86912,"content":86913,"nodeType":883},{"uri":85020},[86914],{"data":86915,"marks":86916,"value":85026,"nodeType":864},{},[86917],{"type":1455},{"data":86919,"marks":86920,"value":85030,"nodeType":864},{},[],{"data":86922,"content":86923,"nodeType":860},{},[86924],{"data":86925,"marks":86926,"value":85037,"nodeType":864},{},[],{"data":86928,"content":86929,"nodeType":860},{},[86930,86933,86937],{"data":86931,"marks":86932,"value":85044,"nodeType":864},{},[],{"data":86934,"marks":86935,"value":85049,"nodeType":864},{},[86936],{"type":899},{"data":86938,"marks":86939,"value":85053,"nodeType":864},{},[],{"data":86941,"content":86942,"nodeType":1116},{},[86943],{"data":86944,"content":86945,"nodeType":860},{},[86946,86950],{"data":86947,"marks":86948,"value":85064,"nodeType":864},{},[86949],{"type":899},{"data":86951,"marks":86952,"value":85068,"nodeType":864},{},[],{"data":86954,"content":86955,"nodeType":1005},{},[],{"data":86957,"content":86958,"nodeType":1312},{},[86959],{"data":86960,"marks":86961,"value":85079,"nodeType":864},{},[86962],{"type":899},{"data":86964,"content":86965,"nodeType":860},{},[86966,86969,86976],{"data":86967,"marks":86968,"value":85086,"nodeType":864},{},[],{"data":86970,"content":86971,"nodeType":883},{"uri":73535},[86972],{"data":86973,"marks":86974,"value":85094,"nodeType":864},{},[86975],{"type":1455},{"data":86977,"marks":86978,"value":85098,"nodeType":864},{},[],{"data":86980,"content":86981,"nodeType":860},{},[86982],{"data":86983,"marks":86984,"value":85105,"nodeType":864},{},[],{"data":86986,"content":86987,"nodeType":860},{},[86988],{"data":86989,"marks":86990,"value":85112,"nodeType":864},{},[],{"data":86992,"content":86993,"nodeType":941},{},[86994,87003,87012,87021,87030,87039,87048,87057,87066],{"data":86995,"content":86996,"nodeType":945},{},[86997],{"data":86998,"content":86999,"nodeType":860},{},[87000],{"data":87001,"marks":87002,"value":85125,"nodeType":864},{},[],{"data":87004,"content":87005,"nodeType":945},{},[87006],{"data":87007,"content":87008,"nodeType":860},{},[87009],{"data":87010,"marks":87011,"value":85135,"nodeType":864},{},[],{"data":87013,"content":87014,"nodeType":945},{},[87015],{"data":87016,"content":87017,"nodeType":860},{},[87018],{"data":87019,"marks":87020,"value":85145,"nodeType":864},{},[],{"data":87022,"content":87023,"nodeType":945},{},[87024],{"data":87025,"content":87026,"nodeType":860},{},[87027],{"data":87028,"marks":87029,"value":85155,"nodeType":864},{},[],{"data":87031,"content":87032,"nodeType":945},{},[87033],{"data":87034,"content":87035,"nodeType":860},{},[87036],{"data":87037,"marks":87038,"value":85165,"nodeType":864},{},[],{"data":87040,"content":87041,"nodeType":945},{},[87042],{"data":87043,"content":87044,"nodeType":860},{},[87045],{"data":87046,"marks":87047,"value":85175,"nodeType":864},{},[],{"data":87049,"content":87050,"nodeType":945},{},[87051],{"data":87052,"content":87053,"nodeType":860},{},[87054],{"data":87055,"marks":87056,"value":85185,"nodeType":864},{},[],{"data":87058,"content":87059,"nodeType":945},{},[87060],{"data":87061,"content":87062,"nodeType":860},{},[87063],{"data":87064,"marks":87065,"value":85195,"nodeType":864},{},[],{"data":87067,"content":87068,"nodeType":945},{},[87069],{"data":87070,"content":87071,"nodeType":860},{},[87072],{"data":87073,"marks":87074,"value":85205,"nodeType":864},{},[],{"data":87076,"content":87077,"nodeType":860},{},[87078],{"data":87079,"marks":87080,"value":85212,"nodeType":864},{},[],{"data":87082,"content":87085,"nodeType":996},{"target":87083},{"sys":87084},{"id":47940,"type":1001,"linkType":1002},[],{"data":87087,"content":87088,"nodeType":860},{},[87089],{"data":87090,"marks":87091,"value":85224,"nodeType":864},{},[],{"data":87093,"content":87094,"nodeType":860},{},[87095],{"data":87096,"marks":87097,"value":85231,"nodeType":864},{},[],{"data":87099,"content":87100,"nodeType":941},{},[87101,87110,87119],{"data":87102,"content":87103,"nodeType":945},{},[87104],{"data":87105,"content":87106,"nodeType":860},{},[87107],{"data":87108,"marks":87109,"value":85244,"nodeType":864},{},[],{"data":87111,"content":87112,"nodeType":945},{},[87113],{"data":87114,"content":87115,"nodeType":860},{},[87116],{"data":87117,"marks":87118,"value":85254,"nodeType":864},{},[],{"data":87120,"content":87121,"nodeType":945},{},[87122],{"data":87123,"content":87124,"nodeType":860},{},[87125],{"data":87126,"marks":87127,"value":85264,"nodeType":864},{},[],{"data":87129,"content":87130,"nodeType":860},{},[87131],{"data":87132,"marks":87133,"value":85271,"nodeType":864},{},[],{"data":87135,"content":87136,"nodeType":1005},{},[],{"data":87138,"content":87139,"nodeType":1312},{},[87140],{"data":87141,"marks":87142,"value":85282,"nodeType":864},{},[87143],{"type":899},{"data":87145,"content":87146,"nodeType":860},{},[87147],{"data":87148,"marks":87149,"value":85289,"nodeType":864},{},[],{"data":87151,"content":87152,"nodeType":860},{},[87153],{"data":87154,"marks":87155,"value":85296,"nodeType":864},{},[],{"data":87157,"content":87158,"nodeType":860},{},[87159,87162,87169,87172,87179],{"data":87160,"marks":87161,"value":85303,"nodeType":864},{},[],{"data":87163,"content":87164,"nodeType":883},{"uri":85306},[87165],{"data":87166,"marks":87167,"value":85312,"nodeType":864},{},[87168],{"type":1455},{"data":87170,"marks":87171,"value":85316,"nodeType":864},{},[],{"data":87173,"content":87174,"nodeType":883},{"uri":85319},[87175],{"data":87176,"marks":87177,"value":85325,"nodeType":864},{},[87178],{"type":1455},{"data":87180,"marks":87181,"value":85329,"nodeType":864},{},[],{"data":87183,"content":87184,"nodeType":860},{},[87185],{"data":87186,"marks":87187,"value":85336,"nodeType":864},{},[],{"data":87189,"content":87190,"nodeType":860},{},[87191],{"data":87192,"marks":87193,"value":85343,"nodeType":864},{},[],{"data":87195,"content":87196,"nodeType":1005},{},[],{"data":87198,"content":87199,"nodeType":1009},{},[87200],{"data":87201,"marks":87202,"value":85354,"nodeType":864},{},[87203],{"type":899},{"data":87205,"content":87206,"nodeType":860},{},[87207,87210,87217],{"data":87208,"marks":87209,"value":85361,"nodeType":864},{},[],{"data":87211,"content":87212,"nodeType":883},{"uri":6300},[87213],{"data":87214,"marks":87215,"value":85369,"nodeType":864},{},[87216],{"type":1455},{"data":87218,"marks":87219,"value":85373,"nodeType":864},{},[],{"data":87221,"content":87222,"nodeType":860},{},[87223],{"data":87224,"marks":87225,"value":85380,"nodeType":864},{},[],{"data":87227,"content":87228,"nodeType":860},{},[87229],{"data":87230,"marks":87231,"value":85387,"nodeType":864},{},[],{"data":87233,"content":87234,"nodeType":941},{},[87235,87244,87253,87262],{"data":87236,"content":87237,"nodeType":945},{},[87238],{"data":87239,"content":87240,"nodeType":860},{},[87241],{"data":87242,"marks":87243,"value":85400,"nodeType":864},{},[],{"data":87245,"content":87246,"nodeType":945},{},[87247],{"data":87248,"content":87249,"nodeType":860},{},[87250],{"data":87251,"marks":87252,"value":85410,"nodeType":864},{},[],{"data":87254,"content":87255,"nodeType":945},{},[87256],{"data":87257,"content":87258,"nodeType":860},{},[87259],{"data":87260,"marks":87261,"value":85420,"nodeType":864},{},[],{"data":87263,"content":87264,"nodeType":945},{},[87265],{"data":87266,"content":87267,"nodeType":860},{},[87268],{"data":87269,"marks":87270,"value":85430,"nodeType":864},{},[],{"data":87272,"content":87275,"nodeType":996},{"target":87273},{"sys":87274},{"id":84234,"type":1001,"linkType":1002},[],{"data":87277,"content":87278,"nodeType":860},{},[87279],{"data":87280,"marks":87281,"value":85442,"nodeType":864},{},[],{"data":87283,"content":87284,"nodeType":860},{},[87285,87288,87294],{"data":87286,"marks":87287,"value":85449,"nodeType":864},{},[],{"data":87289,"content":87290,"nodeType":883},{"uri":40464},[87291],{"data":87292,"marks":87293,"value":85456,"nodeType":864},{},[],{"data":87295,"marks":87296,"value":85460,"nodeType":864},{},[],{"data":87298,"content":87301,"nodeType":996},{"target":87299},{"sys":87300},{"id":83870,"type":1001,"linkType":1002},[],{"data":87303,"content":87304,"nodeType":860},{},[87305],{"data":87306,"marks":87307,"value":21,"nodeType":864},{},[],{"data":87309,"content":87312,"nodeType":996},{"target":87310},{"sys":87311},{"id":85476,"type":1001,"linkType":1002},[],{"data":87314,"content":87315,"nodeType":860},{},[87316],{"data":87317,"marks":87318,"value":21,"nodeType":864},{},[],{"entries":87320},{"hyperlink":87321,"inline":87322,"block":87323},[],[],[87324,87330,87335,87340,87343,87346,87349],{"sys":87325,"__typename":1724,"title":87326,"caption":87326,"layoutMode":59,"file":87327},{"id":84708},"Zendesk to Slack attack path (via Apple SSO)",{"url":87328,"width":50221,"height":87329},"https://images.ctfassets.net/y1cdw1ablpvd/4i4h3IKgVEPtLH5Egs8qND/4b0c1c8dea8b4c0a8721cfceb51b925d/image5.png",690,{"sys":87331,"__typename":1724,"title":87332,"caption":87332,"layoutMode":59,"file":87333},{"id":84857},"Google domain verification bypass",{"url":87334,"width":50221,"height":87329},"https://images.ctfassets.net/y1cdw1ablpvd/7EbqwEZZ6Z0J4bSmwAavvI/becb2d959771dfe75f86807779a1a933/image4.png",{"sys":87336,"__typename":1724,"title":87337,"caption":87337,"layoutMode":59,"file":87338},{"id":84928},"Generic cross-IdP impersonation attack path",{"url":87339,"width":50221,"height":87329},"https://images.ctfassets.net/y1cdw1ablpvd/3fPWMDLgVomv5ePNfVRJl1/fb870e9bfef9d402791086c3ce01f8fb/ServiceNow_Attack_Path__2_.png",{"sys":87341,"__typename":1724,"title":76432,"caption":76433,"layoutMode":59,"file":87342},{"id":47940},{"url":76435,"width":76436,"height":76437},{"sys":87344,"__typename":1724,"title":84578,"caption":84578,"layoutMode":59,"file":87345},{"id":84234},{"url":84580,"width":84581,"height":84582},{"sys":87347,"__typename":47726,"title":84529,"youTubeUrl":84530,"imagePlaceholder":87348},{"id":83870},{"url":84532,"width":45619,"height":45620},{"sys":87350,"__typename":1717,"type":1718,"ctaText":87351,"buttonLabel":69750,"buttonColour":1721,"buttonUrl":40464},{"id":85476},"Learn how cross-IdP impersonation can be combined with verification phishing to bypass locked-down IdP accounts by phishing a single OTP",{"items":87353},[],{},"Cross-IdP impersonation: hijacking SSO using fraudulent IdPs",{"url":87339},{"items":87358},[87359,87878,88711],{"__typename":2059,"sys":87360,"content":87362,"title":87864,"synopsis":87865,"hashTags":59,"publishedDate":87866,"slug":87867,"tagsCollection":87868,"authorsCollection":87874},{"id":87361},"3N6eBccHWWc3cZWTZsaJVV",{"json":87363},{"data":87364,"content":87365,"nodeType":856},{},[87366,87395,87415,87422,87429,87432,87440,87447,87472,87479,87485,87492,87499,87532,87535,87543,87550,87570,87573,87581,87588,87595,87600,87618,87621,87629,87646,87653,87660,87680,87683,87690,87697,87704,87711,87714,87722,87729,87749,87756,87763,87770,87777,87784,87787,87795,87802,87845],{"data":87367,"content":87368,"nodeType":860},{},[87369,87373,87380,87384,87391],{"data":87370,"marks":87371,"value":87372,"nodeType":864},{},[],"We’ve been shouting about the risk posed by account takeover attacks on third party apps since we first released the ",{"data":87374,"content":87375,"nodeType":883},{"uri":6418},[87376],{"data":87377,"marks":87378,"value":5765,"nodeType":864},{},[87379],{"type":1455},{"data":87381,"marks":87382,"value":87383,"nodeType":864},{},[]," in early 2023. 18 months later (and with some encouragement from the success of the ",{"data":87385,"content":87386,"nodeType":883},{"uri":6300},[87387],{"data":87388,"marks":87389,"value":48322,"nodeType":864},{},[87390],{"type":1455},{"data":87392,"marks":87393,"value":87394,"nodeType":864},{},[],") it feels like the security community has woken up to the risk — and attackers likewise have sensed the opportunity. ",{"data":87396,"content":87397,"nodeType":860},{},[87398,87402,87411],{"data":87399,"marks":87400,"value":87401,"nodeType":864},{},[],"Last week, it emerged that ",{"data":87403,"content":87405,"nodeType":883},{"uri":87404},"https://medium.com/@moblig/how-i-accessed-microsofts-servicenow-exposing-all-microsoft-employee-emails-chat-support-5f8d535eb63b",[87406],{"data":87407,"marks":87408,"value":87410,"nodeType":864},{},[87409],{"type":1455},"bug bounty hunters were able to use stolen credentials from a TI platform to Microsoft’s ServiceNow tenant",{"data":87412,"marks":87413,"value":87414,"nodeType":864},{},[],", accessing 1,000s of support ticket descriptions and attachments, and 250k+ employee emails. ",{"data":87416,"content":87417,"nodeType":860},{},[87418],{"data":87419,"marks":87420,"value":87421,"nodeType":864},{},[],"But this isn’t specifically a Microsoft problem. The researcher could have picked from a long list of potential targets. If even Microsoft with their vast security resources can be caught off guard by this, what chance do other organizations have? If anything, it illustrates the scale of the challenge facing organizations when it comes to securing their identity surface. ",{"data":87423,"content":87424,"nodeType":860},{},[87425],{"data":87426,"marks":87427,"value":87428,"nodeType":864},{},[],"Let’s take a closer look at what we can learn from this attack — and what it tells us about the direction that identity attacks are (rapidly) heading in. ",{"data":87430,"content":87431,"nodeType":1005},{},[],{"data":87433,"content":87434,"nodeType":1009},{},[87435],{"data":87436,"marks":87437,"value":87439,"nodeType":864},{},[87438],{"type":899},"Taking over ServiceNow accounts through credential stuffing (via infostealers)",{"data":87441,"content":87442,"nodeType":860},{},[87443],{"data":87444,"marks":87445,"value":87446,"nodeType":864},{},[],"A bug bounty hunter was able to compromise Microsoft’s ServiceNow account using stolen credentials from historical infostealer infections, found using a commercial TI feed. ",{"data":87448,"content":87449,"nodeType":860},{},[87450,87454,87459,87463,87468],{"data":87451,"marks":87452,"value":87453,"nodeType":864},{},[],"The researcher was able to enumerate a login page for Microsoft at ",{"data":87455,"marks":87456,"value":87458,"nodeType":864},{},[87457],{"type":1455},"microsoft.servicenow.com/login.do",{"data":87460,"marks":87461,"value":87462,"nodeType":864},{},[],", with the /login.do meaning that ",{"data":87464,"marks":87465,"value":87467,"nodeType":864},{},[87466],{"type":899},"SSO was enabled but not enforced",{"data":87469,"marks":87470,"value":87471,"nodeType":864},{},[],". At this point, the attacker was able to authenticate using the stolen credentials only (as the target account lacked MFA).",{"data":87473,"content":87474,"nodeType":860},{},[87475],{"data":87476,"marks":87477,"value":87478,"nodeType":864},{},[],"After logging in they were presented with a blank UI. However, because they now had an authenticated session, they were able to switch to the REST API, and subsequently access two key endpoints through which they were able to collect and exfiltrate sensitive data including 1,000s of support ticket attachments, over 250,000+ employee emails, and an xlsx file with historical ticket submissions to the MSRC team. ",{"data":87480,"content":87484,"nodeType":996},{"target":87481},{"sys":87482},{"id":87483,"type":1001,"linkType":1002},"1Q2cL7mJhQUx1it0tU3MhJ",[],{"data":87486,"content":87487,"nodeType":860},{},[87488],{"data":87489,"marks":87490,"value":87491,"nodeType":864},{},[],"Naturally, at this point the researcher ended their attack and sought out a bounty for their efforts. ",{"data":87493,"content":87494,"nodeType":860},{},[87495],{"data":87496,"marks":87497,"value":87498,"nodeType":864},{},[],"But a real attacker wouldn’t have stopped there. Immediately, you’d be thinking:",{"data":87500,"content":87501,"nodeType":941},{},[87502,87512,87522],{"data":87503,"content":87504,"nodeType":945},{},[87505],{"data":87506,"content":87507,"nodeType":860},{},[87508],{"data":87509,"marks":87510,"value":87511,"nodeType":864},{},[],"How many other organizations are likely impacted by this issue? Are there other credentials that correspond with these exposed login pages available online? ",{"data":87513,"content":87514,"nodeType":945},{},[87515],{"data":87516,"content":87517,"nodeType":860},{},[87518],{"data":87519,"marks":87520,"value":87521,"nodeType":864},{},[],"Are there any ways that I could turn this access into a privileged account takeover? Would I be able to access even more information that way? ",{"data":87523,"content":87524,"nodeType":945},{},[87525],{"data":87526,"content":87527,"nodeType":860},{},[87528],{"data":87529,"marks":87530,"value":87531,"nodeType":864},{},[],"How could this data be used to conduct further attacks? Would other criminal groups pay me for this information if I don’t want to do this myself? ",{"data":87533,"content":87534,"nodeType":1005},{},[],{"data":87536,"content":87537,"nodeType":1009},{},[87538],{"data":87539,"marks":87540,"value":87542,"nodeType":864},{},[87541],{"type":899},"This isn’t just a Microsoft problem",{"data":87544,"content":87545,"nodeType":860},{},[87546],{"data":87547,"marks":87548,"value":87549,"nodeType":864},{},[],"It seems unlikely that only Microsoft is affected here. Other ServiceNow tenants could have been taken over using the same approach. Other company credentials could be (will be) available online.",{"data":87551,"content":87552,"nodeType":860},{},[87553,87557,87566],{"data":87554,"marks":87555,"value":87556,"nodeType":864},{},[],"Using straightforward ",{"data":87558,"content":87560,"nodeType":883},{"uri":87559},"https://github.com/pushsecurity/saas-attacks/blob/main/techniques/subdomain_tenant_discovery/description.md",[87561],{"data":87562,"marks":87563,"value":87565,"nodeType":864},{},[87564],{"type":1455},"tenant enumeration techniques",{"data":87567,"marks":87568,"value":87569,"nodeType":864},{},[]," and the list of ServiceNow named customers, it’s very easy to identify different customer tenants. And spending a few minutes using the same credential feed as the researcher, I found multiple organizations with many more breached credentials available linked to the same login.do page. ",{"data":87571,"content":87572,"nodeType":1005},{},[],{"data":87574,"content":87575,"nodeType":1009},{},[87576],{"data":87577,"marks":87578,"value":87580,"nodeType":864},{},[87579],{"type":899},"Similarities with Snowflake",{"data":87582,"content":87583,"nodeType":860},{},[87584],{"data":87585,"marks":87586,"value":87587,"nodeType":864},{},[],"There are no prizes for connecting this attack path with the infamous attacks on Snowflake customers earlier this year, which resulted in 165+ victims, and hundreds of millions of breached customer records. ",{"data":87589,"content":87590,"nodeType":860},{},[87591],{"data":87592,"marks":87593,"value":87594,"nodeType":864},{},[],"The Snowflake attack path was startlingly similar, and gives us a feel for what this attack could have turned into if conducted by a real attacker. ",{"data":87596,"content":87599,"nodeType":996},{"target":87597},{"sys":87598},{"id":34399,"type":1001,"linkType":1002},[],{"data":87601,"content":87602,"nodeType":860},{},[87603,87607,87615],{"data":87604,"marks":87605,"value":87606,"nodeType":864},{},[],"Both attacks began with stolen credentials breached in historical infostealer infections. In Snowflake’s case, 80% of the credentials used were connected to infostealer infections dating back to 2020, ",{"data":87608,"content":87609,"nodeType":883},{"uri":18533},[87610],{"data":87611,"marks":87612,"value":87614,"nodeType":864},{},[87613],{"type":1455},"according to Mandiant",{"data":87616,"marks":87617,"value":12252,"nodeType":864},{},[],{"data":87619,"content":87620,"nodeType":1005},{},[],{"data":87622,"content":87623,"nodeType":1009},{},[87624],{"data":87625,"marks":87626,"value":87628,"nodeType":864},{},[87627],{"type":899},"Ghost logins strike again",{"data":87630,"content":87631,"nodeType":860},{},[87632,87635,87642],{"data":87633,"marks":87634,"value":21,"nodeType":864},{},[],{"data":87636,"content":87637,"nodeType":883},{"uri":17701},[87638],{"data":87639,"marks":87640,"value":395,"nodeType":864},{},[87641],{"type":1455},{"data":87643,"marks":87644,"value":87645,"nodeType":864},{},[]," are one of the leading factors in successful credential stuffing attacks. Simply put, ghost logins are often-forgotten local logins that are tricky for security teams to manage and secure.  ",{"data":87647,"content":87648,"nodeType":860},{},[87649],{"data":87650,"marks":87651,"value":87652,"nodeType":864},{},[],"Ghost logins are a problem for security teams because they often lack best practice security configurations, with things like weak, previously breached, and reused passwords — and no MFA. ",{"data":87654,"content":87655,"nodeType":860},{},[87656],{"data":87657,"marks":87658,"value":87659,"nodeType":864},{},[],"Many organizations think that by migrating an app to use SSO, where they’ve enforced MFA at the IdP level, it’s job done. However, this usually doesn’t eliminate previously created local accounts, meaning they need to be manually unset. But because organizations often lack app-level visibility of account configuration and login methods (it’s simply not provided by most app vendors) these accounts can fly under the radar for extended periods — often until situations like this when they are compromised. ",{"data":87661,"content":87662,"nodeType":860},{},[87663,87667,87676],{"data":87664,"marks":87665,"value":87666,"nodeType":864},{},[],"Ghost logins were a particular problem in the Snowflake attacks because MFA could not be globally enforced at the time of the incident. This meant that local accounts would need to be manually unset using the SQL interface — which unhelpfully ",{"data":87668,"content":87670,"nodeType":883},{"uri":87669},"https://pushsecurity.com/resources/video/demonstrating-ghost-logins-in-snowflake-and-how-to-remediate-them/",[87671],{"data":87672,"marks":87673,"value":87675,"nodeType":864},{},[87674],{"type":1455},"provided inaccurate information about the account status and took extended periods of time to update",{"data":87677,"marks":87678,"value":87679,"nodeType":864},{},[]," after a change had been made, creating uncertainty and confusion for responders. But this is just one example of many illustrating how difficult in-app identity management can be. ",{"data":87681,"content":87682,"nodeType":1005},{},[],{"data":87684,"content":87685,"nodeType":1009},{},[87686],{"data":87687,"marks":87688,"value":61932,"nodeType":864},{},[87689],{"type":899},{"data":87691,"content":87692,"nodeType":860},{},[87693],{"data":87694,"marks":87695,"value":87696,"nodeType":864},{},[],"If we hadn’t realized it yet, attacks targeting third-party business apps are everywhere. It’s not just the flavor of the month — it’s here to stay. ",{"data":87698,"content":87699,"nodeType":860},{},[87700],{"data":87701,"marks":87702,"value":87703,"nodeType":864},{},[],"This is because it’s so easy for attackers to monetize these compromises. Log into app > dump data > profit. ",{"data":87705,"content":87706,"nodeType":860},{},[87707],{"data":87708,"marks":87709,"value":87710,"nodeType":864},{},[],"And the easiest way to achieve this isn’t through complex software exploits, it’s through identity attacks. In the ServiceNow case, using public information (that was available to the security team too) to log into an app. It’s too easy.",{"data":87712,"content":87713,"nodeType":1005},{},[],{"data":87715,"content":87716,"nodeType":1009},{},[87717],{"data":87718,"marks":87719,"value":87721,"nodeType":864},{},[87720],{"type":899},"Identity attacks are misunderstood",{"data":87723,"content":87724,"nodeType":860},{},[87725],{"data":87726,"marks":87727,"value":87728,"nodeType":864},{},[],"The researcher notes that, despite the severity of the bug, it wasn’t paid out under the MSRC bug bounty scheme. And while this is perhaps not a classic software exploit, you can’t argue about the risk it poses. This is just as impactful as any classic vulnerability, if not more so — because the technical barrier to entry is so much lower. ",{"data":87730,"content":87731,"nodeType":860},{},[87732,87736,87745],{"data":87733,"marks":87734,"value":87735,"nodeType":864},{},[],"Pat Gray of the Risky Biz podcast ",{"data":87737,"content":87739,"nodeType":883},{"uri":87738},"https://risky.biz/RB766/",[87740],{"data":87741,"marks":87742,"value":87744,"nodeType":864},{},[87743],{"type":1455},"said of another recent disclosure",{"data":87746,"marks":87747,"value":87748,"nodeType":864},{},[],", where a 15 year-old researcher was able to turn a Zendesk ‘feature’ into hijacking Apple SSO to log into downstream SaaS, that there’s a lack of imagination in understanding how these third-party apps can be abused by an attacker. I’d tend to agree here.",{"data":87750,"content":87751,"nodeType":860},{},[87752],{"data":87753,"marks":87754,"value":87755,"nodeType":864},{},[],"Part of the challenge here is perhaps a lack of awareness of just how severe these issues are. Certainly in the Zendesk case, the initial disclosure (email spoofing) was thrown out, but when it was demonstrated that it could be used to take over downstream apps like Slack, affected companies were happy to pay up, and Zendesk (via HackerOne) got back in touch. ",{"data":87757,"content":87758,"nodeType":860},{},[87759],{"data":87760,"marks":87761,"value":87762,"nodeType":864},{},[],"If I were the researcher, I would have considered reporting this issue to ServiceNow too, not just Microsoft — as it undoubtedly affects many organizations. Yes, the fact that Microsoft credentials were accessible online is a Microsoft problem, but given the potential spread of organizations also susceptible to this attack, does the vendor not have a responsibility to help mitigate these attacks? I would hope that ServiceNow have contacted their customers to be cautious of experiencing an increase in credential stuffing attacks in the near future at the very least. ",{"data":87764,"content":87765,"nodeType":860},{},[87766],{"data":87767,"marks":87768,"value":87769,"nodeType":864},{},[],"There’s clearly a need for better security-by-default from SaaS vendors — things like mandatory MFA enforcement would be a good start. Because there are simply too many apps, and too many accounts to manage — and no effective centralized way of managing them across your SaaS inventory. ",{"data":87771,"content":87772,"nodeType":860},{},[87773],{"data":87774,"marks":87775,"value":87776,"nodeType":864},{},[],"It makes you wonder how many other apps are impacted by ‘on by default’ configurations that can be abused in ways we just don’t know about yet. Partly because nobody is really looking — bug bounties aren’t being paid out, and I know of only a handful of forward-thinking security consultancies conducting any real offensive security testing with their clients in this space. ",{"data":87778,"content":87779,"nodeType":860},{},[87780],{"data":87781,"marks":87782,"value":87783,"nodeType":864},{},[],"We are also reminded, again and again, that credential stuffing attacks are as effective as ever. Despite the investment in SSO, MFA, and all of the identity management and hygiene tools that organizations have nowadays, attackers and researchers keep finding gaps.  ",{"data":87785,"content":87786,"nodeType":1005},{},[],{"data":87788,"content":87789,"nodeType":1009},{},[87790],{"data":87791,"marks":87792,"value":87794,"nodeType":864},{},[87793],{"type":899},"What can you do about it? ",{"data":87796,"content":87797,"nodeType":860},{},[87798],{"data":87799,"marks":87800,"value":87801,"nodeType":864},{},[],"The most important step is to acknowledge the severity of the threat — and the ways that expected controls are failing.",{"data":87803,"content":87804,"nodeType":941},{},[87805,87815,87825,87835],{"data":87806,"content":87807,"nodeType":945},{},[87808],{"data":87809,"content":87810,"nodeType":860},{},[87811],{"data":87812,"marks":87813,"value":87814,"nodeType":864},{},[],"There will almost always be gaps in any organization’s identity security perimeter, simply because it’s almost impossible to have the required visibility — even if you’re Microsoft with your vast security resources.",{"data":87816,"content":87817,"nodeType":945},{},[87818],{"data":87819,"content":87820,"nodeType":860},{},[87821],{"data":87822,"marks":87823,"value":87824,"nodeType":864},{},[],"There will always be ways to abuse app features and configurations, and we’ve barely begun to scratch the surface of what’s now possible in the world of connected SaaS.",{"data":87826,"content":87827,"nodeType":945},{},[87828],{"data":87829,"content":87830,"nodeType":860},{},[87831],{"data":87832,"marks":87833,"value":87834,"nodeType":864},{},[],"These attacks are very difficult to intercept once an attacker is active inside an app, because there’s very little meaningful visibility. ",{"data":87836,"content":87837,"nodeType":945},{},[87838],{"data":87839,"content":87840,"nodeType":860},{},[87841],{"data":87842,"marks":87843,"value":87844,"nodeType":864},{},[],"Once they’re inside, the attack can be over incredibly quickly, and can be repeated across app tenants for maximum impact (again, just look at Snowflake). ",{"data":87846,"content":87847,"nodeType":860},{},[87848,87852,87860],{"data":87849,"marks":87850,"value":87851,"nodeType":864},{},[],"At Push, we’re focused primarily on detecting and intercepting account takeover for these reasons — it’s your earliest opportunity, and for many attacks it’s also your last. If you want to learn more, ",{"data":87853,"content":87854,"nodeType":883},{"uri":36813},[87855],{"data":87856,"marks":87857,"value":87859,"nodeType":864},{},[87858],{"type":1455},"check out our recent design philosophy blog",{"data":87861,"marks":87862,"value":87863,"nodeType":864},{},[]," discussing why we’re shifting detection left to focus on account takeover.  ","What we can learn from the recent ServiceNow/Microsoft disclosure","Account takeover on third-party apps is the flavor of the month for security researchers — what can we learn from it? ","2024-11-01T00:00:00.000Z","learning-from-the-servicenow-disclosure",{"items":87869},[87870,87872],{"sys":87871,"name":6593},{"id":6592},{"sys":87873,"name":297},{"id":2732},{"items":87875},[87876],{"fullName":2736,"firstName":2737,"jobTitle":2738,"profilePicture":87877},{"url":2740},{"__typename":2059,"sys":87879,"content":87880,"title":88697,"synopsis":88698,"hashTags":59,"publishedDate":88699,"slug":88700,"tagsCollection":88701,"authorsCollection":88707},{"id":74598},{"json":87881},{"data":87882,"content":87883,"nodeType":856},{},[87884,87891,87898,87905,87935,87942,87949,87966,87973,87980,87998,88005,88012,88019,88025,88032,88075,88082,88089,88096,88119,88126,88133,88140,88188,88195,88202,88209,88216,88228,88235,88243,88250,88283,88290,88297,88304,88311,88372,88380,88387,88394,88428,88435,88443,88450,88457,88469,88485,88515,88533,88540,88557,88564,88571,88588,88595,88602,88609,88642,88649,88668,88685,88691],{"data":87885,"content":87886,"nodeType":860},{},[87887],{"data":87888,"marks":87889,"value":87890,"nodeType":864},{},[],"Identity attacks like phishing, credential stuffing, and session hijacking are now the leading cause of cyber security breaches, as attackers shift their attention to the sprawl of third-party applications and services that has become the backbone of business IT. ",{"data":87892,"content":87893,"nodeType":860},{},[87894],{"data":87895,"marks":87896,"value":87897,"nodeType":864},{},[],"The attacker’s goal in these attacks is account takeover: logging into a user account to access your company app tenant. From there, the attacker can usually achieve all of their objectives from inside the compromised app, usually involving dumping sensitive data with which to hold the company to ransom, or selling the data on underground criminal marketplaces. ",{"data":87899,"content":87900,"nodeType":860},{},[87901],{"data":87902,"marks":87903,"value":87904,"nodeType":864},{},[],"These attack techniques have been commonplace for over a decade — but the shift in attack context away from attacking endpoints (user devices and servers) to cloud services is seeing something of an identity attack renaissance. ",{"data":87906,"content":87907,"nodeType":860},{},[87908,87911,87918,87922,87931],{"data":87909,"marks":87910,"value":21,"nodeType":864},{},[],{"data":87912,"content":87913,"nodeType":883},{"uri":26784},[87914],{"data":87915,"marks":87916,"value":395,"nodeType":864},{},[87917],{"type":1455},{"data":87919,"marks":87920,"value":87921,"nodeType":864},{},[]," are one of the leading factors in successful ",{"data":87923,"content":87925,"nodeType":883},{"uri":87924},"https://github.com/pushsecurity/saas-attacks/blob/main/techniques/credential_stuffing/description.md",[87926],{"data":87927,"marks":87928,"value":87930,"nodeType":864},{},[87929],{"type":1455},"credential stuffing",{"data":87932,"marks":87933,"value":87934,"nodeType":864},{},[]," attacks driving account takeover.",{"data":87936,"content":87937,"nodeType":1009},{},[87938],{"data":87939,"marks":87940,"value":87941,"nodeType":864},{},[],"Ghost logins 101",{"data":87943,"content":87944,"nodeType":860},{},[87945],{"data":87946,"marks":87947,"value":87948,"nodeType":864},{},[],"Simply put, ghost logins are often-forgotten alternative login methods that are tricky for security teams to manage and secure — because they don’t know about them. Because of this, they’re likely to possess weak configurations that make them susceptible to account takeover attacks. ",{"data":87950,"content":87951,"nodeType":860},{},[87952,87956,87963],{"data":87953,"marks":87954,"value":87955,"nodeType":864},{},[],"We found that ",{"data":87957,"content":87958,"nodeType":883},{"uri":15980},[87959],{"data":87960,"marks":87961,"value":87962,"nodeType":864},{},[],"ghost logins are present in ~10% of the accounts per organization",{"data":87964,"marks":87965,"value":1774,"nodeType":864},{},[],{"data":87967,"content":87968,"nodeType":1312},{},[87969],{"data":87970,"marks":87971,"value":87972,"nodeType":864},{},[],"Why do ghost logins exist?",{"data":87974,"content":87975,"nodeType":860},{},[87976],{"data":87977,"marks":87978,"value":87979,"nodeType":864},{},[],"Identity management used to be something that was centrally contained and managed using an enterprise identity service like Active Directory. Most users probably only had one or two identities that you really cared about: the one they used to log into their company laptop and domain, and maybe also to log into a VPN. ",{"data":87981,"content":87982,"nodeType":860},{},[87983,87987,87994],{"data":87984,"marks":87985,"value":87986,"nodeType":864},{},[],"Now, there are ",{"data":87988,"content":87989,"nodeType":883},{"uri":15980},[87990],{"data":87991,"marks":87992,"value":87993,"nodeType":864},{},[],"200+ business apps in use per company, creating 1000s of sprawled identities",{"data":87995,"marks":87996,"value":87997,"nodeType":864},{},[]," across an ecosystem of business apps and services accessed over the internet.",{"data":87999,"content":88000,"nodeType":860},{},[88001],{"data":88002,"marks":88003,"value":88004,"nodeType":864},{},[],"Most businesses have tried to solve this problem with single sign on (SSO). The logic being that if you can use a single set of credentials (and therefore, a single identity) to access all of your business apps, and then secure those credentials with MFA, then this problem goes away. However…",{"data":88006,"content":88007,"nodeType":1312},{},[88008],{"data":88009,"marks":88010,"value":88011,"nodeType":864},{},[],"SSO expectations versus reality",{"data":88013,"content":88014,"nodeType":860},{},[88015],{"data":88016,"marks":88017,"value":88018,"nodeType":864},{},[],"Unfortunately, the reality of SSO implementation is flawed. Most apps accept multiple login methods that can be configured — and used — simultaneously (yes, most apps don’t have proper session controls).  ",{"data":88020,"content":88024,"nodeType":996},{"target":88021},{"sys":88022},{"id":88023,"type":1001,"linkType":1002},"3sOz3HkiyJpY9nFtGCWEOV",[],{"data":88026,"content":88027,"nodeType":860},{},[88028],{"data":88029,"marks":88030,"value":88031,"nodeType":864},{},[],"This is made worse by the fact that:",{"data":88033,"content":88034,"nodeType":941},{},[88035,88045,88055,88065],{"data":88036,"content":88037,"nodeType":945},{},[88038],{"data":88039,"content":88040,"nodeType":860},{},[88041],{"data":88042,"marks":88043,"value":88044,"nodeType":864},{},[],"Most apps can't be locked down to restrict which login methods are accepted.",{"data":88046,"content":88047,"nodeType":945},{},[88048],{"data":88049,"content":88050,"nodeType":860},{},[88051],{"data":88052,"marks":88053,"value":88054,"nodeType":864},{},[],"Users often self-adopt apps, and default to a username and password (and typically miss out MFA). ",{"data":88056,"content":88057,"nodeType":945},{},[88058],{"data":88059,"content":88060,"nodeType":860},{},[88061],{"data":88062,"marks":88063,"value":88064,"nodeType":864},{},[],"SSO isn’t always possible if you aren’t using a supported IdP — and only one in three apps support SAML, the preferred enterprise-grade protocol.",{"data":88066,"content":88067,"nodeType":945},{},[88068],{"data":88069,"content":88070,"nodeType":860},{},[88071],{"data":88072,"marks":88073,"value":88074,"nodeType":864},{},[],"Even where SSO is possible, configuring an app for SSO doesn't automatically delete any legacy local logins.",{"data":88076,"content":88077,"nodeType":860},{},[88078],{"data":88079,"marks":88080,"value":88081,"nodeType":864},{},[],"Inevitably, this means that there are many situations in which users will create local accounts — typically with a username and password, and without MFA. This is how ghost logins are born.",{"data":88083,"content":88084,"nodeType":1312},{},[88085],{"data":88086,"marks":88087,"value":88088,"nodeType":864},{},[],"How are ghost logins created? ",{"data":88090,"content":88091,"nodeType":860},{},[88092],{"data":88093,"marks":88094,"value":88095,"nodeType":864},{},[],"Ghost logins can be created in the following ways:",{"data":88097,"content":88098,"nodeType":941},{},[88099,88109],{"data":88100,"content":88101,"nodeType":945},{},[88102],{"data":88103,"content":88104,"nodeType":860},{},[88105],{"data":88106,"marks":88107,"value":88108,"nodeType":864},{},[],"A user self-adopts an app, setting up an account with a local username and password. The app is later adopted companywide and brought under SSO. This creates an additional SSO login method, likely as the default, but the local login will continue to exist unless explicitly disabled or deleted. ",{"data":88110,"content":88111,"nodeType":945},{},[88112],{"data":88113,"content":88114,"nodeType":860},{},[88115],{"data":88116,"marks":88117,"value":88118,"nodeType":864},{},[],"Secondary/backup login methods can often be added later in the app settings after logging in. This includes things like setting up a secondary email to send a login link to, or setting up API access to remove the need to authenticate altogether. ",{"data":88120,"content":88121,"nodeType":860},{},[88122],{"data":88123,"marks":88124,"value":88125,"nodeType":864},{},[],"So, ghost logins are very easily introduced through the normal course of app adoption and use by employees. ",{"data":88127,"content":88128,"nodeType":1312},{},[88129],{"data":88130,"marks":88131,"value":88132,"nodeType":864},{},[],"Why do ghost logins pose a risk? ",{"data":88134,"content":88135,"nodeType":860},{},[88136],{"data":88137,"marks":88138,"value":88139,"nodeType":864},{},[],"Ghost logins pose a risk for a number of reasons, as they: ",{"data":88141,"content":88142,"nodeType":941},{},[88143,88158,88173],{"data":88144,"content":88145,"nodeType":945},{},[88146],{"data":88147,"content":88148,"nodeType":860},{},[88149,88154],{"data":88150,"marks":88151,"value":88153,"nodeType":864},{},[88152],{"type":899},"Typically have less secure configurations ",{"data":88155,"marks":88156,"value":88157,"nodeType":864},{},[],"than your preferred login method – and may be missing key controls like MFA.  ",{"data":88159,"content":88160,"nodeType":945},{},[88161],{"data":88162,"content":88163,"nodeType":860},{},[88164,88169],{"data":88165,"marks":88166,"value":88168,"nodeType":864},{},[88167],{"type":899},"Are effectively shadow logins",{"data":88170,"marks":88171,"value":88172,"nodeType":864},{},[]," – IT/security don’t know about them, and if using an IdP as your primary identity security interface, they won’t necessarily be visible without taking a deeper look at individual apps. ",{"data":88174,"content":88175,"nodeType":945},{},[88176],{"data":88177,"content":88178,"nodeType":860},{},[88179,88184],{"data":88180,"marks":88181,"value":88183,"nodeType":864},{},[88182],{"type":899},"Can be used simultaneously with SSO",{"data":88185,"marks":88186,"value":88187,"nodeType":864},{},[]," – so you can have an unrestricted number of concurrent sessions with SSO and non SSO logins active at the same time, without the user being kicked out of the previous session.",{"data":88189,"content":88190,"nodeType":860},{},[88191],{"data":88192,"marks":88193,"value":88194,"nodeType":864},{},[],"Ghost logins provide opportunities for attackers to bypass security controls for initial access and persistence in an application (which we’ll come onto in more detail later). They also provide an opportunity for malicious insiders, e.g. a disgruntled employee, to access systems even after SSO access is revoked. If the security team relies on IdP logs to audit app logins, these accounts can go undetected.",{"data":88196,"content":88197,"nodeType":860},{},[88198],{"data":88199,"marks":88200,"value":88201,"nodeType":864},{},[],"To be able to identify them, you’d need to log into the app admin dashboard. But depending on how the app was adopted, you (as a security admin) may not even be an app-level admin — it’s not unusual for individual teams to administer their own apps. And even if you do have access, it’s not always easy (or possible) to gather this level of information about user account configuration. ",{"data":88203,"content":88204,"nodeType":860},{},[88205],{"data":88206,"marks":88207,"value":88208,"nodeType":864},{},[],"It’s very easy to see how these vulnerable login methods can be overlooked by security teams – let’s look at how they can be identified and exploited by attackers. ",{"data":88210,"content":88211,"nodeType":1009},{},[88212],{"data":88213,"marks":88214,"value":88215,"nodeType":864},{},[],"How can ghost logins be exploited by attackers?",{"data":88217,"content":88218,"nodeType":860},{},[88219,88224],{"data":88220,"marks":88221,"value":88223,"nodeType":864},{},[88222],{"type":899},"Let’s take an example scenario:",{"data":88225,"marks":88226,"value":88227,"nodeType":864},{},[]," You’re using an IdP solution like Okta or Microsoft/Entra with SAML SSO as the default login method for your core business apps. Via your IdP you require MFA when authenticating to your IdP apps page, and also potentially when signing into an individual connected app. ",{"data":88229,"content":88230,"nodeType":860},{},[88231],{"data":88232,"marks":88233,"value":88234,"nodeType":864},{},[],"However, you only recently introduced your IdP solution, and your users previously accessed this app with a local username and password. Although you asked your users to configure MFA in the app itself, not all of them did. And when you deployed your IdP solution, you didn’t manually unset all the local password-based logins for the apps you connected to it. ",{"data":88236,"content":88237,"nodeType":860},{},[88238],{"data":88239,"marks":88240,"value":88242,"nodeType":864},{},[88241],{"type":899},"Unknown to you, there are now hundreds of local accounts for core business apps which lack MFA. ",{"data":88244,"content":88245,"nodeType":860},{},[88246],{"data":88247,"marks":88248,"value":88249,"nodeType":864},{},[],"There are two main scenarios in which ghost logins can be utilized by an attacker:",{"data":88251,"content":88252,"nodeType":941},{},[88253,88268],{"data":88254,"content":88255,"nodeType":945},{},[88256],{"data":88257,"content":88258,"nodeType":860},{},[88259,88264],{"data":88260,"marks":88261,"value":88263,"nodeType":864},{},[88262],{"type":899},"To bypass robustly configured login methods",{"data":88265,"marks":88266,"value":88267,"nodeType":864},{},[]," such as SSO to compromise an app identity during the initial access phase of an attack. ",{"data":88269,"content":88270,"nodeType":945},{},[88271],{"data":88272,"content":88273,"nodeType":860},{},[88274,88279],{"data":88275,"marks":88276,"value":88278,"nodeType":864},{},[88277],{"type":899},"To create additional login methods for an already compromised account to ensure persistent access",{"data":88280,"marks":88281,"value":88282,"nodeType":864},{},[]," – even if the original compromised login method is revoked or disabled. This could be either the result of compromising an identity belonging to a specific app, or having previously compromised an IdP account (e.g. Okta).",{"data":88284,"content":88285,"nodeType":860},{},[88286],{"data":88287,"marks":88288,"value":88289,"nodeType":864},{},[],"Let's look at these use cases in more detail. ",{"data":88291,"content":88292,"nodeType":1312},{},[88293],{"data":88294,"marks":88295,"value":88296,"nodeType":864},{},[],"Ghost logins for initial access",{"data":88298,"content":88299,"nodeType":860},{},[88300],{"data":88301,"marks":88302,"value":88303,"nodeType":864},{},[],"Arguably the most dangerous use case for ghost logins is to conduct credential attacks against accounts using a username and password. Logins with a weak or guessable password, or a reused password that has appeared in a public data breach dump, are primed for account takeover. ",{"data":88305,"content":88306,"nodeType":860},{},[88307],{"data":88308,"marks":88309,"value":88310,"nodeType":864},{},[],"The cyber crime ecosystem is leaning toward the theft, sale, and use of stolen credentials (not just emails and passwords, but session tokens too). ",{"data":88312,"content":88313,"nodeType":941},{},[88314,88334,88353],{"data":88315,"content":88316,"nodeType":945},{},[88317],{"data":88318,"content":88319,"nodeType":860},{},[88320,88324,88331],{"data":88321,"marks":88322,"value":88323,"nodeType":864},{},[],"There are 600 million identity attacks per day, with 99% involving passwords (",{"data":88325,"content":88326,"nodeType":883},{"uri":48126},[88327],{"data":88328,"marks":88329,"value":23700,"nodeType":864},{},[88330],{"type":1455},{"data":88332,"marks":88333,"value":22438,"nodeType":864},{},[],{"data":88335,"content":88336,"nodeType":945},{},[88337],{"data":88338,"content":88339,"nodeType":860},{},[88340,88343,88350],{"data":88341,"marks":88342,"value":81332,"nodeType":864},{},[],{"data":88344,"content":88345,"nodeType":883},{"uri":4408},[88346],{"data":88347,"marks":88348,"value":27246,"nodeType":864},{},[88349],{"type":1455},{"data":88351,"marks":88352,"value":22438,"nodeType":864},{},[],{"data":88354,"content":88355,"nodeType":945},{},[88356],{"data":88357,"content":88358,"nodeType":860},{},[88359,88362,88369],{"data":88360,"marks":88361,"value":81270,"nodeType":864},{},[],{"data":88363,"content":88364,"nodeType":883},{"uri":81273},[88365],{"data":88366,"marks":88367,"value":81279,"nodeType":864},{},[88368],{"type":1455},{"data":88370,"marks":88371,"value":22438,"nodeType":864},{},[],{"data":88373,"content":88374,"nodeType":860},{},[88375],{"data":88376,"marks":88377,"value":88379,"nodeType":864},{},[88378],{"type":899},"So, it’s easier than ever for attackers to gather breached credentials and weaponize them at scale. ",{"data":88381,"content":88382,"nodeType":860},{},[88383],{"data":88384,"marks":88385,"value":88386,"nodeType":864},{},[],"Realistically, any username and password combination for addresses belonging to a specific organization/domain can be attempted on any app. Breached credential data will often provide a strong indicator of other apps also in use for that organization. And for apps with a custom tenant URL (that cannot be easily guessed) data dumps often helpfully include the URLs for those login pages, too.  ",{"data":88388,"content":88389,"nodeType":860},{},[88390],{"data":88391,"marks":88392,"value":88393,"nodeType":864},{},[],"The risk posed by the massive amounts of leaked credentials available is heightened because: ",{"data":88395,"content":88396,"nodeType":941},{},[88397,88418],{"data":88398,"content":88399,"nodeType":945},{},[88400],{"data":88401,"content":88402,"nodeType":860},{},[88403,88407,88414],{"data":88404,"marks":88405,"value":88406,"nodeType":864},{},[],"Many employees reuse passwords, with ",{"data":88408,"content":88409,"nodeType":883},{"uri":15980},[88410],{"data":88411,"marks":88412,"value":88413,"nodeType":864},{},[],"~9% of all accounts using a breached, weak, or reused password",{"data":88415,"marks":88416,"value":88417,"nodeType":864},{},[],". This isn’t just for low-risk apps either, and includes the reuse of highly sensitive IdP creds. ",{"data":88419,"content":88420,"nodeType":945},{},[88421],{"data":88422,"content":88423,"nodeType":860},{},[88424],{"data":88425,"marks":88426,"value":88427,"nodeType":864},{},[],"Organizations don’t typically rotate or enforce changes to SaaS app passwords in the same way they might for company account/device login connected to Active Directory.  ",{"data":88429,"content":88430,"nodeType":860},{},[88431],{"data":88432,"marks":88433,"value":88434,"nodeType":864},{},[],"Ghost logins aren’t limited to just username and password either. For example, a breached social account such as Facebook or Google can result in a broader compromise if those accounts have been connected to any corporate apps.   ",{"data":88436,"content":88437,"nodeType":860},{},[88438],{"data":88439,"marks":88440,"value":88442,"nodeType":864},{},[88441],{"type":899},"So, exploiting ghost logins can be a highly effective method for attackers to gain initial access to a user account from which to launch further attacks.  ",{"data":88444,"content":88445,"nodeType":1312},{},[88446],{"data":88447,"marks":88448,"value":88449,"nodeType":864},{},[],"Ghost logins for persistence and defense evasion",{"data":88451,"content":88452,"nodeType":860},{},[88453],{"data":88454,"marks":88455,"value":88456,"nodeType":864},{},[],"Now, we’ll take a look at how attackers can leverage ghost logins as part of the later stages of an attack, having already established an initial foothold via account compromise. ",{"data":88458,"content":88459,"nodeType":860},{},[88460,88464],{"data":88461,"marks":88462,"value":88463,"nodeType":864},{},[],"If an organization has a reasonable level of security monitoring in-place (depending on log availability from the particular app vendor), or a victim receives a notification about an unusual login (e.g. from a new device or unusual IP) then access to an account can be short-lived. ",{"data":88465,"marks":88466,"value":88468,"nodeType":864},{},[88467],{"type":899},"However, ghost logins can provide attackers with the tools to maintain persistent access to a compromised account, even if the initial compromised login method is disabled or revoked. ",{"data":88470,"content":88471,"nodeType":860},{},[88472,88476,88481],{"data":88473,"marks":88474,"value":88475,"nodeType":864},{},[],"For example, if a social login is used to access an account, an adversary may be able to configure a separate username/password login, or even (though much less commonly) connect a second social account that the adversary controls. This allows the adversary to maintain persistent access to the user account ",{"data":88477,"marks":88478,"value":88480,"nodeType":864},{},[88479],{"type":899},"even in the event of password changes or MFA changes",{"data":88482,"marks":88483,"value":88484,"nodeType":864},{},[],". The attack will go unnoticed if the victim organization relies on SSO logs for auditing access to SaaS applications because the attack bypasses SSO, as the login remains local to the SaaS app or, in the case of an OIDC SSO login, the adversary’s own social account.",{"data":88486,"content":88487,"nodeType":860},{},[88488,88492,88500,88504,88512],{"data":88489,"marks":88490,"value":88491,"nodeType":864},{},[],"Another quirk is that it’s common for ordinary users to become app-level admins when an app is self-adopted by an individual or team. If an attacker is able to gain control of such an account, it can then be used to target other users without needing to deliver phishing links by hijacking SAML-based authentication. In this scenario, users attempting to sign in using SAML SSO are directed it to an attacker-controlled tenant in a watering hole attack (also known as ",{"data":88493,"content":88495,"nodeType":883},{"uri":88494},"https://github.com/pushsecurity/saas-attacks/blob/main/techniques/samljacking/description.md",[88496],{"data":88497,"marks":88498,"value":5272,"nodeType":864},{},[88499],{"type":1455},{"data":88501,"marks":88502,"value":88503,"nodeType":864},{},[],", which you can ",{"data":88505,"content":88506,"nodeType":883},{"uri":5231},[88507],{"data":88508,"marks":88509,"value":88511,"nodeType":864},{},[88510],{"type":1455},"read more about in another blog post",{"data":88513,"marks":88514,"value":12285,"nodeType":864},{},[],{"data":88516,"content":88517,"nodeType":860},{},[88518,88522,88530],{"data":88519,"marks":88520,"value":88521,"nodeType":864},{},[],"If you're curious as to how an attacker might be able to compromise an IdP account such as Okta, ",{"data":88523,"content":88524,"nodeType":883},{"uri":48106},[88525],{"data":88526,"marks":88527,"value":88529,"nodeType":864},{},[88528],{"type":1455},"you should check out our blog post on AitM and BitM phishing techniques",{"data":88531,"marks":88532,"value":35977,"nodeType":864},{},[],{"data":88534,"content":88535,"nodeType":1009},{},[88536],{"data":88537,"marks":88538,"value":88539,"nodeType":864},{},[],"Case study: Snowflake",{"data":88541,"content":88542,"nodeType":860},{},[88543,88546,88553],{"data":88544,"marks":88545,"value":2761,"nodeType":864},{},[],{"data":88547,"content":88548,"nodeType":883},{"uri":6300},[88549],{"data":88550,"marks":88551,"value":88552,"nodeType":864},{},[],"recent attacks on 165 Snowflake customers",{"data":88554,"marks":88555,"value":88556,"nodeType":864},{},[],", resulting in hundreds of millions of breached customer records, were the product of a credential stuffing campaign using stolen credentials from infostealer infections dating back to 2020. ",{"data":88558,"content":88559,"nodeType":860},{},[88560],{"data":88561,"marks":88562,"value":88563,"nodeType":864},{},[],"The industry response to Snowflake was typical: check whether Snowflake has been set up for SSO, and if so, job done — we’re protected by MFA.",{"data":88565,"content":88566,"nodeType":860},{},[88567],{"data":88568,"marks":88569,"value":88570,"nodeType":864},{},[],"The reality was that MFA was not — and could not — be centrally enforced for username and password accounts. Even if MFA was applied at the IdP level for SSO logins, it was not enforced for local username and password logins. It needed to be opted-into by the user. ",{"data":88572,"content":88573,"nodeType":860},{},[88574,88578,88585],{"data":88575,"marks":88576,"value":88577,"nodeType":864},{},[],"This meant the most logical thing to do was to disable local accounts. But because Snowflake is essentially a cloud-hosted SQL database, there was no easy-to-use GUI to access local account config data. Once you’d managed to get an admin account with the right permissions, you needed to run various commands to find and unset the accounts. ",{"data":88579,"content":88580,"nodeType":883},{"uri":87669},[88581],{"data":88582,"marks":88583,"value":88584,"nodeType":864},{},[],"But if you didn’t have the exact type of admin account, misleading results would be returned — and even after you had fixed the vulnerability it took hours to update the database. ",{"data":88586,"marks":88587,"value":21,"nodeType":864},{},[],{"data":88589,"content":88590,"nodeType":860},{},[88591],{"data":88592,"marks":88593,"value":88594,"nodeType":864},{},[],"This meant that organizations were exposed to these attacks for a prolonged period, and were left uncertain as to whether they had addressed the vulnerabilities or not. ",{"data":88596,"content":88597,"nodeType":1009},{},[88598],{"data":88599,"marks":88600,"value":88601,"nodeType":864},{},[],"Using Push to find and fix ghost logins across your app inventory",{"data":88603,"content":88604,"nodeType":860},{},[88605],{"data":88606,"marks":88607,"value":88608,"nodeType":864},{},[],"Finding and fixing ghost logins is a challenge for most organizations. Since you can’t rely on the view provided by your IdP, you need to:",{"data":88610,"content":88611,"nodeType":941},{},[88612,88622,88632],{"data":88613,"content":88614,"nodeType":945},{},[88615],{"data":88616,"content":88617,"nodeType":860},{},[88618],{"data":88619,"marks":88620,"value":88621,"nodeType":864},{},[],"Discover the apps in use across your organization",{"data":88623,"content":88624,"nodeType":945},{},[88625],{"data":88626,"content":88627,"nodeType":860},{},[88628],{"data":88629,"marks":88630,"value":88631,"nodeType":864},{},[],"Get admin rights, audit each app, and unset any local credentials (enforcing MFA at the app-level too if you can, for good measure)",{"data":88633,"content":88634,"nodeType":945},{},[88635],{"data":88636,"content":88637,"nodeType":860},{},[88638],{"data":88639,"marks":88640,"value":88641,"nodeType":864},{},[],"Configure the app to prevent local accounts being created (again, if possible)",{"data":88643,"content":88644,"nodeType":860},{},[88645],{"data":88646,"marks":88647,"value":88648,"nodeType":864},{},[],"Not only is this a sisyphean task with continually moving goalposts, but depending on which apps you use, and how they’ve been designed, it may not be possible to remediate every instance of ghost logins. For that reason, it’s important to also invest in your identity threat detection and response capabilities — for when, not if, an account takeover attempt occurs. ",{"data":88650,"content":88651,"nodeType":860},{},[88652,88656,88665],{"data":88653,"marks":88654,"value":88655,"nodeType":864},{},[],"Push helps organizations to defend against ghost logins and other identity threats with a defense-in-depth approach: Using a browser-based agent to generate visibility of all logins (not just via IdP logs) while also detecting, intercepting, and shutting down account takeover attempts via phishing, credential stuffing, and session hijacking. ",{"data":88657,"content":88659,"nodeType":883},{"uri":88658},"https://pushsecurity.com/",[88660],{"data":88661,"marks":88662,"value":88664,"nodeType":864},{},[88663],{"type":1455},"Learn more here.",{"data":88666,"marks":88667,"value":21,"nodeType":864},{},[],{"data":88669,"content":88670,"nodeType":860},{},[88671,88675,88682],{"data":88672,"marks":88673,"value":88674,"nodeType":864},{},[],"And if you'd like to learn more about ghost logins and other identity attack techniques, ",{"data":88676,"content":88677,"nodeType":883},{"uri":49733},[88678],{"data":88679,"marks":88680,"value":88681,"nodeType":864},{},[],"check out the SaaS attack matrix on GitHub",{"data":88683,"marks":88684,"value":1774,"nodeType":864},{},[],{"data":88686,"content":88690,"nodeType":996},{"target":88687},{"sys":88688},{"id":88689,"type":1001,"linkType":1002},"1VMpMgZvx9hgps2OoxCTmF",[],{"data":88692,"content":88693,"nodeType":860},{},[88694],{"data":88695,"marks":88696,"value":21,"nodeType":864},{},[],"Ghost logins: When forgotten identities come back to haunt you","How ghost logins can be used by cyber attackers for account takeover and persistence.","2024-07-10T00:00:00.000Z","ghost-logins-when-forgotten-identities-come-back-to-haunt-you",{"items":88702},[88703,88705],{"sys":88704,"name":6593},{"id":6592},{"sys":88706,"name":342},{"id":6596},{"items":88708},[88709],{"fullName":2736,"firstName":2737,"jobTitle":2738,"profilePicture":88710},{"url":2740},{"__typename":2059,"sys":88712,"content":88713,"title":42779,"synopsis":42780,"hashTags":59,"publishedDate":42781,"slug":42782,"tagsCollection":88987,"authorsCollection":88993},{"id":42465},{"json":88714},{"data":88715,"content":88716,"nodeType":856},{},[88717,88723,88739,88752,88758,88764,88767,88773,88779,88827,88833,88838,88841,88847,88853,88859,88865,88871,88885,88890,88896,88902,88916,88921,88927,88933,88939,88945,88951,88954,88960,88976,88981],{"data":88718,"content":88719,"nodeType":1009},{},[88720],{"data":88721,"marks":88722,"value":42476,"nodeType":864},{},[],{"data":88724,"content":88725,"nodeType":860},{},[88726,88729,88736],{"data":88727,"marks":88728,"value":42483,"nodeType":864},{},[],{"data":88730,"content":88731,"nodeType":883},{"uri":7425},[88732],{"data":88733,"marks":88734,"value":42491,"nodeType":864},{},[88735],{"type":1455},{"data":88737,"marks":88738,"value":12252,"nodeType":864},{},[],{"data":88740,"content":88741,"nodeType":860},{},[88742,88745,88749],{"data":88743,"marks":88744,"value":42501,"nodeType":864},{},[],{"data":88746,"marks":88747,"value":42506,"nodeType":864},{},[88748],{"type":1455},{"data":88750,"marks":88751,"value":42510,"nodeType":864},{},[],{"data":88753,"content":88754,"nodeType":860},{},[88755],{"data":88756,"marks":88757,"value":42517,"nodeType":864},{},[],{"data":88759,"content":88760,"nodeType":860},{},[88761],{"data":88762,"marks":88763,"value":42524,"nodeType":864},{},[],{"data":88765,"content":88766,"nodeType":1005},{},[],{"data":88768,"content":88769,"nodeType":1312},{},[88770],{"data":88771,"marks":88772,"value":42534,"nodeType":864},{},[],{"data":88774,"content":88775,"nodeType":860},{},[88776],{"data":88777,"marks":88778,"value":42541,"nodeType":864},{},[],{"data":88780,"content":88781,"nodeType":941},{},[88782,88791,88800,88809,88818],{"data":88783,"content":88784,"nodeType":945},{},[88785],{"data":88786,"content":88787,"nodeType":860},{},[88788],{"data":88789,"marks":88790,"value":42554,"nodeType":864},{},[],{"data":88792,"content":88793,"nodeType":945},{},[88794],{"data":88795,"content":88796,"nodeType":860},{},[88797],{"data":88798,"marks":88799,"value":42564,"nodeType":864},{},[],{"data":88801,"content":88802,"nodeType":945},{},[88803],{"data":88804,"content":88805,"nodeType":860},{},[88806],{"data":88807,"marks":88808,"value":42574,"nodeType":864},{},[],{"data":88810,"content":88811,"nodeType":945},{},[88812],{"data":88813,"content":88814,"nodeType":860},{},[88815],{"data":88816,"marks":88817,"value":42584,"nodeType":864},{},[],{"data":88819,"content":88820,"nodeType":945},{},[88821],{"data":88822,"content":88823,"nodeType":860},{},[88824],{"data":88825,"marks":88826,"value":42594,"nodeType":864},{},[],{"data":88828,"content":88829,"nodeType":860},{},[88830],{"data":88831,"marks":88832,"value":42601,"nodeType":864},{},[],{"data":88834,"content":88837,"nodeType":996},{"target":88835},{"sys":88836},{"id":42606,"type":1001,"linkType":1002},[],{"data":88839,"content":88840,"nodeType":1005},{},[],{"data":88842,"content":88843,"nodeType":1312},{},[88844],{"data":88845,"marks":88846,"value":42617,"nodeType":864},{},[],{"data":88848,"content":88849,"nodeType":860},{},[88850],{"data":88851,"marks":88852,"value":42624,"nodeType":864},{},[],{"data":88854,"content":88855,"nodeType":860},{},[88856],{"data":88857,"marks":88858,"value":42631,"nodeType":864},{},[],{"data":88860,"content":88861,"nodeType":860},{},[88862],{"data":88863,"marks":88864,"value":42638,"nodeType":864},{},[],{"data":88866,"content":88867,"nodeType":860},{},[88868],{"data":88869,"marks":88870,"value":42645,"nodeType":864},{},[],{"data":88872,"content":88873,"nodeType":1312},{},[88874,88877,88882],{"data":88875,"marks":88876,"value":42652,"nodeType":864},{},[],{"data":88878,"marks":88879,"value":42658,"nodeType":864},{},[88880,88881],{"type":1455},{"type":899},{"data":88883,"marks":88884,"value":42662,"nodeType":864},{},[],{"data":88886,"content":88889,"nodeType":996},{"target":88887},{"sys":88888},{"id":42667,"type":1001,"linkType":1002},[],{"data":88891,"content":88892,"nodeType":860},{},[88893],{"data":88894,"marks":88895,"value":42675,"nodeType":864},{},[],{"data":88897,"content":88898,"nodeType":860},{},[88899],{"data":88900,"marks":88901,"value":42682,"nodeType":864},{},[],{"data":88903,"content":88904,"nodeType":1312},{},[88905,88908,88913],{"data":88906,"marks":88907,"value":42689,"nodeType":864},{},[],{"data":88909,"marks":88910,"value":3053,"nodeType":864},{},[88911,88912],{"type":1455},{"type":899},{"data":88914,"marks":88915,"value":42698,"nodeType":864},{},[],{"data":88917,"content":88920,"nodeType":996},{"target":88918},{"sys":88919},{"id":42703,"type":1001,"linkType":1002},[],{"data":88922,"content":88923,"nodeType":860},{},[88924],{"data":88925,"marks":88926,"value":42711,"nodeType":864},{},[],{"data":88928,"content":88929,"nodeType":860},{},[88930],{"data":88931,"marks":88932,"value":42718,"nodeType":864},{},[],{"data":88934,"content":88935,"nodeType":860},{},[88936],{"data":88937,"marks":88938,"value":42725,"nodeType":864},{},[],{"data":88940,"content":88941,"nodeType":860},{},[88942],{"data":88943,"marks":88944,"value":42732,"nodeType":864},{},[],{"data":88946,"content":88947,"nodeType":860},{},[88948],{"data":88949,"marks":88950,"value":42739,"nodeType":864},{},[],{"data":88952,"content":88953,"nodeType":1005},{},[],{"data":88955,"content":88956,"nodeType":1009},{},[88957],{"data":88958,"marks":88959,"value":42749,"nodeType":864},{},[],{"data":88961,"content":88962,"nodeType":860},{},[88963,88966,88973],{"data":88964,"marks":88965,"value":42756,"nodeType":864},{},[],{"data":88967,"content":88968,"nodeType":883},{"uri":5642},[88969],{"data":88970,"marks":88971,"value":35582,"nodeType":864},{},[88972],{"type":1455},{"data":88974,"marks":88975,"value":35977,"nodeType":864},{},[],{"data":88977,"content":88980,"nodeType":996},{"target":88978},{"sys":88979},{"id":42771,"type":1001,"linkType":1002},[],{"data":88982,"content":88983,"nodeType":860},{},[88984],{"data":88985,"marks":88986,"value":21,"nodeType":864},{},[],{"items":88988},[88989,88991],{"sys":88990,"name":6593},{"id":6592},{"sys":88992,"name":342},{"id":6596},{"items":88994},[88995],{"fullName":4878,"firstName":4879,"jobTitle":851,"profilePicture":88996},{"url":4881},"blog/cross-idp-impersonation",{"json":88999},{"data":89000,"content":89001,"nodeType":856},{},[89002],{"data":89003,"content":89004,"nodeType":860},{},[89005],{"data":89006,"marks":89007,"value":89008,"nodeType":864},{},[],"Cross-IdP impersonation is a growing trend as a method of hijacking SSO to access downstream apps — without needing to compromise accounts on your company’s main IdP. ",{"id":84598,"publishedAt":89010},"2026-08-12T11:54:49.043Z",{"items":89012},[89013,89015],{"sys":89014,"name":6593},{"id":6592},{"sys":89016,"name":342},{"id":6596},{"items":89018},[89019,89021,89023,89025,89027,89029,89031,89033,89035,89037,89039],{"sys":89020,"name":279,"slug":280,"tier":31},{"id":276},{"sys":89022,"name":413,"slug":414,"tier":31},{"id":410},{"sys":89024,"name":545,"slug":546,"tier":31},{"id":542},{"sys":89026,"name":519,"slug":520,"tier":31},{"id":516},{"sys":89028,"name":395,"slug":396,"tier":45},{"id":392},{"sys":89030,"name":607,"slug":608,"tier":45},{"id":604},{"sys":89032,"name":466,"slug":467,"tier":45},{"id":463},{"sys":89034,"name":324,"slug":325,"tier":45},{"id":321},{"sys":89036,"name":484,"slug":485,"tier":45},{"id":481},{"sys":89038,"name":457,"slug":458,"tier":45},{"id":454},{"sys":89040,"name":493,"slug":494,"tier":45},{"id":490},"q2canFjajmFQA8xZKpztcW90H_hRgA-e1JkBNQ9F9SU",{"id":89043,"title":79736,"authorsCollection":89044,"content":89048,"extension":228,"faqItemsCollection":89346,"faqTitle":59,"featured":6,"hashTags":59,"meta":89348,"metaTitle":89349,"ogImage":59,"postType":79438,"publishedDate":79738,"relatedBlogPostsCollection":89350,"slug":79739,"stem":90290,"subtitle":59,"summary":90291,"synopsis":79737,"sys":90302,"tagsCollection":90304,"topicsCollection":90310,"__hash__":90324},"blog/blog/product-release-november-2024.json",{"items":89045},[89046],{"fullName":79005,"firstName":79006,"jobTitle":79007,"socialLinks":59,"profilePicture":89047},{"url":79009},{"json":89049,"links":89307},{"data":89050,"content":89051,"nodeType":856},{},[89052,89058,89088,89094,89107,89120,89159,89164,89170,89187,89193,89206,89219,89224,89237,89254,89260,89273,89279,89285,89290],{"data":89053,"content":89054,"nodeType":1009},{},[89055],{"data":89056,"marks":89057,"value":79020,"nodeType":864},{},[],{"data":89059,"content":89060,"nodeType":941},{},[89061,89070,89079],{"data":89062,"content":89063,"nodeType":945},{},[89064],{"data":89065,"content":89066,"nodeType":860},{},[89067],{"data":89068,"marks":89069,"value":79467,"nodeType":864},{},[],{"data":89071,"content":89072,"nodeType":945},{},[89073],{"data":89074,"content":89075,"nodeType":860},{},[89076],{"data":89077,"marks":89078,"value":79477,"nodeType":864},{},[],{"data":89080,"content":89081,"nodeType":945},{},[89082],{"data":89083,"content":89084,"nodeType":860},{},[89085],{"data":89086,"marks":89087,"value":79487,"nodeType":864},{},[],{"data":89089,"content":89090,"nodeType":1009},{},[89091],{"data":89092,"marks":89093,"value":79467,"nodeType":864},{},[],{"data":89095,"content":89096,"nodeType":860},{},[89097,89100,89104],{"data":89098,"marks":89099,"value":79500,"nodeType":864},{},[],{"data":89101,"marks":89102,"value":79505,"nodeType":864},{},[89103],{"type":899},{"data":89105,"marks":89106,"value":74364,"nodeType":864},{},[],{"data":89108,"content":89109,"nodeType":860},{},[89110,89113,89117],{"data":89111,"marks":89112,"value":79515,"nodeType":864},{},[],{"data":89114,"marks":89115,"value":79505,"nodeType":864},{},[89116],{"type":899},{"data":89118,"marks":89119,"value":79523,"nodeType":864},{},[],{"data":89121,"content":89122,"nodeType":941},{},[89123,89132,89141,89150],{"data":89124,"content":89125,"nodeType":945},{},[89126],{"data":89127,"content":89128,"nodeType":860},{},[89129],{"data":89130,"marks":89131,"value":79536,"nodeType":864},{},[],{"data":89133,"content":89134,"nodeType":945},{},[89135],{"data":89136,"content":89137,"nodeType":860},{},[89138],{"data":89139,"marks":89140,"value":79546,"nodeType":864},{},[],{"data":89142,"content":89143,"nodeType":945},{},[89144],{"data":89145,"content":89146,"nodeType":860},{},[89147],{"data":89148,"marks":89149,"value":79556,"nodeType":864},{},[],{"data":89151,"content":89152,"nodeType":945},{},[89153],{"data":89154,"content":89155,"nodeType":860},{},[89156],{"data":89157,"marks":89158,"value":79566,"nodeType":864},{},[],{"data":89160,"content":89163,"nodeType":996},{"target":89161},{"sys":89162},{"id":79571,"type":1001,"linkType":1002},[],{"data":89165,"content":89166,"nodeType":860},{},[89167],{"data":89168,"marks":89169,"value":79579,"nodeType":864},{},[],{"data":89171,"content":89172,"nodeType":860},{},[89173,89176,89184],{"data":89174,"marks":89175,"value":21,"nodeType":864},{},[],{"data":89177,"content":89180,"nodeType":27604},{"target":89178},{"sys":89179},{"id":79590,"type":1001,"linkType":1002},[89181],{"data":89182,"marks":89183,"value":30213,"nodeType":864},{},[],{"data":89185,"marks":89186,"value":21,"nodeType":864},{},[],{"data":89188,"content":89189,"nodeType":1009},{},[89190],{"data":89191,"marks":89192,"value":79477,"nodeType":864},{},[],{"data":89194,"content":89195,"nodeType":860},{},[89196,89199,89203],{"data":89197,"marks":89198,"value":79610,"nodeType":864},{},[],{"data":89200,"marks":89201,"value":79615,"nodeType":864},{},[89202],{"type":899},{"data":89204,"marks":89205,"value":79619,"nodeType":864},{},[],{"data":89207,"content":89208,"nodeType":860},{},[89209,89212,89216],{"data":89210,"marks":89211,"value":79626,"nodeType":864},{},[],{"data":89213,"marks":89214,"value":79631,"nodeType":864},{},[89215],{"type":899},{"data":89217,"marks":89218,"value":79635,"nodeType":864},{},[],{"data":89220,"content":89223,"nodeType":996},{"target":89221},{"sys":89222},{"id":79640,"type":1001,"linkType":1002},[],{"data":89225,"content":89226,"nodeType":860},{},[89227,89230,89234],{"data":89228,"marks":89229,"value":79648,"nodeType":864},{},[],{"data":89231,"marks":89232,"value":79653,"nodeType":864},{},[89233],{"type":899},{"data":89235,"marks":89236,"value":79657,"nodeType":864},{},[],{"data":89238,"content":89239,"nodeType":860},{},[89240,89243,89251],{"data":89241,"marks":89242,"value":21,"nodeType":864},{},[],{"data":89244,"content":89247,"nodeType":27604},{"target":89245},{"sys":89246},{"id":79668,"type":1001,"linkType":1002},[89248],{"data":89249,"marks":89250,"value":30213,"nodeType":864},{},[],{"data":89252,"marks":89253,"value":21,"nodeType":864},{},[],{"data":89255,"content":89256,"nodeType":1009},{},[89257],{"data":89258,"marks":89259,"value":79487,"nodeType":864},{},[],{"data":89261,"content":89262,"nodeType":860},{},[89263,89266,89270],{"data":89264,"marks":89265,"value":79688,"nodeType":864},{},[],{"data":89267,"marks":89268,"value":79693,"nodeType":864},{},[89269],{"type":899},{"data":89271,"marks":89272,"value":79697,"nodeType":864},{},[],{"data":89274,"content":89275,"nodeType":860},{},[89276],{"data":89277,"marks":89278,"value":79704,"nodeType":864},{},[],{"data":89280,"content":89281,"nodeType":860},{},[89282],{"data":89283,"marks":89284,"value":79711,"nodeType":864},{},[],{"data":89286,"content":89289,"nodeType":996},{"target":89287},{"sys":89288},{"id":79716,"type":1001,"linkType":1002},[],{"data":89291,"content":89292,"nodeType":860},{},[89293,89296,89304],{"data":89294,"marks":89295,"value":21,"nodeType":864},{},[],{"data":89297,"content":89300,"nodeType":27604},{"target":89298},{"sys":89299},{"id":79728,"type":1001,"linkType":1002},[89301],{"data":89302,"marks":89303,"value":30213,"nodeType":864},{},[],{"data":89305,"marks":89306,"value":21,"nodeType":864},{},[],{"entries":89308},{"inline":89309,"hyperlink":89310,"block":89326},[],[89311,89316,89321],{"sys":89312,"__typename":79413,"title":89313,"slug":89314,"articleId":89315},{"id":79590},"How to create a rule for app banners","how-to-create-a-configuration-rule-for-app-banners",10125,{"sys":89317,"__typename":79413,"title":89318,"slug":89319,"articleId":89320},{"id":79668},"Can Push identify which password managers employees are using?","how-does-push-determine-if-an-employee-is-using-a-password-manager",10085,{"sys":89322,"__typename":79413,"title":89323,"slug":89324,"articleId":89325},{"id":79728},"How do I add employees to a group in Push?","how-do-i-add-employees-to-a-group-in-push",10122,[89327,89333,89340],{"sys":89328,"__typename":1724,"title":89329,"caption":59,"layoutMode":59,"file":89330},{"id":79571},"Control config rules - Rule editor slideout - KB 10125",{"url":89331,"width":45633,"height":89332},"https://images.ctfassets.net/y1cdw1ablpvd/5JtnRhF0ti8Ccz2jgotTf9/c0f1a797410d7807b44df56ad6b9bc67/config_rule_slideout_20241007.png",802,{"sys":89334,"__typename":1724,"title":89335,"caption":59,"layoutMode":59,"file":89336},{"id":79640},"Password manager ID slideout - KB 10085",{"url":89337,"width":89338,"height":89339},"https://images.ctfassets.net/y1cdw1ablpvd/2TXkTX9SUzHiK3zFkDgH1Q/ac7bd0cfaca45e46a8a511826e703af2/password_manager_id_slideout_20241106.png",1402,1574,{"sys":89341,"__typename":1724,"title":89342,"caption":59,"layoutMode":59,"file":89343},{"id":79716},"Employee group slideout details - KB 10122",{"url":89344,"width":89345,"height":79428},"https://images.ctfassets.net/y1cdw1ablpvd/38AwxboHYYNRjclMmLVd8j/d0fc4391a1937d2875932875ac3b8982/employee_groups_slideout_20241007.png",701,{"items":89347},[],{},"Push Security new product features for November 2024",{"items":89351},[89352,89851],{"__typename":2059,"sys":89353,"content":89355,"title":89837,"synopsis":89838,"hashTags":59,"publishedDate":89839,"slug":89840,"tagsCollection":89841,"authorsCollection":89847},{"id":89354},"eyUyEsAObqyzg68JradWU",{"json":89356},{"data":89357,"content":89358,"nodeType":856},{},[89359,89366,89429,89436,89460,89475,89481,89499,89506,89535,89542,89561,89568,89606,89613,89619,89638,89645,89661,89676,89682,89699,89706,89722,89754,89759,89777,89784,89809,89825,89831],{"data":89360,"content":89361,"nodeType":1312},{},[89362],{"data":89363,"marks":89364,"value":89365,"nodeType":864},{},[],"What’s new this month:",{"data":89367,"content":89368,"nodeType":941},{},[89369,89379,89389,89399,89409,89419],{"data":89370,"content":89371,"nodeType":945},{},[89372],{"data":89373,"content":89374,"nodeType":860},{},[89375],{"data":89376,"marks":89377,"value":89378,"nodeType":864},{},[],"New Events page",{"data":89380,"content":89381,"nodeType":945},{},[89382],{"data":89383,"content":89384,"nodeType":860},{},[89385],{"data":89386,"marks":89387,"value":89388,"nodeType":864},{},[],"Arc browser support",{"data":89390,"content":89391,"nodeType":945},{},[89392],{"data":89393,"content":89394,"nodeType":860},{},[89395],{"data":89396,"marks":89397,"value":89398,"nodeType":864},{},[],"Warn and block modes for phishing tool detection",{"data":89400,"content":89401,"nodeType":945},{},[89402],{"data":89403,"content":89404,"nodeType":860},{},[89405],{"data":89406,"marks":89407,"value":89408,"nodeType":864},{},[],"Admin audit events now available",{"data":89410,"content":89411,"nodeType":945},{},[89412],{"data":89413,"content":89414,"nodeType":860},{},[89415],{"data":89416,"marks":89417,"value":89418,"nodeType":864},{},[],"Add custom labels to apps",{"data":89420,"content":89421,"nodeType":945},{},[89422],{"data":89423,"content":89424,"nodeType":860},{},[89425],{"data":89426,"marks":89427,"value":89428,"nodeType":864},{},[],"Improved Browsers page",{"data":89430,"content":89431,"nodeType":1312},{},[89432],{"data":89433,"marks":89434,"value":89435,"nodeType":864},{},[],"Get a snapshot of your Push activity with Events",{"data":89437,"content":89438,"nodeType":860},{},[89439,89443,89447,89451,89456],{"data":89440,"marks":89441,"value":89442,"nodeType":864},{},[],"To help you visualize and plan how you can use Push telemetry, we now provide an ",{"data":89444,"marks":89445,"value":28609,"nodeType":864},{},[89446],{"type":899},{"data":89448,"marks":89449,"value":89450,"nodeType":864},{},[]," page in the Push admin console. It shows a rolling ",{"data":89452,"marks":89453,"value":89455,"nodeType":864},{},[89454],{"type":899},"7-day snapshot of all the events in your environment",{"data":89457,"marks":89458,"value":89459,"nodeType":864},{},[],", including security controls being activated, new apps being discovered, and more.",{"data":89461,"content":89462,"nodeType":860},{},[89463,89467,89472],{"data":89464,"marks":89465,"value":89466,"nodeType":864},{},[],"Click on an event to see its attributes and then ingest this data into your SIEM or other platform to create your own ",{"data":89468,"marks":89469,"value":89471,"nodeType":864},{},[89470],{"type":899},"custom detections or automations",{"data":89473,"marks":89474,"value":2924,"nodeType":864},{},[],{"data":89476,"content":89480,"nodeType":996},{"target":89477},{"sys":89478},{"id":89479,"type":1001,"linkType":1002},"2a3bJ5sN8dJ0c1kQtZiag7",[],{"data":89482,"content":89483,"nodeType":860},{},[89484,89487,89496],{"data":89485,"marks":89486,"value":21,"nodeType":864},{},[],{"data":89488,"content":89492,"nodeType":27604},{"target":89489},{"sys":89490},{"id":89491,"type":1001,"linkType":1002},"20FcoPvHu7zXkTQyv9MmK0",[89493],{"data":89494,"marks":89495,"value":30213,"nodeType":864},{},[],{"data":89497,"marks":89498,"value":21,"nodeType":864},{},[],{"data":89500,"content":89501,"nodeType":1312},{},[89502],{"data":89503,"marks":89504,"value":89505,"nodeType":864},{},[],"Push now supports Arc browser",{"data":89507,"content":89508,"nodeType":860},{},[89509,89513,89518,89522,89532],{"data":89510,"marks":89511,"value":89512,"nodeType":864},{},[],"In keeping with our philosophy of securing users wherever they like to work, we’ve added support for the ",{"data":89514,"marks":89515,"value":89517,"nodeType":864},{},[89516],{"type":899},"increasingly popular Arc browser",{"data":89519,"marks":89520,"value":89521,"nodeType":864},{},[],". You can now install the Push browser agent on Arc, and do a managed deployment to Arc on macOS using your MDM. (Push already supports all major browsers. You can find the list in our ",{"data":89523,"content":89527,"nodeType":27604},{"target":89524},{"sys":89525},{"id":89526,"type":1001,"linkType":1002},"2grGlYU1UQns5CKgLtGUMk",[89528],{"data":89529,"marks":89530,"value":89531,"nodeType":864},{},[],"Help Center",{"data":89533,"marks":89534,"value":1560,"nodeType":864},{},[],{"data":89536,"content":89537,"nodeType":860},{},[89538],{"data":89539,"marks":89540,"value":89541,"nodeType":864},{},[],"Are there other browsers you’d like Push to support? Let us know!",{"data":89543,"content":89544,"nodeType":860},{},[89545,89548,89558],{"data":89546,"marks":89547,"value":21,"nodeType":864},{},[],{"data":89549,"content":89553,"nodeType":27604},{"target":89550},{"sys":89551},{"id":89552,"type":1001,"linkType":1002},"6U8oU6ximN4fg27xrs3StI",[89554],{"data":89555,"marks":89556,"value":89557,"nodeType":864},{},[],"MDM documentation",{"data":89559,"marks":89560,"value":21,"nodeType":864},{},[],{"data":89562,"content":89563,"nodeType":1312},{},[89564],{"data":89565,"marks":89566,"value":89567,"nodeType":864},{},[],"Warn or block users when Push detects phishing toolkits",{"data":89569,"content":89570,"nodeType":860},{},[89571,89575,89579,89582,89586,89590,89594,89598,89603],{"data":89572,"marks":89573,"value":89574,"nodeType":864},{},[],"You can now set a ",{"data":89576,"marks":89577,"value":1503,"nodeType":864},{},[89578],{"type":899},{"data":89580,"marks":89581,"value":27405,"nodeType":864},{},[],{"data":89583,"marks":89584,"value":1397,"nodeType":864},{},[89585],{"type":899},{"data":89587,"marks":89588,"value":89589,"nodeType":864},{},[]," mode on Push’s ",{"data":89591,"marks":89592,"value":45608,"nodeType":864},{},[89593],{"type":899},{"data":89595,"marks":89596,"value":89597,"nodeType":864},{},[]," feature. Phishing toolkit detection identifies when employees visit webpages that use advanced phishing tools such as Evilginx, EvilNoVNC, and others. These adversary-in-the-middle (AitM) tools can mimic legitimate login screens, such as an Okta login page, to ",{"data":89599,"marks":89600,"value":89602,"nodeType":864},{},[89601],{"type":899},"steal credentials and MFA codes",{"data":89604,"marks":89605,"value":2924,"nodeType":864},{},[],{"data":89607,"content":89608,"nodeType":860},{},[89609],{"data":89610,"marks":89611,"value":89612,"nodeType":864},{},[],"When you configure a Warn or Block mode for this control, you can add your custom message to end-users on the warn/block page. Then get alerted to positive detections using Push’s webhook events.",{"data":89614,"content":89618,"nodeType":996},{"target":89615},{"sys":89616},{"id":89617,"type":1001,"linkType":1002},"1LdHJjTDlOiie5mctbAVvZ",[],{"data":89620,"content":89621,"nodeType":860},{},[89622,89625,89635],{"data":89623,"marks":89624,"value":21,"nodeType":864},{},[],{"data":89626,"content":89630,"nodeType":27604},{"target":89627},{"sys":89628},{"id":89629,"type":1001,"linkType":1002},"4EfGLsD4qOkE4AoTUoL83m",[89631],{"data":89632,"marks":89633,"value":89634,"nodeType":864},{},[],"How it works",{"data":89636,"marks":89637,"value":21,"nodeType":864},{},[],{"data":89639,"content":89640,"nodeType":1312},{},[89641],{"data":89642,"marks":89643,"value":89644,"nodeType":864},{},[],"Stay on top of admin actions",{"data":89646,"content":89647,"nodeType":860},{},[89648,89652,89657],{"data":89649,"marks":89650,"value":89651,"nodeType":864},{},[],"We recently added ",{"data":89653,"marks":89654,"value":89656,"nodeType":864},{},[89655],{"type":899},"events for administrative actions",{"data":89658,"marks":89659,"value":89660,"nodeType":864},{},[]," on the Push platform, so you can get visibility when admins assign or remove licenses, configure security controls, or add or remove API keys, among other actions. ",{"data":89662,"content":89663,"nodeType":860},{},[89664,89668,89672],{"data":89665,"marks":89666,"value":89667,"nodeType":864},{},[],"You’ll see admin events show up on the ",{"data":89669,"marks":89670,"value":28609,"nodeType":864},{},[89671],{"type":899},{"data":89673,"marks":89674,"value":89675,"nodeType":864},{},[]," page in the admin console. Send these events to your SIEM or other system to create custom alerts.",{"data":89677,"content":89681,"nodeType":996},{"target":89678},{"sys":89679},{"id":89680,"type":1001,"linkType":1002},"1qZHyxVEVFQs16kcIiufRm",[],{"data":89683,"content":89684,"nodeType":860},{},[89685,89688,89696],{"data":89686,"marks":89687,"value":21,"nodeType":864},{},[],{"data":89689,"content":89691,"nodeType":883},{"uri":89690},"https://pushsecurity.redoc.ly/webhooks-v1#tag/Audit",[89692],{"data":89693,"marks":89694,"value":89695,"nodeType":864},{},[],"See list of admin events",{"data":89697,"marks":89698,"value":21,"nodeType":864},{},[],{"data":89700,"content":89701,"nodeType":1312},{},[89702],{"data":89703,"marks":89704,"value":89705,"nodeType":864},{},[],"Custom labels to organize your app inventory",{"data":89707,"content":89708,"nodeType":860},{},[89709,89713,89718],{"data":89710,"marks":89711,"value":89712,"nodeType":864},{},[],"Create your own custom labels and apply them to apps in your inventory using our new ",{"data":89714,"marks":89715,"value":89717,"nodeType":864},{},[89716],{"type":899},"Labels",{"data":89719,"marks":89720,"value":89721,"nodeType":864},{},[]," feature. This feature has been a popular request from customers, and we’re excited to get it into your hands. ",{"data":89723,"content":89724,"nodeType":860},{},[89725,89729,89734,89737,89742,89745,89750],{"data":89726,"marks":89727,"value":89728,"nodeType":864},{},[],"A few ideas on how you might want to use app labels: To designate what kind of data is stored in an app; to note the ",{"data":89730,"marks":89731,"value":89733,"nodeType":864},{},[89732],{"type":899},"confidentiality",{"data":89735,"marks":89736,"value":3731,"nodeType":864},{},[],{"data":89738,"marks":89739,"value":89741,"nodeType":864},{},[89740],{"type":899},"integrity",{"data":89743,"marks":89744,"value":2232,"nodeType":864},{},[],{"data":89746,"marks":89747,"value":89749,"nodeType":864},{},[89748],{"type":899},"availability status",{"data":89751,"marks":89752,"value":89753,"nodeType":864},{},[]," of an app; to capture whether an app is IT-managed, or anything else you can think of!",{"data":89755,"content":89758,"nodeType":996},{"target":89756},{"sys":89757},{"id":74742,"type":1001,"linkType":1002},[],{"data":89760,"content":89761,"nodeType":860},{},[89762,89765,89774],{"data":89763,"marks":89764,"value":21,"nodeType":864},{},[],{"data":89766,"content":89770,"nodeType":27604},{"target":89767},{"sys":89768},{"id":89769,"type":1001,"linkType":1002},"6vxd2k7cGU7ToDGI7goaur",[89771],{"data":89772,"marks":89773,"value":30213,"nodeType":864},{},[],{"data":89775,"marks":89776,"value":21,"nodeType":864},{},[],{"data":89778,"content":89779,"nodeType":1312},{},[89780],{"data":89781,"marks":89782,"value":89783,"nodeType":864},{},[],"Redesigned Browsers page",{"data":89785,"content":89786,"nodeType":860},{},[89787,89791,89796,89800,89805],{"data":89788,"marks":89789,"value":89790,"nodeType":864},{},[],"We’ve updated the ",{"data":89792,"marks":89793,"value":89795,"nodeType":864},{},[89794],{"type":899},"Browsers",{"data":89797,"marks":89798,"value":89799,"nodeType":864},{},[]," page in the admin console to make it possible to ",{"data":89801,"marks":89802,"value":89804,"nodeType":864},{},[89803],{"type":899},"filter and export the data",{"data":89806,"marks":89807,"value":89808,"nodeType":864},{},[],", as well as to help you better extract useful information about enrolled browsers, such as their extension version, first and last check-in dates, and browser types.",{"data":89810,"content":89811,"nodeType":860},{},[89812,89816,89821],{"data":89813,"marks":89814,"value":89815,"nodeType":864},{},[],"This page also now appears as a data table, similar to the other pages in the ",{"data":89817,"marks":89818,"value":89820,"nodeType":864},{},[89819],{"type":899},"Investigate",{"data":89822,"marks":89823,"value":89824,"nodeType":864},{},[]," section of the platform.",{"data":89826,"content":89830,"nodeType":996},{"target":89827},{"sys":89828},{"id":89829,"type":1001,"linkType":1002},"7yuZTKsdMSEIxK1RYtGNa",[],{"data":89832,"content":89833,"nodeType":860},{},[89834],{"data":89835,"marks":89836,"value":21,"nodeType":864},{},[],"Product release: July 2024","Here’s what’s new on the Push platform for July 2024.","2024-07-16T00:00:00.000Z","product-release-july-2024",{"items":89842},[89843,89845],{"sys":89844,"name":297},{"id":2732},{"sys":89846,"name":73498},{"id":73497},{"items":89848},[89849],{"fullName":79005,"firstName":79006,"jobTitle":79007,"profilePicture":89850},{"url":79009},{"__typename":2059,"sys":89852,"content":89854,"title":90278,"synopsis":90279,"hashTags":59,"publishedDate":90280,"slug":90281,"tagsCollection":90282,"authorsCollection":90286},{"id":89853},"liumWpzvwXGmwbtKrvJdO",{"json":89855},{"data":89856,"content":89857,"nodeType":856},{},[89858,89864,89924,89931,89947,89961,89968,89974,89992,89999,90014,90021,90027,90044,90051,90076,90091,90109,90116,90131,90147,90153,90171,90178,90202,90208,90225,90232,90261],{"data":89859,"content":89860,"nodeType":1312},{},[89861],{"data":89862,"marks":89863,"value":89365,"nodeType":864},{},[],{"data":89865,"content":89866,"nodeType":941},{},[89867,89876,89885,89895,89904,89914],{"data":89868,"content":89869,"nodeType":945},{},[89870],{"data":89871,"content":89872,"nodeType":860},{},[89873],{"data":89874,"marks":89875,"value":47996,"nodeType":864},{},[],{"data":89877,"content":89878,"nodeType":945},{},[89879],{"data":89880,"content":89881,"nodeType":860},{},[89882],{"data":89883,"marks":89884,"value":74079,"nodeType":864},{},[],{"data":89886,"content":89887,"nodeType":945},{},[89888],{"data":89889,"content":89890,"nodeType":860},{},[89891],{"data":89892,"marks":89893,"value":89894,"nodeType":864},{},[],"Session token theft detection",{"data":89896,"content":89897,"nodeType":945},{},[89898],{"data":89899,"content":89900,"nodeType":860},{},[89901],{"data":89902,"marks":89903,"value":74927,"nodeType":864},{},[],{"data":89905,"content":89906,"nodeType":945},{},[89907],{"data":89908,"content":89909,"nodeType":860},{},[89910],{"data":89911,"marks":89912,"value":89913,"nodeType":864},{},[],"Require a reason for app usage",{"data":89915,"content":89916,"nodeType":945},{},[89917],{"data":89918,"content":89919,"nodeType":860},{},[89920],{"data":89921,"marks":89922,"value":89923,"nodeType":864},{},[],"Expanded API and webhooks options",{"data":89925,"content":89926,"nodeType":1312},{},[89927],{"data":89928,"marks":89929,"value":89930,"nodeType":864},{},[],"Prevent SSO password reuse",{"data":89932,"content":89933,"nodeType":860},{},[89934,89938,89943],{"data":89935,"marks":89936,"value":89937,"nodeType":864},{},[],"Instead of trying to detect phishing websites and domains that constantly change, Push can now ",{"data":89939,"marks":89940,"value":89942,"nodeType":864},{},[89941],{"type":899},"detect (and block!) SSO password reuse",{"data":89944,"marks":89945,"value":89946,"nodeType":864},{},[]," based on directly observing user behavior in the browser.",{"data":89948,"content":89949,"nodeType":860},{},[89950,89953,89957],{"data":89951,"marks":89952,"value":31617,"nodeType":864},{},[],{"data":89954,"marks":89955,"value":47996,"nodeType":864},{},[89956],{"type":899},{"data":89958,"marks":89959,"value":89960,"nodeType":864},{},[]," feature detects and blocks when a user enters their identity provider password on a webpage that does not belong to the IdP (e.g. Okta, Google Workspace, Microsoft 365, etc.)",{"data":89962,"content":89963,"nodeType":860},{},[89964],{"data":89965,"marks":89966,"value":89967,"nodeType":864},{},[],"You can choose to warn or block SSO password reuse and customize the message that end-users see.",{"data":89969,"content":89973,"nodeType":996},{"target":89970},{"sys":89971},{"id":89972,"type":1001,"linkType":1002},"74l82HIeaumFX4u9AMjj79",[],{"data":89975,"content":89976,"nodeType":860},{},[89977,89980,89989],{"data":89978,"marks":89979,"value":21,"nodeType":864},{},[],{"data":89981,"content":89985,"nodeType":27604},{"target":89982},{"sys":89983},{"id":89984,"type":1001,"linkType":1002},"4UtRVoFElDduWJBx9Sa4Cw",[89986],{"data":89987,"marks":89988,"value":79249,"nodeType":864},{},[],{"data":89990,"marks":89991,"value":21,"nodeType":864},{},[],{"data":89993,"content":89994,"nodeType":1312},{},[89995],{"data":89996,"marks":89997,"value":89998,"nodeType":864},{},[],"Detect Adversary-in-the-Middle phishing toolkits",{"data":90000,"content":90001,"nodeType":860},{},[90002,90005,90010],{"data":90003,"marks":90004,"value":79626,"nodeType":864},{},[],{"data":90006,"marks":90007,"value":90009,"nodeType":864},{},[90008],{"type":899},"detect when employees visit websites that are using phishing toolkits",{"data":90011,"marks":90012,"value":90013,"nodeType":864},{},[]," such as EvilNoVNC and Evilginx. These tools can mimic legitimate login screens in order to steal credentials and bypass MFA.",{"data":90015,"content":90016,"nodeType":860},{},[90017],{"data":90018,"marks":90019,"value":90020,"nodeType":864},{},[],"Send detections to your SIEM or similar monitoring tool and add malicious sites to a blocklist in Push.",{"data":90022,"content":90026,"nodeType":996},{"target":90023},{"sys":90024},{"id":90025,"type":1001,"linkType":1002},"450I6V31ET3EbfgMiVBPBR",[],{"data":90028,"content":90029,"nodeType":860},{},[90030,90033,90041],{"data":90031,"marks":90032,"value":21,"nodeType":864},{},[],{"data":90034,"content":90037,"nodeType":27604},{"target":90035},{"sys":90036},{"id":28039,"type":1001,"linkType":1002},[90038],{"data":90039,"marks":90040,"value":30213,"nodeType":864},{},[],{"data":90042,"marks":90043,"value":21,"nodeType":864},{},[],{"data":90045,"content":90046,"nodeType":1312},{},[90047],{"data":90048,"marks":90049,"value":90050,"nodeType":864},{},[],"Identify session token theft ",{"data":90052,"content":90053,"nodeType":860},{},[90054,90058,90063,90067,90072],{"data":90055,"marks":90056,"value":90057,"nodeType":864},{},[],"You can now use the Push browser agent to ",{"data":90059,"marks":90060,"value":90062,"nodeType":864},{},[90061],{"type":899},"inject a unique marker to the user agent string",{"data":90064,"marks":90065,"value":90066,"nodeType":864},{},[]," of sessions that occur in browsers enrolled in Push. By analyzing logs from your identity provider (e.g. Okta, Microsoft 365, etc.) or other app, you can use the marker to help you ",{"data":90068,"marks":90069,"value":90071,"nodeType":864},{},[90070],{"type":899},"find suspicious activity that indicates a stolen session cookie",{"data":90073,"marks":90074,"value":90075,"nodeType":864},{},[]," in use.",{"data":90077,"content":90078,"nodeType":860},{},[90079,90083,90088],{"data":90080,"marks":90081,"value":90082,"nodeType":864},{},[],"Detecting session hijacking is extremely difficult when relying on device-based monitoring using EDR and network traffic. But by giving legitimate sessions a stamp of approval using the Push browser agent, you can easily ",{"data":90084,"marks":90085,"value":90087,"nodeType":864},{},[90086],{"type":899},"identify access to apps from untrusted devices",{"data":90089,"marks":90090,"value":2924,"nodeType":864},{},[],{"data":90092,"content":90093,"nodeType":860},{},[90094,90097,90106],{"data":90095,"marks":90096,"value":21,"nodeType":864},{},[],{"data":90098,"content":90102,"nodeType":27604},{"target":90099},{"sys":90100},{"id":90101,"type":1001,"linkType":1002},"1UMZdjyNQt4Y7NBb2wuK4L",[90103],{"data":90104,"marks":90105,"value":79249,"nodeType":864},{},[],{"data":90107,"marks":90108,"value":21,"nodeType":864},{},[],{"data":90110,"content":90111,"nodeType":1312},{},[90112],{"data":90113,"marks":90114,"value":90115,"nodeType":864},{},[],"Configure a custom blocklist of URLs",{"data":90117,"content":90118,"nodeType":860},{},[90119,90123,90127],{"data":90120,"marks":90121,"value":90122,"nodeType":864},{},[],"Prevent employees from visiting malicious sites you detect by configuring a custom blocklist of URLs in Push using the ",{"data":90124,"marks":90125,"value":74927,"nodeType":864},{},[90126],{"type":899},{"data":90128,"marks":90129,"value":90130,"nodeType":864},{},[]," feature. You can customize the message shown to end-users by adding your own links and instructions. Use Push’s REST API to programmatically manage URL blocking as part of responding to a phishing incident.",{"data":90132,"content":90133,"nodeType":860},{},[90134,90138,90143],{"data":90135,"marks":90136,"value":90137,"nodeType":864},{},[],"You can use this alongside other Push features like phishing tool detection to ",{"data":90139,"marks":90140,"value":90142,"nodeType":864},{},[90141],{"type":899},"block access to known-bad sites",{"data":90144,"marks":90145,"value":90146,"nodeType":864},{},[]," you find. ",{"data":90148,"content":90152,"nodeType":996},{"target":90149},{"sys":90150},{"id":90151,"type":1001,"linkType":1002},"1S7cuS7qo5jTcEg7RPPZu6",[],{"data":90154,"content":90155,"nodeType":860},{},[90156,90159,90168],{"data":90157,"marks":90158,"value":21,"nodeType":864},{},[],{"data":90160,"content":90164,"nodeType":27604},{"target":90161},{"sys":90162},{"id":90163,"type":1001,"linkType":1002},"P0coHgQAdRL0YTu4Rwd4z",[90165],{"data":90166,"marks":90167,"value":30213,"nodeType":864},{},[],{"data":90169,"marks":90170,"value":21,"nodeType":864},{},[],{"data":90172,"content":90173,"nodeType":1312},{},[90174],{"data":90175,"marks":90176,"value":90177,"nodeType":864},{},[],"Require end-users to submit a reason when using an app",{"data":90179,"content":90180,"nodeType":860},{},[90181,90185,90189,90193,90198],{"data":90182,"marks":90183,"value":90184,"nodeType":864},{},[],"We’ve expanded our popular app banners feature to include a ",{"data":90186,"marks":90187,"value":74973,"nodeType":864},{},[90188],{"type":899},{"data":90190,"marks":90191,"value":90192,"nodeType":864},{},[]," mode that allows you to configure a custom message and require employees to submit a reason ",{"data":90194,"marks":90195,"value":90197,"nodeType":864},{},[90196],{"type":899},"why they need to use a specific app",{"data":90199,"marks":90200,"value":90201,"nodeType":864},{},[]," before they can proceed to log in.",{"data":90203,"content":90207,"nodeType":996},{"target":90204},{"sys":90205},{"id":90206,"type":1001,"linkType":1002},"6Q7kU16LZdTm8RsyLy660J",[],{"data":90209,"content":90210,"nodeType":860},{},[90211,90214,90222],{"data":90212,"marks":90213,"value":21,"nodeType":864},{},[],{"data":90215,"content":90218,"nodeType":27604},{"target":90216},{"sys":90217},{"id":28356,"type":1001,"linkType":1002},[90219],{"data":90220,"marks":90221,"value":30213,"nodeType":864},{},[],{"data":90223,"marks":90224,"value":21,"nodeType":864},{},[],{"data":90226,"content":90227,"nodeType":1312},{},[90228],{"data":90229,"marks":90230,"value":90231,"nodeType":864},{},[],"Monitor ‘other apps’ list via Push API and webhooks",{"data":90233,"content":90234,"nodeType":860},{},[90235,90239,90244,90248,90257],{"data":90236,"marks":90237,"value":90238,"nodeType":864},{},[],"You can now keep a closer eye on ",{"data":90240,"marks":90241,"value":90243,"nodeType":864},{},[90242],{"type":899},"all new observed cloud apps",{"data":90245,"marks":90246,"value":90247,"nodeType":864},{},[]," by using the Push API and webhooks to notify you of new entries on the ",{"data":90249,"content":90252,"nodeType":27604},{"target":90250},{"sys":90251},{"id":79342,"type":1001,"linkType":1002},[90253],{"data":90254,"marks":90255,"value":90256,"nodeType":864},{},[],"“other apps” list",{"data":90258,"marks":90259,"value":90260,"nodeType":864},{},[]," or to retrieve specific details about accounts on these apps. The “other apps” list consists of apps accessed by employees that Push doesn’t recognize as work apps but that may still be relevant to your operations. ",{"data":90262,"content":90263,"nodeType":860},{},[90264,90267,90274],{"data":90265,"marks":90266,"value":21,"nodeType":864},{},[],{"data":90268,"content":90270,"nodeType":883},{"uri":90269},"https://pushsecurity.redoc.ly/rest-v1/",[90271],{"data":90272,"marks":90273,"value":30213,"nodeType":864},{},[],{"data":90275,"marks":90276,"value":90277,"nodeType":864},{},[],"\n","Product release: May 2024","Here’s what’s new on the Push platform for May 2024.","2024-05-22T00:00:00.000Z","product-release-may-2024",{"items":90283},[90284],{"sys":90285,"name":73498},{"id":73497},{"items":90287},[90288],{"fullName":79005,"firstName":79006,"jobTitle":79007,"profilePicture":90289},{"url":79009},"blog/product-release-november-2024",{"json":90292},{"data":90293,"content":90294,"nodeType":856},{},[90295],{"data":90296,"content":90297,"nodeType":860},{},[90298],{"data":90299,"marks":90300,"value":90301,"nodeType":864},{},[],"Easier management of app banners, learn which password managers employees use, and more",{"id":79444,"publishedAt":90303},"2026-08-12T11:54:51.954Z",{"items":90305},[90306,90308],{"sys":90307,"name":73498},{"id":73497},{"sys":90309,"name":297},{"id":2732},{"items":90311},[90312,90314,90316,90318,90320,90322],{"sys":90313,"name":297,"slug":298,"tier":31},{"id":294},{"sys":90315,"name":413,"slug":414,"tier":31},{"id":410},{"sys":90317,"name":545,"slug":546,"tier":31},{"id":542},{"sys":90319,"name":502,"slug":503,"tier":45},{"id":499},{"sys":90321,"name":422,"slug":423,"tier":45},{"id":419},{"sys":90323,"name":589,"slug":590,"tier":45},{"id":586},"qz-Eljy1r216eVkatvTzXr7j--1J0JgKYMFYLwZk39c",{"id":90326,"title":87864,"authorsCollection":90327,"content":90332,"extension":228,"faqItemsCollection":90783,"faqTitle":59,"featured":6,"hashTags":59,"meta":90785,"metaTitle":90786,"ogImage":90787,"postType":23466,"publishedDate":87866,"relatedBlogPostsCollection":90788,"slug":87867,"stem":92585,"subtitle":59,"summary":92586,"synopsis":87865,"sys":92596,"tagsCollection":92598,"topicsCollection":92604,"__hash__":92628},"blog/blog/learning-from-the-servicenow-disclosure.json",{"items":90328},[90329],{"fullName":2736,"firstName":2737,"jobTitle":2738,"socialLinks":90330,"profilePicture":90331},[11304],{"url":2740},{"json":90333,"links":90769},{"data":90334,"content":90335,"nodeType":856},{},[90336,90362,90378,90384,90390,90393,90400,90406,90426,90432,90437,90443,90449,90479,90482,90489,90495,90511,90514,90521,90527,90533,90538,90554,90557,90564,90580,90586,90592,90608,90611,90618,90624,90630,90636,90639,90646,90652,90668,90674,90680,90686,90692,90698,90701,90708,90714,90753],{"data":90337,"content":90338,"nodeType":860},{},[90339,90342,90349,90352,90359],{"data":90340,"marks":90341,"value":87372,"nodeType":864},{},[],{"data":90343,"content":90344,"nodeType":883},{"uri":6418},[90345],{"data":90346,"marks":90347,"value":5765,"nodeType":864},{},[90348],{"type":1455},{"data":90350,"marks":90351,"value":87383,"nodeType":864},{},[],{"data":90353,"content":90354,"nodeType":883},{"uri":6300},[90355],{"data":90356,"marks":90357,"value":48322,"nodeType":864},{},[90358],{"type":1455},{"data":90360,"marks":90361,"value":87394,"nodeType":864},{},[],{"data":90363,"content":90364,"nodeType":860},{},[90365,90368,90375],{"data":90366,"marks":90367,"value":87401,"nodeType":864},{},[],{"data":90369,"content":90370,"nodeType":883},{"uri":87404},[90371],{"data":90372,"marks":90373,"value":87410,"nodeType":864},{},[90374],{"type":1455},{"data":90376,"marks":90377,"value":87414,"nodeType":864},{},[],{"data":90379,"content":90380,"nodeType":860},{},[90381],{"data":90382,"marks":90383,"value":87421,"nodeType":864},{},[],{"data":90385,"content":90386,"nodeType":860},{},[90387],{"data":90388,"marks":90389,"value":87428,"nodeType":864},{},[],{"data":90391,"content":90392,"nodeType":1005},{},[],{"data":90394,"content":90395,"nodeType":1009},{},[90396],{"data":90397,"marks":90398,"value":87439,"nodeType":864},{},[90399],{"type":899},{"data":90401,"content":90402,"nodeType":860},{},[90403],{"data":90404,"marks":90405,"value":87446,"nodeType":864},{},[],{"data":90407,"content":90408,"nodeType":860},{},[90409,90412,90416,90419,90423],{"data":90410,"marks":90411,"value":87453,"nodeType":864},{},[],{"data":90413,"marks":90414,"value":87458,"nodeType":864},{},[90415],{"type":1455},{"data":90417,"marks":90418,"value":87462,"nodeType":864},{},[],{"data":90420,"marks":90421,"value":87467,"nodeType":864},{},[90422],{"type":899},{"data":90424,"marks":90425,"value":87471,"nodeType":864},{},[],{"data":90427,"content":90428,"nodeType":860},{},[90429],{"data":90430,"marks":90431,"value":87478,"nodeType":864},{},[],{"data":90433,"content":90436,"nodeType":996},{"target":90434},{"sys":90435},{"id":87483,"type":1001,"linkType":1002},[],{"data":90438,"content":90439,"nodeType":860},{},[90440],{"data":90441,"marks":90442,"value":87491,"nodeType":864},{},[],{"data":90444,"content":90445,"nodeType":860},{},[90446],{"data":90447,"marks":90448,"value":87498,"nodeType":864},{},[],{"data":90450,"content":90451,"nodeType":941},{},[90452,90461,90470],{"data":90453,"content":90454,"nodeType":945},{},[90455],{"data":90456,"content":90457,"nodeType":860},{},[90458],{"data":90459,"marks":90460,"value":87511,"nodeType":864},{},[],{"data":90462,"content":90463,"nodeType":945},{},[90464],{"data":90465,"content":90466,"nodeType":860},{},[90467],{"data":90468,"marks":90469,"value":87521,"nodeType":864},{},[],{"data":90471,"content":90472,"nodeType":945},{},[90473],{"data":90474,"content":90475,"nodeType":860},{},[90476],{"data":90477,"marks":90478,"value":87531,"nodeType":864},{},[],{"data":90480,"content":90481,"nodeType":1005},{},[],{"data":90483,"content":90484,"nodeType":1009},{},[90485],{"data":90486,"marks":90487,"value":87542,"nodeType":864},{},[90488],{"type":899},{"data":90490,"content":90491,"nodeType":860},{},[90492],{"data":90493,"marks":90494,"value":87549,"nodeType":864},{},[],{"data":90496,"content":90497,"nodeType":860},{},[90498,90501,90508],{"data":90499,"marks":90500,"value":87556,"nodeType":864},{},[],{"data":90502,"content":90503,"nodeType":883},{"uri":87559},[90504],{"data":90505,"marks":90506,"value":87565,"nodeType":864},{},[90507],{"type":1455},{"data":90509,"marks":90510,"value":87569,"nodeType":864},{},[],{"data":90512,"content":90513,"nodeType":1005},{},[],{"data":90515,"content":90516,"nodeType":1009},{},[90517],{"data":90518,"marks":90519,"value":87580,"nodeType":864},{},[90520],{"type":899},{"data":90522,"content":90523,"nodeType":860},{},[90524],{"data":90525,"marks":90526,"value":87587,"nodeType":864},{},[],{"data":90528,"content":90529,"nodeType":860},{},[90530],{"data":90531,"marks":90532,"value":87594,"nodeType":864},{},[],{"data":90534,"content":90537,"nodeType":996},{"target":90535},{"sys":90536},{"id":34399,"type":1001,"linkType":1002},[],{"data":90539,"content":90540,"nodeType":860},{},[90541,90544,90551],{"data":90542,"marks":90543,"value":87606,"nodeType":864},{},[],{"data":90545,"content":90546,"nodeType":883},{"uri":18533},[90547],{"data":90548,"marks":90549,"value":87614,"nodeType":864},{},[90550],{"type":1455},{"data":90552,"marks":90553,"value":12252,"nodeType":864},{},[],{"data":90555,"content":90556,"nodeType":1005},{},[],{"data":90558,"content":90559,"nodeType":1009},{},[90560],{"data":90561,"marks":90562,"value":87628,"nodeType":864},{},[90563],{"type":899},{"data":90565,"content":90566,"nodeType":860},{},[90567,90570,90577],{"data":90568,"marks":90569,"value":21,"nodeType":864},{},[],{"data":90571,"content":90572,"nodeType":883},{"uri":17701},[90573],{"data":90574,"marks":90575,"value":395,"nodeType":864},{},[90576],{"type":1455},{"data":90578,"marks":90579,"value":87645,"nodeType":864},{},[],{"data":90581,"content":90582,"nodeType":860},{},[90583],{"data":90584,"marks":90585,"value":87652,"nodeType":864},{},[],{"data":90587,"content":90588,"nodeType":860},{},[90589],{"data":90590,"marks":90591,"value":87659,"nodeType":864},{},[],{"data":90593,"content":90594,"nodeType":860},{},[90595,90598,90605],{"data":90596,"marks":90597,"value":87666,"nodeType":864},{},[],{"data":90599,"content":90600,"nodeType":883},{"uri":87669},[90601],{"data":90602,"marks":90603,"value":87675,"nodeType":864},{},[90604],{"type":1455},{"data":90606,"marks":90607,"value":87679,"nodeType":864},{},[],{"data":90609,"content":90610,"nodeType":1005},{},[],{"data":90612,"content":90613,"nodeType":1009},{},[90614],{"data":90615,"marks":90616,"value":61932,"nodeType":864},{},[90617],{"type":899},{"data":90619,"content":90620,"nodeType":860},{},[90621],{"data":90622,"marks":90623,"value":87696,"nodeType":864},{},[],{"data":90625,"content":90626,"nodeType":860},{},[90627],{"data":90628,"marks":90629,"value":87703,"nodeType":864},{},[],{"data":90631,"content":90632,"nodeType":860},{},[90633],{"data":90634,"marks":90635,"value":87710,"nodeType":864},{},[],{"data":90637,"content":90638,"nodeType":1005},{},[],{"data":90640,"content":90641,"nodeType":1009},{},[90642],{"data":90643,"marks":90644,"value":87721,"nodeType":864},{},[90645],{"type":899},{"data":90647,"content":90648,"nodeType":860},{},[90649],{"data":90650,"marks":90651,"value":87728,"nodeType":864},{},[],{"data":90653,"content":90654,"nodeType":860},{},[90655,90658,90665],{"data":90656,"marks":90657,"value":87735,"nodeType":864},{},[],{"data":90659,"content":90660,"nodeType":883},{"uri":87738},[90661],{"data":90662,"marks":90663,"value":87744,"nodeType":864},{},[90664],{"type":1455},{"data":90666,"marks":90667,"value":87748,"nodeType":864},{},[],{"data":90669,"content":90670,"nodeType":860},{},[90671],{"data":90672,"marks":90673,"value":87755,"nodeType":864},{},[],{"data":90675,"content":90676,"nodeType":860},{},[90677],{"data":90678,"marks":90679,"value":87762,"nodeType":864},{},[],{"data":90681,"content":90682,"nodeType":860},{},[90683],{"data":90684,"marks":90685,"value":87769,"nodeType":864},{},[],{"data":90687,"content":90688,"nodeType":860},{},[90689],{"data":90690,"marks":90691,"value":87776,"nodeType":864},{},[],{"data":90693,"content":90694,"nodeType":860},{},[90695],{"data":90696,"marks":90697,"value":87783,"nodeType":864},{},[],{"data":90699,"content":90700,"nodeType":1005},{},[],{"data":90702,"content":90703,"nodeType":1009},{},[90704],{"data":90705,"marks":90706,"value":87794,"nodeType":864},{},[90707],{"type":899},{"data":90709,"content":90710,"nodeType":860},{},[90711],{"data":90712,"marks":90713,"value":87801,"nodeType":864},{},[],{"data":90715,"content":90716,"nodeType":941},{},[90717,90726,90735,90744],{"data":90718,"content":90719,"nodeType":945},{},[90720],{"data":90721,"content":90722,"nodeType":860},{},[90723],{"data":90724,"marks":90725,"value":87814,"nodeType":864},{},[],{"data":90727,"content":90728,"nodeType":945},{},[90729],{"data":90730,"content":90731,"nodeType":860},{},[90732],{"data":90733,"marks":90734,"value":87824,"nodeType":864},{},[],{"data":90736,"content":90737,"nodeType":945},{},[90738],{"data":90739,"content":90740,"nodeType":860},{},[90741],{"data":90742,"marks":90743,"value":87834,"nodeType":864},{},[],{"data":90745,"content":90746,"nodeType":945},{},[90747],{"data":90748,"content":90749,"nodeType":860},{},[90750],{"data":90751,"marks":90752,"value":87844,"nodeType":864},{},[],{"data":90754,"content":90755,"nodeType":860},{},[90756,90759,90766],{"data":90757,"marks":90758,"value":87851,"nodeType":864},{},[],{"data":90760,"content":90761,"nodeType":883},{"uri":36813},[90762],{"data":90763,"marks":90764,"value":87859,"nodeType":864},{},[90765],{"type":1455},{"data":90767,"marks":90768,"value":87863,"nodeType":864},{},[],{"entries":90770},{"hyperlink":90771,"inline":90772,"block":90773},[],[],[90774,90780],{"sys":90775,"__typename":1724,"title":90776,"caption":90777,"layoutMode":59,"file":90778},{"id":87483},"ServiceNow attack path","Path to account takeover and data exfiltration in ServiceNow",{"url":90779,"width":80522,"height":80523},"https://images.ctfassets.net/y1cdw1ablpvd/1XDL4vk3y7qsXUhmrXFKPv/791cf7cb69b669a946ff378cda612eb5/ServiceNow_Attack_Path__1_.png",{"sys":90781,"__typename":1724,"title":80518,"caption":80519,"layoutMode":59,"file":90782},{"id":34399},{"url":80521,"width":80522,"height":80523},{"items":90784},[],{},"What we can learn from the ServiceNow/Microsoft disclosure",{"url":90779},{"items":90789},[90790,91520,91806],{"__typename":2059,"sys":90791,"content":90792,"title":83136,"synopsis":83137,"hashTags":59,"publishedDate":83138,"slug":83139,"tagsCollection":91510,"authorsCollection":91516},{"id":82316},{"json":90793},{"data":90794,"content":90795,"nodeType":856},{},[90796,90802,90808,90814,90819,90826,90832,90837,90843,90848,90854,90861,90867,90872,90878,90904,90910,90916,90946,90953,90959,90966,90973,90979,90985,91001,91007,91013,91019,91026,91032,91038,91068,91074,91122,91128,91134,91141,91147,91153,91159,91166,91172,91193,91199,91241,91247,91252,91258,91297,91303,91310,91316,91322,91348,91355,91361,91366,91372,91377,91383,91388,91394,91469,91475,91482,91488,91504],{"data":90797,"content":90798,"nodeType":860},{},[90799],{"data":90800,"marks":90801,"value":82327,"nodeType":864},{},[],{"data":90803,"content":90804,"nodeType":860},{},[90805],{"data":90806,"marks":90807,"value":82334,"nodeType":864},{},[],{"data":90809,"content":90810,"nodeType":860},{},[90811],{"data":90812,"marks":90813,"value":82341,"nodeType":864},{},[],{"data":90815,"content":90818,"nodeType":996},{"target":90816},{"sys":90817},{"id":82346,"type":1001,"linkType":1002},[],{"data":90820,"content":90821,"nodeType":1009},{},[90822],{"data":90823,"marks":90824,"value":82355,"nodeType":864},{},[90825],{"type":899},{"data":90827,"content":90828,"nodeType":860},{},[90829],{"data":90830,"marks":90831,"value":82362,"nodeType":864},{},[],{"data":90833,"content":90836,"nodeType":996},{"target":90834},{"sys":90835},{"id":82367,"type":1001,"linkType":1002},[],{"data":90838,"content":90839,"nodeType":860},{},[90840],{"data":90841,"marks":90842,"value":82375,"nodeType":864},{},[],{"data":90844,"content":90847,"nodeType":996},{"target":90845},{"sys":90846},{"id":82380,"type":1001,"linkType":1002},[],{"data":90849,"content":90850,"nodeType":860},{},[90851],{"data":90852,"marks":90853,"value":82388,"nodeType":864},{},[],{"data":90855,"content":90856,"nodeType":1009},{},[90857],{"data":90858,"marks":90859,"value":82396,"nodeType":864},{},[90860],{"type":899},{"data":90862,"content":90863,"nodeType":860},{},[90864],{"data":90865,"marks":90866,"value":82403,"nodeType":864},{},[],{"data":90868,"content":90871,"nodeType":996},{"target":90869},{"sys":90870},{"id":51074,"type":1001,"linkType":1002},[],{"data":90873,"content":90874,"nodeType":860},{},[90875],{"data":90876,"marks":90877,"value":82415,"nodeType":864},{},[],{"data":90879,"content":90880,"nodeType":860},{},[90881,90884,90891,90894,90901],{"data":90882,"marks":90883,"value":82422,"nodeType":864},{},[],{"data":90885,"content":90886,"nodeType":883},{"uri":6418},[90887],{"data":90888,"marks":90889,"value":82430,"nodeType":864},{},[90890],{"type":1455},{"data":90892,"marks":90893,"value":82434,"nodeType":864},{},[],{"data":90895,"content":90896,"nodeType":883},{"uri":82437},[90897],{"data":90898,"marks":90899,"value":82443,"nodeType":864},{},[90900],{"type":1455},{"data":90902,"marks":90903,"value":12285,"nodeType":864},{},[],{"data":90905,"content":90906,"nodeType":860},{},[90907],{"data":90908,"marks":90909,"value":82453,"nodeType":864},{},[],{"data":90911,"content":90912,"nodeType":860},{},[90913],{"data":90914,"marks":90915,"value":82460,"nodeType":864},{},[],{"data":90917,"content":90918,"nodeType":941},{},[90919,90928,90937],{"data":90920,"content":90921,"nodeType":945},{},[90922],{"data":90923,"content":90924,"nodeType":860},{},[90925],{"data":90926,"marks":90927,"value":82473,"nodeType":864},{},[],{"data":90929,"content":90930,"nodeType":945},{},[90931],{"data":90932,"content":90933,"nodeType":860},{},[90934],{"data":90935,"marks":90936,"value":82483,"nodeType":864},{},[],{"data":90938,"content":90939,"nodeType":945},{},[90940],{"data":90941,"content":90942,"nodeType":860},{},[90943],{"data":90944,"marks":90945,"value":82493,"nodeType":864},{},[],{"data":90947,"content":90948,"nodeType":860},{},[90949],{"data":90950,"marks":90951,"value":82501,"nodeType":864},{},[90952],{"type":899},{"data":90954,"content":90955,"nodeType":860},{},[90956],{"data":90957,"marks":90958,"value":82508,"nodeType":864},{},[],{"data":90960,"content":90961,"nodeType":1009},{},[90962],{"data":90963,"marks":90964,"value":82516,"nodeType":864},{},[90965],{"type":899},{"data":90967,"content":90968,"nodeType":1312},{},[90969],{"data":90970,"marks":90971,"value":82524,"nodeType":864},{},[90972],{"type":899},{"data":90974,"content":90975,"nodeType":860},{},[90976],{"data":90977,"marks":90978,"value":82531,"nodeType":864},{},[],{"data":90980,"content":90981,"nodeType":860},{},[90982],{"data":90983,"marks":90984,"value":82538,"nodeType":864},{},[],{"data":90986,"content":90987,"nodeType":860},{},[90988,90991,90998],{"data":90989,"marks":90990,"value":82545,"nodeType":864},{},[],{"data":90992,"content":90993,"nodeType":883},{"uri":36853},[90994],{"data":90995,"marks":90996,"value":82553,"nodeType":864},{},[90997],{"type":1455},{"data":90999,"marks":91000,"value":82557,"nodeType":864},{},[],{"data":91002,"content":91003,"nodeType":860},{},[91004],{"data":91005,"marks":91006,"value":82564,"nodeType":864},{},[],{"data":91008,"content":91009,"nodeType":860},{},[91010],{"data":91011,"marks":91012,"value":82571,"nodeType":864},{},[],{"data":91014,"content":91015,"nodeType":860},{},[91016],{"data":91017,"marks":91018,"value":82578,"nodeType":864},{},[],{"data":91020,"content":91021,"nodeType":1312},{},[91022],{"data":91023,"marks":91024,"value":82586,"nodeType":864},{},[91025],{"type":899},{"data":91027,"content":91028,"nodeType":860},{},[91029],{"data":91030,"marks":91031,"value":82593,"nodeType":864},{},[],{"data":91033,"content":91034,"nodeType":860},{},[91035],{"data":91036,"marks":91037,"value":82600,"nodeType":864},{},[],{"data":91039,"content":91040,"nodeType":941},{},[91041,91050,91059],{"data":91042,"content":91043,"nodeType":945},{},[91044],{"data":91045,"content":91046,"nodeType":860},{},[91047],{"data":91048,"marks":91049,"value":82613,"nodeType":864},{},[],{"data":91051,"content":91052,"nodeType":945},{},[91053],{"data":91054,"content":91055,"nodeType":860},{},[91056],{"data":91057,"marks":91058,"value":82623,"nodeType":864},{},[],{"data":91060,"content":91061,"nodeType":945},{},[91062],{"data":91063,"content":91064,"nodeType":860},{},[91065],{"data":91066,"marks":91067,"value":82633,"nodeType":864},{},[],{"data":91069,"content":91070,"nodeType":860},{},[91071],{"data":91072,"marks":91073,"value":82640,"nodeType":864},{},[],{"data":91075,"content":91076,"nodeType":941},{},[91077,91086,91095,91104,91113],{"data":91078,"content":91079,"nodeType":945},{},[91080],{"data":91081,"content":91082,"nodeType":860},{},[91083],{"data":91084,"marks":91085,"value":82653,"nodeType":864},{},[],{"data":91087,"content":91088,"nodeType":945},{},[91089],{"data":91090,"content":91091,"nodeType":860},{},[91092],{"data":91093,"marks":91094,"value":82663,"nodeType":864},{},[],{"data":91096,"content":91097,"nodeType":945},{},[91098],{"data":91099,"content":91100,"nodeType":860},{},[91101],{"data":91102,"marks":91103,"value":82673,"nodeType":864},{},[],{"data":91105,"content":91106,"nodeType":945},{},[91107],{"data":91108,"content":91109,"nodeType":860},{},[91110],{"data":91111,"marks":91112,"value":82683,"nodeType":864},{},[],{"data":91114,"content":91115,"nodeType":945},{},[91116],{"data":91117,"content":91118,"nodeType":860},{},[91119],{"data":91120,"marks":91121,"value":82693,"nodeType":864},{},[],{"data":91123,"content":91124,"nodeType":860},{},[91125],{"data":91126,"marks":91127,"value":82700,"nodeType":864},{},[],{"data":91129,"content":91130,"nodeType":860},{},[91131],{"data":91132,"marks":91133,"value":82707,"nodeType":864},{},[],{"data":91135,"content":91136,"nodeType":1009},{},[91137],{"data":91138,"marks":91139,"value":82715,"nodeType":864},{},[91140],{"type":899},{"data":91142,"content":91143,"nodeType":860},{},[91144],{"data":91145,"marks":91146,"value":82722,"nodeType":864},{},[],{"data":91148,"content":91149,"nodeType":860},{},[91150],{"data":91151,"marks":91152,"value":82729,"nodeType":864},{},[],{"data":91154,"content":91155,"nodeType":860},{},[91156],{"data":91157,"marks":91158,"value":82736,"nodeType":864},{},[],{"data":91160,"content":91161,"nodeType":1312},{},[91162],{"data":91163,"marks":91164,"value":82744,"nodeType":864},{},[91165],{"type":899},{"data":91167,"content":91168,"nodeType":860},{},[91169],{"data":91170,"marks":91171,"value":82751,"nodeType":864},{},[],{"data":91173,"content":91174,"nodeType":941},{},[91175,91184],{"data":91176,"content":91177,"nodeType":945},{},[91178],{"data":91179,"content":91180,"nodeType":860},{},[91181],{"data":91182,"marks":91183,"value":82764,"nodeType":864},{},[],{"data":91185,"content":91186,"nodeType":945},{},[91187],{"data":91188,"content":91189,"nodeType":860},{},[91190],{"data":91191,"marks":91192,"value":82774,"nodeType":864},{},[],{"data":91194,"content":91195,"nodeType":860},{},[91196],{"data":91197,"marks":91198,"value":82781,"nodeType":864},{},[],{"data":91200,"content":91201,"nodeType":941},{},[91202,91215,91228],{"data":91203,"content":91204,"nodeType":945},{},[91205],{"data":91206,"content":91207,"nodeType":860},{},[91208,91212],{"data":91209,"marks":91210,"value":82795,"nodeType":864},{},[91211],{"type":899},{"data":91213,"marks":91214,"value":82799,"nodeType":864},{},[],{"data":91216,"content":91217,"nodeType":945},{},[91218],{"data":91219,"content":91220,"nodeType":860},{},[91221,91225],{"data":91222,"marks":91223,"value":82810,"nodeType":864},{},[91224],{"type":899},{"data":91226,"marks":91227,"value":82814,"nodeType":864},{},[],{"data":91229,"content":91230,"nodeType":945},{},[91231],{"data":91232,"content":91233,"nodeType":860},{},[91234,91238],{"data":91235,"marks":91236,"value":82825,"nodeType":864},{},[91237],{"type":899},{"data":91239,"marks":91240,"value":82829,"nodeType":864},{},[],{"data":91242,"content":91243,"nodeType":860},{},[91244],{"data":91245,"marks":91246,"value":82836,"nodeType":864},{},[],{"data":91248,"content":91251,"nodeType":996},{"target":91249},{"sys":91250},{"id":82841,"type":1001,"linkType":1002},[],{"data":91253,"content":91254,"nodeType":860},{},[91255],{"data":91256,"marks":91257,"value":82849,"nodeType":864},{},[],{"data":91259,"content":91260,"nodeType":941},{},[91261,91270,91279,91288],{"data":91262,"content":91263,"nodeType":945},{},[91264],{"data":91265,"content":91266,"nodeType":860},{},[91267],{"data":91268,"marks":91269,"value":82862,"nodeType":864},{},[],{"data":91271,"content":91272,"nodeType":945},{},[91273],{"data":91274,"content":91275,"nodeType":860},{},[91276],{"data":91277,"marks":91278,"value":82872,"nodeType":864},{},[],{"data":91280,"content":91281,"nodeType":945},{},[91282],{"data":91283,"content":91284,"nodeType":860},{},[91285],{"data":91286,"marks":91287,"value":82882,"nodeType":864},{},[],{"data":91289,"content":91290,"nodeType":945},{},[91291],{"data":91292,"content":91293,"nodeType":860},{},[91294],{"data":91295,"marks":91296,"value":82892,"nodeType":864},{},[],{"data":91298,"content":91299,"nodeType":860},{},[91300],{"data":91301,"marks":91302,"value":82899,"nodeType":864},{},[],{"data":91304,"content":91305,"nodeType":1312},{},[91306],{"data":91307,"marks":91308,"value":82907,"nodeType":864},{},[91309],{"type":899},{"data":91311,"content":91312,"nodeType":860},{},[91313],{"data":91314,"marks":91315,"value":82914,"nodeType":864},{},[],{"data":91317,"content":91318,"nodeType":860},{},[91319],{"data":91320,"marks":91321,"value":82921,"nodeType":864},{},[],{"data":91323,"content":91324,"nodeType":860},{},[91325,91328,91335,91338,91345],{"data":91326,"marks":91327,"value":82928,"nodeType":864},{},[],{"data":91329,"content":91330,"nodeType":883},{"uri":7425},[91331],{"data":91332,"marks":91333,"value":82936,"nodeType":864},{},[91334],{"type":1455},{"data":91336,"marks":91337,"value":82940,"nodeType":864},{},[],{"data":91339,"content":91340,"nodeType":883},{"uri":48151},[91341],{"data":91342,"marks":91343,"value":82948,"nodeType":864},{},[91344],{"type":1455},{"data":91346,"marks":91347,"value":82952,"nodeType":864},{},[],{"data":91349,"content":91350,"nodeType":1312},{},[91351],{"data":91352,"marks":91353,"value":82960,"nodeType":864},{},[91354],{"type":899},{"data":91356,"content":91357,"nodeType":860},{},[91358],{"data":91359,"marks":91360,"value":82967,"nodeType":864},{},[],{"data":91362,"content":91365,"nodeType":996},{"target":91363},{"sys":91364},{"id":82972,"type":1001,"linkType":1002},[],{"data":91367,"content":91368,"nodeType":860},{},[91369],{"data":91370,"marks":91371,"value":82980,"nodeType":864},{},[],{"data":91373,"content":91376,"nodeType":996},{"target":91374},{"sys":91375},{"id":82985,"type":1001,"linkType":1002},[],{"data":91378,"content":91379,"nodeType":860},{},[91380],{"data":91381,"marks":91382,"value":82993,"nodeType":864},{},[],{"data":91384,"content":91387,"nodeType":996},{"target":91385},{"sys":91386},{"id":82998,"type":1001,"linkType":1002},[],{"data":91389,"content":91390,"nodeType":860},{},[91391],{"data":91392,"marks":91393,"value":83006,"nodeType":864},{},[],{"data":91395,"content":91396,"nodeType":941},{},[91397,91415,91433,91451],{"data":91398,"content":91399,"nodeType":945},{},[91400],{"data":91401,"content":91402,"nodeType":860},{},[91403,91406,91412],{"data":91404,"marks":91405,"value":83019,"nodeType":864},{},[],{"data":91407,"content":91408,"nodeType":883},{"uri":48237},[91409],{"data":91410,"marks":91411,"value":83026,"nodeType":864},{},[],{"data":91413,"marks":91414,"value":21,"nodeType":864},{},[],{"data":91416,"content":91417,"nodeType":945},{},[91418],{"data":91419,"content":91420,"nodeType":860},{},[91421,91424,91430],{"data":91422,"marks":91423,"value":83039,"nodeType":864},{},[],{"data":91425,"content":91426,"nodeType":883},{"uri":48185},[91427],{"data":91428,"marks":91429,"value":83046,"nodeType":864},{},[],{"data":91431,"marks":91432,"value":12252,"nodeType":864},{},[],{"data":91434,"content":91435,"nodeType":945},{},[91436],{"data":91437,"content":91438,"nodeType":860},{},[91439,91442,91448],{"data":91440,"marks":91441,"value":83059,"nodeType":864},{},[],{"data":91443,"content":91444,"nodeType":883},{"uri":47989},[91445],{"data":91446,"marks":91447,"value":83066,"nodeType":864},{},[],{"data":91449,"marks":91450,"value":12252,"nodeType":864},{},[],{"data":91452,"content":91453,"nodeType":945},{},[91454],{"data":91455,"content":91456,"nodeType":860},{},[91457,91460,91466],{"data":91458,"marks":91459,"value":83079,"nodeType":864},{},[],{"data":91461,"content":91462,"nodeType":883},{"uri":34857},[91463],{"data":91464,"marks":91465,"value":83086,"nodeType":864},{},[],{"data":91467,"marks":91468,"value":21,"nodeType":864},{},[],{"data":91470,"content":91471,"nodeType":860},{},[91472],{"data":91473,"marks":91474,"value":83096,"nodeType":864},{},[],{"data":91476,"content":91477,"nodeType":1009},{},[91478],{"data":91479,"marks":91480,"value":32492,"nodeType":864},{},[91481],{"type":899},{"data":91483,"content":91484,"nodeType":860},{},[91485],{"data":91486,"marks":91487,"value":83110,"nodeType":864},{},[],{"data":91489,"content":91490,"nodeType":860},{},[91491,91494,91501],{"data":91492,"marks":91493,"value":83117,"nodeType":864},{},[],{"data":91495,"content":91496,"nodeType":883},{"uri":7425},[91497],{"data":91498,"marks":91499,"value":83125,"nodeType":864},{},[91500],{"type":1455},{"data":91502,"marks":91503,"value":12252,"nodeType":864},{},[],{"data":91505,"content":91506,"nodeType":860},{},[91507],{"data":91508,"marks":91509,"value":83135,"nodeType":864},{},[],{"items":91511},[91512,91514],{"sys":91513,"name":342},{"id":6596},{"sys":91515,"name":6593},{"id":6592},{"items":91517},[91518],{"fullName":2736,"firstName":2737,"jobTitle":2738,"profilePicture":91519},{"url":2740},{"__typename":2059,"sys":91521,"content":91522,"title":42779,"synopsis":42780,"hashTags":59,"publishedDate":42781,"slug":42782,"tagsCollection":91796,"authorsCollection":91802},{"id":42465},{"json":91523},{"data":91524,"content":91525,"nodeType":856},{},[91526,91532,91548,91561,91567,91573,91576,91582,91588,91636,91642,91647,91650,91656,91662,91668,91674,91680,91694,91699,91705,91711,91725,91730,91736,91742,91748,91754,91760,91763,91769,91785,91790],{"data":91527,"content":91528,"nodeType":1009},{},[91529],{"data":91530,"marks":91531,"value":42476,"nodeType":864},{},[],{"data":91533,"content":91534,"nodeType":860},{},[91535,91538,91545],{"data":91536,"marks":91537,"value":42483,"nodeType":864},{},[],{"data":91539,"content":91540,"nodeType":883},{"uri":7425},[91541],{"data":91542,"marks":91543,"value":42491,"nodeType":864},{},[91544],{"type":1455},{"data":91546,"marks":91547,"value":12252,"nodeType":864},{},[],{"data":91549,"content":91550,"nodeType":860},{},[91551,91554,91558],{"data":91552,"marks":91553,"value":42501,"nodeType":864},{},[],{"data":91555,"marks":91556,"value":42506,"nodeType":864},{},[91557],{"type":1455},{"data":91559,"marks":91560,"value":42510,"nodeType":864},{},[],{"data":91562,"content":91563,"nodeType":860},{},[91564],{"data":91565,"marks":91566,"value":42517,"nodeType":864},{},[],{"data":91568,"content":91569,"nodeType":860},{},[91570],{"data":91571,"marks":91572,"value":42524,"nodeType":864},{},[],{"data":91574,"content":91575,"nodeType":1005},{},[],{"data":91577,"content":91578,"nodeType":1312},{},[91579],{"data":91580,"marks":91581,"value":42534,"nodeType":864},{},[],{"data":91583,"content":91584,"nodeType":860},{},[91585],{"data":91586,"marks":91587,"value":42541,"nodeType":864},{},[],{"data":91589,"content":91590,"nodeType":941},{},[91591,91600,91609,91618,91627],{"data":91592,"content":91593,"nodeType":945},{},[91594],{"data":91595,"content":91596,"nodeType":860},{},[91597],{"data":91598,"marks":91599,"value":42554,"nodeType":864},{},[],{"data":91601,"content":91602,"nodeType":945},{},[91603],{"data":91604,"content":91605,"nodeType":860},{},[91606],{"data":91607,"marks":91608,"value":42564,"nodeType":864},{},[],{"data":91610,"content":91611,"nodeType":945},{},[91612],{"data":91613,"content":91614,"nodeType":860},{},[91615],{"data":91616,"marks":91617,"value":42574,"nodeType":864},{},[],{"data":91619,"content":91620,"nodeType":945},{},[91621],{"data":91622,"content":91623,"nodeType":860},{},[91624],{"data":91625,"marks":91626,"value":42584,"nodeType":864},{},[],{"data":91628,"content":91629,"nodeType":945},{},[91630],{"data":91631,"content":91632,"nodeType":860},{},[91633],{"data":91634,"marks":91635,"value":42594,"nodeType":864},{},[],{"data":91637,"content":91638,"nodeType":860},{},[91639],{"data":91640,"marks":91641,"value":42601,"nodeType":864},{},[],{"data":91643,"content":91646,"nodeType":996},{"target":91644},{"sys":91645},{"id":42606,"type":1001,"linkType":1002},[],{"data":91648,"content":91649,"nodeType":1005},{},[],{"data":91651,"content":91652,"nodeType":1312},{},[91653],{"data":91654,"marks":91655,"value":42617,"nodeType":864},{},[],{"data":91657,"content":91658,"nodeType":860},{},[91659],{"data":91660,"marks":91661,"value":42624,"nodeType":864},{},[],{"data":91663,"content":91664,"nodeType":860},{},[91665],{"data":91666,"marks":91667,"value":42631,"nodeType":864},{},[],{"data":91669,"content":91670,"nodeType":860},{},[91671],{"data":91672,"marks":91673,"value":42638,"nodeType":864},{},[],{"data":91675,"content":91676,"nodeType":860},{},[91677],{"data":91678,"marks":91679,"value":42645,"nodeType":864},{},[],{"data":91681,"content":91682,"nodeType":1312},{},[91683,91686,91691],{"data":91684,"marks":91685,"value":42652,"nodeType":864},{},[],{"data":91687,"marks":91688,"value":42658,"nodeType":864},{},[91689,91690],{"type":1455},{"type":899},{"data":91692,"marks":91693,"value":42662,"nodeType":864},{},[],{"data":91695,"content":91698,"nodeType":996},{"target":91696},{"sys":91697},{"id":42667,"type":1001,"linkType":1002},[],{"data":91700,"content":91701,"nodeType":860},{},[91702],{"data":91703,"marks":91704,"value":42675,"nodeType":864},{},[],{"data":91706,"content":91707,"nodeType":860},{},[91708],{"data":91709,"marks":91710,"value":42682,"nodeType":864},{},[],{"data":91712,"content":91713,"nodeType":1312},{},[91714,91717,91722],{"data":91715,"marks":91716,"value":42689,"nodeType":864},{},[],{"data":91718,"marks":91719,"value":3053,"nodeType":864},{},[91720,91721],{"type":1455},{"type":899},{"data":91723,"marks":91724,"value":42698,"nodeType":864},{},[],{"data":91726,"content":91729,"nodeType":996},{"target":91727},{"sys":91728},{"id":42703,"type":1001,"linkType":1002},[],{"data":91731,"content":91732,"nodeType":860},{},[91733],{"data":91734,"marks":91735,"value":42711,"nodeType":864},{},[],{"data":91737,"content":91738,"nodeType":860},{},[91739],{"data":91740,"marks":91741,"value":42718,"nodeType":864},{},[],{"data":91743,"content":91744,"nodeType":860},{},[91745],{"data":91746,"marks":91747,"value":42725,"nodeType":864},{},[],{"data":91749,"content":91750,"nodeType":860},{},[91751],{"data":91752,"marks":91753,"value":42732,"nodeType":864},{},[],{"data":91755,"content":91756,"nodeType":860},{},[91757],{"data":91758,"marks":91759,"value":42739,"nodeType":864},{},[],{"data":91761,"content":91762,"nodeType":1005},{},[],{"data":91764,"content":91765,"nodeType":1009},{},[91766],{"data":91767,"marks":91768,"value":42749,"nodeType":864},{},[],{"data":91770,"content":91771,"nodeType":860},{},[91772,91775,91782],{"data":91773,"marks":91774,"value":42756,"nodeType":864},{},[],{"data":91776,"content":91777,"nodeType":883},{"uri":5642},[91778],{"data":91779,"marks":91780,"value":35582,"nodeType":864},{},[91781],{"type":1455},{"data":91783,"marks":91784,"value":35977,"nodeType":864},{},[],{"data":91786,"content":91789,"nodeType":996},{"target":91787},{"sys":91788},{"id":42771,"type":1001,"linkType":1002},[],{"data":91791,"content":91792,"nodeType":860},{},[91793],{"data":91794,"marks":91795,"value":21,"nodeType":864},{},[],{"items":91797},[91798,91800],{"sys":91799,"name":6593},{"id":6592},{"sys":91801,"name":342},{"id":6596},{"items":91803},[91804],{"fullName":4878,"firstName":4879,"jobTitle":851,"profilePicture":91805},{"url":4881},{"__typename":2059,"sys":91807,"content":91808,"title":92571,"synopsis":92572,"hashTags":59,"publishedDate":92573,"slug":92574,"tagsCollection":92575,"authorsCollection":92581},{"id":89491},{"json":91809},{"data":91810,"content":91811,"nodeType":856},{},[91812,91818,91825,91876,91883,91890,91905,91912,91919,92000,92007,92013,92020,92027,92042,92049,92055,92078,92100,92105,92124,92130,92137,92167,92174,92181,92187,92204,92210,92217,92224,92231,92237,92254,92260,92267,92274,92281,92287,92305,92311,92318,92324,92341,92348,92355,92362,92404,92411,92481,92496,92501,92508,92515,92522,92529,92547,92553],{"data":91813,"content":91817,"nodeType":996},{"target":91814},{"sys":91815},{"id":91816,"type":1001,"linkType":1002},"7rud2H1hcTAOhxh9zHzxP6",[],{"data":91819,"content":91820,"nodeType":860},{},[91821],{"data":91822,"marks":91823,"value":91824,"nodeType":864},{},[],"If someone asked you where you work, you probably wouldn’t answer, “My browser.” But that would be the truth.",{"data":91826,"content":91827,"nodeType":860},{},[91828,91832,91840,91843,91851,91854,91861,91864,91872],{"data":91829,"marks":91830,"value":91831,"nodeType":864},{},[],"(Threat actors already know where you work, of course, and they’ve been capitalizing on the massive shift to cloud-based workforces. Just look at any of the ",{"data":91833,"content":91835,"nodeType":883},{"uri":91834},"https://www.crowdstrike.com/global-threat-report/",[91836],{"data":91837,"marks":91838,"value":91839,"nodeType":864},{},[],"latest",{"data":91841,"marks":91842,"value":1171,"nodeType":864},{},[],{"data":91844,"content":91846,"nodeType":883},{"uri":91845},"https://redcanary.com/threat-detection-report/techniques/cloud-accounts/",[91847],{"data":91848,"marks":91849,"value":91850,"nodeType":864},{},[],"threat",{"data":91852,"marks":91853,"value":1171,"nodeType":864},{},[],{"data":91855,"content":91856,"nodeType":883},{"uri":8628},[91857],{"data":91858,"marks":91859,"value":91860,"nodeType":864},{},[],"research",{"data":91862,"marks":91863,"value":1171,"nodeType":864},{},[],{"data":91865,"content":91867,"nodeType":883},{"uri":91866},"https://www.lab539.com/blog/6-months-tracking-aitm-campaigns",[91868],{"data":91869,"marks":91870,"value":91871,"nodeType":864},{},[],"reports",{"data":91873,"marks":91874,"value":91875,"nodeType":864},{},[]," on identity-based attacks to see how good a job they’ve been doing.)",{"data":91877,"content":91878,"nodeType":860},{},[91879],{"data":91880,"marks":91881,"value":91882,"nodeType":864},{},[],"To get visibility of your infrastructure in order to build a strong detection and response program, the equation used to look something like:",{"data":91884,"content":91885,"nodeType":860},{},[91886],{"data":91887,"marks":91888,"value":91889,"nodeType":864},{},[],"Network traffic + Logs + Endpoints = Profit!",{"data":91891,"content":91892,"nodeType":860},{},[91893,91897,91902],{"data":91894,"marks":91895,"value":91896,"nodeType":864},{},[],"But now there’s a missing piece, as identity infrastructure sprawls across IdPs, core apps, shadow SaaS and third-party integrations: ",{"data":91898,"marks":91899,"value":91901,"nodeType":864},{},[91900],{"type":899},"Browser telemetry",{"data":91903,"marks":91904,"value":2924,"nodeType":864},{},[],{"data":91906,"content":91907,"nodeType":860},{},[91908],{"data":91909,"marks":91910,"value":91911,"nodeType":864},{},[],"As a browser agent, Push is uniquely positioned to provide telemetry you can’t easily get anywhere else. We believe that this missing piece is the key to stopping identity attacks by providing the context both for first-class detections and security controls, as well as key correlations for events you observe in traditional log sources.",{"data":91913,"content":91914,"nodeType":860},{},[91915],{"data":91916,"marks":91917,"value":91918,"nodeType":864},{},[],"Now we have a better way to bring Push’s data to life to solve meaningful security challenges:",{"data":91920,"content":91921,"nodeType":941},{},[91922,91951],{"data":91923,"content":91924,"nodeType":945},{},[91925],{"data":91926,"content":91927,"nodeType":860},{},[91928,91933,91937,91947],{"data":91929,"marks":91930,"value":91932,"nodeType":864},{},[91931],{"type":899},"Plug-and-play security controls",{"data":91934,"marks":91935,"value":91936,"nodeType":864},{},[],", accessible from the new ",{"data":91938,"content":91942,"nodeType":27604},{"target":91939},{"sys":91940},{"id":91941,"type":1001,"linkType":1002},"BtDLgVZRWQ3Ov4WgDQX1W",[91943],{"data":91944,"marks":91945,"value":51400,"nodeType":864},{},[91946],{"type":899},{"data":91948,"marks":91949,"value":91950,"nodeType":864},{},[]," page in the Push platform",{"data":91952,"content":91953,"nodeType":945},{},[91954],{"data":91955,"content":91956,"nodeType":860},{},[91957,91962,91966,91973,91976,91984,91988,91996],{"data":91958,"marks":91959,"value":91961,"nodeType":864},{},[91960],{"type":899},"Choose-your-own-adventure tooling",{"data":91963,"marks":91964,"value":91965,"nodeType":864},{},[],", including a ",{"data":91967,"content":91968,"nodeType":883},{"uri":90269},[91969],{"data":91970,"marks":91971,"value":91972,"nodeType":864},{},[],"REST API",{"data":91974,"marks":91975,"value":3731,"nodeType":864},{},[],{"data":91977,"content":91979,"nodeType":883},{"uri":91978},"https://pushsecurity.redoc.ly/webhooks-v1/",[91980],{"data":91981,"marks":91982,"value":91983,"nodeType":864},{},[],"webhooks",{"data":91985,"marks":91986,"value":91987,"nodeType":864},{},[],", and a new ",{"data":91989,"content":91991,"nodeType":883},{"uri":91990},"/help/audience/administrators/docs/connect-to-siem-or-soar/#using-the-events-page",[91992],{"data":91993,"marks":91994,"value":28609,"nodeType":864},{},[91995],{"type":899},{"data":91997,"marks":91998,"value":91999,"nodeType":864},{},[]," page to help you visualize and build custom detections and automations.",{"data":92001,"content":92002,"nodeType":860},{},[92003],{"data":92004,"marks":92005,"value":92006,"nodeType":864},{},[],"Let’s take a closer look.",{"data":92008,"content":92012,"nodeType":996},{"target":92009},{"sys":92010},{"id":92011,"type":1001,"linkType":1002},"6iKFd9Qys2SSuNqKVQB7ka",[],{"data":92014,"content":92015,"nodeType":1009},{},[92016],{"data":92017,"marks":92018,"value":92019,"nodeType":864},{},[],"Plug-and-play controls",{"data":92021,"content":92022,"nodeType":860},{},[92023],{"data":92024,"marks":92025,"value":92026,"nodeType":864},{},[],"Security visibility without security control is a recipe for a stress headache, so we’re big believers in providing meaningful interventions that are easy to use.",{"data":92028,"content":92029,"nodeType":860},{},[92030,92034,92038],{"data":92031,"marks":92032,"value":92033,"nodeType":864},{},[],"With the new ",{"data":92035,"marks":92036,"value":51400,"nodeType":864},{},[92037],{"type":899},{"data":92039,"marks":92040,"value":92041,"nodeType":864},{},[]," page in the Push admin console, you can now find these preconfigured detections and interventions in one place. They cover use cases that any organization can benefit from, and take a unique browser-based approach to solving some thorny issues.",{"data":92043,"content":92044,"nodeType":860},{},[92045],{"data":92046,"marks":92047,"value":92048,"nodeType":864},{},[],"These controls include:",{"data":92050,"content":92051,"nodeType":1312},{},[92052],{"data":92053,"marks":92054,"value":74079,"nodeType":864},{},[],{"data":92056,"content":92057,"nodeType":860},{},[92058,92062,92067,92070,92075],{"data":92059,"marks":92060,"value":92061,"nodeType":864},{},[],"Detect and block when employees visit webpages that use advanced phishing tools such as Evilginx or EvilNoVNC, among others. These adversary-in-the-middle (AitM) toolkits can mimic legitimate login screens, such as an Okta login page, to steal ",{"data":92063,"marks":92064,"value":92066,"nodeType":864},{},[92065],{"type":899},"credentials",{"data":92068,"marks":92069,"value":902,"nodeType":864},{},[],{"data":92071,"marks":92072,"value":92074,"nodeType":864},{},[92073],{"type":899},"MFA codes",{"data":92076,"marks":92077,"value":2924,"nodeType":864},{},[],{"data":92079,"content":92080,"nodeType":860},{},[92081,92085,92089,92092,92096],{"data":92082,"marks":92083,"value":92084,"nodeType":864},{},[],"Push emits a webhook event when the browser agent detects attributes of these malware. You can also set Push to ",{"data":92086,"marks":92087,"value":1503,"nodeType":864},{},[92088],{"type":899},{"data":92090,"marks":92091,"value":27405,"nodeType":864},{},[],{"data":92093,"marks":92094,"value":1397,"nodeType":864},{},[92095],{"type":899},{"data":92097,"marks":92098,"value":92099,"nodeType":864},{},[]," mode to display a customizable message to end-users when they encounter a phishing site.",{"data":92101,"content":92104,"nodeType":996},{"target":92102},{"sys":92103},{"id":74087,"type":1001,"linkType":1002},[],{"data":92106,"content":92107,"nodeType":860},{},[92108,92112,92121],{"data":92109,"marks":92110,"value":92111,"nodeType":864},{},[],"More about ",{"data":92113,"content":92116,"nodeType":27604},{"target":92114},{"sys":92115},{"id":28039,"type":1001,"linkType":1002},[92117],{"data":92118,"marks":92119,"value":92120,"nodeType":864},{},[],"phishing tool detection",{"data":92122,"marks":92123,"value":21,"nodeType":864},{},[],{"data":92125,"content":92126,"nodeType":1312},{},[92127],{"data":92128,"marks":92129,"value":47996,"nodeType":864},{},[],{"data":92131,"content":92132,"nodeType":860},{},[92133],{"data":92134,"marks":92135,"value":92136,"nodeType":864},{},[],"Prevent employees from reusing their corporate SSO password on any page that doesn’t belong to the identity provider, including phishing sites. This means that even if that employee was the first person to get phished using a new attacker site, Push still detects it and blocks it.",{"data":92138,"content":92139,"nodeType":860},{},[92140,92144,92148,92151,92155,92159,92163],{"data":92141,"marks":92142,"value":92143,"nodeType":864},{},[],"Customize the message that end-users see in ",{"data":92145,"marks":92146,"value":1503,"nodeType":864},{},[92147],{"type":899},{"data":92149,"marks":92150,"value":27405,"nodeType":864},{},[],{"data":92152,"marks":92153,"value":1397,"nodeType":864},{},[92154],{"type":899},{"data":92156,"marks":92157,"value":92158,"nodeType":864},{},[]," mode, or start out in ",{"data":92160,"marks":92161,"value":1334,"nodeType":864},{},[92162],{"type":899},{"data":92164,"marks":92165,"value":92166,"nodeType":864},{},[]," mode to catch any false positives before you enforce the control.",{"data":92168,"content":92169,"nodeType":860},{},[92170],{"data":92171,"marks":92172,"value":92173,"nodeType":864},{},[],"This feature supports the following identity providers: Okta, Microsoft 365, Google Workspace, JumpCloud, Duo, and Ping Identity.",{"data":92175,"content":92176,"nodeType":860},{},[92177],{"data":92178,"marks":92179,"value":92180,"nodeType":864},{},[],"Push will also emit a webhook event when an SSO password is used, and if an employee clicks through the warning screen.",{"data":92182,"content":92186,"nodeType":996},{"target":92183},{"sys":92184},{"id":92185,"type":1001,"linkType":1002},"25c8M2gWYFST7yYxGEji2s",[],{"data":92188,"content":92189,"nodeType":860},{},[92190,92193,92201],{"data":92191,"marks":92192,"value":92111,"nodeType":864},{},[],{"data":92194,"content":92197,"nodeType":27604},{"target":92195},{"sys":92196},{"id":28295,"type":1001,"linkType":1002},[92198],{"data":92199,"marks":92200,"value":47996,"nodeType":864},{},[],{"data":92202,"marks":92203,"value":21,"nodeType":864},{},[],{"data":92205,"content":92206,"nodeType":1312},{},[92207],{"data":92208,"marks":92209,"value":74927,"nodeType":864},{},[],{"data":92211,"content":92212,"nodeType":860},{},[92213],{"data":92214,"marks":92215,"value":92216,"nodeType":864},{},[],"When you find malicious sites you want to block, such as when responding to a phishing incident, add them to a blocklist and prevent other employees from accessing those sites. ",{"data":92218,"content":92219,"nodeType":860},{},[92220],{"data":92221,"marks":92222,"value":92223,"nodeType":864},{},[],"URL blocking can be used in tandem with Push’s anti-phishing controls, so that as you discover malicious sites, you can block them from a central blocklist. This offers a kind of herd immunity where you can block other users from visiting a malicious site as soon as you have a single incident.",{"data":92225,"content":92226,"nodeType":860},{},[92227],{"data":92228,"marks":92229,"value":92230,"nodeType":864},{},[],"You can programmatically manage the blocklist using the Push REST API or sync to other threat intelligence sources you consume.",{"data":92232,"content":92236,"nodeType":996},{"target":92233},{"sys":92234},{"id":92235,"type":1001,"linkType":1002},"3m00cFiUDAnddsOBOpkeiZ",[],{"data":92238,"content":92239,"nodeType":860},{},[92240,92243,92251],{"data":92241,"marks":92242,"value":92111,"nodeType":864},{},[],{"data":92244,"content":92247,"nodeType":27604},{"target":92245},{"sys":92246},{"id":90163,"type":1001,"linkType":1002},[92248],{"data":92249,"marks":92250,"value":74927,"nodeType":864},{},[],{"data":92252,"marks":92253,"value":21,"nodeType":864},{},[],{"data":92255,"content":92256,"nodeType":1312},{},[92257],{"data":92258,"marks":92259,"value":89894,"nodeType":864},{},[],{"data":92261,"content":92262,"nodeType":860},{},[92263],{"data":92264,"marks":92265,"value":92266,"nodeType":864},{},[],"Inject a unique marker provided by the Push browser agent into the User Agent string of sessions that occur in browsers enrolled in Push. ",{"data":92268,"content":92269,"nodeType":860},{},[92270],{"data":92271,"marks":92272,"value":92273,"nodeType":864},{},[],"By analyzing logs from your IdP, you can identify activity from the same session that both has the Push marker and that lacks the marker. This can only ever happen when a session is extracted from a browser and maliciously imported into a different browser.",{"data":92275,"content":92276,"nodeType":860},{},[92277],{"data":92278,"marks":92279,"value":92280,"nodeType":864},{},[],"This is a high-fidelity signal that a session token has been stolen and is being used.",{"data":92282,"content":92286,"nodeType":996},{"target":92283},{"sys":92284},{"id":92285,"type":1001,"linkType":1002},"43rk3TCqN269Vr2YWT4llP",[],{"data":92288,"content":92289,"nodeType":860},{},[92290,92293,92302],{"data":92291,"marks":92292,"value":92111,"nodeType":864},{},[],{"data":92294,"content":92297,"nodeType":27604},{"target":92295},{"sys":92296},{"id":90101,"type":1001,"linkType":1002},[92298],{"data":92299,"marks":92300,"value":92301,"nodeType":864},{},[],"session token theft detection",{"data":92303,"marks":92304,"value":21,"nodeType":864},{},[],{"data":92306,"content":92307,"nodeType":1312},{},[92308],{"data":92309,"marks":92310,"value":1366,"nodeType":864},{},[],{"data":92312,"content":92313,"nodeType":860},{},[92314],{"data":92315,"marks":92316,"value":92317,"nodeType":864},{},[],"Add guardrails to employees’ use of SaaS apps with in-browser app banner messages you customize with your own text. You can require users to acknowledge having read a message before they can access an app, or even require them to submit a reason for using an app before they can log in.",{"data":92319,"content":92323,"nodeType":996},{"target":92320},{"sys":92321},{"id":92322,"type":1001,"linkType":1002},"5nEKTBz6mauHI5mg8jB4ea",[],{"data":92325,"content":92326,"nodeType":860},{},[92327,92330,92338],{"data":92328,"marks":92329,"value":92111,"nodeType":864},{},[],{"data":92331,"content":92334,"nodeType":27604},{"target":92332},{"sys":92333},{"id":28356,"type":1001,"linkType":1002},[92335],{"data":92336,"marks":92337,"value":48792,"nodeType":864},{},[],{"data":92339,"marks":92340,"value":21,"nodeType":864},{},[],{"data":92342,"content":92343,"nodeType":1009},{},[92344],{"data":92345,"marks":92346,"value":92347,"nodeType":864},{},[],"Choose your own adventure",{"data":92349,"content":92350,"nodeType":860},{},[92351],{"data":92352,"marks":92353,"value":92354,"nodeType":864},{},[],"Want to do something creative? We've got you covered. Push provides a wealth of raw telemetry via the Push REST API and webhook events. Use this data to build both proactive and reactive security operations workflows, or add missing context to other sources, such as your IdP, application, or endpoint logs.",{"data":92356,"content":92357,"nodeType":860},{},[92358],{"data":92359,"marks":92360,"value":92361,"nodeType":864},{},[],"You can use this browser telemetry to:",{"data":92363,"content":92364,"nodeType":941},{},[92365,92378,92391],{"data":92366,"content":92367,"nodeType":945},{},[92368],{"data":92369,"content":92370,"nodeType":860},{},[92371,92375],{"data":92372,"marks":92373,"value":75237,"nodeType":864},{},[92374],{"type":899},{"data":92376,"marks":92377,"value":75241,"nodeType":864},{},[],{"data":92379,"content":92380,"nodeType":945},{},[92381],{"data":92382,"content":92383,"nodeType":860},{},[92384,92388],{"data":92385,"marks":92386,"value":75252,"nodeType":864},{},[92387],{"type":899},{"data":92389,"marks":92390,"value":75256,"nodeType":864},{},[],{"data":92392,"content":92393,"nodeType":945},{},[92394],{"data":92395,"content":92396,"nodeType":860},{},[92397,92401],{"data":92398,"marks":92399,"value":75267,"nodeType":864},{},[92400],{"type":899},{"data":92402,"marks":92403,"value":75271,"nodeType":864},{},[],{"data":92405,"content":92406,"nodeType":860},{},[92407],{"data":92408,"marks":92409,"value":92410,"nodeType":864},{},[],"In the “make my life easier” category, you can also use Push telemetry to:",{"data":92412,"content":92413,"nodeType":941},{},[92414,92432,92451,92466],{"data":92415,"content":92416,"nodeType":945},{},[92417],{"data":92418,"content":92419,"nodeType":860},{},[92420,92424,92429],{"data":92421,"marks":92422,"value":92423,"nodeType":864},{},[],"Automate a workflow ",{"data":92425,"marks":92426,"value":92428,"nodeType":864},{},[92427],{"type":899},"showing you all the accounts and apps used by an offboarded employee",{"data":92430,"marks":92431,"value":75305,"nodeType":864},{},[],{"data":92433,"content":92434,"nodeType":945},{},[92435],{"data":92436,"content":92437,"nodeType":860},{},[92438,92442,92447],{"data":92439,"marks":92440,"value":92441,"nodeType":864},{},[],"Automate a workflow to",{"data":92443,"marks":92444,"value":92446,"nodeType":864},{},[92445],{"type":899}," revoke licenses on SaaS after a period of inactivity",{"data":92448,"marks":92449,"value":92450,"nodeType":864},{},[],", saving money.",{"data":92452,"content":92453,"nodeType":945},{},[92454],{"data":92455,"content":92456,"nodeType":860},{},[92457,92462],{"data":92458,"marks":92459,"value":92461,"nodeType":864},{},[92460],{"type":899},"Build an approved apps list in your company wiki",{"data":92463,"marks":92464,"value":92465,"nodeType":864},{},[],", synced from Push’s source of truth.",{"data":92467,"content":92468,"nodeType":945},{},[92469],{"data":92470,"content":92471,"nodeType":860},{},[92472,92477],{"data":92473,"marks":92474,"value":92476,"nodeType":864},{},[92475],{"type":899},"Force-reset an IdP password if Push finds a compromised password",{"data":92478,"marks":92479,"value":92480,"nodeType":864},{},[]," on an employee account.",{"data":92482,"content":92483,"nodeType":860},{},[92484,92488,92492],{"data":92485,"marks":92486,"value":92487,"nodeType":864},{},[],"To help you visualize and plan how you will use this telemetry, Push also provides an ",{"data":92489,"marks":92490,"value":28609,"nodeType":864},{},[92491],{"type":899},{"data":92493,"marks":92494,"value":92495,"nodeType":864},{},[]," page in the admin console with a rolling 7-day snapshot of all the events in your environment.",{"data":92497,"content":92500,"nodeType":996},{"target":92498},{"sys":92499},{"id":89479,"type":1001,"linkType":1002},[],{"data":92502,"content":92503,"nodeType":860},{},[92504],{"data":92505,"marks":92506,"value":92507,"nodeType":864},{},[],"The Events page can help you see real-world examples, understand the attributes of each event, and gauge event volume before you ingest data into a SIEM or other platform.",{"data":92509,"content":92510,"nodeType":1009},{},[92511],{"data":92512,"marks":92513,"value":92514,"nodeType":864},{},[],"What if you don’t have a SIEM?",{"data":92516,"content":92517,"nodeType":860},{},[92518],{"data":92519,"marks":92520,"value":92521,"nodeType":864},{},[],"While you’d need a SIEM for writing detections and performing log correlations, you can still get a lot of value out of Push telemetry if you don’t have one.",{"data":92523,"content":92524,"nodeType":860},{},[92525],{"data":92526,"marks":92527,"value":92528,"nodeType":864},{},[],"Use Push’s webhook events to send alerts directly to your Slack, Teams, or other chat platform, or build workflows that hook into your ticketing system or SOAR platform.",{"data":92530,"content":92531,"nodeType":860},{},[92532,92536,92543],{"data":92533,"marks":92534,"value":92535,"nodeType":864},{},[],"Review our ",{"data":92537,"content":92538,"nodeType":883},{"uri":91978},[92539],{"data":92540,"marks":92541,"value":92542,"nodeType":864},{},[],"webhooks documentation",{"data":92544,"marks":92545,"value":92546,"nodeType":864},{},[]," for a list of events.",{"data":92548,"content":92549,"nodeType":1009},{},[92550],{"data":92551,"marks":92552,"value":36405,"nodeType":864},{},[],{"data":92554,"content":92555,"nodeType":860},{},[92556,92560,92567],{"data":92557,"marks":92558,"value":92559,"nodeType":864},{},[],"If you want to see Push in action, ",{"data":92561,"content":92563,"nodeType":883},{"uri":92562},"/demo/",[92564],{"data":92565,"marks":92566,"value":37814,"nodeType":864},{},[],{"data":92568,"marks":92569,"value":92570,"nodeType":864},{},[],". We’ll be happy to show you these features, along with how we discover all the apps your employees are using — even the ones not behind SSO.","Introducing set-and-forget controls that stop real-world identity attacks","Enable detections and interventions in the browser using Push’s new security controls.","2024-07-02T00:00:00.000Z","introducing-set-and-forget-controls-that-stop-real-world-identity-attacks",{"items":92576},[92577,92579],{"sys":92578,"name":73498},{"id":73497},{"sys":92580,"name":342},{"id":6596},{"items":92582},[92583],{"fullName":849,"firstName":850,"jobTitle":851,"profilePicture":92584},{"url":853},"blog/learning-from-the-servicenow-disclosure",{"json":92587},{"data":92588,"content":92589,"nodeType":856},{},[92590],{"data":92591,"content":92592,"nodeType":860},{},[92593],{"data":92594,"marks":92595,"value":87865,"nodeType":864},{},[],{"id":87361,"publishedAt":92597},"2026-08-12T11:54:54.847Z",{"items":92599},[92600,92602],{"sys":92601,"name":6593},{"id":6592},{"sys":92603,"name":297},{"id":2732},{"items":92605},[92606,92608,92610,92612,92614,92616,92618,92620,92622,92624,92626],{"sys":92607,"name":279,"slug":280,"tier":31},{"id":276},{"sys":92609,"name":413,"slug":414,"tier":31},{"id":410},{"sys":92611,"name":545,"slug":546,"tier":31},{"id":542},{"sys":92613,"name":642,"slug":643,"tier":31},{"id":639},{"sys":92615,"name":333,"slug":334,"tier":45},{"id":330},{"sys":92617,"name":422,"slug":423,"tier":45},{"id":419},{"sys":92619,"name":395,"slug":396,"tier":45},{"id":392},{"sys":92621,"name":528,"slug":529,"tier":45},{"id":525},{"sys":92623,"name":457,"slug":458,"tier":45},{"id":454},{"sys":92625,"name":502,"slug":503,"tier":45},{"id":499},{"sys":92627,"name":633,"slug":634,"tier":45},{"id":630},"LckknFZFvMJZop_5z7XsTksaf8H_vmYB30qtI97fkEk",{"id":92630,"title":92631,"authorsCollection":92632,"content":92637,"extension":228,"faqItemsCollection":92952,"faqTitle":59,"featured":6,"hashTags":59,"meta":92954,"metaTitle":92955,"ogImage":92956,"postType":5740,"publishedDate":92958,"relatedBlogPostsCollection":92959,"slug":95600,"stem":95601,"subtitle":59,"summary":95602,"synopsis":95613,"sys":95614,"tagsCollection":95617,"topicsCollection":95623,"__hash__":95655},"blog/blog/how-many-vulnerable-identities-do-you-have.json","How many vulnerable identities do you have?",{"items":92633},[92634],{"fullName":2736,"firstName":2737,"jobTitle":2738,"socialLinks":92635,"profilePicture":92636},[11304],{"url":2740},{"json":92638,"links":92937},{"data":92639,"content":92640,"nodeType":856},{},[92641,92648,92655,92662,92669,92676,92683,92690,92695,92702,92709,92716,92723,92730,92749,92756,92763,92780,92787,92798,92805,92834,92841,92848,92855,92862,92867,92874,92881,92888,92895,92902,92908,92926,92931],{"data":92642,"content":92643,"nodeType":860},{},[92644],{"data":92645,"marks":92646,"value":92647,"nodeType":864},{},[],"There are many factors that can make a user account vulnerable to identity-based attack techniques. Using Push data, we calculated how many vulnerable identities the average organization has, showing how different vulnerabilities leave an identity exposed to different methods of account takeover. ",{"data":92649,"content":92650,"nodeType":1009},{},[92651],{"data":92652,"marks":92653,"value":92654,"nodeType":864},{},[],"Our dataset",{"data":92656,"content":92657,"nodeType":860},{},[92658],{"data":92659,"marks":92660,"value":92661,"nodeType":864},{},[],"This analysis is based on a snapshot of when organizations begin using the Push platform, once enrollment has completed. Data from trial and partially deployed organizations is excluded. ",{"data":92663,"content":92664,"nodeType":860},{},[92665],{"data":92666,"marks":92667,"value":92668,"nodeType":864},{},[],"Early adopters of new identity security products like Push are likely to have a higher than average level of maturity in this area – even prior to using Push. So, the findings may not be accurate for all organizations, particularly those with lower awareness of identity security challenges. ",{"data":92670,"content":92671,"nodeType":860},{},[92672],{"data":92673,"marks":92674,"value":92675,"nodeType":864},{},[],"It’s also worth noting that passwordless authentication makes up a very small percentage of the overall authentication factors detected. If you’re in the minority of organizations that have widely adopted something like passkeys or biometric authentication, your identity posture will probably look quite different. But, you should still be wary of backup phishable factors and SSO gaps – more on this below.",{"data":92677,"content":92678,"nodeType":1009},{},[92679],{"data":92680,"marks":92681,"value":92682,"nodeType":864},{},[],"Identity configurations and how they can be exploited",{"data":92684,"content":92685,"nodeType":860},{},[92686],{"data":92687,"marks":92688,"value":92689,"nodeType":864},{},[],"We analyzed a sample dataset of 300,000 accounts and the associated login methods – this is what we found. ",{"data":92691,"content":92694,"nodeType":996},{"target":92692},{"sys":92693},{"id":50890,"type":1001,"linkType":1002},[],{"data":92696,"content":92697,"nodeType":860},{},[92698],{"data":92699,"marks":92700,"value":92701,"nodeType":864},{},[],"Some of the key insights are explored below. ",{"data":92703,"content":92704,"nodeType":1312},{},[92705],{"data":92706,"marks":92707,"value":92708,"nodeType":864},{},[],"Organizations are using more apps and identities than they realize",{"data":92710,"content":92711,"nodeType":860},{},[92712],{"data":92713,"marks":92714,"value":92715,"nodeType":864},{},[],"On average, each employee has ~15 identities tied to the business apps that they use, and each organization uses ~220 apps. The number of apps per organization doesn't show a strong correlation with the size of the organization. But, the number of accounts per user does tend to be lower for organizations with a larger employee base. ",{"data":92717,"content":92718,"nodeType":1312},{},[92719],{"data":92720,"marks":92721,"value":92722,"nodeType":864},{},[],"Many accounts lack the most basic protections",{"data":92724,"content":92725,"nodeType":860},{},[92726],{"data":92727,"marks":92728,"value":92729,"nodeType":864},{},[],"37% of all accounts do not have MFA set, while ~9% of accounts with a password also have a breached, weak, or reused password, making them highly susceptible to account takeover. ",{"data":92731,"content":92732,"nodeType":860},{},[92733,92737,92745],{"data":92734,"marks":92735,"value":92736,"nodeType":864},{},[],"This might not seem that high at face value – but it’s enough that attackers can feasibly take over accounts linked to every business app used in the organization just by abusing password vulnerabilities through attacks like ",{"data":92738,"content":92740,"nodeType":883},{"uri":92739},"https://pushsecurity.com/blog/what-is-credential-stuffing/",[92741],{"data":92742,"marks":92743,"value":87930,"nodeType":864},{},[92744],{"type":1455},{"data":92746,"marks":92747,"value":92748,"nodeType":864},{},[],". For a 1,000 user organization, this leaves them with 1,367 user accounts that are highly vulnerable to account takeover.",{"data":92750,"content":92751,"nodeType":860},{},[92752],{"data":92753,"marks":92754,"value":92755,"nodeType":864},{},[],"The situation gets worse when a password is the sole login method set, with these accounts lacking MFA in 4 out of 5 cases. ",{"data":92757,"content":92758,"nodeType":1312},{},[92759],{"data":92760,"marks":92761,"value":92762,"nodeType":864},{},[],"SSO is not a silver bullet",{"data":92764,"content":92765,"nodeType":860},{},[92766,92770,92777],{"data":92767,"marks":92768,"value":92769,"nodeType":864},{},[],"SSO can be used to reduce an organization's susceptibility to password-based attacks, but the vast majority (97%) of SSO logins track back to an original password login to an IdP (due to the marginal use of passwordless authentication) while in 10% of cases a local password login is set alongside SSO – potentially introducing ",{"data":92771,"content":92772,"nodeType":883},{"uri":17701},[92773],{"data":92774,"marks":92775,"value":17706,"nodeType":864},{},[92776],{"type":1455},{"data":92778,"marks":92779,"value":2924,"nodeType":864},{},[],{"data":92781,"content":92782,"nodeType":860},{},[92783],{"data":92784,"marks":92785,"value":92786,"nodeType":864},{},[],"You might expect these password-based logins to be highly scrutinized due to the criticality of these accounts – but we found that 1 in 5 IdP accounts is missing MFA, and a non-unique password is present for 10% of IdP accounts (meaning that if the same username and password combination is compromised on another app, the risk of a lateral account compromise is much higher). ",{"data":92788,"content":92789,"nodeType":860},{},[92790,92794],{"data":92791,"marks":92792,"value":92793,"nodeType":864},{},[],"Since Microsoft, Okta, and Google IdP accounts are the most targeted identities by attackers due to their value if compromised, these accounts are under a huge amount of pressure from attackers – ",{"data":92795,"marks":92796,"value":92797,"nodeType":864},{},[],"multiplying the risk to single factor authentication IdP accounts.",{"data":92799,"content":92800,"nodeType":1312},{},[92801],{"data":92802,"marks":92803,"value":92804,"nodeType":864},{},[],"Pretty much all identities can be phished",{"data":92806,"content":92807,"nodeType":860},{},[92808,92812,92820,92824,92830],{"data":92809,"marks":92810,"value":92811,"nodeType":864},{},[],"Almost all identities (~99%) are susceptible to phishing attacks – either because MFA is missing, or the types of MFA implemented are weak to modern phishing attacks such as ",{"data":92813,"content":92814,"nodeType":883},{"uri":48106},[92815],{"data":92816,"marks":92817,"value":92819,"nodeType":864},{},[92818],{"type":1455},"Adversary in the Middle (AitM) phishing kits",{"data":92821,"marks":92822,"value":92823,"nodeType":864},{},[],", or techniques such as ",{"data":92825,"content":92826,"nodeType":883},{"uri":26728},[92827],{"data":92828,"marks":92829,"value":26733,"nodeType":864},{},[],{"data":92831,"marks":92832,"value":92833,"nodeType":864},{},[],". The most common MFA methods are phone call, push notification, and one-time passcode – all of which are phishable or bypassable. ",{"data":92835,"content":92836,"nodeType":860},{},[92837],{"data":92838,"marks":92839,"value":92840,"nodeType":864},{},[],"Even in the small number of cases where we identified a passwordless authentication method that is regarded as phishing-resistant (e.g. passkeys, biometrics, etc.) there is a backup, phishable method set for over half of them. ",{"data":92842,"content":92843,"nodeType":1009},{},[92844],{"data":92845,"marks":92846,"value":92847,"nodeType":864},{},[],"So... what does this mean in real terms? ",{"data":92849,"content":92850,"nodeType":860},{},[92851],{"data":92852,"marks":92853,"value":92854,"nodeType":864},{},[],"The main conclusion from the data is that identity vulnerabilities exist almost everywhere. Some are certainly more likely to be exploited than others (e.g. an account with a reused password and no MFA is a higher risk than an account with MFA) but attackers have the means to take over most accounts using widely available tooling and know-how. ",{"data":92856,"content":92857,"nodeType":860},{},[92858],{"data":92859,"marks":92860,"value":92861,"nodeType":864},{},[],"To bring this to life, here’s an infographic representing the identity attack surface for a 1,000 seat organization. ",{"data":92863,"content":92866,"nodeType":996},{"target":92864},{"sys":92865},{"id":30621,"type":1001,"linkType":1002},[],{"data":92868,"content":92869,"nodeType":860},{},[92870],{"data":92871,"marks":92872,"value":92873,"nodeType":864},{},[],"This shows that investing in your identity security baseline only gets you so far – ultimately, you need to be prepared to detect and respond to attacks rather than relying on prevention alone. That said, progress over perfection should always be the aim when it comes to posture management, and shoring up your identity vulnerabilities is an important long-term project. ",{"data":92875,"content":92876,"nodeType":1009},{},[92877],{"data":92878,"marks":92879,"value":92880,"nodeType":864},{},[],"Detection and response is the key",{"data":92882,"content":92883,"nodeType":860},{},[92884],{"data":92885,"marks":92886,"value":92887,"nodeType":864},{},[],"Looking at the scale of the challenge, it’s pretty clear that completely scrubbing your workforce identities of all possible vulnerabilities isn’t really an achievable goal. A strong baseline is important, but it will only ever get you so far. Rather than playing whack-a-mole, organizations need to prepare to detect and respond to the techniques and tools being used by attackers when they exploit these vulnerabilities.  ",{"data":92889,"content":92890,"nodeType":860},{},[92891],{"data":92892,"marks":92893,"value":92894,"nodeType":864},{},[],"This is nothing new – this approach has been preached by security operations leaders for more than a decade. But until now, identity security has been much more focused on prevention than detection and response. And with attackers increasingly turning to identity attacks, the sheer volume of identity vulnerabilities (and the rate that they are introduced) means that posture management alone isn’t sufficient.",{"data":92896,"content":92897,"nodeType":860},{},[92898],{"data":92899,"marks":92900,"value":92901,"nodeType":864},{},[],"Like endpoint and network security before, you can no longer rely on prevention alone, and organizations need to ensure they can detect and respond to indicators of identity attacks to be able to manage the risk effectively. ",{"data":92903,"content":92904,"nodeType":1009},{},[92905],{"data":92906,"marks":92907,"value":8991,"nodeType":864},{},[],{"data":92909,"content":92910,"nodeType":860},{},[92911,92915,92923],{"data":92912,"marks":92913,"value":92914,"nodeType":864},{},[],"Push helps organizations to detect and prevent identity attacks as they happen, by intercepting and shutting down attacks in the browser. It also provides valuable data to find and fix identity vulnerabilities before they can be exploited. ",{"data":92916,"content":92917,"nodeType":883},{"uri":5642},[92918],{"data":92919,"marks":92920,"value":92922,"nodeType":864},{},[92921],{"type":1455},"Book a demo here to find out more.",{"data":92924,"marks":92925,"value":21,"nodeType":864},{},[],{"data":92927,"content":92930,"nodeType":996},{"target":92928},{"sys":92929},{"id":73827,"type":1001,"linkType":1002},[],{"data":92932,"content":92933,"nodeType":860},{},[92934],{"data":92935,"marks":92936,"value":21,"nodeType":864},{},[],{"entries":92938},{"hyperlink":92939,"inline":92940,"block":92941},[],[],[92942,92945,92948],{"sys":92943,"__typename":1724,"title":55406,"caption":55407,"layoutMode":59,"file":92944},{"id":50890},{"url":55409,"width":55410,"height":55410},{"sys":92946,"__typename":1724,"title":33498,"caption":33499,"layoutMode":59,"file":92947},{"id":30621},{"url":33501,"width":33502,"height":33503},{"sys":92949,"__typename":1717,"type":80540,"ctaText":92950,"buttonLabel":92951,"buttonColour":1721,"buttonUrl":59},{"id":73827},"Book a demo to see how Push stops account takeover","Book demo",{"items":92953},[],{},"Using Push data to quantify identity vulnerabilities",{"url":92957},"https://images.ctfassets.net/y1cdw1ablpvd/7v4Zx9Ac2V6txIpDbp0WU4/ae2916d0cd69f4f7e47bf0fc1cff07d3/Sankey_chart_-_cropped_-_higher_res__1_.png","2024-10-15T00:00:00.000Z",{"items":92960},[92961,93954,95181],{"__typename":2059,"sys":92962,"content":92963,"title":79407,"synopsis":82302,"hashTags":59,"publishedDate":82303,"slug":79408,"tagsCollection":93944,"authorsCollection":93950},{"id":79114},{"json":92964},{"data":92965,"content":92966,"nodeType":856},{},[92967,92993,93003,93016,93022,93028,93031,93037,93043,93159,93165,93171,93247,93253,93259,93307,93313,93334,93380,93383,93389,93405,93421,93427,93443,93449,93459,93462,93468,93474,93516,93522,93528,93544,93547,93553,93559,93565,93581,93587,93593,93599,93615,93621,93627,93633,93639,93655,93661,93667,93673,93679,93704,93709,93712,93718,93724,93729,93735,93741,93762,93768,93774,93813,93826,93842,93847,93853,93859,93865,93891,93927,93933,93938],{"data":92968,"content":92969,"nodeType":860},{},[92970,92973,92980,92983,92990],{"data":92971,"marks":92972,"value":81175,"nodeType":864},{},[],{"data":92974,"content":92975,"nodeType":883},{"uri":34109},[92976],{"data":92977,"marks":92978,"value":81183,"nodeType":864},{},[92979],{"type":1455},{"data":92981,"marks":92982,"value":3748,"nodeType":864},{},[],{"data":92984,"content":92985,"nodeType":883},{"uri":6300},[92986],{"data":92987,"marks":92988,"value":81194,"nodeType":864},{},[92989],{"type":1455},{"data":92991,"marks":92992,"value":81198,"nodeType":864},{},[],{"data":92994,"content":92995,"nodeType":860},{},[92996,92999],{"data":92997,"marks":92998,"value":81205,"nodeType":864},{},[],{"data":93000,"marks":93001,"value":81210,"nodeType":864},{},[93002],{"type":899},{"data":93004,"content":93005,"nodeType":860},{},[93006,93009,93013],{"data":93007,"marks":93008,"value":81217,"nodeType":864},{},[],{"data":93010,"marks":93011,"value":81222,"nodeType":864},{},[93012],{"type":899},{"data":93014,"marks":93015,"value":81226,"nodeType":864},{},[],{"data":93017,"content":93018,"nodeType":860},{},[93019],{"data":93020,"marks":93021,"value":81233,"nodeType":864},{},[],{"data":93023,"content":93024,"nodeType":860},{},[93025],{"data":93026,"marks":93027,"value":81240,"nodeType":864},{},[],{"data":93029,"content":93030,"nodeType":1005},{},[],{"data":93032,"content":93033,"nodeType":1009},{},[93034],{"data":93035,"marks":93036,"value":81250,"nodeType":864},{},[],{"data":93038,"content":93039,"nodeType":860},{},[93040],{"data":93041,"marks":93042,"value":81257,"nodeType":864},{},[],{"data":93044,"content":93045,"nodeType":941},{},[93046,93065,93084,93103,93122,93140],{"data":93047,"content":93048,"nodeType":945},{},[93049],{"data":93050,"content":93051,"nodeType":860},{},[93052,93055,93062],{"data":93053,"marks":93054,"value":81270,"nodeType":864},{},[],{"data":93056,"content":93057,"nodeType":883},{"uri":81273},[93058],{"data":93059,"marks":93060,"value":81279,"nodeType":864},{},[93061],{"type":1455},{"data":93063,"marks":93064,"value":22438,"nodeType":864},{},[],{"data":93066,"content":93067,"nodeType":945},{},[93068],{"data":93069,"content":93070,"nodeType":860},{},[93071,93074,93081],{"data":93072,"marks":93073,"value":68365,"nodeType":864},{},[],{"data":93075,"content":93076,"nodeType":883},{"uri":68368},[93077],{"data":93078,"marks":93079,"value":68374,"nodeType":864},{},[93080],{"type":1455},{"data":93082,"marks":93083,"value":22438,"nodeType":864},{},[],{"data":93085,"content":93086,"nodeType":945},{},[93087],{"data":93088,"content":93089,"nodeType":860},{},[93090,93093,93100],{"data":93091,"marks":93092,"value":81311,"nodeType":864},{},[],{"data":93094,"content":93095,"nodeType":883},{"uri":81314},[93096],{"data":93097,"marks":93098,"value":23700,"nodeType":864},{},[93099],{"type":1455},{"data":93101,"marks":93102,"value":12285,"nodeType":864},{},[],{"data":93104,"content":93105,"nodeType":945},{},[93106],{"data":93107,"content":93108,"nodeType":860},{},[93109,93112,93119],{"data":93110,"marks":93111,"value":81332,"nodeType":864},{},[],{"data":93113,"content":93114,"nodeType":883},{"uri":4408},[93115],{"data":93116,"marks":93117,"value":27246,"nodeType":864},{},[93118],{"type":1455},{"data":93120,"marks":93121,"value":22438,"nodeType":864},{},[],{"data":93123,"content":93124,"nodeType":945},{},[93125],{"data":93126,"content":93127,"nodeType":860},{},[93128,93131,93137],{"data":93129,"marks":93130,"value":81352,"nodeType":864},{},[],{"data":93132,"content":93133,"nodeType":883},{"uri":68390},[93134],{"data":93135,"marks":93136,"value":68396,"nodeType":864},{},[],{"data":93138,"marks":93139,"value":22438,"nodeType":864},{},[],{"data":93141,"content":93142,"nodeType":945},{},[93143],{"data":93144,"content":93145,"nodeType":860},{},[93146,93149,93156],{"data":93147,"marks":93148,"value":81371,"nodeType":864},{},[],{"data":93150,"content":93151,"nodeType":883},{"uri":68432},[93152],{"data":93153,"marks":93154,"value":68438,"nodeType":864},{},[93155],{"type":1455},{"data":93157,"marks":93158,"value":22438,"nodeType":864},{},[],{"data":93160,"content":93161,"nodeType":1312},{},[93162],{"data":93163,"marks":93164,"value":81388,"nodeType":864},{},[],{"data":93166,"content":93167,"nodeType":860},{},[93168],{"data":93169,"marks":93170,"value":81395,"nodeType":864},{},[],{"data":93172,"content":93173,"nodeType":860},{},[93174,93177,93184,93187,93194,93197,93204,93207,93214,93217,93224,93227,93234,93237,93244],{"data":93175,"marks":93176,"value":81402,"nodeType":864},{},[],{"data":93178,"content":93179,"nodeType":883},{"uri":81405},[93180],{"data":93181,"marks":93182,"value":81411,"nodeType":864},{},[93183],{"type":1455},{"data":93185,"marks":93186,"value":81415,"nodeType":864},{},[],{"data":93188,"content":93189,"nodeType":883},{"uri":81418},[93190],{"data":93191,"marks":93192,"value":81424,"nodeType":864},{},[93193],{"type":1455},{"data":93195,"marks":93196,"value":81428,"nodeType":864},{},[],{"data":93198,"content":93199,"nodeType":883},{"uri":81431},[93200],{"data":93201,"marks":93202,"value":81437,"nodeType":864},{},[93203],{"type":1455},{"data":93205,"marks":93206,"value":3731,"nodeType":864},{},[],{"data":93208,"content":93209,"nodeType":883},{"uri":81443},[93210],{"data":93211,"marks":93212,"value":81449,"nodeType":864},{},[93213],{"type":1455},{"data":93215,"marks":93216,"value":3731,"nodeType":864},{},[],{"data":93218,"content":93219,"nodeType":883},{"uri":81455},[93220],{"data":93221,"marks":93222,"value":81461,"nodeType":864},{},[93223],{"type":1455},{"data":93225,"marks":93226,"value":3731,"nodeType":864},{},[],{"data":93228,"content":93229,"nodeType":883},{"uri":81467},[93230],{"data":93231,"marks":93232,"value":81473,"nodeType":864},{},[93233],{"type":1455},{"data":93235,"marks":93236,"value":2232,"nodeType":864},{},[],{"data":93238,"content":93239,"nodeType":883},{"uri":81479},[93240],{"data":93241,"marks":93242,"value":81485,"nodeType":864},{},[93243],{"type":1455},{"data":93245,"marks":93246,"value":81489,"nodeType":864},{},[],{"data":93248,"content":93249,"nodeType":860},{},[93250],{"data":93251,"marks":93252,"value":81496,"nodeType":864},{},[],{"data":93254,"content":93255,"nodeType":860},{},[93256],{"data":93257,"marks":93258,"value":81503,"nodeType":864},{},[],{"data":93260,"content":93261,"nodeType":941},{},[93262,93271,93280,93289,93298],{"data":93263,"content":93264,"nodeType":945},{},[93265],{"data":93266,"content":93267,"nodeType":860},{},[93268],{"data":93269,"marks":93270,"value":81516,"nodeType":864},{},[],{"data":93272,"content":93273,"nodeType":945},{},[93274],{"data":93275,"content":93276,"nodeType":860},{},[93277],{"data":93278,"marks":93279,"value":81526,"nodeType":864},{},[],{"data":93281,"content":93282,"nodeType":945},{},[93283],{"data":93284,"content":93285,"nodeType":860},{},[93286],{"data":93287,"marks":93288,"value":81536,"nodeType":864},{},[],{"data":93290,"content":93291,"nodeType":945},{},[93292],{"data":93293,"content":93294,"nodeType":860},{},[93295],{"data":93296,"marks":93297,"value":81546,"nodeType":864},{},[],{"data":93299,"content":93300,"nodeType":945},{},[93301],{"data":93302,"content":93303,"nodeType":860},{},[93304],{"data":93305,"marks":93306,"value":81556,"nodeType":864},{},[],{"data":93308,"content":93309,"nodeType":860},{},[93310],{"data":93311,"marks":93312,"value":81563,"nodeType":864},{},[],{"data":93314,"content":93315,"nodeType":941},{},[93316,93325],{"data":93317,"content":93318,"nodeType":945},{},[93319],{"data":93320,"content":93321,"nodeType":860},{},[93322],{"data":93323,"marks":93324,"value":81576,"nodeType":864},{},[],{"data":93326,"content":93327,"nodeType":945},{},[93328],{"data":93329,"content":93330,"nodeType":860},{},[93331],{"data":93332,"marks":93333,"value":81586,"nodeType":864},{},[],{"data":93335,"content":93336,"nodeType":860},{},[93337,93340,93347,93350,93357,93360,93367,93370,93377],{"data":93338,"marks":93339,"value":81593,"nodeType":864},{},[],{"data":93341,"content":93342,"nodeType":883},{"uri":81596},[93343],{"data":93344,"marks":93345,"value":81602,"nodeType":864},{},[93346],{"type":1455},{"data":93348,"marks":93349,"value":3731,"nodeType":864},{},[],{"data":93351,"content":93352,"nodeType":883},{"uri":81608},[93353],{"data":93354,"marks":93355,"value":81614,"nodeType":864},{},[93356],{"type":1455},{"data":93358,"marks":93359,"value":2232,"nodeType":864},{},[],{"data":93361,"content":93362,"nodeType":883},{"uri":81620},[93363],{"data":93364,"marks":93365,"value":81626,"nodeType":864},{},[93366],{"type":1455},{"data":93368,"marks":93369,"value":81630,"nodeType":864},{},[],{"data":93371,"content":93372,"nodeType":883},{"uri":81633},[93373],{"data":93374,"marks":93375,"value":81639,"nodeType":864},{},[93376],{"type":1455},{"data":93378,"marks":93379,"value":81643,"nodeType":864},{},[],{"data":93381,"content":93382,"nodeType":1005},{},[],{"data":93384,"content":93385,"nodeType":1009},{},[93386],{"data":93387,"marks":93388,"value":81653,"nodeType":864},{},[],{"data":93390,"content":93391,"nodeType":860},{},[93392,93395,93402],{"data":93393,"marks":93394,"value":81660,"nodeType":864},{},[],{"data":93396,"content":93397,"nodeType":883},{"uri":81273},[93398],{"data":93399,"marks":93400,"value":81668,"nodeType":864},{},[93401],{"type":1455},{"data":93403,"marks":93404,"value":81672,"nodeType":864},{},[],{"data":93406,"content":93407,"nodeType":860},{},[93408,93411,93418],{"data":93409,"marks":93410,"value":81679,"nodeType":864},{},[],{"data":93412,"content":93413,"nodeType":883},{"uri":81682},[93414],{"data":93415,"marks":93416,"value":81688,"nodeType":864},{},[93417],{"type":1455},{"data":93419,"marks":93420,"value":81692,"nodeType":864},{},[],{"data":93422,"content":93423,"nodeType":860},{},[93424],{"data":93425,"marks":93426,"value":81699,"nodeType":864},{},[],{"data":93428,"content":93429,"nodeType":860},{},[93430,93433,93440],{"data":93431,"marks":93432,"value":21,"nodeType":864},{},[],{"data":93434,"content":93435,"nodeType":883},{"uri":81708},[93436],{"data":93437,"marks":93438,"value":81714,"nodeType":864},{},[93439],{"type":1455},{"data":93441,"marks":93442,"value":81718,"nodeType":864},{},[],{"data":93444,"content":93445,"nodeType":860},{},[93446],{"data":93447,"marks":93448,"value":81725,"nodeType":864},{},[],{"data":93450,"content":93451,"nodeType":860},{},[93452,93456],{"data":93453,"marks":93454,"value":81733,"nodeType":864},{},[93455],{"type":899},{"data":93457,"marks":93458,"value":81737,"nodeType":864},{},[],{"data":93460,"content":93461,"nodeType":1005},{},[],{"data":93463,"content":93464,"nodeType":1009},{},[93465],{"data":93466,"marks":93467,"value":81747,"nodeType":864},{},[],{"data":93469,"content":93470,"nodeType":860},{},[93471],{"data":93472,"marks":93473,"value":81754,"nodeType":864},{},[],{"data":93475,"content":93476,"nodeType":941},{},[93477,93490,93503],{"data":93478,"content":93479,"nodeType":945},{},[93480],{"data":93481,"content":93482,"nodeType":860},{},[93483,93487],{"data":93484,"marks":93485,"value":81768,"nodeType":864},{},[93486],{"type":899},{"data":93488,"marks":93489,"value":81772,"nodeType":864},{},[],{"data":93491,"content":93492,"nodeType":945},{},[93493],{"data":93494,"content":93495,"nodeType":860},{},[93496,93500],{"data":93497,"marks":93498,"value":81783,"nodeType":864},{},[93499],{"type":899},{"data":93501,"marks":93502,"value":81787,"nodeType":864},{},[],{"data":93504,"content":93505,"nodeType":945},{},[93506],{"data":93507,"content":93508,"nodeType":860},{},[93509,93513],{"data":93510,"marks":93511,"value":81798,"nodeType":864},{},[93512],{"type":899},{"data":93514,"marks":93515,"value":81802,"nodeType":864},{},[],{"data":93517,"content":93518,"nodeType":860},{},[93519],{"data":93520,"marks":93521,"value":81809,"nodeType":864},{},[],{"data":93523,"content":93524,"nodeType":860},{},[93525],{"data":93526,"marks":93527,"value":81816,"nodeType":864},{},[],{"data":93529,"content":93530,"nodeType":860},{},[93531,93534,93541],{"data":93532,"marks":93533,"value":81823,"nodeType":864},{},[],{"data":93535,"content":93536,"nodeType":883},{"uri":17701},[93537],{"data":93538,"marks":93539,"value":17706,"nodeType":864},{},[93540],{"type":1455},{"data":93542,"marks":93543,"value":81834,"nodeType":864},{},[],{"data":93545,"content":93546,"nodeType":1005},{},[],{"data":93548,"content":93549,"nodeType":1009},{},[93550],{"data":93551,"marks":93552,"value":81844,"nodeType":864},{},[],{"data":93554,"content":93555,"nodeType":860},{},[93556],{"data":93557,"marks":93558,"value":81851,"nodeType":864},{},[],{"data":93560,"content":93561,"nodeType":1312},{},[93562],{"data":93563,"marks":93564,"value":81858,"nodeType":864},{},[],{"data":93566,"content":93567,"nodeType":860},{},[93568,93571,93578],{"data":93569,"marks":93570,"value":81865,"nodeType":864},{},[],{"data":93572,"content":93573,"nodeType":883},{"uri":81868},[93574],{"data":93575,"marks":93576,"value":81874,"nodeType":864},{},[93577],{"type":1455},{"data":93579,"marks":93580,"value":2924,"nodeType":864},{},[],{"data":93582,"content":93583,"nodeType":860},{},[93584],{"data":93585,"marks":93586,"value":81884,"nodeType":864},{},[],{"data":93588,"content":93589,"nodeType":1312},{},[93590],{"data":93591,"marks":93592,"value":81891,"nodeType":864},{},[],{"data":93594,"content":93595,"nodeType":860},{},[93596],{"data":93597,"marks":93598,"value":81898,"nodeType":864},{},[],{"data":93600,"content":93601,"nodeType":860},{},[93602,93605,93612],{"data":93603,"marks":93604,"value":81905,"nodeType":864},{},[],{"data":93606,"content":93607,"nodeType":883},{"uri":34519},[93608],{"data":93609,"marks":93610,"value":34525,"nodeType":864},{},[93611],{"type":1455},{"data":93613,"marks":93614,"value":81916,"nodeType":864},{},[],{"data":93616,"content":93617,"nodeType":1312},{},[93618],{"data":93619,"marks":93620,"value":81923,"nodeType":864},{},[],{"data":93622,"content":93623,"nodeType":860},{},[93624],{"data":93625,"marks":93626,"value":81930,"nodeType":864},{},[],{"data":93628,"content":93629,"nodeType":860},{},[93630],{"data":93631,"marks":93632,"value":81937,"nodeType":864},{},[],{"data":93634,"content":93635,"nodeType":860},{},[93636],{"data":93637,"marks":93638,"value":81944,"nodeType":864},{},[],{"data":93640,"content":93641,"nodeType":860},{},[93642,93645,93652],{"data":93643,"marks":93644,"value":81951,"nodeType":864},{},[],{"data":93646,"content":93647,"nodeType":883},{"uri":81954},[93648],{"data":93649,"marks":93650,"value":81960,"nodeType":864},{},[93651],{"type":1455},{"data":93653,"marks":93654,"value":12252,"nodeType":864},{},[],{"data":93656,"content":93657,"nodeType":1312},{},[93658],{"data":93659,"marks":93660,"value":81970,"nodeType":864},{},[],{"data":93662,"content":93663,"nodeType":860},{},[93664],{"data":93665,"marks":93666,"value":81977,"nodeType":864},{},[],{"data":93668,"content":93669,"nodeType":860},{},[93670],{"data":93671,"marks":93672,"value":81984,"nodeType":864},{},[],{"data":93674,"content":93675,"nodeType":860},{},[93676],{"data":93677,"marks":93678,"value":81991,"nodeType":864},{},[],{"data":93680,"content":93681,"nodeType":860},{},[93682,93685,93692,93695,93701],{"data":93683,"marks":93684,"value":81998,"nodeType":864},{},[],{"data":93686,"content":93687,"nodeType":883},{"uri":42040},[93688],{"data":93689,"marks":93690,"value":82006,"nodeType":864},{},[93691],{"type":1455},{"data":93693,"marks":93694,"value":82010,"nodeType":864},{},[],{"data":93696,"content":93697,"nodeType":883},{"uri":48106},[93698],{"data":93699,"marks":93700,"value":48112,"nodeType":864},{},[],{"data":93702,"marks":93703,"value":82020,"nodeType":864},{},[],{"data":93705,"content":93708,"nodeType":996},{"target":93706},{"sys":93707},{"id":82025,"type":1001,"linkType":1002},[],{"data":93710,"content":93711,"nodeType":1005},{},[],{"data":93713,"content":93714,"nodeType":1009},{},[93715],{"data":93716,"marks":93717,"value":82036,"nodeType":864},{},[],{"data":93719,"content":93720,"nodeType":860},{},[93721],{"data":93722,"marks":93723,"value":82043,"nodeType":864},{},[],{"data":93725,"content":93728,"nodeType":996},{"target":93726},{"sys":93727},{"id":82048,"type":1001,"linkType":1002},[],{"data":93730,"content":93731,"nodeType":1009},{},[93732],{"data":93733,"marks":93734,"value":82056,"nodeType":864},{},[],{"data":93736,"content":93737,"nodeType":860},{},[93738],{"data":93739,"marks":93740,"value":82063,"nodeType":864},{},[],{"data":93742,"content":93743,"nodeType":941},{},[93744,93753],{"data":93745,"content":93746,"nodeType":945},{},[93747],{"data":93748,"content":93749,"nodeType":860},{},[93750],{"data":93751,"marks":93752,"value":82076,"nodeType":864},{},[],{"data":93754,"content":93755,"nodeType":945},{},[93756],{"data":93757,"content":93758,"nodeType":860},{},[93759],{"data":93760,"marks":93761,"value":82086,"nodeType":864},{},[],{"data":93763,"content":93764,"nodeType":860},{},[93765],{"data":93766,"marks":93767,"value":82093,"nodeType":864},{},[],{"data":93769,"content":93770,"nodeType":860},{},[93771],{"data":93772,"marks":93773,"value":82100,"nodeType":864},{},[],{"data":93775,"content":93776,"nodeType":941},{},[93777,93786,93795,93804],{"data":93778,"content":93779,"nodeType":945},{},[93780],{"data":93781,"content":93782,"nodeType":860},{},[93783],{"data":93784,"marks":93785,"value":82113,"nodeType":864},{},[],{"data":93787,"content":93788,"nodeType":945},{},[93789],{"data":93790,"content":93791,"nodeType":860},{},[93792],{"data":93793,"marks":93794,"value":82123,"nodeType":864},{},[],{"data":93796,"content":93797,"nodeType":945},{},[93798],{"data":93799,"content":93800,"nodeType":860},{},[93801],{"data":93802,"marks":93803,"value":82133,"nodeType":864},{},[],{"data":93805,"content":93806,"nodeType":945},{},[93807],{"data":93808,"content":93809,"nodeType":860},{},[93810],{"data":93811,"marks":93812,"value":82143,"nodeType":864},{},[],{"data":93814,"content":93815,"nodeType":860},{},[93816,93819,93823],{"data":93817,"marks":93818,"value":82150,"nodeType":864},{},[],{"data":93820,"marks":93821,"value":82155,"nodeType":864},{},[93822],{"type":899},{"data":93824,"marks":93825,"value":82159,"nodeType":864},{},[],{"data":93827,"content":93828,"nodeType":860},{},[93829,93832,93839],{"data":93830,"marks":93831,"value":82166,"nodeType":864},{},[],{"data":93833,"content":93834,"nodeType":883},{"uri":34857},[93835],{"data":93836,"marks":93837,"value":82174,"nodeType":864},{},[93838],{"type":1455},{"data":93840,"marks":93841,"value":82178,"nodeType":864},{},[],{"data":93843,"content":93846,"nodeType":996},{"target":93844},{"sys":93845},{"id":82183,"type":1001,"linkType":1002},[],{"data":93848,"content":93849,"nodeType":1312},{},[93850],{"data":93851,"marks":93852,"value":82191,"nodeType":864},{},[],{"data":93854,"content":93855,"nodeType":860},{},[93856],{"data":93857,"marks":93858,"value":82198,"nodeType":864},{},[],{"data":93860,"content":93861,"nodeType":860},{},[93862],{"data":93863,"marks":93864,"value":82205,"nodeType":864},{},[],{"data":93866,"content":93867,"nodeType":860},{},[93868,93871,93878,93881,93888],{"data":93869,"marks":93870,"value":82212,"nodeType":864},{},[],{"data":93872,"content":93873,"nodeType":883},{"uri":82215},[93874],{"data":93875,"marks":93876,"value":82221,"nodeType":864},{},[93877],{"type":1455},{"data":93879,"marks":93880,"value":82225,"nodeType":864},{},[],{"data":93882,"content":93883,"nodeType":883},{"uri":82215},[93884],{"data":93885,"marks":93886,"value":82233,"nodeType":864},{},[93887],{"type":1455},{"data":93889,"marks":93890,"value":82237,"nodeType":864},{},[],{"data":93892,"content":93893,"nodeType":860},{},[93894,93897,93904,93907,93914,93917,93924],{"data":93895,"marks":93896,"value":82244,"nodeType":864},{},[],{"data":93898,"content":93899,"nodeType":883},{"uri":82247},[93900],{"data":93901,"marks":93902,"value":82253,"nodeType":864},{},[93903],{"type":1455},{"data":93905,"marks":93906,"value":12960,"nodeType":864},{},[],{"data":93908,"content":93909,"nodeType":883},{"uri":82259},[93910],{"data":93911,"marks":93912,"value":82265,"nodeType":864},{},[93913],{"type":1455},{"data":93915,"marks":93916,"value":82269,"nodeType":864},{},[],{"data":93918,"content":93919,"nodeType":883},{"uri":82272},[93920],{"data":93921,"marks":93922,"value":82278,"nodeType":864},{},[93923],{"type":1455},{"data":93925,"marks":93926,"value":82282,"nodeType":864},{},[],{"data":93928,"content":93929,"nodeType":860},{},[93930],{"data":93931,"marks":93932,"value":82289,"nodeType":864},{},[],{"data":93934,"content":93937,"nodeType":996},{"target":93935},{"sys":93936},{"id":82294,"type":1001,"linkType":1002},[],{"data":93939,"content":93940,"nodeType":860},{},[93941],{"data":93942,"marks":93943,"value":21,"nodeType":864},{},[],{"items":93945},[93946,93948],{"sys":93947,"name":6593},{"id":6592},{"sys":93949,"name":342},{"id":6596},{"items":93951},[93952],{"fullName":2736,"firstName":2737,"jobTitle":2738,"profilePicture":93953},{"url":2740},{"__typename":2059,"sys":93955,"content":93957,"title":95167,"synopsis":95168,"hashTags":59,"publishedDate":95169,"slug":95170,"tagsCollection":95171,"authorsCollection":95177},{"id":93956},"489LTCEVau7lh88tLgSPX5",{"json":93958},{"data":93959,"content":93960,"nodeType":856},{},[93961,93968,93988,93995,94001,94008,94040,94046,94052,94059,94066,94072,94079,94099,94106,94113,94119,94126,94133,94181,94199,94206,94213,94220,94225,94232,94239,94246,94253,94260,94267,94279,94285,94292,94309,94327,94334,94341,94361,94368,94385,94392,94441,94448,94467,94474,94479,94496,94514,94521,94539,94546,94552,94559,94575,94582,94589,94595,94602,94609,94616,94623,94628,94635,94642,94649,94656,94662,94669,94676,94688,94704,94711,94718,94784,94791,94798,94805,94812,94819,94826,94833,94840,94858,94865,94871,94878,94884,94891,94898,94905,94911,94918,94925,94932,94965,94972,94979,94986,94993,95000,95007,95014,95021,95069,95075,95082,95125,95131,95138,95155,95161],{"data":93962,"content":93963,"nodeType":860},{},[93964],{"data":93965,"marks":93966,"value":93967,"nodeType":864},{},[],"The last time “hacking” topped the attacker actions chart in a Verizon DBIR, Gamestop was being saved by Redditors, ChatGPT didn’t exist, and Will Smith was welcome at the Oscars. ",{"data":93969,"content":93970,"nodeType":860},{},[93971,93975,93984],{"data":93972,"marks":93973,"value":93974,"nodeType":864},{},[],"That’s right, it was back in the ",{"data":93976,"content":93978,"nodeType":883},{"uri":93977},"https://www.verizon.com/business/resources/reports/dbir/2021/masters-guide/",[93979],{"data":93980,"marks":93981,"value":93983,"nodeType":864},{},[93982],{"type":1455},"2021 DBIR",{"data":93985,"marks":93986,"value":93987,"nodeType":864},{},[]," that good old-fashioned hacking was the thing hackers did the most. ",{"data":93989,"content":93990,"nodeType":860},{},[93991],{"data":93992,"marks":93993,"value":93994,"nodeType":864},{},[],"In every report since, stolen credentials have been the most common “select way-in” (weird term, I know). In this year’s DBIR, stolen credentials accounted for roughly half of the breaches recorded. ",{"data":93996,"content":94000,"nodeType":996},{"target":93997},{"sys":93998},{"id":93999,"type":1001,"linkType":1002},"16WQ5Siz92HZKCjDsxWBdr",[],{"data":94002,"content":94003,"nodeType":860},{},[94004],{"data":94005,"marks":94006,"value":94007,"nodeType":864},{},[],"These stats, along with others like CrowdStrike’s widely cited “80% of attacks involve identity and compromised credentials,” continue to prove that “hackers don’t hack in, they log in.” ",{"data":94009,"content":94010,"nodeType":860},{},[94011,94015,94023,94027,94036],{"data":94012,"marks":94013,"value":94014,"nodeType":864},{},[],"In the last year, more stories behind those statistics have started to emerge with a series of high profile “no-hack” identity attacks hitting the headlines – the most recent being the ",{"data":94016,"content":94018,"nodeType":883},{"uri":94017},"https://pushsecurity.com/resources/video/snowflake-the-tip-of-the-iceberg/",[94019],{"data":94020,"marks":94021,"value":65396,"nodeType":864},{},[94022],{"type":1455},{"data":94024,"marks":94025,"value":94026,"nodeType":864},{},[],". You can read more about that breach and others in our repository of ",{"data":94028,"content":94030,"nodeType":883},{"uri":94029},"https://pushsecurity.com/blog/identity-attacks-in-the-wild/",[94031],{"data":94032,"marks":94033,"value":94035,"nodeType":864},{},[94034],{"type":1455},"identity attacks in the wild",{"data":94037,"marks":94038,"value":94039,"nodeType":864},{},[]," where we take a deep dive into the techniques attackers have been using. ",{"data":94041,"content":94045,"nodeType":996},{"target":94042},{"sys":94043},{"id":94044,"type":1001,"linkType":1002},"6QY3hnMLMJvnk6zYHYa6pf",[],{"data":94047,"content":94051,"nodeType":996},{"target":94048},{"sys":94049},{"id":94050,"type":1001,"linkType":1002},"7oAUuhbwgEH5XnDZrm5Zk9",[],{"data":94053,"content":94054,"nodeType":860},{},[94055],{"data":94056,"marks":94057,"value":94058,"nodeType":864},{},[],"Why should they go to the effort of targeting hardened and well-monitored attack surfaces like networks and endpoints with 0-day exploits or EDR-evading malware, when they can instead simply take a set of stolen credentials and fire them at popular business apps to see which pop open?",{"data":94060,"content":94061,"nodeType":860},{},[94062],{"data":94063,"marks":94064,"value":94065,"nodeType":864},{},[],"Taking over an account is the equivalent of compromising an endpoint or getting a foothold on a web-facing server. From this point, an attacker can move laterally, escalate their privileges, and achieve their objective of deploying ransomware, stealing data or disrupting business-critical systems. ",{"data":94067,"content":94071,"nodeType":996},{"target":94068},{"sys":94069},{"id":94070,"type":1001,"linkType":1002},"3vdbE3kqFxvhE145q2CwOy",[],{"data":94073,"content":94074,"nodeType":860},{},[94075],{"data":94076,"marks":94077,"value":94078,"nodeType":864},{},[],"The data shows that account takeover, whether it’s using stolen credentials or session tokens, is now the route of least resistance for attackers, and the #1 attack vector for security teams to defend against.",{"data":94080,"content":94081,"nodeType":860},{},[94082,94086,94095],{"data":94083,"marks":94084,"value":94085,"nodeType":864},{},[],"I’m sure you already use a number of tools to secure your workforce identities – MFA, SSO, EDR, etc., and all of them have an important role to play. That said, they also have limitations that attackers are exploiting. We’ve laid out some of the ",{"data":94087,"content":94089,"nodeType":883},{"uri":94088},"https://pushsecurity.com/blog/5-reasons-why-push-security-shouldnt-exist/",[94090],{"data":94091,"marks":94092,"value":94094,"nodeType":864},{},[94093],{"type":1455},"typical misconceptions that can undermine an identity security strategy",{"data":94096,"marks":94097,"value":94098,"nodeType":864},{},[]," so you can avoid the common pitfalls and achieve defense in depth.",{"data":94100,"content":94101,"nodeType":1009},{},[94102],{"data":94103,"marks":94104,"value":94105,"nodeType":864},{},[],"Push vs. account takeover techniques",{"data":94107,"content":94108,"nodeType":860},{},[94109],{"data":94110,"marks":94111,"value":94112,"nodeType":864},{},[],"In this article, we’re going to show you how to use Push to bolster your identity security strategy and prevent account takeover. More specifically, we’ll cover how Push prevents, detects, and blocks some of the common attack techniques seen in this account takeover attack chain:",{"data":94114,"content":94118,"nodeType":996},{"target":94115},{"sys":94116},{"id":94117,"type":1001,"linkType":1002},"1FPMzCU0mBgpg1GMSz1sJH",[],{"data":94120,"content":94121,"nodeType":860},{},[94122],{"data":94123,"marks":94124,"value":94125,"nodeType":864},{},[],"Push uses browser data collected by our browser agent to either detect the attack techniques directly, or identify the vulnerabilities being exploited. Upon making a detection, the browser agent enforces a relevant security control to either block the attack or prevent the user from introducing a vulnerability.",{"data":94127,"content":94128,"nodeType":860},{},[94129],{"data":94130,"marks":94131,"value":94132,"nodeType":864},{},[],"If you’re wondering why we’ve opted to build our tool in the browser, the short answer is that being in the browser gives us:",{"data":94134,"content":94135,"nodeType":941},{},[94136,94151,94166],{"data":94137,"content":94138,"nodeType":945},{},[94139],{"data":94140,"content":94141,"nodeType":860},{},[94142,94147],{"data":94143,"marks":94144,"value":94146,"nodeType":864},{},[94145],{"type":899},"The broadest visibility",{"data":94148,"marks":94149,"value":94150,"nodeType":864},{},[]," across all workforce identities, including unmanaged identities outside your IdP.",{"data":94152,"content":94153,"nodeType":945},{},[94154],{"data":94155,"content":94156,"nodeType":860},{},[94157,94162],{"data":94158,"marks":94159,"value":94161,"nodeType":864},{},[94160],{"type":899},"The best telemetry",{"data":94163,"marks":94164,"value":94165,"nodeType":864},{},[]," for detecting identity attack TTPs and tools.",{"data":94167,"content":94168,"nodeType":945},{},[94169],{"data":94170,"content":94171,"nodeType":860},{},[94172,94177],{"data":94173,"marks":94174,"value":94176,"nodeType":864},{},[94175],{"type":899},"The perfect enforcement point",{"data":94178,"marks":94179,"value":94180,"nodeType":864},{},[]," for stopping attacker actions or risky employee actions in real time. ",{"data":94182,"content":94183,"nodeType":860},{},[94184,94188,94196],{"data":94185,"marks":94186,"value":94187,"nodeType":864},{},[],"If you want a more detailed technical explanation, you can read this article by Dan on ",{"data":94189,"content":94190,"nodeType":883},{"uri":36853},[94191],{"data":94192,"marks":94193,"value":94195,"nodeType":864},{},[94194],{"type":1455},"why browser data is a better source of telemetry for detecting identity attacks than network, IdP and app logs",{"data":94197,"marks":94198,"value":2924,"nodeType":864},{},[],{"data":94200,"content":94201,"nodeType":860},{},[94202],{"data":94203,"marks":94204,"value":94205,"nodeType":864},{},[],"Now we’ve cleared that up, let's look at some account takeover techniques.",{"data":94207,"content":94208,"nodeType":1009},{},[94209],{"data":94210,"marks":94211,"value":94212,"nodeType":864},{},[],"Part 1: Phishing (including AitM and BitM toolkits)",{"data":94214,"content":94215,"nodeType":860},{},[94216],{"data":94217,"marks":94218,"value":94219,"nodeType":864},{},[],"Phishing has been around since forever and there’s a mature category of solutions that are designed to detect and prevent it. But despite solutions like security awareness training, phishing domain detection services and email filtering tools, phishing is still one of the top breach vectors. ",{"data":94221,"content":94224,"nodeType":996},{"target":94222},{"sys":94223},{"id":53603,"type":1001,"linkType":1002},[],{"data":94226,"content":94227,"nodeType":860},{},[94228],{"data":94229,"marks":94230,"value":94231,"nodeType":864},{},[],"We’ve all been conditioned to think about phishing as something that happens over email, but it’s actually the browser where most of the action happens, regardless of the initial delivery channel. Push’s position in the browser gives you the ideal vantage point for detecting and stopping phishing attacks.",{"data":94233,"content":94234,"nodeType":860},{},[94235],{"data":94236,"marks":94237,"value":94238,"nodeType":864},{},[],"The Push browser agent performs both passive observation and active interrogation in order to detect employees having their passwords harvested or visiting cloned app login pages or pages using AitM/BitM toolkits. Phishing attacks are detected in real time so Push blocks them before your employees can enter their credentials.",{"data":94240,"content":94241,"nodeType":1312},{},[94242],{"data":94243,"marks":94244,"value":94245,"nodeType":864},{},[],"Detecting phishing through user behavior",{"data":94247,"content":94248,"nodeType":860},{},[94249],{"data":94250,"marks":94251,"value":94252,"nodeType":864},{},[],"Rather than trying to detect phishing websites and domains that constantly change, Push detects and blocks phishing attempts based on observing user behavior in the browser.",{"data":94254,"content":94255,"nodeType":860},{},[94256],{"data":94257,"marks":94258,"value":94259,"nodeType":864},{},[],"Push does this by observing all logins and generating a fingerprint (or technically a k-anonymized salted partial hash) of the user’s password. This fingerprint is then stored locally to allow Push to perform comparisons.",{"data":94261,"content":94262,"nodeType":860},{},[94263],{"data":94264,"marks":94265,"value":94266,"nodeType":864},{},[],"To detect potential phishing attacks, the browser agent compares the observed password fingerprint to known fingerprints for passwords that already exist in local storage.",{"data":94268,"content":94269,"nodeType":860},{},[94270,94275],{"data":94271,"marks":94272,"value":94274,"nodeType":864},{},[94273],{"type":899},"This means that it works even if that employee was the first person to get phished using a new attacker site: ",{"data":94276,"marks":94277,"value":94278,"nodeType":864},{},[],"Push still detects it and blocks it before your employee can submit their credentials. It also works regardless of the delivery vector used to get the phishing link to the intended victim.",{"data":94280,"content":94284,"nodeType":996},{"target":94281},{"sys":94282},{"id":94283,"type":1001,"linkType":1002},"2V2My5IpdVUwh4QugqInUw",[],{"data":94286,"content":94287,"nodeType":860},{},[94288],{"data":94289,"marks":94290,"value":94291,"nodeType":864},{},[],"Once you’ve discovered a malicious site, you can use Push’s companion feature, URL blocking, to add the domain to a blocklist and prevent your other end-users from even visiting the site.",{"data":94293,"content":94294,"nodeType":860},{},[94295,94299,94305],{"data":94296,"marks":94297,"value":94298,"nodeType":864},{},[],"You can programmatically manage URL blocking as part of responding to an attempted phishing incident by using the ",{"data":94300,"content":94301,"nodeType":883},{"uri":90269},[94302],{"data":94303,"marks":94304,"value":72883,"nodeType":864},{},[],{"data":94306,"marks":94307,"value":94308,"nodeType":864},{},[]," to automatically add URLs to the blocklist or to sync with other threat intelligence sources of known-bad sites.",{"data":94310,"content":94311,"nodeType":860},{},[94312,94316,94324],{"data":94313,"marks":94314,"value":94315,"nodeType":864},{},[],"You can find out more about this control in this ",{"data":94317,"content":94318,"nodeType":883},{"uri":47989},[94319],{"data":94320,"marks":94321,"value":94323,"nodeType":864},{},[94322],{"type":1455},"deep-dive article",{"data":94325,"marks":94326,"value":12252,"nodeType":864},{},[],{"data":94328,"content":94329,"nodeType":1312},{},[94330],{"data":94331,"marks":94332,"value":94333,"nodeType":864},{},[],"Detecting cloned login pages",{"data":94335,"content":94336,"nodeType":860},{},[94337],{"data":94338,"marks":94339,"value":94340,"nodeType":864},{},[],"It’s now very easy for attackers to create cloned login pages that appear to be legitimate, tricking users into providing their credentials. ",{"data":94342,"content":94343,"nodeType":860},{},[94344,94348,94357],{"data":94345,"marks":94346,"value":94347,"nodeType":864},{},[],"There’s a number of phishing kits that allow the attacker to simply copy the HTML code from a legitimate website and duplicate it on the malicious site, creating a virtually identical interface that tricks users into entering their credentials. A final sprinkle of typosquatting techniques completes the illusion of legitimacy. The Federal Communications Commission (FCC) ",{"data":94349,"content":94351,"nodeType":883},{"uri":94350},"https://www.nextgov.com/cybersecurity/2024/03/fcc-staff-targeted-phishing-attack-cloned-agency-login-site/394609/",[94352],{"data":94353,"marks":94354,"value":94356,"nodeType":864},{},[94355],{"type":1455},"was a recent target",{"data":94358,"marks":94359,"value":94360,"nodeType":864},{},[]," of this kind of attack. ",{"data":94362,"content":94363,"nodeType":860},{},[94364],{"data":94365,"marks":94366,"value":94367,"nodeType":864},{},[],"Push’s cloned app detection feature detects fraudulent login pages by inspecting the resources and structure of pages users log into and fingerprinting them so they can be used to detect when that action occurs on the wrong domain. ",{"data":94369,"content":94370,"nodeType":860},{},[94371,94375,94382],{"data":94372,"marks":94373,"value":94374,"nodeType":864},{},[],"You can ",{"data":94376,"content":94377,"nodeType":883},{"uri":48237},[94378],{"data":94379,"marks":94380,"value":94381,"nodeType":864},{},[],"read more about this feature here",{"data":94383,"marks":94384,"value":2924,"nodeType":864},{},[],{"data":94386,"content":94387,"nodeType":1312},{},[94388],{"data":94389,"marks":94390,"value":94391,"nodeType":864},{},[],"Detecting AitM and BitM toolkits",{"data":94393,"content":94394,"nodeType":860},{},[94395,94399,94407,94410,94418,94421,94427,94430,94438],{"data":94396,"marks":94397,"value":94398,"nodeType":864},{},[],"Adversary-in-the-Middle (AitM) phishing is a technique that uses dedicated tooling to act as a proxy between the target and a legitimate login portal for an application, principally to bypass MFA. As it’s a proxy to the real application, the page will appear exactly as the user expects, making this technique difficult to spot. Popular AitM toolkits include ",{"data":94400,"content":94402,"nodeType":883},{"uri":94401},"https://github.com/drk1wi/Modlishka",[94403],{"data":94404,"marks":94405,"value":94406,"nodeType":864},{},[],"Modlishka",{"data":94408,"marks":94409,"value":3731,"nodeType":864},{},[],{"data":94411,"content":94413,"nodeType":883},{"uri":94412},"https://github.com/muraenateam/muraena",[94414],{"data":94415,"marks":94416,"value":94417,"nodeType":864},{},[],"Muraena",{"data":94419,"marks":94420,"value":3731,"nodeType":864},{},[],{"data":94422,"content":94423,"nodeType":883},{"uri":83666},[94424],{"data":94425,"marks":94426,"value":83672,"nodeType":864},{},[],{"data":94428,"marks":94429,"value":902,"nodeType":864},{},[],{"data":94431,"content":94433,"nodeType":883},{"uri":94432},"https://www.bleepingcomputer.com/news/security/evilproxy-uses-indeedcom-open-redirect-for-microsoft-365-phishing/",[94434],{"data":94435,"marks":94436,"value":94437,"nodeType":864},{},[],"Evilproxy",{"data":94439,"marks":94440,"value":12252,"nodeType":864},{},[],{"data":94442,"content":94443,"nodeType":860},{},[94444],{"data":94445,"marks":94446,"value":94447,"nodeType":864},{},[],"Browser-in-the-Middle (BitM) toolkits are different to AitM toolkits because they don’t act as a reverse proxy. Instead, they trick their victim into directly controlling the attacker’s own browser using remote desktop screen sharing and control approaches — think of this like VNC or RDP but using the browser as a client. This is the virtual equivalent of an attacker handing their laptop to their victim, asking them to log in to an app for them, and then taking their laptop back afterwards.",{"data":94449,"content":94450,"nodeType":860},{},[94451,94455,94464],{"data":94452,"marks":94453,"value":94454,"nodeType":864},{},[],"We’ve conducted a lot of research into AitM and BitM toolkits recently. If you want to learn more about how they work and see a demo of them in action, ",{"data":94456,"content":94458,"nodeType":883},{"uri":94457},"https://pushsecurity.com/resources/video/phishing-detecting-evilginx-evilnovnc-muraena-and-modlishka/",[94459],{"data":94460,"marks":94461,"value":94463,"nodeType":864},{},[94462],{"type":1455},"head over here",{"data":94465,"marks":94466,"value":12252,"nodeType":864},{},[],{"data":94468,"content":94469,"nodeType":860},{},[94470],{"data":94471,"marks":94472,"value":94473,"nodeType":864},{},[],"Push gives you a preconfigured set of detections for AitM and BitM toolkits, informed by our threat detection team’s research into their behavior. This phishing tool detection feature will automatically prevent users from accessing a site that’s running one of these malicious tools, and display a custom warning message to your end-users.",{"data":94475,"content":94478,"nodeType":996},{"target":94476},{"sys":94477},{"id":43836,"type":1001,"linkType":1002},[],{"data":94480,"content":94481,"nodeType":860},{},[94482,94486,94492],{"data":94483,"marks":94484,"value":94485,"nodeType":864},{},[],"Administrators can also consume phishing tool detection events via the ",{"data":94487,"content":94488,"nodeType":883},{"uri":90269},[94489],{"data":94490,"marks":94491,"value":72883,"nodeType":864},{},[],{"data":94493,"marks":94494,"value":94495,"nodeType":864},{},[]," into their SIEM or use Push’s webhooks to alert when a warn or block event has occurred.",{"data":94497,"content":94498,"nodeType":860},{},[94499,94503,94511],{"data":94500,"marks":94501,"value":94502,"nodeType":864},{},[],"You can read a full write-up of this feature if you want to ",{"data":94504,"content":94505,"nodeType":883},{"uri":48185},[94506],{"data":94507,"marks":94508,"value":94510,"nodeType":864},{},[94509],{"type":1455},"learn more",{"data":94512,"marks":94513,"value":12252,"nodeType":864},{},[],{"data":94515,"content":94516,"nodeType":1009},{},[94517],{"data":94518,"marks":94519,"value":94520,"nodeType":864},{},[],"Part 2: Infostealer malware",{"data":94522,"content":94523,"nodeType":860},{},[94524,94528,94535],{"data":94525,"marks":94526,"value":94527,"nodeType":864},{},[],"The recent ",{"data":94529,"content":94530,"nodeType":883},{"uri":6300},[94531],{"data":94532,"marks":94533,"value":3756,"nodeType":864},{},[94534],{"type":1455},{"data":94536,"marks":94537,"value":94538,"nodeType":864},{},[]," highlighted how infostealer malware is becoming a serious issue for security teams. As well as being able to steal credentials for account takeover, infostealers can also be used to steal session tokens which then allow the attacker to assume an already authorized session without needing to bypass MFA.   ",{"data":94540,"content":94541,"nodeType":860},{},[94542],{"data":94543,"marks":94544,"value":94545,"nodeType":864},{},[],"Nearly half of the malware detected last year by Sophos targeted victims’ data specifically, and the majority of that malware was classified as infostealers. ",{"data":94547,"content":94551,"nodeType":996},{"target":94548},{"sys":94549},{"id":94550,"type":1001,"linkType":1002},"66B5MBFIhbmky7VuLGbuM3",[],{"data":94553,"content":94554,"nodeType":860},{},[94555],{"data":94556,"marks":94557,"value":94558,"nodeType":864},{},[],"Infostealers are primarily being used by Initial Access Brokers to harvest credentials and session tokens that they then sell to other threat actors intent on executing more penetrating attacks (e.g. ransomware).  ",{"data":94560,"content":94561,"nodeType":860},{},[94562,94565,94572],{"data":94563,"marks":94564,"value":81865,"nodeType":864},{},[],{"data":94566,"content":94567,"nodeType":883},{"uri":81868},[94568],{"data":94569,"marks":94570,"value":81874,"nodeType":864},{},[94571],{"type":1455},{"data":94573,"marks":94574,"value":2924,"nodeType":864},{},[],{"data":94576,"content":94577,"nodeType":860},{},[94578],{"data":94579,"marks":94580,"value":94581,"nodeType":864},{},[],"Getting total coverage across your endpoint estate is notoriously difficult, if not totally unrealistic. Unless the malware is stopped on execution, then data will inevitably be stolen, and will continue to be taken until stopped (or it self-terminates). And once an attacker has stolen employee credentials or sessions, the credential stuffing and session hijacking attacks that come next won’t touch the endpoint. ",{"data":94583,"content":94584,"nodeType":860},{},[94585],{"data":94586,"marks":94587,"value":94588,"nodeType":864},{},[],"For those reasons, you can’t rely on EDR as a single line of defense against infostealers. Push gives you those extra layers of defense to stop account takeover attempts that use stolen credentials and sessions.",{"data":94590,"content":94594,"nodeType":996},{"target":94591},{"sys":94592},{"id":94593,"type":1001,"linkType":1002},"4YB6DLIE5TvaAsAAUoJd5v",[],{"data":94596,"content":94597,"nodeType":1312},{},[94598],{"data":94599,"marks":94600,"value":94601,"nodeType":864},{},[],"Detecting stolen sessions ",{"data":94603,"content":94604,"nodeType":860},{},[94605],{"data":94606,"marks":94607,"value":94608,"nodeType":864},{},[],"Push uses its browser agent to inject a unique marker into the user agent string of sessions that occur in browsers enrolled in Push. You then add the list of domains where you wish to inject the marker into sessions, such as an identity provider like Okta or Microsoft. ",{"data":94610,"content":94611,"nodeType":860},{},[94612],{"data":94613,"marks":94614,"value":94615,"nodeType":864},{},[],"By analyzing logs from the IdP, you can identify activity from the same session that both has the Push marker and that lacks the marker. This can only ever happen when a session is extracted from a browser and maliciously imported into a different browser.",{"data":94617,"content":94618,"nodeType":860},{},[94619],{"data":94620,"marks":94621,"value":94622,"nodeType":864},{},[],"This is a high-fidelity signal that a stolen session token is being used by an attacker. It’s certainly a lot cleaner than relying on IP-based or geolocation-based signals, which result in frequent false positives.",{"data":94624,"content":94627,"nodeType":996},{"target":94625},{"sys":94626},{"id":43965,"type":1001,"linkType":1002},[],{"data":94629,"content":94630,"nodeType":1312},{},[94631],{"data":94632,"marks":94633,"value":94634,"nodeType":864},{},[],"Detecting stolen credentials being sold on the dark web",{"data":94636,"content":94637,"nodeType":860},{},[94638],{"data":94639,"marks":94640,"value":94641,"nodeType":864},{},[],"Push integrates stolen credential threat intelligence and alerts you when your employees’ credentials are being sold on the dark web. ",{"data":94643,"content":94644,"nodeType":860},{},[94645],{"data":94646,"marks":94647,"value":94648,"nodeType":864},{},[],"Commercial TI feeds of stolen credentials have been available for some time. But what we’ve found is that the false-positive rate is incredibly high and the vast majority of credentials are no longer in use.",{"data":94650,"content":94651,"nodeType":860},{},[94652],{"data":94653,"marks":94654,"value":94655,"nodeType":864},{},[],"Push validates that leaked credentials match those that are currently being used by your employees to authenticate on any apps they are using in the browser. That means that any alerts or automated actions generated by Push are actionable true positives, cutting out a huge amount of noise and saving your security team time. ",{"data":94657,"content":94661,"nodeType":996},{"target":94658},{"sys":94659},{"id":94660,"type":1001,"linkType":1002},"3RnPM0ioGWi3CFMLkxQanO",[],{"data":94663,"content":94664,"nodeType":1009},{},[94665],{"data":94666,"marks":94667,"value":94668,"nodeType":864},{},[],"Part 3: Credential stuffing",{"data":94670,"content":94671,"nodeType":860},{},[94672],{"data":94673,"marks":94674,"value":94675,"nodeType":864},{},[],"The previous sections looked at how Push detects and stops common techniques used for stealing and acquiring credentials. We’re now going to cover how Push stops stolen credentials from being used to access and take over employee accounts. ",{"data":94677,"content":94678,"nodeType":860},{},[94679,94684],{"data":94680,"marks":94681,"value":94683,"nodeType":864},{},[94682],{"type":899},"Credential stuffing ",{"data":94685,"marks":94686,"value":94687,"nodeType":864},{},[],"is when attackers use tools that automate the process of taking a list of stolen passwords and retargeting those credentials against different apps.",{"data":94689,"content":94690,"nodeType":860},{},[94691,94695,94700],{"data":94692,"marks":94693,"value":94694,"nodeType":864},{},[],"Closely related to credential stuffing is ",{"data":94696,"marks":94697,"value":94699,"nodeType":864},{},[94698],{"type":899},"password spraying",{"data":94701,"marks":94702,"value":94703,"nodeType":864},{},[],". Instead of using stolen credentials, an attacker uses a list of commonly used usernames and passwords to attempt to compromise accounts. ",{"data":94705,"content":94706,"nodeType":860},{},[94707],{"data":94708,"marks":94709,"value":94710,"nodeType":864},{},[],"Both credential stuffing and password spraying are high-volume, automated attacks, and they are an unrelenting problem for most businesses. Microsoft observes 4,000 of them every second and nearly half of all login requests Auth0 receive each day are attempts at credential stuffing. ",{"data":94712,"content":94713,"nodeType":860},{},[94714],{"data":94715,"marks":94716,"value":94717,"nodeType":864},{},[],"The true scale of the problem is hard to grasp, as neither app vendors nor users have effective means of monitoring for unauthorized access. Typically these breaches are only detected when:",{"data":94719,"content":94720,"nodeType":941},{},[94721,94741,94762],{"data":94722,"content":94723,"nodeType":945},{},[94724],{"data":94725,"content":94726,"nodeType":860},{},[94727,94731,94738],{"data":94728,"marks":94729,"value":94730,"nodeType":864},{},[],"The attacker leaks the data they’ve stolen, like in the ",{"data":94732,"content":94733,"nodeType":883},{"uri":6300},[94734],{"data":94735,"marks":94736,"value":3756,"nodeType":864},{},[94737],{"type":1455},{"data":94739,"marks":94740,"value":12252,"nodeType":864},{},[],{"data":94742,"content":94743,"nodeType":945},{},[94744],{"data":94745,"content":94746,"nodeType":860},{},[94747,94751,94759],{"data":94748,"marks":94749,"value":94750,"nodeType":864},{},[],"The attacker deploys ransomware that results in business disruption, like that suffered by ",{"data":94752,"content":94753,"nodeType":883},{"uri":37638},[94754],{"data":94755,"marks":94756,"value":94758,"nodeType":864},{},[94757],{"type":1455},"MGM resorts",{"data":94760,"marks":94761,"value":2924,"nodeType":864},{},[],{"data":94763,"content":94764,"nodeType":945},{},[94765],{"data":94766,"content":94767,"nodeType":860},{},[94768,94772,94781],{"data":94769,"marks":94770,"value":94771,"nodeType":864},{},[],"The attackers use a compromised account to do something deliberately in the public eye. For example, when the SEC’s X (formerly Twitter) account was compromised and ",{"data":94773,"content":94775,"nodeType":883},{"uri":94774},"https://incyber.org/en/article/fake-sec-tweet-triggers-bitcoin-surge/#:~:text=The%20fake%20headline%20convinced%20a,an%20unauthorized%20tweet%20was%20posted.",[94776],{"data":94777,"marks":94778,"value":94780,"nodeType":864},{},[94779],{"type":1455},"sent out a message announcing the approval of Bitcoin ETF",{"data":94782,"marks":94783,"value":35977,"nodeType":864},{},[],{"data":94785,"content":94786,"nodeType":860},{},[94787],{"data":94788,"marks":94789,"value":94790,"nodeType":864},{},[],"Push gives you a number of controls to combat attacks using stolen and guessed passwords, both to prevent them from occurring, and detect them when they do.",{"data":94792,"content":94793,"nodeType":1312},{},[94794],{"data":94795,"marks":94796,"value":94797,"nodeType":864},{},[],"Prevent employees using credentials that have already been stolen and leaked",{"data":94799,"content":94800,"nodeType":860},{},[94801],{"data":94802,"marks":94803,"value":94804,"nodeType":864},{},[],"First, let's stop your employees from using any credentials that have already been stolen and are available to attackers for use in a credential-stuffing attack. ",{"data":94806,"content":94807,"nodeType":860},{},[94808],{"data":94809,"marks":94810,"value":94811,"nodeType":864},{},[],"Push monitors stolen credential threat intelligence and compares it to the credentials employees are currently using to access their apps. ",{"data":94813,"content":94814,"nodeType":860},{},[94815],{"data":94816,"marks":94817,"value":94818,"nodeType":864},{},[],"You might be wondering, “Does that mean Push sees all our employees’ passwords!?” No. Rather, we use a fingerprint of each password and it's checked locally in the users’ browser and never leaves it. ",{"data":94820,"content":94821,"nodeType":860},{},[94822],{"data":94823,"marks":94824,"value":94825,"nodeType":864},{},[],"When we get a match – a stolen password that could successfully be used in a credential-stuffing attack – Push alerts you.",{"data":94827,"content":94828,"nodeType":1312},{},[94829],{"data":94830,"marks":94831,"value":94832,"nodeType":864},{},[],"Enforce MFA on all employee accounts",{"data":94834,"content":94835,"nodeType":860},{},[94836],{"data":94837,"marks":94838,"value":94839,"nodeType":864},{},[],"Next step is to secure the accounts most vulnerable to a credential stuffing attack – those that only use a password for single-factor authentication. ",{"data":94841,"content":94842,"nodeType":860},{},[94843,94847,94855],{"data":94844,"marks":94845,"value":94846,"nodeType":864},{},[],"If you’re using SSO to access apps, then it’s easy to overlook instances where local accounts (e.g. username and password logins) are missing MFA – particularly if you’re relying on an IdP solution to audit and enforce MFA. ",{"data":94848,"content":94849,"nodeType":883},{"uri":17701},[94850],{"data":94851,"marks":94852,"value":94854,"nodeType":864},{},[94853],{"type":1455},"You can read more about this problem in our blog post on ghost logins",{"data":94856,"marks":94857,"value":12252,"nodeType":864},{},[],{"data":94859,"content":94860,"nodeType":860},{},[94861],{"data":94862,"marks":94863,"value":94864,"nodeType":864},{},[],"Push observes every login made by your employees (both inside and outside SSO) and inspects the authentication protocols used. Accounts that are missing MFA are identified and presented to you in the Push platform.",{"data":94866,"content":94870,"nodeType":996},{"target":94867},{"sys":94868},{"id":94869,"type":1001,"linkType":1002},"4t1PHxzadoTBjtJua6dzuJ",[],{"data":94872,"content":94873,"nodeType":860},{},[94874],{"data":94875,"marks":94876,"value":94877,"nodeType":864},{},[],"You can then use Push to enforce MFA on employee accounts, or present them with in-browser guidance requesting that they enable it themselves.  ",{"data":94879,"content":94883,"nodeType":996},{"target":94880},{"sys":94881},{"id":94882,"type":1001,"linkType":1002},"3JSTEJGtLT0hfwnkpLRP4K",[],{"data":94885,"content":94886,"nodeType":1312},{},[94887],{"data":94888,"marks":94889,"value":94890,"nodeType":864},{},[],"Prevent multiple accounts being compromised by credential stuffing due to password reuse",{"data":94892,"content":94893,"nodeType":860},{},[94894],{"data":94895,"marks":94896,"value":94897,"nodeType":864},{},[],"The credential stuffing tools that attackers use will target a long list of popular business apps. If a password is reused across multiple apps and is breached, the blast radius is naturally increased – the attacker will be able to hijack multiple accounts, across numerous business applications.",{"data":94899,"content":94900,"nodeType":860},{},[94901],{"data":94902,"marks":94903,"value":94904,"nodeType":864},{},[],"Push detects when employees are trying to use the same password across multiple apps. When this happens, you can request that they change their password.",{"data":94906,"content":94910,"nodeType":996},{"target":94907},{"sys":94908},{"id":94909,"type":1001,"linkType":1002},"7ARHp2JPiHeKRYHwa2jwIZ",[],{"data":94912,"content":94913,"nodeType":1312},{},[94914],{"data":94915,"marks":94916,"value":94917,"nodeType":864},{},[],"Prevent password spraying breaches",{"data":94919,"content":94920,"nodeType":860},{},[94921],{"data":94922,"marks":94923,"value":94924,"nodeType":864},{},[],"To stop your employees’ accounts from being breached by password spraying attacks, Push checks every password to see if it is easily guessable for attackers.",{"data":94926,"content":94927,"nodeType":860},{},[94928],{"data":94929,"marks":94930,"value":94931,"nodeType":864},{},[],"To determine if a password is easily guessable, the Push browser agent automatically checks the password against:",{"data":94933,"content":94934,"nodeType":941},{},[94935,94945,94955],{"data":94936,"content":94937,"nodeType":945},{},[94938],{"data":94939,"content":94940,"nodeType":860},{},[94941],{"data":94942,"marks":94943,"value":94944,"nodeType":864},{},[],"A list of top 10,000 weak base passwords.",{"data":94946,"content":94947,"nodeType":945},{},[94948],{"data":94949,"content":94950,"nodeType":860},{},[94951],{"data":94952,"marks":94953,"value":94954,"nodeType":864},{},[],"Number and special character variations on these weak base passwords, for example: Password1! or January2022.",{"data":94956,"content":94957,"nodeType":945},{},[94958],{"data":94959,"content":94960,"nodeType":860},{},[94961],{"data":94962,"marks":94963,"value":94964,"nodeType":864},{},[],"Variations on these weak base passwords that replace letters with numerals (1337), for example: P455w0rd.",{"data":94966,"content":94967,"nodeType":860},{},[94968],{"data":94969,"marks":94970,"value":94971,"nodeType":864},{},[],"You can also add your own custom word list that employees and attackers will predictably try and use. Push will then stop those words being used as part of passwords.",{"data":94973,"content":94974,"nodeType":1312},{},[94975],{"data":94976,"marks":94977,"value":94978,"nodeType":864},{},[],"Detect unauthorized sessions  ",{"data":94980,"content":94981,"nodeType":860},{},[94982],{"data":94983,"marks":94984,"value":94985,"nodeType":864},{},[],"Once you have enabled all the Push controls that prevent employees from creating and using accounts that can be easily compromised by credential stuffing and password spraying attacks, the next line of defense is to detect when accounts are taken over.",{"data":94987,"content":94988,"nodeType":860},{},[94989],{"data":94990,"marks":94991,"value":94992,"nodeType":864},{},[],"Push uses its browser agent to inject a unique marker into the user agent string of sessions that occur in browsers enrolled in Push. You then add the list of domains that you want to have injected with the session marker. ",{"data":94994,"content":94995,"nodeType":860},{},[94996],{"data":94997,"marks":94998,"value":94999,"nodeType":864},{},[],"By analyzing logs from the IdP, you can identify activity from the same session that both has the Push marker and that lacks the marker. This indicates that the session is not being used by the legitimate user (your employees) in their usual work browser, and could be an attacker using their account. ",{"data":95001,"content":95002,"nodeType":1312},{},[95003],{"data":95004,"marks":95005,"value":95006,"nodeType":864},{},[],"Reduce your identity attack surface",{"data":95008,"content":95009,"nodeType":860},{},[95010],{"data":95011,"marks":95012,"value":95013,"nodeType":864},{},[],"Finally, you’ll likely want to reduce your attack surface that can be targeted by credential stuffing. In other words, reduce the number of username and password accounts your employees have. ",{"data":95015,"content":95016,"nodeType":860},{},[95017],{"data":95018,"marks":95019,"value":95020,"nodeType":864},{},[],"There are a few ways that Push can help you do this.",{"data":95022,"content":95023,"nodeType":941},{},[95024,95039,95054],{"data":95025,"content":95026,"nodeType":945},{},[95027],{"data":95028,"content":95029,"nodeType":860},{},[95030,95035],{"data":95031,"marks":95032,"value":95034,"nodeType":864},{},[95033],{"type":899},"Block access to unapproved apps",{"data":95036,"marks":95037,"value":95038,"nodeType":864},{},[],". Using Push, you can create a block list of apps that you don’t want your users to create accounts and identities on.",{"data":95040,"content":95041,"nodeType":945},{},[95042],{"data":95043,"content":95044,"nodeType":860},{},[95045,95050],{"data":95046,"marks":95047,"value":95049,"nodeType":864},{},[95048],{"type":899},"Use app banners to stop users from creating local accounts",{"data":95051,"marks":95052,"value":95053,"nodeType":864},{},[],". When an employee goes to sign up to an app, Push will present an app banner that tells them to use their SSO identity and not to create a username and password account.",{"data":95055,"content":95056,"nodeType":945},{},[95057],{"data":95058,"content":95059,"nodeType":860},{},[95060,95065],{"data":95061,"marks":95062,"value":95064,"nodeType":864},{},[95063],{"type":899},"Get existing accounts and apps behind SSO",{"data":95066,"marks":95067,"value":95068,"nodeType":864},{},[],". Push shows you how your employees are logging in to every account on every app, including whether they’re using SAML or OIDC SSO. Armed with this data, you can get your employees to use your preferred SSO solution on the apps where it’s already available, and look into whether other popular apps being used in the business offer SSO.",{"data":95070,"content":95074,"nodeType":996},{"target":95071},{"sys":95072},{"id":95073,"type":1001,"linkType":1002},"3y8L55hbcQaRYPCdYYb3xA",[],{"data":95076,"content":95077,"nodeType":1009},{},[95078],{"data":95079,"marks":95080,"value":95081,"nodeType":864},{},[],"Stop account takeover at the push of a button",{"data":95083,"content":95084,"nodeType":860},{},[95085,95089,95096,95100,95105,95108,95113,95117,95121],{"data":95086,"marks":95087,"value":95088,"nodeType":864},{},[],"We’ve described a lot of controls in this article. The good news is that they’re all pre-configured on the the ",{"data":95090,"content":95092,"nodeType":883},{"uri":95091},"https://pushsecurity.com/help/audience/administrators/docs/manage-security-controls/#start",[95093],{"data":95094,"marks":95095,"value":51400,"nodeType":864},{},[],{"data":95097,"marks":95098,"value":95099,"nodeType":864},{},[]," page in the Push platform. When you get started with Push, you can simply turn on all the controls you want, and decide whether you want them to work in ",{"data":95101,"marks":95102,"value":95104,"nodeType":864},{},[95103],{"type":899},"monitor",{"data":95106,"marks":95107,"value":3731,"nodeType":864},{},[],{"data":95109,"marks":95110,"value":95112,"nodeType":864},{},[95111],{"type":899},"warn",{"data":95114,"marks":95115,"value":95116,"nodeType":864},{},[]," mode or ",{"data":95118,"marks":95119,"value":87,"nodeType":864},{},[95120],{"type":899},{"data":95122,"marks":95123,"value":95124,"nodeType":864},{},[]," mode.    ",{"data":95126,"content":95130,"nodeType":996},{"target":95127},{"sys":95128},{"id":95129,"type":1001,"linkType":1002},"6FCuO78yQMNZvkcbcALmis",[],{"data":95132,"content":95133,"nodeType":1312},{},[95134],{"data":95135,"marks":95136,"value":95137,"nodeType":864},{},[],"See it for yourself",{"data":95139,"content":95140,"nodeType":860},{},[95141,95145,95151],{"data":95142,"marks":95143,"value":95144,"nodeType":864},{},[],"To learn more, ",{"data":95146,"content":95147,"nodeType":883},{"uri":5642},[95148],{"data":95149,"marks":95150,"value":37814,"nodeType":864},{},[],{"data":95152,"marks":95153,"value":95154,"nodeType":864},{},[],". We’ll be happy to show you these features, along with how we discover all the apps your employees are using, even the ones not behind SSO.",{"data":95156,"content":95160,"nodeType":996},{"target":95157},{"sys":95158},{"id":95159,"type":1001,"linkType":1002},"4IRtR9zicpB7lXdz2RvIlK",[],{"data":95162,"content":95163,"nodeType":860},{},[95164],{"data":95165,"marks":95166,"value":21,"nodeType":864},{},[],"Hackers don’t hack in, they log in: How to prevent account takeover with Push","How Push stops attackers from using identity attack tools and techniques to compromise your employee user accounts. ","2024-08-19T00:00:00.000Z","how-to-prevent-account-takeover-with-push",{"items":95172},[95173,95175],{"sys":95174,"name":342},{"id":6596},{"sys":95176,"name":6593},{"id":6592},{"items":95178},[95179],{"fullName":4878,"firstName":4879,"jobTitle":851,"profilePicture":95180},{"url":4881},{"__typename":2059,"sys":95182,"content":95183,"title":95586,"synopsis":95587,"hashTags":59,"publishedDate":95588,"slug":95589,"tagsCollection":95590,"authorsCollection":95596},{"id":89629},{"json":95184},{"data":95185,"content":95186,"nodeType":856},{},[95187,95193,95214,95235,95253,95273,95296,95303,95323,95343,95350,95356,95363,95370,95377,95384,95391,95398,95405,95411,95418,95437,95444,95449,95471,95478,95493,95499,95518,95525,95532,95538,95545,95563,95569],{"data":95188,"content":95192,"nodeType":996},{"target":95189},{"sys":95190},{"id":95191,"type":1001,"linkType":1002},"B8i0EK90Dn7FLrJXR4ANh",[],{"data":95194,"content":95195,"nodeType":860},{},[95196,95200,95210],{"data":95197,"marks":95198,"value":95199,"nodeType":864},{},[],"Is the golden era of MFA protection over? Watch a demo of an ",{"data":95201,"content":95205,"nodeType":27604},{"target":95202},{"sys":95203},{"id":95204,"type":1001,"linkType":1002},"7DJnckJxP4CXyXhPJJpby5",[95206],{"data":95207,"marks":95208,"value":95209,"nodeType":864},{},[],"EvilNoVNC phishing attack",{"data":95211,"marks":95212,"value":95213,"nodeType":864},{},[]," and you may be left sweating a little and whispering “FIDO2” like a protection spell.",{"data":95215,"content":95216,"nodeType":860},{},[95217,95221,95231],{"data":95218,"marks":95219,"value":95220,"nodeType":864},{},[],"With the widespread adoption of MFA, attackers are ",{"data":95222,"content":95226,"nodeType":27604},{"target":95223},{"sys":95224},{"id":95225,"type":1001,"linkType":1002},"6XIts2UEnrsJDki8gKDXyI",[95227],{"data":95228,"marks":95229,"value":95230,"nodeType":864},{},[],"increasingly turning",{"data":95232,"marks":95233,"value":95234,"nodeType":864},{},[]," to more sophisticated methods of credential theft as their initial point of entry. ",{"data":95236,"content":95237,"nodeType":860},{},[95238,95242,95249],{"data":95239,"marks":95240,"value":95241,"nodeType":864},{},[],"Newer phishing approaches include reverse proxies as well as tools that mimic legitimate login pages by rendering the webpages and then displaying those renders to the unsuspecting end-user. While these tools are not always common knowledge among blue teams, their use is ",{"data":95243,"content":95244,"nodeType":883},{"uri":91866},[95245],{"data":95246,"marks":95247,"value":95248,"nodeType":864},{},[],"on the rise",{"data":95250,"marks":95251,"value":95252,"nodeType":864},{},[],", an unsurprising response to the broad use of multi-factor authentication in many organizations.",{"data":95254,"content":95255,"nodeType":860},{},[95256,95260,95269],{"data":95257,"marks":95258,"value":95259,"nodeType":864},{},[],"What sets this generation of ",{"data":95261,"content":95264,"nodeType":27604},{"target":95262},{"sys":95263},{"id":95204,"type":1001,"linkType":1002},[95265],{"data":95266,"marks":95267,"value":95268,"nodeType":864},{},[],"Adversary-in-the-Middle (AitM) phishing tools",{"data":95270,"marks":95271,"value":95272,"nodeType":864},{},[]," apart? ",{"data":95274,"content":95275,"nodeType":941},{},[95276,95286],{"data":95277,"content":95278,"nodeType":945},{},[95279],{"data":95280,"content":95281,"nodeType":860},{},[95282],{"data":95283,"marks":95284,"value":95285,"nodeType":864},{},[],"They act as a proxy between the user and a legitimate web login page, allowing the attacker to bypass MFA and harvest credentials and session tokens.",{"data":95287,"content":95288,"nodeType":945},{},[95289],{"data":95290,"content":95291,"nodeType":860},{},[95292],{"data":95293,"marks":95294,"value":95295,"nodeType":864},{},[],"They give off little scent to end-users, because the end-user is logging into the legitimate site, just by taking a detour via the attacker’s device.",{"data":95297,"content":95298,"nodeType":860},{},[95299],{"data":95300,"marks":95301,"value":95302,"nodeType":864},{},[],"These AitM tools are also difficult to detect — unless you have eyes in the browser.",{"data":95304,"content":95305,"nodeType":860},{},[95306,95310,95319],{"data":95307,"marks":95308,"value":95309,"nodeType":864},{},[],"Powered by the Push browser agent, Push now offers a ",{"data":95311,"content":95314,"nodeType":27604},{"target":95312},{"sys":95313},{"id":28039,"type":1001,"linkType":1002},[95315],{"data":95316,"marks":95317,"value":95318,"nodeType":864},{},[],"preconfigured set of detections",{"data":95320,"marks":95321,"value":95322,"nodeType":864},{},[]," for phishing tools like Evilginx and others, informed by our threat detection team’s research into their behavior. This phishing tool detection feature will automatically prevent users from accessing a site that’s running one of these malicious tools, and display a custom warning message to your end-users.",{"data":95324,"content":95325,"nodeType":860},{},[95326,95330,95339],{"data":95327,"marks":95328,"value":95329,"nodeType":864},{},[],"While Push already provides strong phishing protection by ",{"data":95331,"content":95334,"nodeType":27604},{"target":95332},{"sys":95333},{"id":89984,"type":1001,"linkType":1002},[95335],{"data":95336,"marks":95337,"value":95338,"nodeType":864},{},[],"preventing SSO password use",{"data":95340,"marks":95341,"value":95342,"nodeType":864},{},[]," on non-IdP webpages (in other words, it stops you from using your Okta password on any page that isn’t an Okta login page), this new feature allows us to sharpen our anti-phishing capabilities by detecting malware on a site before a user even interacts with the page. ",{"data":95344,"content":95345,"nodeType":860},{},[95346],{"data":95347,"marks":95348,"value":95349,"nodeType":864},{},[],"In this article, we’ll describe our approach to detecting these newer phishing tools, including how we’re borrowing techniques from the world of EDR, and how you can combine phishing tool detection with other Push controls for a defense-in-depth strategy that covers both the user and the application sides of the equation.",{"data":95351,"content":95355,"nodeType":996},{"target":95352},{"sys":95353},{"id":95354,"type":1001,"linkType":1002},"59q6klX2j7ClgUvmix93sG",[],{"data":95357,"content":95358,"nodeType":1009},{},[95359],{"data":95360,"marks":95361,"value":95362,"nodeType":864},{},[],"Taking a page from EDR",{"data":95364,"content":95365,"nodeType":860},{},[95366],{"data":95367,"marks":95368,"value":95369,"nodeType":864},{},[],"Most phishing prevention solutions rely on lists of known-bad sites as the source of intelligence. These are always going to be a step behind reality because they rely on ever-shifting secondary attributes such as domain names (though we won’t be disabling Chrome Safe Browsing anytime soon, and we’re not trying to replace it).",{"data":95371,"content":95372,"nodeType":860},{},[95373],{"data":95374,"marks":95375,"value":95376,"nodeType":864},{},[],"As veterans of the EDR world, we’re drawn to think in analogous terms. With detecting AitM phishing tools, that means expanding on the concept of dynamic analysis on the endpoint. EDR allows you to dynamically analyze the behavior of malware live and at scale, rather than focusing on easy-to-change indicators like file hashes or domain names.",{"data":95378,"content":95379,"nodeType":860},{},[95380],{"data":95381,"marks":95382,"value":95383,"nodeType":864},{},[],"Applying this idea to malware that runs in the browser requires a solution that is in the browser, like the Push browser agent.",{"data":95385,"content":95386,"nodeType":860},{},[95387],{"data":95388,"marks":95389,"value":95390,"nodeType":864},{},[],"So we’re expanding the attributes that are traditionally analyzed to spot indicators of compromise (IoCs) beyond domains, file names, file hashes, IP addresses, etc., to also include behavioral attributes of malware that are much harder to change, such as Javascript calls being made or data structures saved to local storage.",{"data":95392,"content":95393,"nodeType":860},{},[95394],{"data":95395,"marks":95396,"value":95397,"nodeType":864},{},[],"By performing behavioral analysis on AitM automated proxy tools, we can directly analyze the application for a precise and immediate identification. ",{"data":95399,"content":95400,"nodeType":860},{},[95401],{"data":95402,"marks":95403,"value":95404,"nodeType":864},{},[],"Push researchers are regularly identifying and adding detections for new toolkits — think of this like Push’s database of threat research in action.",{"data":95406,"content":95407,"nodeType":1009},{},[95408],{"data":95409,"marks":95410,"value":89634,"nodeType":864},{},[],{"data":95412,"content":95413,"nodeType":860},{},[95414],{"data":95415,"marks":95416,"value":95417,"nodeType":864},{},[],"If you’re new to Push, a bit of context may be useful. Push uses a browser agent deployed to employee browsers (we support all major browsers) to prevent, detect, and block identity attacks. ",{"data":95419,"content":95420,"nodeType":860},{},[95421,95425,95433],{"data":95422,"marks":95423,"value":95424,"nodeType":864},{},[],"By directly observing user behavior at the login event, Push provides broad and actionable context across all the apps your employees are using, how they are accessing them, their MFA methods, and where they’re using insecure and reused passwords. With this context as the foundation, Push enforces your desired ",{"data":95426,"content":95429,"nodeType":27604},{"target":95427},{"sys":95428},{"id":91941,"type":1001,"linkType":1002},[95430],{"data":95431,"marks":95432,"value":73272,"nodeType":864},{},[],{"data":95434,"marks":95435,"value":95436,"nodeType":864},{},[],", including preventing SSO password reuse, blocking malicious websites, or steering employees to approved apps only.",{"data":95438,"content":95439,"nodeType":860},{},[95440],{"data":95441,"marks":95442,"value":95443,"nodeType":864},{},[],"Once configured by an administrator, phishing tool detection will immediately check for the fingerprints of these toolkits as end-users visit websites and then display your custom warn or block message. ",{"data":95445,"content":95448,"nodeType":996},{"target":95446},{"sys":95447},{"id":89617,"type":1001,"linkType":1002},[],{"data":95450,"content":95451,"nodeType":860},{},[95452,95455,95459,95463,95467],{"data":95453,"marks":95454,"value":1499,"nodeType":864},{},[],{"data":95456,"marks":95457,"value":1397,"nodeType":864},{},[95458],{"type":899},{"data":95460,"marks":95461,"value":95462,"nodeType":864},{},[]," mode, users cannot proceed to the site where malicious software has been detected. In ",{"data":95464,"marks":95465,"value":1503,"nodeType":864},{},[95466],{"type":899},{"data":95468,"marks":95469,"value":95470,"nodeType":864},{},[]," mode, users can choose to proceed if they are sure it’s not a phishing site.",{"data":95472,"content":95473,"nodeType":860},{},[95474],{"data":95475,"marks":95476,"value":95477,"nodeType":864},{},[],"In both cases, users do not need to interact with a page (by typing, clicking, etc.) for Push to trigger the custom message. ",{"data":95479,"content":95480,"nodeType":860},{},[95481,95484,95490],{"data":95482,"marks":95483,"value":94485,"nodeType":864},{},[],{"data":95485,"content":95486,"nodeType":883},{"uri":90269},[95487],{"data":95488,"marks":95489,"value":72883,"nodeType":864},{},[],{"data":95491,"marks":95492,"value":94495,"nodeType":864},{},[],{"data":95494,"content":95498,"nodeType":996},{"target":95495},{"sys":95496},{"id":95497,"type":1001,"linkType":1002},"6oAhxLBPVxN3Rcw2kFeVtG",[],{"data":95500,"content":95501,"nodeType":860},{},[95502,95506,95514],{"data":95503,"marks":95504,"value":95505,"nodeType":864},{},[],"Pairing this phishing detection capability with Push’s ",{"data":95507,"content":95510,"nodeType":27604},{"target":95508},{"sys":95509},{"id":28295,"type":1001,"linkType":1002},[95511],{"data":95512,"marks":95513,"value":47996,"nodeType":864},{},[],{"data":95515,"marks":95516,"value":95517,"nodeType":864},{},[]," feature provides a strong defense-in-depth strategy for stopping credential theft.",{"data":95519,"content":95520,"nodeType":860},{},[95521],{"data":95522,"marks":95523,"value":95524,"nodeType":864},{},[],"SSO password protection works by analyzing user behavior — namely, is a user entering their SSO password onto a page that does not belong to the legitimate identity provider.",{"data":95526,"content":95527,"nodeType":860},{},[95528],{"data":95529,"marks":95530,"value":95531,"nodeType":864},{},[],"Phishing tool detection adds in the application-level behavioral analysis. In addition, when Push identifies a new, previously unknown phishing tool in the wild via blocked SSO credential theft, we add its fingerprints to the browser agent’s detective capabilities.  ",{"data":95533,"content":95534,"nodeType":1009},{},[95535],{"data":95536,"marks":95537,"value":6469,"nodeType":864},{},[],{"data":95539,"content":95540,"nodeType":860},{},[95541],{"data":95542,"marks":95543,"value":95544,"nodeType":864},{},[],"We’re just scratching the surface on this approach and are exploring how Push can identify and block other web-delivered malware and Javascript-based attack types beyond AitM tools. Think HTML smuggling, tabnabbing, and the like.",{"data":95546,"content":95547,"nodeType":860},{},[95548,95552,95560],{"data":95549,"marks":95550,"value":95551,"nodeType":864},{},[],"Got feedback? We’d ",{"data":95553,"content":95555,"nodeType":883},{"uri":95554},"/contact/",[95556],{"data":95557,"marks":95558,"value":95559,"nodeType":864},{},[],"love to talk",{"data":95561,"marks":95562,"value":2924,"nodeType":864},{},[],{"data":95564,"content":95565,"nodeType":1009},{},[95566],{"data":95567,"marks":95568,"value":36405,"nodeType":864},{},[],{"data":95570,"content":95571,"nodeType":860},{},[95572,95576,95582],{"data":95573,"marks":95574,"value":95575,"nodeType":864},{},[],"To see Push in action, ",{"data":95577,"content":95578,"nodeType":883},{"uri":5642},[95579],{"data":95580,"marks":95581,"value":37814,"nodeType":864},{},[],{"data":95583,"marks":95584,"value":95585,"nodeType":864},{},[],". We’ll be happy to show you this feature, along with how we discover all the apps your employees are using, even the ones not behind SSO, and how we detect vulnerable identities and stop identity attacks with browser-based controls.","Introducing AitM phishing toolkit detection, powered by the Push browser agent","Push analyzes behavioral attributes of malware to identify phishing tools like Evilginx and NakedPages and immediately block end-users from visiting them.","2024-06-06T00:00:00.000Z","introducing-aitm-phishing-toolkit-detection-powered-by-the-push-browser",{"items":95591},[95592,95594],{"sys":95593,"name":73498},{"id":73497},{"sys":95595,"name":342},{"id":6596},{"items":95597},[95598],{"fullName":849,"firstName":850,"jobTitle":851,"profilePicture":95599},{"url":853},"how-many-vulnerable-identities-do-you-have","blog/how-many-vulnerable-identities-do-you-have",{"json":95603},{"data":95604,"content":95605,"nodeType":856},{},[95606],{"data":95607,"content":95608,"nodeType":860},{},[95609],{"data":95610,"marks":95611,"value":95612,"nodeType":864},{},[],"Answering key questions about your exposure to identity threats using Push data.","Using Push data to calculate how many vulnerable identities the average organization has, and how they lead to different methods of account takeover. ",{"id":95615,"publishedAt":95616},"2oCKAlWLSHMLeZF6j8YniH","2026-08-13T09:35:13.714Z",{"items":95618},[95619,95621],{"sys":95620,"name":6593},{"id":6592},{"sys":95622,"name":342},{"id":6596},{"items":95624},[95625,95627,95629,95631,95633,95635,95637,95639,95641,95643,95645,95647,95649,95651,95653],{"sys":95626,"name":413,"slug":414,"tier":31},{"id":410},{"sys":95628,"name":297,"slug":298,"tier":31},{"id":294},{"sys":95630,"name":342,"slug":343,"tier":31},{"id":339},{"sys":95632,"name":519,"slug":520,"tier":31},{"id":516},{"sys":95634,"name":545,"slug":546,"tier":31},{"id":542},{"sys":95636,"name":279,"slug":280,"tier":31},{"id":276},{"sys":95638,"name":502,"slug":503,"tier":45},{"id":499},{"sys":95640,"name":457,"slug":458,"tier":45},{"id":454},{"sys":95642,"name":466,"slug":467,"tier":45},{"id":463},{"sys":95644,"name":333,"slug":334,"tier":45},{"id":330},{"sys":95646,"name":395,"slug":396,"tier":45},{"id":392},{"sys":95648,"name":404,"slug":405,"tier":45},{"id":401},{"sys":95650,"name":261,"slug":262,"tier":45},{"id":258},{"sys":95652,"name":493,"slug":494,"tier":45},{"id":490},{"sys":95654,"name":324,"slug":325,"tier":45},{"id":321},"x2kYyrqykcVvQGdZELgLzkiJpuYBM8pvyrM1l0e2ab0",{"id":95657,"title":95658,"authorsCollection":95659,"content":95664,"extension":228,"faqItemsCollection":96715,"faqTitle":59,"featured":6,"hashTags":59,"meta":96717,"metaTitle":96718,"ogImage":59,"postType":5740,"publishedDate":96719,"relatedBlogPostsCollection":96720,"slug":99122,"stem":99123,"subtitle":59,"summary":99124,"synopsis":99135,"sys":99136,"tagsCollection":99139,"topicsCollection":99145,"__hash__":99189},"blog/blog/the-saas-attack-matrix-one-year-on.json","The SaaS attack matrix: A year in review",{"items":95660},[95661],{"fullName":2736,"firstName":2737,"jobTitle":2738,"socialLinks":95662,"profilePicture":95663},[11304],{"url":2740},{"json":95665,"links":96706},{"data":95666,"content":95667,"nodeType":856},{},[95668,95686,95693,95700,95707,95714,95717,95724,95806,95813,95820,95827,95842,95861,95868,95871,95878,95885,95891,95908,95932,95939,95946,95977,96008,96015,96033,96040,96047,96054,96062,96069,96098,96104,96121,96152,96159,96178,96185,96191,96209,96216,96223,96226,96233,96240,96247,96250,96257,96264,96271,96290,96421,96428,96431,96438,96445,96546,96553,96560,96563,96570,96577,96627,96634,96641,96644,96650,96657,96675,96694,96700],{"data":95669,"content":95670,"nodeType":860},{},[95671,95675,95682],{"data":95672,"marks":95673,"value":95674,"nodeType":864},{},[],"When we created the ",{"data":95676,"content":95677,"nodeType":883},{"uri":6418},[95678],{"data":95679,"marks":95680,"value":5765,"nodeType":864},{},[95681],{"type":1455},{"data":95683,"marks":95684,"value":95685,"nodeType":864},{},[],", we made a conscious break away from the endpoint-focused techniques captured in industry resources like the MITRE ATT&CK Framework. ",{"data":95687,"content":95688,"nodeType":860},{},[95689],{"data":95690,"marks":95691,"value":95692,"nodeType":864},{},[],"At the time, we were anticipating a shift that was yet to fully materialize. But, a lot can change (and has changed) in the space of a year. We’ve seen the impact of SaaS account takeover attacks laid bare. Snowflake, billed one of the biggest breaches in history, is a telling example that we’ll no doubt look back on as a watershed moment. ",{"data":95694,"content":95695,"nodeType":860},{},[95696],{"data":95697,"marks":95698,"value":95699,"nodeType":864},{},[],"It isn’t an exaggeration or marketing fluff to say that identity attacks are the #1 threat facing organizations today. SaaS apps, and the identities that are used to access them, are clearly the weakest link – and therefore the lowest-hanging fruit for attackers to reach for. ",{"data":95701,"content":95702,"nodeType":860},{},[95703],{"data":95704,"marks":95705,"value":95706,"nodeType":864},{},[],"This makes resources like the SaaS attack matrix more relevant than ever – both for red teams seeking to emulate the latest offensive techniques, and blue teams trying to defend against them. Understanding these techniques is essential for building effective defenses, and identifying where new platforms and controls are required to do so. ",{"data":95708,"content":95709,"nodeType":860},{},[95710],{"data":95711,"marks":95712,"value":95713,"nodeType":864},{},[],"Let’s take a look at what we’ve learned so far.",{"data":95715,"content":95716,"nodeType":1005},{},[],{"data":95718,"content":95719,"nodeType":1009},{},[95720],{"data":95721,"marks":95722,"value":95723,"nodeType":864},{},[],"Hot right now: Initial access techniques",{"data":95725,"content":95726,"nodeType":860},{},[95727,95731,95738,95741,95749,95752,95759,95762,95769,95772,95781,95785,95792,95795,95803],{"data":95728,"marks":95729,"value":95730,"nodeType":864},{},[],"The majority of techniques we've seen rise to prominence in 2023/4 sit predominantly in the initial access phase. Since the matrix first launched, we’ve added more techniques to initial access than any other category, including ",{"data":95732,"content":95733,"nodeType":883},{"uri":26784},[95734],{"data":95735,"marks":95736,"value":17706,"nodeType":864},{},[95737],{"type":1455},{"data":95739,"marks":95740,"value":3731,"nodeType":864},{},[],{"data":95742,"content":95743,"nodeType":883},{"uri":42012},[95744],{"data":95745,"marks":95746,"value":95748,"nodeType":864},{},[95747],{"type":1455},"AitM phishing",{"data":95750,"marks":95751,"value":3731,"nodeType":864},{},[],{"data":95753,"content":95754,"nodeType":883},{"uri":42040},[95755],{"data":95756,"marks":95757,"value":82006,"nodeType":864},{},[95758],{"type":1455},{"data":95760,"marks":95761,"value":3731,"nodeType":864},{},[],{"data":95763,"content":95764,"nodeType":883},{"uri":39911},[95765],{"data":95766,"marks":95767,"value":65526,"nodeType":864},{},[95768],{"type":1455},{"data":95770,"marks":95771,"value":2232,"nodeType":864},{},[],{"data":95773,"content":95775,"nodeType":883},{"uri":95774},"https://github.com/pushsecurity/saas-attacks/blob/main/techniques/guest_access_abuse/description.md",[95776],{"data":95777,"marks":95778,"value":95780,"nodeType":864},{},[95779],{"type":1455},"guest access abuse,",{"data":95782,"marks":95783,"value":95784,"nodeType":864},{},[]," all of which are methods of account takeover – complementing the classics like ",{"data":95786,"content":95787,"nodeType":883},{"uri":87924},[95788],{"data":95789,"marks":95790,"value":87930,"nodeType":864},{},[95791],{"type":1455},{"data":95793,"marks":95794,"value":902,"nodeType":864},{},[],{"data":95796,"content":95798,"nodeType":883},{"uri":95797},"https://github.com/pushsecurity/saas-attacks/blob/main/techniques/email_phishing/description.md",[95799],{"data":95800,"marks":95801,"value":95802,"nodeType":864},{},[],"email phishing",{"data":95804,"marks":95805,"value":2924,"nodeType":864},{},[],{"data":95807,"content":95808,"nodeType":860},{},[95809],{"data":95810,"marks":95811,"value":95812,"nodeType":864},{},[],"We’ll spend a bit of time delving into these techniques in the next section, but let’s first consider what this tells us about SaaS attacks. ",{"data":95814,"content":95815,"nodeType":1312},{},[95816],{"data":95817,"marks":95818,"value":95819,"nodeType":864},{},[],"Identity attacks are the leading cause of SaaS breaches",{"data":95821,"content":95822,"nodeType":860},{},[95823],{"data":95824,"marks":95825,"value":95826,"nodeType":864},{},[],"The initial identity attack designed to achieve account takeover is the most important part of the SaaS attack chain. The fact that attackers are focused on finding new ways of compromising identities illustrates the value, but also the fragility of the identity controls that most organizations are relying on (which may also be one of the reasons attackers are fixated on it). Whether we’re talking about anti-phishing protections, conditional access policies, or MFA – attackers are continually finding new ways of getting around them.",{"data":95828,"content":95829,"nodeType":860},{},[95830,95834,95839],{"data":95831,"marks":95832,"value":95833,"nodeType":864},{},[],"And, if all an attacker really needs to do to cause harm is log into an app and abuse its legitimate features and functions, there really is no margin for error – you need to successfully stop the initial identity attack ",{"data":95835,"marks":95836,"value":95838,"nodeType":864},{},[95837],{"type":899},"every time",{"data":95840,"marks":95841,"value":1774,"nodeType":864},{},[],{"data":95843,"content":95844,"nodeType":860},{},[95845,95849,95857],{"data":95846,"marks":95847,"value":95848,"nodeType":864},{},[],"You can’t rely on your endpoint and network controls to catch them later like you used to. Equally, it’s unlikely that your CASB or DLP solution can stop a legitimate app using legitimate features like ",{"data":95850,"content":95851,"nodeType":883},{"uri":61891},[95852],{"data":95853,"marks":95854,"value":95856,"nodeType":864},{},[95855],{"type":1455},"API-based workflows",{"data":95858,"marks":95859,"value":95860,"nodeType":864},{},[]," from sending data to attacker-controlled infrastructure. ",{"data":95862,"content":95863,"nodeType":860},{},[95864],{"data":95865,"marks":95866,"value":95867,"nodeType":864},{},[],"It’s a classic case of attackers only needing to win once. And right now, it’s a numbers game that they’re winning enough to keep them coming back for more. ",{"data":95869,"content":95870,"nodeType":1005},{},[],{"data":95872,"content":95873,"nodeType":1009},{},[95874],{"data":95875,"marks":95876,"value":95877,"nodeType":864},{},[],"Most wanted: Techniques gaining notoriety in the wild",{"data":95879,"content":95880,"nodeType":860},{},[95881],{"data":95882,"marks":95883,"value":95884,"nodeType":864},{},[],"Let’s take a closer look at some of the techniques we’ve seen rise to prominence in 2023/4. ",{"data":95886,"content":95887,"nodeType":1312},{},[95888],{"data":95889,"marks":95890,"value":395,"nodeType":864},{},[],{"data":95892,"content":95893,"nodeType":860},{},[95894,95897,95904],{"data":95895,"marks":95896,"value":21,"nodeType":864},{},[],{"data":95898,"content":95899,"nodeType":883},{"uri":26784},[95900],{"data":95901,"marks":95902,"value":395,"nodeType":864},{},[95903],{"type":1455},{"data":95905,"marks":95906,"value":95907,"nodeType":864},{},[]," is a technique that exploits the fact that SaaS user accounts often enable multiple simultaneous logins using different sign-in methods. ",{"data":95909,"content":95910,"nodeType":860},{},[95911,95915,95920,95923,95928],{"data":95912,"marks":95913,"value":95914,"nodeType":864},{},[],"Ghost logins can be used for both the ",{"data":95916,"marks":95917,"value":95919,"nodeType":864},{},[95918],{"type":899},"initial access",{"data":95921,"marks":95922,"value":902,"nodeType":864},{},[],{"data":95924,"marks":95925,"value":95927,"nodeType":864},{},[95926],{"type":899},"persistence",{"data":95929,"marks":95930,"value":95931,"nodeType":864},{},[]," stages of a cyber attack, doubling up as a defense evasion technique because of low login method visibility.",{"data":95933,"content":95934,"nodeType":860},{},[95935],{"data":95936,"marks":95937,"value":95938,"nodeType":864},{},[],"For initial access, the technique exploits the fact that local and SSO logins can exist simultaneously. Given that many apps are self-adopted by users, it’s likely that many users will default to a local username and password login at this stage. If the app is later adopted companywide and brought into SSO, the original local login will continue to exist unless explicitly disabled or deleted. ",{"data":95940,"content":95941,"nodeType":860},{},[95942],{"data":95943,"marks":95944,"value":95945,"nodeType":864},{},[],"Because MFA is applied at the app and IdP level independently, it is possible to end up with an SSO login that requires MFA (via the IdP login), but a local login that does not. This creates an easy target identity for attackers to look for. When combined with other identity vulnerabilities such as weak, breached, and/or reused passwords, attackers can easily automate ghost login discovery and exploitation at scale.  ",{"data":95947,"content":95948,"nodeType":860},{},[95949,95953,95961,95965,95973],{"data":95950,"marks":95951,"value":95952,"nodeType":864},{},[],"We saw the impact of ghost logins for initial access with ",{"data":95954,"content":95955,"nodeType":883},{"uri":6300},[95956],{"data":95957,"marks":95958,"value":95960,"nodeType":864},{},[95959],{"type":1455},"the recent ShinyHunters campaign against Snowflake customers",{"data":95962,"marks":95963,"value":95964,"nodeType":864},{},[],". Because Snowflake accounts did not require mandatory MFA for accounts, or give admins the ability to enforce MFA by default, attackers were able to find and exploit a large number of Snowflake accounts using breached credentials from historical data breach dumps. Much of the industry response focused on ensuring SSO and MFA were deployed, but ",{"data":95966,"content":95967,"nodeType":883},{"uri":87669},[95968],{"data":95969,"marks":95970,"value":95972,"nodeType":864},{},[95971],{"type":1455},"the practicalities of gathering data and manually unsetting local passwords in Snowflake",{"data":95974,"marks":95975,"value":95976,"nodeType":864},{},[]," meant that ghost logins were easy to overlook by organizations responding to the attacks.   ",{"data":95978,"content":95979,"nodeType":860},{},[95980,95984,95992,95996,96004],{"data":95981,"marks":95982,"value":95983,"nodeType":864},{},[],"Ghost logins can also be created after an attacker has established access to an app. For example, if a social login is used to access an account, an adversary may be able to configure a separate username/password login, or even (though much less commonly) connect a second social account that the adversary controls. If the account has sufficient privileges, it may also be possible to ",{"data":95985,"content":95986,"nodeType":883},{"uri":5231},[95987],{"data":95988,"marks":95989,"value":95991,"nodeType":864},{},[95990],{"type":1455},"set up or change the SAML login settings to inject a malicious URL",{"data":95993,"marks":95994,"value":95995,"nodeType":864},{},[]," (for example to an attacker controlled tenant) or simply ",{"data":95997,"content":95998,"nodeType":883},{"uri":36086},[95999],{"data":96000,"marks":96001,"value":96003,"nodeType":864},{},[96002],{"type":1455},"configure API access",{"data":96005,"marks":96006,"value":96007,"nodeType":864},{},[]," to forgo the need to log in entirely. ",{"data":96009,"content":96010,"nodeType":1312},{},[96011],{"data":96012,"marks":96013,"value":96014,"nodeType":864},{},[],"AitM phishing ",{"data":96016,"content":96017,"nodeType":860},{},[96018,96021,96029],{"data":96019,"marks":96020,"value":21,"nodeType":864},{},[],{"data":96022,"content":96023,"nodeType":883},{"uri":42012},[96024],{"data":96025,"marks":96026,"value":96028,"nodeType":864},{},[96027],{"type":1455},"Adversary-in-the-Middle (AitM) phishing",{"data":96030,"marks":96031,"value":96032,"nodeType":864},{},[]," is a newer variant of phishing that uses dedicated tooling to act as a web proxy between the victim and a legitimate login portal for an application the victim has access to, principally to make it easier to defeat MFA protection (with the victim responding to the MFA request as part of the attack).",{"data":96034,"content":96035,"nodeType":860},{},[96036],{"data":96037,"marks":96038,"value":96039,"nodeType":864},{},[],"As it’s a proxy to the real application, the page will appear exactly as the user expects, because they are logging into the legitimate site – just taking a detour via the attacker’s device. For example, if accessing their webmail, the user will see all their real emails; if accessing their cloud file store then all their real files will be present, etc. ",{"data":96041,"content":96042,"nodeType":860},{},[96043],{"data":96044,"marks":96045,"value":96046,"nodeType":864},{},[],"This gives AitM an increased sense of authenticity and makes the compromise less obvious to the user. Because the attacker is sitting in the middle of this connection, they are able to observe all interactions and take control of the authenticated session. ",{"data":96048,"content":96049,"nodeType":860},{},[96050],{"data":96051,"marks":96052,"value":96053,"nodeType":864},{},[],"Alongside AitM phishing is Browser-in-the-Middle (BitM), really a form of sub-technique. Rather than act as a reverse web proxy, this technique tricks a target into directly controlling the attacker’s own browser remotely using desktop screen sharing and control approaches (such as VNC and RDP). ",{"data":96055,"content":96056,"nodeType":860},{},[96057],{"data":96058,"marks":96059,"value":96061,"nodeType":864},{},[96060],{"type":899},"This is the virtual equivalent of an attacker handing their laptop to their victim, asking them to login to Okta for them, and then taking their laptop back afterwards.",{"data":96063,"content":96064,"nodeType":860},{},[96065],{"data":96066,"marks":96067,"value":96068,"nodeType":864},{},[],"A growing majority of modern phishing attacks typically leverage AitM or BitM tooling – they are now the standard choice for threat actors, offering the ability to bypass MFA without any real tradeoff. ",{"data":96070,"content":96071,"nodeType":860},{},[96072,96076,96084,96087,96095],{"data":96073,"marks":96074,"value":96075,"nodeType":864},{},[],"For more information you can ",{"data":96077,"content":96078,"nodeType":883},{"uri":48106},[96079],{"data":96080,"marks":96081,"value":96083,"nodeType":864},{},[96082],{"type":1455},"read our recent blog post",{"data":96085,"marks":96086,"value":27405,"nodeType":864},{},[],{"data":96088,"content":96089,"nodeType":883},{"uri":94457},[96090],{"data":96091,"marks":96092,"value":96094,"nodeType":864},{},[96093],{"type":1455},"watch our on-demand webinar on Phishing 2.0 to see AitM and BitM tools like Evilginx and EvilnoVNC in action",{"data":96096,"marks":96097,"value":12252,"nodeType":864},{},[],{"data":96099,"content":96100,"nodeType":1312},{},[96101],{"data":96102,"marks":96103,"value":333,"nodeType":864},{},[],{"data":96105,"content":96106,"nodeType":860},{},[96107,96110,96117],{"data":96108,"marks":96109,"value":21,"nodeType":864},{},[],{"data":96111,"content":96112,"nodeType":883},{"uri":87924},[96113],{"data":96114,"marks":96115,"value":333,"nodeType":864},{},[96116],{"type":1455},{"data":96118,"marks":96119,"value":96120,"nodeType":864},{},[]," attacks continue to pose a risk to organizations. Despite the fact that MFA has now become an expected control, accounts without MFA continue to be hacked as a result of using weak, reused, and/or previously breached credentials. ",{"data":96122,"content":96123,"nodeType":860},{},[96124,96128,96136,96140,96149],{"data":96125,"marks":96126,"value":96127,"nodeType":864},{},[],"Credential stuffing is being fed by an increase in the number of ",{"data":96129,"content":96131,"nodeType":883},{"uri":96130},"https://pushsecurity.com/blog/what-the-rise-of-infostealers-says-about-identity-attacks/?utm_source=ebook&utm_medium=organic",[96132],{"data":96133,"marks":96134,"value":423,"nodeType":864},{},[96135],{"type":1455},{"data":96137,"marks":96138,"value":96139,"nodeType":864},{},[]," attacks designed to harvest credentials to be sold on criminal marketplaces. Infostealers have been boosted by the success of the Snowflake attacks (",{"data":96141,"content":96143,"nodeType":883},{"uri":96142},"https://pushsecurity.com/blog/identity-attacks-in-the-wild/#id-snowflake-june-2024?utm_source=ebook&utm_medium=organic",[96144],{"data":96145,"marks":96146,"value":96148,"nodeType":864},{},[96147],{"type":1455},"where 80% of the credentials used to access accounts could be traced back to infostealer infections dating back to 2020",{"data":96150,"marks":96151,"value":7133,"nodeType":864},{},[],{"data":96153,"content":96154,"nodeType":1312},{},[96155],{"data":96156,"marks":96157,"value":96158,"nodeType":864},{},[],"Session cookie theft",{"data":96160,"content":96161,"nodeType":860},{},[96162,96166,96174],{"data":96163,"marks":96164,"value":96165,"nodeType":864},{},[],"Attackers are increasingly ",{"data":96167,"content":96168,"nodeType":883},{"uri":42040},[96169],{"data":96170,"marks":96171,"value":96173,"nodeType":864},{},[96172],{"type":1455},"targeting session cookies",{"data":96175,"marks":96176,"value":96177,"nodeType":864},{},[]," to be able to hijack live user sessions as a means of getting around MFA. Although session cookies are predominantly stolen via infostealers, techniques like AitM and BitM phishing described above are also methods of stealing session cookies and hijacking sessions.",{"data":96179,"content":96180,"nodeType":860},{},[96181],{"data":96182,"marks":96183,"value":96184,"nodeType":864},{},[],"While the majority of infostealer data dumps result in credential stuffing attacks rather than session hijacking, as the infostealer marketplace continues to heat up, it’s likely that more instances of session cookie theft will be the cause of breaches going forward. ",{"data":96186,"content":96187,"nodeType":1312},{},[96188],{"data":96189,"marks":96190,"value":41990,"nodeType":864},{},[],{"data":96192,"content":96193,"nodeType":860},{},[96194,96198,96205],{"data":96195,"marks":96196,"value":96197,"nodeType":864},{},[],"While many organizations are waking up to the fact that it’s not enough to have any old MFA method, it’s still often overlooked that you need to actually remove or disable the phishable methods. Otherwise, in many cases they remain valid, opening affected identities up to ",{"data":96199,"content":96200,"nodeType":883},{"uri":39911},[96201],{"data":96202,"marks":96203,"value":41990,"nodeType":864},{},[96204],{"type":1455},{"data":96206,"marks":96207,"value":96208,"nodeType":864},{},[]," attacks. ",{"data":96210,"content":96211,"nodeType":860},{},[96212],{"data":96213,"marks":96214,"value":96215,"nodeType":864},{},[],"Just because a user has a phishing-resistant factor setup (such as passkeys) and may use them by default, it does not mean they are necessarily enforced. Often, services support the use of multiple authentication options, particularly for second factors. In particular, passkeys are device-bound and so enforcing their use prevents logins from other devices and can cause recovery issues in a lost/broken device scenario. Therefore, it’s common for the default case to be that passkey authentication is optional, rather than required.",{"data":96217,"content":96218,"nodeType":860},{},[96219],{"data":96220,"marks":96221,"value":96222,"nodeType":864},{},[],"When used in combination with AitM phishing tools, it’s possible for attackers to modify requests/responses so as to prevent the ability of passkeys to be selected as a login option and prompting the user to use vulnerable factors, such as passwords, TOTPs and push notifications instead. Since the server-side supports other authentication options, if the user continues and enters one of these alternative factors then their authenticated session will be compromised – despite the fact they usually use phishing-resistant MFA methods like passkeys or similar.",{"data":96224,"content":96225,"nodeType":1005},{},[],{"data":96227,"content":96228,"nodeType":1009},{},[96229],{"data":96230,"marks":96231,"value":96232,"nodeType":864},{},[],"Use case inspo: How red teamers are using the SaaS attack matrix",{"data":96234,"content":96235,"nodeType":860},{},[96236],{"data":96237,"marks":96238,"value":96239,"nodeType":864},{},[],"The techniques that advanced red teams are using to (ethically) hack into their clients are always a good indicator of what direction hackers in the real world are headed.  ",{"data":96241,"content":96242,"nodeType":860},{},[96243],{"data":96244,"marks":96245,"value":96246,"nodeType":864},{},[],"We spoke to a few of the best red teams around to see how they are using the matrix: Let’s see what they had to say. ",{"data":96248,"content":96249,"nodeType":1005},{},[],{"data":96251,"content":96252,"nodeType":1312},{},[96253],{"data":96254,"marks":96255,"value":96256,"nodeType":864},{},[],"Rob Maslen | Managing Principal Consultant | MDSec",{"data":96258,"content":96259,"nodeType":860},{},[96260],{"data":96261,"marks":96262,"value":96263,"nodeType":864},{},[],"“We use the matrix throughout our engagements: When scoping and proposing projects to clients, during testing to assist our consultants in successfully utilizing novel SaaS-attack techniques, and for reporting to provide a common language across the vendors that they work with. ",{"data":96265,"content":96266,"nodeType":860},{},[96267],{"data":96268,"marks":96269,"value":96270,"nodeType":864},{},[],"It’s been most useful to us when performing engagements on more modern Zero Trust Environments where macOS is predominantly the Operating System of choice. The objectives tend to be either access to critical applications that reside within the cloud and require the compromise of SaaS credentials, or to gain privileged access to a SaaS application. Whilst resources like the MITRE ATT&CK Framework can help to describe the techniques that have been used against a more traditional environment, the SaaS Matrix aids with performing and describing attacks against a more modern infrastructure.  ",{"data":96272,"content":96273,"nodeType":860},{},[96274,96278,96286],{"data":96275,"marks":96276,"value":96277,"nodeType":864},{},[],"The technique we’ve seen most success with, across both traditional Active Directory attacks and more modern Zero Trust Environments, is ",{"data":96279,"content":96280,"nodeType":883},{"uri":42040},[96281],{"data":96282,"marks":96283,"value":96285,"nodeType":864},{},[96284],{"type":1455},"Session Cookie Theft",{"data":96287,"marks":96288,"value":96289,"nodeType":864},{},[],". The protection of browser cookies (for inexplicable reasons) has had less engineering attention than it should have, opening up opportunities for lateral movement using session cookies, credentials, or API keys recovered from a host becomes a key technique. In our experience defensive tooling has yet to catch up with this threat. ",{"data":96291,"content":96292,"nodeType":860},{},[96293,96297,96305,96308,96317,96320,96329,96332,96339,96342,96349,96352,96360,96363,96370,96373,96382,96385,96393,96397,96406,96409,96418],{"data":96294,"marks":96295,"value":96296,"nodeType":864},{},[],"We’ve also seen success with various techniques across Kill Chain stages, including ",{"data":96298,"content":96299,"nodeType":883},{"uri":87559},[96300],{"data":96301,"marks":96302,"value":96304,"nodeType":864},{},[96303],{"type":1455},"Subdomain tenant discovery",{"data":96306,"marks":96307,"value":3731,"nodeType":864},{},[],{"data":96309,"content":96311,"nodeType":883},{"uri":96310},"https://github.com/pushsecurity/saas-attacks/blob/main/techniques/dns_reconnaissance/description.md",[96312],{"data":96313,"marks":96314,"value":96316,"nodeType":864},{},[96315],{"type":1455},"DNS reconnaissance",{"data":96318,"marks":96319,"value":3731,"nodeType":864},{},[],{"data":96321,"content":96323,"nodeType":883},{"uri":96322},"https://github.com/pushsecurity/saas-attacks/blob/main/techniques/username_enumeration/description.md",[96324],{"data":96325,"marks":96326,"value":96328,"nodeType":864},{},[96327],{"type":1455},"username enumeration",{"data":96330,"marks":96331,"value":3731,"nodeType":864},{},[],{"data":96333,"content":96334,"nodeType":883},{"uri":32223},[96335],{"data":96336,"marks":96337,"value":32228,"nodeType":864},{},[96338],{"type":1455},{"data":96340,"marks":96341,"value":3731,"nodeType":864},{},[],{"data":96343,"content":96344,"nodeType":883},{"uri":23510},[96345],{"data":96346,"marks":96347,"value":23342,"nodeType":864},{},[96348],{"type":1455},{"data":96350,"marks":96351,"value":3731,"nodeType":864},{},[],{"data":96353,"content":96354,"nodeType":883},{"uri":95774},[96355],{"data":96356,"marks":96357,"value":96359,"nodeType":864},{},[96358],{"type":1455},"guest access abuse",{"data":96361,"marks":96362,"value":3731,"nodeType":864},{},[],{"data":96364,"content":96365,"nodeType":883},{"uri":61891},[96366],{"data":96367,"marks":96368,"value":61897,"nodeType":864},{},[96369],{"type":1455},{"data":96371,"marks":96372,"value":3731,"nodeType":864},{},[],{"data":96374,"content":96376,"nodeType":883},{"uri":96375},"https://github.com/pushsecurity/saas-attacks/blob/main/techniques/oauth_tokens/description.md",[96377],{"data":96378,"marks":96379,"value":96381,"nodeType":864},{},[96380],{"type":1455},"OAuth tokens",{"data":96383,"marks":96384,"value":3731,"nodeType":864},{},[],{"data":96386,"content":96387,"nodeType":883},{"uri":36086},[96388],{"data":96389,"marks":96390,"value":96392,"nodeType":864},{},[96391],{"type":1455},"API keys",{"data":96394,"marks":96395,"value":96396,"nodeType":864},{},[]," (as long as you ensure the target isn't notified – make sure you delete the notification of creation email!), ",{"data":96398,"content":96400,"nodeType":883},{"uri":96399},"https://github.com/pushsecurity/saas-attacks/blob/main/techniques/api_secret_theft/description.md",[96401],{"data":96402,"marks":96403,"value":96405,"nodeType":864},{},[96404],{"type":1455},"API secret theft",{"data":96407,"marks":96408,"value":2232,"nodeType":864},{},[],{"data":96410,"content":96412,"nodeType":883},{"uri":96411},"https://github.com/pushsecurity/saas-attacks/blob/main/techniques/link_backdooring/description.md",[96413],{"data":96414,"marks":96415,"value":96417,"nodeType":864},{},[96416],{"type":1455},"link backdooring",{"data":96419,"marks":96420,"value":12252,"nodeType":864},{},[],{"data":96422,"content":96423,"nodeType":860},{},[96424],{"data":96425,"marks":96426,"value":96427,"nodeType":864},{},[],"Embracing the modern Zero Trust architecture with its greater SaaS usage does not come without security risks, and while it does invalidate a large number of the attacks that can be performed within an AD environment, the SaaS attack matrix is a great way of illustrating how these attacks work, as well as helping red and blue teams respectively to simulate and defend against them.\" ",{"data":96429,"content":96430,"nodeType":1005},{},[],{"data":96432,"content":96433,"nodeType":1312},{},[96434],{"data":96435,"marks":96436,"value":96437,"nodeType":864},{},[],"Tom Ellson | Head of Offensive Security | Stripe OLT",{"data":96439,"content":96440,"nodeType":860},{},[96441],{"data":96442,"marks":96443,"value":96444,"nodeType":864},{},[],"“We've used the SaaS attack matrix across several cloud-native engagements, for both initial access and lateral movement. My go-to techniques so far have been:",{"data":96446,"content":96447,"nodeType":941},{},[96448,96475,96497,96519],{"data":96449,"content":96450,"nodeType":945},{},[96451],{"data":96452,"content":96453,"nodeType":860},{},[96454,96457,96467,96471],{"data":96455,"marks":96456,"value":21,"nodeType":864},{},[],{"data":96458,"content":96460,"nodeType":883},{"uri":96459},"https://github.com/pushsecurity/saas-attacks/blob/main/techniques/im_phishing/description.md",[96461],{"data":96462,"marks":96463,"value":96466,"nodeType":864},{},[96464,96465],{"type":1455},{"type":899},"IM phishing:",{"data":96468,"marks":96469,"value":1171,"nodeType":864},{},[96470],{"type":899},{"data":96472,"marks":96473,"value":96474,"nodeType":864},{},[],"Phishing via Microsoft Teams in particular has been highly successful, especially when paired with a number of abusable “features” (working as intended, clearly). ",{"data":96476,"content":96477,"nodeType":945},{},[96478],{"data":96479,"content":96480,"nodeType":860},{},[96481,96484,96493],{"data":96482,"marks":96483,"value":21,"nodeType":864},{},[],{"data":96485,"content":96486,"nodeType":883},{"uri":23510},[96487],{"data":96488,"marks":96489,"value":96492,"nodeType":864},{},[96490,96491],{"type":1455},{"type":899},"Device code phishing:",{"data":96494,"marks":96495,"value":96496,"nodeType":864},{},[]," We use this for both initial access and persistence. It’s a great way of getting around MFA by tricking the victim into following the device approval process for our device, but using their device. ",{"data":96498,"content":96499,"nodeType":945},{},[96500],{"data":96501,"content":96502,"nodeType":860},{},[96503,96506,96515],{"data":96504,"marks":96505,"value":21,"nodeType":864},{},[],{"data":96507,"content":96508,"nodeType":883},{"uri":42012},[96509],{"data":96510,"marks":96511,"value":96514,"nodeType":864},{},[96512,96513],{"type":1455},{"type":899},"AitM phishing:",{"data":96516,"marks":96517,"value":96518,"nodeType":864},{},[]," This is now a staple for credential harvesting. Better security controls force us to abuse other avenues to bypass conditional access policies, such as extraction of the PRT token from the end user device, thus granting us claimed access, which can be achieved using AitM and BitM techniques.",{"data":96520,"content":96521,"nodeType":945},{},[96522],{"data":96523,"content":96524,"nodeType":860},{},[96525,96528,96538,96542],{"data":96526,"marks":96527,"value":21,"nodeType":864},{},[],{"data":96529,"content":96531,"nodeType":883},{"uri":96530},"https://github.com/pushsecurity/saas-attacks/blob/main/techniques/oauth_token_enumeration/description.md",[96532],{"data":96533,"marks":96534,"value":96537,"nodeType":864},{},[96535,96536],{"type":1455},{"type":899},"OAuth token enumeration:",{"data":96539,"marks":96540,"value":1171,"nodeType":864},{},[96541],{"type":899},{"data":96543,"marks":96544,"value":96545,"nodeType":864},{},[],"Once an account has been compromised, the Myapps portal is commonly used to validate the accessible applications and further target downstream apps to access data and functionality. ",{"data":96547,"content":96548,"nodeType":860},{},[96549],{"data":96550,"marks":96551,"value":96552,"nodeType":864},{},[],"We’re usually targeting M365 environments but have still found these attack techniques to be highly effective. In some cases, we’ve leveraged other SaaS applications such as abusing in-app phishing via GitHub to compromise development pipelines. The matrix is particularly useful as a playbook of further attacks once initial access has been established. Even just the awareness of how to pivot from SaaS to SaaS (and sometimes back to Microsoft or Google) is really eye-opening for red teams, and adds a new dimension to the security testing that our clients are used to experiencing. ",{"data":96554,"content":96555,"nodeType":860},{},[96556],{"data":96557,"marks":96558,"value":96559,"nodeType":864},{},[],"Because of the success of using these methods, we’ve now incorporated the SaaS attack matrix techniques into our purple teaming methodology to ensure that our clients can build awareness of their detection visibility gaps when it comes to identity attacks, and are routinely benchmarked against them.”  ",{"data":96561,"content":96562,"nodeType":1005},{},[],{"data":96564,"content":96565,"nodeType":1312},{},[96566],{"data":96567,"marks":96568,"value":96569,"nodeType":864},{},[],"Max Corbridge | Head of Adversarial Simulation | JUMPSEC",{"data":96571,"content":96572,"nodeType":860},{},[96573],{"data":96574,"marks":96575,"value":96576,"nodeType":864},{},[],"“I’ve been a big fan of the matrix from day one. We use it for two main purposes – as a catalog of TTPs to apply during threat modeling exercises with cloud-native clients, and as a guide for how to apply novel TTPs to different apps and situations. The wiki descriptions, video demonstrations and references help enormously with this. ",{"data":96578,"content":96579,"nodeType":860},{},[96580,96584,96591,96594,96601,96604,96613,96616,96623],{"data":96581,"marks":96582,"value":96583,"nodeType":864},{},[],"We’ve mostly relied on ",{"data":96585,"content":96586,"nodeType":883},{"uri":96459},[96587],{"data":96588,"marks":96589,"value":83515,"nodeType":864},{},[96590],{"type":1455},{"data":96592,"marks":96593,"value":3731,"nodeType":864},{},[],{"data":96595,"content":96596,"nodeType":883},{"uri":42012},[96597],{"data":96598,"marks":96599,"value":95748,"nodeType":864},{},[96600],{"type":1455},{"data":96602,"marks":96603,"value":3731,"nodeType":864},{},[],{"data":96605,"content":96607,"nodeType":883},{"uri":96606},"https://github.com/pushsecurity/saas-attacks/blob/main/techniques/abuse_existing_oauth_integrations/description.md",[96608],{"data":96609,"marks":96610,"value":96612,"nodeType":864},{},[96611],{"type":1455},"abusing OAuth integrations",{"data":96614,"marks":96615,"value":2232,"nodeType":864},{},[],{"data":96617,"content":96618,"nodeType":883},{"uri":88494},[96619],{"data":96620,"marks":96621,"value":5272,"nodeType":864},{},[96622],{"type":1455},{"data":96624,"marks":96625,"value":96626,"nodeType":864},{},[],". In one recent engagement, we were able to compromise a cloud identity with limited permissions in the target Azure environment. We were able to enumerate additional OAuth integrations to laterally move to a third-party IT Service Management SaaS application, which presented a much easier target to elevate privileges. We actually ended up finding a number of 0-days in the application, which we then used as a trusted platform to launch a covert spear-phishing campaign against specific high-privilege users, communicating back-and-forth as though we were a genuine support team, and hiding risky changes to cover our tracks. Ultimately we were able to pivot back into the target Azure estate, but now with administrative privileges. ",{"data":96628,"content":96629,"nodeType":860},{},[96630],{"data":96631,"marks":96632,"value":96633,"nodeType":864},{},[],"This really shows how third-party identities and apps are often the soft underbelly for a lot of otherwise pretty secure orgs that we work with, and we’re enjoying the challenge of finding new ways of getting to the crown jewels. ",{"data":96635,"content":96636,"nodeType":860},{},[96637],{"data":96638,"marks":96639,"value":96640,"nodeType":864},{},[],"In my eyes the world of cloud and SaaS-native attack techniques is under-researched for how increasingly relevant it is becoming. Many of the older TTPs and tradecraft are no longer relevant in a cloud-native world, and even when the techniques are consistent with the ways we used to target networks and endpoints, the context and how it actually works is completely different. So, resources like the SaaS attack matrix will continue to be needed for both offensive and defensive security practitioners going forwards”.",{"data":96642,"content":96643,"nodeType":1005},{},[],{"data":96645,"content":96646,"nodeType":1009},{},[96647],{"data":96648,"marks":96649,"value":38352,"nodeType":864},{},[],{"data":96651,"content":96652,"nodeType":860},{},[96653],{"data":96654,"marks":96655,"value":96656,"nodeType":864},{},[],"Hopefully you're now feeling inspired to get involved and start applying the SaaS attack matrix yourself. And if you’ve been using the matrix and want to share your experience with us, we’d love to hear from you. ",{"data":96658,"content":96659,"nodeType":860},{},[96660,96664,96671],{"data":96661,"marks":96662,"value":96663,"nodeType":864},{},[],"We hope to see your comments, discussions, or PRs on ",{"data":96665,"content":96666,"nodeType":883},{"uri":6418},[96667],{"data":96668,"marks":96669,"value":6423,"nodeType":864},{},[96670],{"type":1455},{"data":96672,"marks":96673,"value":96674,"nodeType":864},{},[],"!",{"data":96676,"content":96677,"nodeType":860},{},[96678,96682,96691],{"data":96679,"marks":96680,"value":96681,"nodeType":864},{},[],"If this has piqued your interest, we’ve just released a 2024 edition of our SaaS attacks report: ",{"data":96683,"content":96685,"nodeType":883},{"uri":96684},"https://pushsecurity.com/resources/book/saas-attacks-report/",[96686],{"data":96687,"marks":96688,"value":96690,"nodeType":864},{},[96689],{"type":1455},"get your copy here",{"data":96692,"marks":96693,"value":12252,"nodeType":864},{},[],{"data":96695,"content":96699,"nodeType":996},{"target":96696},{"sys":96697},{"id":96698,"type":1001,"linkType":1002},"J11G6XCdDAYu0GQbKGCnm",[],{"data":96701,"content":96702,"nodeType":860},{},[96703],{"data":96704,"marks":96705,"value":21,"nodeType":864},{},[],{"entries":96707},{"hyperlink":96708,"inline":96709,"block":96710},[],[],[96711],{"sys":96712,"__typename":1717,"type":1718,"ctaText":96713,"buttonLabel":96714,"buttonColour":1721,"buttonUrl":96684},{"id":96698},"Check out the SaaS Attacks Report to learn about how identity attacks are the leading cause of SaaS breaches in 2024","Download the report",{"items":96716},[],{},"Reflecting on a year of SaaS identity attacks","2024-08-27T00:00:00.000Z",{"items":96721},[96722,97779,98433],{"__typename":2059,"sys":96723,"content":96724,"title":95167,"synopsis":95168,"hashTags":59,"publishedDate":95169,"slug":95170,"tagsCollection":97769,"authorsCollection":97775},{"id":93956},{"json":96725},{"data":96726,"content":96727,"nodeType":856},{},[96728,96734,96750,96756,96761,96767,96793,96798,96803,96809,96815,96820,96826,96842,96848,96854,96859,96865,96871,96913,96929,96935,96941,96947,96952,96958,96964,96970,96976,96982,96988,96998,97003,97009,97024,97040,97046,97052,97068,97074,97089,97095,97137,97143,97159,97165,97170,97185,97201,97207,97223,97229,97234,97240,97256,97262,97268,97273,97279,97285,97291,97297,97302,97308,97314,97320,97326,97331,97337,97343,97353,97366,97372,97378,97438,97444,97450,97456,97462,97468,97474,97480,97486,97502,97508,97513,97519,97524,97530,97536,97542,97547,97553,97559,97565,97595,97601,97607,97613,97619,97625,97631,97637,97643,97685,97690,97696,97732,97737,97743,97758,97763],{"data":96729,"content":96730,"nodeType":860},{},[96731],{"data":96732,"marks":96733,"value":93967,"nodeType":864},{},[],{"data":96735,"content":96736,"nodeType":860},{},[96737,96740,96747],{"data":96738,"marks":96739,"value":93974,"nodeType":864},{},[],{"data":96741,"content":96742,"nodeType":883},{"uri":93977},[96743],{"data":96744,"marks":96745,"value":93983,"nodeType":864},{},[96746],{"type":1455},{"data":96748,"marks":96749,"value":93987,"nodeType":864},{},[],{"data":96751,"content":96752,"nodeType":860},{},[96753],{"data":96754,"marks":96755,"value":93994,"nodeType":864},{},[],{"data":96757,"content":96760,"nodeType":996},{"target":96758},{"sys":96759},{"id":93999,"type":1001,"linkType":1002},[],{"data":96762,"content":96763,"nodeType":860},{},[96764],{"data":96765,"marks":96766,"value":94007,"nodeType":864},{},[],{"data":96768,"content":96769,"nodeType":860},{},[96770,96773,96780,96783,96790],{"data":96771,"marks":96772,"value":94014,"nodeType":864},{},[],{"data":96774,"content":96775,"nodeType":883},{"uri":94017},[96776],{"data":96777,"marks":96778,"value":65396,"nodeType":864},{},[96779],{"type":1455},{"data":96781,"marks":96782,"value":94026,"nodeType":864},{},[],{"data":96784,"content":96785,"nodeType":883},{"uri":94029},[96786],{"data":96787,"marks":96788,"value":94035,"nodeType":864},{},[96789],{"type":1455},{"data":96791,"marks":96792,"value":94039,"nodeType":864},{},[],{"data":96794,"content":96797,"nodeType":996},{"target":96795},{"sys":96796},{"id":94044,"type":1001,"linkType":1002},[],{"data":96799,"content":96802,"nodeType":996},{"target":96800},{"sys":96801},{"id":94050,"type":1001,"linkType":1002},[],{"data":96804,"content":96805,"nodeType":860},{},[96806],{"data":96807,"marks":96808,"value":94058,"nodeType":864},{},[],{"data":96810,"content":96811,"nodeType":860},{},[96812],{"data":96813,"marks":96814,"value":94065,"nodeType":864},{},[],{"data":96816,"content":96819,"nodeType":996},{"target":96817},{"sys":96818},{"id":94070,"type":1001,"linkType":1002},[],{"data":96821,"content":96822,"nodeType":860},{},[96823],{"data":96824,"marks":96825,"value":94078,"nodeType":864},{},[],{"data":96827,"content":96828,"nodeType":860},{},[96829,96832,96839],{"data":96830,"marks":96831,"value":94085,"nodeType":864},{},[],{"data":96833,"content":96834,"nodeType":883},{"uri":94088},[96835],{"data":96836,"marks":96837,"value":94094,"nodeType":864},{},[96838],{"type":1455},{"data":96840,"marks":96841,"value":94098,"nodeType":864},{},[],{"data":96843,"content":96844,"nodeType":1009},{},[96845],{"data":96846,"marks":96847,"value":94105,"nodeType":864},{},[],{"data":96849,"content":96850,"nodeType":860},{},[96851],{"data":96852,"marks":96853,"value":94112,"nodeType":864},{},[],{"data":96855,"content":96858,"nodeType":996},{"target":96856},{"sys":96857},{"id":94117,"type":1001,"linkType":1002},[],{"data":96860,"content":96861,"nodeType":860},{},[96862],{"data":96863,"marks":96864,"value":94125,"nodeType":864},{},[],{"data":96866,"content":96867,"nodeType":860},{},[96868],{"data":96869,"marks":96870,"value":94132,"nodeType":864},{},[],{"data":96872,"content":96873,"nodeType":941},{},[96874,96887,96900],{"data":96875,"content":96876,"nodeType":945},{},[96877],{"data":96878,"content":96879,"nodeType":860},{},[96880,96884],{"data":96881,"marks":96882,"value":94146,"nodeType":864},{},[96883],{"type":899},{"data":96885,"marks":96886,"value":94150,"nodeType":864},{},[],{"data":96888,"content":96889,"nodeType":945},{},[96890],{"data":96891,"content":96892,"nodeType":860},{},[96893,96897],{"data":96894,"marks":96895,"value":94161,"nodeType":864},{},[96896],{"type":899},{"data":96898,"marks":96899,"value":94165,"nodeType":864},{},[],{"data":96901,"content":96902,"nodeType":945},{},[96903],{"data":96904,"content":96905,"nodeType":860},{},[96906,96910],{"data":96907,"marks":96908,"value":94176,"nodeType":864},{},[96909],{"type":899},{"data":96911,"marks":96912,"value":94180,"nodeType":864},{},[],{"data":96914,"content":96915,"nodeType":860},{},[96916,96919,96926],{"data":96917,"marks":96918,"value":94187,"nodeType":864},{},[],{"data":96920,"content":96921,"nodeType":883},{"uri":36853},[96922],{"data":96923,"marks":96924,"value":94195,"nodeType":864},{},[96925],{"type":1455},{"data":96927,"marks":96928,"value":2924,"nodeType":864},{},[],{"data":96930,"content":96931,"nodeType":860},{},[96932],{"data":96933,"marks":96934,"value":94205,"nodeType":864},{},[],{"data":96936,"content":96937,"nodeType":1009},{},[96938],{"data":96939,"marks":96940,"value":94212,"nodeType":864},{},[],{"data":96942,"content":96943,"nodeType":860},{},[96944],{"data":96945,"marks":96946,"value":94219,"nodeType":864},{},[],{"data":96948,"content":96951,"nodeType":996},{"target":96949},{"sys":96950},{"id":53603,"type":1001,"linkType":1002},[],{"data":96953,"content":96954,"nodeType":860},{},[96955],{"data":96956,"marks":96957,"value":94231,"nodeType":864},{},[],{"data":96959,"content":96960,"nodeType":860},{},[96961],{"data":96962,"marks":96963,"value":94238,"nodeType":864},{},[],{"data":96965,"content":96966,"nodeType":1312},{},[96967],{"data":96968,"marks":96969,"value":94245,"nodeType":864},{},[],{"data":96971,"content":96972,"nodeType":860},{},[96973],{"data":96974,"marks":96975,"value":94252,"nodeType":864},{},[],{"data":96977,"content":96978,"nodeType":860},{},[96979],{"data":96980,"marks":96981,"value":94259,"nodeType":864},{},[],{"data":96983,"content":96984,"nodeType":860},{},[96985],{"data":96986,"marks":96987,"value":94266,"nodeType":864},{},[],{"data":96989,"content":96990,"nodeType":860},{},[96991,96995],{"data":96992,"marks":96993,"value":94274,"nodeType":864},{},[96994],{"type":899},{"data":96996,"marks":96997,"value":94278,"nodeType":864},{},[],{"data":96999,"content":97002,"nodeType":996},{"target":97000},{"sys":97001},{"id":94283,"type":1001,"linkType":1002},[],{"data":97004,"content":97005,"nodeType":860},{},[97006],{"data":97007,"marks":97008,"value":94291,"nodeType":864},{},[],{"data":97010,"content":97011,"nodeType":860},{},[97012,97015,97021],{"data":97013,"marks":97014,"value":94298,"nodeType":864},{},[],{"data":97016,"content":97017,"nodeType":883},{"uri":90269},[97018],{"data":97019,"marks":97020,"value":72883,"nodeType":864},{},[],{"data":97022,"marks":97023,"value":94308,"nodeType":864},{},[],{"data":97025,"content":97026,"nodeType":860},{},[97027,97030,97037],{"data":97028,"marks":97029,"value":94315,"nodeType":864},{},[],{"data":97031,"content":97032,"nodeType":883},{"uri":47989},[97033],{"data":97034,"marks":97035,"value":94323,"nodeType":864},{},[97036],{"type":1455},{"data":97038,"marks":97039,"value":12252,"nodeType":864},{},[],{"data":97041,"content":97042,"nodeType":1312},{},[97043],{"data":97044,"marks":97045,"value":94333,"nodeType":864},{},[],{"data":97047,"content":97048,"nodeType":860},{},[97049],{"data":97050,"marks":97051,"value":94340,"nodeType":864},{},[],{"data":97053,"content":97054,"nodeType":860},{},[97055,97058,97065],{"data":97056,"marks":97057,"value":94347,"nodeType":864},{},[],{"data":97059,"content":97060,"nodeType":883},{"uri":94350},[97061],{"data":97062,"marks":97063,"value":94356,"nodeType":864},{},[97064],{"type":1455},{"data":97066,"marks":97067,"value":94360,"nodeType":864},{},[],{"data":97069,"content":97070,"nodeType":860},{},[97071],{"data":97072,"marks":97073,"value":94367,"nodeType":864},{},[],{"data":97075,"content":97076,"nodeType":860},{},[97077,97080,97086],{"data":97078,"marks":97079,"value":94374,"nodeType":864},{},[],{"data":97081,"content":97082,"nodeType":883},{"uri":48237},[97083],{"data":97084,"marks":97085,"value":94381,"nodeType":864},{},[],{"data":97087,"marks":97088,"value":2924,"nodeType":864},{},[],{"data":97090,"content":97091,"nodeType":1312},{},[97092],{"data":97093,"marks":97094,"value":94391,"nodeType":864},{},[],{"data":97096,"content":97097,"nodeType":860},{},[97098,97101,97107,97110,97116,97119,97125,97128,97134],{"data":97099,"marks":97100,"value":94398,"nodeType":864},{},[],{"data":97102,"content":97103,"nodeType":883},{"uri":94401},[97104],{"data":97105,"marks":97106,"value":94406,"nodeType":864},{},[],{"data":97108,"marks":97109,"value":3731,"nodeType":864},{},[],{"data":97111,"content":97112,"nodeType":883},{"uri":94412},[97113],{"data":97114,"marks":97115,"value":94417,"nodeType":864},{},[],{"data":97117,"marks":97118,"value":3731,"nodeType":864},{},[],{"data":97120,"content":97121,"nodeType":883},{"uri":83666},[97122],{"data":97123,"marks":97124,"value":83672,"nodeType":864},{},[],{"data":97126,"marks":97127,"value":902,"nodeType":864},{},[],{"data":97129,"content":97130,"nodeType":883},{"uri":94432},[97131],{"data":97132,"marks":97133,"value":94437,"nodeType":864},{},[],{"data":97135,"marks":97136,"value":12252,"nodeType":864},{},[],{"data":97138,"content":97139,"nodeType":860},{},[97140],{"data":97141,"marks":97142,"value":94447,"nodeType":864},{},[],{"data":97144,"content":97145,"nodeType":860},{},[97146,97149,97156],{"data":97147,"marks":97148,"value":94454,"nodeType":864},{},[],{"data":97150,"content":97151,"nodeType":883},{"uri":94457},[97152],{"data":97153,"marks":97154,"value":94463,"nodeType":864},{},[97155],{"type":1455},{"data":97157,"marks":97158,"value":12252,"nodeType":864},{},[],{"data":97160,"content":97161,"nodeType":860},{},[97162],{"data":97163,"marks":97164,"value":94473,"nodeType":864},{},[],{"data":97166,"content":97169,"nodeType":996},{"target":97167},{"sys":97168},{"id":43836,"type":1001,"linkType":1002},[],{"data":97171,"content":97172,"nodeType":860},{},[97173,97176,97182],{"data":97174,"marks":97175,"value":94485,"nodeType":864},{},[],{"data":97177,"content":97178,"nodeType":883},{"uri":90269},[97179],{"data":97180,"marks":97181,"value":72883,"nodeType":864},{},[],{"data":97183,"marks":97184,"value":94495,"nodeType":864},{},[],{"data":97186,"content":97187,"nodeType":860},{},[97188,97191,97198],{"data":97189,"marks":97190,"value":94502,"nodeType":864},{},[],{"data":97192,"content":97193,"nodeType":883},{"uri":48185},[97194],{"data":97195,"marks":97196,"value":94510,"nodeType":864},{},[97197],{"type":1455},{"data":97199,"marks":97200,"value":12252,"nodeType":864},{},[],{"data":97202,"content":97203,"nodeType":1009},{},[97204],{"data":97205,"marks":97206,"value":94520,"nodeType":864},{},[],{"data":97208,"content":97209,"nodeType":860},{},[97210,97213,97220],{"data":97211,"marks":97212,"value":94527,"nodeType":864},{},[],{"data":97214,"content":97215,"nodeType":883},{"uri":6300},[97216],{"data":97217,"marks":97218,"value":3756,"nodeType":864},{},[97219],{"type":1455},{"data":97221,"marks":97222,"value":94538,"nodeType":864},{},[],{"data":97224,"content":97225,"nodeType":860},{},[97226],{"data":97227,"marks":97228,"value":94545,"nodeType":864},{},[],{"data":97230,"content":97233,"nodeType":996},{"target":97231},{"sys":97232},{"id":94550,"type":1001,"linkType":1002},[],{"data":97235,"content":97236,"nodeType":860},{},[97237],{"data":97238,"marks":97239,"value":94558,"nodeType":864},{},[],{"data":97241,"content":97242,"nodeType":860},{},[97243,97246,97253],{"data":97244,"marks":97245,"value":81865,"nodeType":864},{},[],{"data":97247,"content":97248,"nodeType":883},{"uri":81868},[97249],{"data":97250,"marks":97251,"value":81874,"nodeType":864},{},[97252],{"type":1455},{"data":97254,"marks":97255,"value":2924,"nodeType":864},{},[],{"data":97257,"content":97258,"nodeType":860},{},[97259],{"data":97260,"marks":97261,"value":94581,"nodeType":864},{},[],{"data":97263,"content":97264,"nodeType":860},{},[97265],{"data":97266,"marks":97267,"value":94588,"nodeType":864},{},[],{"data":97269,"content":97272,"nodeType":996},{"target":97270},{"sys":97271},{"id":94593,"type":1001,"linkType":1002},[],{"data":97274,"content":97275,"nodeType":1312},{},[97276],{"data":97277,"marks":97278,"value":94601,"nodeType":864},{},[],{"data":97280,"content":97281,"nodeType":860},{},[97282],{"data":97283,"marks":97284,"value":94608,"nodeType":864},{},[],{"data":97286,"content":97287,"nodeType":860},{},[97288],{"data":97289,"marks":97290,"value":94615,"nodeType":864},{},[],{"data":97292,"content":97293,"nodeType":860},{},[97294],{"data":97295,"marks":97296,"value":94622,"nodeType":864},{},[],{"data":97298,"content":97301,"nodeType":996},{"target":97299},{"sys":97300},{"id":43965,"type":1001,"linkType":1002},[],{"data":97303,"content":97304,"nodeType":1312},{},[97305],{"data":97306,"marks":97307,"value":94634,"nodeType":864},{},[],{"data":97309,"content":97310,"nodeType":860},{},[97311],{"data":97312,"marks":97313,"value":94641,"nodeType":864},{},[],{"data":97315,"content":97316,"nodeType":860},{},[97317],{"data":97318,"marks":97319,"value":94648,"nodeType":864},{},[],{"data":97321,"content":97322,"nodeType":860},{},[97323],{"data":97324,"marks":97325,"value":94655,"nodeType":864},{},[],{"data":97327,"content":97330,"nodeType":996},{"target":97328},{"sys":97329},{"id":94660,"type":1001,"linkType":1002},[],{"data":97332,"content":97333,"nodeType":1009},{},[97334],{"data":97335,"marks":97336,"value":94668,"nodeType":864},{},[],{"data":97338,"content":97339,"nodeType":860},{},[97340],{"data":97341,"marks":97342,"value":94675,"nodeType":864},{},[],{"data":97344,"content":97345,"nodeType":860},{},[97346,97350],{"data":97347,"marks":97348,"value":94683,"nodeType":864},{},[97349],{"type":899},{"data":97351,"marks":97352,"value":94687,"nodeType":864},{},[],{"data":97354,"content":97355,"nodeType":860},{},[97356,97359,97363],{"data":97357,"marks":97358,"value":94694,"nodeType":864},{},[],{"data":97360,"marks":97361,"value":94699,"nodeType":864},{},[97362],{"type":899},{"data":97364,"marks":97365,"value":94703,"nodeType":864},{},[],{"data":97367,"content":97368,"nodeType":860},{},[97369],{"data":97370,"marks":97371,"value":94710,"nodeType":864},{},[],{"data":97373,"content":97374,"nodeType":860},{},[97375],{"data":97376,"marks":97377,"value":94717,"nodeType":864},{},[],{"data":97379,"content":97380,"nodeType":941},{},[97381,97400,97419],{"data":97382,"content":97383,"nodeType":945},{},[97384],{"data":97385,"content":97386,"nodeType":860},{},[97387,97390,97397],{"data":97388,"marks":97389,"value":94730,"nodeType":864},{},[],{"data":97391,"content":97392,"nodeType":883},{"uri":6300},[97393],{"data":97394,"marks":97395,"value":3756,"nodeType":864},{},[97396],{"type":1455},{"data":97398,"marks":97399,"value":12252,"nodeType":864},{},[],{"data":97401,"content":97402,"nodeType":945},{},[97403],{"data":97404,"content":97405,"nodeType":860},{},[97406,97409,97416],{"data":97407,"marks":97408,"value":94750,"nodeType":864},{},[],{"data":97410,"content":97411,"nodeType":883},{"uri":37638},[97412],{"data":97413,"marks":97414,"value":94758,"nodeType":864},{},[97415],{"type":1455},{"data":97417,"marks":97418,"value":2924,"nodeType":864},{},[],{"data":97420,"content":97421,"nodeType":945},{},[97422],{"data":97423,"content":97424,"nodeType":860},{},[97425,97428,97435],{"data":97426,"marks":97427,"value":94771,"nodeType":864},{},[],{"data":97429,"content":97430,"nodeType":883},{"uri":94774},[97431],{"data":97432,"marks":97433,"value":94780,"nodeType":864},{},[97434],{"type":1455},{"data":97436,"marks":97437,"value":35977,"nodeType":864},{},[],{"data":97439,"content":97440,"nodeType":860},{},[97441],{"data":97442,"marks":97443,"value":94790,"nodeType":864},{},[],{"data":97445,"content":97446,"nodeType":1312},{},[97447],{"data":97448,"marks":97449,"value":94797,"nodeType":864},{},[],{"data":97451,"content":97452,"nodeType":860},{},[97453],{"data":97454,"marks":97455,"value":94804,"nodeType":864},{},[],{"data":97457,"content":97458,"nodeType":860},{},[97459],{"data":97460,"marks":97461,"value":94811,"nodeType":864},{},[],{"data":97463,"content":97464,"nodeType":860},{},[97465],{"data":97466,"marks":97467,"value":94818,"nodeType":864},{},[],{"data":97469,"content":97470,"nodeType":860},{},[97471],{"data":97472,"marks":97473,"value":94825,"nodeType":864},{},[],{"data":97475,"content":97476,"nodeType":1312},{},[97477],{"data":97478,"marks":97479,"value":94832,"nodeType":864},{},[],{"data":97481,"content":97482,"nodeType":860},{},[97483],{"data":97484,"marks":97485,"value":94839,"nodeType":864},{},[],{"data":97487,"content":97488,"nodeType":860},{},[97489,97492,97499],{"data":97490,"marks":97491,"value":94846,"nodeType":864},{},[],{"data":97493,"content":97494,"nodeType":883},{"uri":17701},[97495],{"data":97496,"marks":97497,"value":94854,"nodeType":864},{},[97498],{"type":1455},{"data":97500,"marks":97501,"value":12252,"nodeType":864},{},[],{"data":97503,"content":97504,"nodeType":860},{},[97505],{"data":97506,"marks":97507,"value":94864,"nodeType":864},{},[],{"data":97509,"content":97512,"nodeType":996},{"target":97510},{"sys":97511},{"id":94869,"type":1001,"linkType":1002},[],{"data":97514,"content":97515,"nodeType":860},{},[97516],{"data":97517,"marks":97518,"value":94877,"nodeType":864},{},[],{"data":97520,"content":97523,"nodeType":996},{"target":97521},{"sys":97522},{"id":94882,"type":1001,"linkType":1002},[],{"data":97525,"content":97526,"nodeType":1312},{},[97527],{"data":97528,"marks":97529,"value":94890,"nodeType":864},{},[],{"data":97531,"content":97532,"nodeType":860},{},[97533],{"data":97534,"marks":97535,"value":94897,"nodeType":864},{},[],{"data":97537,"content":97538,"nodeType":860},{},[97539],{"data":97540,"marks":97541,"value":94904,"nodeType":864},{},[],{"data":97543,"content":97546,"nodeType":996},{"target":97544},{"sys":97545},{"id":94909,"type":1001,"linkType":1002},[],{"data":97548,"content":97549,"nodeType":1312},{},[97550],{"data":97551,"marks":97552,"value":94917,"nodeType":864},{},[],{"data":97554,"content":97555,"nodeType":860},{},[97556],{"data":97557,"marks":97558,"value":94924,"nodeType":864},{},[],{"data":97560,"content":97561,"nodeType":860},{},[97562],{"data":97563,"marks":97564,"value":94931,"nodeType":864},{},[],{"data":97566,"content":97567,"nodeType":941},{},[97568,97577,97586],{"data":97569,"content":97570,"nodeType":945},{},[97571],{"data":97572,"content":97573,"nodeType":860},{},[97574],{"data":97575,"marks":97576,"value":94944,"nodeType":864},{},[],{"data":97578,"content":97579,"nodeType":945},{},[97580],{"data":97581,"content":97582,"nodeType":860},{},[97583],{"data":97584,"marks":97585,"value":94954,"nodeType":864},{},[],{"data":97587,"content":97588,"nodeType":945},{},[97589],{"data":97590,"content":97591,"nodeType":860},{},[97592],{"data":97593,"marks":97594,"value":94964,"nodeType":864},{},[],{"data":97596,"content":97597,"nodeType":860},{},[97598],{"data":97599,"marks":97600,"value":94971,"nodeType":864},{},[],{"data":97602,"content":97603,"nodeType":1312},{},[97604],{"data":97605,"marks":97606,"value":94978,"nodeType":864},{},[],{"data":97608,"content":97609,"nodeType":860},{},[97610],{"data":97611,"marks":97612,"value":94985,"nodeType":864},{},[],{"data":97614,"content":97615,"nodeType":860},{},[97616],{"data":97617,"marks":97618,"value":94992,"nodeType":864},{},[],{"data":97620,"content":97621,"nodeType":860},{},[97622],{"data":97623,"marks":97624,"value":94999,"nodeType":864},{},[],{"data":97626,"content":97627,"nodeType":1312},{},[97628],{"data":97629,"marks":97630,"value":95006,"nodeType":864},{},[],{"data":97632,"content":97633,"nodeType":860},{},[97634],{"data":97635,"marks":97636,"value":95013,"nodeType":864},{},[],{"data":97638,"content":97639,"nodeType":860},{},[97640],{"data":97641,"marks":97642,"value":95020,"nodeType":864},{},[],{"data":97644,"content":97645,"nodeType":941},{},[97646,97659,97672],{"data":97647,"content":97648,"nodeType":945},{},[97649],{"data":97650,"content":97651,"nodeType":860},{},[97652,97656],{"data":97653,"marks":97654,"value":95034,"nodeType":864},{},[97655],{"type":899},{"data":97657,"marks":97658,"value":95038,"nodeType":864},{},[],{"data":97660,"content":97661,"nodeType":945},{},[97662],{"data":97663,"content":97664,"nodeType":860},{},[97665,97669],{"data":97666,"marks":97667,"value":95049,"nodeType":864},{},[97668],{"type":899},{"data":97670,"marks":97671,"value":95053,"nodeType":864},{},[],{"data":97673,"content":97674,"nodeType":945},{},[97675],{"data":97676,"content":97677,"nodeType":860},{},[97678,97682],{"data":97679,"marks":97680,"value":95064,"nodeType":864},{},[97681],{"type":899},{"data":97683,"marks":97684,"value":95068,"nodeType":864},{},[],{"data":97686,"content":97689,"nodeType":996},{"target":97687},{"sys":97688},{"id":95073,"type":1001,"linkType":1002},[],{"data":97691,"content":97692,"nodeType":1009},{},[97693],{"data":97694,"marks":97695,"value":95081,"nodeType":864},{},[],{"data":97697,"content":97698,"nodeType":860},{},[97699,97702,97708,97711,97715,97718,97722,97725,97729],{"data":97700,"marks":97701,"value":95088,"nodeType":864},{},[],{"data":97703,"content":97704,"nodeType":883},{"uri":95091},[97705],{"data":97706,"marks":97707,"value":51400,"nodeType":864},{},[],{"data":97709,"marks":97710,"value":95099,"nodeType":864},{},[],{"data":97712,"marks":97713,"value":95104,"nodeType":864},{},[97714],{"type":899},{"data":97716,"marks":97717,"value":3731,"nodeType":864},{},[],{"data":97719,"marks":97720,"value":95112,"nodeType":864},{},[97721],{"type":899},{"data":97723,"marks":97724,"value":95116,"nodeType":864},{},[],{"data":97726,"marks":97727,"value":87,"nodeType":864},{},[97728],{"type":899},{"data":97730,"marks":97731,"value":95124,"nodeType":864},{},[],{"data":97733,"content":97736,"nodeType":996},{"target":97734},{"sys":97735},{"id":95129,"type":1001,"linkType":1002},[],{"data":97738,"content":97739,"nodeType":1312},{},[97740],{"data":97741,"marks":97742,"value":95137,"nodeType":864},{},[],{"data":97744,"content":97745,"nodeType":860},{},[97746,97749,97755],{"data":97747,"marks":97748,"value":95144,"nodeType":864},{},[],{"data":97750,"content":97751,"nodeType":883},{"uri":5642},[97752],{"data":97753,"marks":97754,"value":37814,"nodeType":864},{},[],{"data":97756,"marks":97757,"value":95154,"nodeType":864},{},[],{"data":97759,"content":97762,"nodeType":996},{"target":97760},{"sys":97761},{"id":95159,"type":1001,"linkType":1002},[],{"data":97764,"content":97765,"nodeType":860},{},[97766],{"data":97767,"marks":97768,"value":21,"nodeType":864},{},[],{"items":97770},[97771,97773],{"sys":97772,"name":342},{"id":6596},{"sys":97774,"name":6593},{"id":6592},{"items":97776},[97777],{"fullName":4878,"firstName":4879,"jobTitle":851,"profilePicture":97778},{"url":4881},{"__typename":2059,"sys":97780,"content":97781,"title":98419,"synopsis":98420,"hashTags":59,"publishedDate":98421,"slug":98422,"tagsCollection":98423,"authorsCollection":98429},{"id":73986},{"json":97782},{"data":97783,"content":97784,"nodeType":856},{},[97785,97792,97799,97823,97828,97835,97842,97845,97852,97872,97878,97885,97924,97931,97938,97945,97952,97959,97966,97984,97992,97995,98002,98009,98016,98023,98030,98037,98044,98092,98099,98106,98113,98133,98140,98147,98154,98161,98168,98175,98182,98199,98216,98259,98266,98273,98333,98340,98343,98350,98366,98384,98391,98397,98403,98406,98412],{"data":97786,"content":97787,"nodeType":860},{},[97788],{"data":97789,"marks":97790,"value":97791,"nodeType":864},{},[],"The field of threat detection and security monitoring has changed significantly over the last decade. Security tools and product categories have been added and replaced, specialist disciplines established, and methodologies created. ",{"data":97793,"content":97794,"nodeType":860},{},[97795],{"data":97796,"marks":97797,"value":97798,"nodeType":864},{},[],"Naturally, defenders have had to mature their approach because of the changing nature of the threat facing organizations. Attackers have always looked for new ways to target their victims, and naturally, defenders have had to adapt, forcing attackers to change things up… it’s a cat and mouse game. ",{"data":97800,"content":97801,"nodeType":860},{},[97802,97806,97814,97818],{"data":97803,"marks":97804,"value":97805,"nodeType":864},{},[],"Blue teamers have used the concept of the ",{"data":97807,"content":97809,"nodeType":883},{"uri":97808},"https://detect-respond.blogspot.com/2013/03/the-pyramid-of-pain.html",[97810],{"data":97811,"marks":97812,"value":48223,"nodeType":864},{},[97813],{"type":1455},{"data":97815,"marks":97816,"value":97817,"nodeType":864},{},[]," for over a decade. The logic is simple: ",{"data":97819,"marks":97820,"value":97822,"nodeType":864},{},[97821],{"type":899},"Focus on detecting and responding to indicators that are hard for attackers to change. ",{"data":97824,"content":97827,"nodeType":996},{"target":97825},{"sys":97826},{"id":53784,"type":1001,"linkType":1002},[],{"data":97829,"content":97830,"nodeType":860},{},[97831],{"data":97832,"marks":97833,"value":97834,"nodeType":864},{},[],"If an attacker only has to tweak a variable to get around your detection rule, like adding a space to change a hash value, it’s probably not a very good detection. It’s not going to remain effective for long and you’re always going to be one step behind the attacker – waiting for them to make their next move so you can react. This usually ends up meaning that attackers enjoy at least some success before they can be shut out again. ",{"data":97836,"content":97837,"nodeType":860},{},[97838],{"data":97839,"marks":97840,"value":97841,"nodeType":864},{},[],"The Pyramid of Pain – and the goal of implementing hard-to-bypass detections that hit attackers where it hurts – is central to our design philosophy. But before we get into how we apply this approach, and the types of controls we’ve created as a result, it’s useful to look at how IT and security have changed since the Pyramid was created more than a decade ago. ",{"data":97843,"content":97844,"nodeType":1005},{},[],{"data":97846,"content":97847,"nodeType":1009},{},[97848],{"data":97849,"marks":97850,"value":97851,"nodeType":864},{},[],"A new era for cyber security",{"data":97853,"content":97854,"nodeType":860},{},[97855,97859,97868],{"data":97856,"marks":97857,"value":97858,"nodeType":864},{},[],"We’ve spoken a lot about how we’re in the midst of a new era in cybersecurity, in which identity is now the outermost digital perimeter for security teams to defend. (",{"data":97860,"content":97862,"nodeType":883},{"uri":97861},"https://pushsecurity.com/resources/video/the-new-saas-cyber-kill-chain-so-con-2024/",[97863],{"data":97864,"marks":97865,"value":97867,"nodeType":864},{},[97866],{"type":1455},"You’ll be familiar with this if you’ve seen any of Luke’s talks on the New SaaS Cyber Kill Chain.",{"data":97869,"marks":97870,"value":97871,"nodeType":864},{},[],") ",{"data":97873,"content":97877,"nodeType":996},{"target":97874},{"sys":97875},{"id":97876,"type":1001,"linkType":1002},"6nYSZAYpsbj78jKm0q75zs",[],{"data":97879,"content":97880,"nodeType":860},{},[97881],{"data":97882,"marks":97883,"value":97884,"nodeType":864},{},[],"This is primarily because modern working is no longer contained to a heavily centralized corporate network, and instead happens primarily in applications accessed over the internet via web browser.",{"data":97886,"content":97887,"nodeType":860},{},[97888,97892,97899,97903,97909,97913,97920],{"data":97889,"marks":97890,"value":97891,"nodeType":864},{},[],"In this new world, attacks don’t even have to touch the old perimeters, because all the data and functionality they could want exists on the public internet. As a result, we’re seeing more and more ",{"data":97893,"content":97894,"nodeType":883},{"uri":5760},[97895],{"data":97896,"marks":97897,"value":97898,"nodeType":864},{},[],"attacks targeting SaaS apps",{"data":97900,"marks":97901,"value":97902,"nodeType":864},{},[],", with the entire attack chain being concluded outside customer networks, not touching any traditional endpoints or networks. The ",{"data":97904,"content":97905,"nodeType":883},{"uri":6300},[97906],{"data":97907,"marks":97908,"value":81194,"nodeType":864},{},[],{"data":97910,"marks":97911,"value":97912,"nodeType":864},{},[],", hailed ",{"data":97914,"content":97915,"nodeType":883},{"uri":34109},[97916],{"data":97917,"marks":97918,"value":97919,"nodeType":864},{},[],"one of the biggest breaches in history",{"data":97921,"marks":97922,"value":97923,"nodeType":864},{},[],", demonstrate this risk all too well. ",{"data":97925,"content":97926,"nodeType":860},{},[97927],{"data":97928,"marks":97929,"value":97930,"nodeType":864},{},[],"This creates a problem for security teams looking to detect and respond to these attacks. ",{"data":97932,"content":97933,"nodeType":1312},{},[97934],{"data":97935,"marks":97936,"value":97937,"nodeType":864},{},[],"Attacks today are shorter and faster, but just as dangerous",{"data":97939,"content":97940,"nodeType":860},{},[97941],{"data":97942,"marks":97943,"value":97944,"nodeType":864},{},[],"Detecting and responding to identity attacks – phishing, credential stuffing, etc. – used to be just one possible method of initial access in quite a lengthy Kill Chain that stretched from the compromise of the user device, pivoting to internal network resources, escalating privileges, moving laterally, and finally achieving their objectives.",{"data":97946,"content":97947,"nodeType":860},{},[97948],{"data":97949,"marks":97950,"value":97951,"nodeType":864},{},[],"This meant that defenders could adopt an assumed compromise mentality and build layered detections, as well as proactively hunting for threats across these various stages and layers of the network. The more actions an attacker has to perform, the more opportunities for detection, and the higher the likelihood that they’ll be caught in the act before any real, lasting damage can be caused. ",{"data":97953,"content":97954,"nodeType":860},{},[97955],{"data":97956,"marks":97957,"value":97958,"nodeType":864},{},[],"Today, attackers have a lot of opportunities to cause significant damage for much less effort than before. For example, if the goal is to compromise an app like Snowflake and dump the data from it, the Kill Chain is way shorter than a traditional network-based attack. And all the great tools and security products you have, like EDR, don’t come into play. ",{"data":97960,"content":97961,"nodeType":860},{},[97962],{"data":97963,"marks":97964,"value":97965,"nodeType":864},{},[],"This means that the initial layer of anti-account takeover controls are much more important in this context. But, the historical detections in this space – email gateway security products, analyzing web pages for malicious content, and URL blocklisting – are either less relevant, or built upon easy to bypass detections toward the bottom of the Pyramid of Pain. ",{"data":97967,"content":97968,"nodeType":860},{},[97969,97973,97980],{"data":97970,"marks":97971,"value":97972,"nodeType":864},{},[],"As an example, ",{"data":97974,"content":97975,"nodeType":883},{"uri":48151},[97976],{"data":97977,"marks":97978,"value":97979,"nodeType":864},{},[],"we recently published an article on all the ways that AitM phishing sites are evading detection",{"data":97981,"marks":97982,"value":97983,"nodeType":864},{},[],". TL;DR – there are a lot, and they seem to be quite effective. But this is partly because the majority of the detections they're trying to avoid are built on shaky ground.   ",{"data":97985,"content":97986,"nodeType":860},{},[97987],{"data":97988,"marks":97989,"value":97991,"nodeType":864},{},[97990],{"type":899},"So what? Well, it’s clear that the controls that the industry has relied on in the past to stop identity attacks are too easy to bypass, and are no longer sufficient. ",{"data":97993,"content":97994,"nodeType":1005},{},[],{"data":97996,"content":97997,"nodeType":1009},{},[97998],{"data":97999,"marks":98000,"value":98001,"nodeType":864},{},[],"Building effective identity threat detection controls",{"data":98003,"content":98004,"nodeType":860},{},[98005],{"data":98006,"marks":98007,"value":98008,"nodeType":864},{},[],"Now we’ve covered the problem that we set out to solve, let’s look at what we’re doing differently. ",{"data":98010,"content":98011,"nodeType":860},{},[98012],{"data":98013,"marks":98014,"value":98015,"nodeType":864},{},[],"In order to climb the Pyramid toward the apex, you need to find ways to detect increasingly generic parts of an attack technique. So you want to avoid things like what a specific malware’s code looks like, or where it connects back to. But what the malware does, or what happens when it runs, is more generic, and therefore more interesting to us.  ",{"data":98017,"content":98018,"nodeType":860},{},[98019],{"data":98020,"marks":98021,"value":98022,"nodeType":864},{},[],"The shift from static code signatures and fuzzy hashes to dynamic analysis of what code does on a live system is at the heart of why EDR killed antivirus a decade ago. It proved at-scale the value of moving detections up the pyramid.",{"data":98024,"content":98025,"nodeType":860},{},[98026],{"data":98027,"marks":98028,"value":98029,"nodeType":864},{},[],"We’re always on the lookout for ways to move our detections up the pyramid as well. It’s easiest to explain how we’ve applied this by looking at an example. ",{"data":98031,"content":98032,"nodeType":1312},{},[98033],{"data":98034,"marks":98035,"value":98036,"nodeType":864},{},[],"Scenario: Detecting a web-based phishing attack",{"data":98038,"content":98039,"nodeType":860},{},[98040],{"data":98041,"marks":98042,"value":98043,"nodeType":864},{},[],"Let’s break down the stages of a web-based phishing attack as an example. For a user to be successfully phished:",{"data":98045,"content":98046,"nodeType":941},{},[98047,98062,98077],{"data":98048,"content":98049,"nodeType":945},{},[98050],{"data":98051,"content":98052,"nodeType":860},{},[98053,98058],{"data":98054,"marks":98055,"value":98057,"nodeType":864},{},[98056],{"type":899},"Stage 1:",{"data":98059,"marks":98060,"value":98061,"nodeType":864},{},[]," The victim must be lured to visit a website.",{"data":98063,"content":98064,"nodeType":945},{},[98065],{"data":98066,"content":98067,"nodeType":860},{},[98068,98073],{"data":98069,"marks":98070,"value":98072,"nodeType":864},{},[98071],{"type":899},"Stage 2:",{"data":98074,"marks":98075,"value":98076,"nodeType":864},{},[]," The website must somehow trick or convince the user that it’s legitimate and trustworthy, for example by mimicking a legitimate site.",{"data":98078,"content":98079,"nodeType":945},{},[98080],{"data":98081,"content":98082,"nodeType":860},{},[98083,98088],{"data":98084,"marks":98085,"value":98087,"nodeType":864},{},[98086],{"type":899},"Stage 3:",{"data":98089,"marks":98090,"value":98091,"nodeType":864},{},[]," The user must enter their actual credentials into that website.",{"data":98093,"content":98094,"nodeType":860},{},[98095],{"data":98096,"marks":98097,"value":98098,"nodeType":864},{},[],"So, how might you go about detecting this attack? Let’s start from the bottom of the pyramid and work our way up.",{"data":98100,"content":98101,"nodeType":1312},{},[98102],{"data":98103,"marks":98104,"value":98105,"nodeType":864},{},[],"Stage 1: Determining if a URL, IP, or domain is bad",{"data":98107,"content":98108,"nodeType":860},{},[98109],{"data":98110,"marks":98111,"value":98112,"nodeType":864},{},[],"You might start by looking for the lure – historically an email. You could look for links in emails, or links in attachments in an email and then check if they are bad (which is essentially what email security products do). You could look for known-bad URLs in emails, but these change for every phishing campaign. In modern attacks, every target can receive a unique email and link. Even just using a URL shortener can bypass this. It’s equivalent to a malware hash – trivial to change, and therefore not a great thing to pin your detections on. ",{"data":98114,"content":98115,"nodeType":860},{},[98116,98120,98129],{"data":98117,"marks":98118,"value":98119,"nodeType":864},{},[],"You could look at which IP address the user connects to, but these days it’s very simple for attackers to add a new IP to their cloud-hosted server. If a domain is flagged as known-bad, the attacker only has to register a new domain, or compromise a WordPress server on an already trusted domain. Both of these things are ",{"data":98121,"content":98123,"nodeType":883},{"uri":98122},"https://www.bleepingcomputer.com/news/security/revolver-rabbit-gang-registers-500-000-domains-for-malware-campaigns/",[98124],{"data":98125,"marks":98126,"value":98128,"nodeType":864},{},[98127],{"type":1455},"happening on a massive scale",{"data":98130,"marks":98131,"value":98132,"nodeType":864},{},[]," as attackers pre-plan for the fact that their domains will be burned at some point. Attackers are more than happy to spend $10-$20 per new domain in the grand scheme of the potential proceeds of crime. ",{"data":98134,"content":98135,"nodeType":860},{},[98136],{"data":98137,"marks":98138,"value":98139,"nodeType":864},{},[],"But there’s a more fundamental flaw here – for defenders to know that a URL, IP, or domain name is bad, it needs to be reported first. When are things reported? Typically after being used in an attack – so unfortunately, someone always gets hurt.  ",{"data":98141,"content":98142,"nodeType":1312},{},[98143],{"data":98144,"marks":98145,"value":98146,"nodeType":864},{},[],"Stage 2: Determining if a site is legitimate",{"data":98148,"content":98149,"nodeType":860},{},[98150],{"data":98151,"marks":98152,"value":98153,"nodeType":864},{},[],"So how can we detect a phishing website, on day-zero, the first time anyone runs into it? Well we can look at the second step – does the URL resemble a real website, does the HTML code for a page look similar to a legitimate login page for a known website, is it loading the same image files? This is not trivial to detect, but with the right fuzzy matches and image analysis it can be automated.",{"data":98155,"content":98156,"nodeType":860},{},[98157],{"data":98158,"marks":98159,"value":98160,"nodeType":864},{},[],"We’ve now moved up a level on the Pyramid – we’re detecting website artifacts. If we see a legitimate looking website on an unknown domain, it’s likely to be a malicious clone.",{"data":98162,"content":98163,"nodeType":860},{},[98164],{"data":98165,"marks":98166,"value":98167,"nodeType":864},{},[],"Unfortunately, the attacker’s website doesn’t need to send each visitor to the same website. It can change dynamically based on where the visitor is coming from – or even randomly, so that not all visitors are served the phishing page. This means that tools which resolve where the links in emails go to be able to analyze them (such as email security appliances) don’t necessarily see the same site the user is actually visiting – a fact that is commonly abused by attackers to bypass detection. It’s critical that detection happens on the actual web page that the victim sees.",{"data":98169,"content":98170,"nodeType":1312},{},[98171],{"data":98172,"marks":98173,"value":98174,"nodeType":864},{},[],"Stage 3: Detecting the user entering their credentials",{"data":98176,"content":98177,"nodeType":860},{},[98178],{"data":98179,"marks":98180,"value":98181,"nodeType":864},{},[],"For a phishing attack to succeed, the victim must enter their actual credentials into the webpage. If you can stop the user entering their real password, there’s no attack. There’s no getting around it. ",{"data":98183,"content":98184,"nodeType":860},{},[98185,98189,98196],{"data":98186,"marks":98187,"value":98188,"nodeType":864},{},[],"So, this is exactly what we did: Earlier this year, we released a control which ",{"data":98190,"content":98191,"nodeType":883},{"uri":47989},[98192],{"data":98193,"marks":98194,"value":98195,"nodeType":864},{},[],"stops users from entering their password belonging to a particular login page anywhere else",{"data":98197,"marks":98198,"value":2924,"nodeType":864},{},[],{"data":98200,"content":98201,"nodeType":860},{},[98202,98206,98213],{"data":98203,"marks":98204,"value":98205,"nodeType":864},{},[],"Seems simple, right? By focusing on this generic action, that always has to happen, you can essentially stop your users being phished altogether. This means, it doesn’t matter ",{"data":98207,"content":98208,"nodeType":883},{"uri":48151},[98209],{"data":98210,"marks":98211,"value":98212,"nodeType":864},{},[],"what the attacker does before that point",{"data":98214,"marks":98215,"value":73563,"nodeType":864},{},[],{"data":98217,"content":98218,"nodeType":941},{},[98219,98229,98239,98249],{"data":98220,"content":98221,"nodeType":945},{},[98222],{"data":98223,"content":98224,"nodeType":860},{},[98225],{"data":98226,"marks":98227,"value":98228,"nodeType":864},{},[],"It doesn't matter if they run the site using Cloudflare Workers to block automatic analysis.",{"data":98230,"content":98231,"nodeType":945},{},[98232],{"data":98233,"content":98234,"nodeType":860},{},[98235],{"data":98236,"marks":98237,"value":98238,"nodeType":864},{},[],"It doesn’t matter if they hack a WordPress blog to get a reputable domain.",{"data":98240,"content":98241,"nodeType":945},{},[98242],{"data":98243,"content":98244,"nodeType":860},{},[98245],{"data":98246,"marks":98247,"value":98248,"nodeType":864},{},[],"It doesn’t matter if they use clever redirects and rotate the URLs delivered to the user.",{"data":98250,"content":98251,"nodeType":945},{},[98252],{"data":98253,"content":98254,"nodeType":860},{},[98255],{"data":98256,"marks":98257,"value":98258,"nodeType":864},{},[],"It doesn’t matter if they randomize the HTML title for the web page. ",{"data":98260,"content":98261,"nodeType":860},{},[98262],{"data":98263,"marks":98264,"value":98265,"nodeType":864},{},[],"They can’t avoid the fact that a user is required to enter their credentials on the page for the attack to succeed. ",{"data":98267,"content":98268,"nodeType":860},{},[98269],{"data":98270,"marks":98271,"value":98272,"nodeType":864},{},[],"So, when you apply the Pyramid of Pain to some of the controls we’ve shipped this year, we get a clear feel for the value, from highest to lowest:",{"data":98274,"content":98275,"nodeType":941},{},[98276,98295,98314],{"data":98277,"content":98278,"nodeType":945},{},[98279],{"data":98280,"content":98281,"nodeType":860},{},[98282,98286,98292],{"data":98283,"marks":98284,"value":98285,"nodeType":864},{},[],"User Behavior: ",{"data":98287,"content":98288,"nodeType":883},{"uri":47989},[98289],{"data":98290,"marks":98291,"value":83066,"nodeType":864},{},[],{"data":98293,"marks":98294,"value":12252,"nodeType":864},{},[],{"data":98296,"content":98297,"nodeType":945},{},[98298],{"data":98299,"content":98300,"nodeType":860},{},[98301,98305,98311],{"data":98302,"marks":98303,"value":98304,"nodeType":864},{},[],"Tool Behavior: ",{"data":98306,"content":98307,"nodeType":883},{"uri":48237},[98308],{"data":98309,"marks":98310,"value":83026,"nodeType":864},{},[],{"data":98312,"marks":98313,"value":21,"nodeType":864},{},[],{"data":98315,"content":98316,"nodeType":945},{},[98317],{"data":98318,"content":98319,"nodeType":860},{},[98320,98324,98330],{"data":98321,"marks":98322,"value":98323,"nodeType":864},{},[],"Tool Signature: ",{"data":98325,"content":98326,"nodeType":883},{"uri":48185},[98327],{"data":98328,"marks":98329,"value":83046,"nodeType":864},{},[],{"data":98331,"marks":98332,"value":12252,"nodeType":864},{},[],{"data":98334,"content":98335,"nodeType":860},{},[98336],{"data":98337,"marks":98338,"value":98339,"nodeType":864},{},[],"Naturally, we want to continue focusing on the apex of the Pyramid – at TTPs and Tools – to ensure that the controls we build are as robust as possible, and can’t be bypassed by attackers. ",{"data":98341,"content":98342,"nodeType":1005},{},[],{"data":98344,"content":98345,"nodeType":1009},{},[98346],{"data":98347,"marks":98348,"value":98349,"nodeType":864},{},[],"The power of the Push browser agent",{"data":98351,"content":98352,"nodeType":860},{},[98353,98357,98362],{"data":98354,"marks":98355,"value":98356,"nodeType":864},{},[],"You might ask: ",{"data":98358,"marks":98359,"value":98361,"nodeType":864},{},[98360],{"type":899},"If it’s so simple, why hasn’t this been done yet?",{"data":98363,"marks":98364,"value":98365,"nodeType":864},{},[]," Well, before now, there was no good way of doing it! Teams simply didn’t have tools in the right place to be able to capture the level of data needed, or respond effectively (i.e. automatically, at the point of impact). ",{"data":98367,"content":98368,"nodeType":860},{},[98369,98373,98380],{"data":98370,"marks":98371,"value":98372,"nodeType":864},{},[],"This is where being in the browser comes into play. The browser is a great place to observe the behavior of a page in real time, without needing to reconstruct decrypted HTTP data post-TLS termination and try to guess what the rendered page in all its Javascript-infused glory actually does, ",{"data":98374,"content":98375,"nodeType":883},{"uri":36853},[98376],{"data":98377,"marks":98378,"value":98379,"nodeType":864},{},[],"as we’ve blogged about previously",{"data":98381,"marks":98382,"value":98383,"nodeType":864},{},[],". As we’ve seen through the ability to not only detect but prevent phishing attacks, it’s also a great control enforcement point, as you’re able to intercept the user at the point of impact, and you sit as closely as possible to where their work typically happens – in the browser. ",{"data":98385,"content":98386,"nodeType":860},{},[98387],{"data":98388,"marks":98389,"value":98390,"nodeType":864},{},[],"To illustrate how crucial the browser is to implementing controls that sit at the apex of the Pyramid of Pain, we created a modified version designed specifically for identity attacks. ",{"data":98392,"content":98396,"nodeType":996},{"target":98393},{"sys":98394},{"id":98395,"type":1001,"linkType":1002},"HrK2xQak6KfjInDbeSgv8",[],{"data":98398,"content":98402,"nodeType":996},{"target":98399},{"sys":98400},{"id":98401,"type":1001,"linkType":1002},"7kLilJ8Y08smUI9ttM3BSO",[],{"data":98404,"content":98405,"nodeType":1005},{},[],{"data":98407,"content":98408,"nodeType":1009},{},[98409],{"data":98410,"marks":98411,"value":32492,"nodeType":864},{},[],{"data":98413,"content":98414,"nodeType":860},{},[98415],{"data":98416,"marks":98417,"value":98418,"nodeType":864},{},[],"Hopefully, this blog post has shone a light on why we do things the way we do here at Push. The goal of building generic detections that are difficult, painful, and costly for attackers to bypass is a key part of our design strategy, and we look forward to sharing many more controls with you that demonstrate this in the future.","Our design philosophy: Detecting what matters","This is the first blog in a short series we’re putting together about the ‘why’ behind the ‘what’ at Push. This entry is focused on threat detection. ","2024-08-05T00:00:00.000Z","our-design-philosophy-detecting-what-matters",{"items":98424},[98425,98427],{"sys":98426,"name":342},{"id":6596},{"sys":98428,"name":6593},{"id":6592},{"items":98430},[98431],{"fullName":2736,"firstName":2737,"jobTitle":2738,"profilePicture":98432},{"url":2740},{"__typename":2059,"sys":98434,"content":98435,"title":92571,"synopsis":92572,"hashTags":59,"publishedDate":92573,"slug":92574,"tagsCollection":99112,"authorsCollection":99118},{"id":89491},{"json":98436},{"data":98437,"content":98438,"nodeType":856},{},[98439,98444,98450,98492,98498,98504,98517,98523,98529,98598,98604,98609,98615,98621,98634,98640,98646,98666,98686,98691,98708,98714,98720,98747,98753,98759,98764,98781,98787,98793,98799,98805,98810,98827,98833,98839,98845,98851,98856,98873,98879,98885,98890,98907,98913,98919,98925,98967,98973,99034,99047,99052,99058,99064,99070,99076,99091,99097],{"data":98440,"content":98443,"nodeType":996},{"target":98441},{"sys":98442},{"id":91816,"type":1001,"linkType":1002},[],{"data":98445,"content":98446,"nodeType":860},{},[98447],{"data":98448,"marks":98449,"value":91824,"nodeType":864},{},[],{"data":98451,"content":98452,"nodeType":860},{},[98453,98456,98462,98465,98471,98474,98480,98483,98489],{"data":98454,"marks":98455,"value":91831,"nodeType":864},{},[],{"data":98457,"content":98458,"nodeType":883},{"uri":91834},[98459],{"data":98460,"marks":98461,"value":91839,"nodeType":864},{},[],{"data":98463,"marks":98464,"value":1171,"nodeType":864},{},[],{"data":98466,"content":98467,"nodeType":883},{"uri":91845},[98468],{"data":98469,"marks":98470,"value":91850,"nodeType":864},{},[],{"data":98472,"marks":98473,"value":1171,"nodeType":864},{},[],{"data":98475,"content":98476,"nodeType":883},{"uri":8628},[98477],{"data":98478,"marks":98479,"value":91860,"nodeType":864},{},[],{"data":98481,"marks":98482,"value":1171,"nodeType":864},{},[],{"data":98484,"content":98485,"nodeType":883},{"uri":91866},[98486],{"data":98487,"marks":98488,"value":91871,"nodeType":864},{},[],{"data":98490,"marks":98491,"value":91875,"nodeType":864},{},[],{"data":98493,"content":98494,"nodeType":860},{},[98495],{"data":98496,"marks":98497,"value":91882,"nodeType":864},{},[],{"data":98499,"content":98500,"nodeType":860},{},[98501],{"data":98502,"marks":98503,"value":91889,"nodeType":864},{},[],{"data":98505,"content":98506,"nodeType":860},{},[98507,98510,98514],{"data":98508,"marks":98509,"value":91896,"nodeType":864},{},[],{"data":98511,"marks":98512,"value":91901,"nodeType":864},{},[98513],{"type":899},{"data":98515,"marks":98516,"value":2924,"nodeType":864},{},[],{"data":98518,"content":98519,"nodeType":860},{},[98520],{"data":98521,"marks":98522,"value":91911,"nodeType":864},{},[],{"data":98524,"content":98525,"nodeType":860},{},[98526],{"data":98527,"marks":98528,"value":91918,"nodeType":864},{},[],{"data":98530,"content":98531,"nodeType":941},{},[98532,98557],{"data":98533,"content":98534,"nodeType":945},{},[98535],{"data":98536,"content":98537,"nodeType":860},{},[98538,98542,98545,98554],{"data":98539,"marks":98540,"value":91932,"nodeType":864},{},[98541],{"type":899},{"data":98543,"marks":98544,"value":91936,"nodeType":864},{},[],{"data":98546,"content":98549,"nodeType":27604},{"target":98547},{"sys":98548},{"id":91941,"type":1001,"linkType":1002},[98550],{"data":98551,"marks":98552,"value":51400,"nodeType":864},{},[98553],{"type":899},{"data":98555,"marks":98556,"value":91950,"nodeType":864},{},[],{"data":98558,"content":98559,"nodeType":945},{},[98560],{"data":98561,"content":98562,"nodeType":860},{},[98563,98567,98570,98576,98579,98585,98588,98595],{"data":98564,"marks":98565,"value":91961,"nodeType":864},{},[98566],{"type":899},{"data":98568,"marks":98569,"value":91965,"nodeType":864},{},[],{"data":98571,"content":98572,"nodeType":883},{"uri":90269},[98573],{"data":98574,"marks":98575,"value":91972,"nodeType":864},{},[],{"data":98577,"marks":98578,"value":3731,"nodeType":864},{},[],{"data":98580,"content":98581,"nodeType":883},{"uri":91978},[98582],{"data":98583,"marks":98584,"value":91983,"nodeType":864},{},[],{"data":98586,"marks":98587,"value":91987,"nodeType":864},{},[],{"data":98589,"content":98590,"nodeType":883},{"uri":91990},[98591],{"data":98592,"marks":98593,"value":28609,"nodeType":864},{},[98594],{"type":899},{"data":98596,"marks":98597,"value":91999,"nodeType":864},{},[],{"data":98599,"content":98600,"nodeType":860},{},[98601],{"data":98602,"marks":98603,"value":92006,"nodeType":864},{},[],{"data":98605,"content":98608,"nodeType":996},{"target":98606},{"sys":98607},{"id":92011,"type":1001,"linkType":1002},[],{"data":98610,"content":98611,"nodeType":1009},{},[98612],{"data":98613,"marks":98614,"value":92019,"nodeType":864},{},[],{"data":98616,"content":98617,"nodeType":860},{},[98618],{"data":98619,"marks":98620,"value":92026,"nodeType":864},{},[],{"data":98622,"content":98623,"nodeType":860},{},[98624,98627,98631],{"data":98625,"marks":98626,"value":92033,"nodeType":864},{},[],{"data":98628,"marks":98629,"value":51400,"nodeType":864},{},[98630],{"type":899},{"data":98632,"marks":98633,"value":92041,"nodeType":864},{},[],{"data":98635,"content":98636,"nodeType":860},{},[98637],{"data":98638,"marks":98639,"value":92048,"nodeType":864},{},[],{"data":98641,"content":98642,"nodeType":1312},{},[98643],{"data":98644,"marks":98645,"value":74079,"nodeType":864},{},[],{"data":98647,"content":98648,"nodeType":860},{},[98649,98652,98656,98659,98663],{"data":98650,"marks":98651,"value":92061,"nodeType":864},{},[],{"data":98653,"marks":98654,"value":92066,"nodeType":864},{},[98655],{"type":899},{"data":98657,"marks":98658,"value":902,"nodeType":864},{},[],{"data":98660,"marks":98661,"value":92074,"nodeType":864},{},[98662],{"type":899},{"data":98664,"marks":98665,"value":2924,"nodeType":864},{},[],{"data":98667,"content":98668,"nodeType":860},{},[98669,98672,98676,98679,98683],{"data":98670,"marks":98671,"value":92084,"nodeType":864},{},[],{"data":98673,"marks":98674,"value":1503,"nodeType":864},{},[98675],{"type":899},{"data":98677,"marks":98678,"value":27405,"nodeType":864},{},[],{"data":98680,"marks":98681,"value":1397,"nodeType":864},{},[98682],{"type":899},{"data":98684,"marks":98685,"value":92099,"nodeType":864},{},[],{"data":98687,"content":98690,"nodeType":996},{"target":98688},{"sys":98689},{"id":74087,"type":1001,"linkType":1002},[],{"data":98692,"content":98693,"nodeType":860},{},[98694,98697,98705],{"data":98695,"marks":98696,"value":92111,"nodeType":864},{},[],{"data":98698,"content":98701,"nodeType":27604},{"target":98699},{"sys":98700},{"id":28039,"type":1001,"linkType":1002},[98702],{"data":98703,"marks":98704,"value":92120,"nodeType":864},{},[],{"data":98706,"marks":98707,"value":21,"nodeType":864},{},[],{"data":98709,"content":98710,"nodeType":1312},{},[98711],{"data":98712,"marks":98713,"value":47996,"nodeType":864},{},[],{"data":98715,"content":98716,"nodeType":860},{},[98717],{"data":98718,"marks":98719,"value":92136,"nodeType":864},{},[],{"data":98721,"content":98722,"nodeType":860},{},[98723,98726,98730,98733,98737,98740,98744],{"data":98724,"marks":98725,"value":92143,"nodeType":864},{},[],{"data":98727,"marks":98728,"value":1503,"nodeType":864},{},[98729],{"type":899},{"data":98731,"marks":98732,"value":27405,"nodeType":864},{},[],{"data":98734,"marks":98735,"value":1397,"nodeType":864},{},[98736],{"type":899},{"data":98738,"marks":98739,"value":92158,"nodeType":864},{},[],{"data":98741,"marks":98742,"value":1334,"nodeType":864},{},[98743],{"type":899},{"data":98745,"marks":98746,"value":92166,"nodeType":864},{},[],{"data":98748,"content":98749,"nodeType":860},{},[98750],{"data":98751,"marks":98752,"value":92173,"nodeType":864},{},[],{"data":98754,"content":98755,"nodeType":860},{},[98756],{"data":98757,"marks":98758,"value":92180,"nodeType":864},{},[],{"data":98760,"content":98763,"nodeType":996},{"target":98761},{"sys":98762},{"id":92185,"type":1001,"linkType":1002},[],{"data":98765,"content":98766,"nodeType":860},{},[98767,98770,98778],{"data":98768,"marks":98769,"value":92111,"nodeType":864},{},[],{"data":98771,"content":98774,"nodeType":27604},{"target":98772},{"sys":98773},{"id":28295,"type":1001,"linkType":1002},[98775],{"data":98776,"marks":98777,"value":47996,"nodeType":864},{},[],{"data":98779,"marks":98780,"value":21,"nodeType":864},{},[],{"data":98782,"content":98783,"nodeType":1312},{},[98784],{"data":98785,"marks":98786,"value":74927,"nodeType":864},{},[],{"data":98788,"content":98789,"nodeType":860},{},[98790],{"data":98791,"marks":98792,"value":92216,"nodeType":864},{},[],{"data":98794,"content":98795,"nodeType":860},{},[98796],{"data":98797,"marks":98798,"value":92223,"nodeType":864},{},[],{"data":98800,"content":98801,"nodeType":860},{},[98802],{"data":98803,"marks":98804,"value":92230,"nodeType":864},{},[],{"data":98806,"content":98809,"nodeType":996},{"target":98807},{"sys":98808},{"id":92235,"type":1001,"linkType":1002},[],{"data":98811,"content":98812,"nodeType":860},{},[98813,98816,98824],{"data":98814,"marks":98815,"value":92111,"nodeType":864},{},[],{"data":98817,"content":98820,"nodeType":27604},{"target":98818},{"sys":98819},{"id":90163,"type":1001,"linkType":1002},[98821],{"data":98822,"marks":98823,"value":74927,"nodeType":864},{},[],{"data":98825,"marks":98826,"value":21,"nodeType":864},{},[],{"data":98828,"content":98829,"nodeType":1312},{},[98830],{"data":98831,"marks":98832,"value":89894,"nodeType":864},{},[],{"data":98834,"content":98835,"nodeType":860},{},[98836],{"data":98837,"marks":98838,"value":92266,"nodeType":864},{},[],{"data":98840,"content":98841,"nodeType":860},{},[98842],{"data":98843,"marks":98844,"value":92273,"nodeType":864},{},[],{"data":98846,"content":98847,"nodeType":860},{},[98848],{"data":98849,"marks":98850,"value":92280,"nodeType":864},{},[],{"data":98852,"content":98855,"nodeType":996},{"target":98853},{"sys":98854},{"id":92285,"type":1001,"linkType":1002},[],{"data":98857,"content":98858,"nodeType":860},{},[98859,98862,98870],{"data":98860,"marks":98861,"value":92111,"nodeType":864},{},[],{"data":98863,"content":98866,"nodeType":27604},{"target":98864},{"sys":98865},{"id":90101,"type":1001,"linkType":1002},[98867],{"data":98868,"marks":98869,"value":92301,"nodeType":864},{},[],{"data":98871,"marks":98872,"value":21,"nodeType":864},{},[],{"data":98874,"content":98875,"nodeType":1312},{},[98876],{"data":98877,"marks":98878,"value":1366,"nodeType":864},{},[],{"data":98880,"content":98881,"nodeType":860},{},[98882],{"data":98883,"marks":98884,"value":92317,"nodeType":864},{},[],{"data":98886,"content":98889,"nodeType":996},{"target":98887},{"sys":98888},{"id":92322,"type":1001,"linkType":1002},[],{"data":98891,"content":98892,"nodeType":860},{},[98893,98896,98904],{"data":98894,"marks":98895,"value":92111,"nodeType":864},{},[],{"data":98897,"content":98900,"nodeType":27604},{"target":98898},{"sys":98899},{"id":28356,"type":1001,"linkType":1002},[98901],{"data":98902,"marks":98903,"value":48792,"nodeType":864},{},[],{"data":98905,"marks":98906,"value":21,"nodeType":864},{},[],{"data":98908,"content":98909,"nodeType":1009},{},[98910],{"data":98911,"marks":98912,"value":92347,"nodeType":864},{},[],{"data":98914,"content":98915,"nodeType":860},{},[98916],{"data":98917,"marks":98918,"value":92354,"nodeType":864},{},[],{"data":98920,"content":98921,"nodeType":860},{},[98922],{"data":98923,"marks":98924,"value":92361,"nodeType":864},{},[],{"data":98926,"content":98927,"nodeType":941},{},[98928,98941,98954],{"data":98929,"content":98930,"nodeType":945},{},[98931],{"data":98932,"content":98933,"nodeType":860},{},[98934,98938],{"data":98935,"marks":98936,"value":75237,"nodeType":864},{},[98937],{"type":899},{"data":98939,"marks":98940,"value":75241,"nodeType":864},{},[],{"data":98942,"content":98943,"nodeType":945},{},[98944],{"data":98945,"content":98946,"nodeType":860},{},[98947,98951],{"data":98948,"marks":98949,"value":75252,"nodeType":864},{},[98950],{"type":899},{"data":98952,"marks":98953,"value":75256,"nodeType":864},{},[],{"data":98955,"content":98956,"nodeType":945},{},[98957],{"data":98958,"content":98959,"nodeType":860},{},[98960,98964],{"data":98961,"marks":98962,"value":75267,"nodeType":864},{},[98963],{"type":899},{"data":98965,"marks":98966,"value":75271,"nodeType":864},{},[],{"data":98968,"content":98969,"nodeType":860},{},[98970],{"data":98971,"marks":98972,"value":92410,"nodeType":864},{},[],{"data":98974,"content":98975,"nodeType":941},{},[98976,98992,99008,99021],{"data":98977,"content":98978,"nodeType":945},{},[98979],{"data":98980,"content":98981,"nodeType":860},{},[98982,98985,98989],{"data":98983,"marks":98984,"value":92423,"nodeType":864},{},[],{"data":98986,"marks":98987,"value":92428,"nodeType":864},{},[98988],{"type":899},{"data":98990,"marks":98991,"value":75305,"nodeType":864},{},[],{"data":98993,"content":98994,"nodeType":945},{},[98995],{"data":98996,"content":98997,"nodeType":860},{},[98998,99001,99005],{"data":98999,"marks":99000,"value":92441,"nodeType":864},{},[],{"data":99002,"marks":99003,"value":92446,"nodeType":864},{},[99004],{"type":899},{"data":99006,"marks":99007,"value":92450,"nodeType":864},{},[],{"data":99009,"content":99010,"nodeType":945},{},[99011],{"data":99012,"content":99013,"nodeType":860},{},[99014,99018],{"data":99015,"marks":99016,"value":92461,"nodeType":864},{},[99017],{"type":899},{"data":99019,"marks":99020,"value":92465,"nodeType":864},{},[],{"data":99022,"content":99023,"nodeType":945},{},[99024],{"data":99025,"content":99026,"nodeType":860},{},[99027,99031],{"data":99028,"marks":99029,"value":92476,"nodeType":864},{},[99030],{"type":899},{"data":99032,"marks":99033,"value":92480,"nodeType":864},{},[],{"data":99035,"content":99036,"nodeType":860},{},[99037,99040,99044],{"data":99038,"marks":99039,"value":92487,"nodeType":864},{},[],{"data":99041,"marks":99042,"value":28609,"nodeType":864},{},[99043],{"type":899},{"data":99045,"marks":99046,"value":92495,"nodeType":864},{},[],{"data":99048,"content":99051,"nodeType":996},{"target":99049},{"sys":99050},{"id":89479,"type":1001,"linkType":1002},[],{"data":99053,"content":99054,"nodeType":860},{},[99055],{"data":99056,"marks":99057,"value":92507,"nodeType":864},{},[],{"data":99059,"content":99060,"nodeType":1009},{},[99061],{"data":99062,"marks":99063,"value":92514,"nodeType":864},{},[],{"data":99065,"content":99066,"nodeType":860},{},[99067],{"data":99068,"marks":99069,"value":92521,"nodeType":864},{},[],{"data":99071,"content":99072,"nodeType":860},{},[99073],{"data":99074,"marks":99075,"value":92528,"nodeType":864},{},[],{"data":99077,"content":99078,"nodeType":860},{},[99079,99082,99088],{"data":99080,"marks":99081,"value":92535,"nodeType":864},{},[],{"data":99083,"content":99084,"nodeType":883},{"uri":91978},[99085],{"data":99086,"marks":99087,"value":92542,"nodeType":864},{},[],{"data":99089,"marks":99090,"value":92546,"nodeType":864},{},[],{"data":99092,"content":99093,"nodeType":1009},{},[99094],{"data":99095,"marks":99096,"value":36405,"nodeType":864},{},[],{"data":99098,"content":99099,"nodeType":860},{},[99100,99103,99109],{"data":99101,"marks":99102,"value":92559,"nodeType":864},{},[],{"data":99104,"content":99105,"nodeType":883},{"uri":92562},[99106],{"data":99107,"marks":99108,"value":37814,"nodeType":864},{},[],{"data":99110,"marks":99111,"value":92570,"nodeType":864},{},[],{"items":99113},[99114,99116],{"sys":99115,"name":73498},{"id":73497},{"sys":99117,"name":342},{"id":6596},{"items":99119},[99120],{"fullName":849,"firstName":850,"jobTitle":851,"profilePicture":99121},{"url":853},"the-saas-attack-matrix-one-year-on","blog/the-saas-attack-matrix-one-year-on",{"json":99125},{"data":99126,"content":99127,"nodeType":856},{},[99128],{"data":99129,"content":99130,"nodeType":860},{},[99131],{"data":99132,"marks":99133,"value":99134,"nodeType":864},{},[],"It’s been almost exactly a year since we released the SaaS attack matrix – our open source repository of SaaS-native attack techniques. So, it’s a good time to look at what’s changed, and which techniques we’ve seen rise to prominence in the wild.","It’s been almost exactly a year since we released our open source repository of SaaS-native attack techniques. Let's reflect on what’s changed. ",{"id":99137,"publishedAt":99138},"1LxqUNZpD2VynzSqbv719Z","2026-08-13T09:35:39.358Z",{"items":99140},[99141,99143],{"sys":99142,"name":6593},{"id":6592},{"sys":99144,"name":342},{"id":6596},{"items":99146},[99147,99149,99151,99153,99155,99157,99159,99161,99163,99165,99167,99169,99171,99173,99175,99177,99179,99181,99183,99185,99187],{"sys":99148,"name":279,"slug":280,"tier":31},{"id":276},{"sys":99150,"name":413,"slug":414,"tier":31},{"id":410},{"sys":99152,"name":545,"slug":546,"tier":31},{"id":542},{"sys":99154,"name":519,"slug":520,"tier":31},{"id":516},{"sys":99156,"name":342,"slug":343,"tier":31},{"id":339},{"sys":99158,"name":642,"slug":643,"tier":31},{"id":639},{"sys":99160,"name":404,"slug":405,"tier":45},{"id":401},{"sys":99162,"name":395,"slug":396,"tier":45},{"id":392},{"sys":99164,"name":261,"slug":262,"tier":45},{"id":258},{"sys":99166,"name":333,"slug":334,"tier":45},{"id":330},{"sys":99168,"name":571,"slug":572,"tier":45},{"id":568},{"sys":99170,"name":466,"slug":467,"tier":45},{"id":463},{"sys":99172,"name":422,"slug":423,"tier":45},{"id":419},{"sys":99174,"name":484,"slug":485,"tier":45},{"id":481},{"sys":99176,"name":360,"slug":361,"tier":45},{"id":357},{"sys":99178,"name":324,"slug":325,"tier":45},{"id":321},{"sys":99180,"name":475,"slug":476,"tier":45},{"id":472},{"sys":99182,"name":493,"slug":494,"tier":45},{"id":490},{"sys":99184,"name":457,"slug":458,"tier":45},{"id":454},{"sys":99186,"name":528,"slug":529,"tier":45},{"id":525},{"sys":99188,"name":607,"slug":608,"tier":45},{"id":604},"1qLYwpklFCCOQjGasNIGRR4kcmC-AB4PH8sAombT0uI",{"id":99191,"title":95167,"authorsCollection":99192,"content":99197,"extension":228,"faqItemsCollection":100354,"faqTitle":59,"featured":6,"hashTags":59,"meta":100356,"metaTitle":100357,"ogImage":100358,"postType":55451,"publishedDate":95169,"relatedBlogPostsCollection":100359,"slug":95170,"stem":102303,"subtitle":59,"summary":102304,"synopsis":95168,"sys":102315,"tagsCollection":102317,"topicsCollection":102323,"__hash__":102363},"blog/blog/how-to-prevent-account-takeover-with-push.json",{"items":99193},[99194],{"fullName":4878,"firstName":4879,"jobTitle":851,"socialLinks":99195,"profilePicture":99196},[14839],{"url":4881},{"json":99198,"links":100242},{"data":99199,"content":99200,"nodeType":856},{},[99201,99207,99223,99229,99234,99240,99266,99271,99276,99282,99288,99293,99299,99315,99321,99327,99332,99338,99344,99386,99402,99408,99414,99420,99425,99431,99437,99443,99449,99455,99461,99471,99476,99482,99497,99513,99519,99525,99541,99547,99562,99568,99610,99616,99632,99638,99643,99658,99674,99680,99696,99702,99707,99713,99729,99735,99741,99746,99752,99758,99764,99770,99775,99781,99787,99793,99799,99804,99810,99816,99826,99839,99845,99851,99911,99917,99923,99929,99935,99941,99947,99953,99959,99975,99981,99986,99992,99997,100003,100009,100015,100020,100026,100032,100038,100068,100074,100080,100086,100092,100098,100104,100110,100116,100158,100163,100169,100205,100210,100216,100231,100236],{"data":99202,"content":99203,"nodeType":860},{},[99204],{"data":99205,"marks":99206,"value":93967,"nodeType":864},{},[],{"data":99208,"content":99209,"nodeType":860},{},[99210,99213,99220],{"data":99211,"marks":99212,"value":93974,"nodeType":864},{},[],{"data":99214,"content":99215,"nodeType":883},{"uri":93977},[99216],{"data":99217,"marks":99218,"value":93983,"nodeType":864},{},[99219],{"type":1455},{"data":99221,"marks":99222,"value":93987,"nodeType":864},{},[],{"data":99224,"content":99225,"nodeType":860},{},[99226],{"data":99227,"marks":99228,"value":93994,"nodeType":864},{},[],{"data":99230,"content":99233,"nodeType":996},{"target":99231},{"sys":99232},{"id":93999,"type":1001,"linkType":1002},[],{"data":99235,"content":99236,"nodeType":860},{},[99237],{"data":99238,"marks":99239,"value":94007,"nodeType":864},{},[],{"data":99241,"content":99242,"nodeType":860},{},[99243,99246,99253,99256,99263],{"data":99244,"marks":99245,"value":94014,"nodeType":864},{},[],{"data":99247,"content":99248,"nodeType":883},{"uri":94017},[99249],{"data":99250,"marks":99251,"value":65396,"nodeType":864},{},[99252],{"type":1455},{"data":99254,"marks":99255,"value":94026,"nodeType":864},{},[],{"data":99257,"content":99258,"nodeType":883},{"uri":94029},[99259],{"data":99260,"marks":99261,"value":94035,"nodeType":864},{},[99262],{"type":1455},{"data":99264,"marks":99265,"value":94039,"nodeType":864},{},[],{"data":99267,"content":99270,"nodeType":996},{"target":99268},{"sys":99269},{"id":94044,"type":1001,"linkType":1002},[],{"data":99272,"content":99275,"nodeType":996},{"target":99273},{"sys":99274},{"id":94050,"type":1001,"linkType":1002},[],{"data":99277,"content":99278,"nodeType":860},{},[99279],{"data":99280,"marks":99281,"value":94058,"nodeType":864},{},[],{"data":99283,"content":99284,"nodeType":860},{},[99285],{"data":99286,"marks":99287,"value":94065,"nodeType":864},{},[],{"data":99289,"content":99292,"nodeType":996},{"target":99290},{"sys":99291},{"id":94070,"type":1001,"linkType":1002},[],{"data":99294,"content":99295,"nodeType":860},{},[99296],{"data":99297,"marks":99298,"value":94078,"nodeType":864},{},[],{"data":99300,"content":99301,"nodeType":860},{},[99302,99305,99312],{"data":99303,"marks":99304,"value":94085,"nodeType":864},{},[],{"data":99306,"content":99307,"nodeType":883},{"uri":94088},[99308],{"data":99309,"marks":99310,"value":94094,"nodeType":864},{},[99311],{"type":1455},{"data":99313,"marks":99314,"value":94098,"nodeType":864},{},[],{"data":99316,"content":99317,"nodeType":1009},{},[99318],{"data":99319,"marks":99320,"value":94105,"nodeType":864},{},[],{"data":99322,"content":99323,"nodeType":860},{},[99324],{"data":99325,"marks":99326,"value":94112,"nodeType":864},{},[],{"data":99328,"content":99331,"nodeType":996},{"target":99329},{"sys":99330},{"id":94117,"type":1001,"linkType":1002},[],{"data":99333,"content":99334,"nodeType":860},{},[99335],{"data":99336,"marks":99337,"value":94125,"nodeType":864},{},[],{"data":99339,"content":99340,"nodeType":860},{},[99341],{"data":99342,"marks":99343,"value":94132,"nodeType":864},{},[],{"data":99345,"content":99346,"nodeType":941},{},[99347,99360,99373],{"data":99348,"content":99349,"nodeType":945},{},[99350],{"data":99351,"content":99352,"nodeType":860},{},[99353,99357],{"data":99354,"marks":99355,"value":94146,"nodeType":864},{},[99356],{"type":899},{"data":99358,"marks":99359,"value":94150,"nodeType":864},{},[],{"data":99361,"content":99362,"nodeType":945},{},[99363],{"data":99364,"content":99365,"nodeType":860},{},[99366,99370],{"data":99367,"marks":99368,"value":94161,"nodeType":864},{},[99369],{"type":899},{"data":99371,"marks":99372,"value":94165,"nodeType":864},{},[],{"data":99374,"content":99375,"nodeType":945},{},[99376],{"data":99377,"content":99378,"nodeType":860},{},[99379,99383],{"data":99380,"marks":99381,"value":94176,"nodeType":864},{},[99382],{"type":899},{"data":99384,"marks":99385,"value":94180,"nodeType":864},{},[],{"data":99387,"content":99388,"nodeType":860},{},[99389,99392,99399],{"data":99390,"marks":99391,"value":94187,"nodeType":864},{},[],{"data":99393,"content":99394,"nodeType":883},{"uri":36853},[99395],{"data":99396,"marks":99397,"value":94195,"nodeType":864},{},[99398],{"type":1455},{"data":99400,"marks":99401,"value":2924,"nodeType":864},{},[],{"data":99403,"content":99404,"nodeType":860},{},[99405],{"data":99406,"marks":99407,"value":94205,"nodeType":864},{},[],{"data":99409,"content":99410,"nodeType":1009},{},[99411],{"data":99412,"marks":99413,"value":94212,"nodeType":864},{},[],{"data":99415,"content":99416,"nodeType":860},{},[99417],{"data":99418,"marks":99419,"value":94219,"nodeType":864},{},[],{"data":99421,"content":99424,"nodeType":996},{"target":99422},{"sys":99423},{"id":53603,"type":1001,"linkType":1002},[],{"data":99426,"content":99427,"nodeType":860},{},[99428],{"data":99429,"marks":99430,"value":94231,"nodeType":864},{},[],{"data":99432,"content":99433,"nodeType":860},{},[99434],{"data":99435,"marks":99436,"value":94238,"nodeType":864},{},[],{"data":99438,"content":99439,"nodeType":1312},{},[99440],{"data":99441,"marks":99442,"value":94245,"nodeType":864},{},[],{"data":99444,"content":99445,"nodeType":860},{},[99446],{"data":99447,"marks":99448,"value":94252,"nodeType":864},{},[],{"data":99450,"content":99451,"nodeType":860},{},[99452],{"data":99453,"marks":99454,"value":94259,"nodeType":864},{},[],{"data":99456,"content":99457,"nodeType":860},{},[99458],{"data":99459,"marks":99460,"value":94266,"nodeType":864},{},[],{"data":99462,"content":99463,"nodeType":860},{},[99464,99468],{"data":99465,"marks":99466,"value":94274,"nodeType":864},{},[99467],{"type":899},{"data":99469,"marks":99470,"value":94278,"nodeType":864},{},[],{"data":99472,"content":99475,"nodeType":996},{"target":99473},{"sys":99474},{"id":94283,"type":1001,"linkType":1002},[],{"data":99477,"content":99478,"nodeType":860},{},[99479],{"data":99480,"marks":99481,"value":94291,"nodeType":864},{},[],{"data":99483,"content":99484,"nodeType":860},{},[99485,99488,99494],{"data":99486,"marks":99487,"value":94298,"nodeType":864},{},[],{"data":99489,"content":99490,"nodeType":883},{"uri":90269},[99491],{"data":99492,"marks":99493,"value":72883,"nodeType":864},{},[],{"data":99495,"marks":99496,"value":94308,"nodeType":864},{},[],{"data":99498,"content":99499,"nodeType":860},{},[99500,99503,99510],{"data":99501,"marks":99502,"value":94315,"nodeType":864},{},[],{"data":99504,"content":99505,"nodeType":883},{"uri":47989},[99506],{"data":99507,"marks":99508,"value":94323,"nodeType":864},{},[99509],{"type":1455},{"data":99511,"marks":99512,"value":12252,"nodeType":864},{},[],{"data":99514,"content":99515,"nodeType":1312},{},[99516],{"data":99517,"marks":99518,"value":94333,"nodeType":864},{},[],{"data":99520,"content":99521,"nodeType":860},{},[99522],{"data":99523,"marks":99524,"value":94340,"nodeType":864},{},[],{"data":99526,"content":99527,"nodeType":860},{},[99528,99531,99538],{"data":99529,"marks":99530,"value":94347,"nodeType":864},{},[],{"data":99532,"content":99533,"nodeType":883},{"uri":94350},[99534],{"data":99535,"marks":99536,"value":94356,"nodeType":864},{},[99537],{"type":1455},{"data":99539,"marks":99540,"value":94360,"nodeType":864},{},[],{"data":99542,"content":99543,"nodeType":860},{},[99544],{"data":99545,"marks":99546,"value":94367,"nodeType":864},{},[],{"data":99548,"content":99549,"nodeType":860},{},[99550,99553,99559],{"data":99551,"marks":99552,"value":94374,"nodeType":864},{},[],{"data":99554,"content":99555,"nodeType":883},{"uri":48237},[99556],{"data":99557,"marks":99558,"value":94381,"nodeType":864},{},[],{"data":99560,"marks":99561,"value":2924,"nodeType":864},{},[],{"data":99563,"content":99564,"nodeType":1312},{},[99565],{"data":99566,"marks":99567,"value":94391,"nodeType":864},{},[],{"data":99569,"content":99570,"nodeType":860},{},[99571,99574,99580,99583,99589,99592,99598,99601,99607],{"data":99572,"marks":99573,"value":94398,"nodeType":864},{},[],{"data":99575,"content":99576,"nodeType":883},{"uri":94401},[99577],{"data":99578,"marks":99579,"value":94406,"nodeType":864},{},[],{"data":99581,"marks":99582,"value":3731,"nodeType":864},{},[],{"data":99584,"content":99585,"nodeType":883},{"uri":94412},[99586],{"data":99587,"marks":99588,"value":94417,"nodeType":864},{},[],{"data":99590,"marks":99591,"value":3731,"nodeType":864},{},[],{"data":99593,"content":99594,"nodeType":883},{"uri":83666},[99595],{"data":99596,"marks":99597,"value":83672,"nodeType":864},{},[],{"data":99599,"marks":99600,"value":902,"nodeType":864},{},[],{"data":99602,"content":99603,"nodeType":883},{"uri":94432},[99604],{"data":99605,"marks":99606,"value":94437,"nodeType":864},{},[],{"data":99608,"marks":99609,"value":12252,"nodeType":864},{},[],{"data":99611,"content":99612,"nodeType":860},{},[99613],{"data":99614,"marks":99615,"value":94447,"nodeType":864},{},[],{"data":99617,"content":99618,"nodeType":860},{},[99619,99622,99629],{"data":99620,"marks":99621,"value":94454,"nodeType":864},{},[],{"data":99623,"content":99624,"nodeType":883},{"uri":94457},[99625],{"data":99626,"marks":99627,"value":94463,"nodeType":864},{},[99628],{"type":1455},{"data":99630,"marks":99631,"value":12252,"nodeType":864},{},[],{"data":99633,"content":99634,"nodeType":860},{},[99635],{"data":99636,"marks":99637,"value":94473,"nodeType":864},{},[],{"data":99639,"content":99642,"nodeType":996},{"target":99640},{"sys":99641},{"id":43836,"type":1001,"linkType":1002},[],{"data":99644,"content":99645,"nodeType":860},{},[99646,99649,99655],{"data":99647,"marks":99648,"value":94485,"nodeType":864},{},[],{"data":99650,"content":99651,"nodeType":883},{"uri":90269},[99652],{"data":99653,"marks":99654,"value":72883,"nodeType":864},{},[],{"data":99656,"marks":99657,"value":94495,"nodeType":864},{},[],{"data":99659,"content":99660,"nodeType":860},{},[99661,99664,99671],{"data":99662,"marks":99663,"value":94502,"nodeType":864},{},[],{"data":99665,"content":99666,"nodeType":883},{"uri":48185},[99667],{"data":99668,"marks":99669,"value":94510,"nodeType":864},{},[99670],{"type":1455},{"data":99672,"marks":99673,"value":12252,"nodeType":864},{},[],{"data":99675,"content":99676,"nodeType":1009},{},[99677],{"data":99678,"marks":99679,"value":94520,"nodeType":864},{},[],{"data":99681,"content":99682,"nodeType":860},{},[99683,99686,99693],{"data":99684,"marks":99685,"value":94527,"nodeType":864},{},[],{"data":99687,"content":99688,"nodeType":883},{"uri":6300},[99689],{"data":99690,"marks":99691,"value":3756,"nodeType":864},{},[99692],{"type":1455},{"data":99694,"marks":99695,"value":94538,"nodeType":864},{},[],{"data":99697,"content":99698,"nodeType":860},{},[99699],{"data":99700,"marks":99701,"value":94545,"nodeType":864},{},[],{"data":99703,"content":99706,"nodeType":996},{"target":99704},{"sys":99705},{"id":94550,"type":1001,"linkType":1002},[],{"data":99708,"content":99709,"nodeType":860},{},[99710],{"data":99711,"marks":99712,"value":94558,"nodeType":864},{},[],{"data":99714,"content":99715,"nodeType":860},{},[99716,99719,99726],{"data":99717,"marks":99718,"value":81865,"nodeType":864},{},[],{"data":99720,"content":99721,"nodeType":883},{"uri":81868},[99722],{"data":99723,"marks":99724,"value":81874,"nodeType":864},{},[99725],{"type":1455},{"data":99727,"marks":99728,"value":2924,"nodeType":864},{},[],{"data":99730,"content":99731,"nodeType":860},{},[99732],{"data":99733,"marks":99734,"value":94581,"nodeType":864},{},[],{"data":99736,"content":99737,"nodeType":860},{},[99738],{"data":99739,"marks":99740,"value":94588,"nodeType":864},{},[],{"data":99742,"content":99745,"nodeType":996},{"target":99743},{"sys":99744},{"id":94593,"type":1001,"linkType":1002},[],{"data":99747,"content":99748,"nodeType":1312},{},[99749],{"data":99750,"marks":99751,"value":94601,"nodeType":864},{},[],{"data":99753,"content":99754,"nodeType":860},{},[99755],{"data":99756,"marks":99757,"value":94608,"nodeType":864},{},[],{"data":99759,"content":99760,"nodeType":860},{},[99761],{"data":99762,"marks":99763,"value":94615,"nodeType":864},{},[],{"data":99765,"content":99766,"nodeType":860},{},[99767],{"data":99768,"marks":99769,"value":94622,"nodeType":864},{},[],{"data":99771,"content":99774,"nodeType":996},{"target":99772},{"sys":99773},{"id":43965,"type":1001,"linkType":1002},[],{"data":99776,"content":99777,"nodeType":1312},{},[99778],{"data":99779,"marks":99780,"value":94634,"nodeType":864},{},[],{"data":99782,"content":99783,"nodeType":860},{},[99784],{"data":99785,"marks":99786,"value":94641,"nodeType":864},{},[],{"data":99788,"content":99789,"nodeType":860},{},[99790],{"data":99791,"marks":99792,"value":94648,"nodeType":864},{},[],{"data":99794,"content":99795,"nodeType":860},{},[99796],{"data":99797,"marks":99798,"value":94655,"nodeType":864},{},[],{"data":99800,"content":99803,"nodeType":996},{"target":99801},{"sys":99802},{"id":94660,"type":1001,"linkType":1002},[],{"data":99805,"content":99806,"nodeType":1009},{},[99807],{"data":99808,"marks":99809,"value":94668,"nodeType":864},{},[],{"data":99811,"content":99812,"nodeType":860},{},[99813],{"data":99814,"marks":99815,"value":94675,"nodeType":864},{},[],{"data":99817,"content":99818,"nodeType":860},{},[99819,99823],{"data":99820,"marks":99821,"value":94683,"nodeType":864},{},[99822],{"type":899},{"data":99824,"marks":99825,"value":94687,"nodeType":864},{},[],{"data":99827,"content":99828,"nodeType":860},{},[99829,99832,99836],{"data":99830,"marks":99831,"value":94694,"nodeType":864},{},[],{"data":99833,"marks":99834,"value":94699,"nodeType":864},{},[99835],{"type":899},{"data":99837,"marks":99838,"value":94703,"nodeType":864},{},[],{"data":99840,"content":99841,"nodeType":860},{},[99842],{"data":99843,"marks":99844,"value":94710,"nodeType":864},{},[],{"data":99846,"content":99847,"nodeType":860},{},[99848],{"data":99849,"marks":99850,"value":94717,"nodeType":864},{},[],{"data":99852,"content":99853,"nodeType":941},{},[99854,99873,99892],{"data":99855,"content":99856,"nodeType":945},{},[99857],{"data":99858,"content":99859,"nodeType":860},{},[99860,99863,99870],{"data":99861,"marks":99862,"value":94730,"nodeType":864},{},[],{"data":99864,"content":99865,"nodeType":883},{"uri":6300},[99866],{"data":99867,"marks":99868,"value":3756,"nodeType":864},{},[99869],{"type":1455},{"data":99871,"marks":99872,"value":12252,"nodeType":864},{},[],{"data":99874,"content":99875,"nodeType":945},{},[99876],{"data":99877,"content":99878,"nodeType":860},{},[99879,99882,99889],{"data":99880,"marks":99881,"value":94750,"nodeType":864},{},[],{"data":99883,"content":99884,"nodeType":883},{"uri":37638},[99885],{"data":99886,"marks":99887,"value":94758,"nodeType":864},{},[99888],{"type":1455},{"data":99890,"marks":99891,"value":2924,"nodeType":864},{},[],{"data":99893,"content":99894,"nodeType":945},{},[99895],{"data":99896,"content":99897,"nodeType":860},{},[99898,99901,99908],{"data":99899,"marks":99900,"value":94771,"nodeType":864},{},[],{"data":99902,"content":99903,"nodeType":883},{"uri":94774},[99904],{"data":99905,"marks":99906,"value":94780,"nodeType":864},{},[99907],{"type":1455},{"data":99909,"marks":99910,"value":35977,"nodeType":864},{},[],{"data":99912,"content":99913,"nodeType":860},{},[99914],{"data":99915,"marks":99916,"value":94790,"nodeType":864},{},[],{"data":99918,"content":99919,"nodeType":1312},{},[99920],{"data":99921,"marks":99922,"value":94797,"nodeType":864},{},[],{"data":99924,"content":99925,"nodeType":860},{},[99926],{"data":99927,"marks":99928,"value":94804,"nodeType":864},{},[],{"data":99930,"content":99931,"nodeType":860},{},[99932],{"data":99933,"marks":99934,"value":94811,"nodeType":864},{},[],{"data":99936,"content":99937,"nodeType":860},{},[99938],{"data":99939,"marks":99940,"value":94818,"nodeType":864},{},[],{"data":99942,"content":99943,"nodeType":860},{},[99944],{"data":99945,"marks":99946,"value":94825,"nodeType":864},{},[],{"data":99948,"content":99949,"nodeType":1312},{},[99950],{"data":99951,"marks":99952,"value":94832,"nodeType":864},{},[],{"data":99954,"content":99955,"nodeType":860},{},[99956],{"data":99957,"marks":99958,"value":94839,"nodeType":864},{},[],{"data":99960,"content":99961,"nodeType":860},{},[99962,99965,99972],{"data":99963,"marks":99964,"value":94846,"nodeType":864},{},[],{"data":99966,"content":99967,"nodeType":883},{"uri":17701},[99968],{"data":99969,"marks":99970,"value":94854,"nodeType":864},{},[99971],{"type":1455},{"data":99973,"marks":99974,"value":12252,"nodeType":864},{},[],{"data":99976,"content":99977,"nodeType":860},{},[99978],{"data":99979,"marks":99980,"value":94864,"nodeType":864},{},[],{"data":99982,"content":99985,"nodeType":996},{"target":99983},{"sys":99984},{"id":94869,"type":1001,"linkType":1002},[],{"data":99987,"content":99988,"nodeType":860},{},[99989],{"data":99990,"marks":99991,"value":94877,"nodeType":864},{},[],{"data":99993,"content":99996,"nodeType":996},{"target":99994},{"sys":99995},{"id":94882,"type":1001,"linkType":1002},[],{"data":99998,"content":99999,"nodeType":1312},{},[100000],{"data":100001,"marks":100002,"value":94890,"nodeType":864},{},[],{"data":100004,"content":100005,"nodeType":860},{},[100006],{"data":100007,"marks":100008,"value":94897,"nodeType":864},{},[],{"data":100010,"content":100011,"nodeType":860},{},[100012],{"data":100013,"marks":100014,"value":94904,"nodeType":864},{},[],{"data":100016,"content":100019,"nodeType":996},{"target":100017},{"sys":100018},{"id":94909,"type":1001,"linkType":1002},[],{"data":100021,"content":100022,"nodeType":1312},{},[100023],{"data":100024,"marks":100025,"value":94917,"nodeType":864},{},[],{"data":100027,"content":100028,"nodeType":860},{},[100029],{"data":100030,"marks":100031,"value":94924,"nodeType":864},{},[],{"data":100033,"content":100034,"nodeType":860},{},[100035],{"data":100036,"marks":100037,"value":94931,"nodeType":864},{},[],{"data":100039,"content":100040,"nodeType":941},{},[100041,100050,100059],{"data":100042,"content":100043,"nodeType":945},{},[100044],{"data":100045,"content":100046,"nodeType":860},{},[100047],{"data":100048,"marks":100049,"value":94944,"nodeType":864},{},[],{"data":100051,"content":100052,"nodeType":945},{},[100053],{"data":100054,"content":100055,"nodeType":860},{},[100056],{"data":100057,"marks":100058,"value":94954,"nodeType":864},{},[],{"data":100060,"content":100061,"nodeType":945},{},[100062],{"data":100063,"content":100064,"nodeType":860},{},[100065],{"data":100066,"marks":100067,"value":94964,"nodeType":864},{},[],{"data":100069,"content":100070,"nodeType":860},{},[100071],{"data":100072,"marks":100073,"value":94971,"nodeType":864},{},[],{"data":100075,"content":100076,"nodeType":1312},{},[100077],{"data":100078,"marks":100079,"value":94978,"nodeType":864},{},[],{"data":100081,"content":100082,"nodeType":860},{},[100083],{"data":100084,"marks":100085,"value":94985,"nodeType":864},{},[],{"data":100087,"content":100088,"nodeType":860},{},[100089],{"data":100090,"marks":100091,"value":94992,"nodeType":864},{},[],{"data":100093,"content":100094,"nodeType":860},{},[100095],{"data":100096,"marks":100097,"value":94999,"nodeType":864},{},[],{"data":100099,"content":100100,"nodeType":1312},{},[100101],{"data":100102,"marks":100103,"value":95006,"nodeType":864},{},[],{"data":100105,"content":100106,"nodeType":860},{},[100107],{"data":100108,"marks":100109,"value":95013,"nodeType":864},{},[],{"data":100111,"content":100112,"nodeType":860},{},[100113],{"data":100114,"marks":100115,"value":95020,"nodeType":864},{},[],{"data":100117,"content":100118,"nodeType":941},{},[100119,100132,100145],{"data":100120,"content":100121,"nodeType":945},{},[100122],{"data":100123,"content":100124,"nodeType":860},{},[100125,100129],{"data":100126,"marks":100127,"value":95034,"nodeType":864},{},[100128],{"type":899},{"data":100130,"marks":100131,"value":95038,"nodeType":864},{},[],{"data":100133,"content":100134,"nodeType":945},{},[100135],{"data":100136,"content":100137,"nodeType":860},{},[100138,100142],{"data":100139,"marks":100140,"value":95049,"nodeType":864},{},[100141],{"type":899},{"data":100143,"marks":100144,"value":95053,"nodeType":864},{},[],{"data":100146,"content":100147,"nodeType":945},{},[100148],{"data":100149,"content":100150,"nodeType":860},{},[100151,100155],{"data":100152,"marks":100153,"value":95064,"nodeType":864},{},[100154],{"type":899},{"data":100156,"marks":100157,"value":95068,"nodeType":864},{},[],{"data":100159,"content":100162,"nodeType":996},{"target":100160},{"sys":100161},{"id":95073,"type":1001,"linkType":1002},[],{"data":100164,"content":100165,"nodeType":1009},{},[100166],{"data":100167,"marks":100168,"value":95081,"nodeType":864},{},[],{"data":100170,"content":100171,"nodeType":860},{},[100172,100175,100181,100184,100188,100191,100195,100198,100202],{"data":100173,"marks":100174,"value":95088,"nodeType":864},{},[],{"data":100176,"content":100177,"nodeType":883},{"uri":95091},[100178],{"data":100179,"marks":100180,"value":51400,"nodeType":864},{},[],{"data":100182,"marks":100183,"value":95099,"nodeType":864},{},[],{"data":100185,"marks":100186,"value":95104,"nodeType":864},{},[100187],{"type":899},{"data":100189,"marks":100190,"value":3731,"nodeType":864},{},[],{"data":100192,"marks":100193,"value":95112,"nodeType":864},{},[100194],{"type":899},{"data":100196,"marks":100197,"value":95116,"nodeType":864},{},[],{"data":100199,"marks":100200,"value":87,"nodeType":864},{},[100201],{"type":899},{"data":100203,"marks":100204,"value":95124,"nodeType":864},{},[],{"data":100206,"content":100209,"nodeType":996},{"target":100207},{"sys":100208},{"id":95129,"type":1001,"linkType":1002},[],{"data":100211,"content":100212,"nodeType":1312},{},[100213],{"data":100214,"marks":100215,"value":95137,"nodeType":864},{},[],{"data":100217,"content":100218,"nodeType":860},{},[100219,100222,100228],{"data":100220,"marks":100221,"value":95144,"nodeType":864},{},[],{"data":100223,"content":100224,"nodeType":883},{"uri":5642},[100225],{"data":100226,"marks":100227,"value":37814,"nodeType":864},{},[],{"data":100229,"marks":100230,"value":95154,"nodeType":864},{},[],{"data":100232,"content":100235,"nodeType":996},{"target":100233},{"sys":100234},{"id":95159,"type":1001,"linkType":1002},[],{"data":100237,"content":100238,"nodeType":860},{},[100239],{"data":100240,"marks":100241,"value":21,"nodeType":864},{},[],{"entries":100243},{"hyperlink":100244,"inline":100245,"block":100246},[],[],[100247,100255,100263,100266,100273,100279,100287,100293,100296,100302,100305,100308,100315,100322,100328,100335,100343,100351],{"sys":100248,"__typename":1724,"title":100249,"caption":100250,"layoutMode":59,"file":100251},{"id":93999},"DBIR stolen credentials graphic","Identity attack techniques were by far the most prevalent initial access vectors in this year's Verizon DBIR.",{"url":100252,"width":100253,"height":100254},"https://images.ctfassets.net/y1cdw1ablpvd/QCYpzmm2CKDnBI1KZXJv9/3b9b565137fc91fb447bf8c611db6d5e/Group_343.png",370,646,{"sys":100256,"__typename":1724,"title":100257,"caption":100258,"layoutMode":59,"file":100259},{"id":94044},"Identity breach timeline","The rise in identity attacks should come as no surprise to any of us. While attackers are bad people, they’re still mostly rational bad people who will take the easy road.",{"url":100260,"width":100261,"height":100262},"https://images.ctfassets.net/y1cdw1ablpvd/4EoLhIzCo8VythFPqt0tIA/460d6b2fdab727fe4036569a2505aedd/image1.png",1768,994,{"sys":100264,"__typename":1717,"type":1718,"ctaText":100265,"buttonLabel":47736,"buttonColour":66936,"buttonUrl":94029},{"id":94050},"Learn more about the timeline of recent identity attacks in the wild.",{"sys":100267,"__typename":1724,"title":100268,"caption":100269,"layoutMode":59,"file":100270},{"id":94070},"Comparing attack paths for identity, network, and endpoint attacks. ","Attackers are now targeting identities to avoid established endpoint and network security controls. ",{"url":100271,"width":100272,"height":80537},"https://images.ctfassets.net/y1cdw1ablpvd/2ZleNOvt5jsBQ7RTds5BBN/f73fe9434abb44914ba339d2d94860e6/image10.png",1201,{"sys":100274,"__typename":1724,"title":100275,"caption":100276,"layoutMode":59,"file":100277},{"id":94117},"How Push prevents account takeover","Push prevents account takeover using controls aligned with each stage of the attack chain.",{"url":100278,"width":45619,"height":45620},"https://images.ctfassets.net/y1cdw1ablpvd/5K3kIkyFYdd3xFbOLAS7wd/ec2986c842a7c48a7b82e3bfcd19277d/Slide_16_9_-_40__1_.png",{"sys":100280,"__typename":1724,"title":100281,"caption":100282,"layoutMode":59,"file":100283},{"id":53603},"Source: 2024 Trends in Identity Security - Identity Defined Security Alliance (IDSA)","Source: 2024 Trends in Identity Security – Identity Defined Security Alliance (IDSA)",{"url":100284,"width":100285,"height":100286},"https://images.ctfassets.net/y1cdw1ablpvd/4wcIXJu4Yhq7lHZuGbX1w0/b097fff859f61a0e853f8a10e2d838aa/image7.png",1730,782,{"sys":100288,"__typename":1724,"title":100289,"caption":100290,"layoutMode":59,"file":100291},{"id":94283},"SSO Password Protection","Push blocks malicious logins before the user can be phished.",{"url":100292,"width":45619,"height":45620},"https://images.ctfassets.net/y1cdw1ablpvd/NswNmrq9QBqinx9ssS2Fz/18b4cdf6c4bff3274c289a4185b4204f/image5.png",{"sys":100294,"__typename":1724,"title":45608,"caption":45609,"layoutMode":59,"file":100295},{"id":43836},{"url":45611,"width":41540,"height":45612},{"sys":100297,"__typename":1724,"title":100298,"caption":100298,"layoutMode":59,"file":100299},{"id":94550},"The 2024 Sophos Threat Report shows the prevalence of info stealer malware.",{"url":100300,"width":16,"height":100301},"https://images.ctfassets.net/y1cdw1ablpvd/ntLmjUBbgKFILEraHAiLC/dbefc5df68c0260dd6301237af4ba49a/image3.png",432,{"sys":100303,"__typename":1717,"type":1718,"ctaText":100304,"buttonLabel":47736,"buttonColour":1721,"buttonUrl":48419},{"id":94593},"For more information on infostealers, check out our recent blog post.",{"sys":100306,"__typename":1724,"title":45623,"caption":45623,"layoutMode":59,"file":100307},{"id":43965},{"url":45625,"width":41540,"height":45626},{"sys":100309,"__typename":1724,"title":100310,"caption":100311,"layoutMode":59,"file":100312},{"id":94660},"Stolen creds example","Viewing stolen credentials using the Push platform.",{"url":100313,"width":79428,"height":100314},"https://images.ctfassets.net/y1cdw1ablpvd/5BJQtkoIy6xBSgYRTzMhgh/121f277cdb6684b4441d8c0e98241077/stolen_creds_example.png",919,{"sys":100316,"__typename":1724,"title":100317,"caption":100318,"layoutMode":59,"file":100319},{"id":94869},"Identifying MFA gaps with Push","Identifying MFA gaps with Push.",{"url":100320,"width":100321,"height":45620},"https://images.ctfassets.net/y1cdw1ablpvd/xfT8Naxqz8UHj9NfMoB3c/205590adc81044c474f91e94ed1491ba/image2.png",1797,{"sys":100323,"__typename":1724,"title":100324,"caption":100325,"layoutMode":59,"file":100326},{"id":94882},"MFA enforcement banner","Push MFA enforcement banner.",{"url":100327,"width":41540,"height":41541},"https://images.ctfassets.net/y1cdw1ablpvd/3gU1uqYKTUcYnS86z5KNcf/8d91db345ab6bbfa36ae551a4709822d/mfa_enforcement_banner_web.png",{"sys":100329,"__typename":1724,"title":100330,"caption":100331,"layoutMode":59,"file":100332},{"id":94909},"Password reuse identified and reported","Password reuse identified and reported.",{"url":100333,"width":100334,"height":282},"https://images.ctfassets.net/y1cdw1ablpvd/5gkK5ubIQzC7dAory22d7u/8d7a7791e376eae26bec69f0bc66f838/chatops_reused_password_finding_20230713.png",932,{"sys":100336,"__typename":1724,"title":100337,"caption":100338,"layoutMode":59,"file":100339},{"id":95073},"Preventing password logins where SSO is supported","Preventing password logins where SSO is supported. ",{"url":100340,"width":100341,"height":100342},"https://images.ctfassets.net/y1cdw1ablpvd/1epd5VHOflUX67ga5lZA7z/8f179c8621d9d60bd6a8879c9b0daea5/image9.png",1255,763,{"sys":100344,"__typename":1724,"title":100345,"caption":100346,"layoutMode":59,"file":100347},{"id":95129},"Controls page","Enable controls to stop account takeover with the push of a button.",{"url":100348,"width":100349,"height":100350},"https://images.ctfassets.net/y1cdw1ablpvd/7HVWDgFFdpHxzzNDpgcnLs/520e7c0a9c76bbafaa538d5f24720826/controls_page_20240808.png",3022,1716,{"sys":100352,"__typename":1717,"type":1718,"ctaText":100353,"buttonLabel":47736,"buttonColour":33488,"buttonUrl":7425},{"id":95159},"Learn more about our design philosophy and what makes our account takeover defenses uniquely effective.",{"items":100355},[],{},"Preventing account takeover with Push",{"url":100278},{"items":100360},[100361,100928,101507],{"__typename":2059,"sys":100362,"content":100363,"title":98419,"synopsis":98420,"hashTags":59,"publishedDate":98421,"slug":98422,"tagsCollection":100918,"authorsCollection":100924},{"id":73986},{"json":100364},{"data":100365,"content":100366,"nodeType":856},{},[100367,100373,100379,100399,100404,100410,100416,100419,100425,100441,100446,100452,100485,100491,100497,100503,100509,100515,100521,100536,100543,100546,100552,100558,100564,100570,100576,100582,100588,100630,100636,100642,100648,100664,100670,100676,100682,100688,100694,100700,100706,100721,100736,100775,100781,100787,100844,100850,100853,100859,100872,100887,100893,100898,100903,100906,100912],{"data":100368,"content":100369,"nodeType":860},{},[100370],{"data":100371,"marks":100372,"value":97791,"nodeType":864},{},[],{"data":100374,"content":100375,"nodeType":860},{},[100376],{"data":100377,"marks":100378,"value":97798,"nodeType":864},{},[],{"data":100380,"content":100381,"nodeType":860},{},[100382,100385,100392,100395],{"data":100383,"marks":100384,"value":97805,"nodeType":864},{},[],{"data":100386,"content":100387,"nodeType":883},{"uri":97808},[100388],{"data":100389,"marks":100390,"value":48223,"nodeType":864},{},[100391],{"type":1455},{"data":100393,"marks":100394,"value":97817,"nodeType":864},{},[],{"data":100396,"marks":100397,"value":97822,"nodeType":864},{},[100398],{"type":899},{"data":100400,"content":100403,"nodeType":996},{"target":100401},{"sys":100402},{"id":53784,"type":1001,"linkType":1002},[],{"data":100405,"content":100406,"nodeType":860},{},[100407],{"data":100408,"marks":100409,"value":97834,"nodeType":864},{},[],{"data":100411,"content":100412,"nodeType":860},{},[100413],{"data":100414,"marks":100415,"value":97841,"nodeType":864},{},[],{"data":100417,"content":100418,"nodeType":1005},{},[],{"data":100420,"content":100421,"nodeType":1009},{},[100422],{"data":100423,"marks":100424,"value":97851,"nodeType":864},{},[],{"data":100426,"content":100427,"nodeType":860},{},[100428,100431,100438],{"data":100429,"marks":100430,"value":97858,"nodeType":864},{},[],{"data":100432,"content":100433,"nodeType":883},{"uri":97861},[100434],{"data":100435,"marks":100436,"value":97867,"nodeType":864},{},[100437],{"type":1455},{"data":100439,"marks":100440,"value":97871,"nodeType":864},{},[],{"data":100442,"content":100445,"nodeType":996},{"target":100443},{"sys":100444},{"id":97876,"type":1001,"linkType":1002},[],{"data":100447,"content":100448,"nodeType":860},{},[100449],{"data":100450,"marks":100451,"value":97884,"nodeType":864},{},[],{"data":100453,"content":100454,"nodeType":860},{},[100455,100458,100464,100467,100473,100476,100482],{"data":100456,"marks":100457,"value":97891,"nodeType":864},{},[],{"data":100459,"content":100460,"nodeType":883},{"uri":5760},[100461],{"data":100462,"marks":100463,"value":97898,"nodeType":864},{},[],{"data":100465,"marks":100466,"value":97902,"nodeType":864},{},[],{"data":100468,"content":100469,"nodeType":883},{"uri":6300},[100470],{"data":100471,"marks":100472,"value":81194,"nodeType":864},{},[],{"data":100474,"marks":100475,"value":97912,"nodeType":864},{},[],{"data":100477,"content":100478,"nodeType":883},{"uri":34109},[100479],{"data":100480,"marks":100481,"value":97919,"nodeType":864},{},[],{"data":100483,"marks":100484,"value":97923,"nodeType":864},{},[],{"data":100486,"content":100487,"nodeType":860},{},[100488],{"data":100489,"marks":100490,"value":97930,"nodeType":864},{},[],{"data":100492,"content":100493,"nodeType":1312},{},[100494],{"data":100495,"marks":100496,"value":97937,"nodeType":864},{},[],{"data":100498,"content":100499,"nodeType":860},{},[100500],{"data":100501,"marks":100502,"value":97944,"nodeType":864},{},[],{"data":100504,"content":100505,"nodeType":860},{},[100506],{"data":100507,"marks":100508,"value":97951,"nodeType":864},{},[],{"data":100510,"content":100511,"nodeType":860},{},[100512],{"data":100513,"marks":100514,"value":97958,"nodeType":864},{},[],{"data":100516,"content":100517,"nodeType":860},{},[100518],{"data":100519,"marks":100520,"value":97965,"nodeType":864},{},[],{"data":100522,"content":100523,"nodeType":860},{},[100524,100527,100533],{"data":100525,"marks":100526,"value":97972,"nodeType":864},{},[],{"data":100528,"content":100529,"nodeType":883},{"uri":48151},[100530],{"data":100531,"marks":100532,"value":97979,"nodeType":864},{},[],{"data":100534,"marks":100535,"value":97983,"nodeType":864},{},[],{"data":100537,"content":100538,"nodeType":860},{},[100539],{"data":100540,"marks":100541,"value":97991,"nodeType":864},{},[100542],{"type":899},{"data":100544,"content":100545,"nodeType":1005},{},[],{"data":100547,"content":100548,"nodeType":1009},{},[100549],{"data":100550,"marks":100551,"value":98001,"nodeType":864},{},[],{"data":100553,"content":100554,"nodeType":860},{},[100555],{"data":100556,"marks":100557,"value":98008,"nodeType":864},{},[],{"data":100559,"content":100560,"nodeType":860},{},[100561],{"data":100562,"marks":100563,"value":98015,"nodeType":864},{},[],{"data":100565,"content":100566,"nodeType":860},{},[100567],{"data":100568,"marks":100569,"value":98022,"nodeType":864},{},[],{"data":100571,"content":100572,"nodeType":860},{},[100573],{"data":100574,"marks":100575,"value":98029,"nodeType":864},{},[],{"data":100577,"content":100578,"nodeType":1312},{},[100579],{"data":100580,"marks":100581,"value":98036,"nodeType":864},{},[],{"data":100583,"content":100584,"nodeType":860},{},[100585],{"data":100586,"marks":100587,"value":98043,"nodeType":864},{},[],{"data":100589,"content":100590,"nodeType":941},{},[100591,100604,100617],{"data":100592,"content":100593,"nodeType":945},{},[100594],{"data":100595,"content":100596,"nodeType":860},{},[100597,100601],{"data":100598,"marks":100599,"value":98057,"nodeType":864},{},[100600],{"type":899},{"data":100602,"marks":100603,"value":98061,"nodeType":864},{},[],{"data":100605,"content":100606,"nodeType":945},{},[100607],{"data":100608,"content":100609,"nodeType":860},{},[100610,100614],{"data":100611,"marks":100612,"value":98072,"nodeType":864},{},[100613],{"type":899},{"data":100615,"marks":100616,"value":98076,"nodeType":864},{},[],{"data":100618,"content":100619,"nodeType":945},{},[100620],{"data":100621,"content":100622,"nodeType":860},{},[100623,100627],{"data":100624,"marks":100625,"value":98087,"nodeType":864},{},[100626],{"type":899},{"data":100628,"marks":100629,"value":98091,"nodeType":864},{},[],{"data":100631,"content":100632,"nodeType":860},{},[100633],{"data":100634,"marks":100635,"value":98098,"nodeType":864},{},[],{"data":100637,"content":100638,"nodeType":1312},{},[100639],{"data":100640,"marks":100641,"value":98105,"nodeType":864},{},[],{"data":100643,"content":100644,"nodeType":860},{},[100645],{"data":100646,"marks":100647,"value":98112,"nodeType":864},{},[],{"data":100649,"content":100650,"nodeType":860},{},[100651,100654,100661],{"data":100652,"marks":100653,"value":98119,"nodeType":864},{},[],{"data":100655,"content":100656,"nodeType":883},{"uri":98122},[100657],{"data":100658,"marks":100659,"value":98128,"nodeType":864},{},[100660],{"type":1455},{"data":100662,"marks":100663,"value":98132,"nodeType":864},{},[],{"data":100665,"content":100666,"nodeType":860},{},[100667],{"data":100668,"marks":100669,"value":98139,"nodeType":864},{},[],{"data":100671,"content":100672,"nodeType":1312},{},[100673],{"data":100674,"marks":100675,"value":98146,"nodeType":864},{},[],{"data":100677,"content":100678,"nodeType":860},{},[100679],{"data":100680,"marks":100681,"value":98153,"nodeType":864},{},[],{"data":100683,"content":100684,"nodeType":860},{},[100685],{"data":100686,"marks":100687,"value":98160,"nodeType":864},{},[],{"data":100689,"content":100690,"nodeType":860},{},[100691],{"data":100692,"marks":100693,"value":98167,"nodeType":864},{},[],{"data":100695,"content":100696,"nodeType":1312},{},[100697],{"data":100698,"marks":100699,"value":98174,"nodeType":864},{},[],{"data":100701,"content":100702,"nodeType":860},{},[100703],{"data":100704,"marks":100705,"value":98181,"nodeType":864},{},[],{"data":100707,"content":100708,"nodeType":860},{},[100709,100712,100718],{"data":100710,"marks":100711,"value":98188,"nodeType":864},{},[],{"data":100713,"content":100714,"nodeType":883},{"uri":47989},[100715],{"data":100716,"marks":100717,"value":98195,"nodeType":864},{},[],{"data":100719,"marks":100720,"value":2924,"nodeType":864},{},[],{"data":100722,"content":100723,"nodeType":860},{},[100724,100727,100733],{"data":100725,"marks":100726,"value":98205,"nodeType":864},{},[],{"data":100728,"content":100729,"nodeType":883},{"uri":48151},[100730],{"data":100731,"marks":100732,"value":98212,"nodeType":864},{},[],{"data":100734,"marks":100735,"value":73563,"nodeType":864},{},[],{"data":100737,"content":100738,"nodeType":941},{},[100739,100748,100757,100766],{"data":100740,"content":100741,"nodeType":945},{},[100742],{"data":100743,"content":100744,"nodeType":860},{},[100745],{"data":100746,"marks":100747,"value":98228,"nodeType":864},{},[],{"data":100749,"content":100750,"nodeType":945},{},[100751],{"data":100752,"content":100753,"nodeType":860},{},[100754],{"data":100755,"marks":100756,"value":98238,"nodeType":864},{},[],{"data":100758,"content":100759,"nodeType":945},{},[100760],{"data":100761,"content":100762,"nodeType":860},{},[100763],{"data":100764,"marks":100765,"value":98248,"nodeType":864},{},[],{"data":100767,"content":100768,"nodeType":945},{},[100769],{"data":100770,"content":100771,"nodeType":860},{},[100772],{"data":100773,"marks":100774,"value":98258,"nodeType":864},{},[],{"data":100776,"content":100777,"nodeType":860},{},[100778],{"data":100779,"marks":100780,"value":98265,"nodeType":864},{},[],{"data":100782,"content":100783,"nodeType":860},{},[100784],{"data":100785,"marks":100786,"value":98272,"nodeType":864},{},[],{"data":100788,"content":100789,"nodeType":941},{},[100790,100808,100826],{"data":100791,"content":100792,"nodeType":945},{},[100793],{"data":100794,"content":100795,"nodeType":860},{},[100796,100799,100805],{"data":100797,"marks":100798,"value":98285,"nodeType":864},{},[],{"data":100800,"content":100801,"nodeType":883},{"uri":47989},[100802],{"data":100803,"marks":100804,"value":83066,"nodeType":864},{},[],{"data":100806,"marks":100807,"value":12252,"nodeType":864},{},[],{"data":100809,"content":100810,"nodeType":945},{},[100811],{"data":100812,"content":100813,"nodeType":860},{},[100814,100817,100823],{"data":100815,"marks":100816,"value":98304,"nodeType":864},{},[],{"data":100818,"content":100819,"nodeType":883},{"uri":48237},[100820],{"data":100821,"marks":100822,"value":83026,"nodeType":864},{},[],{"data":100824,"marks":100825,"value":21,"nodeType":864},{},[],{"data":100827,"content":100828,"nodeType":945},{},[100829],{"data":100830,"content":100831,"nodeType":860},{},[100832,100835,100841],{"data":100833,"marks":100834,"value":98323,"nodeType":864},{},[],{"data":100836,"content":100837,"nodeType":883},{"uri":48185},[100838],{"data":100839,"marks":100840,"value":83046,"nodeType":864},{},[],{"data":100842,"marks":100843,"value":12252,"nodeType":864},{},[],{"data":100845,"content":100846,"nodeType":860},{},[100847],{"data":100848,"marks":100849,"value":98339,"nodeType":864},{},[],{"data":100851,"content":100852,"nodeType":1005},{},[],{"data":100854,"content":100855,"nodeType":1009},{},[100856],{"data":100857,"marks":100858,"value":98349,"nodeType":864},{},[],{"data":100860,"content":100861,"nodeType":860},{},[100862,100865,100869],{"data":100863,"marks":100864,"value":98356,"nodeType":864},{},[],{"data":100866,"marks":100867,"value":98361,"nodeType":864},{},[100868],{"type":899},{"data":100870,"marks":100871,"value":98365,"nodeType":864},{},[],{"data":100873,"content":100874,"nodeType":860},{},[100875,100878,100884],{"data":100876,"marks":100877,"value":98372,"nodeType":864},{},[],{"data":100879,"content":100880,"nodeType":883},{"uri":36853},[100881],{"data":100882,"marks":100883,"value":98379,"nodeType":864},{},[],{"data":100885,"marks":100886,"value":98383,"nodeType":864},{},[],{"data":100888,"content":100889,"nodeType":860},{},[100890],{"data":100891,"marks":100892,"value":98390,"nodeType":864},{},[],{"data":100894,"content":100897,"nodeType":996},{"target":100895},{"sys":100896},{"id":98395,"type":1001,"linkType":1002},[],{"data":100899,"content":100902,"nodeType":996},{"target":100900},{"sys":100901},{"id":98401,"type":1001,"linkType":1002},[],{"data":100904,"content":100905,"nodeType":1005},{},[],{"data":100907,"content":100908,"nodeType":1009},{},[100909],{"data":100910,"marks":100911,"value":32492,"nodeType":864},{},[],{"data":100913,"content":100914,"nodeType":860},{},[100915],{"data":100916,"marks":100917,"value":98418,"nodeType":864},{},[],{"items":100919},[100920,100922],{"sys":100921,"name":342},{"id":6596},{"sys":100923,"name":6593},{"id":6592},{"items":100925},[100926],{"fullName":2736,"firstName":2737,"jobTitle":2738,"profilePicture":100927},{"url":2740},{"__typename":2059,"sys":100929,"content":100930,"title":101493,"synopsis":101494,"hashTags":59,"publishedDate":101495,"slug":101496,"tagsCollection":101497,"authorsCollection":101503},{"id":73963},{"json":100931},{"data":100932,"content":100933,"nodeType":856},{},[100934,100953,100972,100979,100985,100992,100999,101006,101013,101022,101041,101048,101055,101062,101067,101074,101106,101113,101120,101127,101134,101140,101147,101154,101161,101192,101198,101205,101212,101243,101249,101256,101263,101270,101277,101283,101289,101296,101303,101310,101316,101323,101330,101337,101344,101363,101379,101385,101392,101399,101405,101412,101431,101437,101444,101471,101478,101485],{"data":100935,"content":100936,"nodeType":860},{},[100937,100941,100949],{"data":100938,"marks":100939,"value":100940,"nodeType":864},{},[],"It’s been well reported that ",{"data":100942,"content":100943,"nodeType":883},{"uri":94029},[100944],{"data":100945,"marks":100946,"value":100948,"nodeType":864},{},[100947],{"type":1455},"identity attacks are on the rise",{"data":100950,"marks":100951,"value":100952,"nodeType":864},{},[],", and constantly evolving phishing tools and techniques are a big part of this. In particular, the increasing prevalence of MFA has led to AitM phishing attacks becoming much more common. The threat intelligence industry naturally wants to locate and shutdown all the phishing servers – but the phishers are fighting back.",{"data":100954,"content":100955,"nodeType":860},{},[100956,100960,100968],{"data":100957,"marks":100958,"value":100959,"nodeType":864},{},[],"Before we dive into how AitM phishing kits evade detection, you should check out our earlier blog post on ‘",{"data":100961,"content":100962,"nodeType":883},{"uri":48106},[100963],{"data":100964,"marks":100965,"value":100967,"nodeType":864},{},[100966],{"type":1455},"Phishing 2.0 – how phishing toolkits are evolving with AitM",{"data":100969,"marks":100970,"value":100971,"nodeType":864},{},[],"’ if you want to get up to speed with what these toolkits are, and why attackers are using them more regularly. ",{"data":100973,"content":100974,"nodeType":860},{},[100975],{"data":100976,"marks":100977,"value":100978,"nodeType":864},{},[],"In this blog post, we’re going to look at a recent instance of the NakedPages AitM phishing toolkit and some of the steps it takes to frustrate detection and analysis. In particular, we’ll look at how malicious activity is obfuscated through the use of legitimate SaaS services. NakedPages uses a range of different techniques and so serves as a good case study as to how AitM toolkits are being designed to evade detection.",{"data":100980,"content":100984,"nodeType":996},{"target":100981},{"sys":100982},{"id":100983,"type":1001,"linkType":1002},"2Qcn2nNRXVkdqqxGO8lDZf",[],{"data":100986,"content":100987,"nodeType":860},{},[100988],{"data":100989,"marks":100990,"value":100991,"nodeType":864},{},[],"Before we dive in, it’s useful to keep in mind that while there is a lot of complication here, most of this happens in seconds and is transparent to the intended victim accessing from a real browser.",{"data":100993,"content":100994,"nodeType":1009},{},[100995],{"data":100996,"marks":100997,"value":100998,"nodeType":864},{},[],"Step 1: Cloudflare Workers for the initial gateway",{"data":101000,"content":101001,"nodeType":860},{},[101002],{"data":101003,"marks":101004,"value":101005,"nodeType":864},{},[],"A key feature of the NakedPages kit is that it has several stages and redirections and, in order for it to operate as intended, the target has to arrive at the beginning. The first step involves visiting a URL that is simply a Cloudflare Worker. Cloudflare Workers are a serverless execution environment, a bit like AWS lambdas.",{"data":101007,"content":101008,"nodeType":860},{},[101009],{"data":101010,"marks":101011,"value":101012,"nodeType":864},{},[],"The benefit to the attacker is that this gives them a highly reputable primary domain as it is one owned and operated by Cloudflare. Flagging recently registered or uncategorized/rare domains for further analysis won’t work for this. For example, the URL used in this instance was the following:",{"data":101014,"content":101015,"nodeType":860},{},[101016],{"data":101017,"marks":101018,"value":101021,"nodeType":864},{},[101019],{"type":101020},"code","hxxps://226028cc.502f135e3e036e726fba22d4.workers.dev",{"data":101023,"content":101024,"nodeType":860},{},[101025,101029,101038],{"data":101026,"marks":101027,"value":101028,"nodeType":864},{},[],"For other examples of Cloudflare Workers being abused for phishing, ",{"data":101030,"content":101032,"nodeType":883},{"uri":101031},"https://www.trustwave.com/en-us/resources/blogs/spiderlabs-blog/its-raining-phish-and-scams-how-cloudflare-pages-dev-and-workers-dev-domains-get-abused/",[101033],{"data":101034,"marks":101035,"value":101037,"nodeType":864},{},[101036],{"type":1455},"check out this blog post from Trustwave",{"data":101039,"marks":101040,"value":2924,"nodeType":864},{},[],{"data":101042,"content":101043,"nodeType":1009},{},[101044],{"data":101045,"marks":101046,"value":101047,"nodeType":864},{},[],"Step 2: Cloudflare Turnstile for bot detection",{"data":101049,"content":101050,"nodeType":860},{},[101051],{"data":101052,"marks":101053,"value":101054,"nodeType":864},{},[],"The only purpose of the Cloudflare Worker is to act as a bot gateway to prevent automated analysis getting further than this point. For this it uses Cloudflare Turnstile. Turnstile is a highly effective tool for detecting the difference between bots and human users as a replacement for CAPTCHAs used by websites across the world. ",{"data":101056,"content":101057,"nodeType":860},{},[101058],{"data":101059,"marks":101060,"value":101061,"nodeType":864},{},[],"If it doesn’t work transparently then you’ll probably see something like this:",{"data":101063,"content":101066,"nodeType":996},{"target":101064},{"sys":101065},{"id":53882,"type":1001,"linkType":1002},[],{"data":101068,"content":101069,"nodeType":860},{},[101070],{"data":101071,"marks":101072,"value":101073,"nodeType":864},{},[],"However, who else wants to keep out the bots? Well, phishers of course! There are many sandbox environments and other automated platforms out there, visiting every URL they come across in the search for malicious behavior. This stops many of them in their tracks as they never get past the Turnstile check. ",{"data":101075,"content":101076,"nodeType":860},{},[101077,101081,101090,101094,101103],{"data":101078,"marks":101079,"value":101080,"nodeType":864},{},[],"Malicious use of Turnstile use has become much more common now. Examples include other criminal kits ",{"data":101082,"content":101084,"nodeType":883},{"uri":101083},"https://blog.sekoia.io/tycoon-2fa-an-in-depth-analysis-of-the-latest-version-of-the-aitm-phishing-kit/",[101085],{"data":101086,"marks":101087,"value":101089,"nodeType":864},{},[101088],{"type":1455},"such as Tycoon",{"data":101091,"marks":101092,"value":101093,"nodeType":864},{},[],", as well as ",{"data":101095,"content":101097,"nodeType":883},{"uri":101096},"https://fin3ss3g0d.net/index.php/2024/04/08/evilgophishs-approach-to-advanced-bot-detection-with-cloudflare-turnstile/",[101098],{"data":101099,"marks":101100,"value":101102,"nodeType":864},{},[101101],{"type":1455},"open-source phishing tools focused on red teaming",{"data":101104,"marks":101105,"value":1774,"nodeType":864},{},[],{"data":101107,"content":101108,"nodeType":1009},{},[101109],{"data":101110,"marks":101111,"value":101112,"nodeType":864},{},[],"Step 3: Required URL parameters and custom auth headers",{"data":101114,"content":101115,"nodeType":860},{},[101116],{"data":101117,"marks":101118,"value":101119,"nodeType":864},{},[],"If you get past Turnstile, then you’ll finally be redirected to a more conventionally suspicious domain. However, you’ll need to supply the correct URL parameters and headers, or that request might behave differently. ",{"data":101121,"content":101122,"nodeType":860},{},[101123],{"data":101124,"marks":101125,"value":101126,"nodeType":864},{},[],"Suspicious domains can be found and interrogated through other means, such as observing new domain registrations or certificate transparency logs. In this case, the phishers add other steps involving required URL parameters and custom headers. This means that a defender who knows the domain name can’t discover the malicious behavior just by making a simple HTTP(S) request to the domain.",{"data":101128,"content":101129,"nodeType":860},{},[101130],{"data":101131,"marks":101132,"value":101133,"nodeType":864},{},[],"The following code snippet shows how this operates. Bonus points for spotting how they actually forgot to implement their own RSA encryption function and instead send their “encrypted” user agents in clear text:",{"data":101135,"content":101139,"nodeType":996},{"target":101136},{"sys":101137},{"id":101138,"type":1001,"linkType":1002},"45aif31bot9phquQPkz20p",[],{"data":101141,"content":101142,"nodeType":1009},{},[101143],{"data":101144,"marks":101145,"value":101146,"nodeType":864},{},[],"Step 4: Requiring JavaScript execution",{"data":101148,"content":101149,"nodeType":860},{},[101150],{"data":101151,"marks":101152,"value":101153,"nodeType":864},{},[],"Another aspect of the previous step is that it requires JavaScript to execute. That means defensive techniques that simply make HTTP(S) requests and scrape content will not automatically be able to follow the link without allowing JavaScript execution. This forces the use of dynamic sandbox techniques that actually load a DOM, as it’s almost impossible for static analysis to generically solve this problem.",{"data":101155,"content":101156,"nodeType":1009},{},[101157],{"data":101158,"marks":101159,"value":101160,"nodeType":864},{},[],"Step 5: Redirecting to legitimate domains",{"data":101162,"content":101163,"nodeType":860},{},[101164,101168,101176,101180,101189],{"data":101165,"marks":101166,"value":101167,"nodeType":864},{},[],"Attackers will also redirect to legitimate domains to mask their activity. Let’s say a defender has visited the attacker’s malicious domain without executing JavaScript or supplying the correct URL parameters. The attacker doesn’t want to activate their malicious phishing behavior at this point, so they need to do something benign instead. In this case, they simply redirect to ",{"data":101169,"content":101171,"nodeType":883},{"uri":101170},"https://example.com",[101172],{"data":101173,"marks":101174,"value":101170,"nodeType":864},{},[101175],{"type":1455},{"data":101177,"marks":101178,"value":101179,"nodeType":864},{},[],". Interestingly, ",{"data":101181,"content":101183,"nodeType":883},{"uri":101182},"https://www.youtube.com/watch?v=-W-LxcbUxI4&t=643s",[101184],{"data":101185,"marks":101186,"value":101188,"nodeType":864},{},[101187],{"type":1455},"EvilProxy has also been seen redirecting to example.com too",{"data":101190,"marks":101191,"value":73563,"nodeType":864},{},[],{"data":101193,"content":101197,"nodeType":996},{"target":101194},{"sys":101195},{"id":101196,"type":1001,"linkType":1002},"450Y7W1uXVkKSps5y0xhBe",[],{"data":101199,"content":101200,"nodeType":1009},{},[101201],{"data":101202,"marks":101203,"value":101204,"nodeType":864},{},[],"Step 6: HTTP referer header masking",{"data":101206,"content":101207,"nodeType":860},{},[101208],{"data":101209,"marks":101210,"value":101211,"nodeType":864},{},[],"Maintainers of legitimate websites often look at the HTTP referer header to see where they are being linked from. This is often a critical task for businesses, particularly for things like marketing. However, what if employees spot strange redirects coming in from suspicious looking domains like the ones used by this phishing kit? Perhaps they might investigate those domains and/or tip off relevant security vendors and organizations. ",{"data":101213,"content":101214,"nodeType":860},{},[101215,101219,101227,101231,101239],{"data":101216,"marks":101217,"value":101218,"nodeType":864},{},[],"Unless, of course, you were to use a service to mask the HTTP referrer – which is exactly what the phishing kit does in this case. NakedPages makes use of ",{"data":101220,"content":101222,"nodeType":883},{"uri":101221},"https://href.li/",[101223],{"data":101224,"marks":101225,"value":101221,"nodeType":864},{},[101226],{"type":1455},{"data":101228,"marks":101229,"value":101230,"nodeType":864},{},[]," as a service to strip the referral to ensure the redirection is performed anonymously. Rather conveniently, it seems the default example that ",{"data":101232,"content":101234,"nodeType":883},{"uri":101233},"https://href.li",[101235],{"data":101236,"marks":101237,"value":101233,"nodeType":864},{},[101238],{"type":1455},{"data":101240,"marks":101241,"value":101242,"nodeType":864},{},[]," uses is… example.com:",{"data":101244,"content":101248,"nodeType":996},{"target":101245},{"sys":101246},{"id":101247,"type":1001,"linkType":1002},"78xFQwTG1r0YWGJ24iEdYP",[],{"data":101250,"content":101251,"nodeType":1009},{},[101252],{"data":101253,"marks":101254,"value":101255,"nodeType":864},{},[],"Step 7: Loading balanced domains",{"data":101257,"content":101258,"nodeType":860},{},[101259],{"data":101260,"marks":101261,"value":101262,"nodeType":864},{},[],"You’re probably thinking: Step 7? Surely, if a victim’s browser has finally made it this far then the attackers would just serve up the malicious phishing content at this point, right? Well, we aren’t quite done yet. These initial gateway servers are one of the most important components to keep undetected, as existing phishing campaigns and (as yet unread) emails will be leading to them.",{"data":101264,"content":101265,"nodeType":860},{},[101266],{"data":101267,"marks":101268,"value":101269,"nodeType":864},{},[],"Once we get to the more obviously malicious phishing activity, there is a higher chance of detection and user reports. In this case the phishing kit actually retrieves a new URL to redirect to, along with a suitable JWT authentication parameter. The benefit of this is that when URLs/hostnames get flagged as malicious, blocked or otherwise taken down, the phishing kit can just redirect to other hostnames, and the attacker’s can keep updating with new URLs over time. ",{"data":101271,"content":101272,"nodeType":860},{},[101273],{"data":101274,"marks":101275,"value":101276,"nodeType":864},{},[],"Below we can see an example of the response containing a URL, with a JWT auth parameter:",{"data":101278,"content":101282,"nodeType":996},{"target":101279},{"sys":101280},{"id":101281,"type":1001,"linkType":1002},"4NpH7V5oEdTASNNJsqCJ47",[],{"data":101284,"content":101288,"nodeType":996},{"target":101285},{"sys":101286},{"id":101287,"type":1001,"linkType":1002},"7oqkrhNXtyOlJMEz0BZyLo",[],{"data":101290,"content":101291,"nodeType":860},{},[101292],{"data":101293,"marks":101294,"value":101295,"nodeType":864},{},[],"Automating this request in this example brings back around 20 different primary domains used for the final phishing attack. These domains are rotated over time as some are blocked and new ones are created.",{"data":101297,"content":101298,"nodeType":1009},{},[101299],{"data":101300,"marks":101301,"value":101302,"nodeType":864},{},[],"Step 8: Breaking login page signatures",{"data":101304,"content":101305,"nodeType":860},{},[101306],{"data":101307,"marks":101308,"value":101309,"nodeType":864},{},[],"If all the previous checks have passed then a victim user is finally presented with a phishing page. The attacker has most closely emulated the sign-on page for live.com for Outlook in this case, though it also has some aspects from a business Microsoft login too, as we can see in the examples below:",{"data":101311,"content":101315,"nodeType":996},{"target":101312},{"sys":101313},{"id":101314,"type":1001,"linkType":1002},"2Ez0fgAlmkrisdQGWfL6CV",[],{"data":101317,"content":101318,"nodeType":860},{},[101319],{"data":101320,"marks":101321,"value":101322,"nodeType":864},{},[],"However, one obvious change can be seen in the HTML title in the tab header. This normally says something like “Sign in to Outlook” or “Sign in to your account”. In this case, the phishing kit has randomized the HTML title. \n\nOne super easy way to detect websites pretending to be common login pages that have 1:1 cloned the website or are performing full reverse proxy AiTM techniques would be to search for obvious HTML content like this. Not many legitimate websites should have an HTML title of “Sign in to Outlook” other than Microsoft’s own legitimate domains for it, right?",{"data":101324,"content":101325,"nodeType":860},{},[101326],{"data":101327,"marks":101328,"value":101329,"nodeType":864},{},[],"Taking a closer look, we’ll see that the HTML, DOM and JavaScript etc. differ quite significantly from the true login pages, even if the visual appearance is very similar. One reason for this is to make it harder for defenders to simply signature on specific aspects of commonly spoofed login pages.",{"data":101331,"content":101332,"nodeType":1009},{},[101333],{"data":101334,"marks":101335,"value":101336,"nodeType":864},{},[],"Step 9: B2B targeting",{"data":101338,"content":101339,"nodeType":860},{},[101340],{"data":101341,"marks":101342,"value":101343,"nodeType":864},{},[],"The final interesting aspect of this particular example is that it modifies its behavior during the login process depending on whether a personal Microsoft account or an organization account is used.",{"data":101345,"content":101346,"nodeType":860},{},[101347,101351,101359],{"data":101348,"marks":101349,"value":101350,"nodeType":864},{},[],"When entering an email address associated with a personal Microsoft account, or picking ‘personal account’ when prompted after entering an email address that is used for both purposes, the server will return a 302 redirect and send the user to ",{"data":101352,"content":101354,"nodeType":883},{"uri":101353},"https://login.live.com/",[101355],{"data":101356,"marks":101357,"value":101353,"nodeType":864},{},[101358],{"type":1455},{"data":101360,"marks":101361,"value":101362,"nodeType":864},{},[]," where they can then re-enter their credentials and login to Microsoft legitimately if they continue. This reduces the potential for detection further as no AitM phishing login will actually occur.",{"data":101364,"content":101365,"nodeType":860},{},[101366,101370,101375],{"data":101367,"marks":101368,"value":101369,"nodeType":864},{},[],"On the other hand, when using an organization account the phishing process continues as expected. ",{"data":101371,"marks":101372,"value":101374,"nodeType":864},{},[101373],{"type":899},"This phishing campaign is exclusively targeting corp accounts",{"data":101376,"marks":101377,"value":101378,"nodeType":864},{},[]," and you could almost say it has a B2B (or is that A2B?) rather than B2C business model.  ",{"data":101380,"content":101381,"nodeType":1009},{},[101382],{"data":101383,"marks":101384,"value":32492,"nodeType":864},{},[],{"data":101386,"content":101387,"nodeType":860},{},[101388],{"data":101389,"marks":101390,"value":101391,"nodeType":864},{},[],"As you may have guessed from the extremely suspicious domains in use and examples of sloppy coding (like forgetting to implement an encryption function) the NakedPages kit is far from sophisticated. Despite this, the tricks that attackers are using to make detection and analysis more difficult seem to be quite effective when used in a layered model. ",{"data":101393,"content":101394,"nodeType":860},{},[101395],{"data":101396,"marks":101397,"value":101398,"nodeType":864},{},[],"For example, at the time of writing this particular Worker had been up for at least two days and was currently only triggering 1 detection on VirusTotal. ",{"data":101400,"content":101404,"nodeType":996},{"target":101401},{"sys":101402},{"id":101403,"type":1001,"linkType":1002},"1mIOpDtmgcMasK6dEhRHsm",[],{"data":101406,"content":101407,"nodeType":860},{},[101408],{"data":101409,"marks":101410,"value":101411,"nodeType":864},{},[],"One key takeaway is that it’s near impossible to stay on top of all the phishing servers on the internet. Even the untargeted mass campaigns will initially be missed by TI feeds, let alone the targeted ones. ",{"data":101413,"content":101414,"nodeType":860},{},[101415,101419,101427],{"data":101416,"marks":101417,"value":101418,"nodeType":864},{},[],"The best foot forward for resilience against these attacks is through the use of domain-bound MFA methods like WebAuthn. Common MFA methods like OTPs, SMS, push notifications etc. are routinely bypassed using ",{"data":101420,"content":101421,"nodeType":883},{"uri":48106},[101422],{"data":101423,"marks":101424,"value":101426,"nodeType":864},{},[101425],{"type":1455},"AitM techniques that proxy the MFA authentication as well",{"data":101428,"marks":101429,"value":101430,"nodeType":864},{},[],". Even if you are one of the few who use phishing-resistant MFA methods like WebAuthn or other passkeys, the devil is in the detail and we’ve seen MFA downgrade attacks being used to bypass them by choosing a phishable method that’s also active.",{"data":101432,"content":101436,"nodeType":996},{"target":101433},{"sys":101434},{"id":101435,"type":1001,"linkType":1002},"17lSgRFD6fDzRUn9eOHJg6",[],{"data":101438,"content":101439,"nodeType":1009},{},[101440],{"data":101441,"marks":101442,"value":101443,"nodeType":864},{},[],"P.S. How did we detect this?",{"data":101445,"content":101446,"nodeType":860},{},[101447,101451,101456,101460,101468],{"data":101448,"marks":101449,"value":101450,"nodeType":864},{},[],"After all that, you might be wondering how we managed to automate a process to generically pass through all these detection evasion techniques – ",{"data":101452,"marks":101453,"value":101455,"nodeType":864},{},[101454],{"type":899},"well the short answer is: We didn’t.",{"data":101457,"marks":101458,"value":101459,"nodeType":864},{},[]," Instead, we detected the act of an employee ",{"data":101461,"content":101462,"nodeType":883},{"uri":47989},[101463],{"data":101464,"marks":101465,"value":101467,"nodeType":864},{},[101466],{"type":1455},"attempting to put their Microsoft password into a website that wasn’t Microsoft",{"data":101469,"marks":101470,"value":2924,"nodeType":864},{},[],{"data":101472,"content":101473,"nodeType":860},{},[101474],{"data":101475,"marks":101476,"value":101477,"nodeType":864},{},[],"The TTP for phishing is effectively “trick someone into putting their valid credentials into the wrong site” – so detecting that behavior directly (the action of entering a legit password into the wrong site) can be a lot simpler and more effective than playing the cat-and-mouse detection → detection-evasion game.",{"data":101479,"content":101480,"nodeType":860},{},[101481],{"data":101482,"marks":101483,"value":101484,"nodeType":864},{},[],"Having said that, if you’re interested, here are the domain IOCs for this campaign:",{"data":101486,"content":101487,"nodeType":860},{},[101488],{"data":101489,"marks":101490,"value":101492,"nodeType":864},{},[101491],{"type":101020},"226028cc[.]502f135e3e036e726fba22d4[.]workers[.]dev\nacevoorgukmembership[.]buzz\nalerteditorroyalsocietyorgnz[.]buzz\nandymarshallsgeniuslocidigestghostiomghostio[.]buzz\nblogresponseinsperitycom[.]buzz\ncampaigneventbritecomnoreply[.]buzz\ncharityexcellencer1technologytrustnewsorg[.]buzz\nclerkenwelldesignweekcomnoreply[.]buzz\nconfirminfothetrainlinecomauto[.]buzz\nhealthestatejournalcomnoreply[.]buzz\nmentalhealthdesignandbuildcomnoreply[.]buzz\nnoreplynotificationswhoopcom[.]buzz\nstepexhibitionscomeventsupport[.]buzz\ntheathletice1theathleticcom[.]buzz\nthekakahoonssubstackcom[.]buzz","How AitM phishing kits evade detection","Taking a closer look at the steps that AitM phishing kits take to hide from the prying eyes of security teams and threat intelligence vendors.","2024-07-23T00:00:00.000Z","how-aitm-phishing-kits-evade-detection",{"items":101498},[101499,101501],{"sys":101500,"name":342},{"id":6596},{"sys":101502,"name":6593},{"id":6592},{"items":101504},[101505],{"fullName":4949,"firstName":4950,"jobTitle":4951,"profilePicture":101506},{"url":4955},{"__typename":2059,"sys":101508,"content":101510,"title":102289,"synopsis":102290,"hashTags":59,"publishedDate":102291,"slug":102292,"tagsCollection":102293,"authorsCollection":102299},{"id":101509},"6VZQJzQ2FNetGNMEjiuXB2",{"json":101511},{"data":101512,"content":101513,"nodeType":856},{},[101514,101521,101528,101535,101542,101549,101556,101562,101579,101586,101629,101636,101643,101683,101703,101710,101717,101724,101744,101762,101769,101802,101809,101829,101836,101843,101873,101893,101900,101905,101912,101919,101926,101933,101940,101947,101954,101961,101968,101975,101982,101989,102005,102012,102081,102088,102095,102124,102139,102146,102153,102160,102193,102213,102220,102227,102234,102241,102260,102277,102283],{"data":101515,"content":101516,"nodeType":860},{},[101517],{"data":101518,"marks":101519,"value":101520,"nodeType":864},{},[],"Our goal at Push is simple — to stop identity attacks. Today, the vast majority of identity vulnerabilities exist in the context of SaaS apps. ",{"data":101522,"content":101523,"nodeType":860},{},[101524],{"data":101525,"marks":101526,"value":101527,"nodeType":864},{},[],"The reasons for this are clear: Security teams have reduced central oversight and control over SaaS apps than they are used to, these apps exist in large numbers per company, and the identities that are used to access these apps are... complicated, to say the least. Securing hundreds of apps, with thousands of associated identities, is therefore no mean feat. ",{"data":101529,"content":101530,"nodeType":860},{},[101531],{"data":101532,"marks":101533,"value":101534,"nodeType":864},{},[],"Securing SaaS use means building controls that are easy to use, easy to understand — and ultimately effective. Not just effective against the hand-wavy concept of “SaaS attacks,” but specific techniques — the most common techniques that are likely to cause real damage.",{"data":101536,"content":101537,"nodeType":860},{},[101538],{"data":101539,"marks":101540,"value":101541,"nodeType":864},{},[],"To talk about this, we need to have a shared understanding of what these techniques are. To get that conversation going, we’ve pulled together all the techniques we're aware of, and our research team has even added a bunch of new ones.",{"data":101543,"content":101544,"nodeType":1009},{},[101545],{"data":101546,"marks":101547,"value":101548,"nodeType":864},{},[],"The SaaS attack matrix",{"data":101550,"content":101551,"nodeType":860},{},[101552],{"data":101553,"marks":101554,"value":101555,"nodeType":864},{},[],"We’ve taken inspiration from the MITRE ATT&CK framework (certainly intended as the sincerest form of flattery), but wanted to make a conscious break away from the endpoint-focused ATT&CK techniques and instead focus on techniques that are SaaS-specific. In fact, these techniques don’t touch endpoints (so they bypass EDR) or customer networks (so they bypass network detection) — so we’re calling them networkless attacks.",{"data":101557,"content":101561,"nodeType":996},{"target":101558},{"sys":101559},{"id":101560,"type":1001,"linkType":1002},"768Zv5gTVHyu5rbzJAzL4F",[],{"data":101563,"content":101564,"nodeType":860},{},[101565,101569,101576],{"data":101566,"marks":101567,"value":101568,"nodeType":864},{},[],"You can find more detailed descriptions of these techniques (and hopefully PRs for some we missed) on ",{"data":101570,"content":101571,"nodeType":883},{"uri":6418},[101572],{"data":101573,"marks":101574,"value":6423,"nodeType":864},{},[101575],{"type":1455},{"data":101577,"marks":101578,"value":2924,"nodeType":864},{},[],{"data":101580,"content":101581,"nodeType":860},{},[101582],{"data":101583,"marks":101584,"value":101585,"nodeType":864},{},[],"Since we’re not targeting endpoints, let’s talk about the new targets: The accounts/identities on SaaS apps. We found it was useful to think about these identities not as standalone isolated islands — but much more like a graph; less a single web-server on the internet and more like many Windows endpoints on an Active Directory. ",{"data":101587,"content":101588,"nodeType":860},{},[101589,101593,101601,101604,101613,101617,101625],{"data":101590,"marks":101591,"value":101592,"nodeType":864},{},[],"You can leverage this access to an identity on a trusted platform to target (so laterally move or escalate privilege to) other users or identities. For example, attacks like using access to SaaS apps to ",{"data":101594,"content":101595,"nodeType":883},{"uri":49829},[101596],{"data":101597,"marks":101598,"value":101600,"nodeType":864},{},[101599],{"type":1455},"phish other employees through comments",{"data":101602,"marks":101603,"value":902,"nodeType":864},{},[],{"data":101605,"content":101607,"nodeType":883},{"uri":101606},"https://github.com/pushsecurity/saas-attacks/blob/main/techniques/im_user_spoofing/description.md",[101608],{"data":101609,"marks":101610,"value":101612,"nodeType":864},{},[101611],{"type":1455},"spoofing users on IM platforms",{"data":101614,"marks":101615,"value":101616,"nodeType":864},{},[]," to social engineer them there — or perhaps ",{"data":101618,"content":101619,"nodeType":883},{"uri":96411},[101620],{"data":101621,"marks":101622,"value":101624,"nodeType":864},{},[101623],{"type":1455},"backdooring links",{"data":101626,"marks":101627,"value":101628,"nodeType":864},{},[]," in documents.",{"data":101630,"content":101631,"nodeType":860},{},[101632],{"data":101633,"marks":101634,"value":101635,"nodeType":864},{},[],"In this case, unusually, it’s not the data in these hundreds of SaaS apps that create risk, and you need to consider low-risk (from a data perspective) apps as a vector to pivot to higher-risk apps in your estate.",{"data":101637,"content":101638,"nodeType":1312},{},[101639],{"data":101640,"marks":101641,"value":101642,"nodeType":864},{},[],"Initial access and poisoned tenants",{"data":101644,"content":101645,"nodeType":860},{},[101646,101650,101657,101660,101667,101671,101679],{"data":101647,"marks":101648,"value":101649,"nodeType":864},{},[],"Attacks like ",{"data":101651,"content":101652,"nodeType":883},{"uri":87924},[101653],{"data":101654,"marks":101655,"value":87930,"nodeType":864},{},[101656],{"type":1455},{"data":101658,"marks":101659,"value":902,"nodeType":864},{},[],{"data":101661,"content":101662,"nodeType":883},{"uri":95797},[101663],{"data":101664,"marks":101665,"value":95802,"nodeType":864},{},[101666],{"type":1455},{"data":101668,"marks":101669,"value":101670,"nodeType":864},{},[]," that get you initial access to SaaS apps are fairly well known — because they work and are widely used. We’re also starting to see tools and attacks that suggest that ",{"data":101672,"content":101673,"nodeType":883},{"uri":96459},[101674],{"data":101675,"marks":101676,"value":101678,"nodeType":864},{},[101677],{"type":1455},"phishing employees through these IM apps",{"data":101680,"marks":101681,"value":101682,"nodeType":864},{},[]," is about to go mainstream.",{"data":101684,"content":101685,"nodeType":860},{},[101686,101690,101699],{"data":101687,"marks":101688,"value":101689,"nodeType":864},{},[],"Another interesting attack is a spin on the classic waterhole attack called a ",{"data":101691,"content":101693,"nodeType":883},{"uri":101692},"https://github.com/pushsecurity/saas-attacks/blob/main/techniques/poisoned_tenants/description.md",[101694],{"data":101695,"marks":101696,"value":101698,"nodeType":864},{},[101697],{"type":1455},"poisoned tenant",{"data":101700,"marks":101701,"value":101702,"nodeType":864},{},[],". Rather than attacking a customer tenant for a SaaS app, the attacker lures employees into joining an attacker-controlled tenant. ",{"data":101704,"content":101705,"nodeType":860},{},[101706],{"data":101707,"marks":101708,"value":101709,"nodeType":864},{},[],"SaaS apps allow anyone to name app tenants (a.k.a. spaces, teams, or instances) anything they like — including your company name. Attackers send invites to your employees from within the app with a customized message explaining why they should join this new tenant (or sign up to the app if they are not already a user). ",{"data":101711,"content":101712,"nodeType":860},{},[101713],{"data":101714,"marks":101715,"value":101716,"nodeType":864},{},[],"Attackers might even pay for premium licenses in the app to further entice employees to join. The attacker then waits for the employee to upload sensitive data or create integrations with other company apps containing crown jewels.",{"data":101718,"content":101719,"nodeType":1312},{},[101720],{"data":101721,"marks":101722,"value":101723,"nodeType":864},{},[],"Living-off-the-(SaaS)-land to persist and avoid detection",{"data":101725,"content":101726,"nodeType":860},{},[101727,101731,101740],{"data":101728,"marks":101729,"value":101730,"nodeType":864},{},[],"In the endpoint world, a favorite technique is the use of legit OS utilities or ",{"data":101732,"content":101734,"nodeType":883},{"uri":101733},"https://lolbas-project.github.io",[101735],{"data":101736,"marks":101737,"value":101739,"nodeType":864},{},[101738],{"type":1455},"LOLBaS",{"data":101741,"marks":101742,"value":101743,"nodeType":864},{},[]," (Living-Off-the-Land Binaries and Scripts), which are often signed Microsoft utilities. Perhaps the most well-known example is executing scripts through PowerShell rather than building custom malware. That isn’t as useful these days, but there was a time when PowerShell was routinely used to bypass AV, EDR, and even app allow-listing.",{"data":101745,"content":101746,"nodeType":860},{},[101747,101751,101758],{"data":101748,"marks":101749,"value":101750,"nodeType":864},{},[],"In that same living-off-the-land mindset, an attacker trying to maintain access to each SaaS app they compromise using custom OAuth integration apps might instead choose to use legit SaaS apps that specialize in workflow automation to create ",{"data":101752,"content":101753,"nodeType":883},{"uri":61891},[101754],{"data":101755,"marks":101756,"value":61897,"nodeType":864},{},[101757],{"type":1455},{"data":101759,"marks":101760,"value":101761,"nodeType":864},{},[],". Utilizing legit SaaS apps also means they can hide in plain sight from incident responders, instead of having to rely on unverified or unpublished integrations.",{"data":101763,"content":101764,"nodeType":860},{},[101765],{"data":101766,"marks":101767,"value":101768,"nodeType":864},{},[],"Perhaps the best example here is using a well-known automation app like Zapier, which claims to have more than 5,000 integrations. These integrations are often verified, approved, and connected to a trusted vendor (Zapier). An attacker might create workflows to:",{"data":101770,"content":101771,"nodeType":941},{},[101772,101782,101792],{"data":101773,"content":101774,"nodeType":945},{},[101775],{"data":101776,"content":101777,"nodeType":860},{},[101778],{"data":101779,"marks":101780,"value":101781,"nodeType":864},{},[],"Do daily data exfiltration from a victim’s data lake.",{"data":101783,"content":101784,"nodeType":945},{},[101785],{"data":101786,"content":101787,"nodeType":860},{},[101788],{"data":101789,"marks":101790,"value":101791,"nodeType":864},{},[],"Configure a webhook that adds malicious accounts to a Github repo on demand.",{"data":101793,"content":101794,"nodeType":945},{},[101795],{"data":101796,"content":101797,"nodeType":860},{},[101798],{"data":101799,"marks":101800,"value":101801,"nodeType":864},{},[],"Automatically find and replace bank account numbers in emails to the finance team.",{"data":101803,"content":101804,"nodeType":860},{},[101805],{"data":101806,"marks":101807,"value":101808,"nodeType":864},{},[],"All appear as legitimate Zapier integrations. But, before you put in alerts specifically for Zapier, know that it’s one of dozens of apps that support these kinds of offensive workflows.",{"data":101810,"content":101811,"nodeType":860},{},[101812,101816,101825],{"data":101813,"marks":101814,"value":101815,"nodeType":864},{},[],"A sneaky attacker might go further and use an ",{"data":101817,"content":101819,"nodeType":883},{"uri":101818},"https://github.com/pushsecurity/saas-attacks/blob/main/techniques/evil_twin_integrations/description.md",[101820],{"data":101821,"marks":101822,"value":101824,"nodeType":864},{},[101823],{"type":1455},"evil twin integration",{"data":101826,"marks":101827,"value":101828,"nodeType":864},{},[]," to make another instance of an existing integration — making this backdoor almost impossible to discover.",{"data":101830,"content":101831,"nodeType":1312},{},[101832],{"data":101833,"marks":101834,"value":101835,"nodeType":864},{},[],"Features or vulnerabilities?",{"data":101837,"content":101838,"nodeType":860},{},[101839],{"data":101840,"marks":101841,"value":101842,"nodeType":864},{},[],"When looking for attack techniques, you’re typically going after features that have weaknesses you can abuse rather than bugs in a single app that will be patched. ",{"data":101844,"content":101845,"nodeType":860},{},[101846,101850,101859,101862,101869],{"data":101847,"marks":101848,"value":101849,"nodeType":864},{},[],"It’s pretty common for SaaS apps to skip email verification or allow multiple simultaneous authentication methods. Both of these are conscious design choices in the name of lowering the friction of account creation and reducing customer support. However, these features make techniques like ",{"data":101851,"content":101853,"nodeType":883},{"uri":101852},"https://github.com/pushsecurity/saas-attacks/blob/main/techniques/account_ambushing/description.md",[101854],{"data":101855,"marks":101856,"value":101858,"nodeType":864},{},[101857],{"type":1455},"account ambushing",{"data":101860,"marks":101861,"value":902,"nodeType":864},{},[],{"data":101863,"content":101864,"nodeType":883},{"uri":26784},[101865],{"data":101866,"marks":101867,"value":17706,"nodeType":864},{},[101868],{"type":1455},{"data":101870,"marks":101871,"value":101872,"nodeType":864},{},[]," possible. If these attacks become widespread, these might come to be seen more as bugs rather than a positive feature for users.",{"data":101874,"content":101875,"nodeType":860},{},[101876,101880,101889],{"data":101877,"marks":101878,"value":101879,"nodeType":864},{},[],"In other cases, the bugs are serious enough and hard enough to patch that they’re worth noting as a technique. The recently disclosed (and perfectly named) ",{"data":101881,"content":101883,"nodeType":883},{"uri":101882},"https://www.descope.com/blog/post/noauth",[101884],{"data":101885,"marks":101886,"value":101888,"nodeType":864},{},[101887],{"type":1455},"nOAuth",{"data":101890,"marks":101891,"value":101892,"nodeType":864},{},[]," bug fits this bill. ",{"data":101894,"content":101895,"nodeType":860},{},[101896],{"data":101897,"marks":101898,"value":101899,"nodeType":864},{},[],"The bug arises from a confusion between an email identity and email metadata field in Microsoft integrations and without a central fix from MS (the fix isn’t trivial), these bugs are likely to be discovered and re-occur on third-party OAuth apps for a while to come.",{"data":101901,"content":101904,"nodeType":996},{"target":101902},{"sys":101903},{"id":92011,"type":1001,"linkType":1002},[],{"data":101906,"content":101907,"nodeType":1009},{},[101908],{"data":101909,"marks":101910,"value":101911,"nodeType":864},{},[],"The SaaS market is driving these offensive techniques",{"data":101913,"content":101914,"nodeType":860},{},[101915],{"data":101916,"marks":101917,"value":101918,"nodeType":864},{},[],"SaaS apps are basically web apps that are run in the cloud and accessed from endpoints, so then WebApp, endpoint, and cloud security should cover all of SaaS, right? ",{"data":101920,"content":101921,"nodeType":860},{},[101922],{"data":101923,"marks":101924,"value":101925,"nodeType":864},{},[],"That was our assumption when we started, but what we found instead was that SaaS marketing practices are driving a lot of pretty interesting techniques that you don’t run into in standalone web apps.",{"data":101927,"content":101928,"nodeType":1312},{},[101929],{"data":101930,"marks":101931,"value":101932,"nodeType":864},{},[],"Modern SaaS is easy to adopt, easy to use, low friction, low cost, low overhead",{"data":101934,"content":101935,"nodeType":860},{},[101936],{"data":101937,"marks":101938,"value":101939,"nodeType":864},{},[],"Making apps easy to sign up for and low effort to support means you need to make some interesting choices when it comes to designing account creation and recovery flows. ",{"data":101941,"content":101942,"nodeType":860},{},[101943],{"data":101944,"marks":101945,"value":101946,"nodeType":864},{},[],"Many apps allow users to sign into apps using multiple methods, easily invite collaborators (internal and external) and avoid any additional friction during the signup process. ",{"data":101948,"content":101949,"nodeType":860},{},[101950],{"data":101951,"marks":101952,"value":101953,"nodeType":864},{},[],"For example, many apps avoid verifying new account email addresses. This is not laziness, these are conscious design choices — not driven by security clearly, but not accidents.",{"data":101955,"content":101956,"nodeType":1312},{},[101957],{"data":101958,"marks":101959,"value":101960,"nodeType":864},{},[],"Modern SaaS is highly integrated",{"data":101962,"content":101963,"nodeType":860},{},[101964],{"data":101965,"marks":101966,"value":101967,"nodeType":864},{},[],"Most SaaS apps are trying to build app marketplaces or perform well in other apps' marketplaces (often both), and it’s rare these days to find apps that don’t integrate with other apps. ",{"data":101969,"content":101970,"nodeType":860},{},[101971],{"data":101972,"marks":101973,"value":101974,"nodeType":864},{},[],"OAuth has become the de facto standard protocol for doing this, and most users have become quite used to approving OAuth2.0 consent flows. These integrations have opened up lots of incredibly useful doors for attackers to persist access and move laterally across SaaS apps that few incident response teams have run into yet. These tokens don’t expire when you reset passwords, aren’t protected by MFA, and actions they performed are rarely logged. ",{"data":101976,"content":101977,"nodeType":860},{},[101978],{"data":101979,"marks":101980,"value":101981,"nodeType":864},{},[],"These are not bugs or oversights but rather a consequence of how these APIs are intended to be used (by machines, not human adversaries).",{"data":101983,"content":101984,"nodeType":1009},{},[101985],{"data":101986,"marks":101987,"value":101988,"nodeType":864},{},[],"Problems with observing SaaS attacks ",{"data":101990,"content":101991,"nodeType":860},{},[101992,101996,102001],{"data":101993,"marks":101994,"value":101995,"nodeType":864},{},[],"This research begs one question above others: ",{"data":101997,"marks":101998,"value":102000,"nodeType":864},{},[101999],{"type":2246},"“Are we seeing these attacks in the wild?",{"data":102002,"marks":102003,"value":102004,"nodeType":864},{},[],"” ",{"data":102006,"content":102007,"nodeType":1312},{},[102008],{"data":102009,"marks":102010,"value":102011,"nodeType":864},{},[],"Yes, definitely",{"data":102013,"content":102014,"nodeType":860},{},[102015,102019,102028,102031,102040,102044,102053,102056,102064,102068,102077],{"data":102016,"marks":102017,"value":102018,"nodeType":864},{},[],"For some of the better-known techniques, like credential stuffing and email phishing, the answer is an easy yes. Stats from ",{"data":102020,"content":102022,"nodeType":883},{"uri":102021},"https://www.microsoft.com/en-us/security/blog/2023/05/04/how-microsoft-can-help-you-go-passwordless-this-world-password-day/",[102023],{"data":102024,"marks":102025,"value":102027,"nodeType":864},{},[102026],{"type":1455},"Microsoft (1,287 password attacks every second)",{"data":102029,"marks":102030,"value":902,"nodeType":864},{},[],{"data":102032,"content":102034,"nodeType":883},{"uri":102033},"https://auth0.com/blog/top-insights-from-our-2022-state-of-secure-identity-report/",[102035],{"data":102036,"marks":102037,"value":102039,"nodeType":864},{},[102038],{"type":1455},"Auth0 (a third of their traffic is credential stuffing)",{"data":102041,"marks":102042,"value":102043,"nodeType":864},{},[]," speaks volumes. Other sources like the ",{"data":102045,"content":102047,"nodeType":883},{"uri":102046},"https://www.gov.uk/government/statistics/cyber-security-breaches-survey-2022/cyber-security-breaches-survey-2022",[102048],{"data":102049,"marks":102050,"value":102052,"nodeType":864},{},[102051],{"type":1455},"NCSC's Cyber Security Breaches Survey 2022",{"data":102054,"marks":102055,"value":35735,"nodeType":864},{},[],{"data":102057,"content":102058,"nodeType":883},{"uri":8628},[102059],{"data":102060,"marks":102061,"value":102063,"nodeType":864},{},[102062],{"type":1455},"Verizon 2023 Data Breach Investigations Report",{"data":102065,"marks":102066,"value":102067,"nodeType":864},{},[]," suggest that phishing is also a major cause of SaaS breaches. Anecdotal reports from colleagues in the Incident Response field suggest that malicious mail forwarding rules are seen a lot, something which is supported by the ",{"data":102069,"content":102071,"nodeType":883},{"uri":102070},"https://expel.com/expel-quarterly-threat-report/",[102072],{"data":102073,"marks":102074,"value":102076,"nodeType":864},{},[102075],{"type":1455},"Expel Quarterly Threat Report for Q1 2023",{"data":102078,"marks":102079,"value":102080,"nodeType":864},{},[]," (see page 6).",{"data":102082,"content":102083,"nodeType":860},{},[102084],{"data":102085,"marks":102086,"value":102087,"nodeType":864},{},[],"The takeaway is that the current focus for defenders should be to ensure users have good phishing-resistant account security in place — make sure you have basics like strong unique passwords and MFA in place across your entire SaaS estate.",{"data":102089,"content":102090,"nodeType":1312},{},[102091],{"data":102092,"marks":102093,"value":102094,"nodeType":864},{},[],"For newer OAuth attacks, it’s a lot less clear …",{"data":102096,"content":102097,"nodeType":860},{},[102098,102102,102107,102111,102120],{"data":102099,"marks":102100,"value":102101,"nodeType":864},{},[],"Other techniques like consent phishing have been discussed in some breach disclosures like the ",{"data":102103,"marks":102104,"value":102106,"nodeType":864},{},[102105],{"type":1455},"2020 SANS breach",{"data":102108,"marks":102109,"value":102110,"nodeType":864},{},[],". These OAuth techniques also pop up in the news (for example, the ",{"data":102112,"content":102114,"nodeType":883},{"uri":102113},"https://www.bleepingcomputer.com/news/security/github-how-stolen-oauth-tokens-helped-breach-dozens-of-orgs/",[102115],{"data":102116,"marks":102117,"value":102119,"nodeType":864},{},[102118],{"type":1455},"2022 Github/Heroku/Travis-CI breach",{"data":102121,"marks":102122,"value":102123,"nodeType":864},{},[]," where GitHub accounts were breached using stolen Heroku and Travis-CI OAuth tokens). ",{"data":102125,"content":102126,"nodeType":860},{},[102127,102131,102136],{"data":102128,"marks":102129,"value":102130,"nodeType":864},{},[],"That said, none of these techniques come up as frequently as their usefulness would suggest. This means one of two things: ",{"data":102132,"marks":102133,"value":102135,"nodeType":864},{},[102134],{"type":2246},"Either attackers aren’t yet using them widely, or they are and we aren’t detecting them",{"data":102137,"marks":102138,"value":2924,"nodeType":864},{},[],{"data":102140,"content":102141,"nodeType":860},{},[102142],{"data":102143,"marks":102144,"value":102145,"nodeType":864},{},[],"There is certainly a case to be made that attackers simply don’t need these newer techniques yet. Many organizations don’t have a way of discovering SaaS use in their organization yet, never mind breached accounts, so new persistence techniques might be a bit more than necessary at the moment.",{"data":102147,"content":102148,"nodeType":1312},{},[102149],{"data":102150,"marks":102151,"value":102152,"nodeType":864},{},[],"But would we know if it was happening?",{"data":102154,"content":102155,"nodeType":860},{},[102156],{"data":102157,"marks":102158,"value":102159,"nodeType":864},{},[],"On the other hand, there is certainly the possibility that these attacks are increasingly used, but are simply not being discovered. A strong argument in favor of this view is the difficulty in investigating these attacks. Very few SaaS apps provide enough logging capability to discover these attacks as a customer. This is true even for the biggest, most mature apps like Office 365 and Google Workspace unless you are on top license tiers. This is doubly true for attacks that use OAuth, with many apps providing no insight or details into actions made using OAuth-authenticated APIs. ",{"data":102161,"content":102162,"nodeType":860},{},[102163,102167,102176,102180,102189],{"data":102164,"marks":102165,"value":102166,"nodeType":864},{},[],"This suggests only the SaaS providers for these apps are really in a position to discover and investigate them. This does ring true when you consider that ",{"data":102168,"content":102170,"nodeType":883},{"uri":102169},"https://blog.heroku.com/april-2022-incident-review",[102171],{"data":102172,"marks":102173,"value":102175,"nodeType":864},{},[102174],{"type":1455},"Heroku",{"data":102177,"marks":102178,"value":102179,"nodeType":864},{},[]," relied heavily on Github during the investigation (and in one case even the detection of) their 2022 breaches, and the same seems true for a similar breach affecting ",{"data":102181,"content":102183,"nodeType":883},{"uri":102182},"https://circleci.com/blog/jan-4-2023-incident-report/",[102184],{"data":102185,"marks":102186,"value":102188,"nodeType":864},{},[102187],{"type":1455},"CircleCI",{"data":102190,"marks":102191,"value":102192,"nodeType":864},{},[]," later that year. Github and CircleCI’s customers prompted the investigation after seeing strange behavior, but Github had access to the logs to investigate. It’s difficult to imagine that most or even many SaaS vendors have the resources or inclination to run these investigations effectively as GitHub appears to have.",{"data":102194,"content":102195,"nodeType":860},{},[102196,102200,102210],{"data":102197,"marks":102198,"value":102199,"nodeType":864},{},[],"So, are these attacks happening in the real world? My best guess is it’s a little bit of column A and a little bit of column B — there are likely not so many of these attacks happening yet, and when they do, I suspect the vast majority go undetected. ",{"data":102201,"content":102203,"nodeType":883},{"uri":102202},"https://www.youtube.com/watch?v=j95kNwZw8YY",[102204],{"data":102205,"marks":102206,"value":102209,"nodeType":864},{},[102207,102208],{"type":1455},{"type":2246},"But that’s just like my opinion, man.",{"data":102211,"marks":102212,"value":21,"nodeType":864},{},[],{"data":102214,"content":102215,"nodeType":860},{},[102216],{"data":102217,"marks":102218,"value":102219,"nodeType":864},{},[],"This is part of the reason we think enabling red teamers to try these techniques in anger is useful — this is the time-proven way to understand these risks.",{"data":102221,"content":102222,"nodeType":1009},{},[102223],{"data":102224,"marks":102225,"value":102226,"nodeType":864},{},[],"What’s next?",{"data":102228,"content":102229,"nodeType":860},{},[102230],{"data":102231,"marks":102232,"value":102233,"nodeType":864},{},[],"We’ve barely scratched the surface, but perhaps there is enough here to get the discussion going. From past experience, discussion may not be enough, and it’s likely that live offensive work like penetration tests or more likely red team exercises will be required to make the risks of using these techniques real for the wider security community. ",{"data":102235,"content":102236,"nodeType":860},{},[102237],{"data":102238,"marks":102239,"value":102240,"nodeType":864},{},[],"After all, seeing is believing. We think some more practical examples and tools to help red  teamers use these techniques on engagements will help drive awareness forward, so we’ll be looking to build out this content.",{"data":102242,"content":102243,"nodeType":860},{},[102244,102248,102257],{"data":102245,"marks":102246,"value":102247,"nodeType":864},{},[],"We’ve started with pure networkless attacks that don’t touch customer networks or endpoints, but there are many useful techniques to connect the old endpoint world to the SaaS world. Consider stealing OAuth tokens from a thick client on an endpoint, or using a ",{"data":102249,"content":102251,"nodeType":883},{"uri":102250},"https://github.blog/2023-07-18-security-alert-social-engineering-campaign-targets-technology-industry-employees/",[102252],{"data":102253,"marks":102254,"value":102256,"nodeType":864},{},[102255],{"type":1455},"backdoored GitHub repo to get code execution on endpoints",{"data":102258,"marks":102259,"value":2924,"nodeType":864},{},[],{"data":102261,"content":102262,"nodeType":860},{},[102263,102267,102274],{"data":102264,"marks":102265,"value":102266,"nodeType":864},{},[],"Help us all better understand how widespread these attacks are by sharing some war stories. We’d love some comments, discussions, or PRs on ",{"data":102268,"content":102269,"nodeType":883},{"uri":6418},[102270],{"data":102271,"marks":102272,"value":6423,"nodeType":864},{},[102273],{"type":1455},{"data":102275,"marks":102276,"value":96674,"nodeType":864},{},[],{"data":102278,"content":102282,"nodeType":996},{"target":102279},{"sys":102280},{"id":102281,"type":1001,"linkType":1002},"2y0INxqAi594O7rCAVKhTI",[],{"data":102284,"content":102285,"nodeType":860},{},[102286],{"data":102287,"marks":102288,"value":21,"nodeType":864},{},[],"Let’s talk about SaaS attack techniques","Offensive security drives defensive security. We're sharing a collection of SaaS attack techniques to help defenders understand the threats they face.","2023-07-27T00:00:00.000Z","saas-attack-techniques",{"items":102294},[102295,102297],{"sys":102296,"name":6593},{"id":6592},{"sys":102298,"name":342},{"id":6596},{"items":102300},[102301],{"fullName":38408,"firstName":38409,"jobTitle":38410,"profilePicture":102302},{"url":38412},"blog/how-to-prevent-account-takeover-with-push",{"json":102305},{"data":102306,"content":102307,"nodeType":856},{},[102308],{"data":102309,"content":102310,"nodeType":860},{},[102311],{"data":102312,"marks":102313,"value":102314,"nodeType":864},{},[],"How Push controls stop attackers from using identity attack tools and techniques to compromise your employee user accounts. ",{"id":93956,"publishedAt":102316},"2026-08-12T11:55:02.849Z",{"items":102318},[102319,102321],{"sys":102320,"name":342},{"id":6596},{"sys":102322,"name":6593},{"id":6592},{"items":102324},[102325,102327,102329,102331,102333,102335,102337,102339,102341,102343,102345,102347,102349,102351,102353,102355,102357,102359,102361],{"sys":102326,"name":413,"slug":414,"tier":31},{"id":410},{"sys":102328,"name":297,"slug":298,"tier":31},{"id":294},{"sys":102330,"name":279,"slug":280,"tier":31},{"id":276},{"sys":102332,"name":519,"slug":520,"tier":31},{"id":516},{"sys":102334,"name":342,"slug":343,"tier":31},{"id":339},{"sys":102336,"name":545,"slug":546,"tier":31},{"id":542},{"sys":102338,"name":333,"slug":334,"tier":45},{"id":330},{"sys":102340,"name":571,"slug":572,"tier":45},{"id":568},{"sys":102342,"name":261,"slug":262,"tier":45},{"id":258},{"sys":102344,"name":404,"slug":405,"tier":45},{"id":401},{"sys":102346,"name":502,"slug":503,"tier":45},{"id":499},{"sys":102348,"name":422,"slug":423,"tier":45},{"id":419},{"sys":102350,"name":457,"slug":458,"tier":45},{"id":454},{"sys":102352,"name":324,"slug":325,"tier":45},{"id":321},{"sys":102354,"name":395,"slug":396,"tier":45},{"id":392},{"sys":102356,"name":466,"slug":467,"tier":45},{"id":463},{"sys":102358,"name":589,"slug":590,"tier":45},{"id":586},{"sys":102360,"name":351,"slug":352,"tier":45},{"id":348},{"sys":102362,"name":475,"slug":476,"tier":45},{"id":472},"oyWsukrdpBbJa0Ug2GJSzBytbo4S12Lc25W7EZkerKw",{"id":102365,"title":102366,"authorsCollection":102367,"content":102372,"extension":228,"faqItemsCollection":103755,"faqTitle":59,"featured":6,"hashTags":59,"meta":103757,"metaTitle":103758,"ogImage":59,"postType":9326,"publishedDate":103759,"relatedBlogPostsCollection":103760,"slug":108136,"stem":108137,"subtitle":59,"summary":108138,"synopsis":108156,"sys":108157,"tagsCollection":108160,"topicsCollection":108166,"__hash__":108212},"blog/blog/5-reasons-why-push-security-shouldnt-exist.json","5 reasons why Push Security shouldn’t exist",{"items":102368},[102369],{"fullName":2736,"firstName":2737,"jobTitle":2738,"socialLinks":102370,"profilePicture":102371},[11304],{"url":2740},{"json":102373,"links":103733},{"data":102374,"content":102375,"nodeType":856},{},[102376,102396,102402,102409,102416,102437,102444,102447,102454,102461,102468,102475,102562,102569,102659,102667,102674,102681,102689,102692,102699,102706,102713,102742,102775,102803,102810,102817,102847,102854,102886,102893,102921,102928,102935,102962,102974,102981,103000,103030,103042,103045,103052,103072,103084,103102,103117,103124,103142,103172,103191,103198,103205,103223,103230,103238,103241,103248,103255,103293,103301,103308,103315,103322,103406,103430,103437,103444,103456,103475,103487,103490,103497,103504,103567,103585,103591,103594,103601,103630,103637,103644,103722,103727],{"data":102377,"content":102378,"nodeType":860},{},[102379,102383,102392],{"data":102380,"marks":102381,"value":102382,"nodeType":864},{},[],"If you caught ",{"data":102384,"content":102386,"nodeType":883},{"uri":102385},"https://cisoseries.com/securing-identities-in-the-cloud/",[102387],{"data":102388,"marks":102389,"value":102391,"nodeType":864},{},[102390],{"type":1455},"our CEO Adam’s recent appearance on the Defense in Depth podcast",{"data":102393,"marks":102394,"value":102395,"nodeType":864},{},[]," you’ll have heard some top-tier banter between Geoff and David on the problem of identity security – and how, in Geoff’s words, “way too many people” think they’ve got it covered when it comes to identity attacks.",{"data":102397,"content":102401,"nodeType":996},{"target":102398},{"sys":102399},{"id":102400,"type":1001,"linkType":1002},"UcfFq2lOiMMJKaDfaNBqx",[],{"data":102403,"content":102404,"nodeType":860},{},[102405],{"data":102406,"marks":102407,"value":102408,"nodeType":864},{},[],"At Push, we’re constantly exploring the limits of controls against the latest threats. But naturally, security teams with hundreds of priorities can’t afford to dedicate the same amount of research time to this problem that we can. This means we come across a lot of common misconceptions about how controls like MFA, SSO and EDR perform against current identity attack techniques. ",{"data":102410,"content":102411,"nodeType":860},{},[102412],{"data":102413,"marks":102414,"value":102415,"nodeType":864},{},[],"These common misconceptions are severely impacting the ability of security teams to plan for, and defend against, identity-based attacks – giving attackers the window of opportunity they need to continue exploiting people and businesses. ",{"data":102417,"content":102418,"nodeType":860},{},[102419,102423,102428,102432],{"data":102420,"marks":102421,"value":102422,"nodeType":864},{},[],"So, we hope that this allows you a clearer perspective when building your identity security strategy, with a realistic view of what a particular control will give you – and what it won’t. ",{"data":102424,"marks":102425,"value":102427,"nodeType":864},{},[102426],{"type":899},"That isn’t to say you should discard any of these controls; they all have an important part to play! ",{"data":102429,"marks":102430,"value":102431,"nodeType":864},{},[],"But, it’s important to be aware of their limitations to be able to build a resilient security model, ",{"data":102433,"marks":102434,"value":102436,"nodeType":864},{},[102435],{"type":899},"with strategic defense in depth to compensate for known weaknesses. ",{"data":102438,"content":102439,"nodeType":860},{},[102440],{"data":102441,"marks":102442,"value":102443,"nodeType":864},{},[],"Without further ado, here are the top reasons why Push Security shouldn’t exist. ",{"data":102445,"content":102446,"nodeType":1005},{},[],{"data":102448,"content":102449,"nodeType":1009},{},[102450],{"data":102451,"marks":102452,"value":102453,"nodeType":864},{},[],"Reason 1: “Browser-based attacks aren’t a priority”",{"data":102455,"content":102456,"nodeType":860},{},[102457],{"data":102458,"marks":102459,"value":102460,"nodeType":864},{},[],"Particularly in the current economic climate, with many security teams feeling the squeeze, organizations often haven’t budgeted (mentally or financially) for a new kind of threat to factor into their modelling. ",{"data":102462,"content":102463,"nodeType":860},{},[102464],{"data":102465,"marks":102466,"value":102467,"nodeType":864},{},[],"We get it, now isn’t a great time to be tackling a new problem. Getting the budget to do the same as last year is difficult enough, never mind adding something new. ",{"data":102469,"content":102470,"nodeType":860},{},[102471],{"data":102472,"marks":102473,"value":102474,"nodeType":864},{},[],"But, there’s clear evidence that we're facing something a new kind of security problem. Modern attacks are consciously evading the network and endpoint, and are increasingly playing out entirely over the internet in the form of account takeover. ",{"data":102476,"content":102477,"nodeType":941},{},[102478,102499,102519,102541],{"data":102479,"content":102480,"nodeType":945},{},[102481],{"data":102482,"content":102483,"nodeType":860},{},[102484,102488,102495],{"data":102485,"marks":102486,"value":102487,"nodeType":864},{},[],"Stolen creds are the #1 breach vector in 79% of web app attacks (",{"data":102489,"content":102490,"nodeType":883},{"uri":4408},[102491],{"data":102492,"marks":102493,"value":27246,"nodeType":864},{},[102494],{"type":1455},{"data":102496,"marks":102497,"value":102498,"nodeType":864},{},[],").  ",{"data":102500,"content":102501,"nodeType":945},{},[102502],{"data":102503,"content":102504,"nodeType":860},{},[102505,102509,102516],{"data":102506,"marks":102507,"value":102508,"nodeType":864},{},[],"147,000 token replay attacks in 2023, 111% increase year-over-year (",{"data":102510,"content":102511,"nodeType":883},{"uri":81314},[102512],{"data":102513,"marks":102514,"value":23700,"nodeType":864},{},[102515],{"type":1455},{"data":102517,"marks":102518,"value":12285,"nodeType":864},{},[],{"data":102520,"content":102521,"nodeType":945},{},[102522],{"data":102523,"content":102524,"nodeType":860},{},[102525,102529,102538],{"data":102526,"marks":102527,"value":102528,"nodeType":864},{},[],"80% of attacks involve identity and compromised credentials (",{"data":102530,"content":102532,"nodeType":883},{"uri":102531},"https://www.crowdstrike.com/blog/relentless-threat-activity-puts-identities-in-the-crosshairs/",[102533],{"data":102534,"marks":102535,"value":102537,"nodeType":864},{},[102536],{"type":1455},"Crowdstrike",{"data":102539,"marks":102540,"value":102498,"nodeType":864},{},[],{"data":102542,"content":102543,"nodeType":945},{},[102544],{"data":102545,"content":102546,"nodeType":860},{},[102547,102551,102559],{"data":102548,"marks":102549,"value":102550,"nodeType":864},{},[],"4,000 password-based attacks per second observed (",{"data":102552,"content":102554,"nodeType":883},{"uri":102553},"https://www.microsoft.com/en-us/security/security-insider/microsoft-digital-defense-report-2023",[102555],{"data":102556,"marks":102557,"value":23700,"nodeType":864},{},[102558],{"type":1455},{"data":102560,"marks":102561,"value":22438,"nodeType":864},{},[],{"data":102563,"content":102564,"nodeType":860},{},[102565],{"data":102566,"marks":102567,"value":102568,"nodeType":864},{},[],"It’s also telling that the cyber crime ecosystem itself seems to be leaning toward the theft, sale, and use of stolen credentials (not just emails and passwords, but session tokens too). ",{"data":102570,"content":102571,"nodeType":941},{},[102572,102593,102615,102637],{"data":102573,"content":102574,"nodeType":945},{},[102575],{"data":102576,"content":102577,"nodeType":860},{},[102578,102581,102589],{"data":102579,"marks":102580,"value":21,"nodeType":864},{},[],{"data":102582,"content":102583,"nodeType":883},{"uri":4408},[102584],{"data":102585,"marks":102586,"value":102588,"nodeType":864},{},[102587],{"type":1455},"According to the 2024 DBIR",{"data":102590,"marks":102591,"value":102592,"nodeType":864},{},[],", more than 1000 credentials appear on criminal forums and marketplaces every day, with the majority (65%) appearing less than a day after first being discovered. ",{"data":102594,"content":102595,"nodeType":945},{},[102596],{"data":102597,"content":102598,"nodeType":860},{},[102599,102603,102611],{"data":102600,"marks":102601,"value":102602,"nodeType":864},{},[],"In June, ",{"data":102604,"content":102605,"nodeType":883},{"uri":81682},[102606],{"data":102607,"marks":102608,"value":102610,"nodeType":864},{},[102609],{"type":1455},"Troy Hunt at Have I Been Pwned (HIBP) wrote about the impact of channels like Telegram",{"data":102612,"marks":102613,"value":102614,"nodeType":864},{},[]," and the sale of combolists (username, password, login portal URL), after being sent 122GB of data scraped out of thousands of Telegram channels, containing 361M unique email addresses (of which 151M had never been seen in HIBP before). ",{"data":102616,"content":102617,"nodeType":945},{},[102618],{"data":102619,"content":102620,"nodeType":860},{},[102621,102625,102634],{"data":102622,"marks":102623,"value":102624,"nodeType":864},{},[],"In July, ",{"data":102626,"content":102628,"nodeType":883},{"uri":102627},"https://cybernews.com/security/rockyou2024-largest-password-compilation-leak/",[102629],{"data":102630,"marks":102631,"value":102633,"nodeType":864},{},[102632],{"type":1455},"10 billion passwords were leaked in the RockYou2024 compilation",{"data":102635,"marks":102636,"value":12252,"nodeType":864},{},[],{"data":102638,"content":102639,"nodeType":945},{},[102640],{"data":102641,"content":102642,"nodeType":860},{},[102643,102647,102655],{"data":102644,"marks":102645,"value":102646,"nodeType":864},{},[],"And ultimately, ",{"data":102648,"content":102649,"nodeType":883},{"uri":94029},[102650],{"data":102651,"marks":102652,"value":102654,"nodeType":864},{},[102653],{"type":1455},"high-profile breaches",{"data":102656,"marks":102657,"value":102658,"nodeType":864},{},[]," of Snowflake customers, Microsoft, Okta, and others reinforce the threat behind the numbers, all of which are the result of identity attacks. ",{"data":102660,"content":102661,"nodeType":860},{},[102662],{"data":102663,"marks":102664,"value":102666,"nodeType":864},{},[102665],{"type":899},"So, if a business uses any third-party provided web applications or services, then its workforce identities are the lowest-hanging fruit for attackers to pick, and the risk of account takeover should be high up on the risk register. ",{"data":102668,"content":102669,"nodeType":860},{},[102670],{"data":102671,"marks":102672,"value":102673,"nodeType":864},{},[],"Yes, it’s tough to redo budgets on the fly or rip up a five year plan. But, asymmetrical cyber TTPs have always sought to undermine the best laid plans of CISOs – attackers usually look in the places that defenders aren't. ",{"data":102675,"content":102676,"nodeType":860},{},[102677],{"data":102678,"marks":102679,"value":102680,"nodeType":864},{},[],"When looking at the evidence, is securing the identity attack surface really a lower priority than adding a CASB, CSPM, or shiny new AI tool? Even when we look at historical recurring spend on things like EDR or vulnerability management, it’s arguable that the risk of identity attacks has overtaken software-based exploits for many organizations whose traditional networks are shrinking, while their cloud app estate grows. ",{"data":102682,"content":102683,"nodeType":860},{},[102684],{"data":102685,"marks":102686,"value":102688,"nodeType":864},{},[102687],{"type":899},"It’s important to consider what’s right for your business, but the evidence shows us that securing the identity attack surface promises real risk reduction in the face of a genuine threat. ",{"data":102690,"content":102691,"nodeType":1005},{},[],{"data":102693,"content":102694,"nodeType":1009},{},[102695],{"data":102696,"marks":102697,"value":102698,"nodeType":864},{},[],"Reason 2: “Our business apps are all behind SSO”",{"data":102700,"content":102701,"nodeType":860},{},[102702],{"data":102703,"marks":102704,"value":102705,"nodeType":864},{},[],"SSO is often seen as a utopia where each employee has a single, secure digital identity that is used to access all of their work applications. When businesses are using SSO, we usually hear:",{"data":102707,"content":102708,"nodeType":1312},{},[102709],{"data":102710,"marks":102711,"value":102712,"nodeType":864},{},[],"“Everything is behind SSO, there are no apps outside of it.”",{"data":102714,"content":102715,"nodeType":860},{},[102716,102720,102729,102733,102738],{"data":102717,"marks":102718,"value":102719,"nodeType":864},{},[],"Unfortunately, organizations are always using more apps than they realize. The impact of ",{"data":102721,"content":102723,"nodeType":883},{"uri":102722},"https://productled.com/blog/product-led-growth-definition",[102724],{"data":102725,"marks":102726,"value":102728,"nodeType":864},{},[102727],{"type":1455},"product-led growth",{"data":102730,"marks":102731,"value":102732,"nodeType":864},{},[]," on the self adoption of cloud services is well documented, and we see that ",{"data":102734,"marks":102735,"value":102737,"nodeType":864},{},[102736],{"type":899},"even SMEs typically have 100+ apps in their estate",{"data":102739,"marks":102740,"value":102741,"nodeType":864},{},[],", and the number of apps per business continues to grow year on year. ",{"data":102743,"content":102744,"nodeType":860},{},[102745,102749,102754,102758,102762,102766,102771],{"data":102746,"marks":102747,"value":102748,"nodeType":864},{},[],"So, while every ",{"data":102750,"marks":102751,"value":102753,"nodeType":864},{},[102752],{"type":899},"known ",{"data":102755,"marks":102756,"value":102757,"nodeType":864},{},[],"app",{"data":102759,"marks":102760,"value":1171,"nodeType":864},{},[102761],{"type":899},{"data":102763,"marks":102764,"value":102765,"nodeType":864},{},[],"might be behind SSO, this still leaves tens or hundreds of ",{"data":102767,"marks":102768,"value":102770,"nodeType":864},{},[102769],{"type":899},"unknown",{"data":102772,"marks":102773,"value":102774,"nodeType":864},{},[]," apps, with thousands of associated identities. ",{"data":102776,"content":102777,"nodeType":860},{},[102778,102782,102787,102791,102799],{"data":102779,"marks":102780,"value":102781,"nodeType":864},{},[],"But even if you did know about every app, the fact of the matter is ",{"data":102783,"marks":102784,"value":102786,"nodeType":864},{},[102785],{"type":899},"that fewer than 1 in 3 apps actually support SAML SSO",{"data":102788,"marks":102789,"value":102790,"nodeType":864},{},[],", and many of those ",{"data":102792,"content":102793,"nodeType":883},{"uri":29107},[102794],{"data":102795,"marks":102796,"value":102798,"nodeType":864},{},[102797],{"type":1455},"only at the premium tier",{"data":102800,"marks":102801,"value":102802,"nodeType":864},{},[],". Our data shows that the proportion of apps actually behind SSO is even lower, at 1 in 5. So getting everything behind SSO just isn’t a realistic goal for any organization. ",{"data":102804,"content":102805,"nodeType":1312},{},[102806],{"data":102807,"marks":102808,"value":102809,"nodeType":864},{},[],"“Everything important is behind SSO, and the apps that aren’t don’t pose a risk.” ",{"data":102811,"content":102812,"nodeType":860},{},[102813],{"data":102814,"marks":102815,"value":102816,"nodeType":864},{},[],"There’s often a view that if it wasn’t centrally procured, IT wasn’t involved, and it’s not behind SSO, then it’s just not a concern. But apps can have complex integrations and permissions that increase the potential blast radius of an app compromise. ",{"data":102818,"content":102819,"nodeType":860},{},[102820,102824,102832,102836,102843],{"data":102821,"marks":102822,"value":102823,"nodeType":864},{},[],"We’ve published ",{"data":102825,"content":102826,"nodeType":883},{"uri":6418},[102827],{"data":102828,"marks":102829,"value":102831,"nodeType":864},{},[102830],{"type":1455},"extensive research on SaaS-native attack techniques",{"data":102833,"marks":102834,"value":102835,"nodeType":864},{},[]," and documented many of the scenarios in which attackers can expand from hijacking a single SaaS app with a small number of users into a larger-scale compromise, for example through ",{"data":102837,"content":102838,"nodeType":883},{"uri":5231},[102839],{"data":102840,"marks":102841,"value":5272,"nodeType":864},{},[102842],{"type":1455},{"data":102844,"marks":102845,"value":102846,"nodeType":864},{},[],": Modifying SAML for a compromised app to redirect users to a malicious domain during the authentication process that proxies a legitimate authentication service (e.g. Google, Okta or Microsoft) – effectively acting as a watering hole for further credential harvesting. ",{"data":102848,"content":102849,"nodeType":860},{},[102850],{"data":102851,"marks":102852,"value":102853,"nodeType":864},{},[],"Also, the value of an app is not necessarily tied to the number of users it has in the business. A sales and marketing app can contain huge amounts of sensitive data, as can developer apps – just look at Snowflake! It only takes a single account to be created, a single integration to be set up, to result in a major data breach down the line. ",{"data":102855,"content":102856,"nodeType":860},{},[102857,102861,102870,102873,102882],{"data":102858,"marks":102859,"value":102860,"nodeType":864},{},[],"You can check out our ",{"data":102862,"content":102864,"nodeType":883},{"uri":102863},"https://pushsecurity.com/blog/",[102865],{"data":102866,"marks":102867,"value":102869,"nodeType":864},{},[102868],{"type":1455},"blog page",{"data":102871,"marks":102872,"value":27405,"nodeType":864},{},[],{"data":102874,"content":102876,"nodeType":883},{"uri":102875},"https://www.youtube.com/watch?v=xZIQd_0v9sE&t=12s",[102877],{"data":102878,"marks":102879,"value":102881,"nodeType":864},{},[102880],{"type":1455},"watch one of our videos",{"data":102883,"marks":102884,"value":102885,"nodeType":864},{},[]," for more information.   ",{"data":102887,"content":102888,"nodeType":1312},{},[102889],{"data":102890,"marks":102891,"value":102892,"nodeType":864},{},[],"Ghost logins: A nightmare for SSO, dreamy for attackers",{"data":102894,"content":102895,"nodeType":860},{},[102896,102900,102905,102909,102917],{"data":102897,"marks":102898,"value":102899,"nodeType":864},{},[],"You might already be feeling a bit deflated that SSO isn’t going to give you everything you wanted, and we’re sorry to be the bearer of bad news. Unfortunately, ",{"data":102901,"marks":102902,"value":102904,"nodeType":864},{},[102903],{"type":899},"even if you are using SSO, additional login methods can still exist alongside SSO",{"data":102906,"marks":102907,"value":102908,"nodeType":864},{},[],". We call these ",{"data":102910,"content":102911,"nodeType":883},{"uri":26784},[102912],{"data":102913,"marks":102914,"value":17706,"nodeType":864},{},[102915,102916],{"type":1455},{"type":899},{"data":102918,"marks":102919,"value":12252,"nodeType":864},{},[102920],{"type":899},{"data":102922,"content":102923,"nodeType":860},{},[102924],{"data":102925,"marks":102926,"value":102927,"nodeType":864},{},[],"Ghost logins are effectively any alternative login method. In addition to SSO, you could have a local password, a social login (e.g., login with Google, Facebook, etc.), backup emails, or API-based login methods. ",{"data":102929,"content":102930,"nodeType":860},{},[102931],{"data":102932,"marks":102933,"value":102934,"nodeType":864},{},[],"Multiple methods are often enabled by default and need to be explicitly disabled at the app level. Further, migrating an existing app to SSO doesn’t automatically remove local accounts, but effectively adds an SSO layer on top. ",{"data":102936,"content":102937,"nodeType":860},{},[102938,102942,102947,102951,102959],{"data":102939,"marks":102940,"value":102941,"nodeType":864},{},[],"The final problem here is that because MFA is applied separately at the app level and SSO level, ",{"data":102943,"marks":102944,"value":102946,"nodeType":864},{},[102945],{"type":899},"you can have local logins without MFA, at the same time as SSO logins with MFA — that can be used concurrently.",{"data":102948,"marks":102949,"value":102950,"nodeType":864},{},[]," This was acutely felt during the recent Snowflake breaches, ",{"data":102952,"content":102953,"nodeType":883},{"uri":87669},[102954],{"data":102955,"marks":102956,"value":102958,"nodeType":864},{},[102957],{"type":1455},"where in-app identification and disabling of non-SSO logins proved to be particularly error-prone",{"data":102960,"marks":102961,"value":35977,"nodeType":864},{},[],{"data":102963,"content":102964,"nodeType":860},{},[102965,102969],{"data":102966,"marks":102967,"value":102968,"nodeType":864},{},[],"The result here is that credential stuffing attacks can still prove successful against your SSO-joined apps if local logins exist, and MFA hasn’t been specifically set at the app level. ",{"data":102970,"marks":102971,"value":102973,"nodeType":864},{},[102972],{"type":899},"And unless you’ve specifically disabled them and unset every non-SSO login for every app, they probably do. ",{"data":102975,"content":102976,"nodeType":1312},{},[102977],{"data":102978,"marks":102979,"value":102980,"nodeType":864},{},[],"The verdict: SSO is great, but it's no silver bullet",{"data":102982,"content":102983,"nodeType":860},{},[102984,102988,102996],{"data":102985,"marks":102986,"value":102987,"nodeType":864},{},[],"While SSO is invariably a beneficial security control, ",{"data":102989,"content":102991,"nodeType":883},{"uri":102990},"https://pushsecurity.com/blog/ghost-logins-when-forgotten-identities-come-back-to-haunt-you/#id-how-can-ghost-logins-be-abused-by-attackers_id-ghost-logins-for-persistence-and-defense-evasion",[102992],{"data":102993,"marks":102994,"value":102995,"nodeType":864},{},[],"attackers can also naturally exploit it to gain access to a large number of downstream applications",{"data":102997,"marks":102998,"value":102999,"nodeType":864},{},[],". If you compromise an IdP account like Okta, you can then access any connected app, often without requiring any further authentication.",{"data":103001,"content":103002,"nodeType":860},{},[103003,103007,103015,103018,103027],{"data":103004,"marks":103005,"value":103006,"nodeType":864},{},[],"We’ve seen this recently, with an ",{"data":103008,"content":103009,"nodeType":883},{"uri":73535},[103010],{"data":103011,"marks":103012,"value":103014,"nodeType":864},{},[103013],{"type":1455},"unprecedented spike in credential stuffing attacks reported by Okta",{"data":103016,"marks":103017,"value":101093,"nodeType":864},{},[],{"data":103019,"content":103021,"nodeType":883},{"uri":103020},"https://www.bleepingcomputer.com/news/security/okta-warns-of-credential-stuffing-attacks-targeting-its-cors-feature/",[103022],{"data":103023,"marks":103024,"value":103026,"nodeType":864},{},[103025],{"type":1455},"attacks looking to exploit Okta’s CORS feature",{"data":103028,"marks":103029,"value":12252,"nodeType":864},{},[],{"data":103031,"content":103032,"nodeType":860},{},[103033,103038],{"data":103034,"marks":103035,"value":103037,"nodeType":864},{},[103036],{"type":899},"Ultimately, the promised land of a 1:1 employee to identity ratio just isn’t realistic. ",{"data":103039,"marks":103040,"value":103041,"nodeType":864},{},[],"So while SSO is a big part of the solution to identity attacks, it’s not a silver bullet.   ",{"data":103043,"content":103044,"nodeType":1005},{},[],{"data":103046,"content":103047,"nodeType":1009},{},[103048],{"data":103049,"marks":103050,"value":103051,"nodeType":864},{},[],"Reason 3: “We’ve got MFA deployed everywhere”",{"data":103053,"content":103054,"nodeType":860},{},[103055,103059,103068],{"data":103056,"marks":103057,"value":103058,"nodeType":864},{},[],"Microsoft famously stated that ",{"data":103060,"content":103062,"nodeType":883},{"uri":103061},"https://www.microsoft.com/en-us/security/security-insider/microsoft-digital-defense-report-2023#:~:text=Outlier%20attacks%20make%20up%20just,of%20compromise%20by%2099.2%20percent.",[103063],{"data":103064,"marks":103065,"value":103067,"nodeType":864},{},[103066],{"type":1455},"MFA reduces the risk of compromise by 99.2%",{"data":103069,"marks":103070,"value":103071,"nodeType":864},{},[],". But this doesn’t mean that it stops 99% of attacks. Or, that it should make up 99% of your defense. ",{"data":103073,"content":103074,"nodeType":860},{},[103075,103079],{"data":103076,"marks":103077,"value":103078,"nodeType":864},{},[],"MFA unarguably raises the bar for attackers, even if that bar is still pretty low. Naturally, accounts without MFA are an easier target. ",{"data":103080,"marks":103081,"value":103083,"nodeType":864},{},[103082],{"type":899},"But the problem is that MFA isn’t an enterprise-wide castle wall. It’s more like a row of hurdles with gaps in-between. ",{"data":103085,"content":103086,"nodeType":860},{},[103087,103091,103099],{"data":103088,"marks":103089,"value":103090,"nodeType":864},{},[],"MFA is usually handled separately at the SSO level and app level. For apps that are self-adopted by end users, they can't be relied on to add in a security control that will introduce friction to their user experience. Building on the aforementioned ghost logins, even if MFA is adopted at the SSO level, local logins can exist without MFA unless also applied at the app level. ",{"data":103092,"content":103093,"nodeType":883},{"uri":87669},[103094],{"data":103095,"marks":103096,"value":103098,"nodeType":864},{},[103097],{"type":1455},"The recent Snowflake breach is a perfect example of this problem",{"data":103100,"marks":103101,"value":12252,"nodeType":864},{},[],{"data":103103,"content":103104,"nodeType":860},{},[103105,103109,103114],{"data":103106,"marks":103107,"value":103108,"nodeType":864},{},[],"Because of this, ",{"data":103110,"marks":103111,"value":103113,"nodeType":864},{},[103112],{"type":899},"we find that only around 1 in 3 identities actually have MFA enabled",{"data":103115,"marks":103116,"value":12252,"nodeType":864},{},[],{"data":103118,"content":103119,"nodeType":1312},{},[103120],{"data":103121,"marks":103122,"value":103123,"nodeType":864},{},[],"\"MFA protects us against phishing attacks\"",{"data":103125,"content":103126,"nodeType":860},{},[103127,103131,103138],{"data":103128,"marks":103129,"value":103130,"nodeType":864},{},[],"Even where MFA is deployed, most MFA methods are proven to be phishable or otherwise bypassable. SMS and push-based MFA are susceptible to well known bypasses including SIM swapping and ",{"data":103132,"content":103133,"nodeType":883},{"uri":26728},[103134],{"data":103135,"marks":103136,"value":26733,"nodeType":864},{},[103137],{"type":1455},{"data":103139,"marks":103140,"value":103141,"nodeType":864},{},[]," attacks. TOTP is a little better, but still vulnerable. ",{"data":103143,"content":103144,"nodeType":860},{},[103145,103149,103157,103161,103169],{"data":103146,"marks":103147,"value":103148,"nodeType":864},{},[],"Many attacks are simply cutting out the middleman and focusing on ",{"data":103150,"content":103151,"nodeType":883},{"uri":42040},[103152],{"data":103153,"marks":103154,"value":103156,"nodeType":864},{},[103155],{"type":1455},"using stolen session tokens",{"data":103158,"marks":103159,"value":103160,"nodeType":864},{},[]," to bypass MFA. The most common method for this is via infostealers, which typically scrape all credentials (e.g. usernames, passwords, login pages, session tokens) as well as other information stored in the browser of an infected device. ",{"data":103162,"content":103163,"nodeType":883},{"uri":34519},[103164],{"data":103165,"marks":103166,"value":103168,"nodeType":864},{},[103167],{"type":1455},"Infostealers played a major role in the recent Snowflake breach",{"data":103170,"marks":103171,"value":12252,"nodeType":864},{},[],{"data":103173,"content":103174,"nodeType":860},{},[103175,103179,103187],{"data":103176,"marks":103177,"value":103178,"nodeType":864},{},[],"Additionally, ",{"data":103180,"content":103181,"nodeType":883},{"uri":48106},[103182],{"data":103183,"marks":103184,"value":103186,"nodeType":864},{},[103185],{"type":1455},"modern phishing techniques like adversary-in-the-middle (AitM) and browser-in-the-middle (BitM)",{"data":103188,"marks":103189,"value":103190,"nodeType":864},{},[]," see the attacker steal the live session and associated tokens from the victim, with the victim prompted to complete the MFA process as part of the attack. ",{"data":103192,"content":103193,"nodeType":1312},{},[103194],{"data":103195,"marks":103196,"value":103197,"nodeType":864},{},[],"“We’re using passkeys”",{"data":103199,"content":103200,"nodeType":860},{},[103201],{"data":103202,"marks":103203,"value":103204,"nodeType":864},{},[],"Great! Passkey users are in a better position than 99% of other businesses. Passkeys are widely accepted to be phishing resistant – at least for now, although as more businesses use them, new ways of getting around them will no doubt be discovered by attackers. ",{"data":103206,"content":103207,"nodeType":860},{},[103208,103212,103220],{"data":103209,"marks":103210,"value":103211,"nodeType":864},{},[],"But, MFA downgrade attacks are possible. There are often backup MFA methods set that can be selected by canceling the authentication prompt and selecting a different method. Even when these aren’t selectable, ",{"data":103213,"content":103214,"nodeType":883},{"uri":35967},[103215],{"data":103216,"marks":103217,"value":103219,"nodeType":864},{},[103218],{"type":1455},"researchers have demonstrated ways of downgrading authentication to use a phishable method",{"data":103221,"marks":103222,"value":12252,"nodeType":864},{},[],{"data":103224,"content":103225,"nodeType":860},{},[103226],{"data":103227,"marks":103228,"value":103229,"nodeType":864},{},[],"Most apps are designed primarily for user flexibility, not security. And backup methods have a legitimate use-case – what if the authenticator device is lost or stops working? If passkeys are the only authentication method, you just got locked out of all of your accounts. But at least no hackers can access them either, right?",{"data":103231,"content":103232,"nodeType":860},{},[103233],{"data":103234,"marks":103235,"value":103237,"nodeType":864},{},[103236],{"type":899},"Like SSO, unless backup MFA methods are disabled for all identities and apps, and all users have enabled MFA across all their accounts and login methods, this isn’t a silver bullet either.  ",{"data":103239,"content":103240,"nodeType":1005},{},[],{"data":103242,"content":103243,"nodeType":1009},{},[103244],{"data":103245,"marks":103246,"value":103247,"nodeType":864},{},[],"Reason 4: “We’ve got anti-phishing controls already”",{"data":103249,"content":103250,"nodeType":860},{},[103251],{"data":103252,"marks":103253,"value":103254,"nodeType":864},{},[],"Identity attacks have evolved significantly in recent years, as have the environments being targeted by attackers with the shift to cloud services and decentralized business IT. Unfortunately, traditional anti-phishing controls weren’t designed for this reality. ",{"data":103256,"content":103257,"nodeType":941},{},[103258,103278],{"data":103259,"content":103260,"nodeType":945},{},[103261],{"data":103262,"content":103263,"nodeType":860},{},[103264,103269,103274],{"data":103265,"marks":103266,"value":103268,"nodeType":864},{},[103267],{"type":899},"A",{"data":103270,"marks":103271,"value":103273,"nodeType":864},{},[103272],{"type":899},"ttacks used to be focused on a single VPN/webmail endpoint ",{"data":103275,"marks":103276,"value":103277,"nodeType":864},{},[],"that was naturally easier to protect than 100+ SaaS apps (especially if the security team isn’t even aware of them). Attackers now have 1000s of sprawled identities to target per enterprise, increasing the chance that weak or reused passwords will be found. ",{"data":103279,"content":103280,"nodeType":945},{},[103281],{"data":103282,"content":103283,"nodeType":860},{},[103284,103289],{"data":103285,"marks":103286,"value":103288,"nodeType":864},{},[103287],{"type":899},"Likewise, security teams only needed to care about a small set of credentials ",{"data":103290,"marks":103291,"value":103292,"nodeType":864},{},[],"relating to user directory accounts and VPN/remote access tooling used to tunnel into the corporate network. Now, business functions and data are dispersed across cloud apps rather than being neatly contained in on-prem apps and databases.",{"data":103294,"content":103295,"nodeType":860},{},[103296],{"data":103297,"marks":103298,"value":103300,"nodeType":864},{},[103299],{"type":899},"Now, attackers have more platforms on which to phish your users, more credentials to choose from, and more apps to spray them across, while security teams have a much larger surface to defend.",{"data":103302,"content":103303,"nodeType":1312},{},[103304],{"data":103305,"marks":103306,"value":103307,"nodeType":864},{},[],"“Our email and content filtering controls stop phishing attacks”",{"data":103309,"content":103310,"nodeType":860},{},[103311],{"data":103312,"marks":103313,"value":103314,"nodeType":864},{},[],"Existing phishing prevention solutions have tried to solve the problem by protecting the inbox, a common (but not the only) attack vector, or by blocking lists of known-bad domains. ",{"data":103316,"content":103317,"nodeType":860},{},[103318],{"data":103319,"marks":103320,"value":103321,"nodeType":864},{},[],"But, these approaches have major shortcomings:",{"data":103323,"content":103324,"nodeType":941},{},[103325,103363,103378],{"data":103326,"content":103327,"nodeType":945},{},[103328],{"data":103329,"content":103330,"nodeType":860},{},[103331,103336,103340,103348,103351,103359],{"data":103332,"marks":103333,"value":103335,"nodeType":864},{},[103334],{"type":899},"Incomplete coverage: ",{"data":103337,"marks":103338,"value":103339,"nodeType":864},{},[],"Email-based phishing prevention tools can catch general spray-and-pray email phishing campaigns, but it only takes a small amount of tailoring to fly under their radar. The use of LLM tools to tailor phishing emails for their intended victims already makes this possible at scale. Email-based tools also fail to cover phishing attacks beyond the inbox, such as ",{"data":103341,"content":103342,"nodeType":883},{"uri":83575},[103343],{"data":103344,"marks":103345,"value":103347,"nodeType":864},{},[103346],{"type":1455},"Slack",{"data":103349,"marks":103350,"value":902,"nodeType":864},{},[],{"data":103352,"content":103353,"nodeType":883},{"uri":83587},[103354],{"data":103355,"marks":103356,"value":103358,"nodeType":864},{},[103357],{"type":1455},"Teams",{"data":103360,"marks":103361,"value":103362,"nodeType":864},{},[]," phishing.",{"data":103364,"content":103365,"nodeType":945},{},[103366],{"data":103367,"content":103368,"nodeType":860},{},[103369,103374],{"data":103370,"marks":103371,"value":103373,"nodeType":864},{},[103372],{"type":899},"Expired intel: ",{"data":103375,"marks":103376,"value":103377,"nodeType":864},{},[],"Tools that rely on known-bad domains always have an incomplete picture because a domain must be reported as malicious in order to get added to a blocklist. Meanwhile, attackers can spin up new sites or host phishing pages on existing sites by exploiting vulnerabilities in them, bypassing rules around preventing visits to newly registered domains. It’s like trying to hit a moving target.",{"data":103379,"content":103380,"nodeType":945},{},[103381],{"data":103382,"content":103383,"nodeType":860},{},[103384,103389,103393,103402],{"data":103385,"marks":103386,"value":103388,"nodeType":864},{},[103387],{"type":899},"Web-based obfuscation: ",{"data":103390,"marks":103391,"value":103392,"nodeType":864},{},[],"Attacker tools and malicious implants running on webpages are constantly evolving to evade fingerprinting, and attackers are using techniques like ",{"data":103394,"content":103396,"nodeType":883},{"uri":103395},"https://www.cyfirma.com/research/html-smuggling-a-stealthier-approach-to-deliver-malware/",[103397],{"data":103398,"marks":103399,"value":103401,"nodeType":864},{},[103400],{"type":1455},"HTML smuggling",{"data":103403,"marks":103404,"value":103405,"nodeType":864},{},[]," to get around web-based controls put in place by developers. ",{"data":103407,"content":103408,"nodeType":860},{},[103409,103413,103418,103422,103427],{"data":103410,"marks":103411,"value":103412,"nodeType":864},{},[],"Even if these controls are sometimes successful, attackers have reliably demonstrated ways to get around them, ",{"data":103414,"marks":103415,"value":103417,"nodeType":864},{},[103416],{"type":899},"it really is a cat-and-mouse game at this point",{"data":103419,"marks":103420,"value":103421,"nodeType":864},{},[],". There usually needs to be a compromise before the attacker's infrastructure or tooling can be tagged and blocked, but ",{"data":103423,"marks":103424,"value":103426,"nodeType":864},{},[103425],{"type":899},"they evolve so rapidly that defenders are always one step behind",{"data":103428,"marks":103429,"value":12252,"nodeType":864},{},[],{"data":103431,"content":103432,"nodeType":1312},{},[103433],{"data":103434,"marks":103435,"value":103436,"nodeType":864},{},[],"“All our employees use a password manager”",{"data":103438,"content":103439,"nodeType":860},{},[103440],{"data":103441,"marks":103442,"value":103443,"nodeType":864},{},[],"Password managers are increasingly necessary due to the large number of credentials that users now have to juggle. Since the majority of apps don’t support SAML SSO, the need for separate credentials per app isn’t going away any time soon. ",{"data":103445,"content":103446,"nodeType":860},{},[103447,103451],{"data":103448,"marks":103449,"value":103450,"nodeType":864},{},[],"We often find 2 or more password managers in use per organization (not exactly optimal), but despite increased password manager adoption we see consistently high levels of password reuse, ",{"data":103452,"marks":103453,"value":103455,"nodeType":864},{},[103454],{"type":899},"with 1 in 3 users reusing passwords – including their sensitive IdP credentials. ",{"data":103457,"content":103458,"nodeType":860},{},[103459,103463,103471],{"data":103460,"marks":103461,"value":103462,"nodeType":864},{},[],"High levels of password reuse shows us that password managers don’t automatically result in secure employee behaviors, while widespread credential reuse significantly increases exposure to ",{"data":103464,"content":103465,"nodeType":883},{"uri":92739},[103466],{"data":103467,"marks":103468,"value":103470,"nodeType":864},{},[103469],{"type":1455},"credential stuffing attacks",{"data":103472,"marks":103473,"value":103474,"nodeType":864},{},[]," where attackers spray known username and password combinations across a range of app login pages.  ",{"data":103476,"content":103477,"nodeType":860},{},[103478,103483],{"data":103479,"marks":103480,"value":103482,"nodeType":864},{},[103481],{"type":899},"Generally, businesses have very limited visibility into employee password data",{"data":103484,"marks":103485,"value":103486,"nodeType":864},{},[]," to be able to enforce good practice or accurately respond to data breaches involving credential dumps, even if employees are using a password manager (or several, as the case may be).  ",{"data":103488,"content":103489,"nodeType":1005},{},[],{"data":103491,"content":103492,"nodeType":1009},{},[103493],{"data":103494,"marks":103495,"value":103496,"nodeType":864},{},[],"Reason 5: “We’ve got all the security data we need”",{"data":103498,"content":103499,"nodeType":860},{},[103500],{"data":103501,"marks":103502,"value":103503,"nodeType":864},{},[],"Organizations looking to protect themselves from modern identity attacks suffer from a pretty substantial telemetry gap. ",{"data":103505,"content":103506,"nodeType":941},{},[103507,103522,103537,103552],{"data":103508,"content":103509,"nodeType":945},{},[103510],{"data":103511,"content":103512,"nodeType":860},{},[103513,103518],{"data":103514,"marks":103515,"value":103517,"nodeType":864},{},[103516],{"type":899},"Endpoint logs ",{"data":103519,"marks":103520,"value":103521,"nodeType":864},{},[],"won’t show anything meaningful because most identity attacks don’t need to target the endpoint – no malware is deployed, everything happens in the browser, over the internet. ",{"data":103523,"content":103524,"nodeType":945},{},[103525],{"data":103526,"content":103527,"nodeType":860},{},[103528,103533],{"data":103529,"marks":103530,"value":103532,"nodeType":864},{},[103531],{"type":899},"Application logs",{"data":103534,"marks":103535,"value":103536,"nodeType":864},{},[]," are limited in availability, scope, and ease of ingestion, with most app vendors providing substandard logging, and requiring complex custom integrations to get what little data is available. ",{"data":103538,"content":103539,"nodeType":945},{},[103540],{"data":103541,"content":103542,"nodeType":860},{},[103543,103548],{"data":103544,"marks":103545,"value":103547,"nodeType":864},{},[103546],{"type":899},"Network logs",{"data":103549,"marks":103550,"value":103551,"nodeType":864},{},[]," (such as via web proxy) struggle to gather and piece together identity data points at-scale, across different apps, due to the sheer volume and broken format of the data post-TLS-termination. ",{"data":103553,"content":103554,"nodeType":945},{},[103555],{"data":103556,"content":103557,"nodeType":860},{},[103558,103563],{"data":103559,"marks":103560,"value":103562,"nodeType":864},{},[103561],{"type":899},"Identity provider logs",{"data":103564,"marks":103565,"value":103566,"nodeType":864},{},[]," naturally only cover SSO integrated apps (and therefore don’t cover ⅔ of your business apps) and look exclusively at authentication, and so are blind to client side attacks like phishing. ",{"data":103568,"content":103569,"nodeType":860},{},[103570,103574,103582],{"data":103571,"marks":103572,"value":103573,"nodeType":864},{},[],"Unless you’re ingesting data from a browser-based solution like Push, it’s unlikely you have a full monitoring visibility of your identity attack surface. ",{"data":103575,"content":103576,"nodeType":883},{"uri":36853},[103577],{"data":103578,"marks":103579,"value":103581,"nodeType":864},{},[103580],{"type":1455},"Read more on the value of browser telemetry here. ",{"data":103583,"marks":103584,"value":21,"nodeType":864},{},[],{"data":103586,"content":103590,"nodeType":996},{"target":103587},{"sys":103588},{"id":103589,"type":1001,"linkType":1002},"5jPCGPO1tnIkoI7MKW4oUi",[],{"data":103592,"content":103593,"nodeType":1005},{},[],{"data":103595,"content":103596,"nodeType":1009},{},[103597],{"data":103598,"marks":103599,"value":103600,"nodeType":864},{},[],"Maybe there’s a reason for Push to exist after all!",{"data":103602,"content":103603,"nodeType":860},{},[103604,103609,103613,103618,103621,103626],{"data":103605,"marks":103606,"value":103608,"nodeType":864},{},[103607],{"type":899},"The key takeaway here is that there are no quick fixes or silver bullets. ",{"data":103610,"marks":103611,"value":103612,"nodeType":864},{},[],"Things like SSO, MFA, and password managers are all part of the solution, ",{"data":103614,"marks":103615,"value":103617,"nodeType":864},{},[103616],{"type":899},"but",{"data":103619,"marks":103620,"value":1171,"nodeType":864},{},[],{"data":103622,"marks":103623,"value":103625,"nodeType":864},{},[103624],{"type":899},"aren’t set-and-forget controls",{"data":103627,"marks":103628,"value":103629,"nodeType":864},{},[],". They need to be continually monitored and maintained to ensure they remain effective.",{"data":103631,"content":103632,"nodeType":860},{},[103633],{"data":103634,"marks":103635,"value":103636,"nodeType":864},{},[],"Push stops identity attacks by continually finding and fixing identity vulnerabilities, providing deep context to manage the identity attack surface without looking through blinkers at the IdP or individual apps. ",{"data":103638,"content":103639,"nodeType":860},{},[103640],{"data":103641,"marks":103642,"value":103643,"nodeType":864},{},[],"Push helps businesses to get the most out of their identity controls (and bridge the gaps they leave) by:",{"data":103645,"content":103646,"nodeType":941},{},[103647,103662,103677,103692,103707],{"data":103648,"content":103649,"nodeType":945},{},[103650],{"data":103651,"content":103652,"nodeType":860},{},[103653,103658],{"data":103654,"marks":103655,"value":103657,"nodeType":864},{},[103656],{"type":899},"Locating all business apps",{"data":103659,"marks":103660,"value":103661,"nodeType":864},{},[],", not just those plugged into your IdP, so they can be put behind SSO (where possible) or at least securely managed and configured.",{"data":103663,"content":103664,"nodeType":945},{},[103665],{"data":103666,"content":103667,"nodeType":860},{},[103668,103673],{"data":103669,"marks":103670,"value":103672,"nodeType":864},{},[103671],{"type":899},"Identifying all workforce identities, associated login types, and MFA methods",{"data":103674,"marks":103675,"value":103676,"nodeType":864},{},[]," to more clearly pinpoint gaps, harden identities, and remediate vulnerabilities like ghost logins.",{"data":103678,"content":103679,"nodeType":945},{},[103680],{"data":103681,"content":103682,"nodeType":860},{},[103683,103688],{"data":103684,"marks":103685,"value":103687,"nodeType":864},{},[103686],{"type":899},"Stopping account takeover attempts",{"data":103689,"marks":103690,"value":103691,"nodeType":864},{},[]," by detecting and blocking AitM and BitM phishing toolkits running on webpages, blocking sensitive credential reuse to prevent credential phishing, and identifying stolen sessions running in attacker browsers. ",{"data":103693,"content":103694,"nodeType":945},{},[103695],{"data":103696,"content":103697,"nodeType":860},{},[103698,103703],{"data":103699,"marks":103700,"value":103702,"nodeType":864},{},[103701],{"type":899},"Preventing password-based attacks",{"data":103704,"marks":103705,"value":103706,"nodeType":864},{},[]," by detecting the use of weak, reused, and breached passwords across the app estate.  ",{"data":103708,"content":103709,"nodeType":945},{},[103710],{"data":103711,"content":103712,"nodeType":860},{},[103713,103718],{"data":103714,"marks":103715,"value":103717,"nodeType":864},{},[103716],{"type":899},"Providing unique telemetry in the browser",{"data":103719,"marks":103720,"value":103721,"nodeType":864},{},[]," to build both proactive and reactive security operations workflows, or add missing context to other data sources, such as IdP, application, or endpoint logs.",{"data":103723,"content":103726,"nodeType":996},{"target":103724},{"sys":103725},{"id":73827,"type":1001,"linkType":1002},[],{"data":103728,"content":103729,"nodeType":860},{},[103730],{"data":103731,"marks":103732,"value":21,"nodeType":864},{},[],{"entries":103734},{"hyperlink":103735,"inline":103736,"block":103737},[],[],[103738,103745,103753],{"sys":103739,"__typename":1724,"title":103740,"caption":103741,"layoutMode":59,"file":103742},{"id":102400},"Nobody has any identity problems, right?","Push Security’s cheekiest advisor, Geoff Belknap.",{"url":103743,"width":103744,"height":103744},"https://images.ctfassets.net/y1cdw1ablpvd/28qcLq225o8kusjQQQUnCC/98b10fe4f9e6916eb7657f60ab869062/Geoff_Ad__1_.png",1210,{"sys":103746,"__typename":1724,"title":103747,"caption":103748,"layoutMode":59,"file":103749},{"id":103589},"Telemetry comparison table","The browser presents a significant advantage over other sources of identity attack data.",{"url":103750,"width":103751,"height":103752},"https://images.ctfassets.net/y1cdw1ablpvd/4feAEpfP6tetyTjcLIopwG/5bec8c8c10e6e328ebe258bc59bc3cb6/Frame_627570__7_.png",2444,894,{"sys":103754,"__typename":1717,"type":80540,"ctaText":92950,"buttonLabel":92951,"buttonColour":1721,"buttonUrl":59},{"id":73827},{"items":103756},[],{},"Tackling common browser & identity security misconceptions","2024-07-11T00:00:00.000Z",{"items":103761},[103762,106717,107406],{"__typename":2059,"sys":103763,"content":103764,"title":106703,"synopsis":106704,"hashTags":59,"publishedDate":106705,"slug":106706,"tagsCollection":106707,"authorsCollection":106713},{"id":95225},{"json":103765},{"data":103766,"content":103767,"nodeType":856},{},[103768,103775,103807,103814,103820,103827,103847,103870,103877,103884,103908,103924,103931,103943,103950,103953,103960,103967,103983,103995,104006,104036,104039,104046,104064,104071,104079,104171,104178,104314,104321,104439,104446,104453,104624,104631,104638,104721,104724,104731,104738,104745,104808,104815,104848,104855,104898,104904,104910,105143,105149,105157,105164,105167,105174,105181,105188,105241,105248,105291,105298,105331,105337,105343,105509,105515,105523,105530,105538,105545,105553,105560,105563,105570,105577,105584,105647,105654,105687,105694,105727,105733,105739,105845,105848,105855,105862,105869,105932,105939,105972,105979,106012,106018,106024,106198,106201,106208,106215,106222,106295,106302,106335,106342,106375,106381,106387,106617,106620,106627,106634,106641,106648,106651,106658,106665,106672,106675,106682,106689,106696],{"data":103769,"content":103770,"nodeType":1009},{},[103771],{"data":103772,"marks":103773,"value":103774,"nodeType":864},{},[],"Browser-based Identity attacks on the rise?",{"data":103776,"content":103777,"nodeType":860},{},[103778,103782,103791,103795,103804],{"data":103779,"marks":103780,"value":103781,"nodeType":864},{},[],"Identity has been recorded as the #1 cyber attack vector since forever. You don’t have to look particularly hard to find statistics to support this. In 2023, one source reports that ",{"data":103783,"content":103785,"nodeType":883},{"uri":103784},"https://www.csoonline.com/article/648894/identity-based-security-threats-are-growing-rapidly-report.html",[103786],{"data":103787,"marks":103788,"value":103790,"nodeType":864},{},[103789],{"type":1455},"4/5 breaches involved identity and compromised credentials",{"data":103792,"marks":103793,"value":103794,"nodeType":864},{},[],", while another suggests that ",{"data":103796,"content":103798,"nodeType":883},{"uri":103797},"https://rakgarg.substack.com/p/identity-crisis-the-biggest-prize",[103799],{"data":103800,"marks":103801,"value":103803,"nodeType":864},{},[103802],{"type":1455},"75% of breaches are caused by mismanaged identity, access, or privileges",{"data":103805,"marks":103806,"value":2924,"nodeType":864},{},[],{"data":103808,"content":103809,"nodeType":860},{},[103810],{"data":103811,"marks":103812,"value":103813,"nodeType":864},{},[],"Phishing, social engineering, credential stuffing, and business email compromise have morphed into a homogenous understanding of identity threats that are generally tackled through a combination of email security tooling, content access controls, and user awareness. ",{"data":103815,"content":103819,"nodeType":996},{"target":103816},{"sys":103817},{"id":103818,"type":1001,"linkType":1002},"5NRWvCl0xsoWcpgHbcQIkf",[],{"data":103821,"content":103822,"nodeType":860},{},[103823],{"data":103824,"marks":103825,"value":103826,"nodeType":864},{},[],"The fact that such attacks have been reported as the top security threat for so long probably means that people pay less attention to identity threats. Ransomware grabs the headlines, and rightly so in many cases, but phishing feels like a “known known” that we have a plan for (even if the plan often fails). ",{"data":103828,"content":103829,"nodeType":860},{},[103830,103834,103843],{"data":103831,"marks":103832,"value":103833,"nodeType":864},{},[],"In fact, there’s a problem with messaging generally. The ",{"data":103835,"content":103837,"nodeType":883},{"uri":103836},"https://www.verizon.com/business/resources/T78/reports/data-breach-investigation-report_2015.pdf",[103838],{"data":103839,"marks":103840,"value":103842,"nodeType":864},{},[103841],{"type":1455},"2015 Verizon DBIR",{"data":103844,"marks":103845,"value":103846,"nodeType":864},{},[]," contains plenty of stats that still ring largely true today. For example:",{"data":103848,"content":103849,"nodeType":941},{},[103850,103860],{"data":103851,"content":103852,"nodeType":945},{},[103853],{"data":103854,"content":103855,"nodeType":860},{},[103856],{"data":103857,"marks":103858,"value":103859,"nodeType":864},{},[],"In the 2013 DBIR, phishing was associated with over 95% of incidents attributed to state sponsored actors, and for two years running, more than two-thirds of incidents have featured phishing",{"data":103861,"content":103862,"nodeType":945},{},[103863],{"data":103864,"content":103865,"nodeType":860},{},[103866],{"data":103867,"marks":103868,"value":103869,"nodeType":864},{},[],"In 60% of cases, attackers are able to compromise an organization within minutes",{"data":103871,"content":103872,"nodeType":860},{},[103873],{"data":103874,"marks":103875,"value":103876,"nodeType":864},{},[],"Remove the dates and a lot of the report still stands up. ",{"data":103878,"content":103879,"nodeType":1312},{},[103880],{"data":103881,"marks":103882,"value":103883,"nodeType":864},{},[],"Bad then, worse now",{"data":103885,"content":103886,"nodeType":860},{},[103887,103891,103896,103900,103905],{"data":103888,"marks":103889,"value":103890,"nodeType":864},{},[],"But browser-based identity attacks ",{"data":103892,"marks":103893,"value":103895,"nodeType":864},{},[103894],{"type":899},"are",{"data":103897,"marks":103898,"value":103899,"nodeType":864},{},[]," worse than they used to be. Yes, credential stuffing, phishing, and SIM swapping may not be the most sophisticated attacks, but they remain as effective as ever. ",{"data":103901,"marks":103902,"value":103904,"nodeType":864},{},[103903],{"type":2246},"As the saying goes, if it ain’t broke — don’t fix it.",{"data":103906,"marks":103907,"value":8618,"nodeType":864},{},[],{"data":103909,"content":103910,"nodeType":860},{},[103911,103915,103920],{"data":103912,"marks":103913,"value":103914,"nodeType":864},{},[],"Recent attacks have moved toward a broader targeting of the ",{"data":103916,"marks":103917,"value":103919,"nodeType":864},{},[103918],{"type":899},"identity infrastructure",{"data":103921,"marks":103922,"value":103923,"nodeType":864},{},[],". While phishing and social engineering was once primarily a delivery mechanism for malicious payloads to be executed on endpoint, it is now used to harvest credentials and secrets for identity-based attacks against cloud apps and services. ",{"data":103925,"content":103926,"nodeType":860},{},[103927],{"data":103928,"marks":103929,"value":103930,"nodeType":864},{},[],"And because businesses have migrated to more cloud-based services and infrastructure, the compromise of an identity now has different consequences.",{"data":103932,"content":103933,"nodeType":860},{},[103934,103938],{"data":103935,"marks":103936,"value":103937,"nodeType":864},{},[],"The data and functionality that attackers seek has moved off endpoints and internal networks and onto cloud systems and SaaS applications, which organizations are using in large numbers (tens to hundreds). The modern way of working means that applications are more often than not directly exposed to the internet — and the only thing needed to access these apps are identities. ",{"data":103939,"marks":103940,"value":103942,"nodeType":864},{},[103941],{"type":899},"Naturally, it's much harder to stop credential stuffing attacks against 100 SaaS apps than the single centralized external VPN/webmail endpoint of yesteryear. ",{"data":103944,"content":103945,"nodeType":860},{},[103946],{"data":103947,"marks":103948,"value":103949,"nodeType":864},{},[],"It’s clear that stats alone don’t adequately capture the identity threat. So we have to look beyond the numbers to find out why. ",{"data":103951,"content":103952,"nodeType":1005},{},[],{"data":103954,"content":103955,"nodeType":1009},{},[103956],{"data":103957,"marks":103958,"value":103959,"nodeType":864},{},[],"Using this resource",{"data":103961,"content":103962,"nodeType":860},{},[103963],{"data":103964,"marks":103965,"value":103966,"nodeType":864},{},[],"To cut through some of the noise, we’ve compiled this list of reported attacks and explored what they mean for the identity threat landscape. ",{"data":103968,"content":103969,"nodeType":860},{},[103970,103974,103979],{"data":103971,"marks":103972,"value":103973,"nodeType":864},{},[],"This is not intended to be an exhaustive list of all attacks involving the compromise of digital identities (the list would be endless!). Nor is it something you should read all in one go (unless you ",{"data":103975,"marks":103976,"value":103978,"nodeType":864},{},[103977],{"type":2246},"really",{"data":103980,"marks":103981,"value":103982,"nodeType":864},{},[]," want to, we won’t stop you). We want it to be a resource that you can refer back to, that we will continue to update as new attacks are recorded. ",{"data":103984,"content":103985,"nodeType":860},{},[103986,103990],{"data":103987,"marks":103988,"value":103989,"nodeType":864},{},[],"In this context we define identity attacks as ",{"data":103991,"marks":103992,"value":103994,"nodeType":864},{},[103993],{"type":899},"attacks targeting cloud identities and their associated identity management systems, protocols, applications, and infrastructure. ",{"data":103996,"content":103997,"nodeType":860},{},[103998,104002],{"data":103999,"marks":104000,"value":104001,"nodeType":864},{},[],"The attacks recorded below are high profile examples of browser-based identity attacks",{"data":104003,"marks":104004,"value":104005,"nodeType":864},{},[]," that demonstrate how threat actors are leveraging the cloud identity plane to evade established cyber defenses and traverse new attack paths to achieve their goals. We’ve focused on attacks targeting identity infrastructure itself that are notable for their bypassing of traditional environments and established controls (e.g. Networkless or SaaS-to-SaaS attack paths). ",{"data":104007,"content":104008,"nodeType":860},{},[104009,104013,104020,104024,104033],{"data":104010,"marks":104011,"value":104012,"nodeType":864},{},[],"As with all publicly disclosed breaches, the level of detail and transparency we see varies. Where possible, we've mapped the threat actor Tactics, Techniques and Procedures to our ",{"data":104014,"content":104015,"nodeType":883},{"uri":5243},[104016],{"data":104017,"marks":104018,"value":5248,"nodeType":864},{},[104019],{"type":1455},{"data":104021,"marks":104022,"value":104023,"nodeType":864},{},[]," (previously the SaaS Attack Matrix). To learn more about SaaS attack techniques ",{"data":104025,"content":104027,"nodeType":883},{"uri":104026},"https://pushsecurity.com/blog/saas-attack-techniques/#id-problems-with-observing-saas-attacks",[104028],{"data":104029,"marks":104030,"value":104032,"nodeType":864},{},[104031],{"type":1455},"read the blog",{"data":104034,"marks":104035,"value":1774,"nodeType":864},{},[],{"data":104037,"content":104038,"nodeType":1005},{},[],{"data":104040,"content":104041,"nodeType":1009},{},[104042],{"data":104043,"marks":104044,"value":104045,"nodeType":864},{},[],"Snowflake – June 2024",{"data":104047,"content":104048,"nodeType":860},{},[104049,104053,104061],{"data":104050,"marks":104051,"value":104052,"nodeType":864},{},[],"The threat group known as ShinyHunters (also tracked as UNC5537) has claimed responsibility for breaching multiple organizations using Snowflake, a cloud-based data warehousing and analytics platform. The breach stems from the historical compromise of credentials used to access customer-specific Snowflake tenants, via infostealer infections. These credentials were used as part of a targeted campaign against Snowflake customers, which was exacerbated by the widespread absence of MFA due to the lack of MFA enforcement by default. At the time of writing, approximately 165 customers have been impacted globally ",{"data":104054,"content":104055,"nodeType":883},{"uri":18533},[104056],{"data":104057,"marks":104058,"value":104060,"nodeType":864},{},[104059],{"type":1455},"according to a report by Mandiant",{"data":104062,"marks":104063,"value":12252,"nodeType":864},{},[],{"data":104065,"content":104066,"nodeType":1312},{},[104067],{"data":104068,"marks":104069,"value":104070,"nodeType":864},{},[],"How did Snowflake get breached?",{"data":104072,"content":104073,"nodeType":860},{},[104074],{"data":104075,"marks":104076,"value":104078,"nodeType":864},{},[104077],{"type":2246},"It’s worth noting that customers/users of Snowflake were breached via their Snowflake tenants, and no central breach of Snowflake's own systems occurred.",{"data":104080,"content":104081,"nodeType":941},{},[104082,104092,104114,104124,104133,104142,104151,104161],{"data":104083,"content":104084,"nodeType":945},{},[104085],{"data":104086,"content":104087,"nodeType":860},{},[104088],{"data":104089,"marks":104090,"value":104091,"nodeType":864},{},[],"Snowflake users were infected with infostealer malware that harvested credentials from user devices over an extended period. The threat actor used Snowflake customer credentials that were previously exposed via several infostealer malware variants, including; VIDAR, RISEPRO, REDLINE, RACOON STEALER, LUMMA and METASTEALER.",{"data":104093,"content":104094,"nodeType":945},{},[104095],{"data":104096,"content":104097,"nodeType":860},{},[104098,104102,104110],{"data":104099,"marks":104100,"value":104101,"nodeType":864},{},[],"Credentials appeared on criminal marketplaces e.g. dark web forums and ",{"data":104103,"content":104104,"nodeType":883},{"uri":81682},[104105],{"data":104106,"marks":104107,"value":104109,"nodeType":864},{},[104108],{"type":1455},"Telegram channels",{"data":104111,"marks":104112,"value":104113,"nodeType":864},{},[]," as combolists (username, password, and login portal combinations). ",{"data":104115,"content":104116,"nodeType":945},{},[104117],{"data":104118,"content":104119,"nodeType":860},{},[104120],{"data":104121,"marks":104122,"value":104123,"nodeType":864},{},[],"Criminal groups (either ShinyHunters or another organization) saw the potential in targeting Snowflake users, based on the availability of credentials, number of customer organizations, and the value of the data that can be accessed in Snowflake. ",{"data":104125,"content":104126,"nodeType":945},{},[104127],{"data":104128,"content":104129,"nodeType":860},{},[104130],{"data":104131,"marks":104132,"value":34354,"nodeType":864},{},[],{"data":104134,"content":104135,"nodeType":945},{},[104136],{"data":104137,"content":104138,"nodeType":860},{},[104139],{"data":104140,"marks":104141,"value":34364,"nodeType":864},{},[],{"data":104143,"content":104144,"nodeType":945},{},[104145],{"data":104146,"content":104147,"nodeType":860},{},[104148],{"data":104149,"marks":104150,"value":34374,"nodeType":864},{},[],{"data":104152,"content":104153,"nodeType":945},{},[104154],{"data":104155,"content":104156,"nodeType":860},{},[104157],{"data":104158,"marks":104159,"value":104160,"nodeType":864},{},[],"ShinyHunters acquired massive quantities of Snowflake data based on the information that each customer stored in Snowflake or connected apps. The most sensitive data declared so far pertains to end-customers of each victim, for example PII, bank account and card information, etc.  ",{"data":104162,"content":104163,"nodeType":945},{},[104164],{"data":104165,"content":104166,"nodeType":860},{},[104167],{"data":104168,"marks":104169,"value":104170,"nodeType":864},{},[],"ShinyHunters began attempts to extort Snowflake and end-customers using the data acquired. ",{"data":104172,"content":104173,"nodeType":1312},{},[104174],{"data":104175,"marks":104176,"value":104177,"nodeType":864},{},[],"What was the impact of the Snowflake breach?",{"data":104179,"content":104180,"nodeType":941},{},[104181,104200,104229,104257,104276,104295],{"data":104182,"content":104183,"nodeType":945},{},[104184],{"data":104185,"content":104186,"nodeType":860},{},[104187,104191,104196],{"data":104188,"marks":104189,"value":104190,"nodeType":864},{},[],"Approximately ",{"data":104192,"marks":104193,"value":104195,"nodeType":864},{},[104194],{"type":899},"165 victims were identified by Mandiant",{"data":104197,"marks":104198,"value":104199,"nodeType":864},{},[],". Organizations are gradually coming forward to declare the breach and release customer communications accordingly, but not all victims have been named.",{"data":104201,"content":104202,"nodeType":945},{},[104203],{"data":104204,"content":104205,"nodeType":860},{},[104206,104210,104215,104219,104226],{"data":104207,"marks":104208,"value":104209,"nodeType":864},{},[],"Based on the figures being suggested so far, the impact upon end-customers is huge, with the data of ",{"data":104211,"marks":104212,"value":104214,"nodeType":864},{},[104213],{"type":899},"hundreds of millions of people exposed",{"data":104216,"marks":104217,"value":104218,"nodeType":864},{},[],", and has been touted by some news outlets as ‘",{"data":104220,"content":104221,"nodeType":883},{"uri":34109},[104222],{"data":104223,"marks":104224,"value":34115,"nodeType":864},{},[104225],{"type":1455},{"data":104227,"marks":104228,"value":34119,"nodeType":864},{},[],{"data":104230,"content":104231,"nodeType":945},{},[104232],{"data":104233,"content":104234,"nodeType":860},{},[104235,104239,104244,104248,104253],{"data":104236,"marks":104237,"value":104238,"nodeType":864},{},[],"The impact on the affected businesses is largely unknown at this stage. It’s clear that the victims will suffer ",{"data":104240,"marks":104241,"value":104243,"nodeType":864},{},[104242],{"type":899},"reputational damage",{"data":104245,"marks":104246,"value":104247,"nodeType":864},{},[]," based on the extent of their individual breaches, and possibly face other ",{"data":104249,"marks":104250,"value":104252,"nodeType":864},{},[104251],{"type":899},"penalties and sanctions",{"data":104254,"marks":104255,"value":104256,"nodeType":864},{},[]," if they are found to be at fault by their respective regulators and/or national information security authorities. ",{"data":104258,"content":104259,"nodeType":945},{},[104260],{"data":104261,"content":104262,"nodeType":860},{},[104263,104267,104272],{"data":104264,"marks":104265,"value":104266,"nodeType":864},{},[],"The impact upon individuals will be significant, with high potential for further targeting in terms of ",{"data":104268,"marks":104269,"value":104271,"nodeType":864},{},[104270],{"type":899},"identity theft, blackmail, financial crime",{"data":104273,"marks":104274,"value":104275,"nodeType":864},{},[],", etc.  ",{"data":104277,"content":104278,"nodeType":945},{},[104279],{"data":104280,"content":104281,"nodeType":860},{},[104282,104286,104291],{"data":104283,"marks":104284,"value":104285,"nodeType":864},{},[],"It is unclear what data has been exposed in addition to personal data affecting end-customers. If other sensitive commercial or business data pertaining to ",{"data":104287,"marks":104288,"value":104290,"nodeType":864},{},[104289],{"type":899},"Intellectual Property",{"data":104292,"marks":104293,"value":104294,"nodeType":864},{},[]," has been exposed then this data may also be sold on via other nefarious channels, with a potential future impact.",{"data":104296,"content":104297,"nodeType":945},{},[104298],{"data":104299,"content":104300,"nodeType":860},{},[104301,104305,104310],{"data":104302,"marks":104303,"value":104304,"nodeType":864},{},[],"Given the lack of MFA for the compromised accounts, there has been a general criticism of the ‘opt-in’ nature of MFA for SaaS services, with many security professionals suggesting that ",{"data":104306,"marks":104307,"value":104309,"nodeType":864},{},[104308],{"type":899},"Snowflake should enforce MFA by default",{"data":104311,"marks":104312,"value":104313,"nodeType":864},{},[]," given the critical nature of the service. ",{"data":104315,"content":104316,"nodeType":1312},{},[104317],{"data":104318,"marks":104319,"value":104320,"nodeType":864},{},[],"What stands out in the Snowflake breach?",{"data":104322,"content":104323,"nodeType":941},{},[104324,104343,104384,104411],{"data":104325,"content":104326,"nodeType":945},{},[104327],{"data":104328,"content":104329,"nodeType":860},{},[104330,104334,104339],{"data":104331,"marks":104332,"value":104333,"nodeType":864},{},[],"The breach ",{"data":104335,"marks":104336,"value":104338,"nodeType":864},{},[104337],{"type":899},"was achieved by using stolen credentials dating back as far as 2020",{"data":104340,"marks":104341,"value":104342,"nodeType":864},{},[],", that had not been rotated or changed. This indicates that many of the credentials used were not necessarily the result of any recent data sharing. This highlights the potential risk of breached credentials already in the public domain; particularly in the case of cloud services that may not be subject to the same levels of credential hygiene as other traditional network logins. ",{"data":104344,"content":104345,"nodeType":945},{},[104346],{"data":104347,"content":104348,"nodeType":860},{},[104349,104353,104361,104364,104369,104373,104381],{"data":104350,"marks":104351,"value":104352,"nodeType":864},{},[],"Much of the industry response has focused on ensuring that accounts are using SSO (and therefore are protected by MFA at the IdP level). However, due to the existence of ",{"data":104354,"content":104356,"nodeType":883},{"uri":104355},"https://pushsecurity.com/resources/browser-identity-attacks-matrix/ghost-logins",[104357],{"data":104358,"marks":104359,"value":17706,"nodeType":864},{},[104360],{"type":1455},{"data":104362,"marks":104363,"value":3731,"nodeType":864},{},[],{"data":104365,"marks":104366,"value":104368,"nodeType":864},{},[104367],{"type":899},"local logins without MFA can exist simultaneously with the SSO login unless expressly disabled",{"data":104370,"marks":104371,"value":104372,"nodeType":864},{},[],". Organizations using Snowflake that are looking to lock down their accounts can ",{"data":104374,"content":104375,"nodeType":883},{"uri":87669},[104376],{"data":104377,"marks":104378,"value":104380,"nodeType":864},{},[104379],{"type":1455},"watch our recent demo of how to effectively remediate this vulnerability in Snowflake",{"data":104382,"marks":104383,"value":35977,"nodeType":864},{},[],{"data":104385,"content":104386,"nodeType":945},{},[104387],{"data":104388,"content":104389,"nodeType":860},{},[104390,104395,104399,104407],{"data":104391,"marks":104392,"value":104394,"nodeType":864},{},[104393],{"type":899},"80% of the credentials were gathered through infostealer malware",{"data":104396,"marks":104397,"value":104398,"nodeType":864},{},[],". Typically, this occurs when unmanaged devices are used to access company resources, or personal browser profiles are synchronized on both work and personal devices. Malware deployed to an insecure personal device can then access and steal credentials for company resources. This situation usually occurs when working with third-party contractors on a BYOD basis; ",{"data":104400,"content":104401,"nodeType":883},{"uri":34519},[104402],{"data":104403,"marks":104404,"value":104406,"nodeType":864},{},[104405],{"type":1455},"a recent article indicates that Ukraine-based EPAM Systems",{"data":104408,"marks":104409,"value":104410,"nodeType":864},{},[],", an engineering and digital service provider and “Elite Tier Partner” of Snowflake, was one such organization breached in this way. Organizations consuming Snowflake-related services from EPAM were then subsequently affected, as the compromise of EPAM users granted access to a large number of Snowflake credentials for various company tenants.  ",{"data":104412,"content":104413,"nodeType":945},{},[104414],{"data":104415,"content":104416,"nodeType":860},{},[104417,104421,104426,104430,104435],{"data":104418,"marks":104419,"value":104420,"nodeType":864},{},[],"While attacker activity has focused on Snowflake to date, the success of this attack will signal the potential for further credential based attacks against similar apps. ",{"data":104422,"marks":104423,"value":104425,"nodeType":864},{},[104424],{"type":899},"There may already be a 'Snowflake 2.0' among the credentials already available online",{"data":104427,"marks":104428,"value":104429,"nodeType":864},{},[],". Further, credentials can be used against a wide range of apps to capitalize on potential ",{"data":104431,"marks":104432,"value":104434,"nodeType":864},{},[104433],{"type":899},"password reuse (which we see for 1 in 3 employees)",{"data":104436,"marks":104437,"value":104438,"nodeType":864},{},[],", so the exact creds for a particular app don’t have to be explicitly breached, so long as the domain for the login portal can be guessed or has been exposed elsewhere.   ",{"data":104440,"content":104441,"nodeType":1312},{},[104442],{"data":104443,"marks":104444,"value":104445,"nodeType":864},{},[],"Browser & Identity Attacks Matrix mapping",{"data":104447,"content":104448,"nodeType":860},{},[104449],{"data":104450,"marks":104451,"value":104452,"nodeType":864},{},[],"For more information on each TTP please navigate to the entries linked in the table below. ",{"data":104454,"content":104455,"nodeType":4845},{},[104456,104499,104561],{"data":104457,"content":104458,"nodeType":4581},{},[104459,104469,104479,104489],{"data":104460,"content":104461,"nodeType":7282},{},[104462],{"data":104463,"content":104464,"nodeType":860},{},[104465],{"data":104466,"marks":104467,"value":104468,"nodeType":864},{},[],"ID",{"data":104470,"content":104471,"nodeType":7282},{},[104472],{"data":104473,"content":104474,"nodeType":860},{},[104475],{"data":104476,"marks":104477,"value":104478,"nodeType":864},{},[],"Name",{"data":104480,"content":104481,"nodeType":7282},{},[104482],{"data":104483,"content":104484,"nodeType":860},{},[104485],{"data":104486,"marks":104487,"value":104488,"nodeType":864},{},[],"Stage",{"data":104490,"content":104491,"nodeType":7282},{},[104492],{"data":104493,"content":104494,"nodeType":860},{},[104495],{"data":104496,"marks":104497,"value":104498,"nodeType":864},{},[],"Description",{"data":104500,"content":104501,"nodeType":4581},{},[104502,104522,104541,104551],{"data":104503,"content":104504,"nodeType":4569},{},[104505],{"data":104506,"content":104507,"nodeType":860},{},[104508,104511,104519],{"data":104509,"marks":104510,"value":21,"nodeType":864},{},[],{"data":104512,"content":104513,"nodeType":883},{"uri":26784},[104514],{"data":104515,"marks":104516,"value":104518,"nodeType":864},{},[104517],{"type":1455},"SAT1017",{"data":104520,"marks":104521,"value":21,"nodeType":864},{},[],{"data":104523,"content":104524,"nodeType":4569},{},[104525],{"data":104526,"content":104527,"nodeType":860},{},[104528,104531,104538],{"data":104529,"marks":104530,"value":21,"nodeType":864},{},[],{"data":104532,"content":104533,"nodeType":883},{"uri":104355},[104534],{"data":104535,"marks":104536,"value":395,"nodeType":864},{},[104537],{"type":1455},{"data":104539,"marks":104540,"value":21,"nodeType":864},{},[],{"data":104542,"content":104543,"nodeType":4569},{},[104544],{"data":104545,"content":104546,"nodeType":860},{},[104547],{"data":104548,"marks":104549,"value":104550,"nodeType":864},{},[],"Initial Access; Persistence; Defense Evasion",{"data":104552,"content":104553,"nodeType":4569},{},[104554],{"data":104555,"content":104556,"nodeType":860},{},[104557],{"data":104558,"marks":104559,"value":104560,"nodeType":864},{},[],"Abusing non-SSO additional login methods such as password-based authentication (local to the SaaS app), social logins, API access, etc. ",{"data":104562,"content":104563,"nodeType":4581},{},[104564,104584,104604,104614],{"data":104565,"content":104566,"nodeType":4569},{},[104567],{"data":104568,"content":104569,"nodeType":860},{},[104570,104573,104581],{"data":104571,"marks":104572,"value":21,"nodeType":864},{},[],{"data":104574,"content":104575,"nodeType":883},{"uri":42040},[104576],{"data":104577,"marks":104578,"value":104580,"nodeType":864},{},[104579],{"type":1455},"SAT1044",{"data":104582,"marks":104583,"value":21,"nodeType":864},{},[],{"data":104585,"content":104586,"nodeType":4569},{},[104587],{"data":104588,"content":104589,"nodeType":860},{},[104590,104593,104601],{"data":104591,"marks":104592,"value":21,"nodeType":864},{},[],{"data":104594,"content":104596,"nodeType":883},{"uri":104595},"https://pushsecurity.com/resources/browser-identity-attacks-matrix/session-cookie-theft",[104597],{"data":104598,"marks":104599,"value":96158,"nodeType":864},{},[104600],{"type":1455},{"data":104602,"marks":104603,"value":21,"nodeType":864},{},[],{"data":104605,"content":104606,"nodeType":4569},{},[104607],{"data":104608,"content":104609,"nodeType":860},{},[104610],{"data":104611,"marks":104612,"value":104613,"nodeType":864},{},[],"Lateral Movement; Defense Evasion",{"data":104615,"content":104616,"nodeType":4569},{},[104617],{"data":104618,"content":104619,"nodeType":860},{},[104620],{"data":104621,"marks":104622,"value":104623,"nodeType":864},{},[],"Session cookies are used to pivot from an endpoint compromise and laterally move to downstream SaaS applications.",{"data":104625,"content":104626,"nodeType":1312},{},[104627],{"data":104628,"marks":104629,"value":104630,"nodeType":864},{},[],"Related breaches",{"data":104632,"content":104633,"nodeType":860},{},[104634],{"data":104635,"marks":104636,"value":104637,"nodeType":864},{},[],"Named victims are listed below:",{"data":104639,"content":104640,"nodeType":941},{},[104641,104651,104661,104671,104681,104691,104701,104711],{"data":104642,"content":104643,"nodeType":945},{},[104644],{"data":104645,"content":104646,"nodeType":860},{},[104647],{"data":104648,"marks":104649,"value":104650,"nodeType":864},{},[],"Ticketmaster",{"data":104652,"content":104653,"nodeType":945},{},[104654],{"data":104655,"content":104656,"nodeType":860},{},[104657],{"data":104658,"marks":104659,"value":104660,"nodeType":864},{},[],"Santander",{"data":104662,"content":104663,"nodeType":945},{},[104664],{"data":104665,"content":104666,"nodeType":860},{},[104667],{"data":104668,"marks":104669,"value":104670,"nodeType":864},{},[],"Neiman Marcus",{"data":104672,"content":104673,"nodeType":945},{},[104674],{"data":104675,"content":104676,"nodeType":860},{},[104677],{"data":104678,"marks":104679,"value":104680,"nodeType":864},{},[],"Los Angeles Unified",{"data":104682,"content":104683,"nodeType":945},{},[104684],{"data":104685,"content":104686,"nodeType":860},{},[104687],{"data":104688,"marks":104689,"value":104690,"nodeType":864},{},[],"Pure Storage",{"data":104692,"content":104693,"nodeType":945},{},[104694],{"data":104695,"content":104696,"nodeType":860},{},[104697],{"data":104698,"marks":104699,"value":104700,"nodeType":864},{},[],"Advance Auto Parts",{"data":104702,"content":104703,"nodeType":945},{},[104704],{"data":104705,"content":104706,"nodeType":860},{},[104707],{"data":104708,"marks":104709,"value":104710,"nodeType":864},{},[],"Truist Bank",{"data":104712,"content":104713,"nodeType":945},{},[104714],{"data":104715,"content":104716,"nodeType":860},{},[104717],{"data":104718,"marks":104719,"value":104720,"nodeType":864},{},[],"Lending Tree",{"data":104722,"content":104723,"nodeType":1005},{},[],{"data":104725,"content":104726,"nodeType":1009},{},[104727],{"data":104728,"marks":104729,"value":104730,"nodeType":864},{},[],"Microsoft — January 2024",{"data":104732,"content":104733,"nodeType":860},{},[104734],{"data":104735,"marks":104736,"value":104737,"nodeType":864},{},[],"The threat group known as APT29 (also known as “The Dukes”, “Cozy Bear”, and labeled “Midnight Blizzard” by Microsoft) executed a cleverly executed password-guessing attack to compromise test cloud identities that were also lacking MFA. Attackers then leveraged this access to compromise some OAuth applications that allowed lateral movement to Microsoft’s corporate environment and the creation of other malicious OAuth applications to achieve persistence.",{"data":104739,"content":104740,"nodeType":1312},{},[104741],{"data":104742,"marks":104743,"value":104744,"nodeType":864},{},[],"How did Microsoft get breached?",{"data":104746,"content":104747,"nodeType":941},{},[104748,104758,104768,104778,104788,104798],{"data":104749,"content":104750,"nodeType":945},{},[104751],{"data":104752,"content":104753,"nodeType":860},{},[104754],{"data":104755,"marks":104756,"value":104757,"nodeType":864},{},[],"APT29 utilized password spraying / credential stuffing attacks to compromise test cloud identities that were also lacking MFA, attached to a non-production test tenant.",{"data":104759,"content":104760,"nodeType":945},{},[104761],{"data":104762,"content":104763,"nodeType":860},{},[104764],{"data":104765,"marks":104766,"value":104767,"nodeType":864},{},[],"APT29 leveraged their initial access to the test tenant to identify and compromise a test OAuth application that had access to the Microsoft corporate environment by leveraging permissive Entra ID roles in the test tenant.",{"data":104769,"content":104770,"nodeType":945},{},[104771],{"data":104772,"content":104773,"nodeType":860},{},[104774],{"data":104775,"marks":104776,"value":104777,"nodeType":864},{},[],"APT29 used the existing configurations to access the Microsoft corporate Entra ID tenant whereupon the app registration from the test tenant was installed as a service principal in the corporate tenant, granting the equivalent of global admin rights.",{"data":104779,"content":104780,"nodeType":945},{},[104781],{"data":104782,"content":104783,"nodeType":860},{},[104784],{"data":104785,"marks":104786,"value":104787,"nodeType":864},{},[],"Using these new permissions, APT29 registered additional malicious OAuth applications in the Microsoft corporate environment, and created a new user in the Microsoft corporate tenant to grant consent to the new malicious OAuth apps, thereby achieving persistent access to the environment.",{"data":104789,"content":104790,"nodeType":945},{},[104791],{"data":104792,"content":104793,"nodeType":860},{},[104794],{"data":104795,"marks":104796,"value":104797,"nodeType":864},{},[],"APT29 leveraged the elevated (maximum) privileges assigned to the ‘test’ app service principal to grant app roles to other newly created app service principals, granting them the Office 365 Exchange Online full_access_as_app role in the corporate tenant, which allows access to mailboxes.",{"data":104799,"content":104800,"nodeType":945},{},[104801],{"data":104802,"content":104803,"nodeType":860},{},[104804],{"data":104805,"marks":104806,"value":104807,"nodeType":864},{},[],"APT29 leveraged these malicious OAuth applications to authenticate to Microsoft Exchange Online and target Microsoft corporate email accounts.",{"data":104809,"content":104810,"nodeType":1312},{},[104811],{"data":104812,"marks":104813,"value":104814,"nodeType":864},{},[],"What was the impact of the Microsoft breach?",{"data":104816,"content":104817,"nodeType":941},{},[104818,104828,104838],{"data":104819,"content":104820,"nodeType":945},{},[104821],{"data":104822,"content":104823,"nodeType":860},{},[104824],{"data":104825,"marks":104826,"value":104827,"nodeType":864},{},[],"APT29 had access to Microsoft corporate email accounts, including members of the senior leadership team and employees in the cybersecurity, legal, and other functions, resulting in sensitive data leakage.",{"data":104829,"content":104830,"nodeType":945},{},[104831],{"data":104832,"content":104833,"nodeType":860},{},[104834],{"data":104835,"marks":104836,"value":104837,"nodeType":864},{},[],"Microsoft has not disclosed any further impacts at this time, but it is likely that the adversary had complete, unmitigated control of the Microsoft corporate tenant for a period of time, with global administrator level access.",{"data":104839,"content":104840,"nodeType":945},{},[104841],{"data":104842,"content":104843,"nodeType":860},{},[104844],{"data":104845,"marks":104846,"value":104847,"nodeType":864},{},[],"Since the initial attack there has been evidence of continued targeting, with password spraying attacks reportedly increasing tenfold, likely informed by stolen information.",{"data":104849,"content":104850,"nodeType":1312},{},[104851],{"data":104852,"marks":104853,"value":104854,"nodeType":864},{},[],"What stands out in the Microsoft breach?",{"data":104856,"content":104857,"nodeType":941},{},[104858,104868,104878,104888],{"data":104859,"content":104860,"nodeType":945},{},[104861],{"data":104862,"content":104863,"nodeType":860},{},[104864],{"data":104865,"marks":104866,"value":104867,"nodeType":864},{},[],"The attack was covert and targeted, with APT29 tailoring the attack to a limited number of accounts and using a low number of attempts to evade detection and avoid account blocks based on the volume of failures.",{"data":104869,"content":104870,"nodeType":945},{},[104871],{"data":104872,"content":104873,"nodeType":860},{},[104874],{"data":104875,"marks":104876,"value":104877,"nodeType":864},{},[],"APT29 used residential proxy networks when interacting with the compromised tenant and, subsequently, with Exchange Online to obfuscate the source of their attack and avoid impossible travel detections. ",{"data":104879,"content":104880,"nodeType":945},{},[104881],{"data":104882,"content":104883,"nodeType":860},{},[104884],{"data":104885,"marks":104886,"value":104887,"nodeType":864},{},[],"APT29 demonstrated mature and in-depth understanding of cloud infrastructure, protocols, and workflows, particularly in terms of privilege escalation and lateral movement.",{"data":104889,"content":104890,"nodeType":945},{},[104891],{"data":104892,"content":104893,"nodeType":860},{},[104894],{"data":104895,"marks":104896,"value":104897,"nodeType":864},{},[],"If even Microsoft (an organization with pretty much unrivaled security resources) can’t ensure that all their accounts are protected by MFA and that there are no weak links between test/dev and prod systems, this should be a wake-up call for any company that thinks their MFA implementation is flawless. ",{"data":104899,"content":104900,"nodeType":1312},{},[104901],{"data":104902,"marks":104903,"value":104445,"nodeType":864},{},[],{"data":104905,"content":104906,"nodeType":860},{},[104907],{"data":104908,"marks":104909,"value":104452,"nodeType":864},{},[],{"data":104911,"content":104912,"nodeType":4845},{},[104913,104953,105016,105079],{"data":104914,"content":104915,"nodeType":4581},{},[104916,104925,104935,104944],{"data":104917,"content":104918,"nodeType":7282},{},[104919],{"data":104920,"content":104921,"nodeType":860},{},[104922],{"data":104923,"marks":104924,"value":104468,"nodeType":864},{},[],{"data":104926,"content":104927,"nodeType":7282},{},[104928],{"data":104929,"content":104930,"nodeType":860},{},[104931],{"data":104932,"marks":104933,"value":104934,"nodeType":864},{},[],"Technique",{"data":104936,"content":104937,"nodeType":7282},{},[104938],{"data":104939,"content":104940,"nodeType":860},{},[104941],{"data":104942,"marks":104943,"value":104488,"nodeType":864},{},[],{"data":104945,"content":104946,"nodeType":7282},{},[104947],{"data":104948,"content":104949,"nodeType":860},{},[104950],{"data":104951,"marks":104952,"value":104498,"nodeType":864},{},[],{"data":104954,"content":104955,"nodeType":4581},{},[104956,104976,104996,105006],{"data":104957,"content":104958,"nodeType":4569},{},[104959],{"data":104960,"content":104961,"nodeType":860},{},[104962,104965,104973],{"data":104963,"marks":104964,"value":21,"nodeType":864},{},[],{"data":104966,"content":104967,"nodeType":883},{"uri":87924},[104968],{"data":104969,"marks":104970,"value":104972,"nodeType":864},{},[104971],{"type":1455},"SAT1011",{"data":104974,"marks":104975,"value":21,"nodeType":864},{},[],{"data":104977,"content":104978,"nodeType":4569},{},[104979],{"data":104980,"content":104981,"nodeType":860},{},[104982,104985,104993],{"data":104983,"marks":104984,"value":21,"nodeType":864},{},[],{"data":104986,"content":104988,"nodeType":883},{"uri":104987},"https://pushsecurity.com/resources/browser-identity-attacks-matrix/credential-stuffing",[104989],{"data":104990,"marks":104991,"value":333,"nodeType":864},{},[104992],{"type":1455},{"data":104994,"marks":104995,"value":21,"nodeType":864},{},[],{"data":104997,"content":104998,"nodeType":4569},{},[104999],{"data":105000,"content":105001,"nodeType":860},{},[105002],{"data":105003,"marks":105004,"value":105005,"nodeType":864},{},[],"Initial Access",{"data":105007,"content":105008,"nodeType":4569},{},[105009],{"data":105010,"content":105011,"nodeType":860},{},[105012],{"data":105013,"marks":105014,"value":105015,"nodeType":864},{},[],"Attempt to authenticate to a SaaS account by guessing a large number of passwords ",{"data":105017,"content":105018,"nodeType":4581},{},[105019,105039,105059,105069],{"data":105020,"content":105021,"nodeType":4569},{},[105022],{"data":105023,"content":105024,"nodeType":860},{},[105025,105028,105036],{"data":105026,"marks":105027,"value":21,"nodeType":864},{},[],{"data":105029,"content":105030,"nodeType":883},{"uri":96375},[105031],{"data":105032,"marks":105033,"value":105035,"nodeType":864},{},[105034],{"type":1455},"SAT1027",{"data":105037,"marks":105038,"value":21,"nodeType":864},{},[],{"data":105040,"content":105041,"nodeType":4569},{},[105042],{"data":105043,"content":105044,"nodeType":860},{},[105045,105048,105056],{"data":105046,"marks":105047,"value":21,"nodeType":864},{},[],{"data":105049,"content":105051,"nodeType":883},{"uri":105050},"https://pushsecurity.com/resources/browser-identity-attacks-matrix/oauth-tokens",[105052],{"data":105053,"marks":105054,"value":96381,"nodeType":864},{},[105055],{"type":1455},{"data":105057,"marks":105058,"value":21,"nodeType":864},{},[],{"data":105060,"content":105061,"nodeType":4569},{},[105062],{"data":105063,"content":105064,"nodeType":860},{},[105065],{"data":105066,"marks":105067,"value":105068,"nodeType":864},{},[],"Execution; Persistence; Defense Evasion",{"data":105070,"content":105071,"nodeType":4569},{},[105072],{"data":105073,"content":105074,"nodeType":860},{},[105075],{"data":105076,"marks":105077,"value":105078,"nodeType":864},{},[],"Use a malicious OAuth app to create an OAuth token, using arbitrary permissions to maintain long-term programmatic access to a compromised user account.",{"data":105080,"content":105081,"nodeType":4581},{},[105082,105102,105123,105133],{"data":105083,"content":105084,"nodeType":4569},{},[105085],{"data":105086,"content":105087,"nodeType":860},{},[105088,105091,105099],{"data":105089,"marks":105090,"value":21,"nodeType":864},{},[],{"data":105092,"content":105093,"nodeType":883},{"uri":96606},[105094],{"data":105095,"marks":105096,"value":105098,"nodeType":864},{},[105097],{"type":1455},"SAT1001",{"data":105100,"marks":105101,"value":21,"nodeType":864},{},[],{"data":105103,"content":105104,"nodeType":4569},{},[105105],{"data":105106,"content":105107,"nodeType":860},{},[105108,105111,105120],{"data":105109,"marks":105110,"value":21,"nodeType":864},{},[],{"data":105112,"content":105114,"nodeType":883},{"uri":105113},"https://pushsecurity.com/resources/browser-identity-attacks-matrix/abuse-existing-oauth-integrations",[105115],{"data":105116,"marks":105117,"value":105119,"nodeType":864},{},[105118],{"type":1455},"Abuse existing OAuth integrations",{"data":105121,"marks":105122,"value":21,"nodeType":864},{},[],{"data":105124,"content":105125,"nodeType":4569},{},[105126],{"data":105127,"content":105128,"nodeType":860},{},[105129],{"data":105130,"marks":105131,"value":105132,"nodeType":864},{},[],"Privilege Escalation;\nLateral Movement",{"data":105134,"content":105135,"nodeType":4569},{},[105136],{"data":105137,"content":105138,"nodeType":860},{},[105139],{"data":105140,"marks":105141,"value":105142,"nodeType":864},{},[],"If an adversary compromises a SaaS account integrated with other apps, they can escalate privileges and move laterally to other apps.",{"data":105144,"content":105145,"nodeType":1312},{},[105146],{"data":105147,"marks":105148,"value":104630,"nodeType":864},{},[],{"data":105150,"content":105151,"nodeType":860},{},[105152],{"data":105153,"marks":105154,"value":105156,"nodeType":864},{},[105155],{"type":899},"Hewlett Packard Enterprise (HPE) — May 2023",{"data":105158,"content":105159,"nodeType":860},{},[105160],{"data":105161,"marks":105162,"value":105163,"nodeType":864},{},[],"At the time of the Microsoft breach becoming public knowledge, HPE disclosed that they had become aware of a historical incident in Dec 2023, involving unauthorized access to and exfiltration of a limited number of SharePoint files as early as May 2023. Hackers accessed and exfiltrated data from HPE mailboxes belonging to individuals in the cybersecurity, go-to-market, business segments, and other functions. No further information is available on the techniques used or impact of the breach. ",{"data":105165,"content":105166,"nodeType":1005},{},[],{"data":105168,"content":105169,"nodeType":1009},{},[105170],{"data":105171,"marks":105172,"value":105173,"nodeType":864},{},[],"Okta — October 2023",{"data":105175,"content":105176,"nodeType":860},{},[105177],{"data":105178,"marks":105179,"value":105180,"nodeType":864},{},[],"An unknown threat group compromised an Okta employee's personal Google account that was being used on a company-managed device, granting the threat actor access to a service account for Okta’s customer support system, that included session tokens for 134 customers. This was then used to hijack the legitimate Okta sessions of five customers. ",{"data":105182,"content":105183,"nodeType":1312},{},[105184],{"data":105185,"marks":105186,"value":105187,"nodeType":864},{},[],"How did Okta get breached?",{"data":105189,"content":105190,"nodeType":941},{},[105191,105201,105211,105221,105231],{"data":105192,"content":105193,"nodeType":945},{},[105194],{"data":105195,"content":105196,"nodeType":860},{},[105197],{"data":105198,"marks":105199,"value":105200,"nodeType":864},{},[],"The threat actor compromised a personal Google account that the user had accessed from their Okta-managed work device by signing into their personal profile from the Chrome browser.",{"data":105202,"content":105203,"nodeType":945},{},[105204],{"data":105205,"content":105206,"nodeType":860},{},[105207],{"data":105208,"marks":105209,"value":105210,"nodeType":864},{},[],"The personal account credentials are likely to have been compromised in a historical data breach and did not have MFA enabled.",{"data":105212,"content":105213,"nodeType":945},{},[105214],{"data":105215,"content":105216,"nodeType":860},{},[105217],{"data":105218,"marks":105219,"value":105220,"nodeType":864},{},[],"The username and password of a service account for Okta’s customer support system had been saved into the employee’s personal Google account and was therefore compromised.",{"data":105222,"content":105223,"nodeType":945},{},[105224],{"data":105225,"content":105226,"nodeType":860},{},[105227],{"data":105228,"marks":105229,"value":105230,"nodeType":864},{},[],"The threat actor was able to access the service account by logging in using the stolen credentials, which again likely did not have MFA deployed as a service account.",{"data":105232,"content":105233,"nodeType":945},{},[105234],{"data":105235,"content":105236,"nodeType":860},{},[105237],{"data":105238,"marks":105239,"value":105240,"nodeType":864},{},[],"The threat actor was able to use session tokens in the HAR files to impersonate staff and hijack the legitimate Okta sessions of five customers, including 1Password, BeyondTrust, and Cloudflare.",{"data":105242,"content":105243,"nodeType":1312},{},[105244],{"data":105245,"marks":105246,"value":105247,"nodeType":864},{},[],"What was the impact of the Okta breach?",{"data":105249,"content":105250,"nodeType":941},{},[105251,105261,105271,105281],{"data":105252,"content":105253,"nodeType":945},{},[105254],{"data":105255,"content":105256,"nodeType":860},{},[105257],{"data":105258,"marks":105259,"value":105260,"nodeType":864},{},[],"The threat actor gained unauthorized access to files inside Okta’s customer support system associated with 134 Okta customers.",{"data":105262,"content":105263,"nodeType":945},{},[105264],{"data":105265,"content":105266,"nodeType":860},{},[105267],{"data":105268,"marks":105269,"value":105270,"nodeType":864},{},[],"The threat actor was able to use these session tokens to hijack the legitimate Okta sessions of 5 (publicly disclosed) customers.",{"data":105272,"content":105273,"nodeType":945},{},[105274],{"data":105275,"content":105276,"nodeType":860},{},[105277],{"data":105278,"marks":105279,"value":105280,"nodeType":864},{},[],"Okta originally claimed the breach had impacted only 1% of customers, but later found that a report run and downloaded by the threat actor contained the names and email addresses of all 18,400 Okta customer support users, as well as some Okta employee information, meaning 100% of customer support users were impacted.",{"data":105282,"content":105283,"nodeType":945},{},[105284],{"data":105285,"content":105286,"nodeType":860},{},[105287],{"data":105288,"marks":105289,"value":105290,"nodeType":864},{},[],"Okta users are at higher risk of phishing and credential stuffing attacks based on the data stolen by the threat actor, increasing the importance of robust MFA implementation.",{"data":105292,"content":105293,"nodeType":1312},{},[105294],{"data":105295,"marks":105296,"value":105297,"nodeType":864},{},[],"What stands out in the Okta breach?",{"data":105299,"content":105300,"nodeType":941},{},[105301,105311,105321],{"data":105302,"content":105303,"nodeType":945},{},[105304],{"data":105305,"content":105306,"nodeType":860},{},[105307],{"data":105308,"marks":105309,"value":105310,"nodeType":864},{},[],"This attack demonstrates the risk associated with cloud Identity Providers and the potential goldmine that they are to attackers. Much in the same way that the manufacturers of physical and virtual network appliances are continuously probed for software vulnerabilities, cloud IdPs like Okta present a huge potential opportunity, both in terms of targeting specific organizational instances as well as the Okta organization. This attack showcases the possibility of third-party supply chain attacks to target downstream organizations using IdP services. ",{"data":105312,"content":105313,"nodeType":945},{},[105314],{"data":105315,"content":105316,"nodeType":860},{},[105317],{"data":105318,"marks":105319,"value":105320,"nodeType":864},{},[],"Similar to the Microsoft breach, gaps were discovered and exploited in Okta’s MFA coverage and implementation, highlighting that there are gaps in even the most mature organizations. ",{"data":105322,"content":105323,"nodeType":945},{},[105324],{"data":105325,"content":105326,"nodeType":860},{},[105327],{"data":105328,"marks":105329,"value":105330,"nodeType":864},{},[],"The subsequent attack on Cloudflare (see below) and the scale of the recovery effort demonstrates the significant operational overhead in responding to and recovering from a breach of identity infrastructure, with a similar or greater scale than a traditional Active Directory compromise. While addressing the incident, Cloudflare's staff rotated all production credentials (over 5,000 unique ones), physically segmented test and staging systems, performed forensic triage on 4,893 systems, reimaged and rebooted all systems on the company's global network, including all Atlassian servers (Jira, Confluence, and Bitbucket) and machines accessed by the threat actor. All equipment in Cloudflare's Brazil data center, which was unsuccessfully targeted by the threat actor, was later returned to the manufacturers to ensure that the data center was secure.",{"data":105332,"content":105333,"nodeType":1312},{},[105334],{"data":105335,"marks":105336,"value":104445,"nodeType":864},{},[],{"data":105338,"content":105339,"nodeType":860},{},[105340],{"data":105341,"marks":105342,"value":104452,"nodeType":864},{},[],{"data":105344,"content":105345,"nodeType":4845},{},[105346,105385,105444],{"data":105347,"content":105348,"nodeType":4581},{},[105349,105358,105367,105376],{"data":105350,"content":105351,"nodeType":7282},{},[105352],{"data":105353,"content":105354,"nodeType":860},{},[105355],{"data":105356,"marks":105357,"value":104468,"nodeType":864},{},[],{"data":105359,"content":105360,"nodeType":7282},{},[105361],{"data":105362,"content":105363,"nodeType":860},{},[105364],{"data":105365,"marks":105366,"value":104934,"nodeType":864},{},[],{"data":105368,"content":105369,"nodeType":7282},{},[105370],{"data":105371,"content":105372,"nodeType":860},{},[105373],{"data":105374,"marks":105375,"value":104488,"nodeType":864},{},[],{"data":105377,"content":105378,"nodeType":7282},{},[105379],{"data":105380,"content":105381,"nodeType":860},{},[105382],{"data":105383,"marks":105384,"value":104498,"nodeType":864},{},[],{"data":105386,"content":105387,"nodeType":4581},{},[105388,105407,105426,105435],{"data":105389,"content":105390,"nodeType":4569},{},[105391],{"data":105392,"content":105393,"nodeType":860},{},[105394,105397,105404],{"data":105395,"marks":105396,"value":21,"nodeType":864},{},[],{"data":105398,"content":105399,"nodeType":883},{"uri":87924},[105400],{"data":105401,"marks":105402,"value":104972,"nodeType":864},{},[105403],{"type":1455},{"data":105405,"marks":105406,"value":21,"nodeType":864},{},[],{"data":105408,"content":105409,"nodeType":4569},{},[105410],{"data":105411,"content":105412,"nodeType":860},{},[105413,105416,105423],{"data":105414,"marks":105415,"value":21,"nodeType":864},{},[],{"data":105417,"content":105418,"nodeType":883},{"uri":104987},[105419],{"data":105420,"marks":105421,"value":333,"nodeType":864},{},[105422],{"type":1455},{"data":105424,"marks":105425,"value":21,"nodeType":864},{},[],{"data":105427,"content":105428,"nodeType":4569},{},[105429],{"data":105430,"content":105431,"nodeType":860},{},[105432],{"data":105433,"marks":105434,"value":105005,"nodeType":864},{},[],{"data":105436,"content":105437,"nodeType":4569},{},[105438],{"data":105439,"content":105440,"nodeType":860},{},[105441],{"data":105442,"marks":105443,"value":105015,"nodeType":864},{},[],{"data":105445,"content":105446,"nodeType":4581},{},[105447,105468,105489,105499],{"data":105448,"content":105449,"nodeType":4569},{},[105450],{"data":105451,"content":105452,"nodeType":860},{},[105453,105456,105465],{"data":105454,"marks":105455,"value":21,"nodeType":864},{},[],{"data":105457,"content":105459,"nodeType":883},{"uri":105458},"https://github.com/pushsecurity/saas-attacks/blob/main/techniques/password_scraping/description.md",[105460],{"data":105461,"marks":105462,"value":105464,"nodeType":864},{},[105463],{"type":1455},"SAT1028",{"data":105466,"marks":105467,"value":21,"nodeType":864},{},[],{"data":105469,"content":105470,"nodeType":4569},{},[105471],{"data":105472,"content":105473,"nodeType":860},{},[105474,105477,105486],{"data":105475,"marks":105476,"value":21,"nodeType":864},{},[],{"data":105478,"content":105480,"nodeType":883},{"uri":105479},"https://pushsecurity.com/resources/browser-identity-attacks-matrix/password-scraping",[105481],{"data":105482,"marks":105483,"value":105485,"nodeType":864},{},[105484],{"type":1455},"Password Scraping",{"data":105487,"marks":105488,"value":21,"nodeType":864},{},[],{"data":105490,"content":105491,"nodeType":4569},{},[105492],{"data":105493,"content":105494,"nodeType":860},{},[105495],{"data":105496,"marks":105497,"value":105498,"nodeType":864},{},[],"Credential Access",{"data":105500,"content":105501,"nodeType":4569},{},[105502],{"data":105503,"content":105504,"nodeType":860},{},[105505],{"data":105506,"marks":105507,"value":105508,"nodeType":864},{},[],"Collection of credentials and secrets from repositories e.g. password managers, SaaS file stores, etc.",{"data":105510,"content":105511,"nodeType":1312},{},[105512],{"data":105513,"marks":105514,"value":104630,"nodeType":864},{},[],{"data":105516,"content":105517,"nodeType":860},{},[105518],{"data":105519,"marks":105520,"value":105522,"nodeType":864},{},[105521],{"type":899},"Cloudflare — November 2023",{"data":105524,"content":105525,"nodeType":860},{},[105526],{"data":105527,"marks":105528,"value":105529,"nodeType":864},{},[],"The threat actor used tokens and credentials that had not been rotated to breach Cloudflare’s internal Atlassian server and access its Confluence wiki, Jira bug database, and Bitbucket source code management system. The threat actor first gained access to Cloudflare's self-hosted Atlassian server and then accessed the company's Confluence and Jira systems following a reconnaissance stage. Cloudflare says that this breach did not impact customer data or systems or the provision of services.",{"data":105531,"content":105532,"nodeType":860},{},[105533],{"data":105534,"marks":105535,"value":105537,"nodeType":864},{},[105536],{"type":899},"1Password — October 2023",{"data":105539,"content":105540,"nodeType":860},{},[105541],{"data":105542,"marks":105543,"value":105544,"nodeType":864},{},[],"1Password reported unsolicited activity in their Okta environment which was traced to a suspicious IP address. Later it was confirmed that an threat actor had accessed 1Password’s Okta environment using administrative privileges. They attempted to access the IT team member’s user dashboard, but that attempt was blocked by Okta. They also requested a report of administrative users, which was identified as suspicious and triggered an investigation. 1Password says it terminated the activity, investigated, and found no compromise of user data or other sensitive systems, either employee-facing or user-facing.",{"data":105546,"content":105547,"nodeType":860},{},[105548],{"data":105549,"marks":105550,"value":105552,"nodeType":864},{},[105551],{"type":899},"BeyondTrust - October 2023",{"data":105554,"content":105555,"nodeType":860},{},[105556],{"data":105557,"marks":105558,"value":105559,"nodeType":864},{},[],"BeyondTrust security teams detected an identity-centric attack on an in-house Okta administrator account. BeyondTrust blocked all access to the threat actor, and verified that they did not gain access to any systems. BeyondTrust has confirmed that there was no additional exposure to our internal systems or BeyondTrust’s customers.",{"data":105561,"content":105562,"nodeType":1005},{},[],{"data":105564,"content":105565,"nodeType":1009},{},[105566],{"data":105567,"marks":105568,"value":105569,"nodeType":864},{},[],"MGM Resorts — September 2023",{"data":105571,"content":105572,"nodeType":860},{},[105573],{"data":105574,"marks":105575,"value":105576,"nodeType":864},{},[],"The threat group known as Scattered Spider socially engineered MGM help desk personnel to grant ‘super admin’ access to the Okta tenant, which was then used to steal data and deploy ransomware, resulting in significant business disruption. ",{"data":105578,"content":105579,"nodeType":1312},{},[105580],{"data":105581,"marks":105582,"value":105583,"nodeType":864},{},[],"How did MGM get breached?",{"data":105585,"content":105586,"nodeType":941},{},[105587,105597,105607,105617,105627,105637],{"data":105588,"content":105589,"nodeType":945},{},[105590],{"data":105591,"content":105592,"nodeType":860},{},[105593],{"data":105594,"marks":105595,"value":105596,"nodeType":864},{},[],"Scattered Spider researched MGM employees on LinkedIn to identify individuals likely to have privileged Okta access, specifically Super Administrator privileges. ",{"data":105598,"content":105599,"nodeType":945},{},[105600],{"data":105601,"content":105602,"nodeType":860},{},[105603],{"data":105604,"marks":105605,"value":105606,"nodeType":864},{},[],"Scattered Spider contacted the IT help desk impersonating an employee with a privileged account asking for an authentication reset (password and MFA).",{"data":105608,"content":105609,"nodeType":945},{},[105610],{"data":105611,"content":105612,"nodeType":860},{},[105613],{"data":105614,"marks":105615,"value":105616,"nodeType":864},{},[],"With privileged access, the compromised Super Administrator accounts were used to assign higher privileges to other accounts, circumventing MFA by removing enrolled authenticators and/or removing MFA from authentication policies.",{"data":105618,"content":105619,"nodeType":945},{},[105620],{"data":105621,"content":105622,"nodeType":860},{},[105623],{"data":105624,"marks":105625,"value":105626,"nodeType":864},{},[],"Scattered Spider registered a second, attacker-controlled IdP via Org2Org using inbound federation, granting the ability to impersonate users and access applications on their behalf. By matching the username of target accounts in the second IdP to the original, the attacker was able to SSO into target applications. ",{"data":105628,"content":105629,"nodeType":945},{},[105630],{"data":105631,"content":105632,"nodeType":860},{},[105633],{"data":105634,"marks":105635,"value":105636,"nodeType":864},{},[],"Through inbound federation, Scattered Spider obtained global admin rights in Azure, effectively granting full control over connected systems and granting domain admin privileges in target environments.",{"data":105638,"content":105639,"nodeType":945},{},[105640],{"data":105641,"content":105642,"nodeType":860},{},[105643],{"data":105644,"marks":105645,"value":105646,"nodeType":864},{},[],"Scattered Spider deployed encryption software to around 100 ESXi servers and exfiltrated data, disrupting core business operations.",{"data":105648,"content":105649,"nodeType":1312},{},[105650],{"data":105651,"marks":105652,"value":105653,"nodeType":864},{},[],"What was the impact of the MGM breach?",{"data":105655,"content":105656,"nodeType":941},{},[105657,105667,105677],{"data":105658,"content":105659,"nodeType":945},{},[105660],{"data":105661,"content":105662,"nodeType":860},{},[105663],{"data":105664,"marks":105665,"value":105666,"nodeType":864},{},[],"Led to a 36-hour outage of multiple MGM IT systems and affected a number of its casinos on the Las Vegas strip, including the Bellagio, Excalibur, Luxor, Mandalay Bay and New York New York.",{"data":105668,"content":105669,"nodeType":945},{},[105670],{"data":105671,"content":105672,"nodeType":860},{},[105673],{"data":105674,"marks":105675,"value":105676,"nodeType":864},{},[],"Personal data compromise of an unspecified number of customers including various contact information, dates of births, genders, driver’s license numbers, social security numbers, and passport information. ",{"data":105678,"content":105679,"nodeType":945},{},[105680],{"data":105681,"content":105682,"nodeType":860},{},[105683],{"data":105684,"marks":105685,"value":105686,"nodeType":864},{},[],"MGM reported that the attack would cause a $100 million hit to its third-quarter results, including $10 million in one-time cyber security consulting fees. ",{"data":105688,"content":105689,"nodeType":1312},{},[105690],{"data":105691,"marks":105692,"value":105693,"nodeType":864},{},[],"What stands out in the MGM breach?",{"data":105695,"content":105696,"nodeType":941},{},[105697,105707,105717],{"data":105698,"content":105699,"nodeType":945},{},[105700],{"data":105701,"content":105702,"nodeType":860},{},[105703],{"data":105704,"marks":105705,"value":105706,"nodeType":864},{},[],"The MGM breach demonstrates how financially motivated organized criminal groups are specifically targeting the identity infrastructure of an organization (e.g. the chosen IdP solution) and leveraging cloud-native functionality. ",{"data":105708,"content":105709,"nodeType":945},{},[105710],{"data":105711,"content":105712,"nodeType":860},{},[105713],{"data":105714,"marks":105715,"value":105716,"nodeType":864},{},[],"The MGM breach is notable for being a hybrid attack that ended in what has become a typical “actions on objective” for ransomware operators and their affiliates - the propagation of malware and encryption of core business servers. In this way attackers are leveraging the newer functionality that cloud services provide them to target non-cloud/on-premise resources. This potentially indicates that attackers see cloud applications and services as the path of least resistance to achieving their goals, exploiting more limited security team visibility and understanding of these services compared to more traditional (now well protected) targets. ",{"data":105718,"content":105719,"nodeType":945},{},[105720],{"data":105721,"content":105722,"nodeType":860},{},[105723],{"data":105724,"marks":105725,"value":105726,"nodeType":864},{},[],"While attackers were focused on taking control of the cloud IdP, the initial access vector was notable for being a more traditional method (vishing) to bypass the need to acquire credentials (password and MFA token). This type of technique remains consistently effective, regardless of the technology landscape and whether MFA is correctly implemented or not.    ",{"data":105728,"content":105729,"nodeType":1312},{},[105730],{"data":105731,"marks":105732,"value":104445,"nodeType":864},{},[],{"data":105734,"content":105735,"nodeType":860},{},[105736],{"data":105737,"marks":105738,"value":104452,"nodeType":864},{},[],{"data":105740,"content":105741,"nodeType":4845},{},[105742,105781],{"data":105743,"content":105744,"nodeType":4581},{},[105745,105754,105763,105772],{"data":105746,"content":105747,"nodeType":7282},{},[105748],{"data":105749,"content":105750,"nodeType":860},{},[105751],{"data":105752,"marks":105753,"value":104468,"nodeType":864},{},[],{"data":105755,"content":105756,"nodeType":7282},{},[105757],{"data":105758,"content":105759,"nodeType":860},{},[105760],{"data":105761,"marks":105762,"value":104934,"nodeType":864},{},[],{"data":105764,"content":105765,"nodeType":7282},{},[105766],{"data":105767,"content":105768,"nodeType":860},{},[105769],{"data":105770,"marks":105771,"value":104488,"nodeType":864},{},[],{"data":105773,"content":105774,"nodeType":7282},{},[105775],{"data":105776,"content":105777,"nodeType":860},{},[105778],{"data":105779,"marks":105780,"value":104498,"nodeType":864},{},[],{"data":105782,"content":105783,"nodeType":4581},{},[105784,105804,105825,105835],{"data":105785,"content":105786,"nodeType":4569},{},[105787],{"data":105788,"content":105789,"nodeType":860},{},[105790,105793,105801],{"data":105791,"marks":105792,"value":21,"nodeType":864},{},[],{"data":105794,"content":105795,"nodeType":883},{"uri":26938},[105796],{"data":105797,"marks":105798,"value":105800,"nodeType":864},{},[105799],{"type":1455},"SAT1041",{"data":105802,"marks":105803,"value":21,"nodeType":864},{},[],{"data":105805,"content":105806,"nodeType":4569},{},[105807],{"data":105808,"content":105809,"nodeType":860},{},[105810,105813,105822],{"data":105811,"marks":105812,"value":21,"nodeType":864},{},[],{"data":105814,"content":105816,"nodeType":883},{"uri":105815},"https://pushsecurity.com/resources/browser-identity-attacks-matrix/inbound-federation",[105817],{"data":105818,"marks":105819,"value":105821,"nodeType":864},{},[105820],{"type":1455},"Inbound Federation",{"data":105823,"marks":105824,"value":21,"nodeType":864},{},[],{"data":105826,"content":105827,"nodeType":4569},{},[105828],{"data":105829,"content":105830,"nodeType":860},{},[105831],{"data":105832,"marks":105833,"value":105834,"nodeType":864},{},[],"Persistence; Lateral Movement",{"data":105836,"content":105837,"nodeType":4569},{},[105838],{"data":105839,"content":105840,"nodeType":860},{},[105841],{"data":105842,"marks":105843,"value":105844,"nodeType":864},{},[],"Inbound federation allows users to login to a target identity provider by authenticating with a source identity provider",{"data":105846,"content":105847,"nodeType":1005},{},[],{"data":105849,"content":105850,"nodeType":1009},{},[105851],{"data":105852,"marks":105853,"value":105854,"nodeType":864},{},[],"Retool — August 2023",{"data":105856,"content":105857,"nodeType":860},{},[105858],{"data":105859,"marks":105860,"value":105861,"nodeType":864},{},[],"Software development company Retool disclosed that the accounts of 27 of its cloud customers were compromised following a targeted SMS-based social engineering attack, which was enabled by Google Authenticator’s default synchronization of MFA tokens with the associated Google account.  ",{"data":105863,"content":105864,"nodeType":1312},{},[105865],{"data":105866,"marks":105867,"value":105868,"nodeType":864},{},[],"How did Retool get breached?",{"data":105870,"content":105871,"nodeType":941},{},[105872,105882,105892,105902,105912,105922],{"data":105873,"content":105874,"nodeType":945},{},[105875],{"data":105876,"content":105877,"nodeType":860},{},[105878],{"data":105879,"marks":105880,"value":105881,"nodeType":864},{},[],"The threat actor launched a targeted SMS-based phishing campaign against Retool employees with a custom lure relating to their workplace healthcare coverage.",{"data":105883,"content":105884,"nodeType":945},{},[105885],{"data":105886,"content":105887,"nodeType":860},{},[105888],{"data":105889,"marks":105890,"value":105891,"nodeType":864},{},[],"The timing coincided with a recently announced migration of logins to Okta, and the message contained a url disguised to look like their internal identity portal.",{"data":105893,"content":105894,"nodeType":945},{},[105895],{"data":105896,"content":105897,"nodeType":860},{},[105898],{"data":105899,"marks":105900,"value":105901,"nodeType":864},{},[],"After logging into the fake portal – which included an MFA form – the threat actor called the employee impersonating an IT team member, deepfaking the IT employee’s real voice and using real information about the company to build trust.",{"data":105903,"content":105904,"nodeType":945},{},[105905],{"data":105906,"content":105907,"nodeType":860},{},[105908],{"data":105909,"marks":105910,"value":105911,"nodeType":864},{},[],"The phished employee shared an MFA OTP token which allowed the threat actor to add their own personal device to the employee’s Okta account and enabled their own Okta MFA from that point forward.",{"data":105913,"content":105914,"nodeType":945},{},[105915],{"data":105916,"content":105917,"nodeType":860},{},[105918],{"data":105919,"marks":105920,"value":105921,"nodeType":864},{},[],"Due to the Google Authenticator synchronization feature that syncs MFA codes to the cloud by default, meaning that access to a Google account immediately gave access to all MFA tokens held within that account.",{"data":105923,"content":105924,"nodeType":945},{},[105925],{"data":105926,"content":105927,"nodeType":860},{},[105928],{"data":105929,"marks":105930,"value":105931,"nodeType":864},{},[],"This enabled the threat actor to take over a number of identities associated with a range of target apps and change the credentials.",{"data":105933,"content":105934,"nodeType":1312},{},[105935],{"data":105936,"marks":105937,"value":105938,"nodeType":864},{},[],"What was the impact of the Retool breach?",{"data":105940,"content":105941,"nodeType":941},{},[105942,105952,105962],{"data":105943,"content":105944,"nodeType":945},{},[105945],{"data":105946,"content":105947,"nodeType":860},{},[105948],{"data":105949,"marks":105950,"value":105951,"nodeType":864},{},[],"A total of 27 customers were impacted, with the threat actor specifically targeting customers in the Crypto industry.",{"data":105953,"content":105954,"nodeType":945},{},[105955],{"data":105956,"content":105957,"nodeType":860},{},[105958],{"data":105959,"marks":105960,"value":105961,"nodeType":864},{},[],"After taking over the accounts, the threat actor was observed gathering information and exploring the Retool apps.",{"data":105963,"content":105964,"nodeType":945},{},[105965],{"data":105966,"content":105967,"nodeType":860},{},[105968],{"data":105969,"marks":105970,"value":105971,"nodeType":864},{},[],"After learning of the attack, Retool revoked all internal authenticated sessions (Okta, GSuite, etc.) for employees, locked down access to the affected accounts, notified the affected customers, and restored their accounts to their original state.",{"data":105973,"content":105974,"nodeType":1312},{},[105975],{"data":105976,"marks":105977,"value":105978,"nodeType":864},{},[],"What stands out in the Retool breach?",{"data":105980,"content":105981,"nodeType":941},{},[105982,105992,106002],{"data":105983,"content":105984,"nodeType":945},{},[105985],{"data":105986,"content":105987,"nodeType":860},{},[105988],{"data":105989,"marks":105990,"value":105991,"nodeType":864},{},[],"Like the MGM breach, the Retool breach demonstrates how financially motivated organized criminal groups are specifically targeting the identity infrastructure of an organization (e.g. the chosen IdP solution) and leveraging cloud-native functionality. ",{"data":105993,"content":105994,"nodeType":945},{},[105995],{"data":105996,"content":105997,"nodeType":860},{},[105998],{"data":105999,"marks":106000,"value":106001,"nodeType":864},{},[],"A further similarity with the MGM breach, while attackers were focused on taking control of the cloud IdP, the initial access vector was notable for being a more traditional method (SMS phishing in this case) to bypass the need to acquire credentials (password and MFA token). This type of technique remains consistently effective, regardless of the technology landscape and whether MFA is correctly implemented or not.    ",{"data":106003,"content":106004,"nodeType":945},{},[106005],{"data":106006,"content":106007,"nodeType":860},{},[106008],{"data":106009,"marks":106010,"value":106011,"nodeType":864},{},[],"In this case, the attacker abused inherent weaknesses in Google Authenticator, which came under fire following the breach for its default synchronization of MFA codes to the cloud when connected to an account, in order to move laterally and compromise other target apps. ",{"data":106013,"content":106014,"nodeType":1312},{},[106015],{"data":106016,"marks":106017,"value":104445,"nodeType":864},{},[],{"data":106019,"content":106020,"nodeType":860},{},[106021],{"data":106022,"marks":106023,"value":104452,"nodeType":864},{},[],{"data":106025,"content":106026,"nodeType":4845},{},[106027,106066,106131],{"data":106028,"content":106029,"nodeType":4581},{},[106030,106039,106048,106057],{"data":106031,"content":106032,"nodeType":7282},{},[106033],{"data":106034,"content":106035,"nodeType":860},{},[106036],{"data":106037,"marks":106038,"value":104468,"nodeType":864},{},[],{"data":106040,"content":106041,"nodeType":7282},{},[106042],{"data":106043,"content":106044,"nodeType":860},{},[106045],{"data":106046,"marks":106047,"value":104934,"nodeType":864},{},[],{"data":106049,"content":106050,"nodeType":7282},{},[106051],{"data":106052,"content":106053,"nodeType":860},{},[106054],{"data":106055,"marks":106056,"value":104488,"nodeType":864},{},[],{"data":106058,"content":106059,"nodeType":7282},{},[106060],{"data":106061,"content":106062,"nodeType":860},{},[106063],{"data":106064,"marks":106065,"value":104498,"nodeType":864},{},[],{"data":106067,"content":106068,"nodeType":4581},{},[106069,106090,106112,106121],{"data":106070,"content":106071,"nodeType":4569},{},[106072],{"data":106073,"content":106074,"nodeType":860},{},[106075,106079,106087],{"data":106076,"marks":106077,"value":21,"nodeType":864},{},[106078],{"type":1455},{"data":106080,"content":106081,"nodeType":883},{"uri":42012},[106082],{"data":106083,"marks":106084,"value":106086,"nodeType":864},{},[106085],{"type":1455},"SAT1042",{"data":106088,"marks":106089,"value":21,"nodeType":864},{},[],{"data":106091,"content":106092,"nodeType":4569},{},[106093],{"data":106094,"content":106095,"nodeType":860},{},[106096,106100,106109],{"data":106097,"marks":106098,"value":21,"nodeType":864},{},[106099],{"type":1455},{"data":106101,"content":106103,"nodeType":883},{"uri":106102},"https://pushsecurity.com/resources/browser-identity-attacks-matrix/aitm-phishing",[106104],{"data":106105,"marks":106106,"value":106108,"nodeType":864},{},[106107],{"type":1455},"AiTM Phishing",{"data":106110,"marks":106111,"value":21,"nodeType":864},{},[],{"data":106113,"content":106114,"nodeType":4569},{},[106115],{"data":106116,"content":106117,"nodeType":860},{},[106118],{"data":106119,"marks":106120,"value":105005,"nodeType":864},{},[],{"data":106122,"content":106123,"nodeType":4569},{},[106124],{"data":106125,"content":106126,"nodeType":860},{},[106127],{"data":106128,"marks":106129,"value":106130,"nodeType":864},{},[],"Attacker-in-the-Middle (AiTM) phishing uses dedicated tooling to act as a web proxy between the victim and a legitimate login portal for an application the victim has access to, principally to make it easier to defeat MFA protection.",{"data":106132,"content":106133,"nodeType":4581},{},[106134,106155,106178,106188],{"data":106135,"content":106136,"nodeType":4569},{},[106137],{"data":106138,"content":106139,"nodeType":860},{},[106140,106143,106152],{"data":106141,"marks":106142,"value":21,"nodeType":864},{},[],{"data":106144,"content":106146,"nodeType":883},{"uri":106145},"https://github.com/pushsecurity/saas-attacks/blob/main/techniques/device_enrollment/description.md",[106147],{"data":106148,"marks":106149,"value":106151,"nodeType":864},{},[106150],{"type":1455},"SAT1043",{"data":106153,"marks":106154,"value":21,"nodeType":864},{},[],{"data":106156,"content":106157,"nodeType":4569},{},[106158],{"data":106159,"content":106160,"nodeType":860},{},[106161,106165,106174],{"data":106162,"marks":106163,"value":21,"nodeType":864},{},[106164],{"type":1455},{"data":106166,"content":106168,"nodeType":883},{"uri":106167},"https://pushsecurity.com/resources/browser-identity-attacks-matrix/device-enrollment",[106169],{"data":106170,"marks":106171,"value":106173,"nodeType":864},{},[106172],{"type":1455},"Device Enrollment",{"data":106175,"marks":106176,"value":21,"nodeType":864},{},[106177],{"type":1455},{"data":106179,"content":106180,"nodeType":4569},{},[106181],{"data":106182,"content":106183,"nodeType":860},{},[106184],{"data":106185,"marks":106186,"value":106187,"nodeType":864},{},[],"Initial Access; Persistence",{"data":106189,"content":106190,"nodeType":4569},{},[106191],{"data":106192,"content":106193,"nodeType":860},{},[106194],{"data":106195,"marks":106196,"value":106197,"nodeType":864},{},[],"Enrollment of a new MFA device in order to allow an adversary to complete MFA challenges for future authentication. ",{"data":106199,"content":106200,"nodeType":1005},{},[],{"data":106202,"content":106203,"nodeType":1009},{},[106204],{"data":106205,"marks":106206,"value":106207,"nodeType":864},{},[],"GitHub / Heroku / Travis-CI / npm — April 2022",{"data":106209,"content":106210,"nodeType":860},{},[106211],{"data":106212,"marks":106213,"value":106214,"nodeType":864},{},[],"An unknown threat actor used stolen OAuth user tokens (issued to Heroku and Travis-CI) to download data from private repositories. The threat actor then compromised an internal Heroku customer database as well as accessed and stole data from dozens of downstream organizations using Heroku and Travis-CI-maintained OAuth apps.",{"data":106216,"content":106217,"nodeType":1312},{},[106218],{"data":106219,"marks":106220,"value":106221,"nodeType":864},{},[],"How did they get breached?",{"data":106223,"content":106224,"nodeType":941},{},[106225,106235,106245,106255,106265,106275,106285],{"data":106226,"content":106227,"nodeType":945},{},[106228],{"data":106229,"content":106230,"nodeType":860},{},[106231],{"data":106232,"marks":106233,"value":106234,"nodeType":864},{},[],"The threat actor obtained access to two third-party OAuth integrators, Heroku and Travis-CI, accessing databases and downloading stored customer GitHub integration OAuth tokens. These tokens had earlier been used by Travis-CI and Heroku OAuth applications to integrate with GitHub to deploy applications.",{"data":106236,"content":106237,"nodeType":945},{},[106238],{"data":106239,"content":106240,"nodeType":860},{},[106241],{"data":106242,"marks":106243,"value":106244,"nodeType":864},{},[],"Access to the environment was gained by leveraging a compromised token for a Heroku machine account, but it is not disclosed how the threat actor achieved this. ",{"data":106246,"content":106247,"nodeType":945},{},[106248],{"data":106249,"content":106250,"nodeType":860},{},[106251],{"data":106252,"marks":106253,"value":106254,"nodeType":864},{},[],"The threat actor authenticated to the GitHub API using the stolen OAuth tokens issued to Heroku and Travis CI.",{"data":106256,"content":106257,"nodeType":945},{},[106258],{"data":106259,"content":106260,"nodeType":860},{},[106261],{"data":106262,"marks":106263,"value":106264,"nodeType":864},{},[],"For users who had the affected Heroku or Travis CI OAuth apps authorized in their GitHub accounts, the threat actor listed all the user's organizations.",{"data":106266,"content":106267,"nodeType":945},{},[106268],{"data":106269,"content":106270,"nodeType":860},{},[106271],{"data":106272,"marks":106273,"value":106274,"nodeType":864},{},[],"The threat actor then selected targets based on the listed organizations.",{"data":106276,"content":106277,"nodeType":945},{},[106278],{"data":106279,"content":106280,"nodeType":860},{},[106281],{"data":106282,"marks":106283,"value":106284,"nodeType":864},{},[],"The threat actor listed the private repositories for user accounts of interest and proceeded to clone private repositories of interest.",{"data":106286,"content":106287,"nodeType":945},{},[106288],{"data":106289,"content":106290,"nodeType":860},{},[106291],{"data":106292,"marks":106293,"value":106294,"nodeType":864},{},[],"GitHub identified unauthorized access to their npm production infrastructure using a compromised AWS API key, obtained by the threat actor when they downloaded a set of private npm repositories using a stolen OAuth token from one of the two affected third-party OAuth applications.",{"data":106296,"content":106297,"nodeType":1312},{},[106298],{"data":106299,"marks":106300,"value":106301,"nodeType":864},{},[],"What was the impact?",{"data":106303,"content":106304,"nodeType":941},{},[106305,106315,106325],{"data":106306,"content":106307,"nodeType":945},{},[106308],{"data":106309,"content":106310,"nodeType":860},{},[106311],{"data":106312,"marks":106313,"value":106314,"nodeType":864},{},[],"By stealing these OAuth tokens, the threat actor could access and download data from GitHub repositories belonging to those who authorized the compromised Heroku or Travis CI OAuth apps with their accounts. ",{"data":106316,"content":106317,"nodeType":945},{},[106318],{"data":106319,"content":106320,"nodeType":860},{},[106321],{"data":106322,"marks":106323,"value":106324,"nodeType":864},{},[],"The threat actor was able to mine the downloaded private repositories for secrets that could be used to pivot to other infrastructure, stealing data from dozens of organizations. ",{"data":106326,"content":106327,"nodeType":945},{},[106328],{"data":106329,"content":106330,"nodeType":860},{},[106331],{"data":106332,"marks":106333,"value":106334,"nodeType":864},{},[],"In addition to user repo’s downstream, the compromised token for a Heroku machine account obtained by threat actors also allowed unauthorized access into Heroku's internal database of customer accounts, enabling the threat actor to extract the hashed and salted passwords. ",{"data":106336,"content":106337,"nodeType":1312},{},[106338],{"data":106339,"marks":106340,"value":106341,"nodeType":864},{},[],"What stands out in the Github breach?",{"data":106343,"content":106344,"nodeType":941},{},[106345,106355,106365],{"data":106346,"content":106347,"nodeType":945},{},[106348],{"data":106349,"content":106350,"nodeType":860},{},[106351],{"data":106352,"marks":106353,"value":106354,"nodeType":864},{},[],"Similar to the Okta breach, this attack showcases the possibility of third-party supply chain attacks to target downstream organizations using cloud SaaS services. In this case, targeting OAuth integrators as opposed to IdP providers, but with a similar goal and impact of compromising the real target organizations downstream. ",{"data":106356,"content":106357,"nodeType":945},{},[106358],{"data":106359,"content":106360,"nodeType":860},{},[106361],{"data":106362,"marks":106363,"value":106364,"nodeType":864},{},[],"Applications like Github are an obvious target for attackers due to their widespread adoption. There have been numerous attacks leveraging Github as the vehicle for attacks by compromising repo’s to insert malicious code, or registering malicious copycat repo’s to dupe users into using them. ",{"data":106366,"content":106367,"nodeType":945},{},[106368],{"data":106369,"content":106370,"nodeType":860},{},[106371],{"data":106372,"marks":106373,"value":106374,"nodeType":864},{},[],"Unlike the attacks abusing the functionality of Github (repo poisoning) which target the legitimate developer processes when using the app, this attack could have been prevented at the identity layer before the attacker was able to breach the Heroku/Travis-CI accounts. ",{"data":106376,"content":106377,"nodeType":1312},{},[106378],{"data":106379,"marks":106380,"value":104445,"nodeType":864},{},[],{"data":106382,"content":106383,"nodeType":860},{},[106384],{"data":106385,"marks":106386,"value":104452,"nodeType":864},{},[],{"data":106388,"content":106389,"nodeType":4845},{},[106390,106429,106489,106552],{"data":106391,"content":106392,"nodeType":4581},{},[106393,106402,106411,106420],{"data":106394,"content":106395,"nodeType":7282},{},[106396],{"data":106397,"content":106398,"nodeType":860},{},[106399],{"data":106400,"marks":106401,"value":104468,"nodeType":864},{},[],{"data":106403,"content":106404,"nodeType":7282},{},[106405],{"data":106406,"content":106407,"nodeType":860},{},[106408],{"data":106409,"marks":106410,"value":104934,"nodeType":864},{},[],{"data":106412,"content":106413,"nodeType":7282},{},[106414],{"data":106415,"content":106416,"nodeType":860},{},[106417],{"data":106418,"marks":106419,"value":104488,"nodeType":864},{},[],{"data":106421,"content":106422,"nodeType":7282},{},[106423],{"data":106424,"content":106425,"nodeType":860},{},[106426],{"data":106427,"marks":106428,"value":104498,"nodeType":864},{},[],{"data":106430,"content":106431,"nodeType":4581},{},[106432,106451,106470,106480],{"data":106433,"content":106434,"nodeType":4569},{},[106435],{"data":106436,"content":106437,"nodeType":860},{},[106438,106441,106448],{"data":106439,"marks":106440,"value":21,"nodeType":864},{},[],{"data":106442,"content":106443,"nodeType":883},{"uri":96606},[106444],{"data":106445,"marks":106446,"value":105098,"nodeType":864},{},[106447],{"type":1455},{"data":106449,"marks":106450,"value":21,"nodeType":864},{},[],{"data":106452,"content":106453,"nodeType":4569},{},[106454],{"data":106455,"content":106456,"nodeType":860},{},[106457,106460,106467],{"data":106458,"marks":106459,"value":21,"nodeType":864},{},[],{"data":106461,"content":106462,"nodeType":883},{"uri":105113},[106463],{"data":106464,"marks":106465,"value":105119,"nodeType":864},{},[106466],{"type":1455},{"data":106468,"marks":106469,"value":21,"nodeType":864},{},[],{"data":106471,"content":106472,"nodeType":4569},{},[106473],{"data":106474,"content":106475,"nodeType":860},{},[106476],{"data":106477,"marks":106478,"value":106479,"nodeType":864},{},[],"Privilege Escalation; Lateral Movement",{"data":106481,"content":106482,"nodeType":4569},{},[106483],{"data":106484,"content":106485,"nodeType":860},{},[106486],{"data":106487,"marks":106488,"value":105142,"nodeType":864},{},[],{"data":106490,"content":106491,"nodeType":4581},{},[106492,106512,106532,106542],{"data":106493,"content":106494,"nodeType":4569},{},[106495],{"data":106496,"content":106497,"nodeType":860},{},[106498,106501,106509],{"data":106499,"marks":106500,"value":21,"nodeType":864},{},[],{"data":106502,"content":106503,"nodeType":883},{"uri":36086},[106504],{"data":106505,"marks":106506,"value":106508,"nodeType":864},{},[106507],{"type":1455},"SAT1004",{"data":106510,"marks":106511,"value":21,"nodeType":864},{},[],{"data":106513,"content":106514,"nodeType":4569},{},[106515],{"data":106516,"content":106517,"nodeType":860},{},[106518,106521,106529],{"data":106519,"marks":106520,"value":21,"nodeType":864},{},[],{"data":106522,"content":106524,"nodeType":883},{"uri":106523},"https://pushsecurity.com/resources/browser-identity-attacks-matrix/api-keys",[106525],{"data":106526,"marks":106527,"value":96392,"nodeType":864},{},[106528],{"type":1455},{"data":106530,"marks":106531,"value":21,"nodeType":864},{},[],{"data":106533,"content":106534,"nodeType":4569},{},[106535],{"data":106536,"content":106537,"nodeType":860},{},[106538],{"data":106539,"marks":106540,"value":106541,"nodeType":864},{},[],"Persistence; Defense Evasion",{"data":106543,"content":106544,"nodeType":4569},{},[106545],{"data":106546,"content":106547,"nodeType":860},{},[106548],{"data":106549,"marks":106550,"value":106551,"nodeType":864},{},[],"An adversary that has compromised an account could then read existing API keys from the app settings, if the app allows this, or create a new API key.",{"data":106553,"content":106554,"nodeType":4581},{},[106555,106576,106597,106607],{"data":106556,"content":106557,"nodeType":4569},{},[106558],{"data":106559,"content":106560,"nodeType":860},{},[106561,106564,106573],{"data":106562,"marks":106563,"value":21,"nodeType":864},{},[],{"data":106565,"content":106567,"nodeType":883},{"uri":106566},"https://github.com/pushsecurity/saas-attacks/blob/main/techniques/app_directory_lookup/description.md#app-directory-lookup",[106568],{"data":106569,"marks":106570,"value":106572,"nodeType":864},{},[106571],{"type":1455},"SAT1006",{"data":106574,"marks":106575,"value":21,"nodeType":864},{},[],{"data":106577,"content":106578,"nodeType":4569},{},[106579],{"data":106580,"content":106581,"nodeType":860},{},[106582,106585,106594],{"data":106583,"marks":106584,"value":21,"nodeType":864},{},[],{"data":106586,"content":106588,"nodeType":883},{"uri":106587},"https://pushsecurity.com/resources/browser-identity-attacks-matrix/app-directory-lookup",[106589],{"data":106590,"marks":106591,"value":106593,"nodeType":864},{},[106592],{"type":1455},"App directory lookup",{"data":106595,"marks":106596,"value":21,"nodeType":864},{},[],{"data":106598,"content":106599,"nodeType":4569},{},[106600],{"data":106601,"content":106602,"nodeType":860},{},[106603],{"data":106604,"marks":106605,"value":106606,"nodeType":864},{},[],"Discovery",{"data":106608,"content":106609,"nodeType":4569},{},[106610],{"data":106611,"content":106612,"nodeType":860},{},[106613],{"data":106614,"marks":106615,"value":106616,"nodeType":864},{},[],"An adversary who has gained a foothold via a SaaS app could download the list of users accessible to them in order to better target attacks against other users.",{"data":106618,"content":106619,"nodeType":1005},{},[],{"data":106621,"content":106622,"nodeType":1009},{},[106623],{"data":106624,"marks":106625,"value":106626,"nodeType":864},{},[],"Other notable attacks",{"data":106628,"content":106629,"nodeType":1312},{},[106630],{"data":106631,"marks":106632,"value":106633,"nodeType":864},{},[],"SEC X hack — January 2024",{"data":106635,"content":106636,"nodeType":860},{},[106637],{"data":106638,"marks":106639,"value":106640,"nodeType":864},{},[],"The X account for the U.S. Securities and Exchange Commission was victim to a SIM swapping attack, whereupon the attacker used the social media platform to issue a fake announcement on the approval of Bitcoin ETFs on security exchanges.",{"data":106642,"content":106643,"nodeType":860},{},[106644],{"data":106645,"marks":106646,"value":106647,"nodeType":864},{},[],"Once the threat actors controlled the number, they reset the password for the @SECGov account, and created the fake announcement. The SEC also confirmed that multi-factor authentication was not enabled on the account, as they had asked X support to disable it when they encountered problems logging into the account.",{"data":106649,"content":106650,"nodeType":1005},{},[],{"data":106652,"content":106653,"nodeType":1312},{},[106654],{"data":106655,"marks":106656,"value":106657,"nodeType":864},{},[],"Mandiant X hack — January 2024",{"data":106659,"content":106660,"nodeType":860},{},[106661],{"data":106662,"marks":106663,"value":106664,"nodeType":864},{},[],"The X account for Mandiant was hacked by a Drainer-as-a-Service (DaaS) gang in a brute force attack. MFA was not enabled on the account. The threat actor used the social media account to share links redirecting to a phishing page to steal cryptocurrency. ",{"data":106666,"content":106667,"nodeType":860},{},[106668],{"data":106669,"marks":106670,"value":106671,"nodeType":864},{},[],"The attacker used a wallet drainer dubbed CLINKSINK. This same drainer has been used since December to steal funds and tokens from users of Solana cryptocurrency as part of a large-scale campaign involving at least 35 affiliate IDs linked to a shared DaaS.",{"data":106673,"content":106674,"nodeType":1005},{},[],{"data":106676,"content":106677,"nodeType":1312},{},[106678],{"data":106679,"marks":106680,"value":106681,"nodeType":864},{},[],"23andMe data breach — April 2023",{"data":106683,"content":106684,"nodeType":860},{},[106685],{"data":106686,"marks":106687,"value":106688,"nodeType":864},{},[],"Genetic testing provider 23andMe confirmed that hackers downloaded the data of 6.9 million people of the existing 14 million customers after breaching around 14,000 user accounts. ",{"data":106690,"content":106691,"nodeType":860},{},[106692],{"data":106693,"marks":106694,"value":106695,"nodeType":864},{},[],"The attacker stole health reports and raw genotype data of customers affected by a credential stuffing attack that went unnoticed for five months, from April 29 to September 27. ",{"data":106697,"content":106698,"nodeType":860},{},[106699],{"data":106700,"marks":106701,"value":106702,"nodeType":864},{},[],"The credentials used by the attackers to breach the customers' accounts were stolen in other data breaches or used on previously compromised online platforms, and targeted accounts without MFA. ","Tracking identity-based attacks in the wild","To help organizations keep track of how browser-based identity attacks are evolving, we've put together this index of recent breaches.","2024-03-21T00:00:00.000Z","identity-attacks-in-the-wild",{"items":106708},[106709,106711],{"sys":106710,"name":6593},{"id":6592},{"sys":106712,"name":342},{"id":6596},{"items":106714},[106715],{"fullName":2736,"firstName":2737,"jobTitle":2738,"profilePicture":106716},{"url":2740},{"__typename":2059,"sys":106718,"content":106719,"title":92571,"synopsis":92572,"hashTags":59,"publishedDate":92573,"slug":92574,"tagsCollection":107396,"authorsCollection":107402},{"id":89491},{"json":106720},{"data":106721,"content":106722,"nodeType":856},{},[106723,106728,106734,106776,106782,106788,106801,106807,106813,106882,106888,106893,106899,106905,106918,106924,106930,106950,106970,106975,106992,106998,107004,107031,107037,107043,107048,107065,107071,107077,107083,107089,107094,107111,107117,107123,107129,107135,107140,107157,107163,107169,107174,107191,107197,107203,107209,107251,107257,107318,107331,107336,107342,107348,107354,107360,107375,107381],{"data":106724,"content":106727,"nodeType":996},{"target":106725},{"sys":106726},{"id":91816,"type":1001,"linkType":1002},[],{"data":106729,"content":106730,"nodeType":860},{},[106731],{"data":106732,"marks":106733,"value":91824,"nodeType":864},{},[],{"data":106735,"content":106736,"nodeType":860},{},[106737,106740,106746,106749,106755,106758,106764,106767,106773],{"data":106738,"marks":106739,"value":91831,"nodeType":864},{},[],{"data":106741,"content":106742,"nodeType":883},{"uri":91834},[106743],{"data":106744,"marks":106745,"value":91839,"nodeType":864},{},[],{"data":106747,"marks":106748,"value":1171,"nodeType":864},{},[],{"data":106750,"content":106751,"nodeType":883},{"uri":91845},[106752],{"data":106753,"marks":106754,"value":91850,"nodeType":864},{},[],{"data":106756,"marks":106757,"value":1171,"nodeType":864},{},[],{"data":106759,"content":106760,"nodeType":883},{"uri":8628},[106761],{"data":106762,"marks":106763,"value":91860,"nodeType":864},{},[],{"data":106765,"marks":106766,"value":1171,"nodeType":864},{},[],{"data":106768,"content":106769,"nodeType":883},{"uri":91866},[106770],{"data":106771,"marks":106772,"value":91871,"nodeType":864},{},[],{"data":106774,"marks":106775,"value":91875,"nodeType":864},{},[],{"data":106777,"content":106778,"nodeType":860},{},[106779],{"data":106780,"marks":106781,"value":91882,"nodeType":864},{},[],{"data":106783,"content":106784,"nodeType":860},{},[106785],{"data":106786,"marks":106787,"value":91889,"nodeType":864},{},[],{"data":106789,"content":106790,"nodeType":860},{},[106791,106794,106798],{"data":106792,"marks":106793,"value":91896,"nodeType":864},{},[],{"data":106795,"marks":106796,"value":91901,"nodeType":864},{},[106797],{"type":899},{"data":106799,"marks":106800,"value":2924,"nodeType":864},{},[],{"data":106802,"content":106803,"nodeType":860},{},[106804],{"data":106805,"marks":106806,"value":91911,"nodeType":864},{},[],{"data":106808,"content":106809,"nodeType":860},{},[106810],{"data":106811,"marks":106812,"value":91918,"nodeType":864},{},[],{"data":106814,"content":106815,"nodeType":941},{},[106816,106841],{"data":106817,"content":106818,"nodeType":945},{},[106819],{"data":106820,"content":106821,"nodeType":860},{},[106822,106826,106829,106838],{"data":106823,"marks":106824,"value":91932,"nodeType":864},{},[106825],{"type":899},{"data":106827,"marks":106828,"value":91936,"nodeType":864},{},[],{"data":106830,"content":106833,"nodeType":27604},{"target":106831},{"sys":106832},{"id":91941,"type":1001,"linkType":1002},[106834],{"data":106835,"marks":106836,"value":51400,"nodeType":864},{},[106837],{"type":899},{"data":106839,"marks":106840,"value":91950,"nodeType":864},{},[],{"data":106842,"content":106843,"nodeType":945},{},[106844],{"data":106845,"content":106846,"nodeType":860},{},[106847,106851,106854,106860,106863,106869,106872,106879],{"data":106848,"marks":106849,"value":91961,"nodeType":864},{},[106850],{"type":899},{"data":106852,"marks":106853,"value":91965,"nodeType":864},{},[],{"data":106855,"content":106856,"nodeType":883},{"uri":90269},[106857],{"data":106858,"marks":106859,"value":91972,"nodeType":864},{},[],{"data":106861,"marks":106862,"value":3731,"nodeType":864},{},[],{"data":106864,"content":106865,"nodeType":883},{"uri":91978},[106866],{"data":106867,"marks":106868,"value":91983,"nodeType":864},{},[],{"data":106870,"marks":106871,"value":91987,"nodeType":864},{},[],{"data":106873,"content":106874,"nodeType":883},{"uri":91990},[106875],{"data":106876,"marks":106877,"value":28609,"nodeType":864},{},[106878],{"type":899},{"data":106880,"marks":106881,"value":91999,"nodeType":864},{},[],{"data":106883,"content":106884,"nodeType":860},{},[106885],{"data":106886,"marks":106887,"value":92006,"nodeType":864},{},[],{"data":106889,"content":106892,"nodeType":996},{"target":106890},{"sys":106891},{"id":92011,"type":1001,"linkType":1002},[],{"data":106894,"content":106895,"nodeType":1009},{},[106896],{"data":106897,"marks":106898,"value":92019,"nodeType":864},{},[],{"data":106900,"content":106901,"nodeType":860},{},[106902],{"data":106903,"marks":106904,"value":92026,"nodeType":864},{},[],{"data":106906,"content":106907,"nodeType":860},{},[106908,106911,106915],{"data":106909,"marks":106910,"value":92033,"nodeType":864},{},[],{"data":106912,"marks":106913,"value":51400,"nodeType":864},{},[106914],{"type":899},{"data":106916,"marks":106917,"value":92041,"nodeType":864},{},[],{"data":106919,"content":106920,"nodeType":860},{},[106921],{"data":106922,"marks":106923,"value":92048,"nodeType":864},{},[],{"data":106925,"content":106926,"nodeType":1312},{},[106927],{"data":106928,"marks":106929,"value":74079,"nodeType":864},{},[],{"data":106931,"content":106932,"nodeType":860},{},[106933,106936,106940,106943,106947],{"data":106934,"marks":106935,"value":92061,"nodeType":864},{},[],{"data":106937,"marks":106938,"value":92066,"nodeType":864},{},[106939],{"type":899},{"data":106941,"marks":106942,"value":902,"nodeType":864},{},[],{"data":106944,"marks":106945,"value":92074,"nodeType":864},{},[106946],{"type":899},{"data":106948,"marks":106949,"value":2924,"nodeType":864},{},[],{"data":106951,"content":106952,"nodeType":860},{},[106953,106956,106960,106963,106967],{"data":106954,"marks":106955,"value":92084,"nodeType":864},{},[],{"data":106957,"marks":106958,"value":1503,"nodeType":864},{},[106959],{"type":899},{"data":106961,"marks":106962,"value":27405,"nodeType":864},{},[],{"data":106964,"marks":106965,"value":1397,"nodeType":864},{},[106966],{"type":899},{"data":106968,"marks":106969,"value":92099,"nodeType":864},{},[],{"data":106971,"content":106974,"nodeType":996},{"target":106972},{"sys":106973},{"id":74087,"type":1001,"linkType":1002},[],{"data":106976,"content":106977,"nodeType":860},{},[106978,106981,106989],{"data":106979,"marks":106980,"value":92111,"nodeType":864},{},[],{"data":106982,"content":106985,"nodeType":27604},{"target":106983},{"sys":106984},{"id":28039,"type":1001,"linkType":1002},[106986],{"data":106987,"marks":106988,"value":92120,"nodeType":864},{},[],{"data":106990,"marks":106991,"value":21,"nodeType":864},{},[],{"data":106993,"content":106994,"nodeType":1312},{},[106995],{"data":106996,"marks":106997,"value":47996,"nodeType":864},{},[],{"data":106999,"content":107000,"nodeType":860},{},[107001],{"data":107002,"marks":107003,"value":92136,"nodeType":864},{},[],{"data":107005,"content":107006,"nodeType":860},{},[107007,107010,107014,107017,107021,107024,107028],{"data":107008,"marks":107009,"value":92143,"nodeType":864},{},[],{"data":107011,"marks":107012,"value":1503,"nodeType":864},{},[107013],{"type":899},{"data":107015,"marks":107016,"value":27405,"nodeType":864},{},[],{"data":107018,"marks":107019,"value":1397,"nodeType":864},{},[107020],{"type":899},{"data":107022,"marks":107023,"value":92158,"nodeType":864},{},[],{"data":107025,"marks":107026,"value":1334,"nodeType":864},{},[107027],{"type":899},{"data":107029,"marks":107030,"value":92166,"nodeType":864},{},[],{"data":107032,"content":107033,"nodeType":860},{},[107034],{"data":107035,"marks":107036,"value":92173,"nodeType":864},{},[],{"data":107038,"content":107039,"nodeType":860},{},[107040],{"data":107041,"marks":107042,"value":92180,"nodeType":864},{},[],{"data":107044,"content":107047,"nodeType":996},{"target":107045},{"sys":107046},{"id":92185,"type":1001,"linkType":1002},[],{"data":107049,"content":107050,"nodeType":860},{},[107051,107054,107062],{"data":107052,"marks":107053,"value":92111,"nodeType":864},{},[],{"data":107055,"content":107058,"nodeType":27604},{"target":107056},{"sys":107057},{"id":28295,"type":1001,"linkType":1002},[107059],{"data":107060,"marks":107061,"value":47996,"nodeType":864},{},[],{"data":107063,"marks":107064,"value":21,"nodeType":864},{},[],{"data":107066,"content":107067,"nodeType":1312},{},[107068],{"data":107069,"marks":107070,"value":74927,"nodeType":864},{},[],{"data":107072,"content":107073,"nodeType":860},{},[107074],{"data":107075,"marks":107076,"value":92216,"nodeType":864},{},[],{"data":107078,"content":107079,"nodeType":860},{},[107080],{"data":107081,"marks":107082,"value":92223,"nodeType":864},{},[],{"data":107084,"content":107085,"nodeType":860},{},[107086],{"data":107087,"marks":107088,"value":92230,"nodeType":864},{},[],{"data":107090,"content":107093,"nodeType":996},{"target":107091},{"sys":107092},{"id":92235,"type":1001,"linkType":1002},[],{"data":107095,"content":107096,"nodeType":860},{},[107097,107100,107108],{"data":107098,"marks":107099,"value":92111,"nodeType":864},{},[],{"data":107101,"content":107104,"nodeType":27604},{"target":107102},{"sys":107103},{"id":90163,"type":1001,"linkType":1002},[107105],{"data":107106,"marks":107107,"value":74927,"nodeType":864},{},[],{"data":107109,"marks":107110,"value":21,"nodeType":864},{},[],{"data":107112,"content":107113,"nodeType":1312},{},[107114],{"data":107115,"marks":107116,"value":89894,"nodeType":864},{},[],{"data":107118,"content":107119,"nodeType":860},{},[107120],{"data":107121,"marks":107122,"value":92266,"nodeType":864},{},[],{"data":107124,"content":107125,"nodeType":860},{},[107126],{"data":107127,"marks":107128,"value":92273,"nodeType":864},{},[],{"data":107130,"content":107131,"nodeType":860},{},[107132],{"data":107133,"marks":107134,"value":92280,"nodeType":864},{},[],{"data":107136,"content":107139,"nodeType":996},{"target":107137},{"sys":107138},{"id":92285,"type":1001,"linkType":1002},[],{"data":107141,"content":107142,"nodeType":860},{},[107143,107146,107154],{"data":107144,"marks":107145,"value":92111,"nodeType":864},{},[],{"data":107147,"content":107150,"nodeType":27604},{"target":107148},{"sys":107149},{"id":90101,"type":1001,"linkType":1002},[107151],{"data":107152,"marks":107153,"value":92301,"nodeType":864},{},[],{"data":107155,"marks":107156,"value":21,"nodeType":864},{},[],{"data":107158,"content":107159,"nodeType":1312},{},[107160],{"data":107161,"marks":107162,"value":1366,"nodeType":864},{},[],{"data":107164,"content":107165,"nodeType":860},{},[107166],{"data":107167,"marks":107168,"value":92317,"nodeType":864},{},[],{"data":107170,"content":107173,"nodeType":996},{"target":107171},{"sys":107172},{"id":92322,"type":1001,"linkType":1002},[],{"data":107175,"content":107176,"nodeType":860},{},[107177,107180,107188],{"data":107178,"marks":107179,"value":92111,"nodeType":864},{},[],{"data":107181,"content":107184,"nodeType":27604},{"target":107182},{"sys":107183},{"id":28356,"type":1001,"linkType":1002},[107185],{"data":107186,"marks":107187,"value":48792,"nodeType":864},{},[],{"data":107189,"marks":107190,"value":21,"nodeType":864},{},[],{"data":107192,"content":107193,"nodeType":1009},{},[107194],{"data":107195,"marks":107196,"value":92347,"nodeType":864},{},[],{"data":107198,"content":107199,"nodeType":860},{},[107200],{"data":107201,"marks":107202,"value":92354,"nodeType":864},{},[],{"data":107204,"content":107205,"nodeType":860},{},[107206],{"data":107207,"marks":107208,"value":92361,"nodeType":864},{},[],{"data":107210,"content":107211,"nodeType":941},{},[107212,107225,107238],{"data":107213,"content":107214,"nodeType":945},{},[107215],{"data":107216,"content":107217,"nodeType":860},{},[107218,107222],{"data":107219,"marks":107220,"value":75237,"nodeType":864},{},[107221],{"type":899},{"data":107223,"marks":107224,"value":75241,"nodeType":864},{},[],{"data":107226,"content":107227,"nodeType":945},{},[107228],{"data":107229,"content":107230,"nodeType":860},{},[107231,107235],{"data":107232,"marks":107233,"value":75252,"nodeType":864},{},[107234],{"type":899},{"data":107236,"marks":107237,"value":75256,"nodeType":864},{},[],{"data":107239,"content":107240,"nodeType":945},{},[107241],{"data":107242,"content":107243,"nodeType":860},{},[107244,107248],{"data":107245,"marks":107246,"value":75267,"nodeType":864},{},[107247],{"type":899},{"data":107249,"marks":107250,"value":75271,"nodeType":864},{},[],{"data":107252,"content":107253,"nodeType":860},{},[107254],{"data":107255,"marks":107256,"value":92410,"nodeType":864},{},[],{"data":107258,"content":107259,"nodeType":941},{},[107260,107276,107292,107305],{"data":107261,"content":107262,"nodeType":945},{},[107263],{"data":107264,"content":107265,"nodeType":860},{},[107266,107269,107273],{"data":107267,"marks":107268,"value":92423,"nodeType":864},{},[],{"data":107270,"marks":107271,"value":92428,"nodeType":864},{},[107272],{"type":899},{"data":107274,"marks":107275,"value":75305,"nodeType":864},{},[],{"data":107277,"content":107278,"nodeType":945},{},[107279],{"data":107280,"content":107281,"nodeType":860},{},[107282,107285,107289],{"data":107283,"marks":107284,"value":92441,"nodeType":864},{},[],{"data":107286,"marks":107287,"value":92446,"nodeType":864},{},[107288],{"type":899},{"data":107290,"marks":107291,"value":92450,"nodeType":864},{},[],{"data":107293,"content":107294,"nodeType":945},{},[107295],{"data":107296,"content":107297,"nodeType":860},{},[107298,107302],{"data":107299,"marks":107300,"value":92461,"nodeType":864},{},[107301],{"type":899},{"data":107303,"marks":107304,"value":92465,"nodeType":864},{},[],{"data":107306,"content":107307,"nodeType":945},{},[107308],{"data":107309,"content":107310,"nodeType":860},{},[107311,107315],{"data":107312,"marks":107313,"value":92476,"nodeType":864},{},[107314],{"type":899},{"data":107316,"marks":107317,"value":92480,"nodeType":864},{},[],{"data":107319,"content":107320,"nodeType":860},{},[107321,107324,107328],{"data":107322,"marks":107323,"value":92487,"nodeType":864},{},[],{"data":107325,"marks":107326,"value":28609,"nodeType":864},{},[107327],{"type":899},{"data":107329,"marks":107330,"value":92495,"nodeType":864},{},[],{"data":107332,"content":107335,"nodeType":996},{"target":107333},{"sys":107334},{"id":89479,"type":1001,"linkType":1002},[],{"data":107337,"content":107338,"nodeType":860},{},[107339],{"data":107340,"marks":107341,"value":92507,"nodeType":864},{},[],{"data":107343,"content":107344,"nodeType":1009},{},[107345],{"data":107346,"marks":107347,"value":92514,"nodeType":864},{},[],{"data":107349,"content":107350,"nodeType":860},{},[107351],{"data":107352,"marks":107353,"value":92521,"nodeType":864},{},[],{"data":107355,"content":107356,"nodeType":860},{},[107357],{"data":107358,"marks":107359,"value":92528,"nodeType":864},{},[],{"data":107361,"content":107362,"nodeType":860},{},[107363,107366,107372],{"data":107364,"marks":107365,"value":92535,"nodeType":864},{},[],{"data":107367,"content":107368,"nodeType":883},{"uri":91978},[107369],{"data":107370,"marks":107371,"value":92542,"nodeType":864},{},[],{"data":107373,"marks":107374,"value":92546,"nodeType":864},{},[],{"data":107376,"content":107377,"nodeType":1009},{},[107378],{"data":107379,"marks":107380,"value":36405,"nodeType":864},{},[],{"data":107382,"content":107383,"nodeType":860},{},[107384,107387,107393],{"data":107385,"marks":107386,"value":92559,"nodeType":864},{},[],{"data":107388,"content":107389,"nodeType":883},{"uri":92562},[107390],{"data":107391,"marks":107392,"value":37814,"nodeType":864},{},[],{"data":107394,"marks":107395,"value":92570,"nodeType":864},{},[],{"items":107397},[107398,107400],{"sys":107399,"name":73498},{"id":73497},{"sys":107401,"name":342},{"id":6596},{"items":107403},[107404],{"fullName":849,"firstName":850,"jobTitle":851,"profilePicture":107405},{"url":853},{"__typename":2059,"sys":107407,"content":107408,"title":88697,"synopsis":88698,"hashTags":59,"publishedDate":88699,"slug":88700,"tagsCollection":108126,"authorsCollection":108132},{"id":74598},{"json":107409},{"data":107410,"content":107411,"nodeType":856},{},[107412,107418,107424,107430,107456,107462,107468,107483,107489,107495,107510,107516,107522,107528,107533,107539,107578,107584,107590,107596,107617,107623,107629,107635,107677,107683,107689,107695,107701,107711,107717,107724,107730,107759,107765,107771,107777,107783,107843,107850,107856,107862,107892,107898,107905,107911,107917,107927,107940,107966,107982,107988,108003,108009,108015,108030,108036,108042,108048,108078,108084,108100,108115,108120],{"data":107413,"content":107414,"nodeType":860},{},[107415],{"data":107416,"marks":107417,"value":87890,"nodeType":864},{},[],{"data":107419,"content":107420,"nodeType":860},{},[107421],{"data":107422,"marks":107423,"value":87897,"nodeType":864},{},[],{"data":107425,"content":107426,"nodeType":860},{},[107427],{"data":107428,"marks":107429,"value":87904,"nodeType":864},{},[],{"data":107431,"content":107432,"nodeType":860},{},[107433,107436,107443,107446,107453],{"data":107434,"marks":107435,"value":21,"nodeType":864},{},[],{"data":107437,"content":107438,"nodeType":883},{"uri":26784},[107439],{"data":107440,"marks":107441,"value":395,"nodeType":864},{},[107442],{"type":1455},{"data":107444,"marks":107445,"value":87921,"nodeType":864},{},[],{"data":107447,"content":107448,"nodeType":883},{"uri":87924},[107449],{"data":107450,"marks":107451,"value":87930,"nodeType":864},{},[107452],{"type":1455},{"data":107454,"marks":107455,"value":87934,"nodeType":864},{},[],{"data":107457,"content":107458,"nodeType":1009},{},[107459],{"data":107460,"marks":107461,"value":87941,"nodeType":864},{},[],{"data":107463,"content":107464,"nodeType":860},{},[107465],{"data":107466,"marks":107467,"value":87948,"nodeType":864},{},[],{"data":107469,"content":107470,"nodeType":860},{},[107471,107474,107480],{"data":107472,"marks":107473,"value":87955,"nodeType":864},{},[],{"data":107475,"content":107476,"nodeType":883},{"uri":15980},[107477],{"data":107478,"marks":107479,"value":87962,"nodeType":864},{},[],{"data":107481,"marks":107482,"value":1774,"nodeType":864},{},[],{"data":107484,"content":107485,"nodeType":1312},{},[107486],{"data":107487,"marks":107488,"value":87972,"nodeType":864},{},[],{"data":107490,"content":107491,"nodeType":860},{},[107492],{"data":107493,"marks":107494,"value":87979,"nodeType":864},{},[],{"data":107496,"content":107497,"nodeType":860},{},[107498,107501,107507],{"data":107499,"marks":107500,"value":87986,"nodeType":864},{},[],{"data":107502,"content":107503,"nodeType":883},{"uri":15980},[107504],{"data":107505,"marks":107506,"value":87993,"nodeType":864},{},[],{"data":107508,"marks":107509,"value":87997,"nodeType":864},{},[],{"data":107511,"content":107512,"nodeType":860},{},[107513],{"data":107514,"marks":107515,"value":88004,"nodeType":864},{},[],{"data":107517,"content":107518,"nodeType":1312},{},[107519],{"data":107520,"marks":107521,"value":88011,"nodeType":864},{},[],{"data":107523,"content":107524,"nodeType":860},{},[107525],{"data":107526,"marks":107527,"value":88018,"nodeType":864},{},[],{"data":107529,"content":107532,"nodeType":996},{"target":107530},{"sys":107531},{"id":88023,"type":1001,"linkType":1002},[],{"data":107534,"content":107535,"nodeType":860},{},[107536],{"data":107537,"marks":107538,"value":88031,"nodeType":864},{},[],{"data":107540,"content":107541,"nodeType":941},{},[107542,107551,107560,107569],{"data":107543,"content":107544,"nodeType":945},{},[107545],{"data":107546,"content":107547,"nodeType":860},{},[107548],{"data":107549,"marks":107550,"value":88044,"nodeType":864},{},[],{"data":107552,"content":107553,"nodeType":945},{},[107554],{"data":107555,"content":107556,"nodeType":860},{},[107557],{"data":107558,"marks":107559,"value":88054,"nodeType":864},{},[],{"data":107561,"content":107562,"nodeType":945},{},[107563],{"data":107564,"content":107565,"nodeType":860},{},[107566],{"data":107567,"marks":107568,"value":88064,"nodeType":864},{},[],{"data":107570,"content":107571,"nodeType":945},{},[107572],{"data":107573,"content":107574,"nodeType":860},{},[107575],{"data":107576,"marks":107577,"value":88074,"nodeType":864},{},[],{"data":107579,"content":107580,"nodeType":860},{},[107581],{"data":107582,"marks":107583,"value":88081,"nodeType":864},{},[],{"data":107585,"content":107586,"nodeType":1312},{},[107587],{"data":107588,"marks":107589,"value":88088,"nodeType":864},{},[],{"data":107591,"content":107592,"nodeType":860},{},[107593],{"data":107594,"marks":107595,"value":88095,"nodeType":864},{},[],{"data":107597,"content":107598,"nodeType":941},{},[107599,107608],{"data":107600,"content":107601,"nodeType":945},{},[107602],{"data":107603,"content":107604,"nodeType":860},{},[107605],{"data":107606,"marks":107607,"value":88108,"nodeType":864},{},[],{"data":107609,"content":107610,"nodeType":945},{},[107611],{"data":107612,"content":107613,"nodeType":860},{},[107614],{"data":107615,"marks":107616,"value":88118,"nodeType":864},{},[],{"data":107618,"content":107619,"nodeType":860},{},[107620],{"data":107621,"marks":107622,"value":88125,"nodeType":864},{},[],{"data":107624,"content":107625,"nodeType":1312},{},[107626],{"data":107627,"marks":107628,"value":88132,"nodeType":864},{},[],{"data":107630,"content":107631,"nodeType":860},{},[107632],{"data":107633,"marks":107634,"value":88139,"nodeType":864},{},[],{"data":107636,"content":107637,"nodeType":941},{},[107638,107651,107664],{"data":107639,"content":107640,"nodeType":945},{},[107641],{"data":107642,"content":107643,"nodeType":860},{},[107644,107648],{"data":107645,"marks":107646,"value":88153,"nodeType":864},{},[107647],{"type":899},{"data":107649,"marks":107650,"value":88157,"nodeType":864},{},[],{"data":107652,"content":107653,"nodeType":945},{},[107654],{"data":107655,"content":107656,"nodeType":860},{},[107657,107661],{"data":107658,"marks":107659,"value":88168,"nodeType":864},{},[107660],{"type":899},{"data":107662,"marks":107663,"value":88172,"nodeType":864},{},[],{"data":107665,"content":107666,"nodeType":945},{},[107667],{"data":107668,"content":107669,"nodeType":860},{},[107670,107674],{"data":107671,"marks":107672,"value":88183,"nodeType":864},{},[107673],{"type":899},{"data":107675,"marks":107676,"value":88187,"nodeType":864},{},[],{"data":107678,"content":107679,"nodeType":860},{},[107680],{"data":107681,"marks":107682,"value":88194,"nodeType":864},{},[],{"data":107684,"content":107685,"nodeType":860},{},[107686],{"data":107687,"marks":107688,"value":88201,"nodeType":864},{},[],{"data":107690,"content":107691,"nodeType":860},{},[107692],{"data":107693,"marks":107694,"value":88208,"nodeType":864},{},[],{"data":107696,"content":107697,"nodeType":1009},{},[107698],{"data":107699,"marks":107700,"value":88215,"nodeType":864},{},[],{"data":107702,"content":107703,"nodeType":860},{},[107704,107708],{"data":107705,"marks":107706,"value":88223,"nodeType":864},{},[107707],{"type":899},{"data":107709,"marks":107710,"value":88227,"nodeType":864},{},[],{"data":107712,"content":107713,"nodeType":860},{},[107714],{"data":107715,"marks":107716,"value":88234,"nodeType":864},{},[],{"data":107718,"content":107719,"nodeType":860},{},[107720],{"data":107721,"marks":107722,"value":88242,"nodeType":864},{},[107723],{"type":899},{"data":107725,"content":107726,"nodeType":860},{},[107727],{"data":107728,"marks":107729,"value":88249,"nodeType":864},{},[],{"data":107731,"content":107732,"nodeType":941},{},[107733,107746],{"data":107734,"content":107735,"nodeType":945},{},[107736],{"data":107737,"content":107738,"nodeType":860},{},[107739,107743],{"data":107740,"marks":107741,"value":88263,"nodeType":864},{},[107742],{"type":899},{"data":107744,"marks":107745,"value":88267,"nodeType":864},{},[],{"data":107747,"content":107748,"nodeType":945},{},[107749],{"data":107750,"content":107751,"nodeType":860},{},[107752,107756],{"data":107753,"marks":107754,"value":88278,"nodeType":864},{},[107755],{"type":899},{"data":107757,"marks":107758,"value":88282,"nodeType":864},{},[],{"data":107760,"content":107761,"nodeType":860},{},[107762],{"data":107763,"marks":107764,"value":88289,"nodeType":864},{},[],{"data":107766,"content":107767,"nodeType":1312},{},[107768],{"data":107769,"marks":107770,"value":88296,"nodeType":864},{},[],{"data":107772,"content":107773,"nodeType":860},{},[107774],{"data":107775,"marks":107776,"value":88303,"nodeType":864},{},[],{"data":107778,"content":107779,"nodeType":860},{},[107780],{"data":107781,"marks":107782,"value":88310,"nodeType":864},{},[],{"data":107784,"content":107785,"nodeType":941},{},[107786,107805,107824],{"data":107787,"content":107788,"nodeType":945},{},[107789],{"data":107790,"content":107791,"nodeType":860},{},[107792,107795,107802],{"data":107793,"marks":107794,"value":88323,"nodeType":864},{},[],{"data":107796,"content":107797,"nodeType":883},{"uri":48126},[107798],{"data":107799,"marks":107800,"value":23700,"nodeType":864},{},[107801],{"type":1455},{"data":107803,"marks":107804,"value":22438,"nodeType":864},{},[],{"data":107806,"content":107807,"nodeType":945},{},[107808],{"data":107809,"content":107810,"nodeType":860},{},[107811,107814,107821],{"data":107812,"marks":107813,"value":81332,"nodeType":864},{},[],{"data":107815,"content":107816,"nodeType":883},{"uri":4408},[107817],{"data":107818,"marks":107819,"value":27246,"nodeType":864},{},[107820],{"type":1455},{"data":107822,"marks":107823,"value":22438,"nodeType":864},{},[],{"data":107825,"content":107826,"nodeType":945},{},[107827],{"data":107828,"content":107829,"nodeType":860},{},[107830,107833,107840],{"data":107831,"marks":107832,"value":81270,"nodeType":864},{},[],{"data":107834,"content":107835,"nodeType":883},{"uri":81273},[107836],{"data":107837,"marks":107838,"value":81279,"nodeType":864},{},[107839],{"type":1455},{"data":107841,"marks":107842,"value":22438,"nodeType":864},{},[],{"data":107844,"content":107845,"nodeType":860},{},[107846],{"data":107847,"marks":107848,"value":88379,"nodeType":864},{},[107849],{"type":899},{"data":107851,"content":107852,"nodeType":860},{},[107853],{"data":107854,"marks":107855,"value":88386,"nodeType":864},{},[],{"data":107857,"content":107858,"nodeType":860},{},[107859],{"data":107860,"marks":107861,"value":88393,"nodeType":864},{},[],{"data":107863,"content":107864,"nodeType":941},{},[107865,107883],{"data":107866,"content":107867,"nodeType":945},{},[107868],{"data":107869,"content":107870,"nodeType":860},{},[107871,107874,107880],{"data":107872,"marks":107873,"value":88406,"nodeType":864},{},[],{"data":107875,"content":107876,"nodeType":883},{"uri":15980},[107877],{"data":107878,"marks":107879,"value":88413,"nodeType":864},{},[],{"data":107881,"marks":107882,"value":88417,"nodeType":864},{},[],{"data":107884,"content":107885,"nodeType":945},{},[107886],{"data":107887,"content":107888,"nodeType":860},{},[107889],{"data":107890,"marks":107891,"value":88427,"nodeType":864},{},[],{"data":107893,"content":107894,"nodeType":860},{},[107895],{"data":107896,"marks":107897,"value":88434,"nodeType":864},{},[],{"data":107899,"content":107900,"nodeType":860},{},[107901],{"data":107902,"marks":107903,"value":88442,"nodeType":864},{},[107904],{"type":899},{"data":107906,"content":107907,"nodeType":1312},{},[107908],{"data":107909,"marks":107910,"value":88449,"nodeType":864},{},[],{"data":107912,"content":107913,"nodeType":860},{},[107914],{"data":107915,"marks":107916,"value":88456,"nodeType":864},{},[],{"data":107918,"content":107919,"nodeType":860},{},[107920,107923],{"data":107921,"marks":107922,"value":88463,"nodeType":864},{},[],{"data":107924,"marks":107925,"value":88468,"nodeType":864},{},[107926],{"type":899},{"data":107928,"content":107929,"nodeType":860},{},[107930,107933,107937],{"data":107931,"marks":107932,"value":88475,"nodeType":864},{},[],{"data":107934,"marks":107935,"value":88480,"nodeType":864},{},[107936],{"type":899},{"data":107938,"marks":107939,"value":88484,"nodeType":864},{},[],{"data":107941,"content":107942,"nodeType":860},{},[107943,107946,107953,107956,107963],{"data":107944,"marks":107945,"value":88491,"nodeType":864},{},[],{"data":107947,"content":107948,"nodeType":883},{"uri":88494},[107949],{"data":107950,"marks":107951,"value":5272,"nodeType":864},{},[107952],{"type":1455},{"data":107954,"marks":107955,"value":88503,"nodeType":864},{},[],{"data":107957,"content":107958,"nodeType":883},{"uri":5231},[107959],{"data":107960,"marks":107961,"value":88511,"nodeType":864},{},[107962],{"type":1455},{"data":107964,"marks":107965,"value":12285,"nodeType":864},{},[],{"data":107967,"content":107968,"nodeType":860},{},[107969,107972,107979],{"data":107970,"marks":107971,"value":88521,"nodeType":864},{},[],{"data":107973,"content":107974,"nodeType":883},{"uri":48106},[107975],{"data":107976,"marks":107977,"value":88529,"nodeType":864},{},[107978],{"type":1455},{"data":107980,"marks":107981,"value":35977,"nodeType":864},{},[],{"data":107983,"content":107984,"nodeType":1009},{},[107985],{"data":107986,"marks":107987,"value":88539,"nodeType":864},{},[],{"data":107989,"content":107990,"nodeType":860},{},[107991,107994,108000],{"data":107992,"marks":107993,"value":2761,"nodeType":864},{},[],{"data":107995,"content":107996,"nodeType":883},{"uri":6300},[107997],{"data":107998,"marks":107999,"value":88552,"nodeType":864},{},[],{"data":108001,"marks":108002,"value":88556,"nodeType":864},{},[],{"data":108004,"content":108005,"nodeType":860},{},[108006],{"data":108007,"marks":108008,"value":88563,"nodeType":864},{},[],{"data":108010,"content":108011,"nodeType":860},{},[108012],{"data":108013,"marks":108014,"value":88570,"nodeType":864},{},[],{"data":108016,"content":108017,"nodeType":860},{},[108018,108021,108027],{"data":108019,"marks":108020,"value":88577,"nodeType":864},{},[],{"data":108022,"content":108023,"nodeType":883},{"uri":87669},[108024],{"data":108025,"marks":108026,"value":88584,"nodeType":864},{},[],{"data":108028,"marks":108029,"value":21,"nodeType":864},{},[],{"data":108031,"content":108032,"nodeType":860},{},[108033],{"data":108034,"marks":108035,"value":88594,"nodeType":864},{},[],{"data":108037,"content":108038,"nodeType":1009},{},[108039],{"data":108040,"marks":108041,"value":88601,"nodeType":864},{},[],{"data":108043,"content":108044,"nodeType":860},{},[108045],{"data":108046,"marks":108047,"value":88608,"nodeType":864},{},[],{"data":108049,"content":108050,"nodeType":941},{},[108051,108060,108069],{"data":108052,"content":108053,"nodeType":945},{},[108054],{"data":108055,"content":108056,"nodeType":860},{},[108057],{"data":108058,"marks":108059,"value":88621,"nodeType":864},{},[],{"data":108061,"content":108062,"nodeType":945},{},[108063],{"data":108064,"content":108065,"nodeType":860},{},[108066],{"data":108067,"marks":108068,"value":88631,"nodeType":864},{},[],{"data":108070,"content":108071,"nodeType":945},{},[108072],{"data":108073,"content":108074,"nodeType":860},{},[108075],{"data":108076,"marks":108077,"value":88641,"nodeType":864},{},[],{"data":108079,"content":108080,"nodeType":860},{},[108081],{"data":108082,"marks":108083,"value":88648,"nodeType":864},{},[],{"data":108085,"content":108086,"nodeType":860},{},[108087,108090,108097],{"data":108088,"marks":108089,"value":88655,"nodeType":864},{},[],{"data":108091,"content":108092,"nodeType":883},{"uri":88658},[108093],{"data":108094,"marks":108095,"value":88664,"nodeType":864},{},[108096],{"type":1455},{"data":108098,"marks":108099,"value":21,"nodeType":864},{},[],{"data":108101,"content":108102,"nodeType":860},{},[108103,108106,108112],{"data":108104,"marks":108105,"value":88674,"nodeType":864},{},[],{"data":108107,"content":108108,"nodeType":883},{"uri":49733},[108109],{"data":108110,"marks":108111,"value":88681,"nodeType":864},{},[],{"data":108113,"marks":108114,"value":1774,"nodeType":864},{},[],{"data":108116,"content":108119,"nodeType":996},{"target":108117},{"sys":108118},{"id":88689,"type":1001,"linkType":1002},[],{"data":108121,"content":108122,"nodeType":860},{},[108123],{"data":108124,"marks":108125,"value":21,"nodeType":864},{},[],{"items":108127},[108128,108130],{"sys":108129,"name":6593},{"id":6592},{"sys":108131,"name":342},{"id":6596},{"items":108133},[108134],{"fullName":2736,"firstName":2737,"jobTitle":2738,"profilePicture":108135},{"url":2740},"5-reasons-why-push-security-shouldnt-exist","blog/5-reasons-why-push-security-shouldnt-exist",{"json":108139},{"data":108140,"content":108141,"nodeType":856},{},[108142,108149],{"data":108143,"content":108144,"nodeType":860},{},[108145],{"data":108146,"marks":108147,"value":108148,"nodeType":864},{},[],"If current security controls worked perfectly, Push wouldn't need to exist – unfortunately, they don't, so here we are!",{"data":108150,"content":108151,"nodeType":860},{},[108152],{"data":108153,"marks":108154,"value":108155,"nodeType":864},{},[],"In this article, we break down common misconceptions about identity controls like MFA, SSO, passkeys, and password managers, exploring some of the gaps they leave and how to fill them to achieve defense in depth.","Breaking down common misconceptions about identity threats and controls like MFA, SSO, passkeys, password managers, and more.",{"id":108158,"publishedAt":108159},"1fp5aOCIcGHDbdQ0amCYOf","2026-08-12T11:55:11.772Z",{"items":108161},[108162,108164],{"sys":108163,"name":342},{"id":6596},{"sys":108165,"name":297},{"id":2732},{"items":108167},[108168,108170,108172,108174,108176,108178,108180,108182,108184,108186,108188,108190,108192,108194,108196,108198,108200,108202,108204,108206,108208,108210],{"sys":108169,"name":413,"slug":414,"tier":31},{"id":410},{"sys":108171,"name":297,"slug":298,"tier":31},{"id":294},{"sys":108173,"name":279,"slug":280,"tier":31},{"id":276},{"sys":108175,"name":519,"slug":520,"tier":31},{"id":516},{"sys":108177,"name":545,"slug":546,"tier":31},{"id":542},{"sys":108179,"name":342,"slug":343,"tier":31},{"id":339},{"sys":108181,"name":395,"slug":396,"tier":45},{"id":392},{"sys":108183,"name":457,"slug":458,"tier":45},{"id":454},{"sys":108185,"name":466,"slug":467,"tier":45},{"id":463},{"sys":108187,"name":333,"slug":334,"tier":45},{"id":330},{"sys":108189,"name":589,"slug":590,"tier":45},{"id":586},{"sys":108191,"name":261,"slug":262,"tier":45},{"id":258},{"sys":108193,"name":571,"slug":572,"tier":45},{"id":568},{"sys":108195,"name":422,"slug":423,"tier":45},{"id":419},{"sys":108197,"name":502,"slug":503,"tier":45},{"id":499},{"sys":108199,"name":493,"slug":494,"tier":45},{"id":490},{"sys":108201,"name":404,"slug":405,"tier":45},{"id":401},{"sys":108203,"name":377,"slug":378,"tier":45},{"id":374},{"sys":108205,"name":624,"slug":625,"tier":45},{"id":621},{"sys":108207,"name":306,"slug":307,"tier":45},{"id":303},{"sys":108209,"name":598,"slug":599,"tier":45},{"id":595},{"sys":108211,"name":475,"slug":476,"tier":45},{"id":472},"7ekz7o6jH_LJs1GGrGDh2SvoDhuQmK1UIytQMiVACOw",{"id":108214,"title":88697,"authorsCollection":108215,"content":108220,"extension":228,"faqItemsCollection":108953,"faqTitle":59,"featured":6,"hashTags":59,"meta":108955,"metaTitle":108956,"ogImage":59,"postType":5740,"publishedDate":88699,"relatedBlogPostsCollection":108957,"slug":88700,"stem":110669,"subtitle":59,"summary":110670,"synopsis":88698,"sys":110681,"tagsCollection":110683,"topicsCollection":110689,"__hash__":110703},"blog/blog/ghost-logins-when-forgotten-identities-come-back-to-haunt-you.json",{"items":108216},[108217],{"fullName":2736,"firstName":2737,"jobTitle":2738,"socialLinks":108218,"profilePicture":108219},[11304],{"url":2740},{"json":108221,"links":108938},{"data":108222,"content":108223,"nodeType":856},{},[108224,108230,108236,108242,108268,108274,108280,108295,108301,108307,108322,108328,108334,108340,108345,108351,108390,108396,108402,108408,108429,108435,108441,108447,108489,108495,108501,108507,108513,108523,108529,108536,108542,108571,108577,108583,108589,108595,108655,108662,108668,108674,108704,108710,108717,108723,108729,108739,108752,108778,108794,108800,108815,108821,108827,108842,108848,108854,108860,108890,108896,108912,108927,108932],{"data":108225,"content":108226,"nodeType":860},{},[108227],{"data":108228,"marks":108229,"value":87890,"nodeType":864},{},[],{"data":108231,"content":108232,"nodeType":860},{},[108233],{"data":108234,"marks":108235,"value":87897,"nodeType":864},{},[],{"data":108237,"content":108238,"nodeType":860},{},[108239],{"data":108240,"marks":108241,"value":87904,"nodeType":864},{},[],{"data":108243,"content":108244,"nodeType":860},{},[108245,108248,108255,108258,108265],{"data":108246,"marks":108247,"value":21,"nodeType":864},{},[],{"data":108249,"content":108250,"nodeType":883},{"uri":26784},[108251],{"data":108252,"marks":108253,"value":395,"nodeType":864},{},[108254],{"type":1455},{"data":108256,"marks":108257,"value":87921,"nodeType":864},{},[],{"data":108259,"content":108260,"nodeType":883},{"uri":87924},[108261],{"data":108262,"marks":108263,"value":87930,"nodeType":864},{},[108264],{"type":1455},{"data":108266,"marks":108267,"value":87934,"nodeType":864},{},[],{"data":108269,"content":108270,"nodeType":1009},{},[108271],{"data":108272,"marks":108273,"value":87941,"nodeType":864},{},[],{"data":108275,"content":108276,"nodeType":860},{},[108277],{"data":108278,"marks":108279,"value":87948,"nodeType":864},{},[],{"data":108281,"content":108282,"nodeType":860},{},[108283,108286,108292],{"data":108284,"marks":108285,"value":87955,"nodeType":864},{},[],{"data":108287,"content":108288,"nodeType":883},{"uri":15980},[108289],{"data":108290,"marks":108291,"value":87962,"nodeType":864},{},[],{"data":108293,"marks":108294,"value":1774,"nodeType":864},{},[],{"data":108296,"content":108297,"nodeType":1312},{},[108298],{"data":108299,"marks":108300,"value":87972,"nodeType":864},{},[],{"data":108302,"content":108303,"nodeType":860},{},[108304],{"data":108305,"marks":108306,"value":87979,"nodeType":864},{},[],{"data":108308,"content":108309,"nodeType":860},{},[108310,108313,108319],{"data":108311,"marks":108312,"value":87986,"nodeType":864},{},[],{"data":108314,"content":108315,"nodeType":883},{"uri":15980},[108316],{"data":108317,"marks":108318,"value":87993,"nodeType":864},{},[],{"data":108320,"marks":108321,"value":87997,"nodeType":864},{},[],{"data":108323,"content":108324,"nodeType":860},{},[108325],{"data":108326,"marks":108327,"value":88004,"nodeType":864},{},[],{"data":108329,"content":108330,"nodeType":1312},{},[108331],{"data":108332,"marks":108333,"value":88011,"nodeType":864},{},[],{"data":108335,"content":108336,"nodeType":860},{},[108337],{"data":108338,"marks":108339,"value":88018,"nodeType":864},{},[],{"data":108341,"content":108344,"nodeType":996},{"target":108342},{"sys":108343},{"id":88023,"type":1001,"linkType":1002},[],{"data":108346,"content":108347,"nodeType":860},{},[108348],{"data":108349,"marks":108350,"value":88031,"nodeType":864},{},[],{"data":108352,"content":108353,"nodeType":941},{},[108354,108363,108372,108381],{"data":108355,"content":108356,"nodeType":945},{},[108357],{"data":108358,"content":108359,"nodeType":860},{},[108360],{"data":108361,"marks":108362,"value":88044,"nodeType":864},{},[],{"data":108364,"content":108365,"nodeType":945},{},[108366],{"data":108367,"content":108368,"nodeType":860},{},[108369],{"data":108370,"marks":108371,"value":88054,"nodeType":864},{},[],{"data":108373,"content":108374,"nodeType":945},{},[108375],{"data":108376,"content":108377,"nodeType":860},{},[108378],{"data":108379,"marks":108380,"value":88064,"nodeType":864},{},[],{"data":108382,"content":108383,"nodeType":945},{},[108384],{"data":108385,"content":108386,"nodeType":860},{},[108387],{"data":108388,"marks":108389,"value":88074,"nodeType":864},{},[],{"data":108391,"content":108392,"nodeType":860},{},[108393],{"data":108394,"marks":108395,"value":88081,"nodeType":864},{},[],{"data":108397,"content":108398,"nodeType":1312},{},[108399],{"data":108400,"marks":108401,"value":88088,"nodeType":864},{},[],{"data":108403,"content":108404,"nodeType":860},{},[108405],{"data":108406,"marks":108407,"value":88095,"nodeType":864},{},[],{"data":108409,"content":108410,"nodeType":941},{},[108411,108420],{"data":108412,"content":108413,"nodeType":945},{},[108414],{"data":108415,"content":108416,"nodeType":860},{},[108417],{"data":108418,"marks":108419,"value":88108,"nodeType":864},{},[],{"data":108421,"content":108422,"nodeType":945},{},[108423],{"data":108424,"content":108425,"nodeType":860},{},[108426],{"data":108427,"marks":108428,"value":88118,"nodeType":864},{},[],{"data":108430,"content":108431,"nodeType":860},{},[108432],{"data":108433,"marks":108434,"value":88125,"nodeType":864},{},[],{"data":108436,"content":108437,"nodeType":1312},{},[108438],{"data":108439,"marks":108440,"value":88132,"nodeType":864},{},[],{"data":108442,"content":108443,"nodeType":860},{},[108444],{"data":108445,"marks":108446,"value":88139,"nodeType":864},{},[],{"data":108448,"content":108449,"nodeType":941},{},[108450,108463,108476],{"data":108451,"content":108452,"nodeType":945},{},[108453],{"data":108454,"content":108455,"nodeType":860},{},[108456,108460],{"data":108457,"marks":108458,"value":88153,"nodeType":864},{},[108459],{"type":899},{"data":108461,"marks":108462,"value":88157,"nodeType":864},{},[],{"data":108464,"content":108465,"nodeType":945},{},[108466],{"data":108467,"content":108468,"nodeType":860},{},[108469,108473],{"data":108470,"marks":108471,"value":88168,"nodeType":864},{},[108472],{"type":899},{"data":108474,"marks":108475,"value":88172,"nodeType":864},{},[],{"data":108477,"content":108478,"nodeType":945},{},[108479],{"data":108480,"content":108481,"nodeType":860},{},[108482,108486],{"data":108483,"marks":108484,"value":88183,"nodeType":864},{},[108485],{"type":899},{"data":108487,"marks":108488,"value":88187,"nodeType":864},{},[],{"data":108490,"content":108491,"nodeType":860},{},[108492],{"data":108493,"marks":108494,"value":88194,"nodeType":864},{},[],{"data":108496,"content":108497,"nodeType":860},{},[108498],{"data":108499,"marks":108500,"value":88201,"nodeType":864},{},[],{"data":108502,"content":108503,"nodeType":860},{},[108504],{"data":108505,"marks":108506,"value":88208,"nodeType":864},{},[],{"data":108508,"content":108509,"nodeType":1009},{},[108510],{"data":108511,"marks":108512,"value":88215,"nodeType":864},{},[],{"data":108514,"content":108515,"nodeType":860},{},[108516,108520],{"data":108517,"marks":108518,"value":88223,"nodeType":864},{},[108519],{"type":899},{"data":108521,"marks":108522,"value":88227,"nodeType":864},{},[],{"data":108524,"content":108525,"nodeType":860},{},[108526],{"data":108527,"marks":108528,"value":88234,"nodeType":864},{},[],{"data":108530,"content":108531,"nodeType":860},{},[108532],{"data":108533,"marks":108534,"value":88242,"nodeType":864},{},[108535],{"type":899},{"data":108537,"content":108538,"nodeType":860},{},[108539],{"data":108540,"marks":108541,"value":88249,"nodeType":864},{},[],{"data":108543,"content":108544,"nodeType":941},{},[108545,108558],{"data":108546,"content":108547,"nodeType":945},{},[108548],{"data":108549,"content":108550,"nodeType":860},{},[108551,108555],{"data":108552,"marks":108553,"value":88263,"nodeType":864},{},[108554],{"type":899},{"data":108556,"marks":108557,"value":88267,"nodeType":864},{},[],{"data":108559,"content":108560,"nodeType":945},{},[108561],{"data":108562,"content":108563,"nodeType":860},{},[108564,108568],{"data":108565,"marks":108566,"value":88278,"nodeType":864},{},[108567],{"type":899},{"data":108569,"marks":108570,"value":88282,"nodeType":864},{},[],{"data":108572,"content":108573,"nodeType":860},{},[108574],{"data":108575,"marks":108576,"value":88289,"nodeType":864},{},[],{"data":108578,"content":108579,"nodeType":1312},{},[108580],{"data":108581,"marks":108582,"value":88296,"nodeType":864},{},[],{"data":108584,"content":108585,"nodeType":860},{},[108586],{"data":108587,"marks":108588,"value":88303,"nodeType":864},{},[],{"data":108590,"content":108591,"nodeType":860},{},[108592],{"data":108593,"marks":108594,"value":88310,"nodeType":864},{},[],{"data":108596,"content":108597,"nodeType":941},{},[108598,108617,108636],{"data":108599,"content":108600,"nodeType":945},{},[108601],{"data":108602,"content":108603,"nodeType":860},{},[108604,108607,108614],{"data":108605,"marks":108606,"value":88323,"nodeType":864},{},[],{"data":108608,"content":108609,"nodeType":883},{"uri":48126},[108610],{"data":108611,"marks":108612,"value":23700,"nodeType":864},{},[108613],{"type":1455},{"data":108615,"marks":108616,"value":22438,"nodeType":864},{},[],{"data":108618,"content":108619,"nodeType":945},{},[108620],{"data":108621,"content":108622,"nodeType":860},{},[108623,108626,108633],{"data":108624,"marks":108625,"value":81332,"nodeType":864},{},[],{"data":108627,"content":108628,"nodeType":883},{"uri":4408},[108629],{"data":108630,"marks":108631,"value":27246,"nodeType":864},{},[108632],{"type":1455},{"data":108634,"marks":108635,"value":22438,"nodeType":864},{},[],{"data":108637,"content":108638,"nodeType":945},{},[108639],{"data":108640,"content":108641,"nodeType":860},{},[108642,108645,108652],{"data":108643,"marks":108644,"value":81270,"nodeType":864},{},[],{"data":108646,"content":108647,"nodeType":883},{"uri":81273},[108648],{"data":108649,"marks":108650,"value":81279,"nodeType":864},{},[108651],{"type":1455},{"data":108653,"marks":108654,"value":22438,"nodeType":864},{},[],{"data":108656,"content":108657,"nodeType":860},{},[108658],{"data":108659,"marks":108660,"value":88379,"nodeType":864},{},[108661],{"type":899},{"data":108663,"content":108664,"nodeType":860},{},[108665],{"data":108666,"marks":108667,"value":88386,"nodeType":864},{},[],{"data":108669,"content":108670,"nodeType":860},{},[108671],{"data":108672,"marks":108673,"value":88393,"nodeType":864},{},[],{"data":108675,"content":108676,"nodeType":941},{},[108677,108695],{"data":108678,"content":108679,"nodeType":945},{},[108680],{"data":108681,"content":108682,"nodeType":860},{},[108683,108686,108692],{"data":108684,"marks":108685,"value":88406,"nodeType":864},{},[],{"data":108687,"content":108688,"nodeType":883},{"uri":15980},[108689],{"data":108690,"marks":108691,"value":88413,"nodeType":864},{},[],{"data":108693,"marks":108694,"value":88417,"nodeType":864},{},[],{"data":108696,"content":108697,"nodeType":945},{},[108698],{"data":108699,"content":108700,"nodeType":860},{},[108701],{"data":108702,"marks":108703,"value":88427,"nodeType":864},{},[],{"data":108705,"content":108706,"nodeType":860},{},[108707],{"data":108708,"marks":108709,"value":88434,"nodeType":864},{},[],{"data":108711,"content":108712,"nodeType":860},{},[108713],{"data":108714,"marks":108715,"value":88442,"nodeType":864},{},[108716],{"type":899},{"data":108718,"content":108719,"nodeType":1312},{},[108720],{"data":108721,"marks":108722,"value":88449,"nodeType":864},{},[],{"data":108724,"content":108725,"nodeType":860},{},[108726],{"data":108727,"marks":108728,"value":88456,"nodeType":864},{},[],{"data":108730,"content":108731,"nodeType":860},{},[108732,108735],{"data":108733,"marks":108734,"value":88463,"nodeType":864},{},[],{"data":108736,"marks":108737,"value":88468,"nodeType":864},{},[108738],{"type":899},{"data":108740,"content":108741,"nodeType":860},{},[108742,108745,108749],{"data":108743,"marks":108744,"value":88475,"nodeType":864},{},[],{"data":108746,"marks":108747,"value":88480,"nodeType":864},{},[108748],{"type":899},{"data":108750,"marks":108751,"value":88484,"nodeType":864},{},[],{"data":108753,"content":108754,"nodeType":860},{},[108755,108758,108765,108768,108775],{"data":108756,"marks":108757,"value":88491,"nodeType":864},{},[],{"data":108759,"content":108760,"nodeType":883},{"uri":88494},[108761],{"data":108762,"marks":108763,"value":5272,"nodeType":864},{},[108764],{"type":1455},{"data":108766,"marks":108767,"value":88503,"nodeType":864},{},[],{"data":108769,"content":108770,"nodeType":883},{"uri":5231},[108771],{"data":108772,"marks":108773,"value":88511,"nodeType":864},{},[108774],{"type":1455},{"data":108776,"marks":108777,"value":12285,"nodeType":864},{},[],{"data":108779,"content":108780,"nodeType":860},{},[108781,108784,108791],{"data":108782,"marks":108783,"value":88521,"nodeType":864},{},[],{"data":108785,"content":108786,"nodeType":883},{"uri":48106},[108787],{"data":108788,"marks":108789,"value":88529,"nodeType":864},{},[108790],{"type":1455},{"data":108792,"marks":108793,"value":35977,"nodeType":864},{},[],{"data":108795,"content":108796,"nodeType":1009},{},[108797],{"data":108798,"marks":108799,"value":88539,"nodeType":864},{},[],{"data":108801,"content":108802,"nodeType":860},{},[108803,108806,108812],{"data":108804,"marks":108805,"value":2761,"nodeType":864},{},[],{"data":108807,"content":108808,"nodeType":883},{"uri":6300},[108809],{"data":108810,"marks":108811,"value":88552,"nodeType":864},{},[],{"data":108813,"marks":108814,"value":88556,"nodeType":864},{},[],{"data":108816,"content":108817,"nodeType":860},{},[108818],{"data":108819,"marks":108820,"value":88563,"nodeType":864},{},[],{"data":108822,"content":108823,"nodeType":860},{},[108824],{"data":108825,"marks":108826,"value":88570,"nodeType":864},{},[],{"data":108828,"content":108829,"nodeType":860},{},[108830,108833,108839],{"data":108831,"marks":108832,"value":88577,"nodeType":864},{},[],{"data":108834,"content":108835,"nodeType":883},{"uri":87669},[108836],{"data":108837,"marks":108838,"value":88584,"nodeType":864},{},[],{"data":108840,"marks":108841,"value":21,"nodeType":864},{},[],{"data":108843,"content":108844,"nodeType":860},{},[108845],{"data":108846,"marks":108847,"value":88594,"nodeType":864},{},[],{"data":108849,"content":108850,"nodeType":1009},{},[108851],{"data":108852,"marks":108853,"value":88601,"nodeType":864},{},[],{"data":108855,"content":108856,"nodeType":860},{},[108857],{"data":108858,"marks":108859,"value":88608,"nodeType":864},{},[],{"data":108861,"content":108862,"nodeType":941},{},[108863,108872,108881],{"data":108864,"content":108865,"nodeType":945},{},[108866],{"data":108867,"content":108868,"nodeType":860},{},[108869],{"data":108870,"marks":108871,"value":88621,"nodeType":864},{},[],{"data":108873,"content":108874,"nodeType":945},{},[108875],{"data":108876,"content":108877,"nodeType":860},{},[108878],{"data":108879,"marks":108880,"value":88631,"nodeType":864},{},[],{"data":108882,"content":108883,"nodeType":945},{},[108884],{"data":108885,"content":108886,"nodeType":860},{},[108887],{"data":108888,"marks":108889,"value":88641,"nodeType":864},{},[],{"data":108891,"content":108892,"nodeType":860},{},[108893],{"data":108894,"marks":108895,"value":88648,"nodeType":864},{},[],{"data":108897,"content":108898,"nodeType":860},{},[108899,108902,108909],{"data":108900,"marks":108901,"value":88655,"nodeType":864},{},[],{"data":108903,"content":108904,"nodeType":883},{"uri":88658},[108905],{"data":108906,"marks":108907,"value":88664,"nodeType":864},{},[108908],{"type":1455},{"data":108910,"marks":108911,"value":21,"nodeType":864},{},[],{"data":108913,"content":108914,"nodeType":860},{},[108915,108918,108924],{"data":108916,"marks":108917,"value":88674,"nodeType":864},{},[],{"data":108919,"content":108920,"nodeType":883},{"uri":49733},[108921],{"data":108922,"marks":108923,"value":88681,"nodeType":864},{},[],{"data":108925,"marks":108926,"value":1774,"nodeType":864},{},[],{"data":108928,"content":108931,"nodeType":996},{"target":108929},{"sys":108930},{"id":88689,"type":1001,"linkType":1002},[],{"data":108933,"content":108934,"nodeType":860},{},[108935],{"data":108936,"marks":108937,"value":21,"nodeType":864},{},[],{"entries":108939},{"hyperlink":108940,"inline":108941,"block":108942},[],[],[108943,108950],{"sys":108944,"__typename":1724,"title":108945,"caption":108946,"layoutMode":59,"file":108947},{"id":88023},"Table: Possible login methods (app-depending)","Possible login methods (app-depending)",{"url":108948,"width":108949,"height":84581},"https://images.ctfassets.net/y1cdw1ablpvd/3Yp7zlOF1rje7MdlCGi9Jg/4e42024b09d9aa114b2740514b3e19bd/Screenshot_2024-10-30_at_13.23.48.png",3158,{"sys":108951,"__typename":1717,"type":80540,"ctaText":108952,"buttonLabel":41118,"buttonColour":1721,"buttonUrl":59},{"id":88689},"Book a demo to see how Push helps you to find and fix identity vulnerabilities like ghost logins",{"items":108954},[],{},"What are ghost logins and how can they be exploited?",{"items":108958},[108959,109648,110043],{"__typename":2059,"sys":108960,"content":108961,"title":92571,"synopsis":92572,"hashTags":59,"publishedDate":92573,"slug":92574,"tagsCollection":109638,"authorsCollection":109644},{"id":89491},{"json":108962},{"data":108963,"content":108964,"nodeType":856},{},[108965,108970,108976,109018,109024,109030,109043,109049,109055,109124,109130,109135,109141,109147,109160,109166,109172,109192,109212,109217,109234,109240,109246,109273,109279,109285,109290,109307,109313,109319,109325,109331,109336,109353,109359,109365,109371,109377,109382,109399,109405,109411,109416,109433,109439,109445,109451,109493,109499,109560,109573,109578,109584,109590,109596,109602,109617,109623],{"data":108966,"content":108969,"nodeType":996},{"target":108967},{"sys":108968},{"id":91816,"type":1001,"linkType":1002},[],{"data":108971,"content":108972,"nodeType":860},{},[108973],{"data":108974,"marks":108975,"value":91824,"nodeType":864},{},[],{"data":108977,"content":108978,"nodeType":860},{},[108979,108982,108988,108991,108997,109000,109006,109009,109015],{"data":108980,"marks":108981,"value":91831,"nodeType":864},{},[],{"data":108983,"content":108984,"nodeType":883},{"uri":91834},[108985],{"data":108986,"marks":108987,"value":91839,"nodeType":864},{},[],{"data":108989,"marks":108990,"value":1171,"nodeType":864},{},[],{"data":108992,"content":108993,"nodeType":883},{"uri":91845},[108994],{"data":108995,"marks":108996,"value":91850,"nodeType":864},{},[],{"data":108998,"marks":108999,"value":1171,"nodeType":864},{},[],{"data":109001,"content":109002,"nodeType":883},{"uri":8628},[109003],{"data":109004,"marks":109005,"value":91860,"nodeType":864},{},[],{"data":109007,"marks":109008,"value":1171,"nodeType":864},{},[],{"data":109010,"content":109011,"nodeType":883},{"uri":91866},[109012],{"data":109013,"marks":109014,"value":91871,"nodeType":864},{},[],{"data":109016,"marks":109017,"value":91875,"nodeType":864},{},[],{"data":109019,"content":109020,"nodeType":860},{},[109021],{"data":109022,"marks":109023,"value":91882,"nodeType":864},{},[],{"data":109025,"content":109026,"nodeType":860},{},[109027],{"data":109028,"marks":109029,"value":91889,"nodeType":864},{},[],{"data":109031,"content":109032,"nodeType":860},{},[109033,109036,109040],{"data":109034,"marks":109035,"value":91896,"nodeType":864},{},[],{"data":109037,"marks":109038,"value":91901,"nodeType":864},{},[109039],{"type":899},{"data":109041,"marks":109042,"value":2924,"nodeType":864},{},[],{"data":109044,"content":109045,"nodeType":860},{},[109046],{"data":109047,"marks":109048,"value":91911,"nodeType":864},{},[],{"data":109050,"content":109051,"nodeType":860},{},[109052],{"data":109053,"marks":109054,"value":91918,"nodeType":864},{},[],{"data":109056,"content":109057,"nodeType":941},{},[109058,109083],{"data":109059,"content":109060,"nodeType":945},{},[109061],{"data":109062,"content":109063,"nodeType":860},{},[109064,109068,109071,109080],{"data":109065,"marks":109066,"value":91932,"nodeType":864},{},[109067],{"type":899},{"data":109069,"marks":109070,"value":91936,"nodeType":864},{},[],{"data":109072,"content":109075,"nodeType":27604},{"target":109073},{"sys":109074},{"id":91941,"type":1001,"linkType":1002},[109076],{"data":109077,"marks":109078,"value":51400,"nodeType":864},{},[109079],{"type":899},{"data":109081,"marks":109082,"value":91950,"nodeType":864},{},[],{"data":109084,"content":109085,"nodeType":945},{},[109086],{"data":109087,"content":109088,"nodeType":860},{},[109089,109093,109096,109102,109105,109111,109114,109121],{"data":109090,"marks":109091,"value":91961,"nodeType":864},{},[109092],{"type":899},{"data":109094,"marks":109095,"value":91965,"nodeType":864},{},[],{"data":109097,"content":109098,"nodeType":883},{"uri":90269},[109099],{"data":109100,"marks":109101,"value":91972,"nodeType":864},{},[],{"data":109103,"marks":109104,"value":3731,"nodeType":864},{},[],{"data":109106,"content":109107,"nodeType":883},{"uri":91978},[109108],{"data":109109,"marks":109110,"value":91983,"nodeType":864},{},[],{"data":109112,"marks":109113,"value":91987,"nodeType":864},{},[],{"data":109115,"content":109116,"nodeType":883},{"uri":91990},[109117],{"data":109118,"marks":109119,"value":28609,"nodeType":864},{},[109120],{"type":899},{"data":109122,"marks":109123,"value":91999,"nodeType":864},{},[],{"data":109125,"content":109126,"nodeType":860},{},[109127],{"data":109128,"marks":109129,"value":92006,"nodeType":864},{},[],{"data":109131,"content":109134,"nodeType":996},{"target":109132},{"sys":109133},{"id":92011,"type":1001,"linkType":1002},[],{"data":109136,"content":109137,"nodeType":1009},{},[109138],{"data":109139,"marks":109140,"value":92019,"nodeType":864},{},[],{"data":109142,"content":109143,"nodeType":860},{},[109144],{"data":109145,"marks":109146,"value":92026,"nodeType":864},{},[],{"data":109148,"content":109149,"nodeType":860},{},[109150,109153,109157],{"data":109151,"marks":109152,"value":92033,"nodeType":864},{},[],{"data":109154,"marks":109155,"value":51400,"nodeType":864},{},[109156],{"type":899},{"data":109158,"marks":109159,"value":92041,"nodeType":864},{},[],{"data":109161,"content":109162,"nodeType":860},{},[109163],{"data":109164,"marks":109165,"value":92048,"nodeType":864},{},[],{"data":109167,"content":109168,"nodeType":1312},{},[109169],{"data":109170,"marks":109171,"value":74079,"nodeType":864},{},[],{"data":109173,"content":109174,"nodeType":860},{},[109175,109178,109182,109185,109189],{"data":109176,"marks":109177,"value":92061,"nodeType":864},{},[],{"data":109179,"marks":109180,"value":92066,"nodeType":864},{},[109181],{"type":899},{"data":109183,"marks":109184,"value":902,"nodeType":864},{},[],{"data":109186,"marks":109187,"value":92074,"nodeType":864},{},[109188],{"type":899},{"data":109190,"marks":109191,"value":2924,"nodeType":864},{},[],{"data":109193,"content":109194,"nodeType":860},{},[109195,109198,109202,109205,109209],{"data":109196,"marks":109197,"value":92084,"nodeType":864},{},[],{"data":109199,"marks":109200,"value":1503,"nodeType":864},{},[109201],{"type":899},{"data":109203,"marks":109204,"value":27405,"nodeType":864},{},[],{"data":109206,"marks":109207,"value":1397,"nodeType":864},{},[109208],{"type":899},{"data":109210,"marks":109211,"value":92099,"nodeType":864},{},[],{"data":109213,"content":109216,"nodeType":996},{"target":109214},{"sys":109215},{"id":74087,"type":1001,"linkType":1002},[],{"data":109218,"content":109219,"nodeType":860},{},[109220,109223,109231],{"data":109221,"marks":109222,"value":92111,"nodeType":864},{},[],{"data":109224,"content":109227,"nodeType":27604},{"target":109225},{"sys":109226},{"id":28039,"type":1001,"linkType":1002},[109228],{"data":109229,"marks":109230,"value":92120,"nodeType":864},{},[],{"data":109232,"marks":109233,"value":21,"nodeType":864},{},[],{"data":109235,"content":109236,"nodeType":1312},{},[109237],{"data":109238,"marks":109239,"value":47996,"nodeType":864},{},[],{"data":109241,"content":109242,"nodeType":860},{},[109243],{"data":109244,"marks":109245,"value":92136,"nodeType":864},{},[],{"data":109247,"content":109248,"nodeType":860},{},[109249,109252,109256,109259,109263,109266,109270],{"data":109250,"marks":109251,"value":92143,"nodeType":864},{},[],{"data":109253,"marks":109254,"value":1503,"nodeType":864},{},[109255],{"type":899},{"data":109257,"marks":109258,"value":27405,"nodeType":864},{},[],{"data":109260,"marks":109261,"value":1397,"nodeType":864},{},[109262],{"type":899},{"data":109264,"marks":109265,"value":92158,"nodeType":864},{},[],{"data":109267,"marks":109268,"value":1334,"nodeType":864},{},[109269],{"type":899},{"data":109271,"marks":109272,"value":92166,"nodeType":864},{},[],{"data":109274,"content":109275,"nodeType":860},{},[109276],{"data":109277,"marks":109278,"value":92173,"nodeType":864},{},[],{"data":109280,"content":109281,"nodeType":860},{},[109282],{"data":109283,"marks":109284,"value":92180,"nodeType":864},{},[],{"data":109286,"content":109289,"nodeType":996},{"target":109287},{"sys":109288},{"id":92185,"type":1001,"linkType":1002},[],{"data":109291,"content":109292,"nodeType":860},{},[109293,109296,109304],{"data":109294,"marks":109295,"value":92111,"nodeType":864},{},[],{"data":109297,"content":109300,"nodeType":27604},{"target":109298},{"sys":109299},{"id":28295,"type":1001,"linkType":1002},[109301],{"data":109302,"marks":109303,"value":47996,"nodeType":864},{},[],{"data":109305,"marks":109306,"value":21,"nodeType":864},{},[],{"data":109308,"content":109309,"nodeType":1312},{},[109310],{"data":109311,"marks":109312,"value":74927,"nodeType":864},{},[],{"data":109314,"content":109315,"nodeType":860},{},[109316],{"data":109317,"marks":109318,"value":92216,"nodeType":864},{},[],{"data":109320,"content":109321,"nodeType":860},{},[109322],{"data":109323,"marks":109324,"value":92223,"nodeType":864},{},[],{"data":109326,"content":109327,"nodeType":860},{},[109328],{"data":109329,"marks":109330,"value":92230,"nodeType":864},{},[],{"data":109332,"content":109335,"nodeType":996},{"target":109333},{"sys":109334},{"id":92235,"type":1001,"linkType":1002},[],{"data":109337,"content":109338,"nodeType":860},{},[109339,109342,109350],{"data":109340,"marks":109341,"value":92111,"nodeType":864},{},[],{"data":109343,"content":109346,"nodeType":27604},{"target":109344},{"sys":109345},{"id":90163,"type":1001,"linkType":1002},[109347],{"data":109348,"marks":109349,"value":74927,"nodeType":864},{},[],{"data":109351,"marks":109352,"value":21,"nodeType":864},{},[],{"data":109354,"content":109355,"nodeType":1312},{},[109356],{"data":109357,"marks":109358,"value":89894,"nodeType":864},{},[],{"data":109360,"content":109361,"nodeType":860},{},[109362],{"data":109363,"marks":109364,"value":92266,"nodeType":864},{},[],{"data":109366,"content":109367,"nodeType":860},{},[109368],{"data":109369,"marks":109370,"value":92273,"nodeType":864},{},[],{"data":109372,"content":109373,"nodeType":860},{},[109374],{"data":109375,"marks":109376,"value":92280,"nodeType":864},{},[],{"data":109378,"content":109381,"nodeType":996},{"target":109379},{"sys":109380},{"id":92285,"type":1001,"linkType":1002},[],{"data":109383,"content":109384,"nodeType":860},{},[109385,109388,109396],{"data":109386,"marks":109387,"value":92111,"nodeType":864},{},[],{"data":109389,"content":109392,"nodeType":27604},{"target":109390},{"sys":109391},{"id":90101,"type":1001,"linkType":1002},[109393],{"data":109394,"marks":109395,"value":92301,"nodeType":864},{},[],{"data":109397,"marks":109398,"value":21,"nodeType":864},{},[],{"data":109400,"content":109401,"nodeType":1312},{},[109402],{"data":109403,"marks":109404,"value":1366,"nodeType":864},{},[],{"data":109406,"content":109407,"nodeType":860},{},[109408],{"data":109409,"marks":109410,"value":92317,"nodeType":864},{},[],{"data":109412,"content":109415,"nodeType":996},{"target":109413},{"sys":109414},{"id":92322,"type":1001,"linkType":1002},[],{"data":109417,"content":109418,"nodeType":860},{},[109419,109422,109430],{"data":109420,"marks":109421,"value":92111,"nodeType":864},{},[],{"data":109423,"content":109426,"nodeType":27604},{"target":109424},{"sys":109425},{"id":28356,"type":1001,"linkType":1002},[109427],{"data":109428,"marks":109429,"value":48792,"nodeType":864},{},[],{"data":109431,"marks":109432,"value":21,"nodeType":864},{},[],{"data":109434,"content":109435,"nodeType":1009},{},[109436],{"data":109437,"marks":109438,"value":92347,"nodeType":864},{},[],{"data":109440,"content":109441,"nodeType":860},{},[109442],{"data":109443,"marks":109444,"value":92354,"nodeType":864},{},[],{"data":109446,"content":109447,"nodeType":860},{},[109448],{"data":109449,"marks":109450,"value":92361,"nodeType":864},{},[],{"data":109452,"content":109453,"nodeType":941},{},[109454,109467,109480],{"data":109455,"content":109456,"nodeType":945},{},[109457],{"data":109458,"content":109459,"nodeType":860},{},[109460,109464],{"data":109461,"marks":109462,"value":75237,"nodeType":864},{},[109463],{"type":899},{"data":109465,"marks":109466,"value":75241,"nodeType":864},{},[],{"data":109468,"content":109469,"nodeType":945},{},[109470],{"data":109471,"content":109472,"nodeType":860},{},[109473,109477],{"data":109474,"marks":109475,"value":75252,"nodeType":864},{},[109476],{"type":899},{"data":109478,"marks":109479,"value":75256,"nodeType":864},{},[],{"data":109481,"content":109482,"nodeType":945},{},[109483],{"data":109484,"content":109485,"nodeType":860},{},[109486,109490],{"data":109487,"marks":109488,"value":75267,"nodeType":864},{},[109489],{"type":899},{"data":109491,"marks":109492,"value":75271,"nodeType":864},{},[],{"data":109494,"content":109495,"nodeType":860},{},[109496],{"data":109497,"marks":109498,"value":92410,"nodeType":864},{},[],{"data":109500,"content":109501,"nodeType":941},{},[109502,109518,109534,109547],{"data":109503,"content":109504,"nodeType":945},{},[109505],{"data":109506,"content":109507,"nodeType":860},{},[109508,109511,109515],{"data":109509,"marks":109510,"value":92423,"nodeType":864},{},[],{"data":109512,"marks":109513,"value":92428,"nodeType":864},{},[109514],{"type":899},{"data":109516,"marks":109517,"value":75305,"nodeType":864},{},[],{"data":109519,"content":109520,"nodeType":945},{},[109521],{"data":109522,"content":109523,"nodeType":860},{},[109524,109527,109531],{"data":109525,"marks":109526,"value":92441,"nodeType":864},{},[],{"data":109528,"marks":109529,"value":92446,"nodeType":864},{},[109530],{"type":899},{"data":109532,"marks":109533,"value":92450,"nodeType":864},{},[],{"data":109535,"content":109536,"nodeType":945},{},[109537],{"data":109538,"content":109539,"nodeType":860},{},[109540,109544],{"data":109541,"marks":109542,"value":92461,"nodeType":864},{},[109543],{"type":899},{"data":109545,"marks":109546,"value":92465,"nodeType":864},{},[],{"data":109548,"content":109549,"nodeType":945},{},[109550],{"data":109551,"content":109552,"nodeType":860},{},[109553,109557],{"data":109554,"marks":109555,"value":92476,"nodeType":864},{},[109556],{"type":899},{"data":109558,"marks":109559,"value":92480,"nodeType":864},{},[],{"data":109561,"content":109562,"nodeType":860},{},[109563,109566,109570],{"data":109564,"marks":109565,"value":92487,"nodeType":864},{},[],{"data":109567,"marks":109568,"value":28609,"nodeType":864},{},[109569],{"type":899},{"data":109571,"marks":109572,"value":92495,"nodeType":864},{},[],{"data":109574,"content":109577,"nodeType":996},{"target":109575},{"sys":109576},{"id":89479,"type":1001,"linkType":1002},[],{"data":109579,"content":109580,"nodeType":860},{},[109581],{"data":109582,"marks":109583,"value":92507,"nodeType":864},{},[],{"data":109585,"content":109586,"nodeType":1009},{},[109587],{"data":109588,"marks":109589,"value":92514,"nodeType":864},{},[],{"data":109591,"content":109592,"nodeType":860},{},[109593],{"data":109594,"marks":109595,"value":92521,"nodeType":864},{},[],{"data":109597,"content":109598,"nodeType":860},{},[109599],{"data":109600,"marks":109601,"value":92528,"nodeType":864},{},[],{"data":109603,"content":109604,"nodeType":860},{},[109605,109608,109614],{"data":109606,"marks":109607,"value":92535,"nodeType":864},{},[],{"data":109609,"content":109610,"nodeType":883},{"uri":91978},[109611],{"data":109612,"marks":109613,"value":92542,"nodeType":864},{},[],{"data":109615,"marks":109616,"value":92546,"nodeType":864},{},[],{"data":109618,"content":109619,"nodeType":1009},{},[109620],{"data":109621,"marks":109622,"value":36405,"nodeType":864},{},[],{"data":109624,"content":109625,"nodeType":860},{},[109626,109629,109635],{"data":109627,"marks":109628,"value":92559,"nodeType":864},{},[],{"data":109630,"content":109631,"nodeType":883},{"uri":92562},[109632],{"data":109633,"marks":109634,"value":37814,"nodeType":864},{},[],{"data":109636,"marks":109637,"value":92570,"nodeType":864},{},[],{"items":109639},[109640,109642],{"sys":109641,"name":73498},{"id":73497},{"sys":109643,"name":342},{"id":6596},{"items":109645},[109646],{"fullName":849,"firstName":850,"jobTitle":851,"profilePicture":109647},{"url":853},{"__typename":2059,"sys":109649,"content":109651,"title":110029,"synopsis":110030,"hashTags":59,"publishedDate":110031,"slug":110032,"tagsCollection":110033,"authorsCollection":110039},{"id":109650},"4pXsh0RffPhT783P6CNlOA",{"json":109652},{"data":109653,"content":109654,"nodeType":856},{},[109655,109662,109669,109675,109682,109689,109696,109703,109710,109717,109780,109786,109793,109800,109815,109822,109829,109836,109843,109850,109857,109867,109874,109880,109887,109894,109901,109908,109915,109921,109928,109947,109954,109961,109968,110011],{"data":109656,"content":109657,"nodeType":860},{},[109658],{"data":109659,"marks":109660,"value":109661,"nodeType":864},{},[],"When the media reports that a popular third-party service provider has suffered a breach and stolen credentials are being sold online, it’s inevitable for your security team to get asked, “Are we affected by this?”",{"data":109663,"content":109664,"nodeType":860},{},[109665],{"data":109666,"marks":109667,"value":109668,"nodeType":864},{},[],"Push helps its customers to answer this question in seconds and with absolute certainty. Here’s how.",{"data":109670,"content":109674,"nodeType":996},{"target":109671},{"sys":109672},{"id":109673,"type":1001,"linkType":1002},"56lMG3VskDDU1dUHzgQxFK",[],{"data":109676,"content":109677,"nodeType":1009},{},[109678],{"data":109679,"marks":109680,"value":109681,"nodeType":864},{},[],"Step 1: Are we using the breached service?",{"data":109683,"content":109684,"nodeType":860},{},[109685],{"data":109686,"marks":109687,"value":109688,"nodeType":864},{},[],"If this service is IT-managed in your organization, then you can probably answer this relatively quickly – at least for the tenant that is IT-managed. If it’s not, then you're going to need to check. ",{"data":109690,"content":109691,"nodeType":860},{},[109692],{"data":109693,"marks":109694,"value":109695,"nodeType":864},{},[],"That’s because end-users increasingly create SaaS accounts and tenants themselves without going through IT. When a third-party data breach hits the headlines, security teams are often surprised to find out that they have people in their organizations using that service.",{"data":109697,"content":109698,"nodeType":860},{},[109699],{"data":109700,"marks":109701,"value":109702,"nodeType":864},{},[],"Push uses a browser agent to track every login to every application made by your employees. It offers ground truth for answering questions like: Are we using the service? Who in the business is using it, and how are they accessing it?",{"data":109704,"content":109705,"nodeType":860},{},[109706],{"data":109707,"marks":109708,"value":109709,"nodeType":864},{},[],"Push can also highlight issues like missing MFA and if an employee is re-using the same password across multiple services — vital information if user credentials for the breached service have been leaked.",{"data":109711,"content":109712,"nodeType":860},{},[109713],{"data":109714,"marks":109715,"value":109716,"nodeType":864},{},[],"There are other data sources that can be used, but they all have their drawbacks:    ",{"data":109718,"content":109719,"nodeType":941},{},[109720,109735,109750,109765],{"data":109721,"content":109722,"nodeType":945},{},[109723],{"data":109724,"content":109725,"nodeType":860},{},[109726,109731],{"data":109727,"marks":109728,"value":109730,"nodeType":864},{},[109729],{"type":899},"Network or SWG",{"data":109732,"marks":109733,"value":109734,"nodeType":864},{},[]," can show you whose endpoints accessed an app website, but not if they've ever logged into the app.",{"data":109736,"content":109737,"nodeType":945},{},[109738],{"data":109739,"content":109740,"nodeType":860},{},[109741,109746],{"data":109742,"marks":109743,"value":109745,"nodeType":864},{},[109744],{"type":899},"IdP",{"data":109747,"marks":109748,"value":109749,"nodeType":864},{},[]," can show you that you're using an app if it’s accessed using SSO, but if that’s the case then you already know about it. It won’t show you non-SSO apps, tenants, or accounts that are more likely to be compromised using stolen credentials.",{"data":109751,"content":109752,"nodeType":945},{},[109753],{"data":109754,"content":109755,"nodeType":860},{},[109756,109761],{"data":109757,"marks":109758,"value":109760,"nodeType":864},{},[109759],{"type":899},"Email",{"data":109762,"marks":109763,"value":109764,"nodeType":864},{},[]," can be used to quickly tell you if employees have received email from an app – indicating an account might exist – but won’t tell you if they signed up using personal email, when they last logged in or if they are using the same password for everything.",{"data":109766,"content":109767,"nodeType":945},{},[109768],{"data":109769,"content":109770,"nodeType":860},{},[109771,109776],{"data":109772,"marks":109773,"value":109775,"nodeType":864},{},[109774],{"type":899},"Finance / contract records",{"data":109777,"marks":109778,"value":109779,"nodeType":864},{},[]," take time to search through and will only cover the services you pay for (many SaaS products offer a free tier). Obviously these records won’t tell you anything about vulnerable accounts.  \n",{"data":109781,"content":109785,"nodeType":996},{"target":109782},{"sys":109783},{"id":109784,"type":1001,"linkType":1002},"3pLEarsM0oltdxGlkHATbB",[],{"data":109787,"content":109788,"nodeType":1009},{},[109789],{"data":109790,"marks":109791,"value":109792,"nodeType":864},{},[],"Step 2: Are any of our accounts currently vulnerable to account takeover through stolen creds?",{"data":109794,"content":109795,"nodeType":860},{},[109796],{"data":109797,"marks":109798,"value":109799,"nodeType":864},{},[],"If credentials are being sold on the dark web for a service your employees use, then you need to quickly determine whether any workforce accounts can be accessed using just the stolen credentials. In other words, are any of these accounts using a leaked password and/or missing MFA?",{"data":109801,"content":109802,"nodeType":860},{},[109803,109807,109811],{"data":109804,"marks":109805,"value":109806,"nodeType":864},{},[],"At this point, you might reach for your IdP and make sure that MFA is enforced for all logins to the affected app. But that’s only going to cover apps and tenants already using SSO. To make things more complicated, most apps still allow username and password logins in addition to SSO logins. You need to see accounts with SSO logins ",{"data":109808,"marks":109809,"value":19474,"nodeType":864},{},[109810],{"type":2246},{"data":109812,"marks":109813,"value":109814,"nodeType":864},{},[]," local logins. ",{"data":109816,"content":109817,"nodeType":860},{},[109818],{"data":109819,"marks":109820,"value":109821,"nodeType":864},{},[],"The data that Push collects in the browser provides rich web app context. That means Push shows you how your employees are authenticating on every app, whether it’s password, OIDC, or SAML. ",{"data":109823,"content":109824,"nodeType":860},{},[109825],{"data":109826,"marks":109827,"value":109828,"nodeType":864},{},[],"When you search for a breached third-party service in Push, you’ll see which employees are using usernames and passwords but missing MFA on their accounts. You can then prioritize these accounts for password resets and enabling MFA to stop any stolen credentials from being used to access those accounts. ",{"data":109830,"content":109831,"nodeType":860},{},[109832],{"data":109833,"marks":109834,"value":109835,"nodeType":864},{},[],"As well as highlighting accounts missing MFA, Push fingerprints every password using a shortened salted hash and checks in the browser whether it has been leaked and/or is easily guessable. Armed with this information, you can quickly get these vulnerabilities fixed to reduce the likelihood of an account takeover.",{"data":109837,"content":109838,"nodeType":1009},{},[109839],{"data":109840,"marks":109841,"value":109842,"nodeType":864},{},[],"Step 3: Are the stolen credentials being used anywhere else? ",{"data":109844,"content":109845,"nodeType":860},{},[109846],{"data":109847,"marks":109848,"value":109849,"nodeType":864},{},[],"The next consideration is whether the stolen credentials can be used by an attacker in a credential-stuffing attack to compromise accounts on other applications. ",{"data":109851,"content":109852,"nodeType":860},{},[109853],{"data":109854,"marks":109855,"value":109856,"nodeType":864},{},[],"This is an important, and often overlooked, ring of the third-party data breach blast radius. ",{"data":109858,"content":109859,"nodeType":1116},{},[109860],{"data":109861,"content":109862,"nodeType":860},{},[109863],{"data":109864,"marks":109865,"value":109866,"nodeType":864},{},[],"Here at Push, we see that on average 1 in 3 users in every business reuse passwords across multiple accounts.",{"data":109868,"content":109869,"nodeType":860},{},[109870],{"data":109871,"marks":109872,"value":109873,"nodeType":864},{},[],"The password checks performed by Push also identify password reuse between applications. So if there’s a chance that a password has been stolen as part of the third-party data breach, you can make sure it’s changed across all applications. ",{"data":109875,"content":109879,"nodeType":996},{"target":109876},{"sys":109877},{"id":109878,"type":1001,"linkType":1002},"X9axqTO6dWEe1Jy49hAyG",[],{"data":109881,"content":109882,"nodeType":1009},{},[109883],{"data":109884,"marks":109885,"value":109886,"nodeType":864},{},[],"Take action before breaches hit the headlines",{"data":109888,"content":109889,"nodeType":860},{},[109890],{"data":109891,"marks":109892,"value":109893,"nodeType":864},{},[],"The workflow described above takes seconds to perform in Push. It enables you to quickly investigate a third-party data breach to determine if you could have been impacted, and if so, to take targeted action to mitigate the risks. ",{"data":109895,"content":109896,"nodeType":860},{},[109897],{"data":109898,"marks":109899,"value":109900,"nodeType":864},{},[],"That said, no one enjoys scrambling to respond to these kinds of incidents. If you use Push, you can actually get out ahead of these issues so you’re not stuck having to react.",{"data":109902,"content":109903,"nodeType":860},{},[109904],{"data":109905,"marks":109906,"value":109907,"nodeType":864},{},[],"Push integrates stolen account threat intelligence and alerts you when employees are currently using the same password that’s being sold on the dark web. This allows you to take action at the earliest possible opportunity and harden vulnerable accounts before any data breach is reported in the media. ",{"data":109909,"content":109910,"nodeType":860},{},[109911],{"data":109912,"marks":109913,"value":109914,"nodeType":864},{},[],"What this means for you is that next time you’re asked, “Does this affect us?” you can say you dealt with any issues way before it landed in the headlines. ",{"data":109916,"content":109920,"nodeType":996},{"target":109917},{"sys":109918},{"id":109919,"type":1001,"linkType":1002},"2vFMyWtMlxzTqqtvCPmlGW",[],{"data":109922,"content":109923,"nodeType":1312},{},[109924],{"data":109925,"marks":109926,"value":109927,"nodeType":864},{},[],"Do we need to log in to another security tool to do this?",{"data":109929,"content":109930,"nodeType":860},{},[109931,109935,109943],{"data":109932,"marks":109933,"value":109934,"nodeType":864},{},[],"No. Using the ",{"data":109936,"content":109937,"nodeType":883},{"uri":51278},[109938],{"data":109939,"marks":109940,"value":109942,"nodeType":864},{},[109941],{"type":1455},"Push API",{"data":109944,"marks":109945,"value":109946,"nodeType":864},{},[],", you can quickly gather relevant data to support the response to a third-party data breach in your SIEM or XDR solution.",{"data":109948,"content":109949,"nodeType":1312},{},[109950],{"data":109951,"marks":109952,"value":109953,"nodeType":864},{},[],"Why not eliminate the risk of password-based attacks altogether? ",{"data":109955,"content":109956,"nodeType":860},{},[109957],{"data":109958,"marks":109959,"value":109960,"nodeType":864},{},[],"Push gives you the ability to react quickly and decisively to a third-party data breach. But it also enables you to take proactive steps to eliminate the risk of password-based attacks altogether so stolen credentials from third-party data breaches no longer pose a threat to your business. ",{"data":109962,"content":109963,"nodeType":860},{},[109964],{"data":109965,"marks":109966,"value":109967,"nodeType":864},{},[],"Push does this by:",{"data":109969,"content":109970,"nodeType":941},{},[109971,109981,109991,110001],{"data":109972,"content":109973,"nodeType":945},{},[109974],{"data":109975,"content":109976,"nodeType":860},{},[109977],{"data":109978,"marks":109979,"value":109980,"nodeType":864},{},[],"Stopping your employees from creating accounts with leaked, weak and reused passwords.",{"data":109982,"content":109983,"nodeType":945},{},[109984],{"data":109985,"content":109986,"nodeType":860},{},[109987],{"data":109988,"marks":109989,"value":109990,"nodeType":864},{},[],"Pinning passwords to individual apps. ",{"data":109992,"content":109993,"nodeType":945},{},[109994],{"data":109995,"content":109996,"nodeType":860},{},[109997],{"data":109998,"marks":109999,"value":110000,"nodeType":864},{},[],"Helping you to get all apps and accounts behind SSO.",{"data":110002,"content":110003,"nodeType":945},{},[110004],{"data":110005,"content":110006,"nodeType":860},{},[110007],{"data":110008,"marks":110009,"value":110010,"nodeType":864},{},[],"Blocking phishing attacks against your employees so their credentials aren’t stolen.",{"data":110012,"content":110013,"nodeType":860},{},[110014,110018,110025],{"data":110015,"marks":110016,"value":110017,"nodeType":864},{},[],"If you want to find out more about how Push can help you mitigate the risks of employee credentials being stolen in the third-party data breach, then ",{"data":110019,"content":110020,"nodeType":883},{"uri":5642},[110021],{"data":110022,"marks":110023,"value":37814,"nodeType":864},{},[110024],{"type":1455},{"data":110026,"marks":110027,"value":110028,"nodeType":864},{},[]," and we’ll be happy to show you. ","Investigating and responding to a third-party data breach using Push","How to use Push to investigate and respond to a third-party data breach, which results in credentials being stolen and sold on criminal marketplaces.  ","2024-06-13T00:00:00.000Z","investigating-and-responding-to-a-third-party-data-breach-using-push",{"items":110034},[110035,110037],{"sys":110036,"name":342},{"id":6596},{"sys":110038,"name":297},{"id":2732},{"items":110040},[110041],{"fullName":4878,"firstName":4879,"jobTitle":851,"profilePicture":110042},{"url":4881},{"__typename":2059,"sys":110044,"content":110046,"title":110655,"synopsis":110656,"hashTags":59,"publishedDate":110657,"slug":110658,"tagsCollection":110659,"authorsCollection":110665},{"id":110045},"6ckZjBZzRgvEVpSScGWeZQ",{"json":110047},{"data":110048,"content":110049,"nodeType":856},{},[110050,110069,110076,110083,110100,110107,110124,110131,110138,110171,110178,110185,110192,110199,110232,110237,110243,110262,110269,110276,110283,110316,110323,110330,110337,110354,110360,110366,110372,110379,110400,110407,110414,110421,110428,110491,110498,110541,110548,110554,110561,110576,110581,110588,110595,110628,110634,110641,110648],{"data":110051,"content":110052,"nodeType":860},{},[110053,110057,110065],{"data":110054,"marks":110055,"value":110056,"nodeType":864},{},[],"We have spoken previously about ",{"data":110058,"content":110059,"nodeType":883},{"uri":5231},[110060],{"data":110061,"marks":110062,"value":110064,"nodeType":864},{},[110063],{"type":1455},"SAMLjacking and poisoned tenants",{"data":110066,"marks":110067,"value":110068,"nodeType":864},{},[],", particularly with regard to clever phishing attacks aimed at gaining initial access to some cloud identities. Today, we’ll look at how Okta’s AD synchronization is pretty much SAMLjacking on steroids. We’ll also consider how it can be used as a stealthy watering-hole style lateral movement attack too.",{"data":110070,"content":110071,"nodeType":860},{},[110072],{"data":110073,"marks":110074,"value":110075,"nodeType":864},{},[],"To be clear, this isn't a vulnerability in Okta that circumvents a security boundary and needs to be patched. This is offensive use of a product feature, the SaaS version of living off the land (LOTL). Let's call it living off the cloud (LOTC).",{"data":110077,"content":110078,"nodeType":1009},{},[110079],{"data":110080,"marks":110081,"value":110082,"nodeType":864},{},[],"What is SAMLjacking?",{"data":110084,"content":110085,"nodeType":860},{},[110086,110089,110096],{"data":110087,"marks":110088,"value":21,"nodeType":864},{},[],{"data":110090,"content":110091,"nodeType":883},{"uri":88494},[110092],{"data":110093,"marks":110094,"value":5272,"nodeType":864},{},[110095],{"type":1455},{"data":110097,"marks":110098,"value":110099,"nodeType":864},{},[]," is where an attacker makes use of SAML SSO configuration settings for a SaaS tenant they control in order to redirect users to a malicious link during the authentication process. This can be highly effective for phishing, as the original URL will be a legitimate SaaS URL and users will provide their credentials because they’re expecting that as part of the login process. ",{"data":110101,"content":110102,"nodeType":1009},{},[110103],{"data":110104,"marks":110105,"value":110106,"nodeType":864},{},[],"What is a poisoned tenant?",{"data":110108,"content":110109,"nodeType":860},{},[110110,110113,110120],{"data":110111,"marks":110112,"value":21,"nodeType":864},{},[],{"data":110114,"content":110115,"nodeType":883},{"uri":101692},[110116],{"data":110117,"marks":110118,"value":110119,"nodeType":864},{},[],"Poisoned tenants",{"data":110121,"marks":110122,"value":110123,"nodeType":864},{},[]," involve an adversary registering a tenant for a SaaS app they control and tricking target users to join it, often using built-in invite functionality. The end goal is to have some target users actively using a tenant you (as the adversary) control.",{"data":110125,"content":110126,"nodeType":1009},{},[110127],{"data":110128,"marks":110129,"value":110130,"nodeType":864},{},[],"What is Oktajacking?",{"data":110132,"content":110133,"nodeType":860},{},[110134],{"data":110135,"marks":110136,"value":110137,"nodeType":864},{},[],"This is a name I’ve been using to refer to using Okta to do the credential capture/keylogging for you, without needing to have your own malicious domain hosting your malicious SAML server. This is even more effective than regular SAMLjacking as the user will only ever see legitimate SaaS domains, with the subdomain being the attacker-chosen part (e.g. https://attacker-tenant.okta.com).",{"data":110139,"content":110140,"nodeType":860},{},[110141,110145,110154,110158,110167],{"data":110142,"marks":110143,"value":110144,"nodeType":864},{},[],"However, the awesome research that underpins this technique was conducted by Adam Chester (",{"data":110146,"content":110148,"nodeType":883},{"uri":110147},"https://twitter.com/_xpn_",[110149],{"data":110150,"marks":110151,"value":110153,"nodeType":864},{},[110152],{"type":1455},"@_xpn_",{"data":110155,"marks":110156,"value":110157,"nodeType":864},{},[],") and is covered in his excellent article, ",{"data":110159,"content":110161,"nodeType":883},{"uri":110160},"https://blog.xpnsec.com/okta-for-redteamers/",[110162],{"data":110163,"marks":110164,"value":110166,"nodeType":864},{},[110165],{"type":1455},"Okta for Red Teamers",{"data":110168,"marks":110169,"value":110170,"nodeType":864},{},[],". If you haven’t already read that, you absolutely should. ",{"data":110172,"content":110173,"nodeType":860},{},[110174],{"data":110175,"marks":110176,"value":110177,"nodeType":864},{},[],"Adam identified that if you compromise a Windows domain that’s linked to Okta and/or compromise an Okta admin account for an Okta instance linked to a Windows domain, you can use the Okta AD agent to capture credentials during logins. There’s lots more, but that’s the key part we’ll build upon for this article. ",{"data":110179,"content":110180,"nodeType":860},{},[110181],{"data":110182,"marks":110183,"value":110184,"nodeType":864},{},[],"This attack works because Okta forwards credentials from logins for accounts tied to AD to its own AD agent that runs on the target network. Then, Okta allows the agent to report back to them about whether the login should be successful or not. This enables an attacker who has compromised an AD agent, or is able to emulate one, to both monitor login credentials for Okta users and provide skeleton key-like functionality to authenticate to Okta as any user they like. ",{"data":110186,"content":110187,"nodeType":860},{},[110188],{"data":110189,"marks":110190,"value":110191,"nodeType":864},{},[],"The context of this in Adam’s article was primarily a traditional Windows domain compromise scenario where an attacker could use this method as a form of incredibly powerful domain-level persistence or to move laterally to other accounts. This is applicable in late-stage kill chain phases, where the attacker has already achieved a total organization-level compromise. ",{"data":110193,"content":110194,"nodeType":860},{},[110195],{"data":110196,"marks":110197,"value":110198,"nodeType":864},{},[],"So, how can this technique be leveraged earlier in the kill chain? We’ll consider the following two scenarios for this article:",{"data":110200,"content":110201,"nodeType":941},{},[110202,110217],{"data":110203,"content":110204,"nodeType":945},{},[110205],{"data":110206,"content":110207,"nodeType":860},{},[110208,110213],{"data":110209,"marks":110210,"value":110212,"nodeType":864},{},[110211],{"type":899},"Oktajacking for initial access",{"data":110214,"marks":110215,"value":110216,"nodeType":864},{},[]," - directly phishing credentials via a valid Okta tenant we create",{"data":110218,"content":110219,"nodeType":945},{},[110220],{"data":110221,"content":110222,"nodeType":860},{},[110223,110228],{"data":110224,"marks":110225,"value":110227,"nodeType":864},{},[110226],{"type":899},"Oktajacking for lateral movement ",{"data":110229,"marks":110230,"value":110231,"nodeType":864},{},[],"- capturing credentials via a watering hole attack when having admin-level compromised a SaaS application in use by the target organization",{"data":110233,"content":110236,"nodeType":996},{"target":110234},{"sys":110235},{"id":92011,"type":1001,"linkType":1002},[],{"data":110238,"content":110239,"nodeType":1009},{},[110240],{"data":110241,"marks":110242,"value":110212,"nodeType":864},{},[],{"data":110244,"content":110245,"nodeType":860},{},[110246,110250,110259],{"data":110247,"marks":110248,"value":110249,"nodeType":864},{},[],"The most common way someone might attack Okta-protected organizations would be to conduct traditional phishing attacks hosted on an attacker-controlled domain that emulate an Okta login page. A great article to check out on this would be Nick Vangilder’s article, ",{"data":110251,"content":110253,"nodeType":883},{"uri":110252},"https://medium.com/nickvangilder/okta-for-red-teamers-perimeter-edition-c60cb8d53f23",[110254],{"data":110255,"marks":110256,"value":110258,"nodeType":864},{},[110257],{"type":1455},"Okta for Red Teamers - Perimeter Edition. ",{"data":110260,"marks":110261,"value":21,"nodeType":864},{},[],{"data":110263,"content":110264,"nodeType":860},{},[110265],{"data":110266,"marks":110267,"value":110268,"nodeType":864},{},[],"However, as with most phishing attacks this involves the use of a malicious domain to host the phishing server. Okta AD synchronization allows us to use legitimate Okta domains to do the phishing for us. This attack can catch out even the most security conscious users.",{"data":110270,"content":110271,"nodeType":860},{},[110272],{"data":110273,"marks":110274,"value":110275,"nodeType":864},{},[],"To do this, we set up an attacker-controlled Okta tenant as a poisoned tenant and configure it for AD integration, using Adam Chester’s python script to harvest credentials. This enables actual Okta-owned domains to be used in phishing attacks to target users. A careful attacker would likely use a tenant name similar to the target organization’s real Okta tenant name. This is incredibly powerful and is likely to be effective against even the most security conscious users. ",{"data":110277,"content":110278,"nodeType":860},{},[110279],{"data":110280,"marks":110281,"value":110282,"nodeType":864},{},[],"A few prerequisites and tweaks are required in order to make this attack successful:",{"data":110284,"content":110285,"nodeType":941},{},[110286,110296,110306],{"data":110287,"content":110288,"nodeType":945},{},[110289],{"data":110290,"content":110291,"nodeType":860},{},[110292],{"data":110293,"marks":110294,"value":110295,"nodeType":864},{},[],"Import and activate accounts from AD that match the emails of users you want to target - this will ensure these emails are mapped to AD for authentication and cause Okta to send the credentials to the monitoring script.",{"data":110297,"content":110298,"nodeType":945},{},[110299],{"data":110300,"content":110301,"nodeType":860},{},[110302],{"data":110303,"marks":110304,"value":110305,"nodeType":864},{},[],"Make a small modification to the python script to accept any password as valid, rather than a specific skeleton key. ",{"data":110307,"content":110308,"nodeType":945},{},[110309],{"data":110310,"content":110311,"nodeType":860},{},[110312],{"data":110313,"marks":110314,"value":110315,"nodeType":864},{},[],"Modify the default authentication policy for Okta to allow single-factor password authentication for the target users - this will prevent them being prompted to use Okta Verify as part of the login process.",{"data":110317,"content":110318,"nodeType":860},{},[110319],{"data":110320,"marks":110321,"value":110322,"nodeType":864},{},[],"The goal for the last two actions above is to allow target users to authenticate legitimately and then redirect them elsewhere, while capturing their credentials. This is better achieved by having their first password accepted rather than them continually failing to authenticate, which may eventually raise alarm bells. ",{"data":110324,"content":110325,"nodeType":860},{},[110326],{"data":110327,"marks":110328,"value":110329,"nodeType":864},{},[],"In this case, we’ll use Okta’s bug bounty system as a test for our poisoned tenant, but in practice an attacker could set up a legitimate Okta tenant, pay for it and name it whatever they like. ",{"data":110331,"content":110332,"nodeType":860},{},[110333],{"data":110334,"marks":110335,"value":110336,"nodeType":864},{},[],"The end result is a legitimate Okta domain and login page that will capture credentials for the attacker, which can then be used in highly convincing phishing attacks. In this example, the following URL will capture credentials for us:",{"data":110338,"content":110339,"nodeType":860},{},[110340,110343,110351],{"data":110341,"marks":110342,"value":21,"nodeType":864},{},[],{"data":110344,"content":110346,"nodeType":883},{"uri":110345},"https://bugcrowd-oie-lukejennings-1.oktapreview.com/",[110347],{"data":110348,"marks":110349,"value":110345,"nodeType":864},{},[110350],{"type":1455},{"data":110352,"marks":110353,"value":21,"nodeType":864},{},[],{"data":110355,"content":110359,"nodeType":996},{"target":110356},{"sys":110357},{"id":110358,"type":1001,"linkType":1002},"2KBgFSFnmIdKqfpp8sPGb1",[],{"data":110361,"content":110365,"nodeType":996},{"target":110362},{"sys":110363},{"id":110364,"type":1001,"linkType":1002},"5ef3me94SCAdM5vYXodqbF",[],{"data":110367,"content":110371,"nodeType":996},{"target":110368},{"sys":110369},{"id":110370,"type":1001,"linkType":1002},"3OFjwQRQTJynaPme8WY9cp",[],{"data":110373,"content":110374,"nodeType":1009},{},[110375],{"data":110376,"marks":110377,"value":110378,"nodeType":864},{},[],"Oktajacking for lateral movement",{"data":110380,"content":110381,"nodeType":860},{},[110382,110386,110396],{"data":110383,"marks":110384,"value":110385,"nodeType":864},{},[],"In both the previous section and our article on ",{"data":110387,"content":110391,"nodeType":27604},{"target":110388},{"sys":110389},{"id":110390,"type":1001,"linkType":1002},"3F96pyn4qqkbVctSOH69vm",[110392],{"data":110393,"marks":110394,"value":5272,"nodeType":864},{},[110395],{"type":1455},{"data":110397,"marks":110398,"value":110399,"nodeType":864},{},[],", we focused on conducting highly convincing phishing attacks by sending URLs for legitimate SaaS domains that capture credentials. ",{"data":110401,"content":110402,"nodeType":860},{},[110403],{"data":110404,"marks":110405,"value":110406,"nodeType":864},{},[],"But what if we achieve an admin-level compromise of a SaaS app used by a target organization that authenticates via Okta already? How can we leverage that access to perform lateral movement?",{"data":110408,"content":110409,"nodeType":860},{},[110410],{"data":110411,"marks":110412,"value":110413,"nodeType":864},{},[],"We can change the SAML configuration in the compromised SaaS application to point to a different Okta instance that we control and then conduct the same credential capture attack we saw in the previous section. ",{"data":110415,"content":110416,"nodeType":860},{},[110417],{"data":110418,"marks":110419,"value":110420,"nodeType":864},{},[],"In other words, we can then authenticate to the target SaaS application as any user we like and also capture Okta credentials for all legitimate users also using that application without needing to send any phishing links. ",{"data":110422,"content":110423,"nodeType":860},{},[110424],{"data":110425,"marks":110426,"value":110427,"nodeType":864},{},[],"We’re going to use Datadog as a demo example for this - just because we need something real to target. To be crystal clear, this will work for basically any app that supports SAML. This is not a bug in SAML, or in Okta, or Datadog - it's the consequence of having privileged administrative access to an app, and the ability to change SSO configuration.\n\nTo set up the attack, we need to first:",{"data":110429,"content":110430,"nodeType":941},{},[110431,110441,110451,110461,110471,110481],{"data":110432,"content":110433,"nodeType":945},{},[110434],{"data":110435,"content":110436,"nodeType":860},{},[110437],{"data":110438,"marks":110439,"value":110440,"nodeType":864},{},[],"Compromise the organization’s Datadog tenant at admin-level",{"data":110442,"content":110443,"nodeType":945},{},[110444],{"data":110445,"content":110446,"nodeType":860},{},[110447],{"data":110448,"marks":110449,"value":110450,"nodeType":864},{},[],"Create a malicious Okta tenant and connect it to an active directory instance with the same email domain as the target organization",{"data":110452,"content":110453,"nodeType":945},{},[110454],{"data":110455,"content":110456,"nodeType":860},{},[110457],{"data":110458,"marks":110459,"value":110460,"nodeType":864},{},[],"Create AD accounts for all users that will be targeted so they can be imported into Okta as AD account - in practice, it would be best to copy the list of users from Datadog and replicate this in AD and Okta",{"data":110462,"content":110463,"nodeType":945},{},[110464],{"data":110465,"content":110466,"nodeType":860},{},[110467],{"data":110468,"marks":110469,"value":110470,"nodeType":864},{},[],"Run Adam Chester’s python script to harvest credentials for Okta AD authentication and modify it to accept any password ",{"data":110472,"content":110473,"nodeType":945},{},[110474],{"data":110475,"content":110476,"nodeType":860},{},[110477],{"data":110478,"marks":110479,"value":110480,"nodeType":864},{},[],"Modify the Datadog SAML configuration to point to the malicious Okta tenant, instead of the original legitimate Okta tenant",{"data":110482,"content":110483,"nodeType":945},{},[110484],{"data":110485,"content":110486,"nodeType":860},{},[110487],{"data":110488,"marks":110489,"value":110490,"nodeType":864},{},[],"Sit back, relax, and watch the credentials coming in",{"data":110492,"content":110493,"nodeType":860},{},[110494],{"data":110495,"marks":110496,"value":110497,"nodeType":864},{},[],"Now we’ll explain what happens from the perspective of other users of the target organization’s Datadog tenant that has been compromised:",{"data":110499,"content":110500,"nodeType":941},{},[110501,110511,110521,110531],{"data":110502,"content":110503,"nodeType":945},{},[110504],{"data":110505,"content":110506,"nodeType":860},{},[110507],{"data":110508,"marks":110509,"value":110510,"nodeType":864},{},[],"Their Datadog session expires and they’re redirected back to the SAML login provider for re-authentication - in this case, to our malicious Okta tenant we have substituted for the real Okta tenant",{"data":110512,"content":110513,"nodeType":945},{},[110514],{"data":110515,"content":110516,"nodeType":860},{},[110517],{"data":110518,"marks":110519,"value":110520,"nodeType":864},{},[],"The user enters their credentials into the login page for our malicious Okta tenant. Our instance of Adam Chester’s AD synchronization script harvests the user’s login credentials.",{"data":110522,"content":110523,"nodeType":945},{},[110524],{"data":110525,"content":110526,"nodeType":860},{},[110527],{"data":110528,"marks":110529,"value":110530,"nodeType":864},{},[],"The user is already accustomed to using Okta to access Datadog, the Okta login page they are directed to is on a legitimate Okta domain and they haven’t clicked any links in emails/IM messages so there is no reason for suspicion.",{"data":110532,"content":110533,"nodeType":945},{},[110534],{"data":110535,"content":110536,"nodeType":860},{},[110537],{"data":110538,"marks":110539,"value":110540,"nodeType":864},{},[],"The modification we made to accept any credentials means the script returns true to Okta and causes Okta to accept the authentication attempt. This causes the user to be logged into the legitimate Datadog tenant again, where they can carry on their work, unaware they have just had their Okta credentials stolen.",{"data":110542,"content":110543,"nodeType":860},{},[110544],{"data":110545,"marks":110546,"value":110547,"nodeType":864},{},[],"The following video shows what a login attempt to Datadog looks like after the SAML configuration has been modified to point to our malicious Okta tenant. You can see how all the URLs observed are legitimate Datadog and Okta domains, any password will be accepted and harvested and the target user will be logged into the legitimate Datadog tenant successfully at the end.",{"data":110549,"content":110553,"nodeType":996},{"target":110550},{"sys":110551},{"id":110552,"type":1001,"linkType":1002},"dHVOdvHLdVzOEGai6qtSl",[],{"data":110555,"content":110556,"nodeType":860},{},[110557],{"data":110558,"marks":110559,"value":110560,"nodeType":864},{},[],"This type of attack sits somewhere in the middle of the kill chain between the initial access phishing we covered in the previous section and the full active directory/Okta domain compromise Adam Chester covered in his article. In this instance, we are looking at leveraging a more limited admin-level compromise of a single SaaS application to extend our access much further. ",{"data":110562,"content":110563,"nodeType":860},{},[110564,110568,110572],{"data":110565,"marks":110566,"value":110567,"nodeType":864},{},[],"When an organization relies on SaaS apps, it’s likely there may be some apps that are not considered particularly security critical and also may have “admins” that are actually just members of non-technical teams in the business. An admin-level compromise of ",{"data":110569,"marks":110570,"value":31415,"nodeType":864},{},[110571],{"type":2246},{"data":110573,"marks":110574,"value":110575,"nodeType":864},{},[]," SaaS application used by the organization can be used to conduct highly stealthy Okta credential capturing for all users. With those credentials, an attacker can expand their access and move laterally to other accounts and applications. ",{"data":110577,"content":110580,"nodeType":996},{"target":110578},{"sys":110579},{"id":102281,"type":1001,"linkType":1002},[],{"data":110582,"content":110583,"nodeType":1009},{},[110584],{"data":110585,"marks":110586,"value":110587,"nodeType":864},{},[],"Impact",{"data":110589,"content":110590,"nodeType":860},{},[110591],{"data":110592,"marks":110593,"value":110594,"nodeType":864},{},[],"Let’s take a step back and consider the key points of impact here:",{"data":110596,"content":110597,"nodeType":941},{},[110598,110608,110618],{"data":110599,"content":110600,"nodeType":945},{},[110601],{"data":110602,"content":110603,"nodeType":860},{},[110604],{"data":110605,"marks":110606,"value":110607,"nodeType":864},{},[],"Attackers can send phishing links pointing to legitimate Okta domains and use those to capture credentials due to the way Okta AD synchronization works - this bypasses common user security training around checking domains are legitimate",{"data":110609,"content":110610,"nodeType":945},{},[110611],{"data":110612,"content":110613,"nodeType":860},{},[110614],{"data":110615,"marks":110616,"value":110617,"nodeType":864},{},[],"If an attacker compromises a legitimate SaaS tenant in use by an organization protected by Okta, they can modify the SAML configuration to point to their own malicious Okta tenant and thus capture credentials using the same method",{"data":110619,"content":110620,"nodeType":945},{},[110621],{"data":110622,"content":110623,"nodeType":860},{},[110624],{"data":110625,"marks":110626,"value":110627,"nodeType":864},{},[],"It would be extremely unlikely legitimate users would notice as it is part of the normal authentication flow, all domains observed would be legitimate SaaS and Okta domains, and they would be logged in successfully to the real SaaS tenant after entering their password",{"data":110629,"content":110630,"nodeType":1009},{},[110631],{"data":110632,"marks":110633,"value":32492,"nodeType":864},{},[],{"data":110635,"content":110636,"nodeType":860},{},[110637],{"data":110638,"marks":110639,"value":110640,"nodeType":864},{},[],"Okta is an identity management service that can help manage and protect access to a large number of applications used by an organization. However, due to the manner in which Okta AD synchronization works, it’s possible to use phishing links pointing to legitimate Okta domains to capture users credentials.",{"data":110642,"content":110643,"nodeType":860},{},[110644],{"data":110645,"marks":110646,"value":110647,"nodeType":864},{},[],"Additionally, admin access to any application in use with Okta needs to be carefully considered even if the application itself is not particularly sensitive. This is because a compromise of that application, or of a user account with admin access to it, can be used to modify the existing Okta SAML configuration to point to a malicious Okta tenant and conduct an extremely stealthy credential harvesting attack of all users of the application. ",{"data":110649,"content":110650,"nodeType":860},{},[110651],{"data":110652,"marks":110653,"value":110654,"nodeType":864},{},[],"Defenders should carefully monitor user access to Okta URLs that do not match their own legitimate tenant as it could be a sign of credential capturing attacks.","Oktajacking","In this article, we'll show you how to use Okta to do keylogging for you, without needing to have your own malicious domain hosting your malicious SAML server. ","2023-12-06T00:00:00.000Z","oktajacking",{"items":110660},[110661,110663],{"sys":110662,"name":6593},{"id":6592},{"sys":110664,"name":297},{"id":2732},{"items":110666},[110667],{"fullName":4949,"firstName":4950,"jobTitle":4951,"profilePicture":110668},{"url":4955},"blog/ghost-logins-when-forgotten-identities-come-back-to-haunt-you",{"json":110671},{"data":110672,"content":110673,"nodeType":856},{},[110674],{"data":110675,"content":110676,"nodeType":860},{},[110677],{"data":110678,"marks":110679,"value":110680,"nodeType":864},{},[],"How ghost logins – where an application user account can have multiple simultaneous logins using different sign-in methods – can be leveraged by attackers throughout the different stages of a cyber attack. ",{"id":74598,"publishedAt":110682},"2026-08-12T11:55:13.323Z",{"items":110684},[110685,110687],{"sys":110686,"name":6593},{"id":6592},{"sys":110688,"name":342},{"id":6596},{"items":110690},[110691,110693,110695,110697,110699,110701],{"sys":110692,"name":413,"slug":414,"tier":31},{"id":410},{"sys":110694,"name":545,"slug":546,"tier":31},{"id":542},{"sys":110696,"name":502,"slug":503,"tier":45},{"id":499},{"sys":110698,"name":404,"slug":405,"tier":45},{"id":401},{"sys":110700,"name":333,"slug":334,"tier":45},{"id":330},{"sys":110702,"name":395,"slug":396,"tier":45},{"id":392},"Me6lxDgBE9ECdLi_EJqPf84W822ECtjODh_ERhFKdSY",{"id":110705,"title":110029,"authorsCollection":110706,"content":110711,"extension":228,"faqItemsCollection":111064,"faqTitle":59,"featured":6,"hashTags":59,"meta":111066,"metaTitle":111067,"ogImage":59,"postType":38987,"publishedDate":110031,"relatedBlogPostsCollection":111068,"slug":110032,"stem":112804,"subtitle":59,"summary":112805,"synopsis":110030,"sys":112816,"tagsCollection":112818,"topicsCollection":112824,"__hash__":112850},"blog/blog/investigating-and-responding-to-a-third-party-data-breach-using-push.json",{"items":110707},[110708],{"fullName":4878,"firstName":4879,"jobTitle":851,"socialLinks":110709,"profilePicture":110710},[14839],{"url":4881},{"json":110712,"links":111039},{"data":110713,"content":110714,"nodeType":856},{},[110715,110721,110727,110732,110738,110744,110750,110756,110762,110768,110823,110828,110834,110840,110853,110859,110865,110871,110877,110883,110889,110898,110904,110909,110915,110921,110927,110933,110939,110944,110950,110966,110972,110978,110984,111023],{"data":110716,"content":110717,"nodeType":860},{},[110718],{"data":110719,"marks":110720,"value":109661,"nodeType":864},{},[],{"data":110722,"content":110723,"nodeType":860},{},[110724],{"data":110725,"marks":110726,"value":109668,"nodeType":864},{},[],{"data":110728,"content":110731,"nodeType":996},{"target":110729},{"sys":110730},{"id":109673,"type":1001,"linkType":1002},[],{"data":110733,"content":110734,"nodeType":1009},{},[110735],{"data":110736,"marks":110737,"value":109681,"nodeType":864},{},[],{"data":110739,"content":110740,"nodeType":860},{},[110741],{"data":110742,"marks":110743,"value":109688,"nodeType":864},{},[],{"data":110745,"content":110746,"nodeType":860},{},[110747],{"data":110748,"marks":110749,"value":109695,"nodeType":864},{},[],{"data":110751,"content":110752,"nodeType":860},{},[110753],{"data":110754,"marks":110755,"value":109702,"nodeType":864},{},[],{"data":110757,"content":110758,"nodeType":860},{},[110759],{"data":110760,"marks":110761,"value":109709,"nodeType":864},{},[],{"data":110763,"content":110764,"nodeType":860},{},[110765],{"data":110766,"marks":110767,"value":109716,"nodeType":864},{},[],{"data":110769,"content":110770,"nodeType":941},{},[110771,110784,110797,110810],{"data":110772,"content":110773,"nodeType":945},{},[110774],{"data":110775,"content":110776,"nodeType":860},{},[110777,110781],{"data":110778,"marks":110779,"value":109730,"nodeType":864},{},[110780],{"type":899},{"data":110782,"marks":110783,"value":109734,"nodeType":864},{},[],{"data":110785,"content":110786,"nodeType":945},{},[110787],{"data":110788,"content":110789,"nodeType":860},{},[110790,110794],{"data":110791,"marks":110792,"value":109745,"nodeType":864},{},[110793],{"type":899},{"data":110795,"marks":110796,"value":109749,"nodeType":864},{},[],{"data":110798,"content":110799,"nodeType":945},{},[110800],{"data":110801,"content":110802,"nodeType":860},{},[110803,110807],{"data":110804,"marks":110805,"value":109760,"nodeType":864},{},[110806],{"type":899},{"data":110808,"marks":110809,"value":109764,"nodeType":864},{},[],{"data":110811,"content":110812,"nodeType":945},{},[110813],{"data":110814,"content":110815,"nodeType":860},{},[110816,110820],{"data":110817,"marks":110818,"value":109775,"nodeType":864},{},[110819],{"type":899},{"data":110821,"marks":110822,"value":109779,"nodeType":864},{},[],{"data":110824,"content":110827,"nodeType":996},{"target":110825},{"sys":110826},{"id":109784,"type":1001,"linkType":1002},[],{"data":110829,"content":110830,"nodeType":1009},{},[110831],{"data":110832,"marks":110833,"value":109792,"nodeType":864},{},[],{"data":110835,"content":110836,"nodeType":860},{},[110837],{"data":110838,"marks":110839,"value":109799,"nodeType":864},{},[],{"data":110841,"content":110842,"nodeType":860},{},[110843,110846,110850],{"data":110844,"marks":110845,"value":109806,"nodeType":864},{},[],{"data":110847,"marks":110848,"value":19474,"nodeType":864},{},[110849],{"type":2246},{"data":110851,"marks":110852,"value":109814,"nodeType":864},{},[],{"data":110854,"content":110855,"nodeType":860},{},[110856],{"data":110857,"marks":110858,"value":109821,"nodeType":864},{},[],{"data":110860,"content":110861,"nodeType":860},{},[110862],{"data":110863,"marks":110864,"value":109828,"nodeType":864},{},[],{"data":110866,"content":110867,"nodeType":860},{},[110868],{"data":110869,"marks":110870,"value":109835,"nodeType":864},{},[],{"data":110872,"content":110873,"nodeType":1009},{},[110874],{"data":110875,"marks":110876,"value":109842,"nodeType":864},{},[],{"data":110878,"content":110879,"nodeType":860},{},[110880],{"data":110881,"marks":110882,"value":109849,"nodeType":864},{},[],{"data":110884,"content":110885,"nodeType":860},{},[110886],{"data":110887,"marks":110888,"value":109856,"nodeType":864},{},[],{"data":110890,"content":110891,"nodeType":1116},{},[110892],{"data":110893,"content":110894,"nodeType":860},{},[110895],{"data":110896,"marks":110897,"value":109866,"nodeType":864},{},[],{"data":110899,"content":110900,"nodeType":860},{},[110901],{"data":110902,"marks":110903,"value":109873,"nodeType":864},{},[],{"data":110905,"content":110908,"nodeType":996},{"target":110906},{"sys":110907},{"id":109878,"type":1001,"linkType":1002},[],{"data":110910,"content":110911,"nodeType":1009},{},[110912],{"data":110913,"marks":110914,"value":109886,"nodeType":864},{},[],{"data":110916,"content":110917,"nodeType":860},{},[110918],{"data":110919,"marks":110920,"value":109893,"nodeType":864},{},[],{"data":110922,"content":110923,"nodeType":860},{},[110924],{"data":110925,"marks":110926,"value":109900,"nodeType":864},{},[],{"data":110928,"content":110929,"nodeType":860},{},[110930],{"data":110931,"marks":110932,"value":109907,"nodeType":864},{},[],{"data":110934,"content":110935,"nodeType":860},{},[110936],{"data":110937,"marks":110938,"value":109914,"nodeType":864},{},[],{"data":110940,"content":110943,"nodeType":996},{"target":110941},{"sys":110942},{"id":109919,"type":1001,"linkType":1002},[],{"data":110945,"content":110946,"nodeType":1312},{},[110947],{"data":110948,"marks":110949,"value":109927,"nodeType":864},{},[],{"data":110951,"content":110952,"nodeType":860},{},[110953,110956,110963],{"data":110954,"marks":110955,"value":109934,"nodeType":864},{},[],{"data":110957,"content":110958,"nodeType":883},{"uri":51278},[110959],{"data":110960,"marks":110961,"value":109942,"nodeType":864},{},[110962],{"type":1455},{"data":110964,"marks":110965,"value":109946,"nodeType":864},{},[],{"data":110967,"content":110968,"nodeType":1312},{},[110969],{"data":110970,"marks":110971,"value":109953,"nodeType":864},{},[],{"data":110973,"content":110974,"nodeType":860},{},[110975],{"data":110976,"marks":110977,"value":109960,"nodeType":864},{},[],{"data":110979,"content":110980,"nodeType":860},{},[110981],{"data":110982,"marks":110983,"value":109967,"nodeType":864},{},[],{"data":110985,"content":110986,"nodeType":941},{},[110987,110996,111005,111014],{"data":110988,"content":110989,"nodeType":945},{},[110990],{"data":110991,"content":110992,"nodeType":860},{},[110993],{"data":110994,"marks":110995,"value":109980,"nodeType":864},{},[],{"data":110997,"content":110998,"nodeType":945},{},[110999],{"data":111000,"content":111001,"nodeType":860},{},[111002],{"data":111003,"marks":111004,"value":109990,"nodeType":864},{},[],{"data":111006,"content":111007,"nodeType":945},{},[111008],{"data":111009,"content":111010,"nodeType":860},{},[111011],{"data":111012,"marks":111013,"value":110000,"nodeType":864},{},[],{"data":111015,"content":111016,"nodeType":945},{},[111017],{"data":111018,"content":111019,"nodeType":860},{},[111020],{"data":111021,"marks":111022,"value":110010,"nodeType":864},{},[],{"data":111024,"content":111025,"nodeType":860},{},[111026,111029,111036],{"data":111027,"marks":111028,"value":110017,"nodeType":864},{},[],{"data":111030,"content":111031,"nodeType":883},{"uri":5642},[111032],{"data":111033,"marks":111034,"value":37814,"nodeType":864},{},[111035],{"type":1455},{"data":111037,"marks":111038,"value":110028,"nodeType":864},{},[],{"entries":111040},{"hyperlink":111041,"inline":111042,"block":111043},[],[],[111044,111050,111056,111061],{"sys":111045,"__typename":47726,"title":111046,"youTubeUrl":111047,"imagePlaceholder":111048},{"id":109673},"Third-party breach investigation","https://www.youtube.com/watch?v=MGXGCjV7wNs",{"url":111049,"width":100321,"height":45620},"https://images.ctfassets.net/y1cdw1ablpvd/23n4KrkUFTZlGQC6gFrlUe/65538da8c4296cd4ec56c270248df93b/image__18_.jpg",{"sys":111051,"__typename":1724,"title":111052,"caption":111053,"layoutMode":59,"file":111054},{"id":109784},"App search bar","Identifying users of the breached service, their last login dates, and authentication methods.",{"url":111055,"width":100321,"height":45620},"https://images.ctfassets.net/y1cdw1ablpvd/5IhiiD9yOzU2jITWNrkrLo/dd5ea175613a2ed5d30f5a243fa2ec28/image__17_.png",{"sys":111057,"__typename":1724,"title":111058,"caption":111059,"layoutMode":59,"file":111060},{"id":109878},"Identifying vulnerable identities","Find other accounts using the same password that are potentially vulnerable to credential stuffing. ",{"url":111049,"width":100321,"height":45620},{"sys":111062,"__typename":1717,"type":80540,"ctaText":111063,"buttonLabel":41118,"buttonColour":66936,"buttonUrl":59},{"id":109919},"Check out all of our features, including SSO Password Protection and more",{"items":111065},[],{},"Responding to a third-party data breach using Push",{"items":111069},[111070,111434,112263],{"__typename":2059,"sys":111071,"content":111072,"title":95586,"synopsis":95587,"hashTags":59,"publishedDate":95588,"slug":95589,"tagsCollection":111424,"authorsCollection":111430},{"id":89629},{"json":111073},{"data":111074,"content":111075,"nodeType":856},{},[111076,111081,111098,111115,111130,111147,111168,111174,111191,111208,111214,111219,111225,111231,111237,111243,111249,111255,111261,111267,111273,111290,111296,111301,111321,111327,111342,111347,111364,111370,111376,111382,111388,111403,111409],{"data":111077,"content":111080,"nodeType":996},{"target":111078},{"sys":111079},{"id":95191,"type":1001,"linkType":1002},[],{"data":111082,"content":111083,"nodeType":860},{},[111084,111087,111095],{"data":111085,"marks":111086,"value":95199,"nodeType":864},{},[],{"data":111088,"content":111091,"nodeType":27604},{"target":111089},{"sys":111090},{"id":95204,"type":1001,"linkType":1002},[111092],{"data":111093,"marks":111094,"value":95209,"nodeType":864},{},[],{"data":111096,"marks":111097,"value":95213,"nodeType":864},{},[],{"data":111099,"content":111100,"nodeType":860},{},[111101,111104,111112],{"data":111102,"marks":111103,"value":95220,"nodeType":864},{},[],{"data":111105,"content":111108,"nodeType":27604},{"target":111106},{"sys":111107},{"id":95225,"type":1001,"linkType":1002},[111109],{"data":111110,"marks":111111,"value":95230,"nodeType":864},{},[],{"data":111113,"marks":111114,"value":95234,"nodeType":864},{},[],{"data":111116,"content":111117,"nodeType":860},{},[111118,111121,111127],{"data":111119,"marks":111120,"value":95241,"nodeType":864},{},[],{"data":111122,"content":111123,"nodeType":883},{"uri":91866},[111124],{"data":111125,"marks":111126,"value":95248,"nodeType":864},{},[],{"data":111128,"marks":111129,"value":95252,"nodeType":864},{},[],{"data":111131,"content":111132,"nodeType":860},{},[111133,111136,111144],{"data":111134,"marks":111135,"value":95259,"nodeType":864},{},[],{"data":111137,"content":111140,"nodeType":27604},{"target":111138},{"sys":111139},{"id":95204,"type":1001,"linkType":1002},[111141],{"data":111142,"marks":111143,"value":95268,"nodeType":864},{},[],{"data":111145,"marks":111146,"value":95272,"nodeType":864},{},[],{"data":111148,"content":111149,"nodeType":941},{},[111150,111159],{"data":111151,"content":111152,"nodeType":945},{},[111153],{"data":111154,"content":111155,"nodeType":860},{},[111156],{"data":111157,"marks":111158,"value":95285,"nodeType":864},{},[],{"data":111160,"content":111161,"nodeType":945},{},[111162],{"data":111163,"content":111164,"nodeType":860},{},[111165],{"data":111166,"marks":111167,"value":95295,"nodeType":864},{},[],{"data":111169,"content":111170,"nodeType":860},{},[111171],{"data":111172,"marks":111173,"value":95302,"nodeType":864},{},[],{"data":111175,"content":111176,"nodeType":860},{},[111177,111180,111188],{"data":111178,"marks":111179,"value":95309,"nodeType":864},{},[],{"data":111181,"content":111184,"nodeType":27604},{"target":111182},{"sys":111183},{"id":28039,"type":1001,"linkType":1002},[111185],{"data":111186,"marks":111187,"value":95318,"nodeType":864},{},[],{"data":111189,"marks":111190,"value":95322,"nodeType":864},{},[],{"data":111192,"content":111193,"nodeType":860},{},[111194,111197,111205],{"data":111195,"marks":111196,"value":95329,"nodeType":864},{},[],{"data":111198,"content":111201,"nodeType":27604},{"target":111199},{"sys":111200},{"id":89984,"type":1001,"linkType":1002},[111202],{"data":111203,"marks":111204,"value":95338,"nodeType":864},{},[],{"data":111206,"marks":111207,"value":95342,"nodeType":864},{},[],{"data":111209,"content":111210,"nodeType":860},{},[111211],{"data":111212,"marks":111213,"value":95349,"nodeType":864},{},[],{"data":111215,"content":111218,"nodeType":996},{"target":111216},{"sys":111217},{"id":95354,"type":1001,"linkType":1002},[],{"data":111220,"content":111221,"nodeType":1009},{},[111222],{"data":111223,"marks":111224,"value":95362,"nodeType":864},{},[],{"data":111226,"content":111227,"nodeType":860},{},[111228],{"data":111229,"marks":111230,"value":95369,"nodeType":864},{},[],{"data":111232,"content":111233,"nodeType":860},{},[111234],{"data":111235,"marks":111236,"value":95376,"nodeType":864},{},[],{"data":111238,"content":111239,"nodeType":860},{},[111240],{"data":111241,"marks":111242,"value":95383,"nodeType":864},{},[],{"data":111244,"content":111245,"nodeType":860},{},[111246],{"data":111247,"marks":111248,"value":95390,"nodeType":864},{},[],{"data":111250,"content":111251,"nodeType":860},{},[111252],{"data":111253,"marks":111254,"value":95397,"nodeType":864},{},[],{"data":111256,"content":111257,"nodeType":860},{},[111258],{"data":111259,"marks":111260,"value":95404,"nodeType":864},{},[],{"data":111262,"content":111263,"nodeType":1009},{},[111264],{"data":111265,"marks":111266,"value":89634,"nodeType":864},{},[],{"data":111268,"content":111269,"nodeType":860},{},[111270],{"data":111271,"marks":111272,"value":95417,"nodeType":864},{},[],{"data":111274,"content":111275,"nodeType":860},{},[111276,111279,111287],{"data":111277,"marks":111278,"value":95424,"nodeType":864},{},[],{"data":111280,"content":111283,"nodeType":27604},{"target":111281},{"sys":111282},{"id":91941,"type":1001,"linkType":1002},[111284],{"data":111285,"marks":111286,"value":73272,"nodeType":864},{},[],{"data":111288,"marks":111289,"value":95436,"nodeType":864},{},[],{"data":111291,"content":111292,"nodeType":860},{},[111293],{"data":111294,"marks":111295,"value":95443,"nodeType":864},{},[],{"data":111297,"content":111300,"nodeType":996},{"target":111298},{"sys":111299},{"id":89617,"type":1001,"linkType":1002},[],{"data":111302,"content":111303,"nodeType":860},{},[111304,111307,111311,111314,111318],{"data":111305,"marks":111306,"value":1499,"nodeType":864},{},[],{"data":111308,"marks":111309,"value":1397,"nodeType":864},{},[111310],{"type":899},{"data":111312,"marks":111313,"value":95462,"nodeType":864},{},[],{"data":111315,"marks":111316,"value":1503,"nodeType":864},{},[111317],{"type":899},{"data":111319,"marks":111320,"value":95470,"nodeType":864},{},[],{"data":111322,"content":111323,"nodeType":860},{},[111324],{"data":111325,"marks":111326,"value":95477,"nodeType":864},{},[],{"data":111328,"content":111329,"nodeType":860},{},[111330,111333,111339],{"data":111331,"marks":111332,"value":94485,"nodeType":864},{},[],{"data":111334,"content":111335,"nodeType":883},{"uri":90269},[111336],{"data":111337,"marks":111338,"value":72883,"nodeType":864},{},[],{"data":111340,"marks":111341,"value":94495,"nodeType":864},{},[],{"data":111343,"content":111346,"nodeType":996},{"target":111344},{"sys":111345},{"id":95497,"type":1001,"linkType":1002},[],{"data":111348,"content":111349,"nodeType":860},{},[111350,111353,111361],{"data":111351,"marks":111352,"value":95505,"nodeType":864},{},[],{"data":111354,"content":111357,"nodeType":27604},{"target":111355},{"sys":111356},{"id":28295,"type":1001,"linkType":1002},[111358],{"data":111359,"marks":111360,"value":47996,"nodeType":864},{},[],{"data":111362,"marks":111363,"value":95517,"nodeType":864},{},[],{"data":111365,"content":111366,"nodeType":860},{},[111367],{"data":111368,"marks":111369,"value":95524,"nodeType":864},{},[],{"data":111371,"content":111372,"nodeType":860},{},[111373],{"data":111374,"marks":111375,"value":95531,"nodeType":864},{},[],{"data":111377,"content":111378,"nodeType":1009},{},[111379],{"data":111380,"marks":111381,"value":6469,"nodeType":864},{},[],{"data":111383,"content":111384,"nodeType":860},{},[111385],{"data":111386,"marks":111387,"value":95544,"nodeType":864},{},[],{"data":111389,"content":111390,"nodeType":860},{},[111391,111394,111400],{"data":111392,"marks":111393,"value":95551,"nodeType":864},{},[],{"data":111395,"content":111396,"nodeType":883},{"uri":95554},[111397],{"data":111398,"marks":111399,"value":95559,"nodeType":864},{},[],{"data":111401,"marks":111402,"value":2924,"nodeType":864},{},[],{"data":111404,"content":111405,"nodeType":1009},{},[111406],{"data":111407,"marks":111408,"value":36405,"nodeType":864},{},[],{"data":111410,"content":111411,"nodeType":860},{},[111412,111415,111421],{"data":111413,"marks":111414,"value":95575,"nodeType":864},{},[],{"data":111416,"content":111417,"nodeType":883},{"uri":5642},[111418],{"data":111419,"marks":111420,"value":37814,"nodeType":864},{},[],{"data":111422,"marks":111423,"value":95585,"nodeType":864},{},[],{"items":111425},[111426,111428],{"sys":111427,"name":73498},{"id":73497},{"sys":111429,"name":342},{"id":6596},{"items":111431},[111432],{"fullName":849,"firstName":850,"jobTitle":851,"profilePicture":111433},{"url":853},{"__typename":2059,"sys":111435,"content":111436,"title":100967,"synopsis":112250,"hashTags":59,"publishedDate":112251,"slug":112252,"tagsCollection":112253,"authorsCollection":112259},{"id":95204},{"json":111437},{"data":111438,"content":111439,"nodeType":856},{},[111440,111447,111454,111461,111468,111475,111482,111489,111496,111503,111509,111516,111523,111530,111579,111586,111593,111612,111619,111626,111633,111665,111681,111688,111695,111702,111709,111716,111723,111743,111761,111865,111872,111890,111897,111904,111911,111917,111924,111931,111938,111969,111975,111982,112015,112022,112029,112125,112142,112148,112155,112162,112169,112222,112229,112232,112239,112244],{"data":111441,"content":111442,"nodeType":860},{},[111443],{"data":111444,"marks":111445,"value":111446,"nodeType":864},{},[],"Phishing attacks have always been a go-to technique for both red teamers and real-world threat actors alike. Whether focused on harvesting creds or running malicious payloads, phishing has continued to be adapted to circumvent defenses and has remained highly effective due to this.",{"data":111448,"content":111449,"nodeType":860},{},[111450],{"data":111451,"marks":111452,"value":111453,"nodeType":864},{},[],"As MFA has become more common, classic password harvesting focused phishing attacks have become less effective. Typically, for a full account compromise, an MFA push notification or a one-time passcode (OTP) needs to be entered at the time of login. This means harvesting passwords and using them later is no longer effective alone, because an MFA factor is still required each time a valid login is performed.",{"data":111455,"content":111456,"nodeType":860},{},[111457],{"data":111458,"marks":111459,"value":111460,"nodeType":864},{},[],"Adversary-in-the-Middle (AitM) phishing is a newer variant of phishing that allows attackers to circumvent MFA protection. In this article, we’re going to look at what AitM phishing is, how it works, and what you can do about it.",{"data":111462,"content":111463,"nodeType":1009},{},[111464],{"data":111465,"marks":111466,"value":111467,"nodeType":864},{},[],"What is AitM phishing?",{"data":111469,"content":111470,"nodeType":860},{},[111471],{"data":111472,"marks":111473,"value":111474,"nodeType":864},{},[],"AitM phishing is a technique that uses dedicated tooling to act as a proxy between the target and a legitimate login portal for an application, principally to make it easier to defeat MFA protection. ",{"data":111476,"content":111477,"nodeType":860},{},[111478],{"data":111479,"marks":111480,"value":111481,"nodeType":864},{},[],"While any login portal can be a target, attackers typically look for SSO login portals such as Microsoft Entra, Okta, or Google Workspace. This allows the target to log in successfully with a legitimate service they use and even continue to interact with it, while providing additional access to connected SSO apps if the attack is successful. ",{"data":111483,"content":111484,"nodeType":860},{},[111485],{"data":111486,"marks":111487,"value":111488,"nodeType":864},{},[],"As it’s a proxy to the real application, the page will appear exactly as the user expects, because they are logging into the legitimate site – just taking a detour via the attacker’s device. For example, if accessing their webmail, the user will see all their real emails; if accessing their cloud file store then all their real files will be present, etc. This gives the method an increased sense of authenticity and makes the compromise less obvious to the user. However, because the attacker is sitting in the middle of this connection, they are able to observe all interactions and also take control of the authenticated session to gain control of the user account. ",{"data":111490,"content":111491,"nodeType":860},{},[111492],{"data":111493,"marks":111494,"value":111495,"nodeType":864},{},[],"While this access is technically temporary, since the attacker is unable to re-authenticate in future without additional MFA prompts, in practice authenticated sessions can often last as long as 30 days or more if kept active. Additionally, there are a wide range of persistence techniques that allow an attacker to maintain some level of access to the user account and/or targeted application indefinitely. ",{"data":111497,"content":111498,"nodeType":860},{},[111499],{"data":111500,"marks":111501,"value":111502,"nodeType":864},{},[],"We’ll revisit this point later, but for now let’s consider the two main techniques that are used to implement AitM phishing: Reverse web proxies and Browser-in-the-Middle techniques.",{"data":111504,"content":111508,"nodeType":996},{"target":111505},{"sys":111506},{"id":111507,"type":1001,"linkType":1002},"6WEolDcviadCgAW4dCgTPW",[],{"data":111510,"content":111511,"nodeType":1312},{},[111512],{"data":111513,"marks":111514,"value":111515,"nodeType":864},{},[],"Reverse web proxy techniques",{"data":111517,"content":111518,"nodeType":860},{},[111519],{"data":111520,"marks":111521,"value":111522,"nodeType":864},{},[],"One common AitM phishing approach is to use tooling that acts as a reverse web proxy. For example, let’s say a victim is tricked into visiting a malicious domain. Under the hood, HTTP requests are passed between the victim’s browser and the real site via the malicious site. When the malicious site receives an HTTP request, it forwards this request on to the legitimate site it is impersonating, receives the response, and then forwards that on to the victim. ",{"data":111524,"content":111525,"nodeType":860},{},[111526],{"data":111527,"marks":111528,"value":111529,"nodeType":864},{},[],"In practice, there are many technical challenges, such as rewriting all links and references to the impersonated site to ensure everything continues to be sent to the attacker. However, at a high level, it really is just acting as a reverse web proxy.",{"data":111531,"content":111532,"nodeType":860},{},[111533,111537,111544,111547,111554,111558,111565,111569,111576],{"data":111534,"marks":111535,"value":111536,"nodeType":864},{},[],"This is arguably the most scalable and reliable approach from an attacker’s point of view. Open-source tools that demonstrate this method include ",{"data":111538,"content":111539,"nodeType":883},{"uri":94401},[111540],{"data":111541,"marks":111542,"value":94406,"nodeType":864},{},[111543],{"type":1455},{"data":111545,"marks":111546,"value":3731,"nodeType":864},{},[],{"data":111548,"content":111549,"nodeType":883},{"uri":94412},[111550],{"data":111551,"marks":111552,"value":94417,"nodeType":864},{},[111553],{"type":1455},{"data":111555,"marks":111556,"value":111557,"nodeType":864},{},[],", and the ever popular ",{"data":111559,"content":111560,"nodeType":883},{"uri":83666},[111561],{"data":111562,"marks":111563,"value":83672,"nodeType":864},{},[111564],{"type":1455},{"data":111566,"marks":111567,"value":111568,"nodeType":864},{},[],". In the criminal world, there are also similar private toolsets available that have been used in many breaches in the past. A good example of this would be ",{"data":111570,"content":111571,"nodeType":883},{"uri":94432},[111572],{"data":111573,"marks":111574,"value":94437,"nodeType":864},{},[111575],{"type":1455},{"data":111577,"marks":111578,"value":2924,"nodeType":864},{},[],{"data":111580,"content":111581,"nodeType":860},{},[111582],{"data":111583,"marks":111584,"value":111585,"nodeType":864},{},[],"One downside to this approach is that there are controls that can be put in place to block it. For example, application developers can hide obfuscated JavaScript code that will fail if the correct value is not produced, checking that the origin matches the expected (legitimate) domains or contains encrypted tokens including this material sent as part of the login process. ",{"data":111587,"content":111588,"nodeType":860},{},[111589],{"data":111590,"marks":111591,"value":111592,"nodeType":864},{},[],"While your average small website is not going to be implementing such checks, major identity providers have a strong vested interest in evolving their defenses to block these techniques. At this point, it’s a cat-and-mouse game. ",{"data":111594,"content":111595,"nodeType":860},{},[111596,111600,111609],{"data":111597,"marks":111598,"value":111599,"nodeType":864},{},[],"If you want to know more about this space, then definitely check out ",{"data":111601,"content":111603,"nodeType":883},{"uri":111602},"https://www.youtube.com/watch?v=C-Fh4sIdY8c",[111604],{"data":111605,"marks":111606,"value":111608,"nodeType":864},{},[111607],{"type":1455},"Kuba Gretzky’s talk on this at x33fcon",{"data":111610,"marks":111611,"value":35977,"nodeType":864},{},[],{"data":111613,"content":111614,"nodeType":1312},{},[111615],{"data":111616,"marks":111617,"value":111618,"nodeType":864},{},[],"Browser-in-the-Middle (BitM) techniques ",{"data":111620,"content":111621,"nodeType":860},{},[111622],{"data":111623,"marks":111624,"value":111625,"nodeType":864},{},[],"Another common approach is known as Browser-in-the-Middle (BitM). Rather than act as a reverse web proxy, this technique tricks a target into directly controlling the attacker’s own browser remotely using desktop screen sharing and control approaches, much like VNC and RDP. This enables the attacker to harvest not just the username and password, but all other associated secrets and tokens that go along with the login. ",{"data":111627,"content":111628,"nodeType":860},{},[111629],{"data":111630,"marks":111631,"value":111632,"nodeType":864},{},[],"In this case, the victim isn’t interacting with a fake website clone or proxy. They are literally remotely controlling the attacker’s browser to log in to the legitimate application without realizing. This is the virtual equivalent of an attacker handing their laptop to their victim, asking them to login to Okta for them, and then taking their laptop back afterwards. Thanks very much!",{"data":111634,"content":111635,"nodeType":860},{},[111636,111640,111648,111652,111661],{"data":111637,"marks":111638,"value":111639,"nodeType":864},{},[],"Practically speaking, the most common approach for implementing this technique is using the open-source project noVNC, which is a JavaScript-based VNC client that allows VNC to be used in the browser. Probably the most well-known example of an offensive tool implementing this is ",{"data":111641,"content":111642,"nodeType":883},{"uri":85836},[111643],{"data":111644,"marks":111645,"value":111647,"nodeType":864},{},[111646],{"type":1455},"EvilnoVNC",{"data":111649,"marks":111650,"value":111651,"nodeType":864},{},[],", which spins up Docker instances of VNC and proxies access to them, while also logging keystrokes and cookies to facilitate account compromise. Tools like ",{"data":111653,"content":111655,"nodeType":883},{"uri":111654},"https://posts.specterops.io/phishing-with-dynamite-7d33d8fac038",[111656],{"data":111657,"marks":111658,"value":111660,"nodeType":864},{},[111659],{"type":1455},"Cuddlephish",{"data":111662,"marks":111663,"value":111664,"nodeType":864},{},[]," offer similar functionality using WebRTC. ",{"data":111666,"content":111667,"nodeType":860},{},[111668,111672,111677],{"data":111669,"marks":111670,"value":111671,"nodeType":864},{},[],"The advantage of this approach is that ",{"data":111673,"marks":111674,"value":111676,"nodeType":864},{},[111675],{"type":899},"it is incredibly difficult for the target websites to do anything to stop it",{"data":111678,"marks":111679,"value":111680,"nodeType":864},{},[],". From their perspective, all they see is a legitimate browser accessing their website and logging in. None of the JavaScript tricks for checking the origin will work. They aren’t in a position to be able to see that the browser is secretly being controlled remotely by the victim user without their knowledge. ",{"data":111682,"content":111683,"nodeType":860},{},[111684],{"data":111685,"marks":111686,"value":111687,"nodeType":864},{},[],"On the downside, while noVNC can be extremely convincing, the illusion can sometimes be broken due to it not behaving exactly like a real website would due it being a graphical rendering. For example, something as simple as resizing the browser window can introduce render resolution issues. It’s also more difficult to scale for attacking large numbers of users than a reverse proxy technique.",{"data":111689,"content":111690,"nodeType":860},{},[111691],{"data":111692,"marks":111693,"value":111694,"nodeType":864},{},[],"Footnote: BitM is not to be confused with Browser-in-the-Browser (BitB), which is more of a malicious pop-up (think when a login button spawns a new browser window). ",{"data":111696,"content":111697,"nodeType":1009},{},[111698],{"data":111699,"marks":111700,"value":111701,"nodeType":864},{},[],"Beyond initial access",{"data":111703,"content":111704,"nodeType":860},{},[111705],{"data":111706,"marks":111707,"value":111708,"nodeType":864},{},[],"So maybe you’re thinking now “OK, sounds kinda bad, but I’m not that worried. Maybe some user accounts get compromised by this method despite all my MFA protections, but at least the attacker only has temporary access, right?” ",{"data":111710,"content":111711,"nodeType":860},{},[111712],{"data":111713,"marks":111714,"value":111715,"nodeType":864},{},[],"In theory, access is temporary as sessions time out. And if spotted, the security team can respond by killing the authenticated sessions and forcing password changes for the compromised users. Then the attacker is back to square one, right? Their session is lost, they still don’t have MFA, and even the password they keylogged has now been changed.",{"data":111717,"content":111718,"nodeType":860},{},[111719],{"data":111720,"marks":111721,"value":111722,"nodeType":864},{},[],"In practice, it’s not this simple. We mentioned earlier how SSO portals are often the most common targets for these attacks. For most modern organizations, this means their core identity provider, which just so happens to be the gateway to accessing many other web applications, whether internal applications or a multitude of SaaS applications. ",{"data":111724,"content":111725,"nodeType":860},{},[111726,111730,111739],{"data":111727,"marks":111728,"value":111729,"nodeType":864},{},[],"Let’s consider the example of an organization using Okta where their Okta login portal has been used as the target for AitM phishing. A smart attacker is going to immediately leverage this access to establish authenticated sessions on every single application that Okta provides the user access to. They are also going to ",{"data":111731,"content":111733,"nodeType":883},{"uri":111732},"https://pushsecurity.com/blog/okta-swa/",[111734],{"data":111735,"marks":111736,"value":111738,"nodeType":864},{},[111737],{"type":1455},"abuse Okta SWA",{"data":111740,"marks":111741,"value":111742,"nodeType":864},{},[]," to steal valid credentials for whichever applications support this method. And if that’s not enough, there are a variety of simple methods to achieve persistence on most downstream SaaS applications and sometimes even identity providers themselves.",{"data":111744,"content":111745,"nodeType":860},{},[111746,111750,111757],{"data":111747,"marks":111748,"value":111749,"nodeType":864},{},[],"While the full details of these persistence attacks are outside the scope of this article, more details on some key attacks can be found in a resource we created called the ",{"data":111751,"content":111752,"nodeType":883},{"uri":6418},[111753],{"data":111754,"marks":111755,"value":37864,"nodeType":864},{},[111756],{"type":1455},{"data":111758,"marks":111759,"value":111760,"nodeType":864},{},[],". Some of the most common techniques that apply here are: ",{"data":111762,"content":111763,"nodeType":941},{},[111764,111784,111805,111825,111845],{"data":111765,"content":111766,"nodeType":945},{},[111767],{"data":111768,"content":111769,"nodeType":860},{},[111770,111773,111781],{"data":111771,"marks":111772,"value":21,"nodeType":864},{},[],{"data":111774,"content":111775,"nodeType":883},{"uri":36086},[111776],{"data":111777,"marks":111778,"value":111780,"nodeType":864},{},[111779],{"type":1455},"SAT1004 - API keys",{"data":111782,"marks":111783,"value":21,"nodeType":864},{},[],{"data":111785,"content":111786,"nodeType":945},{},[111787],{"data":111788,"content":111789,"nodeType":860},{},[111790,111793,111802],{"data":111791,"marks":111792,"value":21,"nodeType":864},{},[],{"data":111794,"content":111796,"nodeType":883},{"uri":111795},"https://github.com/pushsecurity/saas-attacks/blob/main/techniques/link_sharing/description.md",[111797],{"data":111798,"marks":111799,"value":111801,"nodeType":864},{},[111800],{"type":1455},"SAT1022 - Link sharing",{"data":111803,"marks":111804,"value":21,"nodeType":864},{},[],{"data":111806,"content":111807,"nodeType":945},{},[111808],{"data":111809,"content":111810,"nodeType":860},{},[111811,111814,111822],{"data":111812,"marks":111813,"value":21,"nodeType":864},{},[],{"data":111815,"content":111816,"nodeType":883},{"uri":26784},[111817],{"data":111818,"marks":111819,"value":111821,"nodeType":864},{},[111820],{"type":1455},"SAT1017 - Ghost logins",{"data":111823,"marks":111824,"value":21,"nodeType":864},{},[],{"data":111826,"content":111827,"nodeType":945},{},[111828],{"data":111829,"content":111830,"nodeType":860},{},[111831,111834,111842],{"data":111832,"marks":111833,"value":21,"nodeType":864},{},[],{"data":111835,"content":111836,"nodeType":883},{"uri":96375},[111837],{"data":111838,"marks":111839,"value":111841,"nodeType":864},{},[111840],{"type":1455},"SAT1027 - OAuth tokens",{"data":111843,"marks":111844,"value":21,"nodeType":864},{},[],{"data":111846,"content":111847,"nodeType":945},{},[111848],{"data":111849,"content":111850,"nodeType":860},{},[111851,111854,111862],{"data":111852,"marks":111853,"value":21,"nodeType":864},{},[],{"data":111855,"content":111856,"nodeType":883},{"uri":61891},[111857],{"data":111858,"marks":111859,"value":111861,"nodeType":864},{},[111860],{"type":1455},"SAT1033 - Shadow workflows",{"data":111863,"marks":111864,"value":21,"nodeType":864},{},[],{"data":111866,"content":111867,"nodeType":860},{},[111868],{"data":111869,"marks":111870,"value":111871,"nodeType":864},{},[],"Suddenly, containing the breach just got a LOT more complicated.",{"data":111873,"content":111874,"nodeType":860},{},[111875,111879,111886],{"data":111876,"marks":111877,"value":111878,"nodeType":864},{},[],"It’s not just application-level lateral movement and persistence to worry about, though. It’s possible the attacker can start moving laterally across other user accounts. If they have selected their targets well, they might even find they have admin access to some downstream SaaS application that has been configured for SAML logins using Okta. For example, maybe they compromise a finance employee who has admin access to their business expenses SaaS application. Then the attacker might be able to use a new technique like ",{"data":111880,"content":111881,"nodeType":883},{"uri":88494},[111882],{"data":111883,"marks":111884,"value":5272,"nodeType":864},{},[111885],{"type":1455},{"data":111887,"marks":111888,"value":111889,"nodeType":864},{},[]," to start attacking other users in a watering hole attack to achieve lateral movement.",{"data":111891,"content":111892,"nodeType":1009},{},[111893],{"data":111894,"marks":111895,"value":111896,"nodeType":864},{},[],"Video demo – chaining it all together",{"data":111898,"content":111899,"nodeType":860},{},[111900],{"data":111901,"marks":111902,"value":111903,"nodeType":864},{},[],"OK, so we’ve just jumped from an account compromise for initial access using an AitM phishing attack to bringing up a huge number of other connected techniques. Let’s look at a quick video demonstration of an AitM phishing attack chained together with post-exploitation steps for persistence and lateral movement so we can see how it all fits together.",{"data":111905,"content":111906,"nodeType":860},{},[111907],{"data":111908,"marks":111909,"value":111910,"nodeType":864},{},[],"In this case, we’ll use EvilnoVNC targeting Okta as the core example for the AitM phishing attack:",{"data":111912,"content":111916,"nodeType":996},{"target":111913},{"sys":111914},{"id":111915,"type":1001,"linkType":1002},"QGTEWzmOL1vrgjXPuV4Gg",[],{"data":111918,"content":111919,"nodeType":860},{},[111920],{"data":111921,"marks":111922,"value":111923,"nodeType":864},{},[],"We can see here that AitM phishing attacks are not only highly effective even in the presence of MFA, but that post-exploitation steps have become so numerous that effective response and containment for even a low-privileged user account are now a significant challenge.",{"data":111925,"content":111926,"nodeType":1009},{},[111927],{"data":111928,"marks":111929,"value":111930,"nodeType":864},{},[],"Post-exploitation automation is coming",{"data":111932,"content":111933,"nodeType":860},{},[111934],{"data":111935,"marks":111936,"value":111937,"nodeType":864},{},[],"There is a saying that attacks only become more effective over time. In the past, toolsets like Metasploit and Cobalt Strike became increasingly focused on post-exploitation and automation to enable much more sophisticated compromises.",{"data":111939,"content":111940,"nodeType":860},{},[111941,111945,111956,111960,111965],{"data":111942,"marks":111943,"value":111944,"nodeType":864},{},[],"As AitM becomes increasingly popular (for example, researchers at Lab539 have reported ",{"data":111946,"content":111947,"nodeType":883},{"uri":91866},[111948,111953],{"data":111949,"marks":111950,"value":111952,"nodeType":864},{},[111951],{"type":1455},"a significant ramp up in attacker infrastructure linked to AitM campaigns",{"data":111954,"marks":111955,"value":27206,"nodeType":864},{},[],{"data":111957,"marks":111958,"value":111959,"nodeType":864},{},[]," it’s only a matter of time now before we see AitM phishing frameworks moving in the same direction and performing many of the lateral movement and persistence steps we saw above – automatically on every successful account compromise. The threat will increase ",{"data":111961,"marks":111962,"value":111964,"nodeType":864},{},[111963],{"type":899},"significantly",{"data":111966,"marks":111967,"value":111968,"nodeType":864},{},[]," when this becomes the case.",{"data":111970,"content":111971,"nodeType":1009},{},[111972],{"data":111973,"marks":111974,"value":61334,"nodeType":864},{},[],{"data":111976,"content":111977,"nodeType":860},{},[111978],{"data":111979,"marks":111980,"value":111981,"nodeType":864},{},[],"We’ve covered a lot of ground here, so let’s take a step back and consider the key points of impact:",{"data":111983,"content":111984,"nodeType":941},{},[111985,111995,112005],{"data":111986,"content":111987,"nodeType":945},{},[111988],{"data":111989,"content":111990,"nodeType":860},{},[111991],{"data":111992,"marks":111993,"value":111994,"nodeType":864},{},[],"AitM phishing techniques are highly effective and increasingly common, and can bypass most common forms of MFA.",{"data":111996,"content":111997,"nodeType":945},{},[111998],{"data":111999,"content":112000,"nodeType":860},{},[112001],{"data":112002,"marks":112003,"value":112004,"nodeType":864},{},[],"These techniques are being used by real threat actors and red teamers alike, with both criminal and open-source tools available for performing these attacks.",{"data":112006,"content":112007,"nodeType":945},{},[112008],{"data":112009,"content":112010,"nodeType":860},{},[112011],{"data":112012,"marks":112013,"value":112014,"nodeType":864},{},[],"There are many options for lateral movement and persistence after an account compromise, so simple containment actions like password resets for SSO credentials are not nearly enough to contain a knowledgeable attacker.",{"data":112016,"content":112017,"nodeType":1009},{},[112018],{"data":112019,"marks":112020,"value":112021,"nodeType":864},{},[],"What can blue teams do about it?",{"data":112023,"content":112024,"nodeType":860},{},[112025],{"data":112026,"marks":112027,"value":112028,"nodeType":864},{},[],"It’s important that organizations develop their capability to detect and respond to AitM attacks. Possible approaches include:",{"data":112030,"content":112031,"nodeType":941},{},[112032,112047,112082,112110],{"data":112033,"content":112034,"nodeType":945},{},[112035],{"data":112036,"content":112037,"nodeType":860},{},[112038,112043],{"data":112039,"marks":112040,"value":112042,"nodeType":864},{},[112041],{"type":899},"Move to FIDO MFA where possible",{"data":112044,"marks":112045,"value":112046,"nodeType":864},{},[]," (though, if no more susceptible backup methods are enabled, this does introduce operational challenges if passkeys are lost).",{"data":112048,"content":112049,"nodeType":945},{},[112050],{"data":112051,"content":112052,"nodeType":860},{},[112053,112058,112061,112066,112070,112079],{"data":112054,"marks":112055,"value":112057,"nodeType":864},{},[112056],{"type":899},"Detect and block known-bad malicious",{"data":112059,"marks":112060,"value":1171,"nodeType":864},{},[],{"data":112062,"marks":112063,"value":112065,"nodeType":864},{},[112064],{"type":899},"sites",{"data":112067,"marks":112068,"value":112069,"nodeType":864},{},[]," used in phishing campaigns. There are many threat intelligence feeds that can be ingested to achieve this. Usually, a domain has to be used in a malicious campaign before it can be catalogued – meaning there's typically a window of opportunity before the infrastructure is burned. That said, security researchers at Lab539 (yes, another shout out) have developed a way of identifying sites running AitM tooling – even before they are used for the first time. ",{"data":112071,"content":112073,"nodeType":883},{"uri":112072},"https://www.lab539.com/aitm",[112074],{"data":112075,"marks":112076,"value":112078,"nodeType":864},{},[112077],{"type":1455},"You can sign up to get access to their feed here.",{"data":112080,"marks":112081,"value":21,"nodeType":864},{},[],{"data":112083,"content":112084,"nodeType":945},{},[112085],{"data":112086,"content":112087,"nodeType":860},{},[112088,112093,112097,112106],{"data":112089,"marks":112090,"value":112092,"nodeType":864},{},[112091],{"type":899},"Introduce controls to detect phishing toolkits and cloned websites",{"data":112094,"marks":112095,"value":112096,"nodeType":864},{},[],". You can never rely on blocking malicious sites via TI feeds alone, so additional layers of defence are required. Push customers benefit from detection of AitM toolkits like Evilginx and EvilNoVNC in the browser (more to come on this soon!), while Thinkst Canary has developed ",{"data":112098,"content":112100,"nodeType":883},{"uri":112099},"https://blog.thinkst.com/2024/01/defending-against-the-attack-of-the-cloned-websites.html",[112101],{"data":112102,"marks":112103,"value":112105,"nodeType":864},{},[112104],{"type":1455},"methods of detecting whenever your website or login portal is cloned",{"data":112107,"marks":112108,"value":112109,"nodeType":864},{},[]," – very cool.  ",{"data":112111,"content":112112,"nodeType":945},{},[112113],{"data":112114,"content":112115,"nodeType":860},{},[112116,112121],{"data":112117,"marks":112118,"value":112120,"nodeType":864},{},[112119],{"type":899},"Update IR playbooks to to deal with SSO account compromise,",{"data":112122,"marks":112123,"value":112124,"nodeType":864},{},[]," factoring in lateral movement and persistence across cloud apps. This really necessitates that you understand what business apps your organization is using, how they are accessed (e.g. SSO or username and password) and what functionality exists that could be abused by an attacker. ",{"data":112126,"content":112127,"nodeType":860},{},[112128,112132,112139],{"data":112129,"marks":112130,"value":112131,"nodeType":864},{},[],"If you want to know more about how Push detects and blocks phishing tools in the browser, you can ",{"data":112133,"content":112134,"nodeType":883},{"uri":48185},[112135],{"data":112136,"marks":112137,"value":112138,"nodeType":864},{},[],"check out our article here",{"data":112140,"marks":112141,"value":1774,"nodeType":864},{},[],{"data":112143,"content":112144,"nodeType":1009},{},[112145],{"data":112146,"marks":112147,"value":32492,"nodeType":864},{},[],{"data":112149,"content":112150,"nodeType":860},{},[112151],{"data":112152,"marks":112153,"value":112154,"nodeType":864},{},[],"We’ve seen in this article how there are multiple ways to perform AitM phishing attacks and how they can be extremely effective at targeting users even when their accounts are protected by MFA.  ",{"data":112156,"content":112157,"nodeType":860},{},[112158],{"data":112159,"marks":112160,"value":112161,"nodeType":864},{},[],"Very few organizations are universally using phishing-resistant MFA, such as FIDO-based methods, and even those that do often have fallback options to handle situations where they cannot be used and/or tokens malfunction or are lost. Therefore, the vast majority of organizations are at risk of AitM phishing attacks.",{"data":112163,"content":112164,"nodeType":860},{},[112165],{"data":112166,"marks":112167,"value":112168,"nodeType":864},{},[],"To make things worse, there are lateral movement and persistence techniques that can be exploited to greatly extend the depth of compromise even for a single low-privilege user account. This makes response and containment a significant challenge.",{"data":112170,"content":112171,"nodeType":860},{},[112172,112176,112183,112186,112194,112198,112206,112210,112218],{"data":112173,"marks":112174,"value":112175,"nodeType":864},{},[],"Phishing attacks are clearly evolving. Phishing attacks are no longer limited to email-based delivery mechanisms or being hosted on custom domains. There are many options now for delivering phishing attacks using ",{"data":112177,"content":112178,"nodeType":883},{"uri":83575},[112179],{"data":112180,"marks":112181,"value":103347,"nodeType":864},{},[112182],{"type":1455},{"data":112184,"marks":112185,"value":27405,"nodeType":864},{},[],{"data":112187,"content":112188,"nodeType":883},{"uri":83587},[112189],{"data":112190,"marks":112191,"value":112193,"nodeType":864},{},[112192],{"type":1455},"Microsoft Teams",{"data":112195,"marks":112196,"value":112197,"nodeType":864},{},[],", using ",{"data":112199,"content":112200,"nodeType":883},{"uri":5231},[112201],{"data":112202,"marks":112203,"value":112205,"nodeType":864},{},[112204],{"type":1455},"SAMLjacking attacks",{"data":112207,"marks":112208,"value":112209,"nodeType":864},{},[]," to host the initial landing page on legitimate SaaS web domains or even using ",{"data":112211,"content":112212,"nodeType":883},{"uri":85319},[112213],{"data":112214,"marks":112215,"value":112217,"nodeType":864},{},[112216],{"type":1455},"Okta to keylog credentials",{"data":112219,"marks":112220,"value":112221,"nodeType":864},{},[]," on behalf of the attacker. ",{"data":112223,"content":112224,"nodeType":860},{},[112225],{"data":112226,"marks":112227,"value":112228,"nodeType":864},{},[],"Increasingly, we should expect to see AitM toolkits being used as a standard part of phishing campaigns, and featured in Initial Access Broker tooling – AitM will effectively supersede legacy phishing methods in line with MFA adoption. Rather, it already is. ",{"data":112230,"content":112231,"nodeType":1005},{},[],{"data":112233,"content":112234,"nodeType":860},{},[112235],{"data":112236,"marks":112237,"value":112238,"nodeType":864},{},[],"If you're interested in seeing some more AitM tools in action, you can watch our recent webinar on-demand via the link below. ",{"data":112240,"content":112243,"nodeType":996},{"target":112241},{"sys":112242},{"id":111507,"type":1001,"linkType":1002},[],{"data":112245,"content":112246,"nodeType":860},{},[112247],{"data":112248,"marks":112249,"value":21,"nodeType":864},{},[],"Attackers are using Adversary in the Middle (AitM) phishing toolkits to bypass MFA. We look at what AitM is, how it works, and what you can do about it.","2024-05-23T00:00:00.000Z","phishing-2-0-how-phishing-toolkits-are-evolving-with-aitm",{"items":112254},[112255,112257],{"sys":112256,"name":6593},{"id":6592},{"sys":112258,"name":342},{"id":6596},{"items":112260},[112261],{"fullName":4949,"firstName":4950,"jobTitle":4951,"profilePicture":112262},{"url":4955},{"__typename":2059,"sys":112264,"content":112265,"title":112790,"synopsis":112791,"hashTags":59,"publishedDate":112792,"slug":112793,"tagsCollection":112794,"authorsCollection":112800},{"id":89984},{"json":112266},{"data":112267,"content":112268,"nodeType":856},{},[112269,112275,112281,112288,112295,112310,112343,112350,112358,112363,112378,112386,112392,112399,112406,112413,112420,112428,112435,112450,112466,112471,112478,112496,112514,112521,112544,112551,112574,112590,112597,112616,112623,112695,112702,112718,112725,112732,112739,112746,112762,112768,112774],{"data":112270,"content":112271,"nodeType":860},{},[112272],{"data":112273,"marks":112274,"value":21,"nodeType":864},{},[],{"data":112276,"content":112280,"nodeType":996},{"target":112277},{"sys":112278},{"id":112279,"type":1001,"linkType":1002},"5cseu1Cre2FrSQrIhSFxQw",[],{"data":112282,"content":112283,"nodeType":860},{},[112284],{"data":112285,"marks":112286,"value":112287,"nodeType":864},{},[],"Reliably detecting phishing sites is like trying to hit a moving target, as malicious websites and domains emerge, get taken down, and re-emerge continuously across the sprawl of the web.",{"data":112289,"content":112290,"nodeType":860},{},[112291],{"data":112292,"marks":112293,"value":112294,"nodeType":864},{},[],"Existing phishing prevention solutions have tried to solve the problem by protecting the inbox, a common (but not the only) attack vector, or by chasing lists of known-bad domains.",{"data":112296,"content":112297,"nodeType":860},{},[112298,112302,112307],{"data":112299,"marks":112300,"value":112301,"nodeType":864},{},[],"But these approaches have ",{"data":112303,"marks":112304,"value":112306,"nodeType":864},{},[112305],{"type":899},"two major shortcomings",{"data":112308,"marks":112309,"value":73563,"nodeType":864},{},[],{"data":112311,"content":112312,"nodeType":941},{},[112313,112328],{"data":112314,"content":112315,"nodeType":945},{},[112316],{"data":112317,"content":112318,"nodeType":860},{},[112319,112324],{"data":112320,"marks":112321,"value":112323,"nodeType":864},{},[112322],{"type":899},"Lack of coverage:",{"data":112325,"marks":112326,"value":112327,"nodeType":864},{},[]," Email-based phishing prevention tools can catch general spray-and-pray email phishing campaigns, but it only takes a small amount of tailoring to fly under their radar. The use of LLM tools to tailor phishing emails for their intended victims already makes this possible at scale. Email-based tools also fail to cover phishing attacks beyond the inbox, such as Slack and Teams phishing.",{"data":112329,"content":112330,"nodeType":945},{},[112331],{"data":112332,"content":112333,"nodeType":860},{},[112334,112339],{"data":112335,"marks":112336,"value":112338,"nodeType":864},{},[112337],{"type":899},"Expired intel:",{"data":112340,"marks":112341,"value":112342,"nodeType":864},{},[]," Tools that rely on known-bad domains always have an incomplete picture because a domain must be reported as malicious in order to get added to a blocklist. Meanwhile, attackers can spin up new sites or host phishing pages on existing sites by exploiting vulnerabilities in them, bypassing rules around preventing visits to newly registered domains. ",{"data":112344,"content":112345,"nodeType":860},{},[112346],{"data":112347,"marks":112348,"value":112349,"nodeType":864},{},[],"Using Push’s unique vantage point in the browser, we set out to attack this problem from a new angle. ",{"data":112351,"content":112352,"nodeType":860},{},[112353],{"data":112354,"marks":112355,"value":112357,"nodeType":864},{},[112356],{"type":899},"Instead of trying to detect phishing websites and domains that constantly change, we can now detect (and block!) phishing attempts based on directly observing user behavior in the browser.",{"data":112359,"content":112362,"nodeType":996},{"target":112360},{"sys":112361},{"id":109919,"type":1001,"linkType":1002},[],{"data":112364,"content":112365,"nodeType":860},{},[112366,112370,112374],{"data":112367,"marks":112368,"value":112369,"nodeType":864},{},[],"Our latest feature, ",{"data":112371,"marks":112372,"value":47996,"nodeType":864},{},[112373],{"type":899},{"data":112375,"marks":112376,"value":112377,"nodeType":864},{},[],", detects and blocks when a user enters their identity provider password on a webpage that does not belong to the IdP (e.g Okta, Google Workspace, Microsoft 365, etc.).",{"data":112379,"content":112380,"nodeType":860},{},[112381],{"data":112382,"marks":112383,"value":112385,"nodeType":864},{},[112384],{"type":899},"This means that even if that employee was the first person to get phished using a new attacker site, Push still detects it and blocks it.",{"data":112387,"content":112391,"nodeType":996},{"target":112388},{"sys":112389},{"id":112390,"type":1001,"linkType":1002},"4eCSQGec7mozFLDucNMO7m",[],{"data":112393,"content":112394,"nodeType":1312},{},[112395],{"data":112396,"marks":112397,"value":112398,"nodeType":864},{},[],"How does it work?",{"data":112400,"content":112401,"nodeType":860},{},[112402],{"data":112403,"marks":112404,"value":112405,"nodeType":864},{},[],"Instead of detecting a phishing page based on a known-bad signature, the Push browser agent dynamically inspects user behavior and the attributes of the page itself.",{"data":112407,"content":112408,"nodeType":860},{},[112409],{"data":112410,"marks":112411,"value":112412,"nodeType":864},{},[],"The browser agent works by observing all logins and generating a salted partial hash of the user’s password, known as a fingerprint. This fingerprint is then stored locally to allow Push to perform comparisons. ",{"data":112414,"content":112415,"nodeType":860},{},[112416],{"data":112417,"marks":112418,"value":112419,"nodeType":864},{},[],"To detect potential phishing attacks, the browser agent compares the observed password fingerprint to known fingerprints for identity provider passwords that already exist in local storage. ",{"data":112421,"content":112422,"nodeType":860},{},[112423],{"data":112424,"marks":112425,"value":112427,"nodeType":864},{},[112426],{"type":899},"If an employee enters a known IdP password on a webpage that Push doesn’t recognize, Push blocks it. ",{"data":112429,"content":112430,"nodeType":860},{},[112431],{"data":112432,"marks":112433,"value":112434,"nodeType":864},{},[],"Once you’ve discovered a malicious site, use Push’s companion feature, URL blocking, to add the domain to a blocklist and prevent your other end-users from visiting the site. ",{"data":112436,"content":112437,"nodeType":860},{},[112438,112441,112447],{"data":112439,"marks":112440,"value":94298,"nodeType":864},{},[],{"data":112442,"content":112443,"nodeType":883},{"uri":90269},[112444],{"data":112445,"marks":112446,"value":72883,"nodeType":864},{},[],{"data":112448,"marks":112449,"value":94308,"nodeType":864},{},[],{"data":112451,"content":112452,"nodeType":860},{},[112453,112457,112462],{"data":112454,"marks":112455,"value":112456,"nodeType":864},{},[],"Push administrators can configure SSO password protection in Monitor, Warn, or Block modes to first observe how often employees are re-using IdP credentials on other sites, eliminating any false positives by adding them to an ignore list, and then turning on Warn or Block to ",{"data":112458,"marks":112459,"value":112461,"nodeType":864},{},[112460],{"type":899},"show a custom message",{"data":112463,"marks":112464,"value":112465,"nodeType":864},{},[]," that either provides a speedbump for users (“Are you sure this isn’t a phishing site?”) or prevents them from logging in altogether.",{"data":112467,"content":112470,"nodeType":996},{"target":112468},{"sys":112469},{"id":89972,"type":1001,"linkType":1002},[],{"data":112472,"content":112473,"nodeType":860},{},[112474],{"data":112475,"marks":112476,"value":112477,"nodeType":864},{},[],"Supported identity providers include Okta, Microsoft 365, Google Workspace, JumpCloud, Duo and Ping Identity. ",{"data":112479,"content":112480,"nodeType":860},{},[112481,112485,112492],{"data":112482,"marks":112483,"value":112484,"nodeType":864},{},[],"You can also ",{"data":112486,"content":112487,"nodeType":883},{"uri":91978},[112488],{"data":112489,"marks":112490,"value":112491,"nodeType":864},{},[],"get alerted",{"data":112493,"marks":112494,"value":112495,"nodeType":864},{},[]," via webhook when Push detects a suspected phishing event.",{"data":112497,"content":112498,"nodeType":860},{},[112499,112503,112511],{"data":112500,"marks":112501,"value":112502,"nodeType":864},{},[],"Learn more about how it works and the end-user experience in our ",{"data":112504,"content":112507,"nodeType":27604},{"target":112505},{"sys":112506},{"id":28295,"type":1001,"linkType":1002},[112508],{"data":112509,"marks":112510,"value":43908,"nodeType":864},{},[],{"data":112512,"marks":112513,"value":2924,"nodeType":864},{},[],{"data":112515,"content":112516,"nodeType":1312},{},[112517],{"data":112518,"marks":112519,"value":112520,"nodeType":864},{},[],"But what about … ",{"data":112522,"content":112523,"nodeType":860},{},[112524,112528,112532,112535,112540],{"data":112525,"marks":112526,"value":112527,"nodeType":864},{},[],"Yes, we believe ",{"data":112529,"marks":112530,"value":457,"nodeType":864},{},[112531],{"type":899},{"data":112533,"marks":112534,"value":902,"nodeType":864},{},[],{"data":112536,"marks":112537,"value":112539,"nodeType":864},{},[112538],{"type":899},"conditional access policies",{"data":112541,"marks":112542,"value":112543,"nodeType":864},{},[]," are important parts of a defense-in-depth strategy against phishing — in addition to protecting IdP credentials directly in the browser.",{"data":112545,"content":112546,"nodeType":860},{},[112547],{"data":112548,"marks":112549,"value":112550,"nodeType":864},{},[],"Here’s why MFA and conditional access policies aren’t enough:",{"data":112552,"content":112553,"nodeType":941},{},[112554,112564],{"data":112555,"content":112556,"nodeType":945},{},[112557],{"data":112558,"content":112559,"nodeType":860},{},[112560],{"data":112561,"marks":112562,"value":112563,"nodeType":864},{},[],"MFA is not infallible and not all MFA methods are created equal. Methods such as SMS, TOTP, or even push notifications are phishable. Even if your employees are also using more phishing-resistant forms of MFA, such as WebAuthn, it’s common for accounts to use multiple MFA methods and an attacker need only target the weakest one. An attacker in possession of an SSO password also has leverage to socially engineer an authentication reset, including an MFA reset.",{"data":112565,"content":112566,"nodeType":945},{},[112567],{"data":112568,"content":112569,"nodeType":860},{},[112570],{"data":112571,"marks":112572,"value":112573,"nodeType":864},{},[],"It’s worryingly common for us to deploy Push and find that a customer’s conditional access policies aren’t implemented as they are designed to be. The most common reason is that admins have to create so many exceptions to allow for real-world situations that policies become complex and full of gaps.",{"data":112575,"content":112576,"nodeType":860},{},[112577,112581,112586],{"data":112578,"marks":112579,"value":112580,"nodeType":864},{},[],"And of course, protecting ",{"data":112582,"marks":112583,"value":112585,"nodeType":864},{},[112584],{"type":2246},"all",{"data":112587,"marks":112588,"value":112589,"nodeType":864},{},[]," your organization’s passwords is important. In fact, we’re currently developing this feature further so it will do just that! We focus here on IdP passwords because they’re a higher-value target for attackers — and the frequent target of recent real-world attacks.",{"data":112591,"content":112592,"nodeType":1312},{},[112593],{"data":112594,"marks":112595,"value":112596,"nodeType":864},{},[],"Why IdP accounts?",{"data":112598,"content":112599,"nodeType":860},{},[112600,112604,112612],{"data":112601,"marks":112602,"value":112603,"nodeType":864},{},[],"IdP accounts have been targeted in several high-profile recent attacks, like those carried out by Scattered Spider against MGM resorts and in the Retool breach. You can read more about them in our ",{"data":112605,"content":112608,"nodeType":27604},{"target":112606},{"sys":112607},{"id":95225,"type":1001,"linkType":1002},[112609],{"data":112610,"marks":112611,"value":94035,"nodeType":864},{},[],{"data":112613,"marks":112614,"value":112615,"nodeType":864},{},[]," blog article.",{"data":112617,"content":112618,"nodeType":860},{},[112619],{"data":112620,"marks":112621,"value":112622,"nodeType":864},{},[],"In the cloud-first world, a compromised IdP account is like a compromised user workstation. It gives an attacker a solid initial foothold from which they can operate:",{"data":112624,"content":112625,"nodeType":941},{},[112626,112648],{"data":112627,"content":112628,"nodeType":945},{},[112629],{"data":112630,"content":112631,"nodeType":860},{},[112632,112636,112645],{"data":112633,"marks":112634,"value":112635,"nodeType":864},{},[],"They instantly get access to all the apps the compromised user was accessing with SSO. It’s easy to move laterally to sensitive apps or to apps where the user has admin privileges. This obviously enables an attacker to directly exfiltrate data from these apps or to use them maliciously, as in the ",{"data":112637,"content":112640,"nodeType":27604},{"target":112638},{"sys":112639},{"id":95225,"type":1001,"linkType":1002},[112641],{"data":112642,"marks":112643,"value":112644,"nodeType":864},{},[],"Mandiant and SEC Twitter/X breaches",{"data":112646,"marks":112647,"value":2924,"nodeType":864},{},[],{"data":112649,"content":112650,"nodeType":945},{},[112651],{"data":112652,"content":112653,"nodeType":860},{},[112654,112658,112666,112670,112679,112682,112691],{"data":112655,"marks":112656,"value":112657,"nodeType":864},{},[],"Assuming an attacker hasn’t initially gotten access to a privileged IdP account, they can escalate their privileges by performing ",{"data":112659,"content":112662,"nodeType":27604},{"target":112660},{"sys":112661},{"id":110390,"type":1001,"linkType":1002},[112663],{"data":112664,"marks":112665,"value":5272,"nodeType":864},{},[],{"data":112667,"marks":112668,"value":112669,"nodeType":864},{},[]," on any low-risk app where the user is an admin or by using apps like ",{"data":112671,"content":112675,"nodeType":27604},{"target":112672},{"sys":112673},{"id":112674,"type":1001,"linkType":1002},"2rjLrCo6KWwLicfpV2qTOZ",[112676],{"data":112677,"marks":112678,"value":103347,"nodeType":864},{},[],{"data":112680,"marks":112681,"value":902,"nodeType":864},{},[],{"data":112683,"content":112687,"nodeType":27604},{"target":112684},{"sys":112685},{"id":112686,"type":1001,"linkType":1002},"2cv7Yq1DQpm1Mho7fKDs44",[112688],{"data":112689,"marks":112690,"value":103358,"nodeType":864},{},[],{"data":112692,"marks":112693,"value":112694,"nodeType":864},{},[]," to phish higher-privilege users.",{"data":112696,"content":112697,"nodeType":1312},{},[112698],{"data":112699,"marks":112700,"value":112701,"nodeType":864},{},[],"It also protects against credential stuffing attacks",{"data":112703,"content":112704,"nodeType":860},{},[112705,112709,112714],{"data":112706,"marks":112707,"value":112708,"nodeType":864},{},[],"As well as protecting your users against phishing, the SSO password protection feature can prevent credential stuffing attacks succeeding against your IdP instance. How? By stopping your employees from reusing their SSO password on other apps.  \nPush monitors the identities of thousands of employees. Around ",{"data":112710,"marks":112711,"value":112713,"nodeType":864},{},[112712],{"type":899},"1 in 3 of them reuse passwords",{"data":112715,"marks":112716,"value":112717,"nodeType":864},{},[]," across multiple accounts. ",{"data":112719,"content":112720,"nodeType":860},{},[112721],{"data":112722,"marks":112723,"value":112724,"nodeType":864},{},[],"Employees know that their SSO password is one they’ll need to use a lot, and so they tend to choose one they know they will remember, because they are already using it successfully. That’s why we see higher levels of password reuse on IdP apps in particular.",{"data":112726,"content":112727,"nodeType":860},{},[112728],{"data":112729,"marks":112730,"value":112731,"nodeType":864},{},[],"Every time an SSO password is reused on another app, its exposure increases, along with the likelihood of it falling into the wrong hands. This can happen when another app experiences a breach and credentials are stolen. Or alternatively, when an attacker steals credentials in a phishing attack aimed at users of other apps where the password is being reused.",{"data":112733,"content":112734,"nodeType":860},{},[112735],{"data":112736,"marks":112737,"value":112738,"nodeType":864},{},[],"Armed with stolen credentials, an attacker can spray them across common cloud apps and see what additional accounts they can gain access to. IdP apps will be high on the list of cloud apps attackers will try because they provide much more in the way of access than a general SaaS user account.",{"data":112740,"content":112741,"nodeType":860},{},[112742],{"data":112743,"marks":112744,"value":112745,"nodeType":864},{},[],"You might be wondering if this feature can also be used to stop other password attacks such as password spraying and brute-forcing attacks. While this specific feature does not, Push’s other features do. ",{"data":112747,"content":112748,"nodeType":860},{},[112749,112753,112758],{"data":112750,"marks":112751,"value":112752,"nodeType":864},{},[],"These include ",{"data":112754,"marks":112755,"value":112757,"nodeType":864},{},[112756],{"type":899},"in-browser guidance",{"data":112759,"marks":112760,"value":112761,"nodeType":864},{},[]," that stops users from creating and using easily guessable passwords as well as Push’s ability to detect when employees are not registered for MFA (and whether the methods they are using are phishing-resistant or not).",{"data":112763,"content":112767,"nodeType":996},{"target":112764},{"sys":112765},{"id":112766,"type":1001,"linkType":1002},"uy6utpRA35spZFM7Da4Nt",[],{"data":112769,"content":112770,"nodeType":1312},{},[112771],{"data":112772,"marks":112773,"value":36405,"nodeType":864},{},[],{"data":112775,"content":112776,"nodeType":860},{},[112777,112780,112786],{"data":112778,"marks":112779,"value":95575,"nodeType":864},{},[],{"data":112781,"content":112782,"nodeType":883},{"uri":5642},[112783],{"data":112784,"marks":112785,"value":37814,"nodeType":864},{},[],{"data":112787,"marks":112788,"value":112789,"nodeType":864},{},[],". We’ll be happy to show you this feature, along with how we discover all the apps your employees are using and how we detect vulnerable identities.","Introducing SSO Password Protection: Stop employees’ IdP credentials being exposed or phished","Use the Push browser agent’s unique vantage point to protect SSO credentials by blocking employees from entering their password into any other site. ","2024-04-29T00:00:00.000Z","introducing-sso-password-protection",{"items":112795},[112796,112798],{"sys":112797,"name":342},{"id":6596},{"sys":112799,"name":73498},{"id":73497},{"items":112801},[112802],{"fullName":4878,"firstName":4879,"jobTitle":851,"profilePicture":112803},{"url":4881},"blog/investigating-and-responding-to-a-third-party-data-breach-using-push",{"json":112806},{"data":112807,"content":112808,"nodeType":856},{},[112809],{"data":112810,"content":112811,"nodeType":860},{},[112812],{"data":112813,"marks":112814,"value":112815,"nodeType":864},{},[],"Use Push to find and secure workforce accounts using credentials stolen in a third-party data breach.",{"id":109650,"publishedAt":112817},"2026-08-12T11:55:18.998Z",{"items":112819},[112820,112822],{"sys":112821,"name":342},{"id":6596},{"sys":112823,"name":297},{"id":2732},{"items":112825},[112826,112828,112830,112832,112834,112836,112838,112840,112842,112844,112846,112848],{"sys":112827,"name":342,"slug":343,"tier":31},{"id":339},{"sys":112829,"name":413,"slug":414,"tier":31},{"id":410},{"sys":112831,"name":297,"slug":298,"tier":31},{"id":294},{"sys":112833,"name":545,"slug":546,"tier":31},{"id":542},{"sys":112835,"name":528,"slug":529,"tier":45},{"id":525},{"sys":112837,"name":333,"slug":334,"tier":45},{"id":330},{"sys":112839,"name":502,"slug":503,"tier":45},{"id":499},{"sys":112841,"name":457,"slug":458,"tier":45},{"id":454},{"sys":112843,"name":633,"slug":634,"tier":45},{"id":630},{"sys":112845,"name":589,"slug":590,"tier":45},{"id":586},{"sys":112847,"name":404,"slug":405,"tier":45},{"id":401},{"sys":112849,"name":624,"slug":625,"tier":45},{"id":621},"TAeVib22ruf0tzCxlJxSow281ITOon-Dzph3xDg9PMU",{"id":112852,"title":100967,"authorsCollection":112853,"content":112858,"extension":228,"faqItemsCollection":113586,"faqTitle":59,"featured":6,"hashTags":59,"meta":113588,"metaTitle":113589,"ogImage":113590,"postType":5740,"publishedDate":112251,"relatedBlogPostsCollection":113592,"slug":112252,"stem":117115,"subtitle":59,"summary":117116,"synopsis":112250,"sys":117134,"tagsCollection":117136,"topicsCollection":117142,"__hash__":117176},"blog/blog/phishing-2-0-how-phishing-toolkits-are-evolving-with-aitm.json",{"items":112854},[112855],{"fullName":4949,"firstName":4950,"jobTitle":4951,"socialLinks":112856,"profilePicture":112857},[4953],{"url":4955},{"json":112859,"links":113572},{"data":112860,"content":112861,"nodeType":856},{},[112862,112868,112874,112880,112886,112892,112898,112904,112910,112916,112921,112927,112933,112939,112985,112991,112997,113013,113019,113025,113031,113057,113070,113076,113082,113088,113094,113100,113106,113122,113138,113236,113242,113258,113264,113270,113276,113281,113287,113293,113299,113325,113331,113337,113367,113373,113379,113461,113476,113482,113488,113494,113500,113546,113552,113555,113561,113566],{"data":112863,"content":112864,"nodeType":860},{},[112865],{"data":112866,"marks":112867,"value":111446,"nodeType":864},{},[],{"data":112869,"content":112870,"nodeType":860},{},[112871],{"data":112872,"marks":112873,"value":111453,"nodeType":864},{},[],{"data":112875,"content":112876,"nodeType":860},{},[112877],{"data":112878,"marks":112879,"value":111460,"nodeType":864},{},[],{"data":112881,"content":112882,"nodeType":1009},{},[112883],{"data":112884,"marks":112885,"value":111467,"nodeType":864},{},[],{"data":112887,"content":112888,"nodeType":860},{},[112889],{"data":112890,"marks":112891,"value":111474,"nodeType":864},{},[],{"data":112893,"content":112894,"nodeType":860},{},[112895],{"data":112896,"marks":112897,"value":111481,"nodeType":864},{},[],{"data":112899,"content":112900,"nodeType":860},{},[112901],{"data":112902,"marks":112903,"value":111488,"nodeType":864},{},[],{"data":112905,"content":112906,"nodeType":860},{},[112907],{"data":112908,"marks":112909,"value":111495,"nodeType":864},{},[],{"data":112911,"content":112912,"nodeType":860},{},[112913],{"data":112914,"marks":112915,"value":111502,"nodeType":864},{},[],{"data":112917,"content":112920,"nodeType":996},{"target":112918},{"sys":112919},{"id":111507,"type":1001,"linkType":1002},[],{"data":112922,"content":112923,"nodeType":1312},{},[112924],{"data":112925,"marks":112926,"value":111515,"nodeType":864},{},[],{"data":112928,"content":112929,"nodeType":860},{},[112930],{"data":112931,"marks":112932,"value":111522,"nodeType":864},{},[],{"data":112934,"content":112935,"nodeType":860},{},[112936],{"data":112937,"marks":112938,"value":111529,"nodeType":864},{},[],{"data":112940,"content":112941,"nodeType":860},{},[112942,112945,112952,112955,112962,112965,112972,112975,112982],{"data":112943,"marks":112944,"value":111536,"nodeType":864},{},[],{"data":112946,"content":112947,"nodeType":883},{"uri":94401},[112948],{"data":112949,"marks":112950,"value":94406,"nodeType":864},{},[112951],{"type":1455},{"data":112953,"marks":112954,"value":3731,"nodeType":864},{},[],{"data":112956,"content":112957,"nodeType":883},{"uri":94412},[112958],{"data":112959,"marks":112960,"value":94417,"nodeType":864},{},[112961],{"type":1455},{"data":112963,"marks":112964,"value":111557,"nodeType":864},{},[],{"data":112966,"content":112967,"nodeType":883},{"uri":83666},[112968],{"data":112969,"marks":112970,"value":83672,"nodeType":864},{},[112971],{"type":1455},{"data":112973,"marks":112974,"value":111568,"nodeType":864},{},[],{"data":112976,"content":112977,"nodeType":883},{"uri":94432},[112978],{"data":112979,"marks":112980,"value":94437,"nodeType":864},{},[112981],{"type":1455},{"data":112983,"marks":112984,"value":2924,"nodeType":864},{},[],{"data":112986,"content":112987,"nodeType":860},{},[112988],{"data":112989,"marks":112990,"value":111585,"nodeType":864},{},[],{"data":112992,"content":112993,"nodeType":860},{},[112994],{"data":112995,"marks":112996,"value":111592,"nodeType":864},{},[],{"data":112998,"content":112999,"nodeType":860},{},[113000,113003,113010],{"data":113001,"marks":113002,"value":111599,"nodeType":864},{},[],{"data":113004,"content":113005,"nodeType":883},{"uri":111602},[113006],{"data":113007,"marks":113008,"value":111608,"nodeType":864},{},[113009],{"type":1455},{"data":113011,"marks":113012,"value":35977,"nodeType":864},{},[],{"data":113014,"content":113015,"nodeType":1312},{},[113016],{"data":113017,"marks":113018,"value":111618,"nodeType":864},{},[],{"data":113020,"content":113021,"nodeType":860},{},[113022],{"data":113023,"marks":113024,"value":111625,"nodeType":864},{},[],{"data":113026,"content":113027,"nodeType":860},{},[113028],{"data":113029,"marks":113030,"value":111632,"nodeType":864},{},[],{"data":113032,"content":113033,"nodeType":860},{},[113034,113037,113044,113047,113054],{"data":113035,"marks":113036,"value":111639,"nodeType":864},{},[],{"data":113038,"content":113039,"nodeType":883},{"uri":85836},[113040],{"data":113041,"marks":113042,"value":111647,"nodeType":864},{},[113043],{"type":1455},{"data":113045,"marks":113046,"value":111651,"nodeType":864},{},[],{"data":113048,"content":113049,"nodeType":883},{"uri":111654},[113050],{"data":113051,"marks":113052,"value":111660,"nodeType":864},{},[113053],{"type":1455},{"data":113055,"marks":113056,"value":111664,"nodeType":864},{},[],{"data":113058,"content":113059,"nodeType":860},{},[113060,113063,113067],{"data":113061,"marks":113062,"value":111671,"nodeType":864},{},[],{"data":113064,"marks":113065,"value":111676,"nodeType":864},{},[113066],{"type":899},{"data":113068,"marks":113069,"value":111680,"nodeType":864},{},[],{"data":113071,"content":113072,"nodeType":860},{},[113073],{"data":113074,"marks":113075,"value":111687,"nodeType":864},{},[],{"data":113077,"content":113078,"nodeType":860},{},[113079],{"data":113080,"marks":113081,"value":111694,"nodeType":864},{},[],{"data":113083,"content":113084,"nodeType":1009},{},[113085],{"data":113086,"marks":113087,"value":111701,"nodeType":864},{},[],{"data":113089,"content":113090,"nodeType":860},{},[113091],{"data":113092,"marks":113093,"value":111708,"nodeType":864},{},[],{"data":113095,"content":113096,"nodeType":860},{},[113097],{"data":113098,"marks":113099,"value":111715,"nodeType":864},{},[],{"data":113101,"content":113102,"nodeType":860},{},[113103],{"data":113104,"marks":113105,"value":111722,"nodeType":864},{},[],{"data":113107,"content":113108,"nodeType":860},{},[113109,113112,113119],{"data":113110,"marks":113111,"value":111729,"nodeType":864},{},[],{"data":113113,"content":113114,"nodeType":883},{"uri":111732},[113115],{"data":113116,"marks":113117,"value":111738,"nodeType":864},{},[113118],{"type":1455},{"data":113120,"marks":113121,"value":111742,"nodeType":864},{},[],{"data":113123,"content":113124,"nodeType":860},{},[113125,113128,113135],{"data":113126,"marks":113127,"value":111749,"nodeType":864},{},[],{"data":113129,"content":113130,"nodeType":883},{"uri":6418},[113131],{"data":113132,"marks":113133,"value":37864,"nodeType":864},{},[113134],{"type":1455},{"data":113136,"marks":113137,"value":111760,"nodeType":864},{},[],{"data":113139,"content":113140,"nodeType":941},{},[113141,113160,113179,113198,113217],{"data":113142,"content":113143,"nodeType":945},{},[113144],{"data":113145,"content":113146,"nodeType":860},{},[113147,113150,113157],{"data":113148,"marks":113149,"value":21,"nodeType":864},{},[],{"data":113151,"content":113152,"nodeType":883},{"uri":36086},[113153],{"data":113154,"marks":113155,"value":111780,"nodeType":864},{},[113156],{"type":1455},{"data":113158,"marks":113159,"value":21,"nodeType":864},{},[],{"data":113161,"content":113162,"nodeType":945},{},[113163],{"data":113164,"content":113165,"nodeType":860},{},[113166,113169,113176],{"data":113167,"marks":113168,"value":21,"nodeType":864},{},[],{"data":113170,"content":113171,"nodeType":883},{"uri":111795},[113172],{"data":113173,"marks":113174,"value":111801,"nodeType":864},{},[113175],{"type":1455},{"data":113177,"marks":113178,"value":21,"nodeType":864},{},[],{"data":113180,"content":113181,"nodeType":945},{},[113182],{"data":113183,"content":113184,"nodeType":860},{},[113185,113188,113195],{"data":113186,"marks":113187,"value":21,"nodeType":864},{},[],{"data":113189,"content":113190,"nodeType":883},{"uri":26784},[113191],{"data":113192,"marks":113193,"value":111821,"nodeType":864},{},[113194],{"type":1455},{"data":113196,"marks":113197,"value":21,"nodeType":864},{},[],{"data":113199,"content":113200,"nodeType":945},{},[113201],{"data":113202,"content":113203,"nodeType":860},{},[113204,113207,113214],{"data":113205,"marks":113206,"value":21,"nodeType":864},{},[],{"data":113208,"content":113209,"nodeType":883},{"uri":96375},[113210],{"data":113211,"marks":113212,"value":111841,"nodeType":864},{},[113213],{"type":1455},{"data":113215,"marks":113216,"value":21,"nodeType":864},{},[],{"data":113218,"content":113219,"nodeType":945},{},[113220],{"data":113221,"content":113222,"nodeType":860},{},[113223,113226,113233],{"data":113224,"marks":113225,"value":21,"nodeType":864},{},[],{"data":113227,"content":113228,"nodeType":883},{"uri":61891},[113229],{"data":113230,"marks":113231,"value":111861,"nodeType":864},{},[113232],{"type":1455},{"data":113234,"marks":113235,"value":21,"nodeType":864},{},[],{"data":113237,"content":113238,"nodeType":860},{},[113239],{"data":113240,"marks":113241,"value":111871,"nodeType":864},{},[],{"data":113243,"content":113244,"nodeType":860},{},[113245,113248,113255],{"data":113246,"marks":113247,"value":111878,"nodeType":864},{},[],{"data":113249,"content":113250,"nodeType":883},{"uri":88494},[113251],{"data":113252,"marks":113253,"value":5272,"nodeType":864},{},[113254],{"type":1455},{"data":113256,"marks":113257,"value":111889,"nodeType":864},{},[],{"data":113259,"content":113260,"nodeType":1009},{},[113261],{"data":113262,"marks":113263,"value":111896,"nodeType":864},{},[],{"data":113265,"content":113266,"nodeType":860},{},[113267],{"data":113268,"marks":113269,"value":111903,"nodeType":864},{},[],{"data":113271,"content":113272,"nodeType":860},{},[113273],{"data":113274,"marks":113275,"value":111910,"nodeType":864},{},[],{"data":113277,"content":113280,"nodeType":996},{"target":113278},{"sys":113279},{"id":111915,"type":1001,"linkType":1002},[],{"data":113282,"content":113283,"nodeType":860},{},[113284],{"data":113285,"marks":113286,"value":111923,"nodeType":864},{},[],{"data":113288,"content":113289,"nodeType":1009},{},[113290],{"data":113291,"marks":113292,"value":111930,"nodeType":864},{},[],{"data":113294,"content":113295,"nodeType":860},{},[113296],{"data":113297,"marks":113298,"value":111937,"nodeType":864},{},[],{"data":113300,"content":113301,"nodeType":860},{},[113302,113305,113315,113318,113322],{"data":113303,"marks":113304,"value":111944,"nodeType":864},{},[],{"data":113306,"content":113307,"nodeType":883},{"uri":91866},[113308,113312],{"data":113309,"marks":113310,"value":111952,"nodeType":864},{},[113311],{"type":1455},{"data":113313,"marks":113314,"value":27206,"nodeType":864},{},[],{"data":113316,"marks":113317,"value":111959,"nodeType":864},{},[],{"data":113319,"marks":113320,"value":111964,"nodeType":864},{},[113321],{"type":899},{"data":113323,"marks":113324,"value":111968,"nodeType":864},{},[],{"data":113326,"content":113327,"nodeType":1009},{},[113328],{"data":113329,"marks":113330,"value":61334,"nodeType":864},{},[],{"data":113332,"content":113333,"nodeType":860},{},[113334],{"data":113335,"marks":113336,"value":111981,"nodeType":864},{},[],{"data":113338,"content":113339,"nodeType":941},{},[113340,113349,113358],{"data":113341,"content":113342,"nodeType":945},{},[113343],{"data":113344,"content":113345,"nodeType":860},{},[113346],{"data":113347,"marks":113348,"value":111994,"nodeType":864},{},[],{"data":113350,"content":113351,"nodeType":945},{},[113352],{"data":113353,"content":113354,"nodeType":860},{},[113355],{"data":113356,"marks":113357,"value":112004,"nodeType":864},{},[],{"data":113359,"content":113360,"nodeType":945},{},[113361],{"data":113362,"content":113363,"nodeType":860},{},[113364],{"data":113365,"marks":113366,"value":112014,"nodeType":864},{},[],{"data":113368,"content":113369,"nodeType":1009},{},[113370],{"data":113371,"marks":113372,"value":112021,"nodeType":864},{},[],{"data":113374,"content":113375,"nodeType":860},{},[113376],{"data":113377,"marks":113378,"value":112028,"nodeType":864},{},[],{"data":113380,"content":113381,"nodeType":941},{},[113382,113395,113425,113448],{"data":113383,"content":113384,"nodeType":945},{},[113385],{"data":113386,"content":113387,"nodeType":860},{},[113388,113392],{"data":113389,"marks":113390,"value":112042,"nodeType":864},{},[113391],{"type":899},{"data":113393,"marks":113394,"value":112046,"nodeType":864},{},[],{"data":113396,"content":113397,"nodeType":945},{},[113398],{"data":113399,"content":113400,"nodeType":860},{},[113401,113405,113408,113412,113415,113422],{"data":113402,"marks":113403,"value":112057,"nodeType":864},{},[113404],{"type":899},{"data":113406,"marks":113407,"value":1171,"nodeType":864},{},[],{"data":113409,"marks":113410,"value":112065,"nodeType":864},{},[113411],{"type":899},{"data":113413,"marks":113414,"value":112069,"nodeType":864},{},[],{"data":113416,"content":113417,"nodeType":883},{"uri":112072},[113418],{"data":113419,"marks":113420,"value":112078,"nodeType":864},{},[113421],{"type":1455},{"data":113423,"marks":113424,"value":21,"nodeType":864},{},[],{"data":113426,"content":113427,"nodeType":945},{},[113428],{"data":113429,"content":113430,"nodeType":860},{},[113431,113435,113438,113445],{"data":113432,"marks":113433,"value":112092,"nodeType":864},{},[113434],{"type":899},{"data":113436,"marks":113437,"value":112096,"nodeType":864},{},[],{"data":113439,"content":113440,"nodeType":883},{"uri":112099},[113441],{"data":113442,"marks":113443,"value":112105,"nodeType":864},{},[113444],{"type":1455},{"data":113446,"marks":113447,"value":112109,"nodeType":864},{},[],{"data":113449,"content":113450,"nodeType":945},{},[113451],{"data":113452,"content":113453,"nodeType":860},{},[113454,113458],{"data":113455,"marks":113456,"value":112120,"nodeType":864},{},[113457],{"type":899},{"data":113459,"marks":113460,"value":112124,"nodeType":864},{},[],{"data":113462,"content":113463,"nodeType":860},{},[113464,113467,113473],{"data":113465,"marks":113466,"value":112131,"nodeType":864},{},[],{"data":113468,"content":113469,"nodeType":883},{"uri":48185},[113470],{"data":113471,"marks":113472,"value":112138,"nodeType":864},{},[],{"data":113474,"marks":113475,"value":1774,"nodeType":864},{},[],{"data":113477,"content":113478,"nodeType":1009},{},[113479],{"data":113480,"marks":113481,"value":32492,"nodeType":864},{},[],{"data":113483,"content":113484,"nodeType":860},{},[113485],{"data":113486,"marks":113487,"value":112154,"nodeType":864},{},[],{"data":113489,"content":113490,"nodeType":860},{},[113491],{"data":113492,"marks":113493,"value":112161,"nodeType":864},{},[],{"data":113495,"content":113496,"nodeType":860},{},[113497],{"data":113498,"marks":113499,"value":112168,"nodeType":864},{},[],{"data":113501,"content":113502,"nodeType":860},{},[113503,113506,113513,113516,113523,113526,113533,113536,113543],{"data":113504,"marks":113505,"value":112175,"nodeType":864},{},[],{"data":113507,"content":113508,"nodeType":883},{"uri":83575},[113509],{"data":113510,"marks":113511,"value":103347,"nodeType":864},{},[113512],{"type":1455},{"data":113514,"marks":113515,"value":27405,"nodeType":864},{},[],{"data":113517,"content":113518,"nodeType":883},{"uri":83587},[113519],{"data":113520,"marks":113521,"value":112193,"nodeType":864},{},[113522],{"type":1455},{"data":113524,"marks":113525,"value":112197,"nodeType":864},{},[],{"data":113527,"content":113528,"nodeType":883},{"uri":5231},[113529],{"data":113530,"marks":113531,"value":112205,"nodeType":864},{},[113532],{"type":1455},{"data":113534,"marks":113535,"value":112209,"nodeType":864},{},[],{"data":113537,"content":113538,"nodeType":883},{"uri":85319},[113539],{"data":113540,"marks":113541,"value":112217,"nodeType":864},{},[113542],{"type":1455},{"data":113544,"marks":113545,"value":112221,"nodeType":864},{},[],{"data":113547,"content":113548,"nodeType":860},{},[113549],{"data":113550,"marks":113551,"value":112228,"nodeType":864},{},[],{"data":113553,"content":113554,"nodeType":1005},{},[],{"data":113556,"content":113557,"nodeType":860},{},[113558],{"data":113559,"marks":113560,"value":112238,"nodeType":864},{},[],{"data":113562,"content":113565,"nodeType":996},{"target":113563},{"sys":113564},{"id":111507,"type":1001,"linkType":1002},[],{"data":113567,"content":113568,"nodeType":860},{},[113569],{"data":113570,"marks":113571,"value":21,"nodeType":864},{},[],{"entries":113573},{"hyperlink":113574,"inline":113575,"block":113576},[],[],[113577,113580],{"sys":113578,"__typename":1717,"type":1718,"ctaText":113579,"buttonLabel":60799,"buttonColour":66936,"buttonUrl":94457},{"id":111507},"On-demand Webinar: Phishing 2.0 - Detecting Evilginx, EvilnoVNC, Muraena and Modlishka",{"sys":113581,"__typename":47726,"title":113582,"youTubeUrl":113583,"imagePlaceholder":113584},{"id":111915},"AitM phishing demo","https://www.youtube.com/watch?v=TEWzVvXTdXk",{"url":113585,"width":23460,"height":23461},"https://images.ctfassets.net/y1cdw1ablpvd/2O59jdR3b98uW4KTukm3Da/c671989fada93d0d5ac1ecca4cf4860e/Introducing_SSO_Password_Protection__1_.png",{"items":113587},[],{},"How AitM phishing is being used to circumvent MFA",{"url":113591},"https://images.ctfassets.net/y1cdw1ablpvd/4cDgbIuB2QTKlXBYVx59VT/71f07018bac1c9225114c57934b8603f/Introducing_SSO_Password_Protection__2_.png",{"items":113593},[113594,114068,116751],{"__typename":2059,"sys":113595,"content":113596,"title":112790,"synopsis":112791,"hashTags":59,"publishedDate":112792,"slug":112793,"tagsCollection":114058,"authorsCollection":114064},{"id":89984},{"json":113597},{"data":113598,"content":113599,"nodeType":856},{},[113600,113606,113611,113617,113623,113636,113665,113671,113678,113683,113696,113703,113708,113714,113720,113726,113732,113739,113745,113760,113773,113778,113784,113799,113816,113822,113842,113848,113869,113882,113888,113905,113911,113976,113982,113995,114001,114007,114013,114019,114032,114037,114043],{"data":113601,"content":113602,"nodeType":860},{},[113603],{"data":113604,"marks":113605,"value":21,"nodeType":864},{},[],{"data":113607,"content":113610,"nodeType":996},{"target":113608},{"sys":113609},{"id":112279,"type":1001,"linkType":1002},[],{"data":113612,"content":113613,"nodeType":860},{},[113614],{"data":113615,"marks":113616,"value":112287,"nodeType":864},{},[],{"data":113618,"content":113619,"nodeType":860},{},[113620],{"data":113621,"marks":113622,"value":112294,"nodeType":864},{},[],{"data":113624,"content":113625,"nodeType":860},{},[113626,113629,113633],{"data":113627,"marks":113628,"value":112301,"nodeType":864},{},[],{"data":113630,"marks":113631,"value":112306,"nodeType":864},{},[113632],{"type":899},{"data":113634,"marks":113635,"value":73563,"nodeType":864},{},[],{"data":113637,"content":113638,"nodeType":941},{},[113639,113652],{"data":113640,"content":113641,"nodeType":945},{},[113642],{"data":113643,"content":113644,"nodeType":860},{},[113645,113649],{"data":113646,"marks":113647,"value":112323,"nodeType":864},{},[113648],{"type":899},{"data":113650,"marks":113651,"value":112327,"nodeType":864},{},[],{"data":113653,"content":113654,"nodeType":945},{},[113655],{"data":113656,"content":113657,"nodeType":860},{},[113658,113662],{"data":113659,"marks":113660,"value":112338,"nodeType":864},{},[113661],{"type":899},{"data":113663,"marks":113664,"value":112342,"nodeType":864},{},[],{"data":113666,"content":113667,"nodeType":860},{},[113668],{"data":113669,"marks":113670,"value":112349,"nodeType":864},{},[],{"data":113672,"content":113673,"nodeType":860},{},[113674],{"data":113675,"marks":113676,"value":112357,"nodeType":864},{},[113677],{"type":899},{"data":113679,"content":113682,"nodeType":996},{"target":113680},{"sys":113681},{"id":109919,"type":1001,"linkType":1002},[],{"data":113684,"content":113685,"nodeType":860},{},[113686,113689,113693],{"data":113687,"marks":113688,"value":112369,"nodeType":864},{},[],{"data":113690,"marks":113691,"value":47996,"nodeType":864},{},[113692],{"type":899},{"data":113694,"marks":113695,"value":112377,"nodeType":864},{},[],{"data":113697,"content":113698,"nodeType":860},{},[113699],{"data":113700,"marks":113701,"value":112385,"nodeType":864},{},[113702],{"type":899},{"data":113704,"content":113707,"nodeType":996},{"target":113705},{"sys":113706},{"id":112390,"type":1001,"linkType":1002},[],{"data":113709,"content":113710,"nodeType":1312},{},[113711],{"data":113712,"marks":113713,"value":112398,"nodeType":864},{},[],{"data":113715,"content":113716,"nodeType":860},{},[113717],{"data":113718,"marks":113719,"value":112405,"nodeType":864},{},[],{"data":113721,"content":113722,"nodeType":860},{},[113723],{"data":113724,"marks":113725,"value":112412,"nodeType":864},{},[],{"data":113727,"content":113728,"nodeType":860},{},[113729],{"data":113730,"marks":113731,"value":112419,"nodeType":864},{},[],{"data":113733,"content":113734,"nodeType":860},{},[113735],{"data":113736,"marks":113737,"value":112427,"nodeType":864},{},[113738],{"type":899},{"data":113740,"content":113741,"nodeType":860},{},[113742],{"data":113743,"marks":113744,"value":112434,"nodeType":864},{},[],{"data":113746,"content":113747,"nodeType":860},{},[113748,113751,113757],{"data":113749,"marks":113750,"value":94298,"nodeType":864},{},[],{"data":113752,"content":113753,"nodeType":883},{"uri":90269},[113754],{"data":113755,"marks":113756,"value":72883,"nodeType":864},{},[],{"data":113758,"marks":113759,"value":94308,"nodeType":864},{},[],{"data":113761,"content":113762,"nodeType":860},{},[113763,113766,113770],{"data":113764,"marks":113765,"value":112456,"nodeType":864},{},[],{"data":113767,"marks":113768,"value":112461,"nodeType":864},{},[113769],{"type":899},{"data":113771,"marks":113772,"value":112465,"nodeType":864},{},[],{"data":113774,"content":113777,"nodeType":996},{"target":113775},{"sys":113776},{"id":89972,"type":1001,"linkType":1002},[],{"data":113779,"content":113780,"nodeType":860},{},[113781],{"data":113782,"marks":113783,"value":112477,"nodeType":864},{},[],{"data":113785,"content":113786,"nodeType":860},{},[113787,113790,113796],{"data":113788,"marks":113789,"value":112484,"nodeType":864},{},[],{"data":113791,"content":113792,"nodeType":883},{"uri":91978},[113793],{"data":113794,"marks":113795,"value":112491,"nodeType":864},{},[],{"data":113797,"marks":113798,"value":112495,"nodeType":864},{},[],{"data":113800,"content":113801,"nodeType":860},{},[113802,113805,113813],{"data":113803,"marks":113804,"value":112502,"nodeType":864},{},[],{"data":113806,"content":113809,"nodeType":27604},{"target":113807},{"sys":113808},{"id":28295,"type":1001,"linkType":1002},[113810],{"data":113811,"marks":113812,"value":43908,"nodeType":864},{},[],{"data":113814,"marks":113815,"value":2924,"nodeType":864},{},[],{"data":113817,"content":113818,"nodeType":1312},{},[113819],{"data":113820,"marks":113821,"value":112520,"nodeType":864},{},[],{"data":113823,"content":113824,"nodeType":860},{},[113825,113828,113832,113835,113839],{"data":113826,"marks":113827,"value":112527,"nodeType":864},{},[],{"data":113829,"marks":113830,"value":457,"nodeType":864},{},[113831],{"type":899},{"data":113833,"marks":113834,"value":902,"nodeType":864},{},[],{"data":113836,"marks":113837,"value":112539,"nodeType":864},{},[113838],{"type":899},{"data":113840,"marks":113841,"value":112543,"nodeType":864},{},[],{"data":113843,"content":113844,"nodeType":860},{},[113845],{"data":113846,"marks":113847,"value":112550,"nodeType":864},{},[],{"data":113849,"content":113850,"nodeType":941},{},[113851,113860],{"data":113852,"content":113853,"nodeType":945},{},[113854],{"data":113855,"content":113856,"nodeType":860},{},[113857],{"data":113858,"marks":113859,"value":112563,"nodeType":864},{},[],{"data":113861,"content":113862,"nodeType":945},{},[113863],{"data":113864,"content":113865,"nodeType":860},{},[113866],{"data":113867,"marks":113868,"value":112573,"nodeType":864},{},[],{"data":113870,"content":113871,"nodeType":860},{},[113872,113875,113879],{"data":113873,"marks":113874,"value":112580,"nodeType":864},{},[],{"data":113876,"marks":113877,"value":112585,"nodeType":864},{},[113878],{"type":2246},{"data":113880,"marks":113881,"value":112589,"nodeType":864},{},[],{"data":113883,"content":113884,"nodeType":1312},{},[113885],{"data":113886,"marks":113887,"value":112596,"nodeType":864},{},[],{"data":113889,"content":113890,"nodeType":860},{},[113891,113894,113902],{"data":113892,"marks":113893,"value":112603,"nodeType":864},{},[],{"data":113895,"content":113898,"nodeType":27604},{"target":113896},{"sys":113897},{"id":95225,"type":1001,"linkType":1002},[113899],{"data":113900,"marks":113901,"value":94035,"nodeType":864},{},[],{"data":113903,"marks":113904,"value":112615,"nodeType":864},{},[],{"data":113906,"content":113907,"nodeType":860},{},[113908],{"data":113909,"marks":113910,"value":112622,"nodeType":864},{},[],{"data":113912,"content":113913,"nodeType":941},{},[113914,113934],{"data":113915,"content":113916,"nodeType":945},{},[113917],{"data":113918,"content":113919,"nodeType":860},{},[113920,113923,113931],{"data":113921,"marks":113922,"value":112635,"nodeType":864},{},[],{"data":113924,"content":113927,"nodeType":27604},{"target":113925},{"sys":113926},{"id":95225,"type":1001,"linkType":1002},[113928],{"data":113929,"marks":113930,"value":112644,"nodeType":864},{},[],{"data":113932,"marks":113933,"value":2924,"nodeType":864},{},[],{"data":113935,"content":113936,"nodeType":945},{},[113937],{"data":113938,"content":113939,"nodeType":860},{},[113940,113943,113951,113954,113962,113965,113973],{"data":113941,"marks":113942,"value":112657,"nodeType":864},{},[],{"data":113944,"content":113947,"nodeType":27604},{"target":113945},{"sys":113946},{"id":110390,"type":1001,"linkType":1002},[113948],{"data":113949,"marks":113950,"value":5272,"nodeType":864},{},[],{"data":113952,"marks":113953,"value":112669,"nodeType":864},{},[],{"data":113955,"content":113958,"nodeType":27604},{"target":113956},{"sys":113957},{"id":112674,"type":1001,"linkType":1002},[113959],{"data":113960,"marks":113961,"value":103347,"nodeType":864},{},[],{"data":113963,"marks":113964,"value":902,"nodeType":864},{},[],{"data":113966,"content":113969,"nodeType":27604},{"target":113967},{"sys":113968},{"id":112686,"type":1001,"linkType":1002},[113970],{"data":113971,"marks":113972,"value":103358,"nodeType":864},{},[],{"data":113974,"marks":113975,"value":112694,"nodeType":864},{},[],{"data":113977,"content":113978,"nodeType":1312},{},[113979],{"data":113980,"marks":113981,"value":112701,"nodeType":864},{},[],{"data":113983,"content":113984,"nodeType":860},{},[113985,113988,113992],{"data":113986,"marks":113987,"value":112708,"nodeType":864},{},[],{"data":113989,"marks":113990,"value":112713,"nodeType":864},{},[113991],{"type":899},{"data":113993,"marks":113994,"value":112717,"nodeType":864},{},[],{"data":113996,"content":113997,"nodeType":860},{},[113998],{"data":113999,"marks":114000,"value":112724,"nodeType":864},{},[],{"data":114002,"content":114003,"nodeType":860},{},[114004],{"data":114005,"marks":114006,"value":112731,"nodeType":864},{},[],{"data":114008,"content":114009,"nodeType":860},{},[114010],{"data":114011,"marks":114012,"value":112738,"nodeType":864},{},[],{"data":114014,"content":114015,"nodeType":860},{},[114016],{"data":114017,"marks":114018,"value":112745,"nodeType":864},{},[],{"data":114020,"content":114021,"nodeType":860},{},[114022,114025,114029],{"data":114023,"marks":114024,"value":112752,"nodeType":864},{},[],{"data":114026,"marks":114027,"value":112757,"nodeType":864},{},[114028],{"type":899},{"data":114030,"marks":114031,"value":112761,"nodeType":864},{},[],{"data":114033,"content":114036,"nodeType":996},{"target":114034},{"sys":114035},{"id":112766,"type":1001,"linkType":1002},[],{"data":114038,"content":114039,"nodeType":1312},{},[114040],{"data":114041,"marks":114042,"value":36405,"nodeType":864},{},[],{"data":114044,"content":114045,"nodeType":860},{},[114046,114049,114055],{"data":114047,"marks":114048,"value":95575,"nodeType":864},{},[],{"data":114050,"content":114051,"nodeType":883},{"uri":5642},[114052],{"data":114053,"marks":114054,"value":37814,"nodeType":864},{},[],{"data":114056,"marks":114057,"value":112789,"nodeType":864},{},[],{"items":114059},[114060,114062],{"sys":114061,"name":342},{"id":6596},{"sys":114063,"name":73498},{"id":73497},{"items":114065},[114066],{"fullName":4878,"firstName":4879,"jobTitle":851,"profilePicture":114067},{"url":4881},{"__typename":2059,"sys":114069,"content":114070,"title":106703,"synopsis":106704,"hashTags":59,"publishedDate":106705,"slug":106706,"tagsCollection":116741,"authorsCollection":116747},{"id":95225},{"json":114071},{"data":114072,"content":114073,"nodeType":856},{},[114074,114080,114106,114112,114117,114123,114139,114160,114166,114172,114192,114205,114211,114221,114227,114230,114236,114242,114255,114265,114274,114300,114303,114309,114325,114331,114338,114423,114429,114545,114551,114652,114658,114664,114824,114830,114836,114911,114914,114920,114926,114932,114989,114995,115025,115031,115070,115076,115082,115301,115307,115314,115320,115323,115329,115335,115341,115389,115395,115434,115440,115470,115476,115482,115642,115648,115655,115661,115668,115674,115681,115687,115690,115696,115702,115708,115765,115771,115801,115807,115837,115843,115849,115950,115953,115959,115965,115971,116028,116034,116064,116070,116100,116106,116112,116276,116279,116285,116291,116297,116363,116369,116399,116405,116435,116441,116447,116666,116669,116675,116681,116687,116693,116696,116702,116708,116714,116717,116723,116729,116735],{"data":114075,"content":114076,"nodeType":1009},{},[114077],{"data":114078,"marks":114079,"value":103774,"nodeType":864},{},[],{"data":114081,"content":114082,"nodeType":860},{},[114083,114086,114093,114096,114103],{"data":114084,"marks":114085,"value":103781,"nodeType":864},{},[],{"data":114087,"content":114088,"nodeType":883},{"uri":103784},[114089],{"data":114090,"marks":114091,"value":103790,"nodeType":864},{},[114092],{"type":1455},{"data":114094,"marks":114095,"value":103794,"nodeType":864},{},[],{"data":114097,"content":114098,"nodeType":883},{"uri":103797},[114099],{"data":114100,"marks":114101,"value":103803,"nodeType":864},{},[114102],{"type":1455},{"data":114104,"marks":114105,"value":2924,"nodeType":864},{},[],{"data":114107,"content":114108,"nodeType":860},{},[114109],{"data":114110,"marks":114111,"value":103813,"nodeType":864},{},[],{"data":114113,"content":114116,"nodeType":996},{"target":114114},{"sys":114115},{"id":103818,"type":1001,"linkType":1002},[],{"data":114118,"content":114119,"nodeType":860},{},[114120],{"data":114121,"marks":114122,"value":103826,"nodeType":864},{},[],{"data":114124,"content":114125,"nodeType":860},{},[114126,114129,114136],{"data":114127,"marks":114128,"value":103833,"nodeType":864},{},[],{"data":114130,"content":114131,"nodeType":883},{"uri":103836},[114132],{"data":114133,"marks":114134,"value":103842,"nodeType":864},{},[114135],{"type":1455},{"data":114137,"marks":114138,"value":103846,"nodeType":864},{},[],{"data":114140,"content":114141,"nodeType":941},{},[114142,114151],{"data":114143,"content":114144,"nodeType":945},{},[114145],{"data":114146,"content":114147,"nodeType":860},{},[114148],{"data":114149,"marks":114150,"value":103859,"nodeType":864},{},[],{"data":114152,"content":114153,"nodeType":945},{},[114154],{"data":114155,"content":114156,"nodeType":860},{},[114157],{"data":114158,"marks":114159,"value":103869,"nodeType":864},{},[],{"data":114161,"content":114162,"nodeType":860},{},[114163],{"data":114164,"marks":114165,"value":103876,"nodeType":864},{},[],{"data":114167,"content":114168,"nodeType":1312},{},[114169],{"data":114170,"marks":114171,"value":103883,"nodeType":864},{},[],{"data":114173,"content":114174,"nodeType":860},{},[114175,114178,114182,114185,114189],{"data":114176,"marks":114177,"value":103890,"nodeType":864},{},[],{"data":114179,"marks":114180,"value":103895,"nodeType":864},{},[114181],{"type":899},{"data":114183,"marks":114184,"value":103899,"nodeType":864},{},[],{"data":114186,"marks":114187,"value":103904,"nodeType":864},{},[114188],{"type":2246},{"data":114190,"marks":114191,"value":8618,"nodeType":864},{},[],{"data":114193,"content":114194,"nodeType":860},{},[114195,114198,114202],{"data":114196,"marks":114197,"value":103914,"nodeType":864},{},[],{"data":114199,"marks":114200,"value":103919,"nodeType":864},{},[114201],{"type":899},{"data":114203,"marks":114204,"value":103923,"nodeType":864},{},[],{"data":114206,"content":114207,"nodeType":860},{},[114208],{"data":114209,"marks":114210,"value":103930,"nodeType":864},{},[],{"data":114212,"content":114213,"nodeType":860},{},[114214,114217],{"data":114215,"marks":114216,"value":103937,"nodeType":864},{},[],{"data":114218,"marks":114219,"value":103942,"nodeType":864},{},[114220],{"type":899},{"data":114222,"content":114223,"nodeType":860},{},[114224],{"data":114225,"marks":114226,"value":103949,"nodeType":864},{},[],{"data":114228,"content":114229,"nodeType":1005},{},[],{"data":114231,"content":114232,"nodeType":1009},{},[114233],{"data":114234,"marks":114235,"value":103959,"nodeType":864},{},[],{"data":114237,"content":114238,"nodeType":860},{},[114239],{"data":114240,"marks":114241,"value":103966,"nodeType":864},{},[],{"data":114243,"content":114244,"nodeType":860},{},[114245,114248,114252],{"data":114246,"marks":114247,"value":103973,"nodeType":864},{},[],{"data":114249,"marks":114250,"value":103978,"nodeType":864},{},[114251],{"type":2246},{"data":114253,"marks":114254,"value":103982,"nodeType":864},{},[],{"data":114256,"content":114257,"nodeType":860},{},[114258,114261],{"data":114259,"marks":114260,"value":103989,"nodeType":864},{},[],{"data":114262,"marks":114263,"value":103994,"nodeType":864},{},[114264],{"type":899},{"data":114266,"content":114267,"nodeType":860},{},[114268,114271],{"data":114269,"marks":114270,"value":104001,"nodeType":864},{},[],{"data":114272,"marks":114273,"value":104005,"nodeType":864},{},[],{"data":114275,"content":114276,"nodeType":860},{},[114277,114280,114287,114290,114297],{"data":114278,"marks":114279,"value":104012,"nodeType":864},{},[],{"data":114281,"content":114282,"nodeType":883},{"uri":5243},[114283],{"data":114284,"marks":114285,"value":5248,"nodeType":864},{},[114286],{"type":1455},{"data":114288,"marks":114289,"value":104023,"nodeType":864},{},[],{"data":114291,"content":114292,"nodeType":883},{"uri":104026},[114293],{"data":114294,"marks":114295,"value":104032,"nodeType":864},{},[114296],{"type":1455},{"data":114298,"marks":114299,"value":1774,"nodeType":864},{},[],{"data":114301,"content":114302,"nodeType":1005},{},[],{"data":114304,"content":114305,"nodeType":1009},{},[114306],{"data":114307,"marks":114308,"value":104045,"nodeType":864},{},[],{"data":114310,"content":114311,"nodeType":860},{},[114312,114315,114322],{"data":114313,"marks":114314,"value":104052,"nodeType":864},{},[],{"data":114316,"content":114317,"nodeType":883},{"uri":18533},[114318],{"data":114319,"marks":114320,"value":104060,"nodeType":864},{},[114321],{"type":1455},{"data":114323,"marks":114324,"value":12252,"nodeType":864},{},[],{"data":114326,"content":114327,"nodeType":1312},{},[114328],{"data":114329,"marks":114330,"value":104070,"nodeType":864},{},[],{"data":114332,"content":114333,"nodeType":860},{},[114334],{"data":114335,"marks":114336,"value":104078,"nodeType":864},{},[114337],{"type":2246},{"data":114339,"content":114340,"nodeType":941},{},[114341,114350,114369,114378,114387,114396,114405,114414],{"data":114342,"content":114343,"nodeType":945},{},[114344],{"data":114345,"content":114346,"nodeType":860},{},[114347],{"data":114348,"marks":114349,"value":104091,"nodeType":864},{},[],{"data":114351,"content":114352,"nodeType":945},{},[114353],{"data":114354,"content":114355,"nodeType":860},{},[114356,114359,114366],{"data":114357,"marks":114358,"value":104101,"nodeType":864},{},[],{"data":114360,"content":114361,"nodeType":883},{"uri":81682},[114362],{"data":114363,"marks":114364,"value":104109,"nodeType":864},{},[114365],{"type":1455},{"data":114367,"marks":114368,"value":104113,"nodeType":864},{},[],{"data":114370,"content":114371,"nodeType":945},{},[114372],{"data":114373,"content":114374,"nodeType":860},{},[114375],{"data":114376,"marks":114377,"value":104123,"nodeType":864},{},[],{"data":114379,"content":114380,"nodeType":945},{},[114381],{"data":114382,"content":114383,"nodeType":860},{},[114384],{"data":114385,"marks":114386,"value":34354,"nodeType":864},{},[],{"data":114388,"content":114389,"nodeType":945},{},[114390],{"data":114391,"content":114392,"nodeType":860},{},[114393],{"data":114394,"marks":114395,"value":34364,"nodeType":864},{},[],{"data":114397,"content":114398,"nodeType":945},{},[114399],{"data":114400,"content":114401,"nodeType":860},{},[114402],{"data":114403,"marks":114404,"value":34374,"nodeType":864},{},[],{"data":114406,"content":114407,"nodeType":945},{},[114408],{"data":114409,"content":114410,"nodeType":860},{},[114411],{"data":114412,"marks":114413,"value":104160,"nodeType":864},{},[],{"data":114415,"content":114416,"nodeType":945},{},[114417],{"data":114418,"content":114419,"nodeType":860},{},[114420],{"data":114421,"marks":114422,"value":104170,"nodeType":864},{},[],{"data":114424,"content":114425,"nodeType":1312},{},[114426],{"data":114427,"marks":114428,"value":104177,"nodeType":864},{},[],{"data":114430,"content":114431,"nodeType":941},{},[114432,114448,114474,114497,114513,114529],{"data":114433,"content":114434,"nodeType":945},{},[114435],{"data":114436,"content":114437,"nodeType":860},{},[114438,114441,114445],{"data":114439,"marks":114440,"value":104190,"nodeType":864},{},[],{"data":114442,"marks":114443,"value":104195,"nodeType":864},{},[114444],{"type":899},{"data":114446,"marks":114447,"value":104199,"nodeType":864},{},[],{"data":114449,"content":114450,"nodeType":945},{},[114451],{"data":114452,"content":114453,"nodeType":860},{},[114454,114457,114461,114464,114471],{"data":114455,"marks":114456,"value":104209,"nodeType":864},{},[],{"data":114458,"marks":114459,"value":104214,"nodeType":864},{},[114460],{"type":899},{"data":114462,"marks":114463,"value":104218,"nodeType":864},{},[],{"data":114465,"content":114466,"nodeType":883},{"uri":34109},[114467],{"data":114468,"marks":114469,"value":34115,"nodeType":864},{},[114470],{"type":1455},{"data":114472,"marks":114473,"value":34119,"nodeType":864},{},[],{"data":114475,"content":114476,"nodeType":945},{},[114477],{"data":114478,"content":114479,"nodeType":860},{},[114480,114483,114487,114490,114494],{"data":114481,"marks":114482,"value":104238,"nodeType":864},{},[],{"data":114484,"marks":114485,"value":104243,"nodeType":864},{},[114486],{"type":899},{"data":114488,"marks":114489,"value":104247,"nodeType":864},{},[],{"data":114491,"marks":114492,"value":104252,"nodeType":864},{},[114493],{"type":899},{"data":114495,"marks":114496,"value":104256,"nodeType":864},{},[],{"data":114498,"content":114499,"nodeType":945},{},[114500],{"data":114501,"content":114502,"nodeType":860},{},[114503,114506,114510],{"data":114504,"marks":114505,"value":104266,"nodeType":864},{},[],{"data":114507,"marks":114508,"value":104271,"nodeType":864},{},[114509],{"type":899},{"data":114511,"marks":114512,"value":104275,"nodeType":864},{},[],{"data":114514,"content":114515,"nodeType":945},{},[114516],{"data":114517,"content":114518,"nodeType":860},{},[114519,114522,114526],{"data":114520,"marks":114521,"value":104285,"nodeType":864},{},[],{"data":114523,"marks":114524,"value":104290,"nodeType":864},{},[114525],{"type":899},{"data":114527,"marks":114528,"value":104294,"nodeType":864},{},[],{"data":114530,"content":114531,"nodeType":945},{},[114532],{"data":114533,"content":114534,"nodeType":860},{},[114535,114538,114542],{"data":114536,"marks":114537,"value":104304,"nodeType":864},{},[],{"data":114539,"marks":114540,"value":104309,"nodeType":864},{},[114541],{"type":899},{"data":114543,"marks":114544,"value":104313,"nodeType":864},{},[],{"data":114546,"content":114547,"nodeType":1312},{},[114548],{"data":114549,"marks":114550,"value":104320,"nodeType":864},{},[],{"data":114552,"content":114553,"nodeType":941},{},[114554,114570,114606,114629],{"data":114555,"content":114556,"nodeType":945},{},[114557],{"data":114558,"content":114559,"nodeType":860},{},[114560,114563,114567],{"data":114561,"marks":114562,"value":104333,"nodeType":864},{},[],{"data":114564,"marks":114565,"value":104338,"nodeType":864},{},[114566],{"type":899},{"data":114568,"marks":114569,"value":104342,"nodeType":864},{},[],{"data":114571,"content":114572,"nodeType":945},{},[114573],{"data":114574,"content":114575,"nodeType":860},{},[114576,114579,114586,114589,114593,114596,114603],{"data":114577,"marks":114578,"value":104352,"nodeType":864},{},[],{"data":114580,"content":114581,"nodeType":883},{"uri":104355},[114582],{"data":114583,"marks":114584,"value":17706,"nodeType":864},{},[114585],{"type":1455},{"data":114587,"marks":114588,"value":3731,"nodeType":864},{},[],{"data":114590,"marks":114591,"value":104368,"nodeType":864},{},[114592],{"type":899},{"data":114594,"marks":114595,"value":104372,"nodeType":864},{},[],{"data":114597,"content":114598,"nodeType":883},{"uri":87669},[114599],{"data":114600,"marks":114601,"value":104380,"nodeType":864},{},[114602],{"type":1455},{"data":114604,"marks":114605,"value":35977,"nodeType":864},{},[],{"data":114607,"content":114608,"nodeType":945},{},[114609],{"data":114610,"content":114611,"nodeType":860},{},[114612,114616,114619,114626],{"data":114613,"marks":114614,"value":104394,"nodeType":864},{},[114615],{"type":899},{"data":114617,"marks":114618,"value":104398,"nodeType":864},{},[],{"data":114620,"content":114621,"nodeType":883},{"uri":34519},[114622],{"data":114623,"marks":114624,"value":104406,"nodeType":864},{},[114625],{"type":1455},{"data":114627,"marks":114628,"value":104410,"nodeType":864},{},[],{"data":114630,"content":114631,"nodeType":945},{},[114632],{"data":114633,"content":114634,"nodeType":860},{},[114635,114638,114642,114645,114649],{"data":114636,"marks":114637,"value":104420,"nodeType":864},{},[],{"data":114639,"marks":114640,"value":104425,"nodeType":864},{},[114641],{"type":899},{"data":114643,"marks":114644,"value":104429,"nodeType":864},{},[],{"data":114646,"marks":114647,"value":104434,"nodeType":864},{},[114648],{"type":899},{"data":114650,"marks":114651,"value":104438,"nodeType":864},{},[],{"data":114653,"content":114654,"nodeType":1312},{},[114655],{"data":114656,"marks":114657,"value":104445,"nodeType":864},{},[],{"data":114659,"content":114660,"nodeType":860},{},[114661],{"data":114662,"marks":114663,"value":104452,"nodeType":864},{},[],{"data":114665,"content":114666,"nodeType":4845},{},[114667,114706,114765],{"data":114668,"content":114669,"nodeType":4581},{},[114670,114679,114688,114697],{"data":114671,"content":114672,"nodeType":7282},{},[114673],{"data":114674,"content":114675,"nodeType":860},{},[114676],{"data":114677,"marks":114678,"value":104468,"nodeType":864},{},[],{"data":114680,"content":114681,"nodeType":7282},{},[114682],{"data":114683,"content":114684,"nodeType":860},{},[114685],{"data":114686,"marks":114687,"value":104478,"nodeType":864},{},[],{"data":114689,"content":114690,"nodeType":7282},{},[114691],{"data":114692,"content":114693,"nodeType":860},{},[114694],{"data":114695,"marks":114696,"value":104488,"nodeType":864},{},[],{"data":114698,"content":114699,"nodeType":7282},{},[114700],{"data":114701,"content":114702,"nodeType":860},{},[114703],{"data":114704,"marks":114705,"value":104498,"nodeType":864},{},[],{"data":114707,"content":114708,"nodeType":4581},{},[114709,114728,114747,114756],{"data":114710,"content":114711,"nodeType":4569},{},[114712],{"data":114713,"content":114714,"nodeType":860},{},[114715,114718,114725],{"data":114716,"marks":114717,"value":21,"nodeType":864},{},[],{"data":114719,"content":114720,"nodeType":883},{"uri":26784},[114721],{"data":114722,"marks":114723,"value":104518,"nodeType":864},{},[114724],{"type":1455},{"data":114726,"marks":114727,"value":21,"nodeType":864},{},[],{"data":114729,"content":114730,"nodeType":4569},{},[114731],{"data":114732,"content":114733,"nodeType":860},{},[114734,114737,114744],{"data":114735,"marks":114736,"value":21,"nodeType":864},{},[],{"data":114738,"content":114739,"nodeType":883},{"uri":104355},[114740],{"data":114741,"marks":114742,"value":395,"nodeType":864},{},[114743],{"type":1455},{"data":114745,"marks":114746,"value":21,"nodeType":864},{},[],{"data":114748,"content":114749,"nodeType":4569},{},[114750],{"data":114751,"content":114752,"nodeType":860},{},[114753],{"data":114754,"marks":114755,"value":104550,"nodeType":864},{},[],{"data":114757,"content":114758,"nodeType":4569},{},[114759],{"data":114760,"content":114761,"nodeType":860},{},[114762],{"data":114763,"marks":114764,"value":104560,"nodeType":864},{},[],{"data":114766,"content":114767,"nodeType":4581},{},[114768,114787,114806,114815],{"data":114769,"content":114770,"nodeType":4569},{},[114771],{"data":114772,"content":114773,"nodeType":860},{},[114774,114777,114784],{"data":114775,"marks":114776,"value":21,"nodeType":864},{},[],{"data":114778,"content":114779,"nodeType":883},{"uri":42040},[114780],{"data":114781,"marks":114782,"value":104580,"nodeType":864},{},[114783],{"type":1455},{"data":114785,"marks":114786,"value":21,"nodeType":864},{},[],{"data":114788,"content":114789,"nodeType":4569},{},[114790],{"data":114791,"content":114792,"nodeType":860},{},[114793,114796,114803],{"data":114794,"marks":114795,"value":21,"nodeType":864},{},[],{"data":114797,"content":114798,"nodeType":883},{"uri":104595},[114799],{"data":114800,"marks":114801,"value":96158,"nodeType":864},{},[114802],{"type":1455},{"data":114804,"marks":114805,"value":21,"nodeType":864},{},[],{"data":114807,"content":114808,"nodeType":4569},{},[114809],{"data":114810,"content":114811,"nodeType":860},{},[114812],{"data":114813,"marks":114814,"value":104613,"nodeType":864},{},[],{"data":114816,"content":114817,"nodeType":4569},{},[114818],{"data":114819,"content":114820,"nodeType":860},{},[114821],{"data":114822,"marks":114823,"value":104623,"nodeType":864},{},[],{"data":114825,"content":114826,"nodeType":1312},{},[114827],{"data":114828,"marks":114829,"value":104630,"nodeType":864},{},[],{"data":114831,"content":114832,"nodeType":860},{},[114833],{"data":114834,"marks":114835,"value":104637,"nodeType":864},{},[],{"data":114837,"content":114838,"nodeType":941},{},[114839,114848,114857,114866,114875,114884,114893,114902],{"data":114840,"content":114841,"nodeType":945},{},[114842],{"data":114843,"content":114844,"nodeType":860},{},[114845],{"data":114846,"marks":114847,"value":104650,"nodeType":864},{},[],{"data":114849,"content":114850,"nodeType":945},{},[114851],{"data":114852,"content":114853,"nodeType":860},{},[114854],{"data":114855,"marks":114856,"value":104660,"nodeType":864},{},[],{"data":114858,"content":114859,"nodeType":945},{},[114860],{"data":114861,"content":114862,"nodeType":860},{},[114863],{"data":114864,"marks":114865,"value":104670,"nodeType":864},{},[],{"data":114867,"content":114868,"nodeType":945},{},[114869],{"data":114870,"content":114871,"nodeType":860},{},[114872],{"data":114873,"marks":114874,"value":104680,"nodeType":864},{},[],{"data":114876,"content":114877,"nodeType":945},{},[114878],{"data":114879,"content":114880,"nodeType":860},{},[114881],{"data":114882,"marks":114883,"value":104690,"nodeType":864},{},[],{"data":114885,"content":114886,"nodeType":945},{},[114887],{"data":114888,"content":114889,"nodeType":860},{},[114890],{"data":114891,"marks":114892,"value":104700,"nodeType":864},{},[],{"data":114894,"content":114895,"nodeType":945},{},[114896],{"data":114897,"content":114898,"nodeType":860},{},[114899],{"data":114900,"marks":114901,"value":104710,"nodeType":864},{},[],{"data":114903,"content":114904,"nodeType":945},{},[114905],{"data":114906,"content":114907,"nodeType":860},{},[114908],{"data":114909,"marks":114910,"value":104720,"nodeType":864},{},[],{"data":114912,"content":114913,"nodeType":1005},{},[],{"data":114915,"content":114916,"nodeType":1009},{},[114917],{"data":114918,"marks":114919,"value":104730,"nodeType":864},{},[],{"data":114921,"content":114922,"nodeType":860},{},[114923],{"data":114924,"marks":114925,"value":104737,"nodeType":864},{},[],{"data":114927,"content":114928,"nodeType":1312},{},[114929],{"data":114930,"marks":114931,"value":104744,"nodeType":864},{},[],{"data":114933,"content":114934,"nodeType":941},{},[114935,114944,114953,114962,114971,114980],{"data":114936,"content":114937,"nodeType":945},{},[114938],{"data":114939,"content":114940,"nodeType":860},{},[114941],{"data":114942,"marks":114943,"value":104757,"nodeType":864},{},[],{"data":114945,"content":114946,"nodeType":945},{},[114947],{"data":114948,"content":114949,"nodeType":860},{},[114950],{"data":114951,"marks":114952,"value":104767,"nodeType":864},{},[],{"data":114954,"content":114955,"nodeType":945},{},[114956],{"data":114957,"content":114958,"nodeType":860},{},[114959],{"data":114960,"marks":114961,"value":104777,"nodeType":864},{},[],{"data":114963,"content":114964,"nodeType":945},{},[114965],{"data":114966,"content":114967,"nodeType":860},{},[114968],{"data":114969,"marks":114970,"value":104787,"nodeType":864},{},[],{"data":114972,"content":114973,"nodeType":945},{},[114974],{"data":114975,"content":114976,"nodeType":860},{},[114977],{"data":114978,"marks":114979,"value":104797,"nodeType":864},{},[],{"data":114981,"content":114982,"nodeType":945},{},[114983],{"data":114984,"content":114985,"nodeType":860},{},[114986],{"data":114987,"marks":114988,"value":104807,"nodeType":864},{},[],{"data":114990,"content":114991,"nodeType":1312},{},[114992],{"data":114993,"marks":114994,"value":104814,"nodeType":864},{},[],{"data":114996,"content":114997,"nodeType":941},{},[114998,115007,115016],{"data":114999,"content":115000,"nodeType":945},{},[115001],{"data":115002,"content":115003,"nodeType":860},{},[115004],{"data":115005,"marks":115006,"value":104827,"nodeType":864},{},[],{"data":115008,"content":115009,"nodeType":945},{},[115010],{"data":115011,"content":115012,"nodeType":860},{},[115013],{"data":115014,"marks":115015,"value":104837,"nodeType":864},{},[],{"data":115017,"content":115018,"nodeType":945},{},[115019],{"data":115020,"content":115021,"nodeType":860},{},[115022],{"data":115023,"marks":115024,"value":104847,"nodeType":864},{},[],{"data":115026,"content":115027,"nodeType":1312},{},[115028],{"data":115029,"marks":115030,"value":104854,"nodeType":864},{},[],{"data":115032,"content":115033,"nodeType":941},{},[115034,115043,115052,115061],{"data":115035,"content":115036,"nodeType":945},{},[115037],{"data":115038,"content":115039,"nodeType":860},{},[115040],{"data":115041,"marks":115042,"value":104867,"nodeType":864},{},[],{"data":115044,"content":115045,"nodeType":945},{},[115046],{"data":115047,"content":115048,"nodeType":860},{},[115049],{"data":115050,"marks":115051,"value":104877,"nodeType":864},{},[],{"data":115053,"content":115054,"nodeType":945},{},[115055],{"data":115056,"content":115057,"nodeType":860},{},[115058],{"data":115059,"marks":115060,"value":104887,"nodeType":864},{},[],{"data":115062,"content":115063,"nodeType":945},{},[115064],{"data":115065,"content":115066,"nodeType":860},{},[115067],{"data":115068,"marks":115069,"value":104897,"nodeType":864},{},[],{"data":115071,"content":115072,"nodeType":1312},{},[115073],{"data":115074,"marks":115075,"value":104445,"nodeType":864},{},[],{"data":115077,"content":115078,"nodeType":860},{},[115079],{"data":115080,"marks":115081,"value":104452,"nodeType":864},{},[],{"data":115083,"content":115084,"nodeType":4845},{},[115085,115124,115183,115242],{"data":115086,"content":115087,"nodeType":4581},{},[115088,115097,115106,115115],{"data":115089,"content":115090,"nodeType":7282},{},[115091],{"data":115092,"content":115093,"nodeType":860},{},[115094],{"data":115095,"marks":115096,"value":104468,"nodeType":864},{},[],{"data":115098,"content":115099,"nodeType":7282},{},[115100],{"data":115101,"content":115102,"nodeType":860},{},[115103],{"data":115104,"marks":115105,"value":104934,"nodeType":864},{},[],{"data":115107,"content":115108,"nodeType":7282},{},[115109],{"data":115110,"content":115111,"nodeType":860},{},[115112],{"data":115113,"marks":115114,"value":104488,"nodeType":864},{},[],{"data":115116,"content":115117,"nodeType":7282},{},[115118],{"data":115119,"content":115120,"nodeType":860},{},[115121],{"data":115122,"marks":115123,"value":104498,"nodeType":864},{},[],{"data":115125,"content":115126,"nodeType":4581},{},[115127,115146,115165,115174],{"data":115128,"content":115129,"nodeType":4569},{},[115130],{"data":115131,"content":115132,"nodeType":860},{},[115133,115136,115143],{"data":115134,"marks":115135,"value":21,"nodeType":864},{},[],{"data":115137,"content":115138,"nodeType":883},{"uri":87924},[115139],{"data":115140,"marks":115141,"value":104972,"nodeType":864},{},[115142],{"type":1455},{"data":115144,"marks":115145,"value":21,"nodeType":864},{},[],{"data":115147,"content":115148,"nodeType":4569},{},[115149],{"data":115150,"content":115151,"nodeType":860},{},[115152,115155,115162],{"data":115153,"marks":115154,"value":21,"nodeType":864},{},[],{"data":115156,"content":115157,"nodeType":883},{"uri":104987},[115158],{"data":115159,"marks":115160,"value":333,"nodeType":864},{},[115161],{"type":1455},{"data":115163,"marks":115164,"value":21,"nodeType":864},{},[],{"data":115166,"content":115167,"nodeType":4569},{},[115168],{"data":115169,"content":115170,"nodeType":860},{},[115171],{"data":115172,"marks":115173,"value":105005,"nodeType":864},{},[],{"data":115175,"content":115176,"nodeType":4569},{},[115177],{"data":115178,"content":115179,"nodeType":860},{},[115180],{"data":115181,"marks":115182,"value":105015,"nodeType":864},{},[],{"data":115184,"content":115185,"nodeType":4581},{},[115186,115205,115224,115233],{"data":115187,"content":115188,"nodeType":4569},{},[115189],{"data":115190,"content":115191,"nodeType":860},{},[115192,115195,115202],{"data":115193,"marks":115194,"value":21,"nodeType":864},{},[],{"data":115196,"content":115197,"nodeType":883},{"uri":96375},[115198],{"data":115199,"marks":115200,"value":105035,"nodeType":864},{},[115201],{"type":1455},{"data":115203,"marks":115204,"value":21,"nodeType":864},{},[],{"data":115206,"content":115207,"nodeType":4569},{},[115208],{"data":115209,"content":115210,"nodeType":860},{},[115211,115214,115221],{"data":115212,"marks":115213,"value":21,"nodeType":864},{},[],{"data":115215,"content":115216,"nodeType":883},{"uri":105050},[115217],{"data":115218,"marks":115219,"value":96381,"nodeType":864},{},[115220],{"type":1455},{"data":115222,"marks":115223,"value":21,"nodeType":864},{},[],{"data":115225,"content":115226,"nodeType":4569},{},[115227],{"data":115228,"content":115229,"nodeType":860},{},[115230],{"data":115231,"marks":115232,"value":105068,"nodeType":864},{},[],{"data":115234,"content":115235,"nodeType":4569},{},[115236],{"data":115237,"content":115238,"nodeType":860},{},[115239],{"data":115240,"marks":115241,"value":105078,"nodeType":864},{},[],{"data":115243,"content":115244,"nodeType":4581},{},[115245,115264,115283,115292],{"data":115246,"content":115247,"nodeType":4569},{},[115248],{"data":115249,"content":115250,"nodeType":860},{},[115251,115254,115261],{"data":115252,"marks":115253,"value":21,"nodeType":864},{},[],{"data":115255,"content":115256,"nodeType":883},{"uri":96606},[115257],{"data":115258,"marks":115259,"value":105098,"nodeType":864},{},[115260],{"type":1455},{"data":115262,"marks":115263,"value":21,"nodeType":864},{},[],{"data":115265,"content":115266,"nodeType":4569},{},[115267],{"data":115268,"content":115269,"nodeType":860},{},[115270,115273,115280],{"data":115271,"marks":115272,"value":21,"nodeType":864},{},[],{"data":115274,"content":115275,"nodeType":883},{"uri":105113},[115276],{"data":115277,"marks":115278,"value":105119,"nodeType":864},{},[115279],{"type":1455},{"data":115281,"marks":115282,"value":21,"nodeType":864},{},[],{"data":115284,"content":115285,"nodeType":4569},{},[115286],{"data":115287,"content":115288,"nodeType":860},{},[115289],{"data":115290,"marks":115291,"value":105132,"nodeType":864},{},[],{"data":115293,"content":115294,"nodeType":4569},{},[115295],{"data":115296,"content":115297,"nodeType":860},{},[115298],{"data":115299,"marks":115300,"value":105142,"nodeType":864},{},[],{"data":115302,"content":115303,"nodeType":1312},{},[115304],{"data":115305,"marks":115306,"value":104630,"nodeType":864},{},[],{"data":115308,"content":115309,"nodeType":860},{},[115310],{"data":115311,"marks":115312,"value":105156,"nodeType":864},{},[115313],{"type":899},{"data":115315,"content":115316,"nodeType":860},{},[115317],{"data":115318,"marks":115319,"value":105163,"nodeType":864},{},[],{"data":115321,"content":115322,"nodeType":1005},{},[],{"data":115324,"content":115325,"nodeType":1009},{},[115326],{"data":115327,"marks":115328,"value":105173,"nodeType":864},{},[],{"data":115330,"content":115331,"nodeType":860},{},[115332],{"data":115333,"marks":115334,"value":105180,"nodeType":864},{},[],{"data":115336,"content":115337,"nodeType":1312},{},[115338],{"data":115339,"marks":115340,"value":105187,"nodeType":864},{},[],{"data":115342,"content":115343,"nodeType":941},{},[115344,115353,115362,115371,115380],{"data":115345,"content":115346,"nodeType":945},{},[115347],{"data":115348,"content":115349,"nodeType":860},{},[115350],{"data":115351,"marks":115352,"value":105200,"nodeType":864},{},[],{"data":115354,"content":115355,"nodeType":945},{},[115356],{"data":115357,"content":115358,"nodeType":860},{},[115359],{"data":115360,"marks":115361,"value":105210,"nodeType":864},{},[],{"data":115363,"content":115364,"nodeType":945},{},[115365],{"data":115366,"content":115367,"nodeType":860},{},[115368],{"data":115369,"marks":115370,"value":105220,"nodeType":864},{},[],{"data":115372,"content":115373,"nodeType":945},{},[115374],{"data":115375,"content":115376,"nodeType":860},{},[115377],{"data":115378,"marks":115379,"value":105230,"nodeType":864},{},[],{"data":115381,"content":115382,"nodeType":945},{},[115383],{"data":115384,"content":115385,"nodeType":860},{},[115386],{"data":115387,"marks":115388,"value":105240,"nodeType":864},{},[],{"data":115390,"content":115391,"nodeType":1312},{},[115392],{"data":115393,"marks":115394,"value":105247,"nodeType":864},{},[],{"data":115396,"content":115397,"nodeType":941},{},[115398,115407,115416,115425],{"data":115399,"content":115400,"nodeType":945},{},[115401],{"data":115402,"content":115403,"nodeType":860},{},[115404],{"data":115405,"marks":115406,"value":105260,"nodeType":864},{},[],{"data":115408,"content":115409,"nodeType":945},{},[115410],{"data":115411,"content":115412,"nodeType":860},{},[115413],{"data":115414,"marks":115415,"value":105270,"nodeType":864},{},[],{"data":115417,"content":115418,"nodeType":945},{},[115419],{"data":115420,"content":115421,"nodeType":860},{},[115422],{"data":115423,"marks":115424,"value":105280,"nodeType":864},{},[],{"data":115426,"content":115427,"nodeType":945},{},[115428],{"data":115429,"content":115430,"nodeType":860},{},[115431],{"data":115432,"marks":115433,"value":105290,"nodeType":864},{},[],{"data":115435,"content":115436,"nodeType":1312},{},[115437],{"data":115438,"marks":115439,"value":105297,"nodeType":864},{},[],{"data":115441,"content":115442,"nodeType":941},{},[115443,115452,115461],{"data":115444,"content":115445,"nodeType":945},{},[115446],{"data":115447,"content":115448,"nodeType":860},{},[115449],{"data":115450,"marks":115451,"value":105310,"nodeType":864},{},[],{"data":115453,"content":115454,"nodeType":945},{},[115455],{"data":115456,"content":115457,"nodeType":860},{},[115458],{"data":115459,"marks":115460,"value":105320,"nodeType":864},{},[],{"data":115462,"content":115463,"nodeType":945},{},[115464],{"data":115465,"content":115466,"nodeType":860},{},[115467],{"data":115468,"marks":115469,"value":105330,"nodeType":864},{},[],{"data":115471,"content":115472,"nodeType":1312},{},[115473],{"data":115474,"marks":115475,"value":104445,"nodeType":864},{},[],{"data":115477,"content":115478,"nodeType":860},{},[115479],{"data":115480,"marks":115481,"value":104452,"nodeType":864},{},[],{"data":115483,"content":115484,"nodeType":4845},{},[115485,115524,115583],{"data":115486,"content":115487,"nodeType":4581},{},[115488,115497,115506,115515],{"data":115489,"content":115490,"nodeType":7282},{},[115491],{"data":115492,"content":115493,"nodeType":860},{},[115494],{"data":115495,"marks":115496,"value":104468,"nodeType":864},{},[],{"data":115498,"content":115499,"nodeType":7282},{},[115500],{"data":115501,"content":115502,"nodeType":860},{},[115503],{"data":115504,"marks":115505,"value":104934,"nodeType":864},{},[],{"data":115507,"content":115508,"nodeType":7282},{},[115509],{"data":115510,"content":115511,"nodeType":860},{},[115512],{"data":115513,"marks":115514,"value":104488,"nodeType":864},{},[],{"data":115516,"content":115517,"nodeType":7282},{},[115518],{"data":115519,"content":115520,"nodeType":860},{},[115521],{"data":115522,"marks":115523,"value":104498,"nodeType":864},{},[],{"data":115525,"content":115526,"nodeType":4581},{},[115527,115546,115565,115574],{"data":115528,"content":115529,"nodeType":4569},{},[115530],{"data":115531,"content":115532,"nodeType":860},{},[115533,115536,115543],{"data":115534,"marks":115535,"value":21,"nodeType":864},{},[],{"data":115537,"content":115538,"nodeType":883},{"uri":87924},[115539],{"data":115540,"marks":115541,"value":104972,"nodeType":864},{},[115542],{"type":1455},{"data":115544,"marks":115545,"value":21,"nodeType":864},{},[],{"data":115547,"content":115548,"nodeType":4569},{},[115549],{"data":115550,"content":115551,"nodeType":860},{},[115552,115555,115562],{"data":115553,"marks":115554,"value":21,"nodeType":864},{},[],{"data":115556,"content":115557,"nodeType":883},{"uri":104987},[115558],{"data":115559,"marks":115560,"value":333,"nodeType":864},{},[115561],{"type":1455},{"data":115563,"marks":115564,"value":21,"nodeType":864},{},[],{"data":115566,"content":115567,"nodeType":4569},{},[115568],{"data":115569,"content":115570,"nodeType":860},{},[115571],{"data":115572,"marks":115573,"value":105005,"nodeType":864},{},[],{"data":115575,"content":115576,"nodeType":4569},{},[115577],{"data":115578,"content":115579,"nodeType":860},{},[115580],{"data":115581,"marks":115582,"value":105015,"nodeType":864},{},[],{"data":115584,"content":115585,"nodeType":4581},{},[115586,115605,115624,115633],{"data":115587,"content":115588,"nodeType":4569},{},[115589],{"data":115590,"content":115591,"nodeType":860},{},[115592,115595,115602],{"data":115593,"marks":115594,"value":21,"nodeType":864},{},[],{"data":115596,"content":115597,"nodeType":883},{"uri":105458},[115598],{"data":115599,"marks":115600,"value":105464,"nodeType":864},{},[115601],{"type":1455},{"data":115603,"marks":115604,"value":21,"nodeType":864},{},[],{"data":115606,"content":115607,"nodeType":4569},{},[115608],{"data":115609,"content":115610,"nodeType":860},{},[115611,115614,115621],{"data":115612,"marks":115613,"value":21,"nodeType":864},{},[],{"data":115615,"content":115616,"nodeType":883},{"uri":105479},[115617],{"data":115618,"marks":115619,"value":105485,"nodeType":864},{},[115620],{"type":1455},{"data":115622,"marks":115623,"value":21,"nodeType":864},{},[],{"data":115625,"content":115626,"nodeType":4569},{},[115627],{"data":115628,"content":115629,"nodeType":860},{},[115630],{"data":115631,"marks":115632,"value":105498,"nodeType":864},{},[],{"data":115634,"content":115635,"nodeType":4569},{},[115636],{"data":115637,"content":115638,"nodeType":860},{},[115639],{"data":115640,"marks":115641,"value":105508,"nodeType":864},{},[],{"data":115643,"content":115644,"nodeType":1312},{},[115645],{"data":115646,"marks":115647,"value":104630,"nodeType":864},{},[],{"data":115649,"content":115650,"nodeType":860},{},[115651],{"data":115652,"marks":115653,"value":105522,"nodeType":864},{},[115654],{"type":899},{"data":115656,"content":115657,"nodeType":860},{},[115658],{"data":115659,"marks":115660,"value":105529,"nodeType":864},{},[],{"data":115662,"content":115663,"nodeType":860},{},[115664],{"data":115665,"marks":115666,"value":105537,"nodeType":864},{},[115667],{"type":899},{"data":115669,"content":115670,"nodeType":860},{},[115671],{"data":115672,"marks":115673,"value":105544,"nodeType":864},{},[],{"data":115675,"content":115676,"nodeType":860},{},[115677],{"data":115678,"marks":115679,"value":105552,"nodeType":864},{},[115680],{"type":899},{"data":115682,"content":115683,"nodeType":860},{},[115684],{"data":115685,"marks":115686,"value":105559,"nodeType":864},{},[],{"data":115688,"content":115689,"nodeType":1005},{},[],{"data":115691,"content":115692,"nodeType":1009},{},[115693],{"data":115694,"marks":115695,"value":105569,"nodeType":864},{},[],{"data":115697,"content":115698,"nodeType":860},{},[115699],{"data":115700,"marks":115701,"value":105576,"nodeType":864},{},[],{"data":115703,"content":115704,"nodeType":1312},{},[115705],{"data":115706,"marks":115707,"value":105583,"nodeType":864},{},[],{"data":115709,"content":115710,"nodeType":941},{},[115711,115720,115729,115738,115747,115756],{"data":115712,"content":115713,"nodeType":945},{},[115714],{"data":115715,"content":115716,"nodeType":860},{},[115717],{"data":115718,"marks":115719,"value":105596,"nodeType":864},{},[],{"data":115721,"content":115722,"nodeType":945},{},[115723],{"data":115724,"content":115725,"nodeType":860},{},[115726],{"data":115727,"marks":115728,"value":105606,"nodeType":864},{},[],{"data":115730,"content":115731,"nodeType":945},{},[115732],{"data":115733,"content":115734,"nodeType":860},{},[115735],{"data":115736,"marks":115737,"value":105616,"nodeType":864},{},[],{"data":115739,"content":115740,"nodeType":945},{},[115741],{"data":115742,"content":115743,"nodeType":860},{},[115744],{"data":115745,"marks":115746,"value":105626,"nodeType":864},{},[],{"data":115748,"content":115749,"nodeType":945},{},[115750],{"data":115751,"content":115752,"nodeType":860},{},[115753],{"data":115754,"marks":115755,"value":105636,"nodeType":864},{},[],{"data":115757,"content":115758,"nodeType":945},{},[115759],{"data":115760,"content":115761,"nodeType":860},{},[115762],{"data":115763,"marks":115764,"value":105646,"nodeType":864},{},[],{"data":115766,"content":115767,"nodeType":1312},{},[115768],{"data":115769,"marks":115770,"value":105653,"nodeType":864},{},[],{"data":115772,"content":115773,"nodeType":941},{},[115774,115783,115792],{"data":115775,"content":115776,"nodeType":945},{},[115777],{"data":115778,"content":115779,"nodeType":860},{},[115780],{"data":115781,"marks":115782,"value":105666,"nodeType":864},{},[],{"data":115784,"content":115785,"nodeType":945},{},[115786],{"data":115787,"content":115788,"nodeType":860},{},[115789],{"data":115790,"marks":115791,"value":105676,"nodeType":864},{},[],{"data":115793,"content":115794,"nodeType":945},{},[115795],{"data":115796,"content":115797,"nodeType":860},{},[115798],{"data":115799,"marks":115800,"value":105686,"nodeType":864},{},[],{"data":115802,"content":115803,"nodeType":1312},{},[115804],{"data":115805,"marks":115806,"value":105693,"nodeType":864},{},[],{"data":115808,"content":115809,"nodeType":941},{},[115810,115819,115828],{"data":115811,"content":115812,"nodeType":945},{},[115813],{"data":115814,"content":115815,"nodeType":860},{},[115816],{"data":115817,"marks":115818,"value":105706,"nodeType":864},{},[],{"data":115820,"content":115821,"nodeType":945},{},[115822],{"data":115823,"content":115824,"nodeType":860},{},[115825],{"data":115826,"marks":115827,"value":105716,"nodeType":864},{},[],{"data":115829,"content":115830,"nodeType":945},{},[115831],{"data":115832,"content":115833,"nodeType":860},{},[115834],{"data":115835,"marks":115836,"value":105726,"nodeType":864},{},[],{"data":115838,"content":115839,"nodeType":1312},{},[115840],{"data":115841,"marks":115842,"value":104445,"nodeType":864},{},[],{"data":115844,"content":115845,"nodeType":860},{},[115846],{"data":115847,"marks":115848,"value":104452,"nodeType":864},{},[],{"data":115850,"content":115851,"nodeType":4845},{},[115852,115891],{"data":115853,"content":115854,"nodeType":4581},{},[115855,115864,115873,115882],{"data":115856,"content":115857,"nodeType":7282},{},[115858],{"data":115859,"content":115860,"nodeType":860},{},[115861],{"data":115862,"marks":115863,"value":104468,"nodeType":864},{},[],{"data":115865,"content":115866,"nodeType":7282},{},[115867],{"data":115868,"content":115869,"nodeType":860},{},[115870],{"data":115871,"marks":115872,"value":104934,"nodeType":864},{},[],{"data":115874,"content":115875,"nodeType":7282},{},[115876],{"data":115877,"content":115878,"nodeType":860},{},[115879],{"data":115880,"marks":115881,"value":104488,"nodeType":864},{},[],{"data":115883,"content":115884,"nodeType":7282},{},[115885],{"data":115886,"content":115887,"nodeType":860},{},[115888],{"data":115889,"marks":115890,"value":104498,"nodeType":864},{},[],{"data":115892,"content":115893,"nodeType":4581},{},[115894,115913,115932,115941],{"data":115895,"content":115896,"nodeType":4569},{},[115897],{"data":115898,"content":115899,"nodeType":860},{},[115900,115903,115910],{"data":115901,"marks":115902,"value":21,"nodeType":864},{},[],{"data":115904,"content":115905,"nodeType":883},{"uri":26938},[115906],{"data":115907,"marks":115908,"value":105800,"nodeType":864},{},[115909],{"type":1455},{"data":115911,"marks":115912,"value":21,"nodeType":864},{},[],{"data":115914,"content":115915,"nodeType":4569},{},[115916],{"data":115917,"content":115918,"nodeType":860},{},[115919,115922,115929],{"data":115920,"marks":115921,"value":21,"nodeType":864},{},[],{"data":115923,"content":115924,"nodeType":883},{"uri":105815},[115925],{"data":115926,"marks":115927,"value":105821,"nodeType":864},{},[115928],{"type":1455},{"data":115930,"marks":115931,"value":21,"nodeType":864},{},[],{"data":115933,"content":115934,"nodeType":4569},{},[115935],{"data":115936,"content":115937,"nodeType":860},{},[115938],{"data":115939,"marks":115940,"value":105834,"nodeType":864},{},[],{"data":115942,"content":115943,"nodeType":4569},{},[115944],{"data":115945,"content":115946,"nodeType":860},{},[115947],{"data":115948,"marks":115949,"value":105844,"nodeType":864},{},[],{"data":115951,"content":115952,"nodeType":1005},{},[],{"data":115954,"content":115955,"nodeType":1009},{},[115956],{"data":115957,"marks":115958,"value":105854,"nodeType":864},{},[],{"data":115960,"content":115961,"nodeType":860},{},[115962],{"data":115963,"marks":115964,"value":105861,"nodeType":864},{},[],{"data":115966,"content":115967,"nodeType":1312},{},[115968],{"data":115969,"marks":115970,"value":105868,"nodeType":864},{},[],{"data":115972,"content":115973,"nodeType":941},{},[115974,115983,115992,116001,116010,116019],{"data":115975,"content":115976,"nodeType":945},{},[115977],{"data":115978,"content":115979,"nodeType":860},{},[115980],{"data":115981,"marks":115982,"value":105881,"nodeType":864},{},[],{"data":115984,"content":115985,"nodeType":945},{},[115986],{"data":115987,"content":115988,"nodeType":860},{},[115989],{"data":115990,"marks":115991,"value":105891,"nodeType":864},{},[],{"data":115993,"content":115994,"nodeType":945},{},[115995],{"data":115996,"content":115997,"nodeType":860},{},[115998],{"data":115999,"marks":116000,"value":105901,"nodeType":864},{},[],{"data":116002,"content":116003,"nodeType":945},{},[116004],{"data":116005,"content":116006,"nodeType":860},{},[116007],{"data":116008,"marks":116009,"value":105911,"nodeType":864},{},[],{"data":116011,"content":116012,"nodeType":945},{},[116013],{"data":116014,"content":116015,"nodeType":860},{},[116016],{"data":116017,"marks":116018,"value":105921,"nodeType":864},{},[],{"data":116020,"content":116021,"nodeType":945},{},[116022],{"data":116023,"content":116024,"nodeType":860},{},[116025],{"data":116026,"marks":116027,"value":105931,"nodeType":864},{},[],{"data":116029,"content":116030,"nodeType":1312},{},[116031],{"data":116032,"marks":116033,"value":105938,"nodeType":864},{},[],{"data":116035,"content":116036,"nodeType":941},{},[116037,116046,116055],{"data":116038,"content":116039,"nodeType":945},{},[116040],{"data":116041,"content":116042,"nodeType":860},{},[116043],{"data":116044,"marks":116045,"value":105951,"nodeType":864},{},[],{"data":116047,"content":116048,"nodeType":945},{},[116049],{"data":116050,"content":116051,"nodeType":860},{},[116052],{"data":116053,"marks":116054,"value":105961,"nodeType":864},{},[],{"data":116056,"content":116057,"nodeType":945},{},[116058],{"data":116059,"content":116060,"nodeType":860},{},[116061],{"data":116062,"marks":116063,"value":105971,"nodeType":864},{},[],{"data":116065,"content":116066,"nodeType":1312},{},[116067],{"data":116068,"marks":116069,"value":105978,"nodeType":864},{},[],{"data":116071,"content":116072,"nodeType":941},{},[116073,116082,116091],{"data":116074,"content":116075,"nodeType":945},{},[116076],{"data":116077,"content":116078,"nodeType":860},{},[116079],{"data":116080,"marks":116081,"value":105991,"nodeType":864},{},[],{"data":116083,"content":116084,"nodeType":945},{},[116085],{"data":116086,"content":116087,"nodeType":860},{},[116088],{"data":116089,"marks":116090,"value":106001,"nodeType":864},{},[],{"data":116092,"content":116093,"nodeType":945},{},[116094],{"data":116095,"content":116096,"nodeType":860},{},[116097],{"data":116098,"marks":116099,"value":106011,"nodeType":864},{},[],{"data":116101,"content":116102,"nodeType":1312},{},[116103],{"data":116104,"marks":116105,"value":104445,"nodeType":864},{},[],{"data":116107,"content":116108,"nodeType":860},{},[116109],{"data":116110,"marks":116111,"value":104452,"nodeType":864},{},[],{"data":116113,"content":116114,"nodeType":4845},{},[116115,116154,116215],{"data":116116,"content":116117,"nodeType":4581},{},[116118,116127,116136,116145],{"data":116119,"content":116120,"nodeType":7282},{},[116121],{"data":116122,"content":116123,"nodeType":860},{},[116124],{"data":116125,"marks":116126,"value":104468,"nodeType":864},{},[],{"data":116128,"content":116129,"nodeType":7282},{},[116130],{"data":116131,"content":116132,"nodeType":860},{},[116133],{"data":116134,"marks":116135,"value":104934,"nodeType":864},{},[],{"data":116137,"content":116138,"nodeType":7282},{},[116139],{"data":116140,"content":116141,"nodeType":860},{},[116142],{"data":116143,"marks":116144,"value":104488,"nodeType":864},{},[],{"data":116146,"content":116147,"nodeType":7282},{},[116148],{"data":116149,"content":116150,"nodeType":860},{},[116151],{"data":116152,"marks":116153,"value":104498,"nodeType":864},{},[],{"data":116155,"content":116156,"nodeType":4581},{},[116157,116177,116197,116206],{"data":116158,"content":116159,"nodeType":4569},{},[116160],{"data":116161,"content":116162,"nodeType":860},{},[116163,116167,116174],{"data":116164,"marks":116165,"value":21,"nodeType":864},{},[116166],{"type":1455},{"data":116168,"content":116169,"nodeType":883},{"uri":42012},[116170],{"data":116171,"marks":116172,"value":106086,"nodeType":864},{},[116173],{"type":1455},{"data":116175,"marks":116176,"value":21,"nodeType":864},{},[],{"data":116178,"content":116179,"nodeType":4569},{},[116180],{"data":116181,"content":116182,"nodeType":860},{},[116183,116187,116194],{"data":116184,"marks":116185,"value":21,"nodeType":864},{},[116186],{"type":1455},{"data":116188,"content":116189,"nodeType":883},{"uri":106102},[116190],{"data":116191,"marks":116192,"value":106108,"nodeType":864},{},[116193],{"type":1455},{"data":116195,"marks":116196,"value":21,"nodeType":864},{},[],{"data":116198,"content":116199,"nodeType":4569},{},[116200],{"data":116201,"content":116202,"nodeType":860},{},[116203],{"data":116204,"marks":116205,"value":105005,"nodeType":864},{},[],{"data":116207,"content":116208,"nodeType":4569},{},[116209],{"data":116210,"content":116211,"nodeType":860},{},[116212],{"data":116213,"marks":116214,"value":106130,"nodeType":864},{},[],{"data":116216,"content":116217,"nodeType":4581},{},[116218,116237,116258,116267],{"data":116219,"content":116220,"nodeType":4569},{},[116221],{"data":116222,"content":116223,"nodeType":860},{},[116224,116227,116234],{"data":116225,"marks":116226,"value":21,"nodeType":864},{},[],{"data":116228,"content":116229,"nodeType":883},{"uri":106145},[116230],{"data":116231,"marks":116232,"value":106151,"nodeType":864},{},[116233],{"type":1455},{"data":116235,"marks":116236,"value":21,"nodeType":864},{},[],{"data":116238,"content":116239,"nodeType":4569},{},[116240],{"data":116241,"content":116242,"nodeType":860},{},[116243,116247,116254],{"data":116244,"marks":116245,"value":21,"nodeType":864},{},[116246],{"type":1455},{"data":116248,"content":116249,"nodeType":883},{"uri":106167},[116250],{"data":116251,"marks":116252,"value":106173,"nodeType":864},{},[116253],{"type":1455},{"data":116255,"marks":116256,"value":21,"nodeType":864},{},[116257],{"type":1455},{"data":116259,"content":116260,"nodeType":4569},{},[116261],{"data":116262,"content":116263,"nodeType":860},{},[116264],{"data":116265,"marks":116266,"value":106187,"nodeType":864},{},[],{"data":116268,"content":116269,"nodeType":4569},{},[116270],{"data":116271,"content":116272,"nodeType":860},{},[116273],{"data":116274,"marks":116275,"value":106197,"nodeType":864},{},[],{"data":116277,"content":116278,"nodeType":1005},{},[],{"data":116280,"content":116281,"nodeType":1009},{},[116282],{"data":116283,"marks":116284,"value":106207,"nodeType":864},{},[],{"data":116286,"content":116287,"nodeType":860},{},[116288],{"data":116289,"marks":116290,"value":106214,"nodeType":864},{},[],{"data":116292,"content":116293,"nodeType":1312},{},[116294],{"data":116295,"marks":116296,"value":106221,"nodeType":864},{},[],{"data":116298,"content":116299,"nodeType":941},{},[116300,116309,116318,116327,116336,116345,116354],{"data":116301,"content":116302,"nodeType":945},{},[116303],{"data":116304,"content":116305,"nodeType":860},{},[116306],{"data":116307,"marks":116308,"value":106234,"nodeType":864},{},[],{"data":116310,"content":116311,"nodeType":945},{},[116312],{"data":116313,"content":116314,"nodeType":860},{},[116315],{"data":116316,"marks":116317,"value":106244,"nodeType":864},{},[],{"data":116319,"content":116320,"nodeType":945},{},[116321],{"data":116322,"content":116323,"nodeType":860},{},[116324],{"data":116325,"marks":116326,"value":106254,"nodeType":864},{},[],{"data":116328,"content":116329,"nodeType":945},{},[116330],{"data":116331,"content":116332,"nodeType":860},{},[116333],{"data":116334,"marks":116335,"value":106264,"nodeType":864},{},[],{"data":116337,"content":116338,"nodeType":945},{},[116339],{"data":116340,"content":116341,"nodeType":860},{},[116342],{"data":116343,"marks":116344,"value":106274,"nodeType":864},{},[],{"data":116346,"content":116347,"nodeType":945},{},[116348],{"data":116349,"content":116350,"nodeType":860},{},[116351],{"data":116352,"marks":116353,"value":106284,"nodeType":864},{},[],{"data":116355,"content":116356,"nodeType":945},{},[116357],{"data":116358,"content":116359,"nodeType":860},{},[116360],{"data":116361,"marks":116362,"value":106294,"nodeType":864},{},[],{"data":116364,"content":116365,"nodeType":1312},{},[116366],{"data":116367,"marks":116368,"value":106301,"nodeType":864},{},[],{"data":116370,"content":116371,"nodeType":941},{},[116372,116381,116390],{"data":116373,"content":116374,"nodeType":945},{},[116375],{"data":116376,"content":116377,"nodeType":860},{},[116378],{"data":116379,"marks":116380,"value":106314,"nodeType":864},{},[],{"data":116382,"content":116383,"nodeType":945},{},[116384],{"data":116385,"content":116386,"nodeType":860},{},[116387],{"data":116388,"marks":116389,"value":106324,"nodeType":864},{},[],{"data":116391,"content":116392,"nodeType":945},{},[116393],{"data":116394,"content":116395,"nodeType":860},{},[116396],{"data":116397,"marks":116398,"value":106334,"nodeType":864},{},[],{"data":116400,"content":116401,"nodeType":1312},{},[116402],{"data":116403,"marks":116404,"value":106341,"nodeType":864},{},[],{"data":116406,"content":116407,"nodeType":941},{},[116408,116417,116426],{"data":116409,"content":116410,"nodeType":945},{},[116411],{"data":116412,"content":116413,"nodeType":860},{},[116414],{"data":116415,"marks":116416,"value":106354,"nodeType":864},{},[],{"data":116418,"content":116419,"nodeType":945},{},[116420],{"data":116421,"content":116422,"nodeType":860},{},[116423],{"data":116424,"marks":116425,"value":106364,"nodeType":864},{},[],{"data":116427,"content":116428,"nodeType":945},{},[116429],{"data":116430,"content":116431,"nodeType":860},{},[116432],{"data":116433,"marks":116434,"value":106374,"nodeType":864},{},[],{"data":116436,"content":116437,"nodeType":1312},{},[116438],{"data":116439,"marks":116440,"value":104445,"nodeType":864},{},[],{"data":116442,"content":116443,"nodeType":860},{},[116444],{"data":116445,"marks":116446,"value":104452,"nodeType":864},{},[],{"data":116448,"content":116449,"nodeType":4845},{},[116450,116489,116548,116607],{"data":116451,"content":116452,"nodeType":4581},{},[116453,116462,116471,116480],{"data":116454,"content":116455,"nodeType":7282},{},[116456],{"data":116457,"content":116458,"nodeType":860},{},[116459],{"data":116460,"marks":116461,"value":104468,"nodeType":864},{},[],{"data":116463,"content":116464,"nodeType":7282},{},[116465],{"data":116466,"content":116467,"nodeType":860},{},[116468],{"data":116469,"marks":116470,"value":104934,"nodeType":864},{},[],{"data":116472,"content":116473,"nodeType":7282},{},[116474],{"data":116475,"content":116476,"nodeType":860},{},[116477],{"data":116478,"marks":116479,"value":104488,"nodeType":864},{},[],{"data":116481,"content":116482,"nodeType":7282},{},[116483],{"data":116484,"content":116485,"nodeType":860},{},[116486],{"data":116487,"marks":116488,"value":104498,"nodeType":864},{},[],{"data":116490,"content":116491,"nodeType":4581},{},[116492,116511,116530,116539],{"data":116493,"content":116494,"nodeType":4569},{},[116495],{"data":116496,"content":116497,"nodeType":860},{},[116498,116501,116508],{"data":116499,"marks":116500,"value":21,"nodeType":864},{},[],{"data":116502,"content":116503,"nodeType":883},{"uri":96606},[116504],{"data":116505,"marks":116506,"value":105098,"nodeType":864},{},[116507],{"type":1455},{"data":116509,"marks":116510,"value":21,"nodeType":864},{},[],{"data":116512,"content":116513,"nodeType":4569},{},[116514],{"data":116515,"content":116516,"nodeType":860},{},[116517,116520,116527],{"data":116518,"marks":116519,"value":21,"nodeType":864},{},[],{"data":116521,"content":116522,"nodeType":883},{"uri":105113},[116523],{"data":116524,"marks":116525,"value":105119,"nodeType":864},{},[116526],{"type":1455},{"data":116528,"marks":116529,"value":21,"nodeType":864},{},[],{"data":116531,"content":116532,"nodeType":4569},{},[116533],{"data":116534,"content":116535,"nodeType":860},{},[116536],{"data":116537,"marks":116538,"value":106479,"nodeType":864},{},[],{"data":116540,"content":116541,"nodeType":4569},{},[116542],{"data":116543,"content":116544,"nodeType":860},{},[116545],{"data":116546,"marks":116547,"value":105142,"nodeType":864},{},[],{"data":116549,"content":116550,"nodeType":4581},{},[116551,116570,116589,116598],{"data":116552,"content":116553,"nodeType":4569},{},[116554],{"data":116555,"content":116556,"nodeType":860},{},[116557,116560,116567],{"data":116558,"marks":116559,"value":21,"nodeType":864},{},[],{"data":116561,"content":116562,"nodeType":883},{"uri":36086},[116563],{"data":116564,"marks":116565,"value":106508,"nodeType":864},{},[116566],{"type":1455},{"data":116568,"marks":116569,"value":21,"nodeType":864},{},[],{"data":116571,"content":116572,"nodeType":4569},{},[116573],{"data":116574,"content":116575,"nodeType":860},{},[116576,116579,116586],{"data":116577,"marks":116578,"value":21,"nodeType":864},{},[],{"data":116580,"content":116581,"nodeType":883},{"uri":106523},[116582],{"data":116583,"marks":116584,"value":96392,"nodeType":864},{},[116585],{"type":1455},{"data":116587,"marks":116588,"value":21,"nodeType":864},{},[],{"data":116590,"content":116591,"nodeType":4569},{},[116592],{"data":116593,"content":116594,"nodeType":860},{},[116595],{"data":116596,"marks":116597,"value":106541,"nodeType":864},{},[],{"data":116599,"content":116600,"nodeType":4569},{},[116601],{"data":116602,"content":116603,"nodeType":860},{},[116604],{"data":116605,"marks":116606,"value":106551,"nodeType":864},{},[],{"data":116608,"content":116609,"nodeType":4581},{},[116610,116629,116648,116657],{"data":116611,"content":116612,"nodeType":4569},{},[116613],{"data":116614,"content":116615,"nodeType":860},{},[116616,116619,116626],{"data":116617,"marks":116618,"value":21,"nodeType":864},{},[],{"data":116620,"content":116621,"nodeType":883},{"uri":106566},[116622],{"data":116623,"marks":116624,"value":106572,"nodeType":864},{},[116625],{"type":1455},{"data":116627,"marks":116628,"value":21,"nodeType":864},{},[],{"data":116630,"content":116631,"nodeType":4569},{},[116632],{"data":116633,"content":116634,"nodeType":860},{},[116635,116638,116645],{"data":116636,"marks":116637,"value":21,"nodeType":864},{},[],{"data":116639,"content":116640,"nodeType":883},{"uri":106587},[116641],{"data":116642,"marks":116643,"value":106593,"nodeType":864},{},[116644],{"type":1455},{"data":116646,"marks":116647,"value":21,"nodeType":864},{},[],{"data":116649,"content":116650,"nodeType":4569},{},[116651],{"data":116652,"content":116653,"nodeType":860},{},[116654],{"data":116655,"marks":116656,"value":106606,"nodeType":864},{},[],{"data":116658,"content":116659,"nodeType":4569},{},[116660],{"data":116661,"content":116662,"nodeType":860},{},[116663],{"data":116664,"marks":116665,"value":106616,"nodeType":864},{},[],{"data":116667,"content":116668,"nodeType":1005},{},[],{"data":116670,"content":116671,"nodeType":1009},{},[116672],{"data":116673,"marks":116674,"value":106626,"nodeType":864},{},[],{"data":116676,"content":116677,"nodeType":1312},{},[116678],{"data":116679,"marks":116680,"value":106633,"nodeType":864},{},[],{"data":116682,"content":116683,"nodeType":860},{},[116684],{"data":116685,"marks":116686,"value":106640,"nodeType":864},{},[],{"data":116688,"content":116689,"nodeType":860},{},[116690],{"data":116691,"marks":116692,"value":106647,"nodeType":864},{},[],{"data":116694,"content":116695,"nodeType":1005},{},[],{"data":116697,"content":116698,"nodeType":1312},{},[116699],{"data":116700,"marks":116701,"value":106657,"nodeType":864},{},[],{"data":116703,"content":116704,"nodeType":860},{},[116705],{"data":116706,"marks":116707,"value":106664,"nodeType":864},{},[],{"data":116709,"content":116710,"nodeType":860},{},[116711],{"data":116712,"marks":116713,"value":106671,"nodeType":864},{},[],{"data":116715,"content":116716,"nodeType":1005},{},[],{"data":116718,"content":116719,"nodeType":1312},{},[116720],{"data":116721,"marks":116722,"value":106681,"nodeType":864},{},[],{"data":116724,"content":116725,"nodeType":860},{},[116726],{"data":116727,"marks":116728,"value":106688,"nodeType":864},{},[],{"data":116730,"content":116731,"nodeType":860},{},[116732],{"data":116733,"marks":116734,"value":106695,"nodeType":864},{},[],{"data":116736,"content":116737,"nodeType":860},{},[116738],{"data":116739,"marks":116740,"value":106702,"nodeType":864},{},[],{"items":116742},[116743,116745],{"sys":116744,"name":6593},{"id":6592},{"sys":116746,"name":342},{"id":6596},{"items":116748},[116749],{"fullName":2736,"firstName":2737,"jobTitle":2738,"profilePicture":116750},{"url":2740},{"__typename":2059,"sys":116752,"content":116753,"title":95586,"synopsis":95587,"hashTags":59,"publishedDate":95588,"slug":95589,"tagsCollection":117105,"authorsCollection":117111},{"id":89629},{"json":116754},{"data":116755,"content":116756,"nodeType":856},{},[116757,116762,116779,116796,116811,116828,116849,116855,116872,116889,116895,116900,116906,116912,116918,116924,116930,116936,116942,116948,116954,116971,116977,116982,117002,117008,117023,117028,117045,117051,117057,117063,117069,117084,117090],{"data":116758,"content":116761,"nodeType":996},{"target":116759},{"sys":116760},{"id":95191,"type":1001,"linkType":1002},[],{"data":116763,"content":116764,"nodeType":860},{},[116765,116768,116776],{"data":116766,"marks":116767,"value":95199,"nodeType":864},{},[],{"data":116769,"content":116772,"nodeType":27604},{"target":116770},{"sys":116771},{"id":95204,"type":1001,"linkType":1002},[116773],{"data":116774,"marks":116775,"value":95209,"nodeType":864},{},[],{"data":116777,"marks":116778,"value":95213,"nodeType":864},{},[],{"data":116780,"content":116781,"nodeType":860},{},[116782,116785,116793],{"data":116783,"marks":116784,"value":95220,"nodeType":864},{},[],{"data":116786,"content":116789,"nodeType":27604},{"target":116787},{"sys":116788},{"id":95225,"type":1001,"linkType":1002},[116790],{"data":116791,"marks":116792,"value":95230,"nodeType":864},{},[],{"data":116794,"marks":116795,"value":95234,"nodeType":864},{},[],{"data":116797,"content":116798,"nodeType":860},{},[116799,116802,116808],{"data":116800,"marks":116801,"value":95241,"nodeType":864},{},[],{"data":116803,"content":116804,"nodeType":883},{"uri":91866},[116805],{"data":116806,"marks":116807,"value":95248,"nodeType":864},{},[],{"data":116809,"marks":116810,"value":95252,"nodeType":864},{},[],{"data":116812,"content":116813,"nodeType":860},{},[116814,116817,116825],{"data":116815,"marks":116816,"value":95259,"nodeType":864},{},[],{"data":116818,"content":116821,"nodeType":27604},{"target":116819},{"sys":116820},{"id":95204,"type":1001,"linkType":1002},[116822],{"data":116823,"marks":116824,"value":95268,"nodeType":864},{},[],{"data":116826,"marks":116827,"value":95272,"nodeType":864},{},[],{"data":116829,"content":116830,"nodeType":941},{},[116831,116840],{"data":116832,"content":116833,"nodeType":945},{},[116834],{"data":116835,"content":116836,"nodeType":860},{},[116837],{"data":116838,"marks":116839,"value":95285,"nodeType":864},{},[],{"data":116841,"content":116842,"nodeType":945},{},[116843],{"data":116844,"content":116845,"nodeType":860},{},[116846],{"data":116847,"marks":116848,"value":95295,"nodeType":864},{},[],{"data":116850,"content":116851,"nodeType":860},{},[116852],{"data":116853,"marks":116854,"value":95302,"nodeType":864},{},[],{"data":116856,"content":116857,"nodeType":860},{},[116858,116861,116869],{"data":116859,"marks":116860,"value":95309,"nodeType":864},{},[],{"data":116862,"content":116865,"nodeType":27604},{"target":116863},{"sys":116864},{"id":28039,"type":1001,"linkType":1002},[116866],{"data":116867,"marks":116868,"value":95318,"nodeType":864},{},[],{"data":116870,"marks":116871,"value":95322,"nodeType":864},{},[],{"data":116873,"content":116874,"nodeType":860},{},[116875,116878,116886],{"data":116876,"marks":116877,"value":95329,"nodeType":864},{},[],{"data":116879,"content":116882,"nodeType":27604},{"target":116880},{"sys":116881},{"id":89984,"type":1001,"linkType":1002},[116883],{"data":116884,"marks":116885,"value":95338,"nodeType":864},{},[],{"data":116887,"marks":116888,"value":95342,"nodeType":864},{},[],{"data":116890,"content":116891,"nodeType":860},{},[116892],{"data":116893,"marks":116894,"value":95349,"nodeType":864},{},[],{"data":116896,"content":116899,"nodeType":996},{"target":116897},{"sys":116898},{"id":95354,"type":1001,"linkType":1002},[],{"data":116901,"content":116902,"nodeType":1009},{},[116903],{"data":116904,"marks":116905,"value":95362,"nodeType":864},{},[],{"data":116907,"content":116908,"nodeType":860},{},[116909],{"data":116910,"marks":116911,"value":95369,"nodeType":864},{},[],{"data":116913,"content":116914,"nodeType":860},{},[116915],{"data":116916,"marks":116917,"value":95376,"nodeType":864},{},[],{"data":116919,"content":116920,"nodeType":860},{},[116921],{"data":116922,"marks":116923,"value":95383,"nodeType":864},{},[],{"data":116925,"content":116926,"nodeType":860},{},[116927],{"data":116928,"marks":116929,"value":95390,"nodeType":864},{},[],{"data":116931,"content":116932,"nodeType":860},{},[116933],{"data":116934,"marks":116935,"value":95397,"nodeType":864},{},[],{"data":116937,"content":116938,"nodeType":860},{},[116939],{"data":116940,"marks":116941,"value":95404,"nodeType":864},{},[],{"data":116943,"content":116944,"nodeType":1009},{},[116945],{"data":116946,"marks":116947,"value":89634,"nodeType":864},{},[],{"data":116949,"content":116950,"nodeType":860},{},[116951],{"data":116952,"marks":116953,"value":95417,"nodeType":864},{},[],{"data":116955,"content":116956,"nodeType":860},{},[116957,116960,116968],{"data":116958,"marks":116959,"value":95424,"nodeType":864},{},[],{"data":116961,"content":116964,"nodeType":27604},{"target":116962},{"sys":116963},{"id":91941,"type":1001,"linkType":1002},[116965],{"data":116966,"marks":116967,"value":73272,"nodeType":864},{},[],{"data":116969,"marks":116970,"value":95436,"nodeType":864},{},[],{"data":116972,"content":116973,"nodeType":860},{},[116974],{"data":116975,"marks":116976,"value":95443,"nodeType":864},{},[],{"data":116978,"content":116981,"nodeType":996},{"target":116979},{"sys":116980},{"id":89617,"type":1001,"linkType":1002},[],{"data":116983,"content":116984,"nodeType":860},{},[116985,116988,116992,116995,116999],{"data":116986,"marks":116987,"value":1499,"nodeType":864},{},[],{"data":116989,"marks":116990,"value":1397,"nodeType":864},{},[116991],{"type":899},{"data":116993,"marks":116994,"value":95462,"nodeType":864},{},[],{"data":116996,"marks":116997,"value":1503,"nodeType":864},{},[116998],{"type":899},{"data":117000,"marks":117001,"value":95470,"nodeType":864},{},[],{"data":117003,"content":117004,"nodeType":860},{},[117005],{"data":117006,"marks":117007,"value":95477,"nodeType":864},{},[],{"data":117009,"content":117010,"nodeType":860},{},[117011,117014,117020],{"data":117012,"marks":117013,"value":94485,"nodeType":864},{},[],{"data":117015,"content":117016,"nodeType":883},{"uri":90269},[117017],{"data":117018,"marks":117019,"value":72883,"nodeType":864},{},[],{"data":117021,"marks":117022,"value":94495,"nodeType":864},{},[],{"data":117024,"content":117027,"nodeType":996},{"target":117025},{"sys":117026},{"id":95497,"type":1001,"linkType":1002},[],{"data":117029,"content":117030,"nodeType":860},{},[117031,117034,117042],{"data":117032,"marks":117033,"value":95505,"nodeType":864},{},[],{"data":117035,"content":117038,"nodeType":27604},{"target":117036},{"sys":117037},{"id":28295,"type":1001,"linkType":1002},[117039],{"data":117040,"marks":117041,"value":47996,"nodeType":864},{},[],{"data":117043,"marks":117044,"value":95517,"nodeType":864},{},[],{"data":117046,"content":117047,"nodeType":860},{},[117048],{"data":117049,"marks":117050,"value":95524,"nodeType":864},{},[],{"data":117052,"content":117053,"nodeType":860},{},[117054],{"data":117055,"marks":117056,"value":95531,"nodeType":864},{},[],{"data":117058,"content":117059,"nodeType":1009},{},[117060],{"data":117061,"marks":117062,"value":6469,"nodeType":864},{},[],{"data":117064,"content":117065,"nodeType":860},{},[117066],{"data":117067,"marks":117068,"value":95544,"nodeType":864},{},[],{"data":117070,"content":117071,"nodeType":860},{},[117072,117075,117081],{"data":117073,"marks":117074,"value":95551,"nodeType":864},{},[],{"data":117076,"content":117077,"nodeType":883},{"uri":95554},[117078],{"data":117079,"marks":117080,"value":95559,"nodeType":864},{},[],{"data":117082,"marks":117083,"value":2924,"nodeType":864},{},[],{"data":117085,"content":117086,"nodeType":1009},{},[117087],{"data":117088,"marks":117089,"value":36405,"nodeType":864},{},[],{"data":117091,"content":117092,"nodeType":860},{},[117093,117096,117102],{"data":117094,"marks":117095,"value":95575,"nodeType":864},{},[],{"data":117097,"content":117098,"nodeType":883},{"uri":5642},[117099],{"data":117100,"marks":117101,"value":37814,"nodeType":864},{},[],{"data":117103,"marks":117104,"value":95585,"nodeType":864},{},[],{"items":117106},[117107,117109],{"sys":117108,"name":73498},{"id":73497},{"sys":117110,"name":342},{"id":6596},{"items":117112},[117113],{"fullName":849,"firstName":850,"jobTitle":851,"profilePicture":117114},{"url":853},"blog/phishing-2-0-how-phishing-toolkits-are-evolving-with-aitm",{"json":117117},{"data":117118,"content":117119,"nodeType":856},{},[117120,117127],{"data":117121,"content":117122,"nodeType":860},{},[117123],{"data":117124,"marks":117125,"value":117126,"nodeType":864},{},[],"Attackers are increasingly using new phishing toolkits (open-source, commercial, and criminal) to execute Adversary in the Middle (AitM) attacks. ",{"data":117128,"content":117129,"nodeType":860},{},[117130],{"data":117131,"marks":117132,"value":117133,"nodeType":864},{},[],"AitM enables attackers to not just harvest credentials, but steal live sessions, allowing them to bypass traditional phishing prevention controls such as MFA, EDR, and email content filtering. ",{"id":95204,"publishedAt":117135},"2026-08-12T11:55:21.896Z",{"items":117137},[117138,117140],{"sys":117139,"name":6593},{"id":6592},{"sys":117141,"name":342},{"id":6596},{"items":117143},[117144,117146,117148,117150,117152,117154,117156,117158,117160,117162,117164,117166,117168,117170,117172,117174],{"sys":117145,"name":279,"slug":280,"tier":31},{"id":276},{"sys":117147,"name":519,"slug":520,"tier":31},{"id":516},{"sys":117149,"name":413,"slug":414,"tier":31},{"id":410},{"sys":117151,"name":545,"slug":546,"tier":31},{"id":542},{"sys":117153,"name":342,"slug":343,"tier":31},{"id":339},{"sys":117155,"name":261,"slug":262,"tier":45},{"id":258},{"sys":117157,"name":511,"slug":512,"tier":45},{"id":508},{"sys":117159,"name":466,"slug":467,"tier":45},{"id":463},{"sys":117161,"name":571,"slug":572,"tier":45},{"id":568},{"sys":117163,"name":324,"slug":325,"tier":45},{"id":321},{"sys":117165,"name":484,"slug":485,"tier":45},{"id":481},{"sys":117167,"name":395,"slug":396,"tier":45},{"id":392},{"sys":117169,"name":607,"slug":608,"tier":45},{"id":604},{"sys":117171,"name":475,"slug":476,"tier":45},{"id":472},{"sys":117173,"name":457,"slug":458,"tier":45},{"id":454},{"sys":117175,"name":351,"slug":352,"tier":45},{"id":348},"7lg206QNQHAQTSorKQhjed1nH5dt8v1MzJm-oOTwVpU",{"id":117178,"title":90278,"authorsCollection":117179,"content":117183,"extension":228,"faqItemsCollection":117610,"faqTitle":59,"featured":6,"hashTags":59,"meta":117612,"metaTitle":117613,"ogImage":59,"postType":79438,"publishedDate":90280,"relatedBlogPostsCollection":117614,"slug":90281,"stem":118067,"subtitle":59,"summary":118068,"synopsis":90279,"sys":118079,"tagsCollection":118081,"topicsCollection":118085,"__hash__":118107},"blog/blog/product-release-may-2024.json",{"items":117180},[117181],{"fullName":79005,"firstName":79006,"jobTitle":79007,"socialLinks":59,"profilePicture":117182},{"url":79009},{"json":117184,"links":117560},{"data":117185,"content":117186,"nodeType":856},{},[117187,117193,117250,117256,117269,117282,117288,117293,117310,117316,117329,117335,117340,117357,117363,117383,117396,117413,117419,117432,117445,117450,117467,117473,117493,117498,117515,117521,117545],{"data":117188,"content":117189,"nodeType":1312},{},[117190],{"data":117191,"marks":117192,"value":89365,"nodeType":864},{},[],{"data":117194,"content":117195,"nodeType":941},{},[117196,117205,117214,117223,117232,117241],{"data":117197,"content":117198,"nodeType":945},{},[117199],{"data":117200,"content":117201,"nodeType":860},{},[117202],{"data":117203,"marks":117204,"value":47996,"nodeType":864},{},[],{"data":117206,"content":117207,"nodeType":945},{},[117208],{"data":117209,"content":117210,"nodeType":860},{},[117211],{"data":117212,"marks":117213,"value":74079,"nodeType":864},{},[],{"data":117215,"content":117216,"nodeType":945},{},[117217],{"data":117218,"content":117219,"nodeType":860},{},[117220],{"data":117221,"marks":117222,"value":89894,"nodeType":864},{},[],{"data":117224,"content":117225,"nodeType":945},{},[117226],{"data":117227,"content":117228,"nodeType":860},{},[117229],{"data":117230,"marks":117231,"value":74927,"nodeType":864},{},[],{"data":117233,"content":117234,"nodeType":945},{},[117235],{"data":117236,"content":117237,"nodeType":860},{},[117238],{"data":117239,"marks":117240,"value":89913,"nodeType":864},{},[],{"data":117242,"content":117243,"nodeType":945},{},[117244],{"data":117245,"content":117246,"nodeType":860},{},[117247],{"data":117248,"marks":117249,"value":89923,"nodeType":864},{},[],{"data":117251,"content":117252,"nodeType":1312},{},[117253],{"data":117254,"marks":117255,"value":89930,"nodeType":864},{},[],{"data":117257,"content":117258,"nodeType":860},{},[117259,117262,117266],{"data":117260,"marks":117261,"value":89937,"nodeType":864},{},[],{"data":117263,"marks":117264,"value":89942,"nodeType":864},{},[117265],{"type":899},{"data":117267,"marks":117268,"value":89946,"nodeType":864},{},[],{"data":117270,"content":117271,"nodeType":860},{},[117272,117275,117279],{"data":117273,"marks":117274,"value":31617,"nodeType":864},{},[],{"data":117276,"marks":117277,"value":47996,"nodeType":864},{},[117278],{"type":899},{"data":117280,"marks":117281,"value":89960,"nodeType":864},{},[],{"data":117283,"content":117284,"nodeType":860},{},[117285],{"data":117286,"marks":117287,"value":89967,"nodeType":864},{},[],{"data":117289,"content":117292,"nodeType":996},{"target":117290},{"sys":117291},{"id":89972,"type":1001,"linkType":1002},[],{"data":117294,"content":117295,"nodeType":860},{},[117296,117299,117307],{"data":117297,"marks":117298,"value":21,"nodeType":864},{},[],{"data":117300,"content":117303,"nodeType":27604},{"target":117301},{"sys":117302},{"id":89984,"type":1001,"linkType":1002},[117304],{"data":117305,"marks":117306,"value":79249,"nodeType":864},{},[],{"data":117308,"marks":117309,"value":21,"nodeType":864},{},[],{"data":117311,"content":117312,"nodeType":1312},{},[117313],{"data":117314,"marks":117315,"value":89998,"nodeType":864},{},[],{"data":117317,"content":117318,"nodeType":860},{},[117319,117322,117326],{"data":117320,"marks":117321,"value":79626,"nodeType":864},{},[],{"data":117323,"marks":117324,"value":90009,"nodeType":864},{},[117325],{"type":899},{"data":117327,"marks":117328,"value":90013,"nodeType":864},{},[],{"data":117330,"content":117331,"nodeType":860},{},[117332],{"data":117333,"marks":117334,"value":90020,"nodeType":864},{},[],{"data":117336,"content":117339,"nodeType":996},{"target":117337},{"sys":117338},{"id":90025,"type":1001,"linkType":1002},[],{"data":117341,"content":117342,"nodeType":860},{},[117343,117346,117354],{"data":117344,"marks":117345,"value":21,"nodeType":864},{},[],{"data":117347,"content":117350,"nodeType":27604},{"target":117348},{"sys":117349},{"id":28039,"type":1001,"linkType":1002},[117351],{"data":117352,"marks":117353,"value":30213,"nodeType":864},{},[],{"data":117355,"marks":117356,"value":21,"nodeType":864},{},[],{"data":117358,"content":117359,"nodeType":1312},{},[117360],{"data":117361,"marks":117362,"value":90050,"nodeType":864},{},[],{"data":117364,"content":117365,"nodeType":860},{},[117366,117369,117373,117376,117380],{"data":117367,"marks":117368,"value":90057,"nodeType":864},{},[],{"data":117370,"marks":117371,"value":90062,"nodeType":864},{},[117372],{"type":899},{"data":117374,"marks":117375,"value":90066,"nodeType":864},{},[],{"data":117377,"marks":117378,"value":90071,"nodeType":864},{},[117379],{"type":899},{"data":117381,"marks":117382,"value":90075,"nodeType":864},{},[],{"data":117384,"content":117385,"nodeType":860},{},[117386,117389,117393],{"data":117387,"marks":117388,"value":90082,"nodeType":864},{},[],{"data":117390,"marks":117391,"value":90087,"nodeType":864},{},[117392],{"type":899},{"data":117394,"marks":117395,"value":2924,"nodeType":864},{},[],{"data":117397,"content":117398,"nodeType":860},{},[117399,117402,117410],{"data":117400,"marks":117401,"value":21,"nodeType":864},{},[],{"data":117403,"content":117406,"nodeType":27604},{"target":117404},{"sys":117405},{"id":90101,"type":1001,"linkType":1002},[117407],{"data":117408,"marks":117409,"value":79249,"nodeType":864},{},[],{"data":117411,"marks":117412,"value":21,"nodeType":864},{},[],{"data":117414,"content":117415,"nodeType":1312},{},[117416],{"data":117417,"marks":117418,"value":90115,"nodeType":864},{},[],{"data":117420,"content":117421,"nodeType":860},{},[117422,117425,117429],{"data":117423,"marks":117424,"value":90122,"nodeType":864},{},[],{"data":117426,"marks":117427,"value":74927,"nodeType":864},{},[117428],{"type":899},{"data":117430,"marks":117431,"value":90130,"nodeType":864},{},[],{"data":117433,"content":117434,"nodeType":860},{},[117435,117438,117442],{"data":117436,"marks":117437,"value":90137,"nodeType":864},{},[],{"data":117439,"marks":117440,"value":90142,"nodeType":864},{},[117441],{"type":899},{"data":117443,"marks":117444,"value":90146,"nodeType":864},{},[],{"data":117446,"content":117449,"nodeType":996},{"target":117447},{"sys":117448},{"id":90151,"type":1001,"linkType":1002},[],{"data":117451,"content":117452,"nodeType":860},{},[117453,117456,117464],{"data":117454,"marks":117455,"value":21,"nodeType":864},{},[],{"data":117457,"content":117460,"nodeType":27604},{"target":117458},{"sys":117459},{"id":90163,"type":1001,"linkType":1002},[117461],{"data":117462,"marks":117463,"value":30213,"nodeType":864},{},[],{"data":117465,"marks":117466,"value":21,"nodeType":864},{},[],{"data":117468,"content":117469,"nodeType":1312},{},[117470],{"data":117471,"marks":117472,"value":90177,"nodeType":864},{},[],{"data":117474,"content":117475,"nodeType":860},{},[117476,117479,117483,117486,117490],{"data":117477,"marks":117478,"value":90184,"nodeType":864},{},[],{"data":117480,"marks":117481,"value":74973,"nodeType":864},{},[117482],{"type":899},{"data":117484,"marks":117485,"value":90192,"nodeType":864},{},[],{"data":117487,"marks":117488,"value":90197,"nodeType":864},{},[117489],{"type":899},{"data":117491,"marks":117492,"value":90201,"nodeType":864},{},[],{"data":117494,"content":117497,"nodeType":996},{"target":117495},{"sys":117496},{"id":90206,"type":1001,"linkType":1002},[],{"data":117499,"content":117500,"nodeType":860},{},[117501,117504,117512],{"data":117502,"marks":117503,"value":21,"nodeType":864},{},[],{"data":117505,"content":117508,"nodeType":27604},{"target":117506},{"sys":117507},{"id":28356,"type":1001,"linkType":1002},[117509],{"data":117510,"marks":117511,"value":30213,"nodeType":864},{},[],{"data":117513,"marks":117514,"value":21,"nodeType":864},{},[],{"data":117516,"content":117517,"nodeType":1312},{},[117518],{"data":117519,"marks":117520,"value":90231,"nodeType":864},{},[],{"data":117522,"content":117523,"nodeType":860},{},[117524,117527,117531,117534,117542],{"data":117525,"marks":117526,"value":90238,"nodeType":864},{},[],{"data":117528,"marks":117529,"value":90243,"nodeType":864},{},[117530],{"type":899},{"data":117532,"marks":117533,"value":90247,"nodeType":864},{},[],{"data":117535,"content":117538,"nodeType":27604},{"target":117536},{"sys":117537},{"id":79342,"type":1001,"linkType":1002},[117539],{"data":117540,"marks":117541,"value":90256,"nodeType":864},{},[],{"data":117543,"marks":117544,"value":90260,"nodeType":864},{},[],{"data":117546,"content":117547,"nodeType":860},{},[117548,117551,117557],{"data":117549,"marks":117550,"value":21,"nodeType":864},{},[],{"data":117552,"content":117553,"nodeType":883},{"uri":90269},[117554],{"data":117555,"marks":117556,"value":30213,"nodeType":864},{},[],{"data":117558,"marks":117559,"value":90277,"nodeType":864},{},[],{"entries":117561},{"inline":117562,"hyperlink":117563,"block":117588},[],[117564,117566,117571,117576,117581,117586],{"sys":117565,"__typename":2059,"title":112790,"slug":112793},{"id":89984},{"sys":117567,"__typename":79413,"title":117568,"slug":117569,"articleId":117570},{"id":28039},"Can I use Push to detect phishing tools like Evilginx, Modlishka, NakedPages, or Muraena?","can-i-use-push-to-detect-phishing-tools-like-evilnovnc-and-evilginx",10113,{"sys":117572,"__typename":79413,"title":117573,"slug":117574,"articleId":117575},{"id":90101},"How does Push help detect session token theft?","how-does-push-help-detect-session-token-theft",10114,{"sys":117577,"__typename":79413,"title":117578,"slug":117579,"articleId":117580},{"id":90163},"Can Push block users from visiting websites?","can-push-block-users-from-visiting-websites",10112,{"sys":117582,"__typename":79413,"title":117583,"slug":117584,"articleId":117585},{"id":28356},"What can I use the app banner for? Templates and examples","what-can-i-use-the-app-banner-for-templates-and-examples",10106,{"sys":117587,"__typename":79413,"title":79419,"slug":79420,"articleId":79421},{"id":79342},[117589,117593,117598,117605],{"sys":117590,"__typename":1724,"title":117591,"caption":59,"layoutMode":59,"file":117592},{"id":89972},"Password protection block screen for end-users - KB 10109",{"url":76442,"width":76443,"height":76444},{"sys":117594,"__typename":1724,"title":117595,"caption":59,"layoutMode":59,"file":117596},{"id":90025},"Phishing tool detection - config page - KB 10113",{"url":117597,"width":45619,"height":45620},"https://images.ctfassets.net/y1cdw1ablpvd/6HtqcvdvEPR6MAKe8jeiD5/10957e2a6b436e84f3099f7b4138342d/phishing_tools_config_2.png",{"sys":117599,"__typename":1724,"title":117600,"caption":59,"layoutMode":59,"file":117601},{"id":90151},"Sample block page for URL blocking - KB 10112",{"url":117602,"width":117603,"height":117604},"https://images.ctfassets.net/y1cdw1ablpvd/2t2ceBuafD0iZSTII0UulU/6c65be5e1b9d24f9a0ce35f61592a193/url_block_branded_20260420.png",2674,1628,{"sys":117606,"__typename":1724,"title":117607,"caption":117608,"layoutMode":59,"file":117609},{"id":90206},"App banner - Reason mode - KB 10106","App banner in Reason mode",{"url":76490,"width":29569,"height":23461},{"items":117611},[],{},"Push Security new product features for May 2024",{"items":117615},[117616,117810],{"__typename":2059,"sys":117617,"content":117619,"title":117798,"synopsis":117799,"hashTags":59,"publishedDate":117800,"slug":117801,"tagsCollection":117802,"authorsCollection":117806},{"id":117618},"3xoO1mzZMMQO8Q2vHuYLFt",{"json":117620},{"data":117621,"content":117622,"nodeType":856},{},[117623,117630,117663,117669,117685,117691,117707,117714,117729,117735,117752,117759,117775,117781],{"data":117624,"content":117625,"nodeType":1312},{},[117626],{"data":117627,"marks":117628,"value":117629,"nodeType":864},{},[],"Here's what's new on the Push platform this month:",{"data":117631,"content":117632,"nodeType":941},{},[117633,117643,117653],{"data":117634,"content":117635,"nodeType":945},{},[117636],{"data":117637,"content":117638,"nodeType":860},{},[117639],{"data":117640,"marks":117641,"value":117642,"nodeType":864},{},[],"Faster insights with the Push dashboard",{"data":117644,"content":117645,"nodeType":945},{},[117646],{"data":117647,"content":117648,"nodeType":860},{},[117649],{"data":117650,"marks":117651,"value":117652,"nodeType":864},{},[],"Integrate with Okta",{"data":117654,"content":117655,"nodeType":945},{},[117656],{"data":117657,"content":117658,"nodeType":860},{},[117659],{"data":117660,"marks":117661,"value":117662,"nodeType":864},{},[],"App banner acknowledge mode",{"data":117664,"content":117665,"nodeType":1312},{},[117666],{"data":117667,"marks":117668,"value":117642,"nodeType":864},{},[],{"data":117670,"content":117671,"nodeType":860},{},[117672,117676,117681],{"data":117673,"marks":117674,"value":117675,"nodeType":864},{},[],"Get an overview of the ",{"data":117677,"marks":117678,"value":117680,"nodeType":864},{},[117679],{"type":899},"actionable insights ",{"data":117682,"marks":117683,"value":117684,"nodeType":864},{},[],"from across your ecosystem of accounts, apps, and identities using the Push dashboard, now available in the Push admin console. Pinpoint vulnerable identities at risk of account takeover, see SSO trends across all accounts, and get a snapshot of your identity inventory.",{"data":117686,"content":117690,"nodeType":996},{"target":117687},{"sys":117688},{"id":117689,"type":1001,"linkType":1002},"1AbJEm5rHOxwYer519AT9C",[],{"data":117692,"content":117693,"nodeType":860},{},[117694,117697,117704],{"data":117695,"marks":117696,"value":21,"nodeType":864},{},[],{"data":117698,"content":117700,"nodeType":883},{"uri":117699},"/help/audience/administrators/docs/view-saas-apps-and-employee-activity/#dashboard",[117701],{"data":117702,"marks":117703,"value":30213,"nodeType":864},{},[],{"data":117705,"marks":117706,"value":21,"nodeType":864},{},[],{"data":117708,"content":117709,"nodeType":1312},{},[117710],{"data":117711,"marks":117712,"value":117713,"nodeType":864},{},[],"Integrate with Okta to enrich your Push data",{"data":117715,"content":117716,"nodeType":860},{},[117717,117720,117725],{"data":117718,"marks":117719,"value":79688,"nodeType":864},{},[],{"data":117721,"marks":117722,"value":117724,"nodeType":864},{},[117723],{"type":899},"integrate with Okta",{"data":117726,"marks":117727,"value":117728,"nodeType":864},{},[]," to sync employee records and pull in a list of your SSO apps to the Push platform, providing a valuable source of truth for data on your workforce accounts and approved apps. By integrating with Okta, you will also be able to capture additional login methods used by employees, such as Okta SWA.",{"data":117730,"content":117734,"nodeType":996},{"target":117731},{"sys":117732},{"id":117733,"type":1001,"linkType":1002},"2p7QbcSx8G2R8DVpCEZWYk",[],{"data":117736,"content":117737,"nodeType":860},{},[117738,117741,117749],{"data":117739,"marks":117740,"value":21,"nodeType":864},{},[],{"data":117742,"content":117744,"nodeType":883},{"uri":117743},"/help/audience/administrators/docs/add-employees/#integrate-with-okta",[117745],{"data":117746,"marks":117747,"value":117748,"nodeType":864},{},[],"How to integrate",{"data":117750,"marks":117751,"value":21,"nodeType":864},{},[],{"data":117753,"content":117754,"nodeType":1312},{},[117755],{"data":117756,"marks":117757,"value":117758,"nodeType":864},{},[],"New ‘Acknowledge’ mode for app banners",{"data":117760,"content":117761,"nodeType":860},{},[117762,117766,117771],{"data":117763,"marks":117764,"value":117765,"nodeType":864},{},[],"You can now configure app banners to show a larger central message and also ",{"data":117767,"marks":117768,"value":117770,"nodeType":864},{},[117769],{"type":899},"require that an end-user acknowledge the message",{"data":117772,"marks":117773,"value":117774,"nodeType":864},{},[]," before proceeding to use an app, providing stronger in-browser guidance. You may wish to use this mode for GenAI apps or to strongly steer employees away from unapproved file-sharing apps, for example.",{"data":117776,"content":117780,"nodeType":996},{"target":117777},{"sys":117778},{"id":117779,"type":1001,"linkType":1002},"7chqbwof9wgjdc7642zUbf",[],{"data":117782,"content":117783,"nodeType":860},{},[117784,117787,117795],{"data":117785,"marks":117786,"value":21,"nodeType":864},{},[],{"data":117788,"content":117791,"nodeType":27604},{"target":117789},{"sys":117790},{"id":28356,"type":1001,"linkType":1002},[117792],{"data":117793,"marks":117794,"value":30213,"nodeType":864},{},[],{"data":117796,"marks":117797,"value":21,"nodeType":864},{},[],"Product release: April 2024","Here’s what’s new on the Push platform for April 2024.","2024-04-17T00:00:00.000Z","product-release-april-2024",{"items":117803},[117804],{"sys":117805,"name":73498},{"id":73497},{"items":117807},[117808],{"fullName":79005,"firstName":79006,"jobTitle":79007,"profilePicture":117809},{"url":79009},{"__typename":2059,"sys":117811,"content":117813,"title":118055,"synopsis":118056,"hashTags":59,"publishedDate":118057,"slug":118058,"tagsCollection":118059,"authorsCollection":118063},{"id":117812},"VgPmHQHDcjoeLaskUECTJ",{"json":117814},{"data":117815,"content":117816,"nodeType":856},{},[117817,117823,117866,117872,117879,117885,117903,117909,117933,117939,117957,117964,117971,117978,117993,118000,118016,118031,118037],{"data":117818,"content":117819,"nodeType":1312},{},[117820],{"data":117821,"marks":117822,"value":117629,"nodeType":864},{},[],{"data":117824,"content":117825,"nodeType":941},{},[117826,117836,117846,117856],{"data":117827,"content":117828,"nodeType":945},{},[117829],{"data":117830,"content":117831,"nodeType":860},{},[117832],{"data":117833,"marks":117834,"value":117835,"nodeType":864},{},[],"Add guardrails to apps with app banners",{"data":117837,"content":117838,"nodeType":945},{},[117839],{"data":117840,"content":117841,"nodeType":860},{},[117842],{"data":117843,"marks":117844,"value":117845,"nodeType":864},{},[],"Monitor all domains for work app logins",{"data":117847,"content":117848,"nodeType":945},{},[117849],{"data":117850,"content":117851,"nodeType":860},{},[117852],{"data":117853,"marks":117854,"value":117855,"nodeType":864},{},[],"Better monitoring with Login event webhook",{"data":117857,"content":117858,"nodeType":945},{},[117859],{"data":117860,"content":117861,"nodeType":860},{},[117862],{"data":117863,"marks":117864,"value":117865,"nodeType":864},{},[],"Detect password usage on recently onboarded SSO apps",{"data":117867,"content":117868,"nodeType":1312},{},[117869],{"data":117870,"marks":117871,"value":117835,"nodeType":864},{},[],{"data":117873,"content":117874,"nodeType":860},{},[117875],{"data":117876,"marks":117877,"value":117878,"nodeType":864},{},[],"Add a custom message that will appear when employees log in or sign up for an app using Push’s new app banner feature (so far, ChatGPT is a popular use case!). These customizable messages let you set guardrails for employees’ use of apps, reducing the risk of security issues and SaaS sprawl. You can check out some examples on our blog.",{"data":117880,"content":117884,"nodeType":996},{"target":117881},{"sys":117882},{"id":117883,"type":1001,"linkType":1002},"6tfTX8lzV6soQtoaJp38kS",[],{"data":117886,"content":117887,"nodeType":860},{},[117888,117891,117900],{"data":117889,"marks":117890,"value":21,"nodeType":864},{},[],{"data":117892,"content":117896,"nodeType":27604},{"target":117893},{"sys":117894},{"id":117895,"type":1001,"linkType":1002},"3m48a0kFoN8gh0IZQBup5U",[117897],{"data":117898,"marks":117899,"value":30213,"nodeType":864},{},[],{"data":117901,"marks":117902,"value":21,"nodeType":864},{},[],{"data":117904,"content":117905,"nodeType":1312},{},[117906],{"data":117907,"marks":117908,"value":117845,"nodeType":864},{},[],{"data":117910,"content":117911,"nodeType":860},{},[117912,117916,117921,117925,117929],{"data":117913,"marks":117914,"value":117915,"nodeType":864},{},[],"You can now expand your monitoring of work app logins to include any domain an employee might be using, including non-company or personal accounts. You can enable the ",{"data":117917,"marks":117918,"value":117920,"nodeType":864},{},[117919],{"type":899},"Monitor all domains",{"data":117922,"marks":117923,"value":117924,"nodeType":864},{},[]," feature on the ",{"data":117926,"marks":117927,"value":28678,"nodeType":864},{},[117928],{"type":899},{"data":117930,"marks":117931,"value":117932,"nodeType":864},{},[]," page of the Push admin console.",{"data":117934,"content":117938,"nodeType":996},{"target":117935},{"sys":117936},{"id":117937,"type":1001,"linkType":1002},"3yzCMeWPk0kcpkfdRhKMpc",[],{"data":117940,"content":117941,"nodeType":860},{},[117942,117945,117954],{"data":117943,"marks":117944,"value":21,"nodeType":864},{},[],{"data":117946,"content":117950,"nodeType":27604},{"target":117947},{"sys":117948},{"id":117949,"type":1001,"linkType":1002},"4Z9ApuJ9JkrdsW9BfMIkQf",[117951],{"data":117952,"marks":117953,"value":89634,"nodeType":864},{},[],{"data":117955,"marks":117956,"value":21,"nodeType":864},{},[],{"data":117958,"content":117959,"nodeType":1312},{},[117960],{"data":117961,"marks":117962,"value":117963,"nodeType":864},{},[],"Better monitoring with Login webhook event",{"data":117965,"content":117966,"nodeType":860},{},[117967],{"data":117968,"marks":117969,"value":117970,"nodeType":864},{},[],"You can now receive a webhook event any time employees perform a login to a work app. This event also captures the user’s IP address, browser, OS, and browser user-agent string. ",{"data":117972,"content":117973,"nodeType":860},{},[117974],{"data":117975,"marks":117976,"value":117977,"nodeType":864},{},[],"Use this data to alert you anytime someone uses a password to access a SAML-integrated app, check if users are accessing apps with non-work devices, identify unexpected identity providers or login methods for a particular app — or any other detections you can dream up!",{"data":117979,"content":117980,"nodeType":860},{},[117981,117984,117990],{"data":117982,"marks":117983,"value":21,"nodeType":864},{},[],{"data":117985,"content":117986,"nodeType":883},{"uri":65752},[117987],{"data":117988,"marks":117989,"value":30213,"nodeType":864},{},[],{"data":117991,"marks":117992,"value":21,"nodeType":864},{},[],{"data":117994,"content":117995,"nodeType":1312},{},[117996],{"data":117997,"marks":117998,"value":117999,"nodeType":864},{},[],"Detect password usage to recently onboarded SSO apps",{"data":118001,"content":118002,"nodeType":860},{},[118003,118007,118012],{"data":118004,"marks":118005,"value":118006,"nodeType":864},{},[],"If you’ve recently onboarded an app to SSO, you probably want to know if users are still accessing it with orphan password-based accounts. You can now use the ",{"data":118008,"marks":118009,"value":118011,"nodeType":864},{},[118010],{"type":899},"Forget login methods",{"data":118013,"marks":118014,"value":118015,"nodeType":864},{},[]," feature in the Push admin console to remove older observed login methods for an app or account. If Push observes new login types, you’ll be able to quickly identify them (or set up a webhook, described above, to alert you directly). ",{"data":118017,"content":118018,"nodeType":860},{},[118019,118023,118027],{"data":118020,"marks":118021,"value":118022,"nodeType":864},{},[],"You can also use the ",{"data":118024,"marks":118025,"value":118011,"nodeType":864},{},[118026],{"type":899},{"data":118028,"marks":118029,"value":118030,"nodeType":864},{},[]," feature to clean up your data or remove old login methods that you know are no longer in use.",{"data":118032,"content":118036,"nodeType":996},{"target":118033},{"sys":118034},{"id":118035,"type":1001,"linkType":1002},"3WMEIQdgHWzG2Ws7y38JwI",[],{"data":118038,"content":118039,"nodeType":860},{},[118040,118043,118052],{"data":118041,"marks":118042,"value":21,"nodeType":864},{},[],{"data":118044,"content":118048,"nodeType":27604},{"target":118045},{"sys":118046},{"id":118047,"type":1001,"linkType":1002},"6d2kaN46h1B7MrmIiJ6iHw",[118049],{"data":118050,"marks":118051,"value":89634,"nodeType":864},{},[],{"data":118053,"marks":118054,"value":21,"nodeType":864},{},[],"Product release: February 2024","Here’s what’s new on the Push platform for February 2024.","2024-02-21T00:00:00.000Z","product-release-february-2024",{"items":118060},[118061],{"sys":118062,"name":73498},{"id":73497},{"items":118064},[118065],{"fullName":79005,"firstName":79006,"jobTitle":79007,"profilePicture":118066},{"url":79009},"blog/product-release-may-2024",{"json":118069},{"data":118070,"content":118071,"nodeType":856},{},[118072],{"data":118073,"content":118074,"nodeType":860},{},[118075],{"data":118076,"marks":118077,"value":118078,"nodeType":864},{},[],"Our latest development sprint focused on extending the power of the Push browser agent to detect and prevent identity attacks that evade traditional security controls. We’ve also enhanced our popular app banners feature, and added more API and webhooks options for managing Push programmatically.",{"id":89853,"publishedAt":118080},"2026-08-12T11:55:23.412Z",{"items":118082},[118083],{"sys":118084,"name":73498},{"id":73497},{"items":118086},[118087,118089,118091,118093,118095,118097,118099,118101,118103,118105],{"sys":118088,"name":297,"slug":298,"tier":31},{"id":294},{"sys":118090,"name":519,"slug":520,"tier":31},{"id":516},{"sys":118092,"name":413,"slug":414,"tier":31},{"id":410},{"sys":118094,"name":545,"slug":546,"tier":31},{"id":542},{"sys":118096,"name":261,"slug":262,"tier":45},{"id":258},{"sys":118098,"name":571,"slug":572,"tier":45},{"id":568},{"sys":118100,"name":324,"slug":325,"tier":45},{"id":321},{"sys":118102,"name":502,"slug":503,"tier":45},{"id":499},{"sys":118104,"name":589,"slug":590,"tier":45},{"id":586},{"sys":118106,"name":466,"slug":467,"tier":45},{"id":463},"3cMwzHpH5lgHyUNIT_ws0cdID-QmAjyVtKK5bGOcNf8",{"id":118109,"title":118110,"authorsCollection":118111,"content":118116,"extension":228,"faqItemsCollection":118526,"faqTitle":59,"featured":6,"hashTags":59,"meta":118528,"metaTitle":118529,"ogImage":118530,"postType":55451,"publishedDate":118532,"relatedBlogPostsCollection":118533,"slug":119790,"stem":119791,"subtitle":59,"summary":119792,"synopsis":119802,"sys":119803,"tagsCollection":119806,"topicsCollection":119812,"__hash__":119824},"blog/blog/control-which-cloud-apps-employees-are-using-your-way.json","Enforce end-user security controls with our new app banner options",{"items":118112},[118113],{"fullName":4878,"firstName":4879,"jobTitle":851,"socialLinks":118114,"profilePicture":118115},[14839],{"url":4881},{"json":118117,"links":118476},{"data":118118,"content":118119,"nodeType":856},{},[118120,118127,118134,118139,118146,118153,118159,118165,118172,118179,118186,118193,118207,118213,118220,118234,118241,118246,118253,118267,118274,118279,118286,118320,118327,118332,118339,118346,118363,118370,118377,118383,118390,118397,118416,118423,118430,118447,118454,118460],{"data":118121,"content":118122,"nodeType":860},{},[118123],{"data":118124,"marks":118125,"value":118126,"nodeType":864},{},[],"Push recently released a customizable app control called app banners that got a lot of customer love. ",{"data":118128,"content":118129,"nodeType":860},{},[118130],{"data":118131,"marks":118132,"value":118133,"nodeType":864},{},[],"The idea was pretty simple: Display a custom message directly in employee browsers that guided them to use work apps securely, right at the point of login or signup.",{"data":118135,"content":118138,"nodeType":996},{"target":118136},{"sys":118137},{"id":117883,"type":1001,"linkType":1002},[],{"data":118140,"content":118141,"nodeType":860},{},[118142],{"data":118143,"marks":118144,"value":118145,"nodeType":864},{},[],"Right away, organizations using the app banners feature found a lot of value, and it’s been one of our most quickly adopted features to date.",{"data":118147,"content":118148,"nodeType":860},{},[118149],{"data":118150,"marks":118151,"value":118152,"nodeType":864},{},[],"Building on this success, we recently launched enhanced app banner features that allow you to step up enforcement based on your security goals and policies — from merely informing end-users, all the way to a “soft block.”",{"data":118154,"content":118158,"nodeType":996},{"target":118155},{"sys":118156},{"id":118157,"type":1001,"linkType":1002},"6XuJbfjhrr9JDKY6fcD5hZ",[],{"data":118160,"content":118161,"nodeType":1009},{},[118162],{"data":118163,"marks":118164,"value":89634,"nodeType":864},{},[],{"data":118166,"content":118167,"nodeType":860},{},[118168],{"data":118169,"marks":118170,"value":118171,"nodeType":864},{},[],"Here’s a recap on how it all works: Push’s browser agent detects when your employees access any cloud apps using any workforce identities (whether they’re in your IdP or not). ",{"data":118173,"content":118174,"nodeType":860},{},[118175],{"data":118176,"marks":118177,"value":118178,"nodeType":864},{},[],"It can then automatically enforce a range of in-browser security controls. ",{"data":118180,"content":118181,"nodeType":860},{},[118182],{"data":118183,"marks":118184,"value":118185,"nodeType":864},{},[],"We now have four types of controls you can set for app banners. Here they are, in order from softest to hardest:",{"data":118187,"content":118188,"nodeType":1312},{},[118189],{"data":118190,"marks":118191,"value":118192,"nodeType":864},{},[],"Informational app banner",{"data":118194,"content":118195,"nodeType":860},{},[118196,118199,118203],{"data":118197,"marks":118198,"value":1499,"nodeType":864},{},[],{"data":118200,"marks":118201,"value":74958,"nodeType":864},{},[118202],{"type":899},{"data":118204,"marks":118205,"value":118206,"nodeType":864},{},[]," mode, app banners display your custom message in a thin but noticeable banner at the top of an app’s login or signup pages, providing your security guidance.",{"data":118208,"content":118212,"nodeType":996},{"target":118209},{"sys":118210},{"id":118211,"type":1001,"linkType":1002},"5HZV5Zet4JQ2GrNNvm5tJC",[],{"data":118214,"content":118215,"nodeType":1312},{},[118216],{"data":118217,"marks":118218,"value":118219,"nodeType":864},{},[],"App banner with acknowledgement required",{"data":118221,"content":118222,"nodeType":860},{},[118223,118226,118230],{"data":118224,"marks":118225,"value":1499,"nodeType":864},{},[],{"data":118227,"marks":118228,"value":1357,"nodeType":864},{},[118229],{"type":899},{"data":118231,"marks":118232,"value":118233,"nodeType":864},{},[]," mode, app banners display a larger centrally placed banner that requires end-users to click a button acknowledging your message before proceeding to use the app.",{"data":118235,"content":118236,"nodeType":860},{},[118237],{"data":118238,"marks":118239,"value":118240,"nodeType":864},{},[],"This mode can be useful for requiring that users attest to understanding a security policy or best practice when using an app, such as GenAI apps.",{"data":118242,"content":118245,"nodeType":996},{"target":118243},{"sys":118244},{"id":117779,"type":1001,"linkType":1002},[],{"data":118247,"content":118248,"nodeType":1312},{},[118249],{"data":118250,"marks":118251,"value":118252,"nodeType":864},{},[],"App banner with reason required",{"data":118254,"content":118255,"nodeType":860},{},[118256,118259,118263],{"data":118257,"marks":118258,"value":1499,"nodeType":864},{},[],{"data":118260,"marks":118261,"value":74973,"nodeType":864},{},[118262],{"type":899},{"data":118264,"marks":118265,"value":118266,"nodeType":864},{},[]," mode, employees must submit a reason for using an app by typing it into a field on the banner message. We think of this as a “soft block” that adds meaningful friction without preventing an employee from doing important work when it’s absolutely necessary.",{"data":118268,"content":118269,"nodeType":860},{},[118270],{"data":118271,"marks":118272,"value":118273,"nodeType":864},{},[],"Reason mode is designed for situations where you want specific apps to be used only in limited circumstances — for example, if an employee needs to use an unapproved app in order to collaborate with a customer or other business partner.",{"data":118275,"content":118278,"nodeType":996},{"target":118276},{"sys":118277},{"id":90206,"type":1001,"linkType":1002},[],{"data":118280,"content":118281,"nodeType":1312},{},[118282],{"data":118283,"marks":118284,"value":118285,"nodeType":864},{},[],"Block users from logging in or signing up",{"data":118287,"content":118288,"nodeType":860},{},[118289,118292,118297,118301,118305,118309,118317],{"data":118290,"marks":118291,"value":1499,"nodeType":864},{},[],{"data":118293,"marks":118294,"value":118296,"nodeType":864},{},[118295],{"type":899},"Block ",{"data":118298,"marks":118299,"value":118300,"nodeType":864},{},[],"mode",{"data":118302,"marks":118303,"value":18292,"nodeType":864},{},[118304],{"type":899},{"data":118306,"marks":118307,"value":118308,"nodeType":864},{},[]," employees will see a larger banner covering the center of the page that prevents them from logging in or signing up to the app. Optionally, you can allow them to ask for an exception using a request field on the banner. Their request will be emitted as part of a ",{"data":118310,"content":118312,"nodeType":883},{"uri":118311},"https://pushsecurity.redoc.ly/webhooks-v1#operation/app-banner-event",[118313],{"data":118314,"marks":118315,"value":118316,"nodeType":864},{},[],"webhook event",{"data":118318,"marks":118319,"value":2924,"nodeType":864},{},[],{"data":118321,"content":118322,"nodeType":860},{},[118323],{"data":118324,"marks":118325,"value":118326,"nodeType":864},{},[],"Block mode is designed for situations where an app is not approved for general use, unless in exceptional circumstances. ",{"data":118328,"content":118331,"nodeType":996},{"target":118329},{"sys":118330},{"id":75006,"type":1001,"linkType":1002},[],{"data":118333,"content":118334,"nodeType":1009},{},[118335],{"data":118336,"marks":118337,"value":118338,"nodeType":864},{},[],"How our customers are using app banners",{"data":118340,"content":118341,"nodeType":860},{},[118342],{"data":118343,"marks":118344,"value":118345,"nodeType":864},{},[],"Here’s how one of our customers, Christina Kokoros, IT operations manager at Tray.io, has used app banners to tackle SaaS sprawl:  ",{"data":118347,"content":118348,"nodeType":1116},{},[118349,118356],{"data":118350,"content":118351,"nodeType":860},{},[118352],{"data":118353,"marks":118354,"value":118355,"nodeType":864},{},[],"“When the banners feature was implemented in Push, we used it to set up an acknowledgement banner to enhance our messaging around consolidation of our whiteboarding apps.\"",{"data":118357,"content":118358,"nodeType":860},{},[118359],{"data":118360,"marks":118361,"value":118362,"nodeType":864},{},[],"“We saw an almost immediate uptick in views of other communications and in questions to the team on the project. We could also see the drop off of logins of to-be deprecated apps via Push, which was an added bonus. Definitely will be adding this to comms plans for future IT projects.”",{"data":118364,"content":118365,"nodeType":1009},{},[118366],{"data":118367,"marks":118368,"value":118369,"nodeType":864},{},[],"How do you set the controls?",{"data":118371,"content":118372,"nodeType":860},{},[118373],{"data":118374,"marks":118375,"value":118376,"nodeType":864},{},[],"You can enable app banners on a per-app basis via the Push admin console. Select an app, choose the mode (Inform, Acknowledge, or Reason), and then write your custom message.",{"data":118378,"content":118382,"nodeType":996},{"target":118379},{"sys":118380},{"id":118381,"type":1001,"linkType":1002},"50qEzofi6i36lrZxhrntoH",[],{"data":118384,"content":118385,"nodeType":860},{},[118386],{"data":118387,"marks":118388,"value":118389,"nodeType":864},{},[],"Admins can preview the message right in their browser before publishing.",{"data":118391,"content":118392,"nodeType":860},{},[118393],{"data":118394,"marks":118395,"value":118396,"nodeType":864},{},[],"Push also emits webhooks for app banner activity so you can track when banners were shown, acknowledged, received a submitted reason for usage, etc.",{"data":118398,"content":118399,"nodeType":860},{},[118400,118404,118413],{"data":118401,"marks":118402,"value":118403,"nodeType":864},{},[],"Learn more in this Help Center ",{"data":118405,"content":118408,"nodeType":27604},{"target":118406},{"sys":118407},{"id":28356,"type":1001,"linkType":1002},[118409],{"data":118410,"marks":118411,"value":118412,"nodeType":864},{},[],"article",{"data":118414,"marks":118415,"value":2924,"nodeType":864},{},[],{"data":118417,"content":118418,"nodeType":1009},{},[118419],{"data":118420,"marks":118421,"value":118422,"nodeType":864},{},[],"Can you track app usage too?",{"data":118424,"content":118425,"nodeType":860},{},[118426],{"data":118427,"marks":118428,"value":118429,"nodeType":864},{},[],"Yes. As well as controlling what apps employees use, and how they use them, you can also use Push to track the work apps being used across your organization.",{"data":118431,"content":118432,"nodeType":860},{},[118433,118437,118444],{"data":118434,"marks":118435,"value":118436,"nodeType":864},{},[],"Cloud app logins is one of the event types the Push browser agent observes. You can build automations using this data with our ",{"data":118438,"content":118439,"nodeType":883},{"uri":28224},[118440],{"data":118441,"marks":118442,"value":118443,"nodeType":864},{},[],"API and webhooks",{"data":118445,"marks":118446,"value":1774,"nodeType":864},{},[],{"data":118448,"content":118449,"nodeType":860},{},[118450],{"data":118451,"marks":118452,"value":118453,"nodeType":864},{},[],"Common use cases include: discovering shadow IT, maintaining a SaaS app inventory for third-party risk management, and making sure employees are offboarded from all work apps when they leave your business.   ",{"data":118455,"content":118456,"nodeType":1009},{},[118457],{"data":118458,"marks":118459,"value":41118,"nodeType":864},{},[],{"data":118461,"content":118462,"nodeType":860},{},[118463,118466,118472],{"data":118464,"marks":118465,"value":95144,"nodeType":864},{},[],{"data":118467,"content":118468,"nodeType":883},{"uri":92562},[118469],{"data":118470,"marks":118471,"value":37814,"nodeType":864},{},[],{"data":118473,"marks":118474,"value":118475,"nodeType":864},{},[],". We’ll be happy to show you this feature along with how we discover all the apps your employees are using and how we detect vulnerable identities. ",{"entries":118477},{"inline":118478,"hyperlink":118479,"block":118482},[],[118480],{"sys":118481,"__typename":79413,"title":117583,"slug":117584,"articleId":117585},{"id":28356},[118483,118490,118493,118501,118508,118511,118519],{"sys":118484,"__typename":1724,"title":118485,"caption":59,"layoutMode":59,"file":118486},{"id":117883},"ChatGPT app banner",{"url":118487,"width":118488,"height":118489},"https://images.ctfassets.net/y1cdw1ablpvd/6P0NtIksCCnzqw3fj06L8k/1e50525c8f05c0a8eaaf01a4c5e7d370/Extension_-_inline_security_alert-min.png",1218,876,{"sys":118491,"__typename":1717,"type":80540,"ctaText":118492,"buttonLabel":41118,"buttonColour":1721,"buttonUrl":59},{"id":118157},"Check out all of our features, including app banners and more",{"sys":118494,"__typename":1724,"title":118495,"caption":118496,"layoutMode":59,"file":118497},{"id":118211},"App banner published example - KB 10106","App banner in Inform mode",{"url":118498,"width":118499,"height":118500},"https://images.ctfassets.net/y1cdw1ablpvd/24WVmuX8mMHYZMWmsY8bFx/1fb45ad11f5c3d58625cbf823897835b/banner_branded_inform.png",1273,716,{"sys":118502,"__typename":1724,"title":118503,"caption":118504,"layoutMode":59,"file":118505},{"id":117779},"App banner - Acknowledge mode - KB 10106","App banner in Acknowledge mode",{"url":118506,"width":118499,"height":118507},"https://images.ctfassets.net/y1cdw1ablpvd/76MG2m9vO4t3Am4SPyylqJ/8a9d2aa7af36119e465715c194927dcc/banner_branded_acknowledge.png",721,{"sys":118509,"__typename":1724,"title":117607,"caption":117608,"layoutMode":59,"file":118510},{"id":90206},{"url":76490,"width":29569,"height":23461},{"sys":118512,"__typename":1724,"title":118513,"caption":118514,"layoutMode":59,"file":118515},{"id":75006},"App banner - Block mode - KB 10106","App banner in Block mode",{"url":118516,"width":118517,"height":118518},"https://images.ctfassets.net/y1cdw1ablpvd/5IP2jbUkJt48ZxGm1QseOS/0d487ba192748cca0e3f6fae55f49b52/banner_branded_block.png",1269,718,{"sys":118520,"__typename":1724,"title":118521,"caption":59,"layoutMode":59,"file":118522},{"id":118381},"App banner - config slideout - KB 10106",{"url":118523,"width":118524,"height":118525},"https://images.ctfassets.net/y1cdw1ablpvd/2jY4YVOJ0ojTggWdzAy5BZ/c3101236c338c926991ca599cdd233fa/app_banner_slideout_20260130.png",3016,1724,{"items":118527},[],{},"Control SaaS app usage with in-browser app banners",{"url":118531},"https://images.ctfassets.net/y1cdw1ablpvd/73UuFKQ7Pd0i577V9wRQw5/aaa5a8bd133c051bd4cf489c3c2599d0/App-Banner-Updates.png","2024-05-15T00:00:00.000Z",{"items":118534},[118535,118868,119342],{"__typename":2059,"sys":118536,"content":118537,"title":118855,"synopsis":118554,"hashTags":59,"publishedDate":118856,"slug":118857,"tagsCollection":118858,"authorsCollection":118864},{"id":117895},{"json":118538},{"data":118539,"content":118540,"nodeType":856},{},[118541,118547,118555,118567,118574,118581,118624,118629,118636,118643,118650,118657,118682,118689,118695,118766,118773,118780,118787,118793,118800,118807,118813,118820,118827,118833,118839],{"data":118542,"content":118546,"nodeType":996},{"target":118543},{"sys":118544},{"id":118545,"type":1001,"linkType":1002},"3OXZccsHUbm5vXq1Ouv9H8",[],{"data":118548,"content":118549,"nodeType":860},{},[118550],{"data":118551,"marks":118552,"value":118554,"nodeType":864},{},[118553],{"type":899},"Don’t leave it up to your employees to figure out how to use cloud apps securely. Guide them directly in their browsers when they access their apps.",{"data":118556,"content":118557,"nodeType":860},{},[118558,118562],{"data":118559,"marks":118560,"value":118561,"nodeType":864},{},[],"That’s the concept behind our latest feature, in-browser app banners. They allow you to",{"data":118563,"marks":118564,"value":118566,"nodeType":864},{},[118565],{"type":899}," create custom messages that guide employees to follow your security policies on the apps they use for work.",{"data":118568,"content":118569,"nodeType":860},{},[118570],{"data":118571,"marks":118572,"value":118573,"nodeType":864},{},[],"For example, at the top of this page you can see an app banner that tells employees using ChatGPT not to put company or customer data into the app, and provides a link to the company’s GenAI policy:",{"data":118575,"content":118576,"nodeType":860},{},[118577],{"data":118578,"marks":118579,"value":118580,"nodeType":864},{},[],"The banners are fully customizable, so you can enter whatever text you like. Here are a few ideas to get you started:",{"data":118582,"content":118583,"nodeType":941},{},[118584,118594,118604,118614],{"data":118585,"content":118586,"nodeType":945},{},[118587],{"data":118588,"content":118589,"nodeType":860},{},[118590],{"data":118591,"marks":118592,"value":118593,"nodeType":864},{},[],"Encourage employees to use an approved app over a new, unsupported alternative.",{"data":118595,"content":118596,"nodeType":945},{},[118597],{"data":118598,"content":118599,"nodeType":860},{},[118600],{"data":118601,"marks":118602,"value":118603,"nodeType":864},{},[],"Remind employees not to enter sensitive information into ChatGPT or other GenAI tools.",{"data":118605,"content":118606,"nodeType":945},{},[118607],{"data":118608,"content":118609,"nodeType":860},{},[118610],{"data":118611,"marks":118612,"value":118613,"nodeType":864},{},[],"Tell employees not to use an app until it can be reviewed by the security team.",{"data":118615,"content":118616,"nodeType":945},{},[118617],{"data":118618,"content":118619,"nodeType":860},{},[118620],{"data":118621,"marks":118622,"value":118623,"nodeType":864},{},[],"Ask employees to use their federated identity on apps supporting SSO.",{"data":118625,"content":118628,"nodeType":996},{"target":118626},{"sys":118627},{"id":118157,"type":1001,"linkType":1002},[],{"data":118630,"content":118631,"nodeType":1009},{},[118632],{"data":118633,"marks":118634,"value":118635,"nodeType":864},{},[],"Why did we build it?",{"data":118637,"content":118638,"nodeType":860},{},[118639],{"data":118640,"marks":118641,"value":118642,"nodeType":864},{},[],"We co-created this feature with our customers. They wanted a more flexible and nuanced way of managing the risks associated with using SaaS apps than just allowlisting or blocklisting apps. ",{"data":118644,"content":118645,"nodeType":860},{},[118646],{"data":118647,"marks":118648,"value":118649,"nodeType":864},{},[],"That means guiding employees to use apps more safely rather than just blocking new tools by default.",{"data":118651,"content":118652,"nodeType":860},{},[118653],{"data":118654,"marks":118655,"value":118656,"nodeType":864},{},[],"Now don’t get us wrong — there’s a time and a place for blocking. But for most organizations, there are more scenarios when it's better to help employees do something safely. ",{"data":118658,"content":118659,"nodeType":860},{},[118660,118664,118669,118673,118678],{"data":118661,"marks":118662,"value":118663,"nodeType":864},{},[],"That’s the reason why we ",{"data":118665,"marks":118666,"value":118668,"nodeType":864},{},[118667],{"type":2246},"wanted",{"data":118670,"marks":118671,"value":118672,"nodeType":864},{},[]," to build the feature. The reason we were ",{"data":118674,"marks":118675,"value":118677,"nodeType":864},{},[118676],{"type":2246},"able",{"data":118679,"marks":118680,"value":118681,"nodeType":864},{},[]," to build it is because Push’s superpower is a browser extension that detects signups and logins to supported and unsupported apps, and then helps you manage and secure accounts and identities on all of them. ",{"data":118683,"content":118684,"nodeType":860},{},[118685],{"data":118686,"marks":118687,"value":118688,"nodeType":864},{},[],"The Push browser extension gets you the closest to the user, providing the ideal platform for security teams to guide employees at exactly the right time and place — when they’re accessing an app in their browser.",{"data":118690,"content":118691,"nodeType":1009},{},[118692],{"data":118693,"marks":118694,"value":112398,"nodeType":864},{},[],{"data":118696,"content":118697,"nodeType":118765},{},[118698,118708,118718,118737,118755],{"data":118699,"content":118700,"nodeType":945},{},[118701],{"data":118702,"content":118703,"nodeType":860},{},[118704],{"data":118705,"marks":118706,"value":118707,"nodeType":864},{},[],"You can configure an app banner in less than 1 minute. Here are the 4 steps, or just scroll down to the demos below to see for yourself. ",{"data":118709,"content":118710,"nodeType":945},{},[118711],{"data":118712,"content":118713,"nodeType":860},{},[118714],{"data":118715,"marks":118716,"value":118717,"nodeType":864},{},[],"Find an app in your app inventory on the Push platform.",{"data":118719,"content":118720,"nodeType":945},{},[118721],{"data":118722,"content":118723,"nodeType":860},{},[118724,118728,118733],{"data":118725,"marks":118726,"value":118727,"nodeType":864},{},[],"Hit ",{"data":118729,"marks":118730,"value":118732,"nodeType":864},{},[118731],{"type":899},"Configure on the app details slideout",{"data":118734,"marks":118735,"value":118736,"nodeType":864},{},[],", and then add your custom banner message. ",{"data":118738,"content":118739,"nodeType":945},{},[118740],{"data":118741,"content":118742,"nodeType":860},{},[118743,118746,118751],{"data":118744,"marks":118745,"value":75174,"nodeType":864},{},[],{"data":118747,"marks":118748,"value":118750,"nodeType":864},{},[118749],{"type":899},"Preview",{"data":118752,"marks":118753,"value":118754,"nodeType":864},{},[]," button to see what it will look like. ",{"data":118756,"content":118757,"nodeType":945},{},[118758],{"data":118759,"content":118760,"nodeType":860},{},[118761],{"data":118762,"marks":118763,"value":118764,"nodeType":864},{},[],"Then once you're happy, save it to enable it on the signup and login pages for that app. Now your banner will appear every time an employee accesses the app using a browser with the Push browser extension on it. ","ordered-list",{"data":118767,"content":118768,"nodeType":1009},{},[118769],{"data":118770,"marks":118771,"value":118772,"nodeType":864},{},[],"Use case inspo",{"data":118774,"content":118775,"nodeType":1312},{},[118776],{"data":118777,"marks":118778,"value":118779,"nodeType":864},{},[],"Help employees use ChatGPT and GenAI apps safely",{"data":118781,"content":118782,"nodeType":860},{},[118783],{"data":118784,"marks":118785,"value":118786,"nodeType":864},{},[],"Lots of security teams we speak to are happy for their employees to use GenAI apps like ChatGPT, as long as no sensitive data goes into them. Here we create a banner telling employees not to share sensitive information and to read the GenAI policy to understand how to use apps like this securely.",{"data":118788,"content":118792,"nodeType":996},{"target":118789},{"sys":118790},{"id":118791,"type":1001,"linkType":1002},"N6E38qUzEe8fNvpoJwBXH",[],{"data":118794,"content":118795,"nodeType":1312},{},[118796],{"data":118797,"marks":118798,"value":118799,"nodeType":864},{},[],"Guide your employees toward approved apps and prevent SaaS sprawl",{"data":118801,"content":118802,"nodeType":860},{},[118803],{"data":118804,"marks":118805,"value":118806,"nodeType":864},{},[],"You’ll probably prefer that your employees use approved and supported apps, and not to self-adopt new duplicate apps that contribute to SaaS sprawl. Here we use a banner to tell employees to use an approved file-sharing app.",{"data":118808,"content":118812,"nodeType":996},{"target":118809},{"sys":118810},{"id":118811,"type":1001,"linkType":1002},"2VhggiMOWCu9ZXqh4U7pZ9",[],{"data":118814,"content":118815,"nodeType":1312},{},[118816],{"data":118817,"marks":118818,"value":118819,"nodeType":864},{},[],"Encourage employees to use their federated identities instead of creating shadow identities",{"data":118821,"content":118822,"nodeType":860},{},[118823],{"data":118824,"marks":118825,"value":118826,"nodeType":864},{},[],"If you’ve invested in an SSO solution like Okta, you probably want to get as many of your apps and accounts behind it as possible. This banner tells employees to access the app using their Okta federated identity rather than using or creating a local account. ",{"data":118828,"content":118832,"nodeType":996},{"target":118829},{"sys":118830},{"id":118831,"type":1001,"linkType":1002},"6cJcIJ8GpsioU6JQs3afxy",[],{"data":118834,"content":118835,"nodeType":1009},{},[118836],{"data":118837,"marks":118838,"value":36405,"nodeType":864},{},[],{"data":118840,"content":118841,"nodeType":860},{},[118842,118845,118851],{"data":118843,"marks":118844,"value":95575,"nodeType":864},{},[],{"data":118846,"content":118847,"nodeType":883},{"uri":5642},[118848],{"data":118849,"marks":118850,"value":37814,"nodeType":864},{},[],{"data":118852,"marks":118853,"value":118854,"nodeType":864},{},[],". We’ll be happy to show you this feature along with how we discover all the apps your employees are using and how we detect vulnerable identities. ","Introducing in-browser app banners: Set guardrails for cloud apps","2024-02-06T00:00:00.000Z","introducing-in-browser-app-banners-set-guardrails-for-cloud-apps",{"items":118859},[118860,118862],{"sys":118861,"name":297},{"id":2732},{"sys":118863,"name":73498},{"id":73497},{"items":118865},[118866],{"fullName":4878,"firstName":4879,"jobTitle":851,"profilePicture":118867},{"url":4881},{"__typename":2059,"sys":118869,"content":118870,"title":112790,"synopsis":112791,"hashTags":59,"publishedDate":112792,"slug":112793,"tagsCollection":119332,"authorsCollection":119338},{"id":89984},{"json":118871},{"data":118872,"content":118873,"nodeType":856},{},[118874,118880,118885,118891,118897,118910,118939,118945,118952,118957,118970,118977,118982,118988,118994,119000,119006,119013,119019,119034,119047,119052,119058,119073,119090,119096,119116,119122,119143,119156,119162,119179,119185,119250,119256,119269,119275,119281,119287,119293,119306,119311,119317],{"data":118875,"content":118876,"nodeType":860},{},[118877],{"data":118878,"marks":118879,"value":21,"nodeType":864},{},[],{"data":118881,"content":118884,"nodeType":996},{"target":118882},{"sys":118883},{"id":112279,"type":1001,"linkType":1002},[],{"data":118886,"content":118887,"nodeType":860},{},[118888],{"data":118889,"marks":118890,"value":112287,"nodeType":864},{},[],{"data":118892,"content":118893,"nodeType":860},{},[118894],{"data":118895,"marks":118896,"value":112294,"nodeType":864},{},[],{"data":118898,"content":118899,"nodeType":860},{},[118900,118903,118907],{"data":118901,"marks":118902,"value":112301,"nodeType":864},{},[],{"data":118904,"marks":118905,"value":112306,"nodeType":864},{},[118906],{"type":899},{"data":118908,"marks":118909,"value":73563,"nodeType":864},{},[],{"data":118911,"content":118912,"nodeType":941},{},[118913,118926],{"data":118914,"content":118915,"nodeType":945},{},[118916],{"data":118917,"content":118918,"nodeType":860},{},[118919,118923],{"data":118920,"marks":118921,"value":112323,"nodeType":864},{},[118922],{"type":899},{"data":118924,"marks":118925,"value":112327,"nodeType":864},{},[],{"data":118927,"content":118928,"nodeType":945},{},[118929],{"data":118930,"content":118931,"nodeType":860},{},[118932,118936],{"data":118933,"marks":118934,"value":112338,"nodeType":864},{},[118935],{"type":899},{"data":118937,"marks":118938,"value":112342,"nodeType":864},{},[],{"data":118940,"content":118941,"nodeType":860},{},[118942],{"data":118943,"marks":118944,"value":112349,"nodeType":864},{},[],{"data":118946,"content":118947,"nodeType":860},{},[118948],{"data":118949,"marks":118950,"value":112357,"nodeType":864},{},[118951],{"type":899},{"data":118953,"content":118956,"nodeType":996},{"target":118954},{"sys":118955},{"id":109919,"type":1001,"linkType":1002},[],{"data":118958,"content":118959,"nodeType":860},{},[118960,118963,118967],{"data":118961,"marks":118962,"value":112369,"nodeType":864},{},[],{"data":118964,"marks":118965,"value":47996,"nodeType":864},{},[118966],{"type":899},{"data":118968,"marks":118969,"value":112377,"nodeType":864},{},[],{"data":118971,"content":118972,"nodeType":860},{},[118973],{"data":118974,"marks":118975,"value":112385,"nodeType":864},{},[118976],{"type":899},{"data":118978,"content":118981,"nodeType":996},{"target":118979},{"sys":118980},{"id":112390,"type":1001,"linkType":1002},[],{"data":118983,"content":118984,"nodeType":1312},{},[118985],{"data":118986,"marks":118987,"value":112398,"nodeType":864},{},[],{"data":118989,"content":118990,"nodeType":860},{},[118991],{"data":118992,"marks":118993,"value":112405,"nodeType":864},{},[],{"data":118995,"content":118996,"nodeType":860},{},[118997],{"data":118998,"marks":118999,"value":112412,"nodeType":864},{},[],{"data":119001,"content":119002,"nodeType":860},{},[119003],{"data":119004,"marks":119005,"value":112419,"nodeType":864},{},[],{"data":119007,"content":119008,"nodeType":860},{},[119009],{"data":119010,"marks":119011,"value":112427,"nodeType":864},{},[119012],{"type":899},{"data":119014,"content":119015,"nodeType":860},{},[119016],{"data":119017,"marks":119018,"value":112434,"nodeType":864},{},[],{"data":119020,"content":119021,"nodeType":860},{},[119022,119025,119031],{"data":119023,"marks":119024,"value":94298,"nodeType":864},{},[],{"data":119026,"content":119027,"nodeType":883},{"uri":90269},[119028],{"data":119029,"marks":119030,"value":72883,"nodeType":864},{},[],{"data":119032,"marks":119033,"value":94308,"nodeType":864},{},[],{"data":119035,"content":119036,"nodeType":860},{},[119037,119040,119044],{"data":119038,"marks":119039,"value":112456,"nodeType":864},{},[],{"data":119041,"marks":119042,"value":112461,"nodeType":864},{},[119043],{"type":899},{"data":119045,"marks":119046,"value":112465,"nodeType":864},{},[],{"data":119048,"content":119051,"nodeType":996},{"target":119049},{"sys":119050},{"id":89972,"type":1001,"linkType":1002},[],{"data":119053,"content":119054,"nodeType":860},{},[119055],{"data":119056,"marks":119057,"value":112477,"nodeType":864},{},[],{"data":119059,"content":119060,"nodeType":860},{},[119061,119064,119070],{"data":119062,"marks":119063,"value":112484,"nodeType":864},{},[],{"data":119065,"content":119066,"nodeType":883},{"uri":91978},[119067],{"data":119068,"marks":119069,"value":112491,"nodeType":864},{},[],{"data":119071,"marks":119072,"value":112495,"nodeType":864},{},[],{"data":119074,"content":119075,"nodeType":860},{},[119076,119079,119087],{"data":119077,"marks":119078,"value":112502,"nodeType":864},{},[],{"data":119080,"content":119083,"nodeType":27604},{"target":119081},{"sys":119082},{"id":28295,"type":1001,"linkType":1002},[119084],{"data":119085,"marks":119086,"value":43908,"nodeType":864},{},[],{"data":119088,"marks":119089,"value":2924,"nodeType":864},{},[],{"data":119091,"content":119092,"nodeType":1312},{},[119093],{"data":119094,"marks":119095,"value":112520,"nodeType":864},{},[],{"data":119097,"content":119098,"nodeType":860},{},[119099,119102,119106,119109,119113],{"data":119100,"marks":119101,"value":112527,"nodeType":864},{},[],{"data":119103,"marks":119104,"value":457,"nodeType":864},{},[119105],{"type":899},{"data":119107,"marks":119108,"value":902,"nodeType":864},{},[],{"data":119110,"marks":119111,"value":112539,"nodeType":864},{},[119112],{"type":899},{"data":119114,"marks":119115,"value":112543,"nodeType":864},{},[],{"data":119117,"content":119118,"nodeType":860},{},[119119],{"data":119120,"marks":119121,"value":112550,"nodeType":864},{},[],{"data":119123,"content":119124,"nodeType":941},{},[119125,119134],{"data":119126,"content":119127,"nodeType":945},{},[119128],{"data":119129,"content":119130,"nodeType":860},{},[119131],{"data":119132,"marks":119133,"value":112563,"nodeType":864},{},[],{"data":119135,"content":119136,"nodeType":945},{},[119137],{"data":119138,"content":119139,"nodeType":860},{},[119140],{"data":119141,"marks":119142,"value":112573,"nodeType":864},{},[],{"data":119144,"content":119145,"nodeType":860},{},[119146,119149,119153],{"data":119147,"marks":119148,"value":112580,"nodeType":864},{},[],{"data":119150,"marks":119151,"value":112585,"nodeType":864},{},[119152],{"type":2246},{"data":119154,"marks":119155,"value":112589,"nodeType":864},{},[],{"data":119157,"content":119158,"nodeType":1312},{},[119159],{"data":119160,"marks":119161,"value":112596,"nodeType":864},{},[],{"data":119163,"content":119164,"nodeType":860},{},[119165,119168,119176],{"data":119166,"marks":119167,"value":112603,"nodeType":864},{},[],{"data":119169,"content":119172,"nodeType":27604},{"target":119170},{"sys":119171},{"id":95225,"type":1001,"linkType":1002},[119173],{"data":119174,"marks":119175,"value":94035,"nodeType":864},{},[],{"data":119177,"marks":119178,"value":112615,"nodeType":864},{},[],{"data":119180,"content":119181,"nodeType":860},{},[119182],{"data":119183,"marks":119184,"value":112622,"nodeType":864},{},[],{"data":119186,"content":119187,"nodeType":941},{},[119188,119208],{"data":119189,"content":119190,"nodeType":945},{},[119191],{"data":119192,"content":119193,"nodeType":860},{},[119194,119197,119205],{"data":119195,"marks":119196,"value":112635,"nodeType":864},{},[],{"data":119198,"content":119201,"nodeType":27604},{"target":119199},{"sys":119200},{"id":95225,"type":1001,"linkType":1002},[119202],{"data":119203,"marks":119204,"value":112644,"nodeType":864},{},[],{"data":119206,"marks":119207,"value":2924,"nodeType":864},{},[],{"data":119209,"content":119210,"nodeType":945},{},[119211],{"data":119212,"content":119213,"nodeType":860},{},[119214,119217,119225,119228,119236,119239,119247],{"data":119215,"marks":119216,"value":112657,"nodeType":864},{},[],{"data":119218,"content":119221,"nodeType":27604},{"target":119219},{"sys":119220},{"id":110390,"type":1001,"linkType":1002},[119222],{"data":119223,"marks":119224,"value":5272,"nodeType":864},{},[],{"data":119226,"marks":119227,"value":112669,"nodeType":864},{},[],{"data":119229,"content":119232,"nodeType":27604},{"target":119230},{"sys":119231},{"id":112674,"type":1001,"linkType":1002},[119233],{"data":119234,"marks":119235,"value":103347,"nodeType":864},{},[],{"data":119237,"marks":119238,"value":902,"nodeType":864},{},[],{"data":119240,"content":119243,"nodeType":27604},{"target":119241},{"sys":119242},{"id":112686,"type":1001,"linkType":1002},[119244],{"data":119245,"marks":119246,"value":103358,"nodeType":864},{},[],{"data":119248,"marks":119249,"value":112694,"nodeType":864},{},[],{"data":119251,"content":119252,"nodeType":1312},{},[119253],{"data":119254,"marks":119255,"value":112701,"nodeType":864},{},[],{"data":119257,"content":119258,"nodeType":860},{},[119259,119262,119266],{"data":119260,"marks":119261,"value":112708,"nodeType":864},{},[],{"data":119263,"marks":119264,"value":112713,"nodeType":864},{},[119265],{"type":899},{"data":119267,"marks":119268,"value":112717,"nodeType":864},{},[],{"data":119270,"content":119271,"nodeType":860},{},[119272],{"data":119273,"marks":119274,"value":112724,"nodeType":864},{},[],{"data":119276,"content":119277,"nodeType":860},{},[119278],{"data":119279,"marks":119280,"value":112731,"nodeType":864},{},[],{"data":119282,"content":119283,"nodeType":860},{},[119284],{"data":119285,"marks":119286,"value":112738,"nodeType":864},{},[],{"data":119288,"content":119289,"nodeType":860},{},[119290],{"data":119291,"marks":119292,"value":112745,"nodeType":864},{},[],{"data":119294,"content":119295,"nodeType":860},{},[119296,119299,119303],{"data":119297,"marks":119298,"value":112752,"nodeType":864},{},[],{"data":119300,"marks":119301,"value":112757,"nodeType":864},{},[119302],{"type":899},{"data":119304,"marks":119305,"value":112761,"nodeType":864},{},[],{"data":119307,"content":119310,"nodeType":996},{"target":119308},{"sys":119309},{"id":112766,"type":1001,"linkType":1002},[],{"data":119312,"content":119313,"nodeType":1312},{},[119314],{"data":119315,"marks":119316,"value":36405,"nodeType":864},{},[],{"data":119318,"content":119319,"nodeType":860},{},[119320,119323,119329],{"data":119321,"marks":119322,"value":95575,"nodeType":864},{},[],{"data":119324,"content":119325,"nodeType":883},{"uri":5642},[119326],{"data":119327,"marks":119328,"value":37814,"nodeType":864},{},[],{"data":119330,"marks":119331,"value":112789,"nodeType":864},{},[],{"items":119333},[119334,119336],{"sys":119335,"name":342},{"id":6596},{"sys":119337,"name":73498},{"id":73497},{"items":119339},[119340],{"fullName":4878,"firstName":4879,"jobTitle":851,"profilePicture":119341},{"url":4881},{"__typename":2059,"sys":119343,"content":119345,"title":119776,"synopsis":119777,"hashTags":59,"publishedDate":119778,"slug":119779,"tagsCollection":119780,"authorsCollection":119786},{"id":119344},"1RT7MmC7mJH5H3iWmzgqRI",{"json":119346},{"data":119347,"content":119348,"nodeType":856},{},[119349,119356,119374,119381,119434,119437,119444,119451,119458,119464,119471,119481,119488,119494,119497,119504,119524,119530,119536,119539,119546,119553,119560,119568,119575,119583,119599,119606,119614,119617,119624,119631,119638,119645,119648,119655,119662,119669,119702,119709,119712,119719,119726,119733,119752,119755,119762,119769],{"data":119350,"content":119351,"nodeType":860},{},[119352],{"data":119353,"marks":119354,"value":119355,"nodeType":864},{},[],"We recently released a new feature that prevents employees from reusing their SSO password on other sites. Our goal with this feature is to stop high-risk credentials from being compromised (via phishing or data breach). If you aren’t reusing your Okta password for example, there’s no risk of it being compromised in another breach, and any attempt to dupe a user into using it on a phishing site will fail.",{"data":119357,"content":119358,"nodeType":860},{},[119359,119363,119371],{"data":119360,"marks":119361,"value":119362,"nodeType":864},{},[],"To read more about why we developed this feature and how it works, check out this ",{"data":119364,"content":119365,"nodeType":883},{"uri":47989},[119366],{"data":119367,"marks":119368,"value":119370,"nodeType":864},{},[119369],{"type":1455},"earlier blog post",{"data":119372,"marks":119373,"value":12252,"nodeType":864},{},[],{"data":119375,"content":119376,"nodeType":860},{},[119377],{"data":119378,"marks":119379,"value":119380,"nodeType":864},{},[],"While the concept for this feature is simple, we learned that there were several important nuances and design choices to make it both effective and practical:",{"data":119382,"content":119383,"nodeType":941},{},[119384,119394,119404,119414,119424],{"data":119385,"content":119386,"nodeType":945},{},[119387],{"data":119388,"content":119389,"nodeType":860},{},[119390],{"data":119391,"marks":119392,"value":119393,"nodeType":864},{},[],"Should employees be allowed to reuse their SSO password if they’re doing it intentionally?",{"data":119395,"content":119396,"nodeType":945},{},[119397],{"data":119398,"content":119399,"nodeType":860},{},[119400],{"data":119401,"marks":119402,"value":119403,"nodeType":864},{},[],"If allowed, how do you give employees the right context to help them be sure they’re only reusing in the intended places?",{"data":119405,"content":119406,"nodeType":945},{},[119407],{"data":119408,"content":119409,"nodeType":860},{},[119410],{"data":119411,"marks":119412,"value":119413,"nodeType":864},{},[],"How do you make the content for an employee-facing feature work for all organizations?",{"data":119415,"content":119416,"nodeType":945},{},[119417],{"data":119418,"content":119419,"nodeType":860},{},[119420],{"data":119421,"marks":119422,"value":119423,"nodeType":864},{},[],"How feasible is it to block all password reuse without encouraging the wrong behaviours or workarounds?",{"data":119425,"content":119426,"nodeType":945},{},[119427],{"data":119428,"content":119429,"nodeType":860},{},[119430],{"data":119431,"marks":119432,"value":119433,"nodeType":864},{},[],"Where does threat intelligence fit into a password phishing prevention feature?",{"data":119435,"content":119436,"nodeType":1005},{},[],{"data":119438,"content":119439,"nodeType":1009},{},[119440],{"data":119441,"marks":119442,"value":119443,"nodeType":864},{},[],"To warn or to block?",{"data":119445,"content":119446,"nodeType":860},{},[119447],{"data":119448,"marks":119449,"value":119450,"nodeType":864},{},[],"Fundamentally, the feature works by looking for when an employee enters their password for an app into somewhere that isn’t that app. Simple, right? ",{"data":119452,"content":119453,"nodeType":860},{},[119454],{"data":119455,"marks":119456,"value":119457,"nodeType":864},{},[],"The initial plan was that when detected, we’d block the form submission, let the employee know they almost got phished, and ride off into the sunset having saved the day.",{"data":119459,"content":119463,"nodeType":996},{"target":119460},{"sys":119461},{"id":119462,"type":1001,"linkType":1002},"6M3969P6CfpKVieeyLWVPx",[],{"data":119465,"content":119466,"nodeType":860},{},[119467],{"data":119468,"marks":119469,"value":119470,"nodeType":864},{},[],"Unfortunately, despite password managers becoming more popular, some people still use the same password across multiple apps. In fact, our data shows around 1 in 3 people reuse passwords between accounts and we actually see higher levels of password reuse on IdP apps in particular.",{"data":119472,"content":119473,"nodeType":1116},{},[119474],{"data":119475,"content":119476,"nodeType":860},{},[119477],{"data":119478,"marks":119479,"value":119480,"nodeType":864},{},[],"1 in 3 people reuse passwords, with higher levels of password reuse on IdP apps",{"data":119482,"content":119483,"nodeType":860},{},[119484],{"data":119485,"marks":119486,"value":119487,"nodeType":864},{},[],"Since password reuse is so common, this feature would cause friction by forcing employees to change their reused SSO passwords. Some security teams will consider this a good thing, but others might not be so comfortable. To support both cultures, we introduced WARN mode, where employees are stopped from reusing their password, but they’re given the option to continue anyway.",{"data":119489,"content":119493,"nodeType":996},{"target":119490},{"sys":119491},{"id":119492,"type":1001,"linkType":1002},"Qj5Uqh1a4ErgJ9Bi1rscE",[],{"data":119495,"content":119496,"nodeType":1005},{},[],{"data":119498,"content":119499,"nodeType":1009},{},[119500],{"data":119501,"marks":119502,"value":119503,"nodeType":864},{},[],"Customizing block screen content",{"data":119505,"content":119506,"nodeType":860},{},[119507,119511,119520],{"data":119508,"marks":119509,"value":119510,"nodeType":864},{},[],"Through our ",{"data":119512,"content":119514,"nodeType":883},{"uri":119513},"https://pushsecurity.com/blog/introducing-in-browser-app-banners-set-guardrails-for-cloud-apps/",[119515],{"data":119516,"marks":119517,"value":119519,"nodeType":864},{},[119518],{"type":1455},"app banner feature",{"data":119521,"marks":119522,"value":119523,"nodeType":864},{},[],", we’ve already learned that orgs like to customize any messages their employees see. This helps them give company-specific information (like how to contact the security team), match the tone of the business, or even just deliver the message in the right language if that’s not English.",{"data":119525,"content":119529,"nodeType":996},{"target":119526},{"sys":119527},{"id":119528,"type":1001,"linkType":1002},"1BlJyoWAeNm4thWxpnb6s7",[],{"data":119531,"content":119535,"nodeType":996},{"target":119532},{"sys":119533},{"id":119534,"type":1001,"linkType":1002},"3Cjd6KQHscTcO9csgb6AZ9",[],{"data":119537,"content":119538,"nodeType":1005},{},[],{"data":119540,"content":119541,"nodeType":1009},{},[119542],{"data":119543,"marks":119544,"value":119545,"nodeType":864},{},[],"Adding helpful context",{"data":119547,"content":119548,"nodeType":860},{},[119549],{"data":119550,"marks":119551,"value":119552,"nodeType":864},{},[],"To help employees tell the difference between a phishing attack and their intentional password reuse, they need to know the context. Specifically, they need to know which password they’re about to enter and where they’re about to enter it. ",{"data":119554,"content":119555,"nodeType":860},{},[119556],{"data":119557,"marks":119558,"value":119559,"nodeType":864},{},[],"For example, a sensible default warning might look something like:",{"data":119561,"content":119562,"nodeType":860},{},[119563],{"data":119564,"marks":119565,"value":119567,"nodeType":864},{},[119566],{"type":101020},"Are you sure? You're about to enter your Okta password into evil.com. This is not Okta.",{"data":119569,"content":119570,"nodeType":860},{},[119571],{"data":119572,"marks":119573,"value":119574,"nodeType":864},{},[],"This is distinctly different from:",{"data":119576,"content":119577,"nodeType":860},{},[119578],{"data":119579,"marks":119580,"value":119582,"nodeType":864},{},[119581],{"type":101020},"Are you sure? You're about to enter your Okta password into openai.com. This is not Okta.",{"data":119584,"content":119585,"nodeType":860},{},[119586,119590,119595],{"data":119587,"marks":119588,"value":119589,"nodeType":864},{},[],"Although I ",{"data":119591,"marks":119592,"value":119594,"nodeType":864},{},[119593],{"type":2246},"shouldn’t",{"data":119596,"marks":119597,"value":119598,"nodeType":864},{},[]," be using the same password for Okta and OpenAI, this extra information gives me the context to make a decision about whether this is intentional. Hopefully it has the added benefit of making me think twice about my intentional password reuse.",{"data":119600,"content":119601,"nodeType":860},{},[119602],{"data":119603,"marks":119604,"value":119605,"nodeType":864},{},[],"This extra context means the message shown to the employee needs to be dynamic. Since we have also established it’s important for our user to be able to customize the message shown, we needed to support these as variables. As such, the final default warning message looks like:",{"data":119607,"content":119608,"nodeType":860},{},[119609],{"data":119610,"marks":119611,"value":119613,"nodeType":864},{},[119612],{"type":101020},"Are you sure? You're about to enter your $IDP password into $URL. This is not $IDP.",{"data":119615,"content":119616,"nodeType":1005},{},[],{"data":119618,"content":119619,"nodeType":1009},{},[119620],{"data":119621,"marks":119622,"value":119623,"nodeType":864},{},[],"Focusing the scope",{"data":119625,"content":119626,"nodeType":860},{},[119627],{"data":119628,"marks":119629,"value":119630,"nodeType":864},{},[],"This feature could be applied to all passwords to just forcibly prevent password reuse. However, applying it everywhere increases the chances employees will trigger this feature due to intentional password reuse on less sensitive apps. The more they see the block or warn screen, the less weight it will hold.",{"data":119632,"content":119633,"nodeType":860},{},[119634],{"data":119635,"marks":119636,"value":119637,"nodeType":864},{},[],"Password phishing attacks are increasingly targeting identity provider platforms such as Okta and Microsoft 365 and for good reason. With this in mind, we decided to reduce the scope of this feature to only monitor identity provider accounts. This means that when it triggers, it really matters. Hopefully, this ensures employees take the notice seriously.",{"data":119639,"content":119640,"nodeType":860},{},[119641],{"data":119642,"marks":119643,"value":119644,"nodeType":864},{},[],"In the future, if there’s appetite from our customers, we could open this feature up to let security teams choose which apps are protected, so you can apply it to other systems you might consider highly sensitive, such as GitHub or AWS.",{"data":119646,"content":119647,"nodeType":1005},{},[],{"data":119649,"content":119650,"nodeType":1009},{},[119651],{"data":119652,"marks":119653,"value":119654,"nodeType":864},{},[],"Reducing false positives",{"data":119656,"content":119657,"nodeType":860},{},[119658],{"data":119659,"marks":119660,"value":119661,"nodeType":864},{},[],"It’s imperative the accuracy of this feature is high, since false reports have the potential to cause alarm or annoyance.",{"data":119663,"content":119664,"nodeType":860},{},[119665],{"data":119666,"marks":119667,"value":119668,"nodeType":864},{},[],"As our browser agent is already monitoring for password reuse, we were well positioned to ensure this feature wouldn’t trigger incorrectly by analyzing existing password reuse alerts. ",{"data":119670,"content":119671,"nodeType":860},{},[119672,119676,119681,119685,119689,119693,119698],{"data":119673,"marks":119674,"value":119675,"nodeType":864},{},[],"There were some unexpected examples we needed to make sure were handled correctly, such as the ",{"data":119677,"marks":119678,"value":119680,"nodeType":864},{},[119679],{"type":2246},"newtab",{"data":119682,"marks":119683,"value":119684,"nodeType":864},{},[]," page in Edge – did you know you can login to Microsoft 365 right inside the ",{"data":119686,"marks":119687,"value":119680,"nodeType":864},{},[119688],{"type":2246},{"data":119690,"marks":119691,"value":119692,"nodeType":864},{},[]," page? Since the URL is not ",{"data":119694,"marks":119695,"value":119697,"nodeType":864},{},[119696],{"type":2246},"login.microsoftonline.com",{"data":119699,"marks":119700,"value":119701,"nodeType":864},{},[],", this looks like strange password reuse! Also, certain shopping websites (which shall not be named) resubmit your credentials on every page, which caused the warn screen to be shown for each page visited.",{"data":119703,"content":119704,"nodeType":860},{},[119705],{"data":119706,"marks":119707,"value":119708,"nodeType":864},{},[],"Inside your organization, it is reasonable that you might have your own examples of this - sites which aren’t hosted by your IdP but use the same underlying authentication. To the browser agent, this would look like password reuse, even though it isn’t, because the URL is different. To manage this, the feature starts in MONITOR mode so you can see where, if anywhere, this feature would trigger, and you can build up an ignore list for the browser agent.",{"data":119710,"content":119711,"nodeType":1005},{},[],{"data":119713,"content":119714,"nodeType":1009},{},[119715],{"data":119716,"marks":119717,"value":119718,"nodeType":864},{},[],"The threat intelligence question",{"data":119720,"content":119721,"nodeType":860},{},[119722],{"data":119723,"marks":119724,"value":119725,"nodeType":864},{},[],"We’ve come all this way and I’ve not mentioned threat intel even once! Surely that is a component of any phishing prevention tool? We considered it – and decided against it. Here’s why.",{"data":119727,"content":119728,"nodeType":860},{},[119729],{"data":119730,"marks":119731,"value":119732,"nodeType":864},{},[],"Primarily, you’d think threat intel could be used to detect known-bad sites and outright block them. And sure, we could do this, but we’d really just be reimplementing Google Safe Browsing. On the assumption we aren’t going to access a better threat intel feed than Google, we wouldn’t be adding anything above what your browser is already doing.",{"data":119734,"content":119735,"nodeType":860},{},[119736,119740,119748],{"data":119737,"marks":119738,"value":119739,"nodeType":864},{},[],"We hope this approach adds an extra layer of protection to the whack-a-mole of threat intel. Back in 2013, David Bianco introduced ",{"data":119741,"content":119742,"nodeType":883},{"uri":97808},[119743],{"data":119744,"marks":119745,"value":119747,"nodeType":864},{},[119746],{"type":1455},"the pyramid of pain",{"data":119749,"marks":119750,"value":119751,"nodeType":864},{},[]," which captures this concept well. By generally preventing the TTP of password phishing, we hope to introduce much more pain for an attacker than focusing on known-bad indicators, such as domains.",{"data":119753,"content":119754,"nodeType":1005},{},[],{"data":119756,"content":119757,"nodeType":1009},{},[119758],{"data":119759,"marks":119760,"value":119761,"nodeType":864},{},[],"Let us know what you think!",{"data":119763,"content":119764,"nodeType":860},{},[119765],{"data":119766,"marks":119767,"value":119768,"nodeType":864},{},[],"Give it a go, we’d love to hear how you get on and whether you have any ideas for how we could strengthen the feature in future.",{"data":119770,"content":119771,"nodeType":860},{},[119772],{"data":119773,"marks":119774,"value":119775,"nodeType":864},{},[],"I didn’t focus on it here, but hopefully it goes without saying that any account that uses a password should be backed with MFA. If you don’t have a good view of which of your employees are using MFA across your cloud identities, Push can do this for you too!","Dev diary: Phishing prevention behind the scenes","Behind the scenes of our approach to designing and developing our latest feature, SSO password protection.","2024-05-13T00:00:00.000Z","dev-diary-phishing-prevention-behind-the-scenes",{"items":119781},[119782,119784],{"sys":119783,"name":73498},{"id":73497},{"sys":119785,"name":297},{"id":2732},{"items":119787},[119788],{"fullName":79005,"firstName":79006,"jobTitle":79007,"profilePicture":119789},{"url":79009},"control-which-cloud-apps-employees-are-using-your-way","blog/control-which-cloud-apps-employees-are-using-your-way",{"json":119793},{"data":119794,"content":119795,"nodeType":856},{},[119796],{"data":119797,"content":119798,"nodeType":860},{},[119799],{"data":119800,"marks":119801,"value":119802,"nodeType":864},{},[],"Use Push's variety of app banner options to control which cloud apps employees use, and how they use them.",{"id":119804,"publishedAt":119805},"214PIK43juDRzIflctLPOj","2026-08-12T11:55:24.827Z",{"items":119807},[119808,119810],{"sys":119809,"name":73498},{"id":73497},{"sys":119811,"name":297},{"id":2732},{"items":119813},[119814,119816,119818,119820,119822],{"sys":119815,"name":297,"slug":298,"tier":31},{"id":294},{"sys":119817,"name":545,"slug":546,"tier":31},{"id":542},{"sys":119819,"name":589,"slug":590,"tier":45},{"id":586},{"sys":119821,"name":633,"slug":634,"tier":45},{"id":630},{"sys":119823,"name":580,"slug":581,"tier":45},{"id":577},"5cBhVVD1p2LzzhPxQYl89PGwd7fXpqn68fhDmLmwFsM",{"id":119826,"title":117798,"authorsCollection":119827,"content":119831,"extension":228,"faqItemsCollection":120013,"faqTitle":59,"featured":6,"hashTags":59,"meta":120015,"metaTitle":120016,"ogImage":59,"postType":79438,"publishedDate":117800,"relatedBlogPostsCollection":120017,"slug":117801,"stem":120518,"subtitle":59,"summary":120519,"synopsis":117799,"sys":120530,"tagsCollection":120532,"topicsCollection":120536,"__hash__":120548},"blog/blog/product-release-april-2024.json",{"items":119828},[119829],{"fullName":79005,"firstName":79006,"jobTitle":79007,"socialLinks":59,"profilePicture":119830},{"url":79009},{"json":119832,"links":119990},{"data":119833,"content":119834,"nodeType":856},{},[119835,119841,119871,119877,119890,119895,119910,119916,119929,119934,119949,119955,119968,119973],{"data":119836,"content":119837,"nodeType":1312},{},[119838],{"data":119839,"marks":119840,"value":117629,"nodeType":864},{},[],{"data":119842,"content":119843,"nodeType":941},{},[119844,119853,119862],{"data":119845,"content":119846,"nodeType":945},{},[119847],{"data":119848,"content":119849,"nodeType":860},{},[119850],{"data":119851,"marks":119852,"value":117642,"nodeType":864},{},[],{"data":119854,"content":119855,"nodeType":945},{},[119856],{"data":119857,"content":119858,"nodeType":860},{},[119859],{"data":119860,"marks":119861,"value":117652,"nodeType":864},{},[],{"data":119863,"content":119864,"nodeType":945},{},[119865],{"data":119866,"content":119867,"nodeType":860},{},[119868],{"data":119869,"marks":119870,"value":117662,"nodeType":864},{},[],{"data":119872,"content":119873,"nodeType":1312},{},[119874],{"data":119875,"marks":119876,"value":117642,"nodeType":864},{},[],{"data":119878,"content":119879,"nodeType":860},{},[119880,119883,119887],{"data":119881,"marks":119882,"value":117675,"nodeType":864},{},[],{"data":119884,"marks":119885,"value":117680,"nodeType":864},{},[119886],{"type":899},{"data":119888,"marks":119889,"value":117684,"nodeType":864},{},[],{"data":119891,"content":119894,"nodeType":996},{"target":119892},{"sys":119893},{"id":117689,"type":1001,"linkType":1002},[],{"data":119896,"content":119897,"nodeType":860},{},[119898,119901,119907],{"data":119899,"marks":119900,"value":21,"nodeType":864},{},[],{"data":119902,"content":119903,"nodeType":883},{"uri":117699},[119904],{"data":119905,"marks":119906,"value":30213,"nodeType":864},{},[],{"data":119908,"marks":119909,"value":21,"nodeType":864},{},[],{"data":119911,"content":119912,"nodeType":1312},{},[119913],{"data":119914,"marks":119915,"value":117713,"nodeType":864},{},[],{"data":119917,"content":119918,"nodeType":860},{},[119919,119922,119926],{"data":119920,"marks":119921,"value":79688,"nodeType":864},{},[],{"data":119923,"marks":119924,"value":117724,"nodeType":864},{},[119925],{"type":899},{"data":119927,"marks":119928,"value":117728,"nodeType":864},{},[],{"data":119930,"content":119933,"nodeType":996},{"target":119931},{"sys":119932},{"id":117733,"type":1001,"linkType":1002},[],{"data":119935,"content":119936,"nodeType":860},{},[119937,119940,119946],{"data":119938,"marks":119939,"value":21,"nodeType":864},{},[],{"data":119941,"content":119942,"nodeType":883},{"uri":117743},[119943],{"data":119944,"marks":119945,"value":117748,"nodeType":864},{},[],{"data":119947,"marks":119948,"value":21,"nodeType":864},{},[],{"data":119950,"content":119951,"nodeType":1312},{},[119952],{"data":119953,"marks":119954,"value":117758,"nodeType":864},{},[],{"data":119956,"content":119957,"nodeType":860},{},[119958,119961,119965],{"data":119959,"marks":119960,"value":117765,"nodeType":864},{},[],{"data":119962,"marks":119963,"value":117770,"nodeType":864},{},[119964],{"type":899},{"data":119966,"marks":119967,"value":117774,"nodeType":864},{},[],{"data":119969,"content":119972,"nodeType":996},{"target":119970},{"sys":119971},{"id":117779,"type":1001,"linkType":1002},[],{"data":119974,"content":119975,"nodeType":860},{},[119976,119979,119987],{"data":119977,"marks":119978,"value":21,"nodeType":864},{},[],{"data":119980,"content":119983,"nodeType":27604},{"target":119981},{"sys":119982},{"id":28356,"type":1001,"linkType":1002},[119984],{"data":119985,"marks":119986,"value":30213,"nodeType":864},{},[],{"data":119988,"marks":119989,"value":21,"nodeType":864},{},[],{"entries":119991},{"inline":119992,"hyperlink":119993,"block":119996},[],[119994],{"sys":119995,"__typename":79413,"title":117583,"slug":117584,"articleId":117585},{"id":28356},[119997,120004,120010],{"sys":119998,"__typename":1724,"title":119999,"caption":59,"layoutMode":59,"file":120000},{"id":117689},"Dashboard - View SaaS apps - docs",{"url":120001,"width":120002,"height":120003},"https://images.ctfassets.net/y1cdw1ablpvd/2Ma6lXVOoWM2SJt4EkJZon/640f9587bb8529fe7c2cf4255c29d876/push_dashboard_20250827.png",1523,853,{"sys":120005,"__typename":1724,"title":120006,"caption":59,"layoutMode":59,"file":120007},{"id":117733},"Integration between Push and Okta - Add employees - docs",{"url":120008,"width":120009,"height":117604},"https://images.ctfassets.net/y1cdw1ablpvd/2CkcgMaggfxXiQluPB6ncL/34ceca4124b7ec94283c3211e61a4325/okta_integration_config_20240119.png",2314,{"sys":120011,"__typename":1724,"title":118503,"caption":118504,"layoutMode":59,"file":120012},{"id":117779},{"url":118506,"width":118499,"height":118507},{"items":120014},[],{},"Push Security new product features for April 2024",{"items":120018},[120019,120247],{"__typename":2059,"sys":120020,"content":120021,"title":118055,"synopsis":118056,"hashTags":59,"publishedDate":118057,"slug":118058,"tagsCollection":120239,"authorsCollection":120243},{"id":117812},{"json":120022},{"data":120023,"content":120024,"nodeType":856},{},[120025,120031,120070,120076,120082,120087,120104,120110,120130,120135,120152,120158,120164,120170,120185,120191,120204,120217,120222],{"data":120026,"content":120027,"nodeType":1312},{},[120028],{"data":120029,"marks":120030,"value":117629,"nodeType":864},{},[],{"data":120032,"content":120033,"nodeType":941},{},[120034,120043,120052,120061],{"data":120035,"content":120036,"nodeType":945},{},[120037],{"data":120038,"content":120039,"nodeType":860},{},[120040],{"data":120041,"marks":120042,"value":117835,"nodeType":864},{},[],{"data":120044,"content":120045,"nodeType":945},{},[120046],{"data":120047,"content":120048,"nodeType":860},{},[120049],{"data":120050,"marks":120051,"value":117845,"nodeType":864},{},[],{"data":120053,"content":120054,"nodeType":945},{},[120055],{"data":120056,"content":120057,"nodeType":860},{},[120058],{"data":120059,"marks":120060,"value":117855,"nodeType":864},{},[],{"data":120062,"content":120063,"nodeType":945},{},[120064],{"data":120065,"content":120066,"nodeType":860},{},[120067],{"data":120068,"marks":120069,"value":117865,"nodeType":864},{},[],{"data":120071,"content":120072,"nodeType":1312},{},[120073],{"data":120074,"marks":120075,"value":117835,"nodeType":864},{},[],{"data":120077,"content":120078,"nodeType":860},{},[120079],{"data":120080,"marks":120081,"value":117878,"nodeType":864},{},[],{"data":120083,"content":120086,"nodeType":996},{"target":120084},{"sys":120085},{"id":117883,"type":1001,"linkType":1002},[],{"data":120088,"content":120089,"nodeType":860},{},[120090,120093,120101],{"data":120091,"marks":120092,"value":21,"nodeType":864},{},[],{"data":120094,"content":120097,"nodeType":27604},{"target":120095},{"sys":120096},{"id":117895,"type":1001,"linkType":1002},[120098],{"data":120099,"marks":120100,"value":30213,"nodeType":864},{},[],{"data":120102,"marks":120103,"value":21,"nodeType":864},{},[],{"data":120105,"content":120106,"nodeType":1312},{},[120107],{"data":120108,"marks":120109,"value":117845,"nodeType":864},{},[],{"data":120111,"content":120112,"nodeType":860},{},[120113,120116,120120,120123,120127],{"data":120114,"marks":120115,"value":117915,"nodeType":864},{},[],{"data":120117,"marks":120118,"value":117920,"nodeType":864},{},[120119],{"type":899},{"data":120121,"marks":120122,"value":117924,"nodeType":864},{},[],{"data":120124,"marks":120125,"value":28678,"nodeType":864},{},[120126],{"type":899},{"data":120128,"marks":120129,"value":117932,"nodeType":864},{},[],{"data":120131,"content":120134,"nodeType":996},{"target":120132},{"sys":120133},{"id":117937,"type":1001,"linkType":1002},[],{"data":120136,"content":120137,"nodeType":860},{},[120138,120141,120149],{"data":120139,"marks":120140,"value":21,"nodeType":864},{},[],{"data":120142,"content":120145,"nodeType":27604},{"target":120143},{"sys":120144},{"id":117949,"type":1001,"linkType":1002},[120146],{"data":120147,"marks":120148,"value":89634,"nodeType":864},{},[],{"data":120150,"marks":120151,"value":21,"nodeType":864},{},[],{"data":120153,"content":120154,"nodeType":1312},{},[120155],{"data":120156,"marks":120157,"value":117963,"nodeType":864},{},[],{"data":120159,"content":120160,"nodeType":860},{},[120161],{"data":120162,"marks":120163,"value":117970,"nodeType":864},{},[],{"data":120165,"content":120166,"nodeType":860},{},[120167],{"data":120168,"marks":120169,"value":117977,"nodeType":864},{},[],{"data":120171,"content":120172,"nodeType":860},{},[120173,120176,120182],{"data":120174,"marks":120175,"value":21,"nodeType":864},{},[],{"data":120177,"content":120178,"nodeType":883},{"uri":65752},[120179],{"data":120180,"marks":120181,"value":30213,"nodeType":864},{},[],{"data":120183,"marks":120184,"value":21,"nodeType":864},{},[],{"data":120186,"content":120187,"nodeType":1312},{},[120188],{"data":120189,"marks":120190,"value":117999,"nodeType":864},{},[],{"data":120192,"content":120193,"nodeType":860},{},[120194,120197,120201],{"data":120195,"marks":120196,"value":118006,"nodeType":864},{},[],{"data":120198,"marks":120199,"value":118011,"nodeType":864},{},[120200],{"type":899},{"data":120202,"marks":120203,"value":118015,"nodeType":864},{},[],{"data":120205,"content":120206,"nodeType":860},{},[120207,120210,120214],{"data":120208,"marks":120209,"value":118022,"nodeType":864},{},[],{"data":120211,"marks":120212,"value":118011,"nodeType":864},{},[120213],{"type":899},{"data":120215,"marks":120216,"value":118030,"nodeType":864},{},[],{"data":120218,"content":120221,"nodeType":996},{"target":120219},{"sys":120220},{"id":118035,"type":1001,"linkType":1002},[],{"data":120223,"content":120224,"nodeType":860},{},[120225,120228,120236],{"data":120226,"marks":120227,"value":21,"nodeType":864},{},[],{"data":120229,"content":120232,"nodeType":27604},{"target":120230},{"sys":120231},{"id":118047,"type":1001,"linkType":1002},[120233],{"data":120234,"marks":120235,"value":89634,"nodeType":864},{},[],{"data":120237,"marks":120238,"value":21,"nodeType":864},{},[],{"items":120240},[120241],{"sys":120242,"name":73498},{"id":73497},{"items":120244},[120245],{"fullName":79005,"firstName":79006,"jobTitle":79007,"profilePicture":120246},{"url":79009},{"__typename":2059,"sys":120248,"content":120250,"title":120506,"synopsis":120507,"hashTags":59,"publishedDate":120508,"slug":120509,"tagsCollection":120510,"authorsCollection":120514},{"id":120249},"58EOJUfsjNpdEYtKyQVYHM",{"json":120251},{"data":120252,"content":120253,"nodeType":856},{},[120254,120260,120303,120308,120315,120322,120336,120342,120359,120366,120381,120387,120404,120410,120431,120437,120457,120463,120470,120494,120500],{"data":120255,"content":120256,"nodeType":1312},{},[120257],{"data":120258,"marks":120259,"value":117629,"nodeType":864},{},[],{"data":120261,"content":120262,"nodeType":941},{},[120263,120273,120283,120293],{"data":120264,"content":120265,"nodeType":945},{},[120266],{"data":120267,"content":120268,"nodeType":860},{},[120269],{"data":120270,"marks":120271,"value":120272,"nodeType":864},{},[],"Push REST API and webhooks available in beta",{"data":120274,"content":120275,"nodeType":945},{},[120276],{"data":120277,"content":120278,"nodeType":860},{},[120279],{"data":120280,"marks":120281,"value":120282,"nodeType":864},{},[],"View activity for all apps in your environment",{"data":120284,"content":120285,"nodeType":945},{},[120286],{"data":120287,"content":120288,"nodeType":860},{},[120289],{"data":120290,"marks":120291,"value":120292,"nodeType":864},{},[],"Easier cleanup of old or shared accounts",{"data":120294,"content":120295,"nodeType":945},{},[120296],{"data":120297,"content":120298,"nodeType":860},{},[120299],{"data":120300,"marks":120301,"value":120302,"nodeType":864},{},[],"SAML login detection",{"data":120304,"content":120307,"nodeType":996},{"target":120305},{"sys":120306},{"id":102281,"type":1001,"linkType":1002},[],{"data":120309,"content":120310,"nodeType":1312},{},[120311],{"data":120312,"marks":120313,"value":120314,"nodeType":864},{},[],"Explore Push’s new REST API and webhooks",{"data":120316,"content":120317,"nodeType":860},{},[120318],{"data":120319,"marks":120320,"value":120321,"nodeType":864},{},[],"Now you can send Push data to a SIEM, or create real-time updates for events that occur on the platform, such as triggering a support ticket (or whatever else you’d like to do with Push data!), using our new REST API and webhooks, available in public beta.",{"data":120323,"content":120324,"nodeType":860},{},[120325,120329,120333],{"data":120326,"marks":120327,"value":120328,"nodeType":864},{},[],"You can configure the API and set up webhooks on the ",{"data":120330,"marks":120331,"value":28678,"nodeType":864},{},[120332],{"type":899},{"data":120334,"marks":120335,"value":117932,"nodeType":864},{},[],{"data":120337,"content":120341,"nodeType":996},{"target":120338},{"sys":120339},{"id":120340,"type":1001,"linkType":1002},"6aKaM2QlTFX6Tdap3Luwpi",[],{"data":120343,"content":120344,"nodeType":860},{},[120345,120348,120356],{"data":120346,"marks":120347,"value":21,"nodeType":864},{},[],{"data":120349,"content":120350,"nodeType":883},{"uri":90269},[120351],{"data":120352,"marks":120353,"value":120355,"nodeType":864},{},[120354],{"type":1455},"Developer documentation",{"data":120357,"marks":120358,"value":21,"nodeType":864},{},[],{"data":120360,"content":120361,"nodeType":1312},{},[120362],{"data":120363,"marks":120364,"value":120365,"nodeType":864},{},[],"See activity for all apps in your environment",{"data":120367,"content":120368,"nodeType":860},{},[120369,120373,120377],{"data":120370,"marks":120371,"value":120372,"nodeType":864},{},[],"See other apps that Push has discovered in your environment that it doesn’t recognize as commonly used work apps. You’ll find these “other apps” accessible from the ",{"data":120374,"marks":120375,"value":65672,"nodeType":864},{},[120376],{"type":899},{"data":120378,"marks":120379,"value":120380,"nodeType":864},{},[]," page in the admin console. Over time, we’ll be working to make it easy to request support for these apps, so you can monitor those you care about.",{"data":120382,"content":120386,"nodeType":996},{"target":120383},{"sys":120384},{"id":120385,"type":1001,"linkType":1002},"5tuTL1XuuDytbskxUewP2Q",[],{"data":120388,"content":120389,"nodeType":860},{},[120390,120393,120401],{"data":120391,"marks":120392,"value":21,"nodeType":864},{},[],{"data":120394,"content":120397,"nodeType":27604},{"target":120395},{"sys":120396},{"id":79342,"type":1001,"linkType":1002},[120398],{"data":120399,"marks":120400,"value":79249,"nodeType":864},{},[],{"data":120402,"marks":120403,"value":21,"nodeType":864},{},[],{"data":120405,"content":120406,"nodeType":1312},{},[120407],{"data":120408,"marks":120409,"value":120292,"nodeType":864},{},[],{"data":120411,"content":120412,"nodeType":860},{},[120413,120417,120427],{"data":120414,"marks":120415,"value":120416,"nodeType":864},{},[],"If you need to do any cleanup of your inventory (or to help with employee offboarding), you can now select accounts in Push you wish to forget. ",{"data":120418,"content":120422,"nodeType":27604},{"target":120419},{"sys":120420},{"id":120421,"type":1001,"linkType":1002},"7lTCPjP5xRnvBlJI7aesWd",[120423],{"data":120424,"marks":120425,"value":120426,"nodeType":864},{},[],"Forgetting an account",{"data":120428,"marks":120429,"value":120430,"nodeType":864},{},[]," will remove that data from Push, but not impact the employee record itself. ",{"data":120432,"content":120436,"nodeType":996},{"target":120433},{"sys":120434},{"id":120435,"type":1001,"linkType":1002},"2Z9cdE7lttKORRVQDfDcOu",[],{"data":120438,"content":120439,"nodeType":860},{},[120440,120443,120453],{"data":120441,"marks":120442,"value":79305,"nodeType":864},{},[],{"data":120444,"content":120448,"nodeType":27604},{"target":120445},{"sys":120446},{"id":120447,"type":1001,"linkType":1002},"HbTn8sH2kV9CHHHeXpt9s",[120449],{"data":120450,"marks":120451,"value":120452,"nodeType":864},{},[],"resolve findings for shared accounts",{"data":120454,"marks":120455,"value":120456,"nodeType":864},{},[]," that have been remediated. If Push sees the account get shared again, a new finding will appear.",{"data":120458,"content":120462,"nodeType":996},{"target":120459},{"sys":120460},{"id":120461,"type":1001,"linkType":1002},"14bJ6ze4qC45uA9hHdVIme",[],{"data":120464,"content":120465,"nodeType":1312},{},[120466],{"data":120467,"marks":120468,"value":120469,"nodeType":864},{},[],"See login methods, including SAML",{"data":120471,"content":120472,"nodeType":860},{},[120473,120477,120482,120486,120490],{"data":120474,"marks":120475,"value":120476,"nodeType":864},{},[],"The Push browser extension can now detect when logins occur via SAML, in addition to OIDC and password logins, giving you more context as you monitor how employees access work apps. You’ll see SAML appear in the Push admin console wherever ",{"data":120478,"marks":120479,"value":120481,"nodeType":864},{},[120480],{"type":899},"Login methods",{"data":120483,"marks":120484,"value":120485,"nodeType":864},{},[]," are shown, such as the ",{"data":120487,"marks":120488,"value":65701,"nodeType":864},{},[120489],{"type":899},{"data":120491,"marks":120492,"value":120493,"nodeType":864},{},[]," page and the account details slideout. ",{"data":120495,"content":120499,"nodeType":996},{"target":120496},{"sys":120497},{"id":120498,"type":1001,"linkType":1002},"59K4tBnQtiZkgppOulwKzD",[],{"data":120501,"content":120502,"nodeType":860},{},[120503],{"data":120504,"marks":120505,"value":21,"nodeType":864},{},[],"Product release: January 2024","Here’s what’s new on the Push platform for January 2024.","2024-01-09T00:00:00.000Z","product-release-january-2024",{"items":120511},[120512],{"sys":120513,"name":73498},{"id":73497},{"items":120515},[120516],{"fullName":79005,"firstName":79006,"jobTitle":79007,"profilePicture":120517},{"url":79009},"blog/product-release-april-2024",{"json":120520},{"data":120521,"content":120522,"nodeType":856},{},[120523],{"data":120524,"content":120525,"nodeType":860},{},[120526],{"data":120527,"marks":120528,"value":120529,"nodeType":864},{},[],"Get faster insights with the Push dashboard, integrate with Okta to enrich your data, and try the new 'acknowledge' mode for app banners",{"id":117618,"publishedAt":120531},"2026-08-12T11:55:27.777Z",{"items":120533},[120534],{"sys":120535,"name":73498},{"id":73497},{"items":120537},[120538,120540,120542,120544,120546],{"sys":120539,"name":297,"slug":298,"tier":31},{"id":294},{"sys":120541,"name":413,"slug":414,"tier":31},{"id":410},{"sys":120543,"name":545,"slug":546,"tier":31},{"id":542},{"sys":120545,"name":589,"slug":590,"tier":45},{"id":586},{"sys":120547,"name":580,"slug":581,"tier":45},{"id":577},"vWEZFzwUpr6DNiRiWfuZL19xPehQRtFjUaVSnj7nsq0",{"id":120550,"title":120551,"authorsCollection":120552,"content":120556,"extension":228,"faqItemsCollection":121040,"faqTitle":59,"featured":6,"hashTags":59,"meta":121042,"metaTitle":121043,"ogImage":59,"postType":47747,"publishedDate":121044,"relatedBlogPostsCollection":121045,"slug":121741,"stem":121742,"subtitle":59,"summary":121743,"synopsis":121754,"sys":121755,"tagsCollection":121758,"topicsCollection":121764,"__hash__":121782},"blog/blog/a-year-of-building-top-features-we-shipped-this-year.json","A year of building: Top features we shipped this year",{"items":120553},[120554],{"fullName":79005,"firstName":79006,"jobTitle":79007,"socialLinks":59,"profilePicture":120555},{"url":79009},{"json":120557,"links":120992},{"data":120558,"content":120559,"nodeType":856},{},[120560,120567,120574,120581,120608,120615,120621,120637,120656,120688,120694,120701,120708,120715,120722,120729,120734,120741,120748,120766,120773,120874,120881,120888,120895,120920,120940,120964,120985],{"data":120561,"content":120562,"nodeType":860},{},[120563],{"data":120564,"marks":120565,"value":120566,"nodeType":864},{},[],"As we look back at a year of building on the Product team at Push, three big themes stand out:",{"data":120568,"content":120569,"nodeType":1312},{},[120570],{"data":120571,"marks":120572,"value":120573,"nodeType":864},{},[],"Cloud identities are increasingly under attack",{"data":120575,"content":120576,"nodeType":860},{},[120577],{"data":120578,"marks":120579,"value":120580,"nodeType":864},{},[],"A big focus for us this year was to deepen our understanding of the landscape of adversarial techniques in the world of emerging SaaS-first attacks that don’t touch the endpoint or network, and it’s clear they are becoming both more prevalent and more advanced.",{"data":120582,"content":120583,"nodeType":860},{},[120584,120587,120593,120597,120604],{"data":120585,"marks":120586,"value":21,"nodeType":864},{},[],{"data":120588,"content":120589,"nodeType":883},{"uri":92739},[120590],{"data":120591,"marks":120592,"value":333,"nodeType":864},{},[],{"data":120594,"marks":120595,"value":120596,"nodeType":864},{},[]," is the internet’s most prolific attack vector today. In December 2023, ",{"data":120598,"content":120600,"nodeType":883},{"uri":120599},"https://www.microsoft.com/en-us/security/security-insider/microsoft-digital-defense-report-2023-state-of-cybercrime",[120601],{"data":120602,"marks":120603,"value":7834,"nodeType":864},{},[],{"data":120605,"marks":120606,"value":120607,"nodeType":864},{},[]," that attempted password attacks against Entra have increased to an average of 4,000 per second. This is a tenfold increase from the same time period in 2022.",{"data":120609,"content":120610,"nodeType":860},{},[120611],{"data":120612,"marks":120613,"value":120614,"nodeType":864},{},[],"To help address this, our app helps you quickly determine which accounts are at highest risk of attack by highlighting which use passwords (as opposed to SSO), have a weak or leaked password, and don’t have MFA. We built a dashboard that brings all this together, allowing you to quickly zero in on at-risk accounts — you can even filter it by the apps that house sensitive data to have a focused starting place.",{"data":120616,"content":120620,"nodeType":996},{"target":120617},{"sys":120618},{"id":120619,"type":1001,"linkType":1002},"3tuUzr0DOhxUs6ytxCHUcg",[],{"data":120622,"content":120623,"nodeType":860},{},[120624,120627,120634],{"data":120625,"marks":120626,"value":21,"nodeType":864},{},[],{"data":120628,"content":120629,"nodeType":883},{"uri":117699},[120630],{"data":120631,"marks":120632,"value":120633,"nodeType":864},{},[],"Explore the dashboard >>",{"data":120635,"marks":120636,"value":21,"nodeType":864},{},[],{"data":120638,"content":120639,"nodeType":860},{},[120640,120644,120652],{"data":120641,"marks":120642,"value":120643,"nodeType":864},{},[],"We also spent the last year going deep into emerging methods that are powerful but lesser-known, publishing our ",{"data":120645,"content":120648,"nodeType":27604},{"target":120646},{"sys":120647},{"id":101509,"type":1001,"linkType":1002},[120649],{"data":120650,"marks":120651,"value":5765,"nodeType":864},{},[],{"data":120653,"marks":120654,"value":120655,"nodeType":864},{},[]," project on Github.",{"data":120657,"content":120658,"nodeType":860},{},[120659,120663,120672,120676,120684],{"data":120660,"marks":120661,"value":120662,"nodeType":864},{},[],"Just a few months after publishing the project, we’ve seen increasingly ",{"data":120664,"content":120667,"nodeType":27604},{"target":120665},{"sys":120666},{"id":95225,"type":1001,"linkType":1002},[120668],{"data":120669,"marks":120670,"value":120671,"nodeType":864},{},[],"regular headlines",{"data":120673,"marks":120674,"value":120675,"nodeType":864},{},[]," from organizations battling cloud-native attacks that target insecure identities. It’s abundantly clear that we are seeing ",{"data":120677,"content":120679,"nodeType":883},{"uri":120678},"https://www.ncsc.gov.uk/news/svr-cyber-actors-adapt-tactics-for-initial-cloud-access",[120680],{"data":120681,"marks":120682,"value":120683,"nodeType":864},{},[],"real-world attacks",{"data":120685,"marks":120686,"value":120687,"nodeType":864},{},[]," shifting to an organization’s cloud and SaaS attack surface.",{"data":120689,"content":120693,"nodeType":996},{"target":120690},{"sys":120691},{"id":120692,"type":1001,"linkType":1002},"79wGG37CY7aBdRrdjO5eQY",[],{"data":120695,"content":120696,"nodeType":860},{},[120697],{"data":120698,"marks":120699,"value":120700,"nodeType":864},{},[],"As a product, Push will continue to leverage its privileged position in the browser to do even more to prevent and detect identity-based attacks in the coming months. ",{"data":120702,"content":120703,"nodeType":1312},{},[120704],{"data":120705,"marks":120706,"value":120707,"nodeType":864},{},[],"Being in the browser is invaluable for securing identities — and we’re going to push the power further",{"data":120709,"content":120710,"nodeType":860},{},[120711],{"data":120712,"marks":120713,"value":120714,"nodeType":864},{},[],"Beyond providing the most reliable telemetry for managing identity security posture, being in the browser means that Push can engage directly with end-users to encourage security best practices.",{"data":120716,"content":120717,"nodeType":860},{},[120718],{"data":120719,"marks":120720,"value":120721,"nodeType":864},{},[],"Over the last year in conversations with customers, we kept hearing a phrase repeated: “I just need to add some guardrails to help employees.”",{"data":120723,"content":120724,"nodeType":860},{},[120725],{"data":120726,"marks":120727,"value":120728,"nodeType":864},{},[],"The idea was born for our most popular feature to date: The app banner.",{"data":120730,"content":120733,"nodeType":996},{"target":120731},{"sys":120732},{"id":117883,"type":1001,"linkType":1002},[],{"data":120735,"content":120736,"nodeType":860},{},[120737],{"data":120738,"marks":120739,"value":120740,"nodeType":864},{},[],"App banners are custom messages that appear on the signup and login pages of an app and provide quick contextual guidance to employees. They’re fully customizable to match an organization’s policies and voice – even their preferred language (we’ve got at least 1 customer using bilingual app banners). ",{"data":120742,"content":120743,"nodeType":860},{},[120744],{"data":120745,"marks":120746,"value":120747,"nodeType":864},{},[],"We’ll be continuing to iterate on this feature, with more ideas in store.",{"data":120749,"content":120750,"nodeType":860},{},[120751,120754,120763],{"data":120752,"marks":120753,"value":21,"nodeType":864},{},[],{"data":120755,"content":120758,"nodeType":27604},{"target":120756},{"sys":120757},{"id":117895,"type":1001,"linkType":1002},[120759],{"data":120760,"marks":120761,"value":120762,"nodeType":864},{},[],"More about app banners >>",{"data":120764,"marks":120765,"value":21,"nodeType":864},{},[],{"data":120767,"content":120768,"nodeType":860},{},[120769],{"data":120770,"marks":120771,"value":120772,"nodeType":864},{},[],"Other features we shipped this year that rely on Push’s position in the browser:",{"data":120774,"content":120775,"nodeType":941},{},[120776,120839],{"data":120777,"content":120778,"nodeType":945},{},[120779,120786],{"data":120780,"content":120781,"nodeType":860},{},[120782],{"data":120783,"marks":120784,"value":120785,"nodeType":864},{},[],"Assuring password quality:",{"data":120787,"content":120788,"nodeType":941},{},[120789],{"data":120790,"content":120791,"nodeType":945},{},[120792,120813],{"data":120793,"content":120794,"nodeType":860},{},[120795,120799,120809],{"data":120796,"marks":120797,"value":120798,"nodeType":864},{},[],"Ability to ",{"data":120800,"content":120804,"nodeType":27604},{"target":120801},{"sys":120802},{"id":120803,"type":1001,"linkType":1002},"5d9a04bd-bde1-4012-9b91-175e6c90d75c",[120805],{"data":120806,"marks":120807,"value":120808,"nodeType":864},{},[],"detect leaked passwords",{"data":120810,"marks":120811,"value":120812,"nodeType":864},{},[]," by comparing a k-anonymized salted hash of a password and the corresponding username to the Have I Been Pwned data set.",{"data":120814,"content":120815,"nodeType":941},{},[120816],{"data":120817,"content":120818,"nodeType":945},{},[120819],{"data":120820,"content":120821,"nodeType":860},{},[120822,120825,120835],{"data":120823,"marks":120824,"value":120798,"nodeType":864},{},[],{"data":120826,"content":120830,"nodeType":27604},{"target":120827},{"sys":120828},{"id":120829,"type":1001,"linkType":1002},"cc8f7924-0248-4267-b974-2d6c8559955f",[120831],{"data":120832,"marks":120833,"value":120834,"nodeType":864},{},[],"flag passwords that use restricted terms",{"data":120836,"marks":120837,"value":120838,"nodeType":864},{},[],", such as the company name. Administrators can customize this word list.",{"data":120840,"content":120841,"nodeType":945},{},[120842,120849],{"data":120843,"content":120844,"nodeType":860},{},[120845],{"data":120846,"marks":120847,"value":120848,"nodeType":864},{},[],"Guiding end-users at the point of need:",{"data":120850,"content":120851,"nodeType":941},{},[120852],{"data":120853,"content":120854,"nodeType":945},{},[120855],{"data":120856,"content":120857,"nodeType":860},{},[120858,120862,120870],{"data":120859,"marks":120860,"value":120861,"nodeType":864},{},[],"Ability to set ",{"data":120863,"content":120865,"nodeType":883},{"uri":120864},"/blog/product-release-march-2023/#id-catch-weak-passwords-before-they-happen-with-new-push-labs-feature",[120866],{"data":120867,"marks":120868,"value":120869,"nodeType":864},{},[],"inline browser prompts",{"data":120871,"marks":120872,"value":120873,"nodeType":864},{},[]," that alert end-users when they’re signing up or logging in to an app with a weak or reused password and provide them with guidance on fixing the issue.",{"data":120875,"content":120876,"nodeType":1312},{},[120877],{"data":120878,"marks":120879,"value":120880,"nodeType":864},{},[],"Organizations don’t need more ‘data’ — they need context and control",{"data":120882,"content":120883,"nodeType":860},{},[120884],{"data":120885,"marks":120886,"value":120887,"nodeType":864},{},[],"A big puzzle we set out to solve this year was how to give customers the context they needed to identify risks and enact decisions about their cloud identities and SaaS estate, without contributing to the noise so commonly associated with legacy tools.",{"data":120889,"content":120890,"nodeType":860},{},[120891],{"data":120892,"marks":120893,"value":120894,"nodeType":864},{},[],"Here’s how we are approaching the solution and what we built this year.",{"data":120896,"content":120897,"nodeType":860},{},[120898,120903,120907,120916],{"data":120899,"marks":120900,"value":120902,"nodeType":864},{},[120901],{"type":899},"Focus on showing core work apps — but make it possible to see everything:",{"data":120904,"marks":120905,"value":120906,"nodeType":864},{},[]," We recently added the ability to see all apps that employees access with their company credentials so customers can get a fuller picture of their identity and app sprawl. This improves the coverage of their app estate. But we also made a conscious choice to segment out those ",{"data":120908,"content":120911,"nodeType":27604},{"target":120909},{"sys":120910},{"id":79342,"type":1001,"linkType":1002},[120912],{"data":120913,"marks":120914,"value":120915,"nodeType":864},{},[],"“other apps”",{"data":120917,"marks":120918,"value":120919,"nodeType":864},{},[]," (which could be unrelated to work) from the main data tables in the Push platform so the noise is minimal. ",{"data":120921,"content":120922,"nodeType":860},{},[120923,120927,120936],{"data":120924,"marks":120925,"value":120926,"nodeType":864},{},[],"Similarly, Push also now supports the ability to ",{"data":120928,"content":120931,"nodeType":27604},{"target":120929},{"sys":120930},{"id":117949,"type":1001,"linkType":1002},[120932],{"data":120933,"marks":120934,"value":120935,"nodeType":864},{},[],"monitor all email domains",{"data":120937,"marks":120938,"value":120939,"nodeType":864},{},[]," an employee might use to access work apps, filling in the gaps for users who may be accessing company assets with personal accounts.",{"data":120941,"content":120942,"nodeType":860},{},[120943,120948,120952,120960],{"data":120944,"marks":120945,"value":120947,"nodeType":864},{},[120946],{"type":899},"Give important context by surfacing login methods:",{"data":120949,"marks":120950,"value":120951,"nodeType":864},{},[]," One data point we’ve made a point of enriching in Push this year is ",{"data":120953,"content":120955,"nodeType":883},{"uri":120954},"/help/audience/administrators/docs/view-saas-apps-and-employee-activity/#view-app-usage-details",[120956],{"data":120957,"marks":120958,"value":120959,"nodeType":864},{},[],"login methods",{"data":120961,"marks":120962,"value":120963,"nodeType":864},{},[],". We can now detect if an employee is accessing an app using SAML, OIDC, or local password.",{"data":120965,"content":120966,"nodeType":860},{},[120967,120971,120981],{"data":120968,"marks":120969,"value":120970,"nodeType":864},{},[],"First, this information helps security teams understand where users are actually using apps (unlike legacy solutions that only show network traffic). Second, it helps security teams gauge their progress toward ",{"data":120972,"content":120976,"nodeType":27604},{"target":120973},{"sys":120974},{"id":120975,"type":1001,"linkType":1002},"6rflXTFCRMvmM8JU8ZPSCt",[120977],{"data":120978,"marks":120979,"value":120980,"nodeType":864},{},[],"reducing identity sprawl",{"data":120982,"marks":120983,"value":120984,"nodeType":864},{},[]," by reducing the use of unmanaged accounts — important context for achieving security goals.",{"data":120986,"content":120987,"nodeType":860},{},[120988],{"data":120989,"marks":120990,"value":120991,"nodeType":864},{},[],"We’re now turning our attention to continue providing meaningful controls — building on the success of our employee guardrails, like app banners, as well as new features for detecting attacks, blocking malicious sites, and preventing phishing. Lots more to come!\n\n",{"entries":120993},{"inline":120994,"hyperlink":120995,"block":121023},[],[120996,120998,121000,121002,121007,121012,121014,121019],{"sys":120997,"__typename":2059,"title":102289,"slug":102292},{"id":101509},{"sys":120999,"__typename":2059,"title":106703,"slug":106706},{"id":95225},{"sys":121001,"__typename":2059,"title":118855,"slug":118857},{"id":117895},{"sys":121003,"__typename":79413,"title":121004,"slug":121005,"articleId":121006},{"id":120803},"How does Push determine if a password is weak, leaked, or reused?","how-does-push-determine-if-a-password-is-weak",10066,{"sys":121008,"__typename":79413,"title":121009,"slug":121010,"articleId":121011},{"id":120829},"How does Push evaluate passwords containing words restricted by an administrator?","how-does-push-evaluate-passwords-containing-words-restricted-by-an",10067,{"sys":121013,"__typename":79413,"title":79419,"slug":79420,"articleId":79421},{"id":79342},{"sys":121015,"__typename":79413,"title":121016,"slug":121017,"articleId":121018},{"id":117949},"Can I use Push to detect personal or non-work accounts?","can-i-use-push-to-detect-personal-or-non-work-accounts",10105,{"sys":121020,"__typename":2059,"title":121021,"slug":121022},{"id":120975},"5 ways to defeat identity-based attacks","5-ways-to-defeat-identity-based-attacks",[121024,121031,121037],{"sys":121025,"__typename":1724,"title":121026,"caption":59,"layoutMode":59,"file":121027},{"id":120619},"Vulnerable identities panel - dashboard detail",{"url":121028,"width":121029,"height":121030},"https://images.ctfassets.net/y1cdw1ablpvd/4SnzvmPFHZxqokQghHqbQt/74122fdab8a0af9bdc499b17ce4dd145/vuln_identities_panel.png",1868,890,{"sys":121032,"__typename":1724,"title":121033,"caption":59,"layoutMode":59,"file":121034},{"id":120692},"Identity Security Attack Graphic",{"url":121035,"width":121036,"height":41540},"https://images.ctfassets.net/y1cdw1ablpvd/4x0xxIRhYLw1v8NyXfSIKG/e10b949c8d5694239dc3d9e0a0e9d7a2/IdentitySecurity101_A.png",2560,{"sys":121038,"__typename":1724,"title":118485,"caption":59,"layoutMode":59,"file":121039},{"id":117883},{"url":118487,"width":118488,"height":118489},{"items":121041},[],{},"Top Push Security product features we shipped this year","2024-03-28T00:00:00.000Z",{"items":121046},[121047,121275,121513],{"__typename":2059,"sys":121048,"content":121049,"title":118055,"synopsis":118056,"hashTags":59,"publishedDate":118057,"slug":118058,"tagsCollection":121267,"authorsCollection":121271},{"id":117812},{"json":121050},{"data":121051,"content":121052,"nodeType":856},{},[121053,121059,121098,121104,121110,121115,121132,121138,121158,121163,121180,121186,121192,121198,121213,121219,121232,121245,121250],{"data":121054,"content":121055,"nodeType":1312},{},[121056],{"data":121057,"marks":121058,"value":117629,"nodeType":864},{},[],{"data":121060,"content":121061,"nodeType":941},{},[121062,121071,121080,121089],{"data":121063,"content":121064,"nodeType":945},{},[121065],{"data":121066,"content":121067,"nodeType":860},{},[121068],{"data":121069,"marks":121070,"value":117835,"nodeType":864},{},[],{"data":121072,"content":121073,"nodeType":945},{},[121074],{"data":121075,"content":121076,"nodeType":860},{},[121077],{"data":121078,"marks":121079,"value":117845,"nodeType":864},{},[],{"data":121081,"content":121082,"nodeType":945},{},[121083],{"data":121084,"content":121085,"nodeType":860},{},[121086],{"data":121087,"marks":121088,"value":117855,"nodeType":864},{},[],{"data":121090,"content":121091,"nodeType":945},{},[121092],{"data":121093,"content":121094,"nodeType":860},{},[121095],{"data":121096,"marks":121097,"value":117865,"nodeType":864},{},[],{"data":121099,"content":121100,"nodeType":1312},{},[121101],{"data":121102,"marks":121103,"value":117835,"nodeType":864},{},[],{"data":121105,"content":121106,"nodeType":860},{},[121107],{"data":121108,"marks":121109,"value":117878,"nodeType":864},{},[],{"data":121111,"content":121114,"nodeType":996},{"target":121112},{"sys":121113},{"id":117883,"type":1001,"linkType":1002},[],{"data":121116,"content":121117,"nodeType":860},{},[121118,121121,121129],{"data":121119,"marks":121120,"value":21,"nodeType":864},{},[],{"data":121122,"content":121125,"nodeType":27604},{"target":121123},{"sys":121124},{"id":117895,"type":1001,"linkType":1002},[121126],{"data":121127,"marks":121128,"value":30213,"nodeType":864},{},[],{"data":121130,"marks":121131,"value":21,"nodeType":864},{},[],{"data":121133,"content":121134,"nodeType":1312},{},[121135],{"data":121136,"marks":121137,"value":117845,"nodeType":864},{},[],{"data":121139,"content":121140,"nodeType":860},{},[121141,121144,121148,121151,121155],{"data":121142,"marks":121143,"value":117915,"nodeType":864},{},[],{"data":121145,"marks":121146,"value":117920,"nodeType":864},{},[121147],{"type":899},{"data":121149,"marks":121150,"value":117924,"nodeType":864},{},[],{"data":121152,"marks":121153,"value":28678,"nodeType":864},{},[121154],{"type":899},{"data":121156,"marks":121157,"value":117932,"nodeType":864},{},[],{"data":121159,"content":121162,"nodeType":996},{"target":121160},{"sys":121161},{"id":117937,"type":1001,"linkType":1002},[],{"data":121164,"content":121165,"nodeType":860},{},[121166,121169,121177],{"data":121167,"marks":121168,"value":21,"nodeType":864},{},[],{"data":121170,"content":121173,"nodeType":27604},{"target":121171},{"sys":121172},{"id":117949,"type":1001,"linkType":1002},[121174],{"data":121175,"marks":121176,"value":89634,"nodeType":864},{},[],{"data":121178,"marks":121179,"value":21,"nodeType":864},{},[],{"data":121181,"content":121182,"nodeType":1312},{},[121183],{"data":121184,"marks":121185,"value":117963,"nodeType":864},{},[],{"data":121187,"content":121188,"nodeType":860},{},[121189],{"data":121190,"marks":121191,"value":117970,"nodeType":864},{},[],{"data":121193,"content":121194,"nodeType":860},{},[121195],{"data":121196,"marks":121197,"value":117977,"nodeType":864},{},[],{"data":121199,"content":121200,"nodeType":860},{},[121201,121204,121210],{"data":121202,"marks":121203,"value":21,"nodeType":864},{},[],{"data":121205,"content":121206,"nodeType":883},{"uri":65752},[121207],{"data":121208,"marks":121209,"value":30213,"nodeType":864},{},[],{"data":121211,"marks":121212,"value":21,"nodeType":864},{},[],{"data":121214,"content":121215,"nodeType":1312},{},[121216],{"data":121217,"marks":121218,"value":117999,"nodeType":864},{},[],{"data":121220,"content":121221,"nodeType":860},{},[121222,121225,121229],{"data":121223,"marks":121224,"value":118006,"nodeType":864},{},[],{"data":121226,"marks":121227,"value":118011,"nodeType":864},{},[121228],{"type":899},{"data":121230,"marks":121231,"value":118015,"nodeType":864},{},[],{"data":121233,"content":121234,"nodeType":860},{},[121235,121238,121242],{"data":121236,"marks":121237,"value":118022,"nodeType":864},{},[],{"data":121239,"marks":121240,"value":118011,"nodeType":864},{},[121241],{"type":899},{"data":121243,"marks":121244,"value":118030,"nodeType":864},{},[],{"data":121246,"content":121249,"nodeType":996},{"target":121247},{"sys":121248},{"id":118035,"type":1001,"linkType":1002},[],{"data":121251,"content":121252,"nodeType":860},{},[121253,121256,121264],{"data":121254,"marks":121255,"value":21,"nodeType":864},{},[],{"data":121257,"content":121260,"nodeType":27604},{"target":121258},{"sys":121259},{"id":118047,"type":1001,"linkType":1002},[121261],{"data":121262,"marks":121263,"value":89634,"nodeType":864},{},[],{"data":121265,"marks":121266,"value":21,"nodeType":864},{},[],{"items":121268},[121269],{"sys":121270,"name":73498},{"id":73497},{"items":121272},[121273],{"fullName":79005,"firstName":79006,"jobTitle":79007,"profilePicture":121274},{"url":79009},{"__typename":2059,"sys":121276,"content":121277,"title":120506,"synopsis":120507,"hashTags":59,"publishedDate":120508,"slug":120509,"tagsCollection":121505,"authorsCollection":121509},{"id":120249},{"json":121278},{"data":121279,"content":121280,"nodeType":856},{},[121281,121287,121326,121331,121337,121343,121356,121361,121377,121383,121396,121401,121418,121424,121441,121446,121463,121468,121474,121494,121499],{"data":121282,"content":121283,"nodeType":1312},{},[121284],{"data":121285,"marks":121286,"value":117629,"nodeType":864},{},[],{"data":121288,"content":121289,"nodeType":941},{},[121290,121299,121308,121317],{"data":121291,"content":121292,"nodeType":945},{},[121293],{"data":121294,"content":121295,"nodeType":860},{},[121296],{"data":121297,"marks":121298,"value":120272,"nodeType":864},{},[],{"data":121300,"content":121301,"nodeType":945},{},[121302],{"data":121303,"content":121304,"nodeType":860},{},[121305],{"data":121306,"marks":121307,"value":120282,"nodeType":864},{},[],{"data":121309,"content":121310,"nodeType":945},{},[121311],{"data":121312,"content":121313,"nodeType":860},{},[121314],{"data":121315,"marks":121316,"value":120292,"nodeType":864},{},[],{"data":121318,"content":121319,"nodeType":945},{},[121320],{"data":121321,"content":121322,"nodeType":860},{},[121323],{"data":121324,"marks":121325,"value":120302,"nodeType":864},{},[],{"data":121327,"content":121330,"nodeType":996},{"target":121328},{"sys":121329},{"id":102281,"type":1001,"linkType":1002},[],{"data":121332,"content":121333,"nodeType":1312},{},[121334],{"data":121335,"marks":121336,"value":120314,"nodeType":864},{},[],{"data":121338,"content":121339,"nodeType":860},{},[121340],{"data":121341,"marks":121342,"value":120321,"nodeType":864},{},[],{"data":121344,"content":121345,"nodeType":860},{},[121346,121349,121353],{"data":121347,"marks":121348,"value":120328,"nodeType":864},{},[],{"data":121350,"marks":121351,"value":28678,"nodeType":864},{},[121352],{"type":899},{"data":121354,"marks":121355,"value":117932,"nodeType":864},{},[],{"data":121357,"content":121360,"nodeType":996},{"target":121358},{"sys":121359},{"id":120340,"type":1001,"linkType":1002},[],{"data":121362,"content":121363,"nodeType":860},{},[121364,121367,121374],{"data":121365,"marks":121366,"value":21,"nodeType":864},{},[],{"data":121368,"content":121369,"nodeType":883},{"uri":90269},[121370],{"data":121371,"marks":121372,"value":120355,"nodeType":864},{},[121373],{"type":1455},{"data":121375,"marks":121376,"value":21,"nodeType":864},{},[],{"data":121378,"content":121379,"nodeType":1312},{},[121380],{"data":121381,"marks":121382,"value":120365,"nodeType":864},{},[],{"data":121384,"content":121385,"nodeType":860},{},[121386,121389,121393],{"data":121387,"marks":121388,"value":120372,"nodeType":864},{},[],{"data":121390,"marks":121391,"value":65672,"nodeType":864},{},[121392],{"type":899},{"data":121394,"marks":121395,"value":120380,"nodeType":864},{},[],{"data":121397,"content":121400,"nodeType":996},{"target":121398},{"sys":121399},{"id":120385,"type":1001,"linkType":1002},[],{"data":121402,"content":121403,"nodeType":860},{},[121404,121407,121415],{"data":121405,"marks":121406,"value":21,"nodeType":864},{},[],{"data":121408,"content":121411,"nodeType":27604},{"target":121409},{"sys":121410},{"id":79342,"type":1001,"linkType":1002},[121412],{"data":121413,"marks":121414,"value":79249,"nodeType":864},{},[],{"data":121416,"marks":121417,"value":21,"nodeType":864},{},[],{"data":121419,"content":121420,"nodeType":1312},{},[121421],{"data":121422,"marks":121423,"value":120292,"nodeType":864},{},[],{"data":121425,"content":121426,"nodeType":860},{},[121427,121430,121438],{"data":121428,"marks":121429,"value":120416,"nodeType":864},{},[],{"data":121431,"content":121434,"nodeType":27604},{"target":121432},{"sys":121433},{"id":120421,"type":1001,"linkType":1002},[121435],{"data":121436,"marks":121437,"value":120426,"nodeType":864},{},[],{"data":121439,"marks":121440,"value":120430,"nodeType":864},{},[],{"data":121442,"content":121445,"nodeType":996},{"target":121443},{"sys":121444},{"id":120435,"type":1001,"linkType":1002},[],{"data":121447,"content":121448,"nodeType":860},{},[121449,121452,121460],{"data":121450,"marks":121451,"value":79305,"nodeType":864},{},[],{"data":121453,"content":121456,"nodeType":27604},{"target":121454},{"sys":121455},{"id":120447,"type":1001,"linkType":1002},[121457],{"data":121458,"marks":121459,"value":120452,"nodeType":864},{},[],{"data":121461,"marks":121462,"value":120456,"nodeType":864},{},[],{"data":121464,"content":121467,"nodeType":996},{"target":121465},{"sys":121466},{"id":120461,"type":1001,"linkType":1002},[],{"data":121469,"content":121470,"nodeType":1312},{},[121471],{"data":121472,"marks":121473,"value":120469,"nodeType":864},{},[],{"data":121475,"content":121476,"nodeType":860},{},[121477,121480,121484,121487,121491],{"data":121478,"marks":121479,"value":120476,"nodeType":864},{},[],{"data":121481,"marks":121482,"value":120481,"nodeType":864},{},[121483],{"type":899},{"data":121485,"marks":121486,"value":120485,"nodeType":864},{},[],{"data":121488,"marks":121489,"value":65701,"nodeType":864},{},[121490],{"type":899},{"data":121492,"marks":121493,"value":120493,"nodeType":864},{},[],{"data":121495,"content":121498,"nodeType":996},{"target":121496},{"sys":121497},{"id":120498,"type":1001,"linkType":1002},[],{"data":121500,"content":121501,"nodeType":860},{},[121502],{"data":121503,"marks":121504,"value":21,"nodeType":864},{},[],{"items":121506},[121507],{"sys":121508,"name":73498},{"id":73497},{"items":121510},[121511],{"fullName":79005,"firstName":79006,"jobTitle":79007,"profilePicture":121512},{"url":79009},{"__typename":2059,"sys":121514,"content":121516,"title":121729,"synopsis":121730,"hashTags":59,"publishedDate":121731,"slug":121732,"tagsCollection":121733,"authorsCollection":121737},{"id":121515},"419eJCECzN9ECKLsJD9vgs",{"json":121517},{"data":121518,"content":121519,"nodeType":856},{},[121520,121526,121559,121566,121582,121588,121605,121612,121628,121634,121652,121658,121672,121705,121712,121718,121723],{"data":121521,"content":121522,"nodeType":1312},{},[121523],{"data":121524,"marks":121525,"value":117629,"nodeType":864},{},[],{"data":121527,"content":121528,"nodeType":941},{},[121529,121539,121549],{"data":121530,"content":121531,"nodeType":945},{},[121532],{"data":121533,"content":121534,"nodeType":860},{},[121535],{"data":121536,"marks":121537,"value":121538,"nodeType":864},{},[],"New finding type for leaked passwords",{"data":121540,"content":121541,"nodeType":945},{},[121542],{"data":121543,"content":121544,"nodeType":860},{},[121545],{"data":121546,"marks":121547,"value":121548,"nodeType":864},{},[],"Automatic licensing option for new employees",{"data":121550,"content":121551,"nodeType":945},{},[121552],{"data":121553,"content":121554,"nodeType":860},{},[121555],{"data":121556,"marks":121557,"value":121558,"nodeType":864},{},[],"Improved filtering options",{"data":121560,"content":121561,"nodeType":1312},{},[121562],{"data":121563,"marks":121564,"value":121565,"nodeType":864},{},[],"Easily identify leaked passwords",{"data":121567,"content":121568,"nodeType":860},{},[121569,121573,121578],{"data":121570,"marks":121571,"value":121572,"nodeType":864},{},[],"We’ve added a filter to quickly identify any ",{"data":121574,"marks":121575,"value":121577,"nodeType":864},{},[121576],{"type":899},"leaked password findings",{"data":121579,"marks":121580,"value":121581,"nodeType":864},{},[]," among your employee accounts. You’ll also see leaked passwords listed as a separate security finding type on an account or employee record in the Push admin console, so it’s easier to distinguish those from other password vulnerabilities.",{"data":121583,"content":121587,"nodeType":996},{"target":121584},{"sys":121585},{"id":121586,"type":1001,"linkType":1002},"1bIPUfhQMnIIoyMDOebqqz",[],{"data":121589,"content":121590,"nodeType":860},{},[121591,121594,121602],{"data":121592,"marks":121593,"value":21,"nodeType":864},{},[],{"data":121595,"content":121598,"nodeType":27604},{"target":121596},{"sys":121597},{"id":120803,"type":1001,"linkType":1002},[121599],{"data":121600,"marks":121601,"value":30213,"nodeType":864},{},[],{"data":121603,"marks":121604,"value":21,"nodeType":864},{},[],{"data":121606,"content":121607,"nodeType":1312},{},[121608],{"data":121609,"marks":121610,"value":121611,"nodeType":864},{},[],"Save time by automatically licensing new employees",{"data":121613,"content":121614,"nodeType":860},{},[121615,121619,121624],{"data":121616,"marks":121617,"value":121618,"nodeType":864},{},[],"Efficiently protect new employees with our new ",{"data":121620,"marks":121621,"value":121623,"nodeType":864},{},[121622],{"type":899},"automatic licensing",{"data":121625,"marks":121626,"value":121627,"nodeType":864},{},[]," feature. Once you’ve deployed the Push browser extension to employee browsers, Push will identify the user of a browser and then license them on the platform automatically.",{"data":121629,"content":121633,"nodeType":996},{"target":121630},{"sys":121631},{"id":121632,"type":1001,"linkType":1002},"6DWCHqJdupN7smSfrL5dW7",[],{"data":121635,"content":121636,"nodeType":860},{},[121637,121640,121649],{"data":121638,"marks":121639,"value":21,"nodeType":864},{},[],{"data":121641,"content":121645,"nodeType":27604},{"target":121642},{"sys":121643},{"id":121644,"type":1001,"linkType":1002},"6S9daVUJa84AWkPNDgXpBU",[121646],{"data":121647,"marks":121648,"value":79249,"nodeType":864},{},[],{"data":121650,"marks":121651,"value":21,"nodeType":864},{},[],{"data":121653,"content":121654,"nodeType":1312},{},[121655],{"data":121656,"marks":121657,"value":121558,"nodeType":864},{},[],{"data":121659,"content":121660,"nodeType":860},{},[121661,121664,121668],{"data":121662,"marks":121663,"value":74483,"nodeType":864},{},[],{"data":121665,"marks":121666,"value":65701,"nodeType":864},{},[121667],{"type":899},{"data":121669,"marks":121670,"value":121671,"nodeType":864},{},[]," page, you can now filter by:",{"data":121673,"content":121674,"nodeType":941},{},[121675,121690],{"data":121676,"content":121677,"nodeType":945},{},[121678],{"data":121679,"content":121680,"nodeType":860},{},[121681,121686],{"data":121682,"marks":121683,"value":121685,"nodeType":864},{},[121684],{"type":899},"Identity provider and login method: ",{"data":121687,"marks":121688,"value":121689,"nodeType":864},{},[],"This makes it easier to identify accounts using specific IdPs and login methods (SAML, OIDC, or passwords), or any combination of those. We’ve also added timestamps for login methods, which you’ll see on the account details slideout.",{"data":121691,"content":121692,"nodeType":945},{},[121693],{"data":121694,"content":121695,"nodeType":860},{},[121696,121701],{"data":121697,"marks":121698,"value":121700,"nodeType":864},{},[121699],{"type":899},"App approval status or sensitivity: ",{"data":121702,"marks":121703,"value":121704,"nodeType":864},{},[],"This makes it easier to find accounts on high-value apps that have vulnerabilities, or see who’s still using unapproved apps. ",{"data":121706,"content":121707,"nodeType":860},{},[121708],{"data":121709,"marks":121710,"value":121711,"nodeType":864},{},[],"We’ve also made your selected filters easier to see by displaying them on the page when active.",{"data":121713,"content":121717,"nodeType":996},{"target":121714},{"sys":121715},{"id":121716,"type":1001,"linkType":1002},"6qydMrw4uidUGqi63tVlYU",[],{"data":121719,"content":121722,"nodeType":996},{"target":121720},{"sys":121721},{"id":102281,"type":1001,"linkType":1002},[],{"data":121724,"content":121725,"nodeType":860},{},[121726],{"data":121727,"marks":121728,"value":21,"nodeType":864},{},[],"Product release: November 2023","Here’s what’s new on the Push platform for November 2023.","2023-11-28T00:00:00.000Z","product-release-november-2023",{"items":121734},[121735],{"sys":121736,"name":73498},{"id":73497},{"items":121738},[121739],{"fullName":79005,"firstName":79006,"jobTitle":79007,"profilePicture":121740},{"url":79009},"a-year-of-building-top-features-we-shipped-this-year","blog/a-year-of-building-top-features-we-shipped-this-year",{"json":121744},{"data":121745,"content":121746,"nodeType":856},{},[121747],{"data":121748,"content":121749,"nodeType":860},{},[121750],{"data":121751,"marks":121752,"value":121753,"nodeType":864},{},[],"It’s been a year since Push announced our Series A round. We wanted to take a minute to share some highlights of what we’ve built over the last year on our mission of stopping identity attacks and tell a bit of the behind-the-scenes story of why.","Some highlights of what we've built over the last year on our mission of stopping identity attacks.",{"id":121756,"publishedAt":121757},"1uhswJr9ITxnhjIJur8UKL","2026-08-12T11:55:29.244Z",{"items":121759},[121760,121762],{"sys":121761,"name":73498},{"id":73497},{"sys":121763,"name":49660},{"id":49659},{"items":121765},[121766,121768,121770,121772,121774,121776,121778,121780],{"sys":121767,"name":297,"slug":298,"tier":31},{"id":294},{"sys":121769,"name":413,"slug":414,"tier":31},{"id":410},{"sys":121771,"name":545,"slug":546,"tier":31},{"id":542},{"sys":121773,"name":519,"slug":520,"tier":31},{"id":516},{"sys":121775,"name":333,"slug":334,"tier":45},{"id":330},{"sys":121777,"name":502,"slug":503,"tier":45},{"id":499},{"sys":121779,"name":589,"slug":590,"tier":45},{"id":586},{"sys":121781,"name":457,"slug":458,"tier":45},{"id":454},"kAgRoYyymohcaawMsSIzJwn3xu6QOSSuzG5krcpCOXM",{"id":121784,"title":106703,"authorsCollection":121785,"content":121790,"extension":228,"faqItemsCollection":124473,"faqTitle":59,"featured":6,"hashTags":59,"meta":124475,"metaTitle":124476,"ogImage":124477,"postType":5740,"publishedDate":106705,"relatedBlogPostsCollection":124479,"slug":106706,"stem":125156,"subtitle":59,"summary":125157,"synopsis":106704,"sys":125172,"tagsCollection":125174,"topicsCollection":125180,"__hash__":125222},"blog/blog/identity-attacks-in-the-wild.json",{"items":121786},[121787],{"fullName":2736,"firstName":2737,"jobTitle":2738,"socialLinks":121788,"profilePicture":121789},[11304],{"url":2740},{"json":121791,"links":124461},{"data":121792,"content":121793,"nodeType":856},{},[121794,121800,121826,121832,121837,121843,121859,121880,121886,121892,121912,121925,121931,121941,121947,121950,121956,121962,121975,121985,121994,122020,122023,122029,122045,122051,122058,122143,122149,122265,122271,122372,122378,122384,122544,122550,122556,122631,122634,122640,122646,122652,122709,122715,122745,122751,122790,122796,122802,123021,123027,123034,123040,123043,123049,123055,123061,123109,123115,123154,123160,123190,123196,123202,123362,123368,123375,123381,123388,123394,123401,123407,123410,123416,123422,123428,123485,123491,123521,123527,123557,123563,123569,123670,123673,123679,123685,123691,123748,123754,123784,123790,123820,123826,123832,123996,123999,124005,124011,124017,124083,124089,124119,124125,124155,124161,124167,124386,124389,124395,124401,124407,124413,124416,124422,124428,124434,124437,124443,124449,124455],{"data":121795,"content":121796,"nodeType":1009},{},[121797],{"data":121798,"marks":121799,"value":103774,"nodeType":864},{},[],{"data":121801,"content":121802,"nodeType":860},{},[121803,121806,121813,121816,121823],{"data":121804,"marks":121805,"value":103781,"nodeType":864},{},[],{"data":121807,"content":121808,"nodeType":883},{"uri":103784},[121809],{"data":121810,"marks":121811,"value":103790,"nodeType":864},{},[121812],{"type":1455},{"data":121814,"marks":121815,"value":103794,"nodeType":864},{},[],{"data":121817,"content":121818,"nodeType":883},{"uri":103797},[121819],{"data":121820,"marks":121821,"value":103803,"nodeType":864},{},[121822],{"type":1455},{"data":121824,"marks":121825,"value":2924,"nodeType":864},{},[],{"data":121827,"content":121828,"nodeType":860},{},[121829],{"data":121830,"marks":121831,"value":103813,"nodeType":864},{},[],{"data":121833,"content":121836,"nodeType":996},{"target":121834},{"sys":121835},{"id":103818,"type":1001,"linkType":1002},[],{"data":121838,"content":121839,"nodeType":860},{},[121840],{"data":121841,"marks":121842,"value":103826,"nodeType":864},{},[],{"data":121844,"content":121845,"nodeType":860},{},[121846,121849,121856],{"data":121847,"marks":121848,"value":103833,"nodeType":864},{},[],{"data":121850,"content":121851,"nodeType":883},{"uri":103836},[121852],{"data":121853,"marks":121854,"value":103842,"nodeType":864},{},[121855],{"type":1455},{"data":121857,"marks":121858,"value":103846,"nodeType":864},{},[],{"data":121860,"content":121861,"nodeType":941},{},[121862,121871],{"data":121863,"content":121864,"nodeType":945},{},[121865],{"data":121866,"content":121867,"nodeType":860},{},[121868],{"data":121869,"marks":121870,"value":103859,"nodeType":864},{},[],{"data":121872,"content":121873,"nodeType":945},{},[121874],{"data":121875,"content":121876,"nodeType":860},{},[121877],{"data":121878,"marks":121879,"value":103869,"nodeType":864},{},[],{"data":121881,"content":121882,"nodeType":860},{},[121883],{"data":121884,"marks":121885,"value":103876,"nodeType":864},{},[],{"data":121887,"content":121888,"nodeType":1312},{},[121889],{"data":121890,"marks":121891,"value":103883,"nodeType":864},{},[],{"data":121893,"content":121894,"nodeType":860},{},[121895,121898,121902,121905,121909],{"data":121896,"marks":121897,"value":103890,"nodeType":864},{},[],{"data":121899,"marks":121900,"value":103895,"nodeType":864},{},[121901],{"type":899},{"data":121903,"marks":121904,"value":103899,"nodeType":864},{},[],{"data":121906,"marks":121907,"value":103904,"nodeType":864},{},[121908],{"type":2246},{"data":121910,"marks":121911,"value":8618,"nodeType":864},{},[],{"data":121913,"content":121914,"nodeType":860},{},[121915,121918,121922],{"data":121916,"marks":121917,"value":103914,"nodeType":864},{},[],{"data":121919,"marks":121920,"value":103919,"nodeType":864},{},[121921],{"type":899},{"data":121923,"marks":121924,"value":103923,"nodeType":864},{},[],{"data":121926,"content":121927,"nodeType":860},{},[121928],{"data":121929,"marks":121930,"value":103930,"nodeType":864},{},[],{"data":121932,"content":121933,"nodeType":860},{},[121934,121937],{"data":121935,"marks":121936,"value":103937,"nodeType":864},{},[],{"data":121938,"marks":121939,"value":103942,"nodeType":864},{},[121940],{"type":899},{"data":121942,"content":121943,"nodeType":860},{},[121944],{"data":121945,"marks":121946,"value":103949,"nodeType":864},{},[],{"data":121948,"content":121949,"nodeType":1005},{},[],{"data":121951,"content":121952,"nodeType":1009},{},[121953],{"data":121954,"marks":121955,"value":103959,"nodeType":864},{},[],{"data":121957,"content":121958,"nodeType":860},{},[121959],{"data":121960,"marks":121961,"value":103966,"nodeType":864},{},[],{"data":121963,"content":121964,"nodeType":860},{},[121965,121968,121972],{"data":121966,"marks":121967,"value":103973,"nodeType":864},{},[],{"data":121969,"marks":121970,"value":103978,"nodeType":864},{},[121971],{"type":2246},{"data":121973,"marks":121974,"value":103982,"nodeType":864},{},[],{"data":121976,"content":121977,"nodeType":860},{},[121978,121981],{"data":121979,"marks":121980,"value":103989,"nodeType":864},{},[],{"data":121982,"marks":121983,"value":103994,"nodeType":864},{},[121984],{"type":899},{"data":121986,"content":121987,"nodeType":860},{},[121988,121991],{"data":121989,"marks":121990,"value":104001,"nodeType":864},{},[],{"data":121992,"marks":121993,"value":104005,"nodeType":864},{},[],{"data":121995,"content":121996,"nodeType":860},{},[121997,122000,122007,122010,122017],{"data":121998,"marks":121999,"value":104012,"nodeType":864},{},[],{"data":122001,"content":122002,"nodeType":883},{"uri":5243},[122003],{"data":122004,"marks":122005,"value":5248,"nodeType":864},{},[122006],{"type":1455},{"data":122008,"marks":122009,"value":104023,"nodeType":864},{},[],{"data":122011,"content":122012,"nodeType":883},{"uri":104026},[122013],{"data":122014,"marks":122015,"value":104032,"nodeType":864},{},[122016],{"type":1455},{"data":122018,"marks":122019,"value":1774,"nodeType":864},{},[],{"data":122021,"content":122022,"nodeType":1005},{},[],{"data":122024,"content":122025,"nodeType":1009},{},[122026],{"data":122027,"marks":122028,"value":104045,"nodeType":864},{},[],{"data":122030,"content":122031,"nodeType":860},{},[122032,122035,122042],{"data":122033,"marks":122034,"value":104052,"nodeType":864},{},[],{"data":122036,"content":122037,"nodeType":883},{"uri":18533},[122038],{"data":122039,"marks":122040,"value":104060,"nodeType":864},{},[122041],{"type":1455},{"data":122043,"marks":122044,"value":12252,"nodeType":864},{},[],{"data":122046,"content":122047,"nodeType":1312},{},[122048],{"data":122049,"marks":122050,"value":104070,"nodeType":864},{},[],{"data":122052,"content":122053,"nodeType":860},{},[122054],{"data":122055,"marks":122056,"value":104078,"nodeType":864},{},[122057],{"type":2246},{"data":122059,"content":122060,"nodeType":941},{},[122061,122070,122089,122098,122107,122116,122125,122134],{"data":122062,"content":122063,"nodeType":945},{},[122064],{"data":122065,"content":122066,"nodeType":860},{},[122067],{"data":122068,"marks":122069,"value":104091,"nodeType":864},{},[],{"data":122071,"content":122072,"nodeType":945},{},[122073],{"data":122074,"content":122075,"nodeType":860},{},[122076,122079,122086],{"data":122077,"marks":122078,"value":104101,"nodeType":864},{},[],{"data":122080,"content":122081,"nodeType":883},{"uri":81682},[122082],{"data":122083,"marks":122084,"value":104109,"nodeType":864},{},[122085],{"type":1455},{"data":122087,"marks":122088,"value":104113,"nodeType":864},{},[],{"data":122090,"content":122091,"nodeType":945},{},[122092],{"data":122093,"content":122094,"nodeType":860},{},[122095],{"data":122096,"marks":122097,"value":104123,"nodeType":864},{},[],{"data":122099,"content":122100,"nodeType":945},{},[122101],{"data":122102,"content":122103,"nodeType":860},{},[122104],{"data":122105,"marks":122106,"value":34354,"nodeType":864},{},[],{"data":122108,"content":122109,"nodeType":945},{},[122110],{"data":122111,"content":122112,"nodeType":860},{},[122113],{"data":122114,"marks":122115,"value":34364,"nodeType":864},{},[],{"data":122117,"content":122118,"nodeType":945},{},[122119],{"data":122120,"content":122121,"nodeType":860},{},[122122],{"data":122123,"marks":122124,"value":34374,"nodeType":864},{},[],{"data":122126,"content":122127,"nodeType":945},{},[122128],{"data":122129,"content":122130,"nodeType":860},{},[122131],{"data":122132,"marks":122133,"value":104160,"nodeType":864},{},[],{"data":122135,"content":122136,"nodeType":945},{},[122137],{"data":122138,"content":122139,"nodeType":860},{},[122140],{"data":122141,"marks":122142,"value":104170,"nodeType":864},{},[],{"data":122144,"content":122145,"nodeType":1312},{},[122146],{"data":122147,"marks":122148,"value":104177,"nodeType":864},{},[],{"data":122150,"content":122151,"nodeType":941},{},[122152,122168,122194,122217,122233,122249],{"data":122153,"content":122154,"nodeType":945},{},[122155],{"data":122156,"content":122157,"nodeType":860},{},[122158,122161,122165],{"data":122159,"marks":122160,"value":104190,"nodeType":864},{},[],{"data":122162,"marks":122163,"value":104195,"nodeType":864},{},[122164],{"type":899},{"data":122166,"marks":122167,"value":104199,"nodeType":864},{},[],{"data":122169,"content":122170,"nodeType":945},{},[122171],{"data":122172,"content":122173,"nodeType":860},{},[122174,122177,122181,122184,122191],{"data":122175,"marks":122176,"value":104209,"nodeType":864},{},[],{"data":122178,"marks":122179,"value":104214,"nodeType":864},{},[122180],{"type":899},{"data":122182,"marks":122183,"value":104218,"nodeType":864},{},[],{"data":122185,"content":122186,"nodeType":883},{"uri":34109},[122187],{"data":122188,"marks":122189,"value":34115,"nodeType":864},{},[122190],{"type":1455},{"data":122192,"marks":122193,"value":34119,"nodeType":864},{},[],{"data":122195,"content":122196,"nodeType":945},{},[122197],{"data":122198,"content":122199,"nodeType":860},{},[122200,122203,122207,122210,122214],{"data":122201,"marks":122202,"value":104238,"nodeType":864},{},[],{"data":122204,"marks":122205,"value":104243,"nodeType":864},{},[122206],{"type":899},{"data":122208,"marks":122209,"value":104247,"nodeType":864},{},[],{"data":122211,"marks":122212,"value":104252,"nodeType":864},{},[122213],{"type":899},{"data":122215,"marks":122216,"value":104256,"nodeType":864},{},[],{"data":122218,"content":122219,"nodeType":945},{},[122220],{"data":122221,"content":122222,"nodeType":860},{},[122223,122226,122230],{"data":122224,"marks":122225,"value":104266,"nodeType":864},{},[],{"data":122227,"marks":122228,"value":104271,"nodeType":864},{},[122229],{"type":899},{"data":122231,"marks":122232,"value":104275,"nodeType":864},{},[],{"data":122234,"content":122235,"nodeType":945},{},[122236],{"data":122237,"content":122238,"nodeType":860},{},[122239,122242,122246],{"data":122240,"marks":122241,"value":104285,"nodeType":864},{},[],{"data":122243,"marks":122244,"value":104290,"nodeType":864},{},[122245],{"type":899},{"data":122247,"marks":122248,"value":104294,"nodeType":864},{},[],{"data":122250,"content":122251,"nodeType":945},{},[122252],{"data":122253,"content":122254,"nodeType":860},{},[122255,122258,122262],{"data":122256,"marks":122257,"value":104304,"nodeType":864},{},[],{"data":122259,"marks":122260,"value":104309,"nodeType":864},{},[122261],{"type":899},{"data":122263,"marks":122264,"value":104313,"nodeType":864},{},[],{"data":122266,"content":122267,"nodeType":1312},{},[122268],{"data":122269,"marks":122270,"value":104320,"nodeType":864},{},[],{"data":122272,"content":122273,"nodeType":941},{},[122274,122290,122326,122349],{"data":122275,"content":122276,"nodeType":945},{},[122277],{"data":122278,"content":122279,"nodeType":860},{},[122280,122283,122287],{"data":122281,"marks":122282,"value":104333,"nodeType":864},{},[],{"data":122284,"marks":122285,"value":104338,"nodeType":864},{},[122286],{"type":899},{"data":122288,"marks":122289,"value":104342,"nodeType":864},{},[],{"data":122291,"content":122292,"nodeType":945},{},[122293],{"data":122294,"content":122295,"nodeType":860},{},[122296,122299,122306,122309,122313,122316,122323],{"data":122297,"marks":122298,"value":104352,"nodeType":864},{},[],{"data":122300,"content":122301,"nodeType":883},{"uri":104355},[122302],{"data":122303,"marks":122304,"value":17706,"nodeType":864},{},[122305],{"type":1455},{"data":122307,"marks":122308,"value":3731,"nodeType":864},{},[],{"data":122310,"marks":122311,"value":104368,"nodeType":864},{},[122312],{"type":899},{"data":122314,"marks":122315,"value":104372,"nodeType":864},{},[],{"data":122317,"content":122318,"nodeType":883},{"uri":87669},[122319],{"data":122320,"marks":122321,"value":104380,"nodeType":864},{},[122322],{"type":1455},{"data":122324,"marks":122325,"value":35977,"nodeType":864},{},[],{"data":122327,"content":122328,"nodeType":945},{},[122329],{"data":122330,"content":122331,"nodeType":860},{},[122332,122336,122339,122346],{"data":122333,"marks":122334,"value":104394,"nodeType":864},{},[122335],{"type":899},{"data":122337,"marks":122338,"value":104398,"nodeType":864},{},[],{"data":122340,"content":122341,"nodeType":883},{"uri":34519},[122342],{"data":122343,"marks":122344,"value":104406,"nodeType":864},{},[122345],{"type":1455},{"data":122347,"marks":122348,"value":104410,"nodeType":864},{},[],{"data":122350,"content":122351,"nodeType":945},{},[122352],{"data":122353,"content":122354,"nodeType":860},{},[122355,122358,122362,122365,122369],{"data":122356,"marks":122357,"value":104420,"nodeType":864},{},[],{"data":122359,"marks":122360,"value":104425,"nodeType":864},{},[122361],{"type":899},{"data":122363,"marks":122364,"value":104429,"nodeType":864},{},[],{"data":122366,"marks":122367,"value":104434,"nodeType":864},{},[122368],{"type":899},{"data":122370,"marks":122371,"value":104438,"nodeType":864},{},[],{"data":122373,"content":122374,"nodeType":1312},{},[122375],{"data":122376,"marks":122377,"value":104445,"nodeType":864},{},[],{"data":122379,"content":122380,"nodeType":860},{},[122381],{"data":122382,"marks":122383,"value":104452,"nodeType":864},{},[],{"data":122385,"content":122386,"nodeType":4845},{},[122387,122426,122485],{"data":122388,"content":122389,"nodeType":4581},{},[122390,122399,122408,122417],{"data":122391,"content":122392,"nodeType":7282},{},[122393],{"data":122394,"content":122395,"nodeType":860},{},[122396],{"data":122397,"marks":122398,"value":104468,"nodeType":864},{},[],{"data":122400,"content":122401,"nodeType":7282},{},[122402],{"data":122403,"content":122404,"nodeType":860},{},[122405],{"data":122406,"marks":122407,"value":104478,"nodeType":864},{},[],{"data":122409,"content":122410,"nodeType":7282},{},[122411],{"data":122412,"content":122413,"nodeType":860},{},[122414],{"data":122415,"marks":122416,"value":104488,"nodeType":864},{},[],{"data":122418,"content":122419,"nodeType":7282},{},[122420],{"data":122421,"content":122422,"nodeType":860},{},[122423],{"data":122424,"marks":122425,"value":104498,"nodeType":864},{},[],{"data":122427,"content":122428,"nodeType":4581},{},[122429,122448,122467,122476],{"data":122430,"content":122431,"nodeType":4569},{},[122432],{"data":122433,"content":122434,"nodeType":860},{},[122435,122438,122445],{"data":122436,"marks":122437,"value":21,"nodeType":864},{},[],{"data":122439,"content":122440,"nodeType":883},{"uri":26784},[122441],{"data":122442,"marks":122443,"value":104518,"nodeType":864},{},[122444],{"type":1455},{"data":122446,"marks":122447,"value":21,"nodeType":864},{},[],{"data":122449,"content":122450,"nodeType":4569},{},[122451],{"data":122452,"content":122453,"nodeType":860},{},[122454,122457,122464],{"data":122455,"marks":122456,"value":21,"nodeType":864},{},[],{"data":122458,"content":122459,"nodeType":883},{"uri":104355},[122460],{"data":122461,"marks":122462,"value":395,"nodeType":864},{},[122463],{"type":1455},{"data":122465,"marks":122466,"value":21,"nodeType":864},{},[],{"data":122468,"content":122469,"nodeType":4569},{},[122470],{"data":122471,"content":122472,"nodeType":860},{},[122473],{"data":122474,"marks":122475,"value":104550,"nodeType":864},{},[],{"data":122477,"content":122478,"nodeType":4569},{},[122479],{"data":122480,"content":122481,"nodeType":860},{},[122482],{"data":122483,"marks":122484,"value":104560,"nodeType":864},{},[],{"data":122486,"content":122487,"nodeType":4581},{},[122488,122507,122526,122535],{"data":122489,"content":122490,"nodeType":4569},{},[122491],{"data":122492,"content":122493,"nodeType":860},{},[122494,122497,122504],{"data":122495,"marks":122496,"value":21,"nodeType":864},{},[],{"data":122498,"content":122499,"nodeType":883},{"uri":42040},[122500],{"data":122501,"marks":122502,"value":104580,"nodeType":864},{},[122503],{"type":1455},{"data":122505,"marks":122506,"value":21,"nodeType":864},{},[],{"data":122508,"content":122509,"nodeType":4569},{},[122510],{"data":122511,"content":122512,"nodeType":860},{},[122513,122516,122523],{"data":122514,"marks":122515,"value":21,"nodeType":864},{},[],{"data":122517,"content":122518,"nodeType":883},{"uri":104595},[122519],{"data":122520,"marks":122521,"value":96158,"nodeType":864},{},[122522],{"type":1455},{"data":122524,"marks":122525,"value":21,"nodeType":864},{},[],{"data":122527,"content":122528,"nodeType":4569},{},[122529],{"data":122530,"content":122531,"nodeType":860},{},[122532],{"data":122533,"marks":122534,"value":104613,"nodeType":864},{},[],{"data":122536,"content":122537,"nodeType":4569},{},[122538],{"data":122539,"content":122540,"nodeType":860},{},[122541],{"data":122542,"marks":122543,"value":104623,"nodeType":864},{},[],{"data":122545,"content":122546,"nodeType":1312},{},[122547],{"data":122548,"marks":122549,"value":104630,"nodeType":864},{},[],{"data":122551,"content":122552,"nodeType":860},{},[122553],{"data":122554,"marks":122555,"value":104637,"nodeType":864},{},[],{"data":122557,"content":122558,"nodeType":941},{},[122559,122568,122577,122586,122595,122604,122613,122622],{"data":122560,"content":122561,"nodeType":945},{},[122562],{"data":122563,"content":122564,"nodeType":860},{},[122565],{"data":122566,"marks":122567,"value":104650,"nodeType":864},{},[],{"data":122569,"content":122570,"nodeType":945},{},[122571],{"data":122572,"content":122573,"nodeType":860},{},[122574],{"data":122575,"marks":122576,"value":104660,"nodeType":864},{},[],{"data":122578,"content":122579,"nodeType":945},{},[122580],{"data":122581,"content":122582,"nodeType":860},{},[122583],{"data":122584,"marks":122585,"value":104670,"nodeType":864},{},[],{"data":122587,"content":122588,"nodeType":945},{},[122589],{"data":122590,"content":122591,"nodeType":860},{},[122592],{"data":122593,"marks":122594,"value":104680,"nodeType":864},{},[],{"data":122596,"content":122597,"nodeType":945},{},[122598],{"data":122599,"content":122600,"nodeType":860},{},[122601],{"data":122602,"marks":122603,"value":104690,"nodeType":864},{},[],{"data":122605,"content":122606,"nodeType":945},{},[122607],{"data":122608,"content":122609,"nodeType":860},{},[122610],{"data":122611,"marks":122612,"value":104700,"nodeType":864},{},[],{"data":122614,"content":122615,"nodeType":945},{},[122616],{"data":122617,"content":122618,"nodeType":860},{},[122619],{"data":122620,"marks":122621,"value":104710,"nodeType":864},{},[],{"data":122623,"content":122624,"nodeType":945},{},[122625],{"data":122626,"content":122627,"nodeType":860},{},[122628],{"data":122629,"marks":122630,"value":104720,"nodeType":864},{},[],{"data":122632,"content":122633,"nodeType":1005},{},[],{"data":122635,"content":122636,"nodeType":1009},{},[122637],{"data":122638,"marks":122639,"value":104730,"nodeType":864},{},[],{"data":122641,"content":122642,"nodeType":860},{},[122643],{"data":122644,"marks":122645,"value":104737,"nodeType":864},{},[],{"data":122647,"content":122648,"nodeType":1312},{},[122649],{"data":122650,"marks":122651,"value":104744,"nodeType":864},{},[],{"data":122653,"content":122654,"nodeType":941},{},[122655,122664,122673,122682,122691,122700],{"data":122656,"content":122657,"nodeType":945},{},[122658],{"data":122659,"content":122660,"nodeType":860},{},[122661],{"data":122662,"marks":122663,"value":104757,"nodeType":864},{},[],{"data":122665,"content":122666,"nodeType":945},{},[122667],{"data":122668,"content":122669,"nodeType":860},{},[122670],{"data":122671,"marks":122672,"value":104767,"nodeType":864},{},[],{"data":122674,"content":122675,"nodeType":945},{},[122676],{"data":122677,"content":122678,"nodeType":860},{},[122679],{"data":122680,"marks":122681,"value":104777,"nodeType":864},{},[],{"data":122683,"content":122684,"nodeType":945},{},[122685],{"data":122686,"content":122687,"nodeType":860},{},[122688],{"data":122689,"marks":122690,"value":104787,"nodeType":864},{},[],{"data":122692,"content":122693,"nodeType":945},{},[122694],{"data":122695,"content":122696,"nodeType":860},{},[122697],{"data":122698,"marks":122699,"value":104797,"nodeType":864},{},[],{"data":122701,"content":122702,"nodeType":945},{},[122703],{"data":122704,"content":122705,"nodeType":860},{},[122706],{"data":122707,"marks":122708,"value":104807,"nodeType":864},{},[],{"data":122710,"content":122711,"nodeType":1312},{},[122712],{"data":122713,"marks":122714,"value":104814,"nodeType":864},{},[],{"data":122716,"content":122717,"nodeType":941},{},[122718,122727,122736],{"data":122719,"content":122720,"nodeType":945},{},[122721],{"data":122722,"content":122723,"nodeType":860},{},[122724],{"data":122725,"marks":122726,"value":104827,"nodeType":864},{},[],{"data":122728,"content":122729,"nodeType":945},{},[122730],{"data":122731,"content":122732,"nodeType":860},{},[122733],{"data":122734,"marks":122735,"value":104837,"nodeType":864},{},[],{"data":122737,"content":122738,"nodeType":945},{},[122739],{"data":122740,"content":122741,"nodeType":860},{},[122742],{"data":122743,"marks":122744,"value":104847,"nodeType":864},{},[],{"data":122746,"content":122747,"nodeType":1312},{},[122748],{"data":122749,"marks":122750,"value":104854,"nodeType":864},{},[],{"data":122752,"content":122753,"nodeType":941},{},[122754,122763,122772,122781],{"data":122755,"content":122756,"nodeType":945},{},[122757],{"data":122758,"content":122759,"nodeType":860},{},[122760],{"data":122761,"marks":122762,"value":104867,"nodeType":864},{},[],{"data":122764,"content":122765,"nodeType":945},{},[122766],{"data":122767,"content":122768,"nodeType":860},{},[122769],{"data":122770,"marks":122771,"value":104877,"nodeType":864},{},[],{"data":122773,"content":122774,"nodeType":945},{},[122775],{"data":122776,"content":122777,"nodeType":860},{},[122778],{"data":122779,"marks":122780,"value":104887,"nodeType":864},{},[],{"data":122782,"content":122783,"nodeType":945},{},[122784],{"data":122785,"content":122786,"nodeType":860},{},[122787],{"data":122788,"marks":122789,"value":104897,"nodeType":864},{},[],{"data":122791,"content":122792,"nodeType":1312},{},[122793],{"data":122794,"marks":122795,"value":104445,"nodeType":864},{},[],{"data":122797,"content":122798,"nodeType":860},{},[122799],{"data":122800,"marks":122801,"value":104452,"nodeType":864},{},[],{"data":122803,"content":122804,"nodeType":4845},{},[122805,122844,122903,122962],{"data":122806,"content":122807,"nodeType":4581},{},[122808,122817,122826,122835],{"data":122809,"content":122810,"nodeType":7282},{},[122811],{"data":122812,"content":122813,"nodeType":860},{},[122814],{"data":122815,"marks":122816,"value":104468,"nodeType":864},{},[],{"data":122818,"content":122819,"nodeType":7282},{},[122820],{"data":122821,"content":122822,"nodeType":860},{},[122823],{"data":122824,"marks":122825,"value":104934,"nodeType":864},{},[],{"data":122827,"content":122828,"nodeType":7282},{},[122829],{"data":122830,"content":122831,"nodeType":860},{},[122832],{"data":122833,"marks":122834,"value":104488,"nodeType":864},{},[],{"data":122836,"content":122837,"nodeType":7282},{},[122838],{"data":122839,"content":122840,"nodeType":860},{},[122841],{"data":122842,"marks":122843,"value":104498,"nodeType":864},{},[],{"data":122845,"content":122846,"nodeType":4581},{},[122847,122866,122885,122894],{"data":122848,"content":122849,"nodeType":4569},{},[122850],{"data":122851,"content":122852,"nodeType":860},{},[122853,122856,122863],{"data":122854,"marks":122855,"value":21,"nodeType":864},{},[],{"data":122857,"content":122858,"nodeType":883},{"uri":87924},[122859],{"data":122860,"marks":122861,"value":104972,"nodeType":864},{},[122862],{"type":1455},{"data":122864,"marks":122865,"value":21,"nodeType":864},{},[],{"data":122867,"content":122868,"nodeType":4569},{},[122869],{"data":122870,"content":122871,"nodeType":860},{},[122872,122875,122882],{"data":122873,"marks":122874,"value":21,"nodeType":864},{},[],{"data":122876,"content":122877,"nodeType":883},{"uri":104987},[122878],{"data":122879,"marks":122880,"value":333,"nodeType":864},{},[122881],{"type":1455},{"data":122883,"marks":122884,"value":21,"nodeType":864},{},[],{"data":122886,"content":122887,"nodeType":4569},{},[122888],{"data":122889,"content":122890,"nodeType":860},{},[122891],{"data":122892,"marks":122893,"value":105005,"nodeType":864},{},[],{"data":122895,"content":122896,"nodeType":4569},{},[122897],{"data":122898,"content":122899,"nodeType":860},{},[122900],{"data":122901,"marks":122902,"value":105015,"nodeType":864},{},[],{"data":122904,"content":122905,"nodeType":4581},{},[122906,122925,122944,122953],{"data":122907,"content":122908,"nodeType":4569},{},[122909],{"data":122910,"content":122911,"nodeType":860},{},[122912,122915,122922],{"data":122913,"marks":122914,"value":21,"nodeType":864},{},[],{"data":122916,"content":122917,"nodeType":883},{"uri":96375},[122918],{"data":122919,"marks":122920,"value":105035,"nodeType":864},{},[122921],{"type":1455},{"data":122923,"marks":122924,"value":21,"nodeType":864},{},[],{"data":122926,"content":122927,"nodeType":4569},{},[122928],{"data":122929,"content":122930,"nodeType":860},{},[122931,122934,122941],{"data":122932,"marks":122933,"value":21,"nodeType":864},{},[],{"data":122935,"content":122936,"nodeType":883},{"uri":105050},[122937],{"data":122938,"marks":122939,"value":96381,"nodeType":864},{},[122940],{"type":1455},{"data":122942,"marks":122943,"value":21,"nodeType":864},{},[],{"data":122945,"content":122946,"nodeType":4569},{},[122947],{"data":122948,"content":122949,"nodeType":860},{},[122950],{"data":122951,"marks":122952,"value":105068,"nodeType":864},{},[],{"data":122954,"content":122955,"nodeType":4569},{},[122956],{"data":122957,"content":122958,"nodeType":860},{},[122959],{"data":122960,"marks":122961,"value":105078,"nodeType":864},{},[],{"data":122963,"content":122964,"nodeType":4581},{},[122965,122984,123003,123012],{"data":122966,"content":122967,"nodeType":4569},{},[122968],{"data":122969,"content":122970,"nodeType":860},{},[122971,122974,122981],{"data":122972,"marks":122973,"value":21,"nodeType":864},{},[],{"data":122975,"content":122976,"nodeType":883},{"uri":96606},[122977],{"data":122978,"marks":122979,"value":105098,"nodeType":864},{},[122980],{"type":1455},{"data":122982,"marks":122983,"value":21,"nodeType":864},{},[],{"data":122985,"content":122986,"nodeType":4569},{},[122987],{"data":122988,"content":122989,"nodeType":860},{},[122990,122993,123000],{"data":122991,"marks":122992,"value":21,"nodeType":864},{},[],{"data":122994,"content":122995,"nodeType":883},{"uri":105113},[122996],{"data":122997,"marks":122998,"value":105119,"nodeType":864},{},[122999],{"type":1455},{"data":123001,"marks":123002,"value":21,"nodeType":864},{},[],{"data":123004,"content":123005,"nodeType":4569},{},[123006],{"data":123007,"content":123008,"nodeType":860},{},[123009],{"data":123010,"marks":123011,"value":105132,"nodeType":864},{},[],{"data":123013,"content":123014,"nodeType":4569},{},[123015],{"data":123016,"content":123017,"nodeType":860},{},[123018],{"data":123019,"marks":123020,"value":105142,"nodeType":864},{},[],{"data":123022,"content":123023,"nodeType":1312},{},[123024],{"data":123025,"marks":123026,"value":104630,"nodeType":864},{},[],{"data":123028,"content":123029,"nodeType":860},{},[123030],{"data":123031,"marks":123032,"value":105156,"nodeType":864},{},[123033],{"type":899},{"data":123035,"content":123036,"nodeType":860},{},[123037],{"data":123038,"marks":123039,"value":105163,"nodeType":864},{},[],{"data":123041,"content":123042,"nodeType":1005},{},[],{"data":123044,"content":123045,"nodeType":1009},{},[123046],{"data":123047,"marks":123048,"value":105173,"nodeType":864},{},[],{"data":123050,"content":123051,"nodeType":860},{},[123052],{"data":123053,"marks":123054,"value":105180,"nodeType":864},{},[],{"data":123056,"content":123057,"nodeType":1312},{},[123058],{"data":123059,"marks":123060,"value":105187,"nodeType":864},{},[],{"data":123062,"content":123063,"nodeType":941},{},[123064,123073,123082,123091,123100],{"data":123065,"content":123066,"nodeType":945},{},[123067],{"data":123068,"content":123069,"nodeType":860},{},[123070],{"data":123071,"marks":123072,"value":105200,"nodeType":864},{},[],{"data":123074,"content":123075,"nodeType":945},{},[123076],{"data":123077,"content":123078,"nodeType":860},{},[123079],{"data":123080,"marks":123081,"value":105210,"nodeType":864},{},[],{"data":123083,"content":123084,"nodeType":945},{},[123085],{"data":123086,"content":123087,"nodeType":860},{},[123088],{"data":123089,"marks":123090,"value":105220,"nodeType":864},{},[],{"data":123092,"content":123093,"nodeType":945},{},[123094],{"data":123095,"content":123096,"nodeType":860},{},[123097],{"data":123098,"marks":123099,"value":105230,"nodeType":864},{},[],{"data":123101,"content":123102,"nodeType":945},{},[123103],{"data":123104,"content":123105,"nodeType":860},{},[123106],{"data":123107,"marks":123108,"value":105240,"nodeType":864},{},[],{"data":123110,"content":123111,"nodeType":1312},{},[123112],{"data":123113,"marks":123114,"value":105247,"nodeType":864},{},[],{"data":123116,"content":123117,"nodeType":941},{},[123118,123127,123136,123145],{"data":123119,"content":123120,"nodeType":945},{},[123121],{"data":123122,"content":123123,"nodeType":860},{},[123124],{"data":123125,"marks":123126,"value":105260,"nodeType":864},{},[],{"data":123128,"content":123129,"nodeType":945},{},[123130],{"data":123131,"content":123132,"nodeType":860},{},[123133],{"data":123134,"marks":123135,"value":105270,"nodeType":864},{},[],{"data":123137,"content":123138,"nodeType":945},{},[123139],{"data":123140,"content":123141,"nodeType":860},{},[123142],{"data":123143,"marks":123144,"value":105280,"nodeType":864},{},[],{"data":123146,"content":123147,"nodeType":945},{},[123148],{"data":123149,"content":123150,"nodeType":860},{},[123151],{"data":123152,"marks":123153,"value":105290,"nodeType":864},{},[],{"data":123155,"content":123156,"nodeType":1312},{},[123157],{"data":123158,"marks":123159,"value":105297,"nodeType":864},{},[],{"data":123161,"content":123162,"nodeType":941},{},[123163,123172,123181],{"data":123164,"content":123165,"nodeType":945},{},[123166],{"data":123167,"content":123168,"nodeType":860},{},[123169],{"data":123170,"marks":123171,"value":105310,"nodeType":864},{},[],{"data":123173,"content":123174,"nodeType":945},{},[123175],{"data":123176,"content":123177,"nodeType":860},{},[123178],{"data":123179,"marks":123180,"value":105320,"nodeType":864},{},[],{"data":123182,"content":123183,"nodeType":945},{},[123184],{"data":123185,"content":123186,"nodeType":860},{},[123187],{"data":123188,"marks":123189,"value":105330,"nodeType":864},{},[],{"data":123191,"content":123192,"nodeType":1312},{},[123193],{"data":123194,"marks":123195,"value":104445,"nodeType":864},{},[],{"data":123197,"content":123198,"nodeType":860},{},[123199],{"data":123200,"marks":123201,"value":104452,"nodeType":864},{},[],{"data":123203,"content":123204,"nodeType":4845},{},[123205,123244,123303],{"data":123206,"content":123207,"nodeType":4581},{},[123208,123217,123226,123235],{"data":123209,"content":123210,"nodeType":7282},{},[123211],{"data":123212,"content":123213,"nodeType":860},{},[123214],{"data":123215,"marks":123216,"value":104468,"nodeType":864},{},[],{"data":123218,"content":123219,"nodeType":7282},{},[123220],{"data":123221,"content":123222,"nodeType":860},{},[123223],{"data":123224,"marks":123225,"value":104934,"nodeType":864},{},[],{"data":123227,"content":123228,"nodeType":7282},{},[123229],{"data":123230,"content":123231,"nodeType":860},{},[123232],{"data":123233,"marks":123234,"value":104488,"nodeType":864},{},[],{"data":123236,"content":123237,"nodeType":7282},{},[123238],{"data":123239,"content":123240,"nodeType":860},{},[123241],{"data":123242,"marks":123243,"value":104498,"nodeType":864},{},[],{"data":123245,"content":123246,"nodeType":4581},{},[123247,123266,123285,123294],{"data":123248,"content":123249,"nodeType":4569},{},[123250],{"data":123251,"content":123252,"nodeType":860},{},[123253,123256,123263],{"data":123254,"marks":123255,"value":21,"nodeType":864},{},[],{"data":123257,"content":123258,"nodeType":883},{"uri":87924},[123259],{"data":123260,"marks":123261,"value":104972,"nodeType":864},{},[123262],{"type":1455},{"data":123264,"marks":123265,"value":21,"nodeType":864},{},[],{"data":123267,"content":123268,"nodeType":4569},{},[123269],{"data":123270,"content":123271,"nodeType":860},{},[123272,123275,123282],{"data":123273,"marks":123274,"value":21,"nodeType":864},{},[],{"data":123276,"content":123277,"nodeType":883},{"uri":104987},[123278],{"data":123279,"marks":123280,"value":333,"nodeType":864},{},[123281],{"type":1455},{"data":123283,"marks":123284,"value":21,"nodeType":864},{},[],{"data":123286,"content":123287,"nodeType":4569},{},[123288],{"data":123289,"content":123290,"nodeType":860},{},[123291],{"data":123292,"marks":123293,"value":105005,"nodeType":864},{},[],{"data":123295,"content":123296,"nodeType":4569},{},[123297],{"data":123298,"content":123299,"nodeType":860},{},[123300],{"data":123301,"marks":123302,"value":105015,"nodeType":864},{},[],{"data":123304,"content":123305,"nodeType":4581},{},[123306,123325,123344,123353],{"data":123307,"content":123308,"nodeType":4569},{},[123309],{"data":123310,"content":123311,"nodeType":860},{},[123312,123315,123322],{"data":123313,"marks":123314,"value":21,"nodeType":864},{},[],{"data":123316,"content":123317,"nodeType":883},{"uri":105458},[123318],{"data":123319,"marks":123320,"value":105464,"nodeType":864},{},[123321],{"type":1455},{"data":123323,"marks":123324,"value":21,"nodeType":864},{},[],{"data":123326,"content":123327,"nodeType":4569},{},[123328],{"data":123329,"content":123330,"nodeType":860},{},[123331,123334,123341],{"data":123332,"marks":123333,"value":21,"nodeType":864},{},[],{"data":123335,"content":123336,"nodeType":883},{"uri":105479},[123337],{"data":123338,"marks":123339,"value":105485,"nodeType":864},{},[123340],{"type":1455},{"data":123342,"marks":123343,"value":21,"nodeType":864},{},[],{"data":123345,"content":123346,"nodeType":4569},{},[123347],{"data":123348,"content":123349,"nodeType":860},{},[123350],{"data":123351,"marks":123352,"value":105498,"nodeType":864},{},[],{"data":123354,"content":123355,"nodeType":4569},{},[123356],{"data":123357,"content":123358,"nodeType":860},{},[123359],{"data":123360,"marks":123361,"value":105508,"nodeType":864},{},[],{"data":123363,"content":123364,"nodeType":1312},{},[123365],{"data":123366,"marks":123367,"value":104630,"nodeType":864},{},[],{"data":123369,"content":123370,"nodeType":860},{},[123371],{"data":123372,"marks":123373,"value":105522,"nodeType":864},{},[123374],{"type":899},{"data":123376,"content":123377,"nodeType":860},{},[123378],{"data":123379,"marks":123380,"value":105529,"nodeType":864},{},[],{"data":123382,"content":123383,"nodeType":860},{},[123384],{"data":123385,"marks":123386,"value":105537,"nodeType":864},{},[123387],{"type":899},{"data":123389,"content":123390,"nodeType":860},{},[123391],{"data":123392,"marks":123393,"value":105544,"nodeType":864},{},[],{"data":123395,"content":123396,"nodeType":860},{},[123397],{"data":123398,"marks":123399,"value":105552,"nodeType":864},{},[123400],{"type":899},{"data":123402,"content":123403,"nodeType":860},{},[123404],{"data":123405,"marks":123406,"value":105559,"nodeType":864},{},[],{"data":123408,"content":123409,"nodeType":1005},{},[],{"data":123411,"content":123412,"nodeType":1009},{},[123413],{"data":123414,"marks":123415,"value":105569,"nodeType":864},{},[],{"data":123417,"content":123418,"nodeType":860},{},[123419],{"data":123420,"marks":123421,"value":105576,"nodeType":864},{},[],{"data":123423,"content":123424,"nodeType":1312},{},[123425],{"data":123426,"marks":123427,"value":105583,"nodeType":864},{},[],{"data":123429,"content":123430,"nodeType":941},{},[123431,123440,123449,123458,123467,123476],{"data":123432,"content":123433,"nodeType":945},{},[123434],{"data":123435,"content":123436,"nodeType":860},{},[123437],{"data":123438,"marks":123439,"value":105596,"nodeType":864},{},[],{"data":123441,"content":123442,"nodeType":945},{},[123443],{"data":123444,"content":123445,"nodeType":860},{},[123446],{"data":123447,"marks":123448,"value":105606,"nodeType":864},{},[],{"data":123450,"content":123451,"nodeType":945},{},[123452],{"data":123453,"content":123454,"nodeType":860},{},[123455],{"data":123456,"marks":123457,"value":105616,"nodeType":864},{},[],{"data":123459,"content":123460,"nodeType":945},{},[123461],{"data":123462,"content":123463,"nodeType":860},{},[123464],{"data":123465,"marks":123466,"value":105626,"nodeType":864},{},[],{"data":123468,"content":123469,"nodeType":945},{},[123470],{"data":123471,"content":123472,"nodeType":860},{},[123473],{"data":123474,"marks":123475,"value":105636,"nodeType":864},{},[],{"data":123477,"content":123478,"nodeType":945},{},[123479],{"data":123480,"content":123481,"nodeType":860},{},[123482],{"data":123483,"marks":123484,"value":105646,"nodeType":864},{},[],{"data":123486,"content":123487,"nodeType":1312},{},[123488],{"data":123489,"marks":123490,"value":105653,"nodeType":864},{},[],{"data":123492,"content":123493,"nodeType":941},{},[123494,123503,123512],{"data":123495,"content":123496,"nodeType":945},{},[123497],{"data":123498,"content":123499,"nodeType":860},{},[123500],{"data":123501,"marks":123502,"value":105666,"nodeType":864},{},[],{"data":123504,"content":123505,"nodeType":945},{},[123506],{"data":123507,"content":123508,"nodeType":860},{},[123509],{"data":123510,"marks":123511,"value":105676,"nodeType":864},{},[],{"data":123513,"content":123514,"nodeType":945},{},[123515],{"data":123516,"content":123517,"nodeType":860},{},[123518],{"data":123519,"marks":123520,"value":105686,"nodeType":864},{},[],{"data":123522,"content":123523,"nodeType":1312},{},[123524],{"data":123525,"marks":123526,"value":105693,"nodeType":864},{},[],{"data":123528,"content":123529,"nodeType":941},{},[123530,123539,123548],{"data":123531,"content":123532,"nodeType":945},{},[123533],{"data":123534,"content":123535,"nodeType":860},{},[123536],{"data":123537,"marks":123538,"value":105706,"nodeType":864},{},[],{"data":123540,"content":123541,"nodeType":945},{},[123542],{"data":123543,"content":123544,"nodeType":860},{},[123545],{"data":123546,"marks":123547,"value":105716,"nodeType":864},{},[],{"data":123549,"content":123550,"nodeType":945},{},[123551],{"data":123552,"content":123553,"nodeType":860},{},[123554],{"data":123555,"marks":123556,"value":105726,"nodeType":864},{},[],{"data":123558,"content":123559,"nodeType":1312},{},[123560],{"data":123561,"marks":123562,"value":104445,"nodeType":864},{},[],{"data":123564,"content":123565,"nodeType":860},{},[123566],{"data":123567,"marks":123568,"value":104452,"nodeType":864},{},[],{"data":123570,"content":123571,"nodeType":4845},{},[123572,123611],{"data":123573,"content":123574,"nodeType":4581},{},[123575,123584,123593,123602],{"data":123576,"content":123577,"nodeType":7282},{},[123578],{"data":123579,"content":123580,"nodeType":860},{},[123581],{"data":123582,"marks":123583,"value":104468,"nodeType":864},{},[],{"data":123585,"content":123586,"nodeType":7282},{},[123587],{"data":123588,"content":123589,"nodeType":860},{},[123590],{"data":123591,"marks":123592,"value":104934,"nodeType":864},{},[],{"data":123594,"content":123595,"nodeType":7282},{},[123596],{"data":123597,"content":123598,"nodeType":860},{},[123599],{"data":123600,"marks":123601,"value":104488,"nodeType":864},{},[],{"data":123603,"content":123604,"nodeType":7282},{},[123605],{"data":123606,"content":123607,"nodeType":860},{},[123608],{"data":123609,"marks":123610,"value":104498,"nodeType":864},{},[],{"data":123612,"content":123613,"nodeType":4581},{},[123614,123633,123652,123661],{"data":123615,"content":123616,"nodeType":4569},{},[123617],{"data":123618,"content":123619,"nodeType":860},{},[123620,123623,123630],{"data":123621,"marks":123622,"value":21,"nodeType":864},{},[],{"data":123624,"content":123625,"nodeType":883},{"uri":26938},[123626],{"data":123627,"marks":123628,"value":105800,"nodeType":864},{},[123629],{"type":1455},{"data":123631,"marks":123632,"value":21,"nodeType":864},{},[],{"data":123634,"content":123635,"nodeType":4569},{},[123636],{"data":123637,"content":123638,"nodeType":860},{},[123639,123642,123649],{"data":123640,"marks":123641,"value":21,"nodeType":864},{},[],{"data":123643,"content":123644,"nodeType":883},{"uri":105815},[123645],{"data":123646,"marks":123647,"value":105821,"nodeType":864},{},[123648],{"type":1455},{"data":123650,"marks":123651,"value":21,"nodeType":864},{},[],{"data":123653,"content":123654,"nodeType":4569},{},[123655],{"data":123656,"content":123657,"nodeType":860},{},[123658],{"data":123659,"marks":123660,"value":105834,"nodeType":864},{},[],{"data":123662,"content":123663,"nodeType":4569},{},[123664],{"data":123665,"content":123666,"nodeType":860},{},[123667],{"data":123668,"marks":123669,"value":105844,"nodeType":864},{},[],{"data":123671,"content":123672,"nodeType":1005},{},[],{"data":123674,"content":123675,"nodeType":1009},{},[123676],{"data":123677,"marks":123678,"value":105854,"nodeType":864},{},[],{"data":123680,"content":123681,"nodeType":860},{},[123682],{"data":123683,"marks":123684,"value":105861,"nodeType":864},{},[],{"data":123686,"content":123687,"nodeType":1312},{},[123688],{"data":123689,"marks":123690,"value":105868,"nodeType":864},{},[],{"data":123692,"content":123693,"nodeType":941},{},[123694,123703,123712,123721,123730,123739],{"data":123695,"content":123696,"nodeType":945},{},[123697],{"data":123698,"content":123699,"nodeType":860},{},[123700],{"data":123701,"marks":123702,"value":105881,"nodeType":864},{},[],{"data":123704,"content":123705,"nodeType":945},{},[123706],{"data":123707,"content":123708,"nodeType":860},{},[123709],{"data":123710,"marks":123711,"value":105891,"nodeType":864},{},[],{"data":123713,"content":123714,"nodeType":945},{},[123715],{"data":123716,"content":123717,"nodeType":860},{},[123718],{"data":123719,"marks":123720,"value":105901,"nodeType":864},{},[],{"data":123722,"content":123723,"nodeType":945},{},[123724],{"data":123725,"content":123726,"nodeType":860},{},[123727],{"data":123728,"marks":123729,"value":105911,"nodeType":864},{},[],{"data":123731,"content":123732,"nodeType":945},{},[123733],{"data":123734,"content":123735,"nodeType":860},{},[123736],{"data":123737,"marks":123738,"value":105921,"nodeType":864},{},[],{"data":123740,"content":123741,"nodeType":945},{},[123742],{"data":123743,"content":123744,"nodeType":860},{},[123745],{"data":123746,"marks":123747,"value":105931,"nodeType":864},{},[],{"data":123749,"content":123750,"nodeType":1312},{},[123751],{"data":123752,"marks":123753,"value":105938,"nodeType":864},{},[],{"data":123755,"content":123756,"nodeType":941},{},[123757,123766,123775],{"data":123758,"content":123759,"nodeType":945},{},[123760],{"data":123761,"content":123762,"nodeType":860},{},[123763],{"data":123764,"marks":123765,"value":105951,"nodeType":864},{},[],{"data":123767,"content":123768,"nodeType":945},{},[123769],{"data":123770,"content":123771,"nodeType":860},{},[123772],{"data":123773,"marks":123774,"value":105961,"nodeType":864},{},[],{"data":123776,"content":123777,"nodeType":945},{},[123778],{"data":123779,"content":123780,"nodeType":860},{},[123781],{"data":123782,"marks":123783,"value":105971,"nodeType":864},{},[],{"data":123785,"content":123786,"nodeType":1312},{},[123787],{"data":123788,"marks":123789,"value":105978,"nodeType":864},{},[],{"data":123791,"content":123792,"nodeType":941},{},[123793,123802,123811],{"data":123794,"content":123795,"nodeType":945},{},[123796],{"data":123797,"content":123798,"nodeType":860},{},[123799],{"data":123800,"marks":123801,"value":105991,"nodeType":864},{},[],{"data":123803,"content":123804,"nodeType":945},{},[123805],{"data":123806,"content":123807,"nodeType":860},{},[123808],{"data":123809,"marks":123810,"value":106001,"nodeType":864},{},[],{"data":123812,"content":123813,"nodeType":945},{},[123814],{"data":123815,"content":123816,"nodeType":860},{},[123817],{"data":123818,"marks":123819,"value":106011,"nodeType":864},{},[],{"data":123821,"content":123822,"nodeType":1312},{},[123823],{"data":123824,"marks":123825,"value":104445,"nodeType":864},{},[],{"data":123827,"content":123828,"nodeType":860},{},[123829],{"data":123830,"marks":123831,"value":104452,"nodeType":864},{},[],{"data":123833,"content":123834,"nodeType":4845},{},[123835,123874,123935],{"data":123836,"content":123837,"nodeType":4581},{},[123838,123847,123856,123865],{"data":123839,"content":123840,"nodeType":7282},{},[123841],{"data":123842,"content":123843,"nodeType":860},{},[123844],{"data":123845,"marks":123846,"value":104468,"nodeType":864},{},[],{"data":123848,"content":123849,"nodeType":7282},{},[123850],{"data":123851,"content":123852,"nodeType":860},{},[123853],{"data":123854,"marks":123855,"value":104934,"nodeType":864},{},[],{"data":123857,"content":123858,"nodeType":7282},{},[123859],{"data":123860,"content":123861,"nodeType":860},{},[123862],{"data":123863,"marks":123864,"value":104488,"nodeType":864},{},[],{"data":123866,"content":123867,"nodeType":7282},{},[123868],{"data":123869,"content":123870,"nodeType":860},{},[123871],{"data":123872,"marks":123873,"value":104498,"nodeType":864},{},[],{"data":123875,"content":123876,"nodeType":4581},{},[123877,123897,123917,123926],{"data":123878,"content":123879,"nodeType":4569},{},[123880],{"data":123881,"content":123882,"nodeType":860},{},[123883,123887,123894],{"data":123884,"marks":123885,"value":21,"nodeType":864},{},[123886],{"type":1455},{"data":123888,"content":123889,"nodeType":883},{"uri":42012},[123890],{"data":123891,"marks":123892,"value":106086,"nodeType":864},{},[123893],{"type":1455},{"data":123895,"marks":123896,"value":21,"nodeType":864},{},[],{"data":123898,"content":123899,"nodeType":4569},{},[123900],{"data":123901,"content":123902,"nodeType":860},{},[123903,123907,123914],{"data":123904,"marks":123905,"value":21,"nodeType":864},{},[123906],{"type":1455},{"data":123908,"content":123909,"nodeType":883},{"uri":106102},[123910],{"data":123911,"marks":123912,"value":106108,"nodeType":864},{},[123913],{"type":1455},{"data":123915,"marks":123916,"value":21,"nodeType":864},{},[],{"data":123918,"content":123919,"nodeType":4569},{},[123920],{"data":123921,"content":123922,"nodeType":860},{},[123923],{"data":123924,"marks":123925,"value":105005,"nodeType":864},{},[],{"data":123927,"content":123928,"nodeType":4569},{},[123929],{"data":123930,"content":123931,"nodeType":860},{},[123932],{"data":123933,"marks":123934,"value":106130,"nodeType":864},{},[],{"data":123936,"content":123937,"nodeType":4581},{},[123938,123957,123978,123987],{"data":123939,"content":123940,"nodeType":4569},{},[123941],{"data":123942,"content":123943,"nodeType":860},{},[123944,123947,123954],{"data":123945,"marks":123946,"value":21,"nodeType":864},{},[],{"data":123948,"content":123949,"nodeType":883},{"uri":106145},[123950],{"data":123951,"marks":123952,"value":106151,"nodeType":864},{},[123953],{"type":1455},{"data":123955,"marks":123956,"value":21,"nodeType":864},{},[],{"data":123958,"content":123959,"nodeType":4569},{},[123960],{"data":123961,"content":123962,"nodeType":860},{},[123963,123967,123974],{"data":123964,"marks":123965,"value":21,"nodeType":864},{},[123966],{"type":1455},{"data":123968,"content":123969,"nodeType":883},{"uri":106167},[123970],{"data":123971,"marks":123972,"value":106173,"nodeType":864},{},[123973],{"type":1455},{"data":123975,"marks":123976,"value":21,"nodeType":864},{},[123977],{"type":1455},{"data":123979,"content":123980,"nodeType":4569},{},[123981],{"data":123982,"content":123983,"nodeType":860},{},[123984],{"data":123985,"marks":123986,"value":106187,"nodeType":864},{},[],{"data":123988,"content":123989,"nodeType":4569},{},[123990],{"data":123991,"content":123992,"nodeType":860},{},[123993],{"data":123994,"marks":123995,"value":106197,"nodeType":864},{},[],{"data":123997,"content":123998,"nodeType":1005},{},[],{"data":124000,"content":124001,"nodeType":1009},{},[124002],{"data":124003,"marks":124004,"value":106207,"nodeType":864},{},[],{"data":124006,"content":124007,"nodeType":860},{},[124008],{"data":124009,"marks":124010,"value":106214,"nodeType":864},{},[],{"data":124012,"content":124013,"nodeType":1312},{},[124014],{"data":124015,"marks":124016,"value":106221,"nodeType":864},{},[],{"data":124018,"content":124019,"nodeType":941},{},[124020,124029,124038,124047,124056,124065,124074],{"data":124021,"content":124022,"nodeType":945},{},[124023],{"data":124024,"content":124025,"nodeType":860},{},[124026],{"data":124027,"marks":124028,"value":106234,"nodeType":864},{},[],{"data":124030,"content":124031,"nodeType":945},{},[124032],{"data":124033,"content":124034,"nodeType":860},{},[124035],{"data":124036,"marks":124037,"value":106244,"nodeType":864},{},[],{"data":124039,"content":124040,"nodeType":945},{},[124041],{"data":124042,"content":124043,"nodeType":860},{},[124044],{"data":124045,"marks":124046,"value":106254,"nodeType":864},{},[],{"data":124048,"content":124049,"nodeType":945},{},[124050],{"data":124051,"content":124052,"nodeType":860},{},[124053],{"data":124054,"marks":124055,"value":106264,"nodeType":864},{},[],{"data":124057,"content":124058,"nodeType":945},{},[124059],{"data":124060,"content":124061,"nodeType":860},{},[124062],{"data":124063,"marks":124064,"value":106274,"nodeType":864},{},[],{"data":124066,"content":124067,"nodeType":945},{},[124068],{"data":124069,"content":124070,"nodeType":860},{},[124071],{"data":124072,"marks":124073,"value":106284,"nodeType":864},{},[],{"data":124075,"content":124076,"nodeType":945},{},[124077],{"data":124078,"content":124079,"nodeType":860},{},[124080],{"data":124081,"marks":124082,"value":106294,"nodeType":864},{},[],{"data":124084,"content":124085,"nodeType":1312},{},[124086],{"data":124087,"marks":124088,"value":106301,"nodeType":864},{},[],{"data":124090,"content":124091,"nodeType":941},{},[124092,124101,124110],{"data":124093,"content":124094,"nodeType":945},{},[124095],{"data":124096,"content":124097,"nodeType":860},{},[124098],{"data":124099,"marks":124100,"value":106314,"nodeType":864},{},[],{"data":124102,"content":124103,"nodeType":945},{},[124104],{"data":124105,"content":124106,"nodeType":860},{},[124107],{"data":124108,"marks":124109,"value":106324,"nodeType":864},{},[],{"data":124111,"content":124112,"nodeType":945},{},[124113],{"data":124114,"content":124115,"nodeType":860},{},[124116],{"data":124117,"marks":124118,"value":106334,"nodeType":864},{},[],{"data":124120,"content":124121,"nodeType":1312},{},[124122],{"data":124123,"marks":124124,"value":106341,"nodeType":864},{},[],{"data":124126,"content":124127,"nodeType":941},{},[124128,124137,124146],{"data":124129,"content":124130,"nodeType":945},{},[124131],{"data":124132,"content":124133,"nodeType":860},{},[124134],{"data":124135,"marks":124136,"value":106354,"nodeType":864},{},[],{"data":124138,"content":124139,"nodeType":945},{},[124140],{"data":124141,"content":124142,"nodeType":860},{},[124143],{"data":124144,"marks":124145,"value":106364,"nodeType":864},{},[],{"data":124147,"content":124148,"nodeType":945},{},[124149],{"data":124150,"content":124151,"nodeType":860},{},[124152],{"data":124153,"marks":124154,"value":106374,"nodeType":864},{},[],{"data":124156,"content":124157,"nodeType":1312},{},[124158],{"data":124159,"marks":124160,"value":104445,"nodeType":864},{},[],{"data":124162,"content":124163,"nodeType":860},{},[124164],{"data":124165,"marks":124166,"value":104452,"nodeType":864},{},[],{"data":124168,"content":124169,"nodeType":4845},{},[124170,124209,124268,124327],{"data":124171,"content":124172,"nodeType":4581},{},[124173,124182,124191,124200],{"data":124174,"content":124175,"nodeType":7282},{},[124176],{"data":124177,"content":124178,"nodeType":860},{},[124179],{"data":124180,"marks":124181,"value":104468,"nodeType":864},{},[],{"data":124183,"content":124184,"nodeType":7282},{},[124185],{"data":124186,"content":124187,"nodeType":860},{},[124188],{"data":124189,"marks":124190,"value":104934,"nodeType":864},{},[],{"data":124192,"content":124193,"nodeType":7282},{},[124194],{"data":124195,"content":124196,"nodeType":860},{},[124197],{"data":124198,"marks":124199,"value":104488,"nodeType":864},{},[],{"data":124201,"content":124202,"nodeType":7282},{},[124203],{"data":124204,"content":124205,"nodeType":860},{},[124206],{"data":124207,"marks":124208,"value":104498,"nodeType":864},{},[],{"data":124210,"content":124211,"nodeType":4581},{},[124212,124231,124250,124259],{"data":124213,"content":124214,"nodeType":4569},{},[124215],{"data":124216,"content":124217,"nodeType":860},{},[124218,124221,124228],{"data":124219,"marks":124220,"value":21,"nodeType":864},{},[],{"data":124222,"content":124223,"nodeType":883},{"uri":96606},[124224],{"data":124225,"marks":124226,"value":105098,"nodeType":864},{},[124227],{"type":1455},{"data":124229,"marks":124230,"value":21,"nodeType":864},{},[],{"data":124232,"content":124233,"nodeType":4569},{},[124234],{"data":124235,"content":124236,"nodeType":860},{},[124237,124240,124247],{"data":124238,"marks":124239,"value":21,"nodeType":864},{},[],{"data":124241,"content":124242,"nodeType":883},{"uri":105113},[124243],{"data":124244,"marks":124245,"value":105119,"nodeType":864},{},[124246],{"type":1455},{"data":124248,"marks":124249,"value":21,"nodeType":864},{},[],{"data":124251,"content":124252,"nodeType":4569},{},[124253],{"data":124254,"content":124255,"nodeType":860},{},[124256],{"data":124257,"marks":124258,"value":106479,"nodeType":864},{},[],{"data":124260,"content":124261,"nodeType":4569},{},[124262],{"data":124263,"content":124264,"nodeType":860},{},[124265],{"data":124266,"marks":124267,"value":105142,"nodeType":864},{},[],{"data":124269,"content":124270,"nodeType":4581},{},[124271,124290,124309,124318],{"data":124272,"content":124273,"nodeType":4569},{},[124274],{"data":124275,"content":124276,"nodeType":860},{},[124277,124280,124287],{"data":124278,"marks":124279,"value":21,"nodeType":864},{},[],{"data":124281,"content":124282,"nodeType":883},{"uri":36086},[124283],{"data":124284,"marks":124285,"value":106508,"nodeType":864},{},[124286],{"type":1455},{"data":124288,"marks":124289,"value":21,"nodeType":864},{},[],{"data":124291,"content":124292,"nodeType":4569},{},[124293],{"data":124294,"content":124295,"nodeType":860},{},[124296,124299,124306],{"data":124297,"marks":124298,"value":21,"nodeType":864},{},[],{"data":124300,"content":124301,"nodeType":883},{"uri":106523},[124302],{"data":124303,"marks":124304,"value":96392,"nodeType":864},{},[124305],{"type":1455},{"data":124307,"marks":124308,"value":21,"nodeType":864},{},[],{"data":124310,"content":124311,"nodeType":4569},{},[124312],{"data":124313,"content":124314,"nodeType":860},{},[124315],{"data":124316,"marks":124317,"value":106541,"nodeType":864},{},[],{"data":124319,"content":124320,"nodeType":4569},{},[124321],{"data":124322,"content":124323,"nodeType":860},{},[124324],{"data":124325,"marks":124326,"value":106551,"nodeType":864},{},[],{"data":124328,"content":124329,"nodeType":4581},{},[124330,124349,124368,124377],{"data":124331,"content":124332,"nodeType":4569},{},[124333],{"data":124334,"content":124335,"nodeType":860},{},[124336,124339,124346],{"data":124337,"marks":124338,"value":21,"nodeType":864},{},[],{"data":124340,"content":124341,"nodeType":883},{"uri":106566},[124342],{"data":124343,"marks":124344,"value":106572,"nodeType":864},{},[124345],{"type":1455},{"data":124347,"marks":124348,"value":21,"nodeType":864},{},[],{"data":124350,"content":124351,"nodeType":4569},{},[124352],{"data":124353,"content":124354,"nodeType":860},{},[124355,124358,124365],{"data":124356,"marks":124357,"value":21,"nodeType":864},{},[],{"data":124359,"content":124360,"nodeType":883},{"uri":106587},[124361],{"data":124362,"marks":124363,"value":106593,"nodeType":864},{},[124364],{"type":1455},{"data":124366,"marks":124367,"value":21,"nodeType":864},{},[],{"data":124369,"content":124370,"nodeType":4569},{},[124371],{"data":124372,"content":124373,"nodeType":860},{},[124374],{"data":124375,"marks":124376,"value":106606,"nodeType":864},{},[],{"data":124378,"content":124379,"nodeType":4569},{},[124380],{"data":124381,"content":124382,"nodeType":860},{},[124383],{"data":124384,"marks":124385,"value":106616,"nodeType":864},{},[],{"data":124387,"content":124388,"nodeType":1005},{},[],{"data":124390,"content":124391,"nodeType":1009},{},[124392],{"data":124393,"marks":124394,"value":106626,"nodeType":864},{},[],{"data":124396,"content":124397,"nodeType":1312},{},[124398],{"data":124399,"marks":124400,"value":106633,"nodeType":864},{},[],{"data":124402,"content":124403,"nodeType":860},{},[124404],{"data":124405,"marks":124406,"value":106640,"nodeType":864},{},[],{"data":124408,"content":124409,"nodeType":860},{},[124410],{"data":124411,"marks":124412,"value":106647,"nodeType":864},{},[],{"data":124414,"content":124415,"nodeType":1005},{},[],{"data":124417,"content":124418,"nodeType":1312},{},[124419],{"data":124420,"marks":124421,"value":106657,"nodeType":864},{},[],{"data":124423,"content":124424,"nodeType":860},{},[124425],{"data":124426,"marks":124427,"value":106664,"nodeType":864},{},[],{"data":124429,"content":124430,"nodeType":860},{},[124431],{"data":124432,"marks":124433,"value":106671,"nodeType":864},{},[],{"data":124435,"content":124436,"nodeType":1005},{},[],{"data":124438,"content":124439,"nodeType":1312},{},[124440],{"data":124441,"marks":124442,"value":106681,"nodeType":864},{},[],{"data":124444,"content":124445,"nodeType":860},{},[124446],{"data":124447,"marks":124448,"value":106688,"nodeType":864},{},[],{"data":124450,"content":124451,"nodeType":860},{},[124452],{"data":124453,"marks":124454,"value":106695,"nodeType":864},{},[],{"data":124456,"content":124457,"nodeType":860},{},[124458],{"data":124459,"marks":124460,"value":106702,"nodeType":864},{},[],{"entries":124462},{"hyperlink":124463,"inline":124464,"block":124465},[],[],[124466],{"sys":124467,"__typename":1724,"title":124468,"caption":124469,"layoutMode":59,"file":124470},{"id":103818},"Table of identity attacks - IDSA 2023. Includes phishing, social engineering, brute forcing, password spraying, credential stuffing, stolen credentials, third party attack, adversary in the middle AITM, insider attack","Breakdown of identity attacks from a 2023 IDSA whitepaper",{"url":124471,"width":124472,"height":103744},"https://images.ctfassets.net/y1cdw1ablpvd/2Pu4DMeLHGxRVEiqLUPtuB/f7841fe0868c7c541dd10b7ab8361d31/Image_19-03-2024_at_15.55.jpeg",2190,{"items":124474},[],{},"Identity-based attack techniques as seen in public breaches",{"url":124478},"https://images.ctfassets.net/y1cdw1ablpvd/1vYl5tHrkQcrL0ALGifUCo/76a7ec344f380305a39b4edd1b992ccb/Alt_blog_image.png",{"items":124480},[124481],{"__typename":2059,"sys":124482,"content":124483,"title":102289,"synopsis":102290,"hashTags":59,"publishedDate":102291,"slug":102292,"tagsCollection":125146,"authorsCollection":125152},{"id":101509},{"json":124484},{"data":124485,"content":124486,"nodeType":856},{},[124487,124493,124499,124505,124511,124517,124523,124528,124544,124550,124586,124592,124598,124634,124650,124656,124662,124668,124684,124700,124706,124736,124742,124758,124764,124770,124796,124812,124818,124823,124829,124835,124841,124847,124853,124859,124865,124871,124877,124883,124889,124895,124908,124914,124970,124976,124982,125005,125018,125024,125030,125036,125062,125079,125085,125091,125097,125103,125119,125135,125140],{"data":124488,"content":124489,"nodeType":860},{},[124490],{"data":124491,"marks":124492,"value":101520,"nodeType":864},{},[],{"data":124494,"content":124495,"nodeType":860},{},[124496],{"data":124497,"marks":124498,"value":101527,"nodeType":864},{},[],{"data":124500,"content":124501,"nodeType":860},{},[124502],{"data":124503,"marks":124504,"value":101534,"nodeType":864},{},[],{"data":124506,"content":124507,"nodeType":860},{},[124508],{"data":124509,"marks":124510,"value":101541,"nodeType":864},{},[],{"data":124512,"content":124513,"nodeType":1009},{},[124514],{"data":124515,"marks":124516,"value":101548,"nodeType":864},{},[],{"data":124518,"content":124519,"nodeType":860},{},[124520],{"data":124521,"marks":124522,"value":101555,"nodeType":864},{},[],{"data":124524,"content":124527,"nodeType":996},{"target":124525},{"sys":124526},{"id":101560,"type":1001,"linkType":1002},[],{"data":124529,"content":124530,"nodeType":860},{},[124531,124534,124541],{"data":124532,"marks":124533,"value":101568,"nodeType":864},{},[],{"data":124535,"content":124536,"nodeType":883},{"uri":6418},[124537],{"data":124538,"marks":124539,"value":6423,"nodeType":864},{},[124540],{"type":1455},{"data":124542,"marks":124543,"value":2924,"nodeType":864},{},[],{"data":124545,"content":124546,"nodeType":860},{},[124547],{"data":124548,"marks":124549,"value":101585,"nodeType":864},{},[],{"data":124551,"content":124552,"nodeType":860},{},[124553,124556,124563,124566,124573,124576,124583],{"data":124554,"marks":124555,"value":101592,"nodeType":864},{},[],{"data":124557,"content":124558,"nodeType":883},{"uri":49829},[124559],{"data":124560,"marks":124561,"value":101600,"nodeType":864},{},[124562],{"type":1455},{"data":124564,"marks":124565,"value":902,"nodeType":864},{},[],{"data":124567,"content":124568,"nodeType":883},{"uri":101606},[124569],{"data":124570,"marks":124571,"value":101612,"nodeType":864},{},[124572],{"type":1455},{"data":124574,"marks":124575,"value":101616,"nodeType":864},{},[],{"data":124577,"content":124578,"nodeType":883},{"uri":96411},[124579],{"data":124580,"marks":124581,"value":101624,"nodeType":864},{},[124582],{"type":1455},{"data":124584,"marks":124585,"value":101628,"nodeType":864},{},[],{"data":124587,"content":124588,"nodeType":860},{},[124589],{"data":124590,"marks":124591,"value":101635,"nodeType":864},{},[],{"data":124593,"content":124594,"nodeType":1312},{},[124595],{"data":124596,"marks":124597,"value":101642,"nodeType":864},{},[],{"data":124599,"content":124600,"nodeType":860},{},[124601,124604,124611,124614,124621,124624,124631],{"data":124602,"marks":124603,"value":101649,"nodeType":864},{},[],{"data":124605,"content":124606,"nodeType":883},{"uri":87924},[124607],{"data":124608,"marks":124609,"value":87930,"nodeType":864},{},[124610],{"type":1455},{"data":124612,"marks":124613,"value":902,"nodeType":864},{},[],{"data":124615,"content":124616,"nodeType":883},{"uri":95797},[124617],{"data":124618,"marks":124619,"value":95802,"nodeType":864},{},[124620],{"type":1455},{"data":124622,"marks":124623,"value":101670,"nodeType":864},{},[],{"data":124625,"content":124626,"nodeType":883},{"uri":96459},[124627],{"data":124628,"marks":124629,"value":101678,"nodeType":864},{},[124630],{"type":1455},{"data":124632,"marks":124633,"value":101682,"nodeType":864},{},[],{"data":124635,"content":124636,"nodeType":860},{},[124637,124640,124647],{"data":124638,"marks":124639,"value":101689,"nodeType":864},{},[],{"data":124641,"content":124642,"nodeType":883},{"uri":101692},[124643],{"data":124644,"marks":124645,"value":101698,"nodeType":864},{},[124646],{"type":1455},{"data":124648,"marks":124649,"value":101702,"nodeType":864},{},[],{"data":124651,"content":124652,"nodeType":860},{},[124653],{"data":124654,"marks":124655,"value":101709,"nodeType":864},{},[],{"data":124657,"content":124658,"nodeType":860},{},[124659],{"data":124660,"marks":124661,"value":101716,"nodeType":864},{},[],{"data":124663,"content":124664,"nodeType":1312},{},[124665],{"data":124666,"marks":124667,"value":101723,"nodeType":864},{},[],{"data":124669,"content":124670,"nodeType":860},{},[124671,124674,124681],{"data":124672,"marks":124673,"value":101730,"nodeType":864},{},[],{"data":124675,"content":124676,"nodeType":883},{"uri":101733},[124677],{"data":124678,"marks":124679,"value":101739,"nodeType":864},{},[124680],{"type":1455},{"data":124682,"marks":124683,"value":101743,"nodeType":864},{},[],{"data":124685,"content":124686,"nodeType":860},{},[124687,124690,124697],{"data":124688,"marks":124689,"value":101750,"nodeType":864},{},[],{"data":124691,"content":124692,"nodeType":883},{"uri":61891},[124693],{"data":124694,"marks":124695,"value":61897,"nodeType":864},{},[124696],{"type":1455},{"data":124698,"marks":124699,"value":101761,"nodeType":864},{},[],{"data":124701,"content":124702,"nodeType":860},{},[124703],{"data":124704,"marks":124705,"value":101768,"nodeType":864},{},[],{"data":124707,"content":124708,"nodeType":941},{},[124709,124718,124727],{"data":124710,"content":124711,"nodeType":945},{},[124712],{"data":124713,"content":124714,"nodeType":860},{},[124715],{"data":124716,"marks":124717,"value":101781,"nodeType":864},{},[],{"data":124719,"content":124720,"nodeType":945},{},[124721],{"data":124722,"content":124723,"nodeType":860},{},[124724],{"data":124725,"marks":124726,"value":101791,"nodeType":864},{},[],{"data":124728,"content":124729,"nodeType":945},{},[124730],{"data":124731,"content":124732,"nodeType":860},{},[124733],{"data":124734,"marks":124735,"value":101801,"nodeType":864},{},[],{"data":124737,"content":124738,"nodeType":860},{},[124739],{"data":124740,"marks":124741,"value":101808,"nodeType":864},{},[],{"data":124743,"content":124744,"nodeType":860},{},[124745,124748,124755],{"data":124746,"marks":124747,"value":101815,"nodeType":864},{},[],{"data":124749,"content":124750,"nodeType":883},{"uri":101818},[124751],{"data":124752,"marks":124753,"value":101824,"nodeType":864},{},[124754],{"type":1455},{"data":124756,"marks":124757,"value":101828,"nodeType":864},{},[],{"data":124759,"content":124760,"nodeType":1312},{},[124761],{"data":124762,"marks":124763,"value":101835,"nodeType":864},{},[],{"data":124765,"content":124766,"nodeType":860},{},[124767],{"data":124768,"marks":124769,"value":101842,"nodeType":864},{},[],{"data":124771,"content":124772,"nodeType":860},{},[124773,124776,124783,124786,124793],{"data":124774,"marks":124775,"value":101849,"nodeType":864},{},[],{"data":124777,"content":124778,"nodeType":883},{"uri":101852},[124779],{"data":124780,"marks":124781,"value":101858,"nodeType":864},{},[124782],{"type":1455},{"data":124784,"marks":124785,"value":902,"nodeType":864},{},[],{"data":124787,"content":124788,"nodeType":883},{"uri":26784},[124789],{"data":124790,"marks":124791,"value":17706,"nodeType":864},{},[124792],{"type":1455},{"data":124794,"marks":124795,"value":101872,"nodeType":864},{},[],{"data":124797,"content":124798,"nodeType":860},{},[124799,124802,124809],{"data":124800,"marks":124801,"value":101879,"nodeType":864},{},[],{"data":124803,"content":124804,"nodeType":883},{"uri":101882},[124805],{"data":124806,"marks":124807,"value":101888,"nodeType":864},{},[124808],{"type":1455},{"data":124810,"marks":124811,"value":101892,"nodeType":864},{},[],{"data":124813,"content":124814,"nodeType":860},{},[124815],{"data":124816,"marks":124817,"value":101899,"nodeType":864},{},[],{"data":124819,"content":124822,"nodeType":996},{"target":124820},{"sys":124821},{"id":92011,"type":1001,"linkType":1002},[],{"data":124824,"content":124825,"nodeType":1009},{},[124826],{"data":124827,"marks":124828,"value":101911,"nodeType":864},{},[],{"data":124830,"content":124831,"nodeType":860},{},[124832],{"data":124833,"marks":124834,"value":101918,"nodeType":864},{},[],{"data":124836,"content":124837,"nodeType":860},{},[124838],{"data":124839,"marks":124840,"value":101925,"nodeType":864},{},[],{"data":124842,"content":124843,"nodeType":1312},{},[124844],{"data":124845,"marks":124846,"value":101932,"nodeType":864},{},[],{"data":124848,"content":124849,"nodeType":860},{},[124850],{"data":124851,"marks":124852,"value":101939,"nodeType":864},{},[],{"data":124854,"content":124855,"nodeType":860},{},[124856],{"data":124857,"marks":124858,"value":101946,"nodeType":864},{},[],{"data":124860,"content":124861,"nodeType":860},{},[124862],{"data":124863,"marks":124864,"value":101953,"nodeType":864},{},[],{"data":124866,"content":124867,"nodeType":1312},{},[124868],{"data":124869,"marks":124870,"value":101960,"nodeType":864},{},[],{"data":124872,"content":124873,"nodeType":860},{},[124874],{"data":124875,"marks":124876,"value":101967,"nodeType":864},{},[],{"data":124878,"content":124879,"nodeType":860},{},[124880],{"data":124881,"marks":124882,"value":101974,"nodeType":864},{},[],{"data":124884,"content":124885,"nodeType":860},{},[124886],{"data":124887,"marks":124888,"value":101981,"nodeType":864},{},[],{"data":124890,"content":124891,"nodeType":1009},{},[124892],{"data":124893,"marks":124894,"value":101988,"nodeType":864},{},[],{"data":124896,"content":124897,"nodeType":860},{},[124898,124901,124905],{"data":124899,"marks":124900,"value":101995,"nodeType":864},{},[],{"data":124902,"marks":124903,"value":102000,"nodeType":864},{},[124904],{"type":2246},{"data":124906,"marks":124907,"value":102004,"nodeType":864},{},[],{"data":124909,"content":124910,"nodeType":1312},{},[124911],{"data":124912,"marks":124913,"value":102011,"nodeType":864},{},[],{"data":124915,"content":124916,"nodeType":860},{},[124917,124920,124927,124930,124937,124940,124947,124950,124957,124960,124967],{"data":124918,"marks":124919,"value":102018,"nodeType":864},{},[],{"data":124921,"content":124922,"nodeType":883},{"uri":102021},[124923],{"data":124924,"marks":124925,"value":102027,"nodeType":864},{},[124926],{"type":1455},{"data":124928,"marks":124929,"value":902,"nodeType":864},{},[],{"data":124931,"content":124932,"nodeType":883},{"uri":102033},[124933],{"data":124934,"marks":124935,"value":102039,"nodeType":864},{},[124936],{"type":1455},{"data":124938,"marks":124939,"value":102043,"nodeType":864},{},[],{"data":124941,"content":124942,"nodeType":883},{"uri":102046},[124943],{"data":124944,"marks":124945,"value":102052,"nodeType":864},{},[124946],{"type":1455},{"data":124948,"marks":124949,"value":35735,"nodeType":864},{},[],{"data":124951,"content":124952,"nodeType":883},{"uri":8628},[124953],{"data":124954,"marks":124955,"value":102063,"nodeType":864},{},[124956],{"type":1455},{"data":124958,"marks":124959,"value":102067,"nodeType":864},{},[],{"data":124961,"content":124962,"nodeType":883},{"uri":102070},[124963],{"data":124964,"marks":124965,"value":102076,"nodeType":864},{},[124966],{"type":1455},{"data":124968,"marks":124969,"value":102080,"nodeType":864},{},[],{"data":124971,"content":124972,"nodeType":860},{},[124973],{"data":124974,"marks":124975,"value":102087,"nodeType":864},{},[],{"data":124977,"content":124978,"nodeType":1312},{},[124979],{"data":124980,"marks":124981,"value":102094,"nodeType":864},{},[],{"data":124983,"content":124984,"nodeType":860},{},[124985,124988,124992,124995,125002],{"data":124986,"marks":124987,"value":102101,"nodeType":864},{},[],{"data":124989,"marks":124990,"value":102106,"nodeType":864},{},[124991],{"type":1455},{"data":124993,"marks":124994,"value":102110,"nodeType":864},{},[],{"data":124996,"content":124997,"nodeType":883},{"uri":102113},[124998],{"data":124999,"marks":125000,"value":102119,"nodeType":864},{},[125001],{"type":1455},{"data":125003,"marks":125004,"value":102123,"nodeType":864},{},[],{"data":125006,"content":125007,"nodeType":860},{},[125008,125011,125015],{"data":125009,"marks":125010,"value":102130,"nodeType":864},{},[],{"data":125012,"marks":125013,"value":102135,"nodeType":864},{},[125014],{"type":2246},{"data":125016,"marks":125017,"value":2924,"nodeType":864},{},[],{"data":125019,"content":125020,"nodeType":860},{},[125021],{"data":125022,"marks":125023,"value":102145,"nodeType":864},{},[],{"data":125025,"content":125026,"nodeType":1312},{},[125027],{"data":125028,"marks":125029,"value":102152,"nodeType":864},{},[],{"data":125031,"content":125032,"nodeType":860},{},[125033],{"data":125034,"marks":125035,"value":102159,"nodeType":864},{},[],{"data":125037,"content":125038,"nodeType":860},{},[125039,125042,125049,125052,125059],{"data":125040,"marks":125041,"value":102166,"nodeType":864},{},[],{"data":125043,"content":125044,"nodeType":883},{"uri":102169},[125045],{"data":125046,"marks":125047,"value":102175,"nodeType":864},{},[125048],{"type":1455},{"data":125050,"marks":125051,"value":102179,"nodeType":864},{},[],{"data":125053,"content":125054,"nodeType":883},{"uri":102182},[125055],{"data":125056,"marks":125057,"value":102188,"nodeType":864},{},[125058],{"type":1455},{"data":125060,"marks":125061,"value":102192,"nodeType":864},{},[],{"data":125063,"content":125064,"nodeType":860},{},[125065,125068,125076],{"data":125066,"marks":125067,"value":102199,"nodeType":864},{},[],{"data":125069,"content":125070,"nodeType":883},{"uri":102202},[125071],{"data":125072,"marks":125073,"value":102209,"nodeType":864},{},[125074,125075],{"type":1455},{"type":2246},{"data":125077,"marks":125078,"value":21,"nodeType":864},{},[],{"data":125080,"content":125081,"nodeType":860},{},[125082],{"data":125083,"marks":125084,"value":102219,"nodeType":864},{},[],{"data":125086,"content":125087,"nodeType":1009},{},[125088],{"data":125089,"marks":125090,"value":102226,"nodeType":864},{},[],{"data":125092,"content":125093,"nodeType":860},{},[125094],{"data":125095,"marks":125096,"value":102233,"nodeType":864},{},[],{"data":125098,"content":125099,"nodeType":860},{},[125100],{"data":125101,"marks":125102,"value":102240,"nodeType":864},{},[],{"data":125104,"content":125105,"nodeType":860},{},[125106,125109,125116],{"data":125107,"marks":125108,"value":102247,"nodeType":864},{},[],{"data":125110,"content":125111,"nodeType":883},{"uri":102250},[125112],{"data":125113,"marks":125114,"value":102256,"nodeType":864},{},[125115],{"type":1455},{"data":125117,"marks":125118,"value":2924,"nodeType":864},{},[],{"data":125120,"content":125121,"nodeType":860},{},[125122,125125,125132],{"data":125123,"marks":125124,"value":102266,"nodeType":864},{},[],{"data":125126,"content":125127,"nodeType":883},{"uri":6418},[125128],{"data":125129,"marks":125130,"value":6423,"nodeType":864},{},[125131],{"type":1455},{"data":125133,"marks":125134,"value":96674,"nodeType":864},{},[],{"data":125136,"content":125139,"nodeType":996},{"target":125137},{"sys":125138},{"id":102281,"type":1001,"linkType":1002},[],{"data":125141,"content":125142,"nodeType":860},{},[125143],{"data":125144,"marks":125145,"value":21,"nodeType":864},{},[],{"items":125147},[125148,125150],{"sys":125149,"name":6593},{"id":6592},{"sys":125151,"name":342},{"id":6596},{"items":125153},[125154],{"fullName":38408,"firstName":38409,"jobTitle":38410,"profilePicture":125155},{"url":38412},"blog/identity-attacks-in-the-wild",{"json":125158},{"data":125159,"content":125160,"nodeType":856},{},[125161],{"data":125162,"content":125163,"nodeType":860},{},[125164,125168],{"data":125165,"marks":125166,"value":125167,"nodeType":864},{},[],"To help organizations keep track of how browser-based identity attacks are evolving, we've put together this index of recent breaches",{"data":125169,"marks":125170,"value":125171,"nodeType":864},{},[],". In particular we’re focused on tracking attacks in the public domain that demonstrate the very latest techniques being used in the wild, such as those targeting identity infrastructure itself. ",{"id":95225,"publishedAt":125173},"2026-08-12T11:55:31.114Z",{"items":125175},[125176,125178],{"sys":125177,"name":6593},{"id":6592},{"sys":125179,"name":342},{"id":6596},{"items":125181},[125182,125184,125186,125188,125190,125192,125194,125196,125198,125200,125202,125204,125206,125208,125210,125212,125214,125216,125218,125220],{"sys":125183,"name":279,"slug":280,"tier":31},{"id":276},{"sys":125185,"name":413,"slug":414,"tier":31},{"id":410},{"sys":125187,"name":642,"slug":643,"tier":31},{"id":639},{"sys":125189,"name":519,"slug":520,"tier":31},{"id":516},{"sys":125191,"name":545,"slug":546,"tier":31},{"id":542},{"sys":125193,"name":342,"slug":343,"tier":31},{"id":339},{"sys":125195,"name":404,"slug":405,"tier":45},{"id":401},{"sys":125197,"name":528,"slug":529,"tier":45},{"id":525},{"sys":125199,"name":333,"slug":334,"tier":45},{"id":330},{"sys":125201,"name":422,"slug":423,"tier":45},{"id":419},{"sys":125203,"name":395,"slug":396,"tier":45},{"id":392},{"sys":125205,"name":571,"slug":572,"tier":45},{"id":568},{"sys":125207,"name":484,"slug":485,"tier":45},{"id":481},{"sys":125209,"name":466,"slug":467,"tier":45},{"id":463},{"sys":125211,"name":607,"slug":608,"tier":45},{"id":604},{"sys":125213,"name":261,"slug":262,"tier":45},{"id":258},{"sys":125215,"name":650,"slug":651,"tier":45},{"id":647},{"sys":125217,"name":537,"slug":538,"tier":45},{"id":534},{"sys":125219,"name":457,"slug":458,"tier":45},{"id":454},{"sys":125221,"name":633,"slug":634,"tier":45},{"id":630},"c-hSrKEun_EGXMqcYVqzCOnSLH9sxoS6TEl8VMIrNjA",{"id":125224,"title":125225,"authorsCollection":125226,"content":125231,"extension":228,"faqItemsCollection":125794,"faqTitle":59,"featured":6,"hashTags":59,"meta":125796,"metaTitle":125797,"ogImage":125798,"postType":5740,"publishedDate":125800,"relatedBlogPostsCollection":125801,"slug":128007,"stem":128008,"subtitle":59,"summary":128009,"synopsis":128020,"sys":128021,"tagsCollection":128024,"topicsCollection":128030,"__hash__":128046},"blog/blog/can-my-admins-steal-my-cloud-password-manager-secrets.json","Can my admins steal my cloud password manager secrets?",{"items":125227},[125228],{"fullName":4949,"firstName":4950,"jobTitle":4951,"socialLinks":125229,"profilePicture":125230},[4953],{"url":4955},{"json":125232,"links":125730},{"data":125233,"content":125234,"nodeType":856},{},[125235,125242,125249,125256,125263,125270,125277,125284,125291,125298,125305,125320,125327,125334,125350,125357,125364,125371,125387,125394,125400,125407,125414,125420,125427,125434,125441,125448,125455,125462,125469,125476,125482,125489,125496,125502,125508,125514,125521,125528,125546,125553,125560,125567,125598,125605,125611,125617,125624,125631,125638,125645,125650,125656,125663,125696,125702,125709,125716,125723],{"data":125236,"content":125237,"nodeType":1009},{},[125238],{"data":125239,"marks":125240,"value":125241,"nodeType":864},{},[],"Admin accounts - the keys to the kingdom?",{"data":125243,"content":125244,"nodeType":860},{},[125245],{"data":125246,"marks":125247,"value":125248,"nodeType":864},{},[],"Traditionally, admin accounts have tended to be pretty all-powerful in terms of the infrastructure they control access to, a kind of master key. An admin of a file server? Can see any files on that server they like. A windows domain admin? Can access any system connected to that domain, access password equivalents for every domain account, and even deploy code remotely to all connected systems. Necessary and practical for admins, but a nightmare for blue teamers.",{"data":125250,"content":125251,"nodeType":860},{},[125252],{"data":125253,"marks":125254,"value":125255,"nodeType":864},{},[],"In the realm of cloud identities and SaaS apps, the situation has changed a bit. An account with administrative access for a given SaaS app is limited by what that particular app does and what administrative features it offers. This means the traditional “all-powerful” admin account isn’t always really all-powerful in practice. ",{"data":125257,"content":125258,"nodeType":860},{},[125259],{"data":125260,"marks":125261,"value":125262,"nodeType":864},{},[],"For example, an administrator of a file storage SaaS app may not automatically have rights to view all personally stored files for an individual user. Similarly, an administrator of a corporate password manager app does not automatically have the ability to view the secrets their users are storing in the application. This is desirable as passwords, and thus password managers, are a key part of identity infrastructure - even admins shouldn’t be able to easily access passwords and secrets stored within. ",{"data":125264,"content":125265,"nodeType":860},{},[125266],{"data":125267,"marks":125268,"value":125269,"nodeType":864},{},[],"This is a good thing as it limits the reach of a compromised account and creates additional steps for a user with malicious intent. But like anything password managers can be targeted, bypassed, and misused, particularly in the context of Cloud identities and SaaS.",{"data":125271,"content":125272,"nodeType":1009},{},[125273],{"data":125274,"marks":125275,"value":125276,"nodeType":864},{},[],"How do password managers work?",{"data":125278,"content":125279,"nodeType":860},{},[125280],{"data":125281,"marks":125282,"value":125283,"nodeType":864},{},[],"Well, it depends! ",{"data":125285,"content":125286,"nodeType":860},{},[125287],{"data":125288,"marks":125289,"value":125290,"nodeType":864},{},[],"Typical password manager functionality involves a “password vault” being encrypted with a password/secret that only the user knows - commonly known as a “master password”. This vault might just be a file that can be stored anywhere, such as locally on a user’s laptop or remotely on a managed file server.  ",{"data":125292,"content":125293,"nodeType":860},{},[125294],{"data":125295,"marks":125296,"value":125297,"nodeType":864},{},[],"Therefore, an admin of a file server might be able to see the password vaults, but won’t be able to recover the passwords inside without knowing the correct master password to decrypt them. However, a domain or desktop admin might be able to deploy malicious code to a user’s endpoint to keylog, or otherwise steal, their master password. This is more difficult than merely accessing an encrypted vault but is a viable attack technique.",{"data":125299,"content":125300,"nodeType":860},{},[125301],{"data":125302,"marks":125303,"value":125304,"nodeType":864},{},[],"For cloud-based password managers this concept is simply ported to the world of SaaS. Here, the vault is stored securely on the vendor’s servers and access is via a web app or browser extension, rather than a desktop application opening a stored file. Often the password a user uses to login to the app doubles up as their master password, but in other solutions they might be two separate concepts. ",{"data":125306,"content":125307,"nodeType":860},{},[125308,125312,125316],{"data":125309,"marks":125310,"value":125311,"nodeType":864},{},[],"So how does this change the threat? Well, it’s possible that domain/desktop admins might still be able to go the malicious code deployment route to steal master passwords. However, admins of the password manager app (or any app) should not ",{"data":125313,"marks":125314,"value":66871,"nodeType":864},{},[125315],{"type":2246},{"data":125317,"marks":125318,"value":125319,"nodeType":864},{},[]," be able to just access any passwords they like.",{"data":125321,"content":125322,"nodeType":1009},{},[125323],{"data":125324,"marks":125325,"value":125326,"nodeType":864},{},[],"Why even use password managers when you could use SSO?",{"data":125328,"content":125329,"nodeType":860},{},[125330],{"data":125331,"marks":125332,"value":125333,"nodeType":864},{},[],"Strong SSO mechanisms such as SAML are good security controls and should be encouraged. But there are many reasons why they can’t always be used. Not all apps support them, some apps require much more expensive license tiers in order to enable SSO support, many apps will be self-acquired by users rather than centralized IT, some secrets are recovery codes that need to be stored somewhere… the list goes on!",{"data":125335,"content":125336,"nodeType":860},{},[125337,125341,125346],{"data":125338,"marks":125339,"value":125340,"nodeType":864},{},[],"Put simply, ",{"data":125342,"marks":125343,"value":125345,"nodeType":864},{},[125344],{"type":899},"you will never have all your apps on SSO",{"data":125347,"marks":125348,"value":125349,"nodeType":864},{},[]," and there are many other use cases for secure storage of secrets, so it’s best to provide a secure password management solution to your users rather than having them use shared passwords everywhere, use easily guessed passwords, or generally record them in less secure ways. ",{"data":125351,"content":125352,"nodeType":860},{},[125353],{"data":125354,"marks":125355,"value":125356,"nodeType":864},{},[],"But what happens when a large organization adopts a SaaS-based password manager solution? As a key app, it definitely needs the highest levels of security protection, right? So the password manager itself should definitely be on SSO with a robust form of MFA applied. Users shouldn't be able to use any old single-factor password to access a store for important secrets that are tied to so many other sensitive corporate assets.",{"data":125358,"content":125359,"nodeType":860},{},[125360],{"data":125361,"marks":125362,"value":125363,"nodeType":864},{},[],"This leads us on to our next question - how does SSO impact the relationship between accessibility of stored secrets and the use of decryption keys only known to the users?",{"data":125365,"content":125366,"nodeType":1009},{},[125367],{"data":125368,"marks":125369,"value":125370,"nodeType":864},{},[],"Controlling password manager access via SSO",{"data":125372,"content":125373,"nodeType":860},{},[125374,125378,125383],{"data":125375,"marks":125376,"value":125377,"nodeType":864},{},[],"Many solutions will allow administrators to control login to accounts via an SSO mechanism instead of the vendor’s own authentication mechanism. In this case, we’ll be using Dashlane as an example. This is not a specific vulnerability in Dashlane, we’re just ",{"data":125379,"marks":125380,"value":125382,"nodeType":864},{},[125381],{"type":2246},"creatively",{"data":125384,"marks":125385,"value":125386,"nodeType":864},{},[]," (ab-)using a legitimate feature. We haven’t picked on Dashlane for any particular reason and there are many more examples of this.",{"data":125388,"content":125389,"nodeType":860},{},[125390],{"data":125391,"marks":125392,"value":125393,"nodeType":864},{},[],"In this case, we’ve configured Dashlane SSO to use their confidential SSO mechanism that applies SAML as the SSO mechanism. We've then configured the supplied SAML details as an app in Okta and saved the resulting IdP metadata link in Dashlane. This allows Okta to now act as an identity provider for Dashlane.",{"data":125395,"content":125399,"nodeType":996},{"target":125396},{"sys":125397},{"id":125398,"type":1001,"linkType":1002},"19DCAdVfW2MwRQXfeVEIiR",[],{"data":125401,"content":125402,"nodeType":860},{},[125403],{"data":125404,"marks":125405,"value":125406,"nodeType":864},{},[],"This means that for verified domains that have been configured to use SSO in Dashlane, the Dashlane login process will now automatically relay to the given Okta tenant to handle authentication via SAML.",{"data":125408,"content":125409,"nodeType":860},{},[125410],{"data":125411,"marks":125412,"value":125413,"nodeType":864},{},[],"It’s worth noting that Dashlane only allows this for verified domains. An administrator setting this up the first time or later changing the SSO settings will need control of the DNS domain(s) their users use, or at least have the ability to request other DNS admins verify the domain on their behalf.",{"data":125415,"content":125419,"nodeType":996},{"target":125416},{"sys":125417},{"id":125418,"type":1001,"linkType":1002},"3kZknbwaOVWMTPdaEECyER",[],{"data":125421,"content":125422,"nodeType":860},{},[125423],{"data":125424,"marks":125425,"value":125426,"nodeType":864},{},[],"That’s it - it’s really that simple. Now your Dashlane instance benefits from whatever strong authentication policies you have in place on your centralized IdP, in this case Okta. That may include strong password policies, multi-factor authentication, auditing of all logon events for your account, etc. What could be bad about that?",{"data":125428,"content":125429,"nodeType":1009},{},[125430],{"data":125431,"marks":125432,"value":125433,"nodeType":864},{},[],"Password stealing and lateral movement",{"data":125435,"content":125436,"nodeType":860},{},[125437],{"data":125438,"marks":125439,"value":125440,"nodeType":864},{},[],"As we covered earlier, the original security contract of traditional password managers was that only the creating user should have access via a master password - admin accounts should have no access beyond seeing the encrypted vault files. ",{"data":125442,"content":125443,"nodeType":860},{},[125444],{"data":125445,"marks":125446,"value":125447,"nodeType":864},{},[],"However, the SaaS-ification of password managers over time and integration with other parts of the identity management stack means that they are prone to the same weaknesses as many other apps - only in this case the prize is the secrets and passwords used to gain access to a huge number of other systems that those admins wouldn’t otherwise have direct access to. For an attacker looking to move laterally, this is a goldmine! ",{"data":125449,"content":125450,"nodeType":860},{},[125451],{"data":125452,"marks":125453,"value":125454,"nodeType":864},{},[],"We’ll now consider how two different types of admin accounts can use this functionality to gain access to password secrets for lateral movement elsewhere, in the event of a compromised admin account or insider threat.",{"data":125456,"content":125457,"nodeType":1312},{},[125458],{"data":125459,"marks":125460,"value":125461,"nodeType":864},{},[],"SaaS admin - modifying SSO settings",{"data":125463,"content":125464,"nodeType":860},{},[125465],{"data":125466,"marks":125467,"value":125468,"nodeType":864},{},[],"Continuing the Dashlane scenario, an administrator of the app can simply modify the SSO settings in order to point to a different IdP that they control. This could be a different Okta tenant they have set up themselves, or it could be an entirely different IdP. ",{"data":125470,"content":125471,"nodeType":860},{},[125472],{"data":125473,"marks":125474,"value":125475,"nodeType":864},{},[],"In this case, we can simply change the IdP metadata to point to a different SAML endpoint. Pointing to a different Okta tenant means we can now login to Dashlane using a different identity provider as before. ",{"data":125477,"content":125481,"nodeType":996},{"target":125478},{"sys":125479},{"id":125480,"type":1001,"linkType":1002},"5hXZ4NogWGdCj18LalxVQl",[],{"data":125483,"content":125484,"nodeType":860},{},[125485],{"data":125486,"marks":125487,"value":125488,"nodeType":864},{},[],"The implication here is that the malicious/compromised admin account can simply configure their own malicious IdP in a way that they can authenticate with any account. They can then use this to login to Dashlane as any user they like. The only caveat in the case of Dashlane is that Dashlane admin accounts cannot use SSO and so the malicious admin cannot access other admin accounts' secrets so easily. ",{"data":125490,"content":125491,"nodeType":860},{},[125492],{"data":125493,"marks":125494,"value":125495,"nodeType":864},{},[],"Our malicious admin can then simply login to access their account of choice and view the secrets as they please. They can do this manually, or they can even use the export functionality to export the entire password vault into a CSV file. The latter is disabled by default in Dashlane, but we’re an admin, right? So we can just enable the security policy to allow it!",{"data":125497,"content":125501,"nodeType":996},{"target":125498},{"sys":125499},{"id":125500,"type":1001,"linkType":1002},"64ttjHyIDYKJ7gXAugT84f",[],{"data":125503,"content":125507,"nodeType":996},{"target":125504},{"sys":125505},{"id":125506,"type":1001,"linkType":1002},"2tm9koiqywJtrEOuRbazFd",[],{"data":125509,"content":125513,"nodeType":996},{"target":125510},{"sys":125511},{"id":125512,"type":1001,"linkType":1002},"3gAbFuYpJxbYhmeaph9e7e",[],{"data":125515,"content":125516,"nodeType":860},{},[125517],{"data":125518,"marks":125519,"value":125520,"nodeType":864},{},[],"Fortunately, a simple implementation of this attack will break logins by other users, as all users will be directed to the new malicious IdP. This means the attack is more likely to be quickly detected once users begin questioning why they cannot login to their Dashlane account. ",{"data":125522,"content":125523,"nodeType":860},{},[125524],{"data":125525,"marks":125526,"value":125527,"nodeType":864},{},[],"Unfortunately, attackers can take steps to avoid this by building a more sophisticated malicious IdP that accepts any password or performs some other clever redirect. This means that legitimate users can still successfully access their Dashlane accounts while the admin simultaneously hijacks their target accounts. ",{"data":125529,"content":125530,"nodeType":860},{},[125531,125535,125542],{"data":125532,"marks":125533,"value":125534,"nodeType":864},{},[],"One method is to use the Oktajacking technique discussed ",{"data":125536,"content":125537,"nodeType":883},{"uri":85319},[125538],{"data":125539,"marks":125540,"value":125541,"nodeType":864},{},[],"in this article",{"data":125543,"marks":125544,"value":125545,"nodeType":864},{},[]," to accept any credentials the user enters, while also keylogging them for further use. This enables the attacker to login as any user they like while also ensuring the real user can still login, whatever credentials they enter. This would allow the attack to go unnoticed for longer, giving the attacker the time and space to achieve their objectives without being hounded by incident responders (and in some cases persisting indefinitely).",{"data":125547,"content":125548,"nodeType":1312},{},[125549],{"data":125550,"marks":125551,"value":125552,"nodeType":864},{},[],"Okta admin - external IdPs and routing rules",{"data":125554,"content":125555,"nodeType":860},{},[125556],{"data":125557,"marks":125558,"value":125559,"nodeType":864},{},[],"OK, obviously an admin account for Okta (or any type of IdP) is a very powerful tool for an attacker and there are plenty of malicious actions they could take. In this case we’ll consider how they could use it to gain access to Dashlane as any user, assuming Okta was being used as a SAML IdP as in the example above.",{"data":125561,"content":125562,"nodeType":860},{},[125563],{"data":125564,"marks":125565,"value":125566,"nodeType":864},{},[],"The simplest path here would be to use an external IdP, along with a routing rule, to allow the admin to login to Okta using a separate IdP they control, whilst continuing to allow the user to authenticate. This way, the user themselves would have no idea anything else had changed, but the attacker could easily impersonate any user they choose.",{"data":125568,"content":125569,"nodeType":860},{},[125570,125574,125582,125586,125594],{"data":125571,"marks":125572,"value":125573,"nodeType":864},{},[],"Adam Chester’s iconic post on ",{"data":125575,"content":125577,"nodeType":883},{"uri":125576},"https://trustedsec.com/blog/okta-for-red-teamers",[125578],{"data":125579,"marks":125580,"value":125581,"nodeType":864},{},[],"Okta for red teamers ",{"data":125583,"marks":125584,"value":125585,"nodeType":864},{},[],"covers the user of a malicious SAML provider for authenticating as any user and he even includes a ",{"data":125587,"content":125589,"nodeType":883},{"uri":125588},"https://github.com/xpn/OktaPostExToolkit",[125590],{"data":125591,"marks":125592,"value":125593,"nodeType":864},{},[],"simple python based SAML IdP",{"data":125595,"marks":125596,"value":125597,"nodeType":864},{},[]," that allows for this.",{"data":125599,"content":125600,"nodeType":860},{},[125601],{"data":125602,"marks":125603,"value":125604,"nodeType":864},{},[],"If we combine this with Okta routing rules, then we can create a targeted backdoor that allows the attacker to utilize their Okta admin account to login as any user they like in order to access their Dashlane password vault, while being completely transparent to the real users. We can do this by ensuring the external identity provider is only used when logins are performed from the admin’s IP address and/or specific devices.",{"data":125606,"content":125610,"nodeType":996},{"target":125607},{"sys":125608},{"id":125609,"type":1001,"linkType":1002},"4vmkiiONUur1cxGWhvTNoY",[],{"data":125612,"content":125613,"nodeType":1009},{},[125614],{"data":125615,"marks":125616,"value":61932,"nodeType":864},{},[],{"data":125618,"content":125619,"nodeType":860},{},[125620],{"data":125621,"marks":125622,"value":125623,"nodeType":864},{},[],"Shock, horror, admin accounts can be used to do bad things! Of course that’s the case, but it is important that as security practitioners we fully understand the implications of security decisions we make and have plans in place for if/when incidents arise.",{"data":125625,"content":125626,"nodeType":860},{},[125627],{"data":125628,"marks":125629,"value":125630,"nodeType":864},{},[],"We’ve known for many years that an attacker compromising a Windows desktop or Linux server can potentially steal passwords and other secrets from that system. We’ve also known that if an attacker compromises an entire Windows domain, then we should consider every single user’s password compromised. ",{"data":125632,"content":125633,"nodeType":860},{},[125634],{"data":125635,"marks":125636,"value":125637,"nodeType":864},{},[],"While incident responders would much prefer to contain an incident before a complete domain compromise is achieved, we at least know we have to have a plan in place for how to deal with all domain passwords having been compromised, plus golden tickets, silver tickets and all other manner of backdoors.  ",{"data":125639,"content":125640,"nodeType":860},{},[125641],{"data":125642,"marks":125643,"value":125644,"nodeType":864},{},[],"Of course, password managers are important to protect generally, but are we considering the true consequences and impact of either a malicious admin or a compromised admin account potentially allowing all password secrets to be stolen? Do we have a plan in place for how to recover from that like we would in the event of a windows domain compromise? These are the questions we need to be asking ourselves.",{"data":125646,"content":125649,"nodeType":996},{"target":125647},{"sys":125648},{"id":92011,"type":1001,"linkType":1002},[],{"data":125651,"content":125652,"nodeType":1009},{},[125653],{"data":125654,"marks":125655,"value":61334,"nodeType":864},{},[],{"data":125657,"content":125658,"nodeType":860},{},[125659],{"data":125660,"marks":125661,"value":125662,"nodeType":864},{},[],"We’ve covered a lot of ground so let’s quickly take a step back and consider the key points of impact here:",{"data":125664,"content":125665,"nodeType":941},{},[125666,125676,125686],{"data":125667,"content":125668,"nodeType":945},{},[125669],{"data":125670,"content":125671,"nodeType":860},{},[125672],{"data":125673,"marks":125674,"value":125675,"nodeType":864},{},[],"SaaS-based password managers often allow SSO mechanisms with MFA which can provide stronger authentication, instead of the passwords being stored in a file encrypted with a single factor master password, which changes the risk profile",{"data":125677,"content":125678,"nodeType":945},{},[125679],{"data":125680,"content":125681,"nodeType":860},{},[125682],{"data":125683,"marks":125684,"value":125685,"nodeType":864},{},[],"That said, compromised admin accounts for either password manager apps, or their SSO IdPs, can be abused by attackers to steal passwords at scale by hijacking the SSO process",{"data":125687,"content":125688,"nodeType":945},{},[125689],{"data":125690,"content":125691,"nodeType":860},{},[125692],{"data":125693,"marks":125694,"value":125695,"nodeType":864},{},[],"This technique could become the windows domain hash dumping equivalent in the new cloud identity and SaaS-based world",{"data":125697,"content":125698,"nodeType":1009},{},[125699],{"data":125700,"marks":125701,"value":32492,"nodeType":864},{},[],{"data":125703,"content":125704,"nodeType":860},{},[125705],{"data":125706,"marks":125707,"value":125708,"nodeType":864},{},[],"Password managers have quickly become an increasingly important part of identity security infrastructure. Passwords, and more generally secrets, are not going anywhere. So it makes sense for security-conscious organizations to provide their employees with a good password management solution.",{"data":125710,"content":125711,"nodeType":860},{},[125712],{"data":125713,"marks":125714,"value":125715,"nodeType":864},{},[],"Consequently, this means they will increasingly become a crown jewels target within modern cloud and SaaS-based organizations going forwards, much like windows domain controllers have often been the crown jewels in the past.",{"data":125717,"content":125718,"nodeType":860},{},[125719],{"data":125720,"marks":125721,"value":125722,"nodeType":864},{},[],"There are many methods by which different types of compromised admin accounts can be used to gain access to password manager secrets at scale by abusing SSO mechanisms and so security practitioners need to be aware of these attacks and plan for recovery actions in the event of a major incident. ",{"data":125724,"content":125725,"nodeType":860},{},[125726],{"data":125727,"marks":125728,"value":125729,"nodeType":864},{},[],"The defensive plans we’ve historically relied upon weren't designed for these new attacker methods, which effectively creates a blind spot. The attacker's goal hasn’t changed, but the environment (and how it can be targeted) has evolved - which means defenders need to adapt. ",{"entries":125731},{"hyperlink":125732,"inline":125733,"block":125734},[],[],[125735,125743,125751,125759,125766,125774,125782,125790],{"sys":125736,"__typename":1724,"title":125737,"caption":125738,"layoutMode":59,"file":125739},{"id":125398},"Dashlane SSO","Configuring SSO authentication in Dashlane by using SAML to allow Okta to act as an IdP",{"url":125740,"width":125741,"height":125742},"https://images.ctfassets.net/y1cdw1ablpvd/3AdVyWovacNCkP23xyACB3/b7a6064aebac0ca251b276626748bef7/image1.png",1094,911,{"sys":125744,"__typename":1724,"title":125745,"caption":125746,"layoutMode":59,"file":125747},{"id":125418},"Dashlane SSO Popup","Login prompt for Dashlane when using SSO authentication",{"url":125748,"width":125749,"height":125750},"https://images.ctfassets.net/y1cdw1ablpvd/7KpuYaCuKdWfpkrHc1gdQG/65507c178bcef3217aad455547f1d83c/image6.png",688,1176,{"sys":125752,"__typename":1724,"title":125753,"caption":125754,"layoutMode":59,"file":125755},{"id":125480},"IdP metadata","Modifying Dashlane SSO IdP metadata settings to hijack the SSO process by pointing to a different Okta tenant that the attacker controls",{"url":125756,"width":125757,"height":125758},"https://images.ctfassets.net/y1cdw1ablpvd/6NDvy4ySxNnUB8vQyToycU/7af8c8fc9a82851ddd734fc730487bc0/image7.png",796,283,{"sys":125760,"__typename":1724,"title":125761,"caption":125762,"layoutMode":59,"file":125763},{"id":125500},"Enable the security policy ","Accessing clear text passwords in Dashlane in an authenticated session",{"url":125764,"width":1736,"height":125765},"https://images.ctfassets.net/y1cdw1ablpvd/3audb7ABsy1fN7dqXY81h0/657f9c2b48b36b116fd81a1b15da0cf4/image3.png",981,{"sys":125767,"__typename":1724,"title":125768,"caption":125769,"layoutMode":59,"file":125770},{"id":125506},"Enable the security policy #2","Exporting Dashlane passwords in CSV format",{"url":125771,"width":125772,"height":125773},"https://images.ctfassets.net/y1cdw1ablpvd/7MnLtbQ0A0obog8ishdaOF/b55fb2d0e7af8052c784f10666a69768/image5.png",686,1020,{"sys":125775,"__typename":1724,"title":125776,"caption":125777,"layoutMode":59,"file":125778},{"id":125512},"Enable the security policy #3","Configuring Dashlane to allow export of passwords",{"url":125779,"width":125780,"height":125781},"https://images.ctfassets.net/y1cdw1ablpvd/3YAdW74nAGrHvHOMO5VlHI/6f16c492b00c4bcd11f7a73ba40f2292/image2.png",971,153,{"sys":125783,"__typename":1724,"title":125784,"caption":125785,"layoutMode":59,"file":125786},{"id":125609},"Identity Providers","Configuring Okta routing rules to use an external malicious identity provider when accessed using an attacker’s IP address. This can be used to access any application connected to Okta - not just Dashlane. ",{"url":125787,"width":125788,"height":125789},"https://images.ctfassets.net/y1cdw1ablpvd/77ukND4FQYghlzQPOtg7BK/e381508f376b03967f12ef70539b6d27/image4.png",1024,719,{"sys":125791,"__typename":1717,"type":80540,"ctaText":125792,"buttonLabel":125793,"buttonColour":1721,"buttonUrl":59},{"id":92011},"Learn how Push can help you secure identities across your org","Book a demo!",{"items":125795},[],{},"How secure is password manager data if an admin is hacked?",{"url":125799},"https://images.ctfassets.net/y1cdw1ablpvd/3PtOPCztNCvolfamtRFInx/954afbab640ca1b6caeed9dc77e6c76c/Heading.jpg","2024-03-11T00:00:00.000Z",{"items":125802},[125803,126350,127540],{"__typename":2059,"sys":125804,"content":125805,"title":110655,"synopsis":110656,"hashTags":59,"publishedDate":110657,"slug":110658,"tagsCollection":126340,"authorsCollection":126346},{"id":110045},{"json":125806},{"data":125807,"content":125808,"nodeType":856},{},[125809,125825,125831,125837,125853,125859,125874,125880,125886,125912,125918,125924,125930,125936,125965,125970,125976,125992,125998,126004,126010,126040,126046,126052,126058,126074,126079,126084,126089,126095,126113,126119,126125,126131,126137,126194,126200,126239,126245,126250,126256,126269,126274,126280,126286,126316,126322,126328,126334],{"data":125810,"content":125811,"nodeType":860},{},[125812,125815,125822],{"data":125813,"marks":125814,"value":110056,"nodeType":864},{},[],{"data":125816,"content":125817,"nodeType":883},{"uri":5231},[125818],{"data":125819,"marks":125820,"value":110064,"nodeType":864},{},[125821],{"type":1455},{"data":125823,"marks":125824,"value":110068,"nodeType":864},{},[],{"data":125826,"content":125827,"nodeType":860},{},[125828],{"data":125829,"marks":125830,"value":110075,"nodeType":864},{},[],{"data":125832,"content":125833,"nodeType":1009},{},[125834],{"data":125835,"marks":125836,"value":110082,"nodeType":864},{},[],{"data":125838,"content":125839,"nodeType":860},{},[125840,125843,125850],{"data":125841,"marks":125842,"value":21,"nodeType":864},{},[],{"data":125844,"content":125845,"nodeType":883},{"uri":88494},[125846],{"data":125847,"marks":125848,"value":5272,"nodeType":864},{},[125849],{"type":1455},{"data":125851,"marks":125852,"value":110099,"nodeType":864},{},[],{"data":125854,"content":125855,"nodeType":1009},{},[125856],{"data":125857,"marks":125858,"value":110106,"nodeType":864},{},[],{"data":125860,"content":125861,"nodeType":860},{},[125862,125865,125871],{"data":125863,"marks":125864,"value":21,"nodeType":864},{},[],{"data":125866,"content":125867,"nodeType":883},{"uri":101692},[125868],{"data":125869,"marks":125870,"value":110119,"nodeType":864},{},[],{"data":125872,"marks":125873,"value":110123,"nodeType":864},{},[],{"data":125875,"content":125876,"nodeType":1009},{},[125877],{"data":125878,"marks":125879,"value":110130,"nodeType":864},{},[],{"data":125881,"content":125882,"nodeType":860},{},[125883],{"data":125884,"marks":125885,"value":110137,"nodeType":864},{},[],{"data":125887,"content":125888,"nodeType":860},{},[125889,125892,125899,125902,125909],{"data":125890,"marks":125891,"value":110144,"nodeType":864},{},[],{"data":125893,"content":125894,"nodeType":883},{"uri":110147},[125895],{"data":125896,"marks":125897,"value":110153,"nodeType":864},{},[125898],{"type":1455},{"data":125900,"marks":125901,"value":110157,"nodeType":864},{},[],{"data":125903,"content":125904,"nodeType":883},{"uri":110160},[125905],{"data":125906,"marks":125907,"value":110166,"nodeType":864},{},[125908],{"type":1455},{"data":125910,"marks":125911,"value":110170,"nodeType":864},{},[],{"data":125913,"content":125914,"nodeType":860},{},[125915],{"data":125916,"marks":125917,"value":110177,"nodeType":864},{},[],{"data":125919,"content":125920,"nodeType":860},{},[125921],{"data":125922,"marks":125923,"value":110184,"nodeType":864},{},[],{"data":125925,"content":125926,"nodeType":860},{},[125927],{"data":125928,"marks":125929,"value":110191,"nodeType":864},{},[],{"data":125931,"content":125932,"nodeType":860},{},[125933],{"data":125934,"marks":125935,"value":110198,"nodeType":864},{},[],{"data":125937,"content":125938,"nodeType":941},{},[125939,125952],{"data":125940,"content":125941,"nodeType":945},{},[125942],{"data":125943,"content":125944,"nodeType":860},{},[125945,125949],{"data":125946,"marks":125947,"value":110212,"nodeType":864},{},[125948],{"type":899},{"data":125950,"marks":125951,"value":110216,"nodeType":864},{},[],{"data":125953,"content":125954,"nodeType":945},{},[125955],{"data":125956,"content":125957,"nodeType":860},{},[125958,125962],{"data":125959,"marks":125960,"value":110227,"nodeType":864},{},[125961],{"type":899},{"data":125963,"marks":125964,"value":110231,"nodeType":864},{},[],{"data":125966,"content":125969,"nodeType":996},{"target":125967},{"sys":125968},{"id":92011,"type":1001,"linkType":1002},[],{"data":125971,"content":125972,"nodeType":1009},{},[125973],{"data":125974,"marks":125975,"value":110212,"nodeType":864},{},[],{"data":125977,"content":125978,"nodeType":860},{},[125979,125982,125989],{"data":125980,"marks":125981,"value":110249,"nodeType":864},{},[],{"data":125983,"content":125984,"nodeType":883},{"uri":110252},[125985],{"data":125986,"marks":125987,"value":110258,"nodeType":864},{},[125988],{"type":1455},{"data":125990,"marks":125991,"value":21,"nodeType":864},{},[],{"data":125993,"content":125994,"nodeType":860},{},[125995],{"data":125996,"marks":125997,"value":110268,"nodeType":864},{},[],{"data":125999,"content":126000,"nodeType":860},{},[126001],{"data":126002,"marks":126003,"value":110275,"nodeType":864},{},[],{"data":126005,"content":126006,"nodeType":860},{},[126007],{"data":126008,"marks":126009,"value":110282,"nodeType":864},{},[],{"data":126011,"content":126012,"nodeType":941},{},[126013,126022,126031],{"data":126014,"content":126015,"nodeType":945},{},[126016],{"data":126017,"content":126018,"nodeType":860},{},[126019],{"data":126020,"marks":126021,"value":110295,"nodeType":864},{},[],{"data":126023,"content":126024,"nodeType":945},{},[126025],{"data":126026,"content":126027,"nodeType":860},{},[126028],{"data":126029,"marks":126030,"value":110305,"nodeType":864},{},[],{"data":126032,"content":126033,"nodeType":945},{},[126034],{"data":126035,"content":126036,"nodeType":860},{},[126037],{"data":126038,"marks":126039,"value":110315,"nodeType":864},{},[],{"data":126041,"content":126042,"nodeType":860},{},[126043],{"data":126044,"marks":126045,"value":110322,"nodeType":864},{},[],{"data":126047,"content":126048,"nodeType":860},{},[126049],{"data":126050,"marks":126051,"value":110329,"nodeType":864},{},[],{"data":126053,"content":126054,"nodeType":860},{},[126055],{"data":126056,"marks":126057,"value":110336,"nodeType":864},{},[],{"data":126059,"content":126060,"nodeType":860},{},[126061,126064,126071],{"data":126062,"marks":126063,"value":21,"nodeType":864},{},[],{"data":126065,"content":126066,"nodeType":883},{"uri":110345},[126067],{"data":126068,"marks":126069,"value":110345,"nodeType":864},{},[126070],{"type":1455},{"data":126072,"marks":126073,"value":21,"nodeType":864},{},[],{"data":126075,"content":126078,"nodeType":996},{"target":126076},{"sys":126077},{"id":110358,"type":1001,"linkType":1002},[],{"data":126080,"content":126083,"nodeType":996},{"target":126081},{"sys":126082},{"id":110364,"type":1001,"linkType":1002},[],{"data":126085,"content":126088,"nodeType":996},{"target":126086},{"sys":126087},{"id":110370,"type":1001,"linkType":1002},[],{"data":126090,"content":126091,"nodeType":1009},{},[126092],{"data":126093,"marks":126094,"value":110378,"nodeType":864},{},[],{"data":126096,"content":126097,"nodeType":860},{},[126098,126101,126110],{"data":126099,"marks":126100,"value":110385,"nodeType":864},{},[],{"data":126102,"content":126105,"nodeType":27604},{"target":126103},{"sys":126104},{"id":110390,"type":1001,"linkType":1002},[126106],{"data":126107,"marks":126108,"value":5272,"nodeType":864},{},[126109],{"type":1455},{"data":126111,"marks":126112,"value":110399,"nodeType":864},{},[],{"data":126114,"content":126115,"nodeType":860},{},[126116],{"data":126117,"marks":126118,"value":110406,"nodeType":864},{},[],{"data":126120,"content":126121,"nodeType":860},{},[126122],{"data":126123,"marks":126124,"value":110413,"nodeType":864},{},[],{"data":126126,"content":126127,"nodeType":860},{},[126128],{"data":126129,"marks":126130,"value":110420,"nodeType":864},{},[],{"data":126132,"content":126133,"nodeType":860},{},[126134],{"data":126135,"marks":126136,"value":110427,"nodeType":864},{},[],{"data":126138,"content":126139,"nodeType":941},{},[126140,126149,126158,126167,126176,126185],{"data":126141,"content":126142,"nodeType":945},{},[126143],{"data":126144,"content":126145,"nodeType":860},{},[126146],{"data":126147,"marks":126148,"value":110440,"nodeType":864},{},[],{"data":126150,"content":126151,"nodeType":945},{},[126152],{"data":126153,"content":126154,"nodeType":860},{},[126155],{"data":126156,"marks":126157,"value":110450,"nodeType":864},{},[],{"data":126159,"content":126160,"nodeType":945},{},[126161],{"data":126162,"content":126163,"nodeType":860},{},[126164],{"data":126165,"marks":126166,"value":110460,"nodeType":864},{},[],{"data":126168,"content":126169,"nodeType":945},{},[126170],{"data":126171,"content":126172,"nodeType":860},{},[126173],{"data":126174,"marks":126175,"value":110470,"nodeType":864},{},[],{"data":126177,"content":126178,"nodeType":945},{},[126179],{"data":126180,"content":126181,"nodeType":860},{},[126182],{"data":126183,"marks":126184,"value":110480,"nodeType":864},{},[],{"data":126186,"content":126187,"nodeType":945},{},[126188],{"data":126189,"content":126190,"nodeType":860},{},[126191],{"data":126192,"marks":126193,"value":110490,"nodeType":864},{},[],{"data":126195,"content":126196,"nodeType":860},{},[126197],{"data":126198,"marks":126199,"value":110497,"nodeType":864},{},[],{"data":126201,"content":126202,"nodeType":941},{},[126203,126212,126221,126230],{"data":126204,"content":126205,"nodeType":945},{},[126206],{"data":126207,"content":126208,"nodeType":860},{},[126209],{"data":126210,"marks":126211,"value":110510,"nodeType":864},{},[],{"data":126213,"content":126214,"nodeType":945},{},[126215],{"data":126216,"content":126217,"nodeType":860},{},[126218],{"data":126219,"marks":126220,"value":110520,"nodeType":864},{},[],{"data":126222,"content":126223,"nodeType":945},{},[126224],{"data":126225,"content":126226,"nodeType":860},{},[126227],{"data":126228,"marks":126229,"value":110530,"nodeType":864},{},[],{"data":126231,"content":126232,"nodeType":945},{},[126233],{"data":126234,"content":126235,"nodeType":860},{},[126236],{"data":126237,"marks":126238,"value":110540,"nodeType":864},{},[],{"data":126240,"content":126241,"nodeType":860},{},[126242],{"data":126243,"marks":126244,"value":110547,"nodeType":864},{},[],{"data":126246,"content":126249,"nodeType":996},{"target":126247},{"sys":126248},{"id":110552,"type":1001,"linkType":1002},[],{"data":126251,"content":126252,"nodeType":860},{},[126253],{"data":126254,"marks":126255,"value":110560,"nodeType":864},{},[],{"data":126257,"content":126258,"nodeType":860},{},[126259,126262,126266],{"data":126260,"marks":126261,"value":110567,"nodeType":864},{},[],{"data":126263,"marks":126264,"value":31415,"nodeType":864},{},[126265],{"type":2246},{"data":126267,"marks":126268,"value":110575,"nodeType":864},{},[],{"data":126270,"content":126273,"nodeType":996},{"target":126271},{"sys":126272},{"id":102281,"type":1001,"linkType":1002},[],{"data":126275,"content":126276,"nodeType":1009},{},[126277],{"data":126278,"marks":126279,"value":110587,"nodeType":864},{},[],{"data":126281,"content":126282,"nodeType":860},{},[126283],{"data":126284,"marks":126285,"value":110594,"nodeType":864},{},[],{"data":126287,"content":126288,"nodeType":941},{},[126289,126298,126307],{"data":126290,"content":126291,"nodeType":945},{},[126292],{"data":126293,"content":126294,"nodeType":860},{},[126295],{"data":126296,"marks":126297,"value":110607,"nodeType":864},{},[],{"data":126299,"content":126300,"nodeType":945},{},[126301],{"data":126302,"content":126303,"nodeType":860},{},[126304],{"data":126305,"marks":126306,"value":110617,"nodeType":864},{},[],{"data":126308,"content":126309,"nodeType":945},{},[126310],{"data":126311,"content":126312,"nodeType":860},{},[126313],{"data":126314,"marks":126315,"value":110627,"nodeType":864},{},[],{"data":126317,"content":126318,"nodeType":1009},{},[126319],{"data":126320,"marks":126321,"value":32492,"nodeType":864},{},[],{"data":126323,"content":126324,"nodeType":860},{},[126325],{"data":126326,"marks":126327,"value":110640,"nodeType":864},{},[],{"data":126329,"content":126330,"nodeType":860},{},[126331],{"data":126332,"marks":126333,"value":110647,"nodeType":864},{},[],{"data":126335,"content":126336,"nodeType":860},{},[126337],{"data":126338,"marks":126339,"value":110654,"nodeType":864},{},[],{"items":126341},[126342,126344],{"sys":126343,"name":6593},{"id":6592},{"sys":126345,"name":297},{"id":2732},{"items":126347},[126348],{"fullName":4949,"firstName":4950,"jobTitle":4951,"profilePicture":126349},{"url":4955},{"__typename":2059,"sys":126351,"content":126353,"title":127526,"synopsis":127527,"hashTags":59,"publishedDate":127528,"slug":127529,"tagsCollection":127530,"authorsCollection":127536},{"id":126352},"1te7lpcknxuN73jdCdkXjd",{"json":126354},{"data":126355,"content":126356,"nodeType":856},{},[126357,126364,126371,126378,126385,126392,126399,126405,126412,126419,126426,126515,126520,126527,126534,126541,126574,126581,126588,126595,126602,126608,126615,126622,126645,126652,126658,126664,126671,126678,126685,126692,126699,126706,126713,126719,126725,126733,126740,126747,126754,126761,126768,126775,126782,126789,126796,126803,126810,126817,126822,126829,126836,126843,126850,126856,126862,126869,126876,126883,126906,126913,126919,126925,126932,126938,126945,126952,126963,126970,126977,126984,126991,126998,127015,127113,127120,127127,127175,127181,127188,127195,127202,127209,127216,127223,127229,127236,127255,127262,127269,127276,127283,127290,127297,127340,127347,127402,127408,127415,127478,127484,127491,127498,127505,127512,127519],{"data":126358,"content":126359,"nodeType":860},{},[126360],{"data":126361,"marks":126362,"value":126363,"nodeType":864},{},[],"This blog post covers the implications of using SWA as an authentication method in Okta, with a particular focus on what security teams need to consider in an account breach and subsequent incident response scenario. ",{"data":126365,"content":126366,"nodeType":860},{},[126367],{"data":126368,"marks":126369,"value":126370,"nodeType":864},{},[],"Spoiler alert: we’ll make the case that the true value of an SSO solution like Okta is in the use of SAML and OIDC authentication methods, not convenience features like SWA.",{"data":126372,"content":126373,"nodeType":1009},{},[126374],{"data":126375,"marks":126376,"value":126377,"nodeType":864},{},[],"Introduction",{"data":126379,"content":126380,"nodeType":860},{},[126381],{"data":126382,"marks":126383,"value":126384,"nodeType":864},{},[],"To facilitate SSO logins to web applications, Okta allows the industry standard SAML and OIDC protocols for federated logins to be used with applications that support it. These represent the most secure and recommended options. However, Okta also offers a proprietary system called SWA to support apps that don’t support these protocols, or where they are otherwise unavailable due to licensing restrictions.     ",{"data":126386,"content":126387,"nodeType":860},{},[126388],{"data":126389,"marks":126390,"value":126391,"nodeType":864},{},[],"While SWA is referred to as an SSO login mechanism, functionally it’s a password manager. SWA stores username and password combinations for individual applications on a per-user basis and makes use of a browser extension to automate the login process on behalf of the user. ",{"data":126393,"content":126394,"nodeType":860},{},[126395],{"data":126396,"marks":126397,"value":126398,"nodeType":864},{},[],"The screenshot below shows an example of an application being configured to use SWA as opposed to SAML, in this case Salesforce:",{"data":126400,"content":126404,"nodeType":996},{"target":126401},{"sys":126402},{"id":126403,"type":1001,"linkType":1002},"4wrRez2VpTG1vjsvNFlklK",[],{"data":126406,"content":126407,"nodeType":860},{},[126408],{"data":126409,"marks":126410,"value":126411,"nodeType":864},{},[],"From this configuration screen it’s not obvious that there is a fundamental difference between some login methods like SWA and true federated identity methods like SAML 2.0. To better understand the difference and the risks of SWA, let’s look at it from an attacker’s perspective.",{"data":126413,"content":126414,"nodeType":1009},{},[126415],{"data":126416,"marks":126417,"value":126418,"nodeType":864},{},[],"How are Okta accounts compromised?",{"data":126420,"content":126421,"nodeType":860},{},[126422],{"data":126423,"marks":126424,"value":126425,"nodeType":864},{},[],"While it’s common for Okta accounts to be protected using MFA, and sometimes device trust, there are still viable attack vectors. The two most prevalent attacks would be: ",{"data":126427,"content":126428,"nodeType":941},{},[126429,126444],{"data":126430,"content":126431,"nodeType":945},{},[126432],{"data":126433,"content":126434,"nodeType":860},{},[126435,126440],{"data":126436,"marks":126437,"value":126439,"nodeType":864},{},[126438],{"type":899},"Endpoint compromise",{"data":126441,"marks":126442,"value":126443,"nodeType":864},{},[]," - In a traditional endpoint compromise scenario, an attacker will generally have full access to the user’s browser. This means they can hijack existing Okta sessions by stealing authentication tokens, which bypass all device trust and MFA protections. For persistent access, they can keylog credentials when the user next logs in and add MFA methods or enrol a new endpoint with device trust.",{"data":126445,"content":126446,"nodeType":945},{},[126447],{"data":126448,"content":126449,"nodeType":860},{},[126450,126455,126459,126467,126470,126479,126483,126487,126496,126500,126504,126512],{"data":126451,"marks":126452,"value":126454,"nodeType":864},{},[126453],{"type":899},"Phishing attacks/MFA proxying",{"data":126456,"marks":126457,"value":126458,"nodeType":864},{},[]," - Traditional phishing attacks can be launched against Okta users to obtain credentials and/or authenticated sessions. Attacker-in-the-middle (AITM) attacks can be used to bypass common MFA mechanisms, and attacks against Okta users are typically carried out using tools such as ",{"data":126460,"content":126461,"nodeType":883},{"uri":83666},[126462],{"data":126463,"marks":126464,"value":126466,"nodeType":864},{},[126465],{"type":1455},"evilginx",{"data":126468,"marks":126469,"value":3731,"nodeType":864},{},[],{"data":126471,"content":126473,"nodeType":883},{"uri":126472},"https://mrd0x.com/bypass-2fa-using-novnc/",[126474],{"data":126475,"marks":126476,"value":126478,"nodeType":864},{},[126477],{"type":1455},"noVNC",{"data":126480,"marks":126481,"value":1171,"nodeType":864},{},[126482],{"type":899},{"data":126484,"marks":126485,"value":126486,"nodeType":864},{},[],"or ",{"data":126488,"content":126490,"nodeType":883},{"uri":126489},"https://github.com/fkasler/cuddlephish",[126491],{"data":126492,"marks":126493,"value":126495,"nodeType":864},{},[126494],{"type":1455},"cuddlephish",{"data":126497,"marks":126498,"value":2924,"nodeType":864},{},[126499],{"type":899},{"data":126501,"marks":126502,"value":126503,"nodeType":864},{},[]," We’ve even seen groups using tooling specifically crafted to target Okta such as the notorious ",{"data":126505,"content":126506,"nodeType":883},{"uri":83606},[126507],{"data":126508,"marks":126509,"value":126511,"nodeType":864},{},[126510],{"type":1455},"0ktapus group/campaign.",{"data":126513,"marks":126514,"value":21,"nodeType":864},{},[],{"data":126516,"content":126519,"nodeType":996},{"target":126517},{"sys":126518},{"id":92011,"type":1001,"linkType":1002},[],{"data":126521,"content":126522,"nodeType":1009},{},[126523],{"data":126524,"marks":126525,"value":126526,"nodeType":864},{},[],"What is Okta SWA?",{"data":126528,"content":126529,"nodeType":860},{},[126530],{"data":126531,"marks":126532,"value":126533,"nodeType":864},{},[],"Okta Secure Web Authentication (SWA) provides SSO-like functionality to web applications that don’t support federated protocols and is intended to be used only when SAML or OIDC federated logins cannot be used. ",{"data":126535,"content":126536,"nodeType":860},{},[126537],{"data":126538,"marks":126539,"value":126540,"nodeType":864},{},[],"It is SSO-like in the sense that:",{"data":126542,"content":126543,"nodeType":941},{},[126544,126554,126564],{"data":126545,"content":126546,"nodeType":945},{},[126547],{"data":126548,"content":126549,"nodeType":860},{},[126550],{"data":126551,"marks":126552,"value":126553,"nodeType":864},{},[],"A user enters their single Okta password to login to Okta, ",{"data":126555,"content":126556,"nodeType":945},{},[126557],{"data":126558,"content":126559,"nodeType":860},{},[126560],{"data":126561,"marks":126562,"value":126563,"nodeType":864},{},[],"SWA then stores username/password combinations ",{"data":126565,"content":126566,"nodeType":945},{},[126567],{"data":126568,"content":126569,"nodeType":860},{},[126570],{"data":126571,"marks":126572,"value":126573,"nodeType":864},{},[],"SWA then makes use of a browser extension to automatically login to applications using the credentials. ",{"data":126575,"content":126576,"nodeType":860},{},[126577],{"data":126578,"marks":126579,"value":126580,"nodeType":864},{},[],"In that sense, it’s essentially a password manager. Like any password manager, it can be a big security improvement over a user manually managing their accounts or reusing the same password everywhere.",{"data":126582,"content":126583,"nodeType":860},{},[126584],{"data":126585,"marks":126586,"value":126587,"nodeType":864},{},[],"There’s a good reason that true SSO is considered more secure than password managers, and this comes down to the identity. An SSO uses a single identity that is federated to other apps, where a password manager just better manages many discrete identities. So, when an employee leaves an organization and they’re using an SSO, a single identity needs to be disabled, but disabling access to a password manager does nothing to disable the identities inside it.",{"data":126589,"content":126590,"nodeType":860},{},[126591],{"data":126592,"marks":126593,"value":126594,"nodeType":864},{},[],"In the case of SWA, the use of a browser extension and a long list of supported applications with custom login scripts already written is a key value add. This means users don’t need to copy/paste credentials like they might with some password managers. ",{"data":126596,"content":126597,"nodeType":860},{},[126598],{"data":126599,"marks":126600,"value":126601,"nodeType":864},{},[],"However, unlike typical password managers, there isn’t just one type of SWA, administrators can actually pick between one of five configuration options. This is shown in the screenshot below:",{"data":126603,"content":126607,"nodeType":996},{"target":126604},{"sys":126605},{"id":126606,"type":1001,"linkType":1002},"42kt5hDFjjVYLf85HnjlU8",[],{"data":126609,"content":126610,"nodeType":860},{},[126611],{"data":126612,"marks":126613,"value":126614,"nodeType":864},{},[],"So, it’s possible to configure SWA like a traditional password manager scenario where the user sets their own username and password. However, as you can see above, you can set it up so that administrators can fully control the credentials, including the use of shared credentials used by multiple users.",{"data":126616,"content":126617,"nodeType":860},{},[126618],{"data":126619,"marks":126620,"value":126621,"nodeType":864},{},[],"SWA can also control the default configuration of the password reveal capability:",{"data":126623,"content":126624,"nodeType":941},{},[126625,126635],{"data":126626,"content":126627,"nodeType":945},{},[126628],{"data":126629,"content":126630,"nodeType":860},{},[126631],{"data":126632,"marks":126633,"value":126634,"nodeType":864},{},[],"When configured to allow users to set their own credentials, password reveal is enabled by default. ",{"data":126636,"content":126637,"nodeType":945},{},[126638],{"data":126639,"content":126640,"nodeType":860},{},[126641],{"data":126642,"marks":126643,"value":126644,"nodeType":864},{},[],"When administrators control the credentials, password reveal is disabled by default. ",{"data":126646,"content":126647,"nodeType":860},{},[126648],{"data":126649,"marks":126650,"value":126651,"nodeType":864},{},[],"Since Okta SWA performs logins automatically on behalf of the user, the user doesn’t technically need to be able to view or copy/paste the credentials. This makes it possible for Okta to support disabling password reveal. ",{"data":126653,"content":126657,"nodeType":996},{"target":126654},{"sys":126655},{"id":126656,"type":1001,"linkType":1002},"3IE8neYJbh0H8Vc7Hd9p5W",[],{"data":126659,"content":126663,"nodeType":996},{"target":126660},{"sys":126661},{"id":126662,"type":1001,"linkType":1002},"5C1lhoJtBEgdndiL9gSUbd",[],{"data":126665,"content":126666,"nodeType":1009},{},[126667],{"data":126668,"marks":126669,"value":126670,"nodeType":864},{},[],"What are the security risks of using SWA?",{"data":126672,"content":126673,"nodeType":860},{},[126674],{"data":126675,"marks":126676,"value":126677,"nodeType":864},{},[],"While SWA may be a step up from users performing manual logins to a range of apps, it carries the same risk that any password manager solution has. If your account is compromised then all your usernames and passwords can be stolen in one go.",{"data":126679,"content":126680,"nodeType":860},{},[126681],{"data":126682,"marks":126683,"value":126684,"nodeType":864},{},[],"But how can that be if password reveal has been disabled",{"data":126686,"content":126687,"nodeType":1312},{},[126688],{"data":126689,"marks":126690,"value":126691,"nodeType":864},{},[],"1. Bypassing password reveal restrictions",{"data":126693,"content":126694,"nodeType":860},{},[126695],{"data":126696,"marks":126697,"value":126698,"nodeType":864},{},[],"Even if users don’t directly interact with their passwords themselves (e.g. via copy/paste), their browser needs access otherwise it wouldn’t be possible to login to apps. ",{"data":126700,"content":126701,"nodeType":860},{},[126702],{"data":126703,"marks":126704,"value":126705,"nodeType":864},{},[],"The Okta browser extension uses the user’s active Okta login session to request credentials in the background, then automatically logs in to apps without the user ever directly seeing those credentials. So, while disabling password reveal may defeat a low-skill attacker or normal user scenarios, it’s essentially a client-side control, and isn’t going to stop a more determined attacker or technical user from getting at the credentials. This isn’t a bug, it’s a technical limitation of how a password manager works.",{"data":126707,"content":126708,"nodeType":860},{},[126709],{"data":126710,"marks":126711,"value":126712,"nodeType":864},{},[],"For example, let’s say a user has Salesforce configured as an app with SWA and clicks the app tile in the extension to login. The browser extension will use the active user session to make a request like the following (headers and irrelevant data removed for clarity):",{"data":126714,"content":126718,"nodeType":996},{"target":126715},{"sys":126716},{"id":126717,"type":1001,"linkType":1002},"2tiqg9EUoa9KxkTCduZoVe",[],{"data":126720,"content":126724,"nodeType":996},{"target":126721},{"sys":126722},{"id":126723,"type":1001,"linkType":1002},"4ApkgD7IwPRC3jC09Jf2SJ",[],{"data":126726,"content":126727,"nodeType":860},{},[126728],{"data":126729,"marks":126730,"value":126732,"nodeType":864},{},[126731],{"type":2246},"This response to the browser extension’s web request contains the username and password for Salesforce",{"data":126734,"content":126735,"nodeType":860},{},[126736],{"data":126737,"marks":126738,"value":126739,"nodeType":864},{},[],"This is the Salesforce-specific login script that allows the extension to automatically log the user in to Salesforce and includes their credentials. This request will include the credentials even if password reveal is disabled - the request above was captured using an intercepting proxy like Burp Suite.",{"data":126741,"content":126742,"nodeType":1312},{},[126743],{"data":126744,"marks":126745,"value":126746,"nodeType":864},{},[],"2. Cross-account shared passwords",{"data":126748,"content":126749,"nodeType":860},{},[126750],{"data":126751,"marks":126752,"value":126753,"nodeType":864},{},[],"An additional risk with SWA is an operational one. Administrators can set passwords for users and also disable password reveal, which can encourage the use of shared passwords, since they don’t expect the users to see them. ",{"data":126755,"content":126756,"nodeType":860},{},[126757],{"data":126758,"marks":126759,"value":126760,"nodeType":864},{},[],"If administrators are auto-generating complex passwords for every single user account they create as a strong operational process, then there may be no issue. However, breach history would tell us that rarely do organizations have operational security practices as stringent as that.",{"data":126762,"content":126763,"nodeType":860},{},[126764],{"data":126765,"marks":126766,"value":126767,"nodeType":864},{},[],"An attacker compromising an Okta user account can not only extract valid credentials for all configured SWA apps for that user, but may uncover passwords that are valid for other user accounts configured by administrators, making this a likely vector for lateral movement.",{"data":126769,"content":126770,"nodeType":1312},{},[126771],{"data":126772,"marks":126773,"value":126774,"nodeType":864},{},[],"3. Shared Okta passwords",{"data":126776,"content":126777,"nodeType":860},{},[126778],{"data":126779,"marks":126780,"value":126781,"nodeType":864},{},[],"One SWA option administrators can configure is to require the user to use their Okta password for the application (see earlier screenshot of configuration options). In this case, Okta lets the user set the password for the application, but it will confirm it matches the user’s Okta password and reject it otherwise.",{"data":126783,"content":126784,"nodeType":860},{},[126785],{"data":126786,"marks":126787,"value":126788,"nodeType":864},{},[],"This is a dangerous option, since it means the user’s Okta password is shared with other applications. So, if one of those applications is compromised, then their Okta password could be breached as well, which could allow both other applications and the user’s core Okta account to be compromised. It’s essentially enforcing password re-use, the exact opposite of what you want from an identity security perspective.",{"data":126790,"content":126791,"nodeType":1312},{},[126792],{"data":126793,"marks":126794,"value":126795,"nodeType":864},{},[],"4. Persistent access to connected apps",{"data":126797,"content":126798,"nodeType":860},{},[126799],{"data":126800,"marks":126801,"value":126802,"nodeType":864},{},[],"Okta acts as an authentication gateway for access to other applications. Ideally, strong authentication policies will be in place such as strong password policies, MFA, account lockout and detection and response controls.",{"data":126804,"content":126805,"nodeType":860},{},[126806],{"data":126807,"marks":126808,"value":126809,"nodeType":864},{},[],"However, if even a temporary compromise of an Okta account is achieved (for example through an Okta session theft), an attacker extracting all credentials for SWA apps does not need to maintain access to Okta any further. Instead, they can maintain persistent access to all the downstream SWA apps by logging in manually, using the credentials they have extracted without using Okta. ",{"data":126811,"content":126812,"nodeType":860},{},[126813],{"data":126814,"marks":126815,"value":126816,"nodeType":864},{},[],"This greatly complicates incident response playbooks. Where an otherwise simple recovery action like disabling an Okta account, resetting the password and MFA methods, et cetera, would kick an attacker out of the Okta account - for a user using SWA the attacker will still have all the access to downstream SWA applications unless every single SWA app user account is recovered as well. This is where the value of a federated identity becomes clear.",{"data":126818,"content":126821,"nodeType":996},{"target":126819},{"sys":126820},{"id":102281,"type":1001,"linkType":1002},[],{"data":126823,"content":126824,"nodeType":1009},{},[126825],{"data":126826,"marks":126827,"value":126828,"nodeType":864},{},[],"Dumping SWA credentials",{"data":126830,"content":126831,"nodeType":860},{},[126832],{"data":126833,"marks":126834,"value":126835,"nodeType":864},{},[],"Since Okta SWA functions as a password manager, and it’s also possible to bypass password reveal restrictions, an attacker who has gained temporary access to an Okta session can automate the extraction of all credentials stored via SWA for that account.",{"data":126837,"content":126838,"nodeType":1312},{},[126839],{"data":126840,"marks":126841,"value":126842,"nodeType":864},{},[],"Using the password reveal API",{"data":126844,"content":126845,"nodeType":860},{},[126846],{"data":126847,"marks":126848,"value":126849,"nodeType":864},{},[],"One method would be to automate the password reveal API call in the dashboard for every app configured. This is the simplest, direct way to get credentials but has the disadvantage that it will not return credentials that have had password reveal disabled. The following screenshots show an example of the API call that is made:",{"data":126851,"content":126855,"nodeType":996},{"target":126852},{"sys":126853},{"id":126854,"type":1001,"linkType":1002},"27xCaphfwy6zSNU7QDQZ1g",[],{"data":126857,"content":126861,"nodeType":996},{"target":126858},{"sys":126859},{"id":126860,"type":1001,"linkType":1002},"begENC8Oxq4rwprZ0fGpG",[],{"data":126863,"content":126864,"nodeType":1312},{},[126865],{"data":126866,"marks":126867,"value":126868,"nodeType":864},{},[],"Using the browser extension API",{"data":126870,"content":126871,"nodeType":860},{},[126872],{"data":126873,"marks":126874,"value":126875,"nodeType":864},{},[],"The more effective way for an attacker to dump credentials, and bypass password reveal restrictions, is to emulate the API calls made by the browser extension to retrieve the login scripts for each SWA application. ",{"data":126877,"content":126878,"nodeType":860},{},[126879],{"data":126880,"marks":126881,"value":126882,"nodeType":864},{},[],"For an attacker to make these calls, a valid Okta session is needed. Specifically, the tokens that need to be extracted from the browser for these calls are:",{"data":126884,"content":126885,"nodeType":941},{},[126886,126896],{"data":126887,"content":126888,"nodeType":945},{},[126889],{"data":126890,"content":126891,"nodeType":860},{},[126892],{"data":126893,"marks":126894,"value":126895,"nodeType":864},{},[],"The access token in “okta-token-storage” in browser local storage",{"data":126897,"content":126898,"nodeType":945},{},[126899],{"data":126900,"content":126901,"nodeType":860},{},[126902],{"data":126903,"marks":126904,"value":126905,"nodeType":864},{},[],"The “idx” token in cookies",{"data":126907,"content":126908,"nodeType":860},{},[126909],{"data":126910,"marks":126911,"value":126912,"nodeType":864},{},[],"These can be seen below:",{"data":126914,"content":126918,"nodeType":996},{"target":126915},{"sys":126916},{"id":126917,"type":1001,"linkType":1002},"4ooNI3TmnxqCAtw9MZuuVI",[],{"data":126920,"content":126924,"nodeType":996},{"target":126921},{"sys":126922},{"id":126923,"type":1001,"linkType":1002},"6rbgLXHewT34SPH3qA24Fu",[],{"data":126926,"content":126927,"nodeType":860},{},[126928],{"data":126929,"marks":126930,"value":126931,"nodeType":864},{},[],"The following screenshot shows the use of a simple internal PoC we created to investigate logging detection opportunities. It gives a sense of the type of information that can be retrieved for a test Okta user account: ",{"data":126933,"content":126937,"nodeType":996},{"target":126934},{"sys":126935},{"id":126936,"type":1001,"linkType":1002},"5lYhdtWKVqIch6CpksR7Dd",[],{"data":126939,"content":126940,"nodeType":1009},{},[126941],{"data":126942,"marks":126943,"value":126944,"nodeType":864},{},[],"So if SWA can be risky, is SAML and OIDC safe?",{"data":126946,"content":126947,"nodeType":860},{},[126948],{"data":126949,"marks":126950,"value":126951,"nodeType":864},{},[],"In general, much more so, but as is unfortunately so often the case in security, the answer is “it depends.” The threat profile for federated SSO like SAML and OIDC is very different, and they don’t suffer from the risks highlighted with SWA use given above. ",{"data":126953,"content":126954,"nodeType":860},{},[126955,126960],{"data":126956,"marks":126957,"value":126959,"nodeType":864},{},[126958],{"type":899},"Any organization using Okta should strive to use SAML/OIDC for as many applications as possible - this is the true power of a federated identity solution",{"data":126961,"marks":126962,"value":2924,"nodeType":864},{},[],{"data":126964,"content":126965,"nodeType":860},{},[126966],{"data":126967,"marks":126968,"value":126969,"nodeType":864},{},[],"However, it’s important to remember that not even SAML/OIDC isn't a silver bullet.",{"data":126971,"content":126972,"nodeType":860},{},[126973],{"data":126974,"marks":126975,"value":126976,"nodeType":864},{},[],"For example, it’s still possible for an attacker achieving a temporary compromise of an Okta account to click every single SAML/OIDC application to establish authenticated sessions with all of them. While some sessions may be short-lived, depending on the application, these sessions may stay alive for longer periods such as 30 days or for some apps even indefinitely. ",{"data":126978,"content":126979,"nodeType":860},{},[126980],{"data":126981,"marks":126982,"value":126983,"nodeType":864},{},[],"While it may be simple for incident responders to disable an Okta account temporarily, it’s certainly much more difficult to disable all connected SaaS accounts and/or kill active sessions for all of them. ",{"data":126985,"content":126986,"nodeType":860},{},[126987],{"data":126988,"marks":126989,"value":126990,"nodeType":864},{},[],"Additionally, while active sessions won’t generally allow an attacker long-term access to an application like stolen SWA credentials often will, many different SaaS applications support methods that can be used to effectively backdoor access to them - though this is a risk to both SWA and federated identities.",{"data":126992,"content":126993,"nodeType":860},{},[126994],{"data":126995,"marks":126996,"value":126997,"nodeType":864},{},[],"This is another big challenge for incident responders to deal with, as it can allow attacks to maintain persistence without requiring valid credentials or active sessions. In other words, there are many ways to turn that short term access into persistent access outside Okta. ",{"data":126999,"content":127000,"nodeType":860},{},[127001,127004,127011],{"data":127002,"marks":127003,"value":111749,"nodeType":864},{},[],{"data":127005,"content":127006,"nodeType":883},{"uri":6418},[127007],{"data":127008,"marks":127009,"value":37864,"nodeType":864},{},[127010],{"type":1455},{"data":127012,"marks":127013,"value":127014,"nodeType":864},{},[],". Some of the most common techniques that apply here are:",{"data":127016,"content":127017,"nodeType":941},{},[127018,127037,127056,127075,127094],{"data":127019,"content":127020,"nodeType":945},{},[127021],{"data":127022,"content":127023,"nodeType":860},{},[127024,127027,127034],{"data":127025,"marks":127026,"value":21,"nodeType":864},{},[],{"data":127028,"content":127029,"nodeType":883},{"uri":36086},[127030],{"data":127031,"marks":127032,"value":111780,"nodeType":864},{},[127033],{"type":1455},{"data":127035,"marks":127036,"value":21,"nodeType":864},{},[],{"data":127038,"content":127039,"nodeType":945},{},[127040],{"data":127041,"content":127042,"nodeType":860},{},[127043,127046,127053],{"data":127044,"marks":127045,"value":21,"nodeType":864},{},[],{"data":127047,"content":127048,"nodeType":883},{"uri":111795},[127049],{"data":127050,"marks":127051,"value":111801,"nodeType":864},{},[127052],{"type":1455},{"data":127054,"marks":127055,"value":21,"nodeType":864},{},[],{"data":127057,"content":127058,"nodeType":945},{},[127059],{"data":127060,"content":127061,"nodeType":860},{},[127062,127065,127072],{"data":127063,"marks":127064,"value":21,"nodeType":864},{},[],{"data":127066,"content":127067,"nodeType":883},{"uri":26784},[127068],{"data":127069,"marks":127070,"value":111821,"nodeType":864},{},[127071],{"type":1455},{"data":127073,"marks":127074,"value":21,"nodeType":864},{},[],{"data":127076,"content":127077,"nodeType":945},{},[127078],{"data":127079,"content":127080,"nodeType":860},{},[127081,127084,127091],{"data":127082,"marks":127083,"value":21,"nodeType":864},{},[],{"data":127085,"content":127086,"nodeType":883},{"uri":96375},[127087],{"data":127088,"marks":127089,"value":111841,"nodeType":864},{},[127090],{"type":1455},{"data":127092,"marks":127093,"value":21,"nodeType":864},{},[],{"data":127095,"content":127096,"nodeType":945},{},[127097],{"data":127098,"content":127099,"nodeType":860},{},[127100,127103,127110],{"data":127101,"marks":127102,"value":21,"nodeType":864},{},[],{"data":127104,"content":127105,"nodeType":883},{"uri":61891},[127106],{"data":127107,"marks":127108,"value":111861,"nodeType":864},{},[127109],{"type":1455},{"data":127111,"marks":127112,"value":21,"nodeType":864},{},[],{"data":127114,"content":127115,"nodeType":1009},{},[127116],{"data":127117,"marks":127118,"value":127119,"nodeType":864},{},[],"Investigating and detecting an Okta account compromise",{"data":127121,"content":127122,"nodeType":860},{},[127123],{"data":127124,"marks":127125,"value":127126,"nodeType":864},{},[],"The good news is there are multiple Okta log events that can be used for either investigating a breach or providing some detection mechanisms via a SIEM. Three key log events are as follows:",{"data":127128,"content":127129,"nodeType":941},{},[127130,127145,127160],{"data":127131,"content":127132,"nodeType":945},{},[127133],{"data":127134,"content":127135,"nodeType":860},{},[127136,127141],{"data":127137,"marks":127138,"value":127140,"nodeType":864},{},[127139],{"type":899},"Show password event",{"data":127142,"marks":127143,"value":127144,"nodeType":864},{},[]," - indicates when a user has clicked the reveal password button",{"data":127146,"content":127147,"nodeType":945},{},[127148],{"data":127149,"content":127150,"nodeType":860},{},[127151,127156],{"data":127152,"marks":127153,"value":127155,"nodeType":864},{},[127154],{"type":899},"Evaluation of sign-on policy",{"data":127157,"marks":127158,"value":127159,"nodeType":864},{},[]," - occurs when the browser extension requests credentials",{"data":127161,"content":127162,"nodeType":945},{},[127163],{"data":127164,"content":127165,"nodeType":860},{},[127166,127171],{"data":127167,"marks":127168,"value":127170,"nodeType":864},{},[127169],{"type":899},"User single sign on to app",{"data":127172,"marks":127173,"value":127174,"nodeType":864},{},[]," - occurs when a full app login is performed",{"data":127176,"content":127180,"nodeType":996},{"target":127177},{"sys":127178},{"id":127179,"type":1001,"linkType":1002},"23G5QvwzgyTEJBJ33Ut7NJ",[],{"data":127182,"content":127183,"nodeType":860},{},[127184],{"data":127185,"marks":127186,"value":127187,"nodeType":864},{},[],"Using these events in a post-compromise situation could potentially significantly reduce the response actions required. If there is clear evidence that the attacker only accessed a limited number of applications, focus can be placed on disabling those accounts and removing potential backdoors, as opposed to having to perform containment procedures for every single application the user has access to.",{"data":127189,"content":127190,"nodeType":1312},{},[127191],{"data":127192,"marks":127193,"value":127194,"nodeType":864},{},[],"Short time-window detection",{"data":127196,"content":127197,"nodeType":860},{},[127198],{"data":127199,"marks":127200,"value":127201,"nodeType":864},{},[],"While the events above are great for investigation, they are all expected events during normal use of Okta by a user. Perhaps the “show password” event may be rarer, but it would still not be completely unusual to see. ",{"data":127203,"content":127204,"nodeType":860},{},[127205],{"data":127206,"marks":127207,"value":127208,"nodeType":864},{},[],"This makes detection more difficult as defenders need to separate malicious logins from legitimate logins, a notoriously difficult task.",{"data":127210,"content":127211,"nodeType":860},{},[127212],{"data":127213,"marks":127214,"value":127215,"nodeType":864},{},[],"For proactive detection, one option would be to detect unusually large numbers of these events in a short time window for the same user account. This would be especially effective against automated tools. It would be much more unusual to see a legitimate user login to every app or reveal every password all in one go, or even all in one day. On the other hand, an attacker may seek to compromise all applications in a short time window.",{"data":127217,"content":127218,"nodeType":860},{},[127219],{"data":127220,"marks":127221,"value":127222,"nodeType":864},{},[],"Given below is an example of the flurry of logs generated by running our internal SWA password dumping tool shown earlier. You can see they are all generated in a very short time window:",{"data":127224,"content":127228,"nodeType":996},{"target":127225},{"sys":127226},{"id":127227,"type":1001,"linkType":1002},"2PaCRx02gpTyYOiuJ85x9Y",[],{"data":127230,"content":127231,"nodeType":860},{},[127232],{"data":127233,"marks":127234,"value":127235,"nodeType":864},{},[],"The only difficulty here is picking sensible numbers for the minimum number of apps and maximum time window required in order to generate a detection event. This would likely need customizing to individual environments based on what number of applications are typical for a user to have access to.",{"data":127237,"content":127238,"nodeType":860},{},[127239,127243,127252],{"data":127240,"marks":127241,"value":127242,"nodeType":864},{},[],"For more general Okta detection rule options, consider checking out the Okta rules contained in the open-source ",{"data":127244,"content":127246,"nodeType":883},{"uri":127245},"https://github.com/SigmaHQ/sigma/tree/master/rules/cloud/okta",[127247],{"data":127248,"marks":127249,"value":127251,"nodeType":864},{},[127250],{"type":1455},"Sigma rule repository on GitHub",{"data":127253,"marks":127254,"value":2924,"nodeType":864},{},[],{"data":127256,"content":127257,"nodeType":1009},{},[127258],{"data":127259,"marks":127260,"value":127261,"nodeType":864},{},[],"Guidance for incident response",{"data":127263,"content":127264,"nodeType":860},{},[127265],{"data":127266,"marks":127267,"value":127268,"nodeType":864},{},[],"If there is one key takeaway from this article, it’s that responding to an Okta account compromise isn’t as simple as disabling the user’s Okta account and/or resetting passwords and MFA factors.",{"data":127270,"content":127271,"nodeType":860},{},[127272],{"data":127273,"marks":127274,"value":127275,"nodeType":864},{},[],"Once an attacker has compromised an Okta account, it should be initially assumed that all connected application accounts are also compromised, whether they use SAML, OIDC or SWA. ",{"data":127277,"content":127278,"nodeType":860},{},[127279],{"data":127280,"marks":127281,"value":127282,"nodeType":864},{},[],"If SWA is used, incident responders should also explore whether those passwords are compromised and whether any other accounts that potentially share those passwords are compromised. ",{"data":127284,"content":127285,"nodeType":860},{},[127286],{"data":127287,"marks":127288,"value":127289,"nodeType":864},{},[],"We’re going to assume all applications/credentials were accessed for the following containment advice, as it’s likely that even moderately-skilled attackers would have tools to automate this. ",{"data":127291,"content":127292,"nodeType":860},{},[127293],{"data":127294,"marks":127295,"value":127296,"nodeType":864},{},[],"A full belt and braces containment exercise would involve the following activities:",{"data":127298,"content":127299,"nodeType":941},{},[127300,127310,127320,127330],{"data":127301,"content":127302,"nodeType":945},{},[127303],{"data":127304,"content":127305,"nodeType":860},{},[127306],{"data":127307,"marks":127308,"value":127309,"nodeType":864},{},[],"Disabling/resetting the Okta account",{"data":127311,"content":127312,"nodeType":945},{},[127313],{"data":127314,"content":127315,"nodeType":860},{},[127316],{"data":127317,"marks":127318,"value":127319,"nodeType":864},{},[],"Disabling/resetting every single connected application account",{"data":127321,"content":127322,"nodeType":945},{},[127323],{"data":127324,"content":127325,"nodeType":860},{},[127326],{"data":127327,"marks":127328,"value":127329,"nodeType":864},{},[],"Identifying any other accounts that may share compromised SWA passwords for investigation and disabling/resetting",{"data":127331,"content":127332,"nodeType":945},{},[127333],{"data":127334,"content":127335,"nodeType":860},{},[127336],{"data":127337,"marks":127338,"value":127339,"nodeType":864},{},[],"Investigating every connected application account for signs of backdooring through multiple persistence techniques",{"data":127341,"content":127342,"nodeType":860},{},[127343],{"data":127344,"marks":127345,"value":127346,"nodeType":864},{},[],"The last point on investigating potential backdoors is particularly important because of the following reasons:",{"data":127348,"content":127349,"nodeType":941},{},[127350,127380],{"data":127351,"content":127352,"nodeType":945},{},[127353],{"data":127354,"content":127355,"nodeType":860},{},[127356,127360,127367,127370,127377],{"data":127357,"marks":127358,"value":127359,"nodeType":864},{},[],"Even if every application user account is temporarily disabled while passwords are reset etc, re-enabling the account could re-activate the attacker’s access if they have made use of persistence techniques like ",{"data":127361,"content":127362,"nodeType":883},{"uri":36086},[127363],{"data":127364,"marks":127365,"value":96392,"nodeType":864},{},[127366],{"type":1455},{"data":127368,"marks":127369,"value":902,"nodeType":864},{},[],{"data":127371,"content":127372,"nodeType":883},{"uri":26784},[127373],{"data":127374,"marks":127375,"value":17706,"nodeType":864},{},[127376],{"type":1455},{"data":127378,"marks":127379,"value":21,"nodeType":864},{},[],{"data":127381,"content":127382,"nodeType":945},{},[127383],{"data":127384,"content":127385,"nodeType":860},{},[127386,127390,127398],{"data":127387,"marks":127388,"value":127389,"nodeType":864},{},[],"Even if all application user accounts are disabled, even permanently, techniques like ",{"data":127391,"content":127392,"nodeType":883},{"uri":111795},[127393],{"data":127394,"marks":127395,"value":127397,"nodeType":864},{},[127396],{"type":1455},"link sharing",{"data":127399,"marks":127400,"value":127401,"nodeType":864},{},[]," can enable attackers to maintain access to data because link sharing decouples the access from being reliant on control of a user account.",{"data":127403,"content":127404,"nodeType":1009},{},[127405],{"data":127406,"marks":127407,"value":110587,"nodeType":864},{},[],{"data":127409,"content":127410,"nodeType":860},{},[127411],{"data":127412,"marks":127413,"value":127414,"nodeType":864},{},[],"We’ve covered a lot of ground here, so let’s take a quick step back to understand the key points of impact:",{"data":127416,"content":127417,"nodeType":941},{},[127418,127428,127438,127448,127458,127468],{"data":127419,"content":127420,"nodeType":945},{},[127421],{"data":127422,"content":127423,"nodeType":860},{},[127424],{"data":127425,"marks":127426,"value":127427,"nodeType":864},{},[],"Attackers can extract passwords for SWA apps, even if password reveal has been disabled - to be clear, this is not a bug, it’s just a technical limitation on how this style of password manager login has to work",{"data":127429,"content":127430,"nodeType":945},{},[127431],{"data":127432,"content":127433,"nodeType":860},{},[127434],{"data":127435,"marks":127436,"value":127437,"nodeType":864},{},[],"SWA passwords set by administrators should not be considered secret from the users as they can be accessed via the extension API",{"data":127439,"content":127440,"nodeType":945},{},[127441],{"data":127442,"content":127443,"nodeType":860},{},[127444],{"data":127445,"marks":127446,"value":127447,"nodeType":864},{},[],"Attackers gaining temporary control of an Okta user account can establish authenticated sessions with SAML/OIDC applications. ",{"data":127449,"content":127450,"nodeType":945},{},[127451],{"data":127452,"content":127453,"nodeType":860},{},[127454],{"data":127455,"marks":127456,"value":127457,"nodeType":864},{},[],"These sessions won’t automatically be revoked if the Okta user account is disabled/reset in response to compromise",{"data":127459,"content":127460,"nodeType":945},{},[127461],{"data":127462,"content":127463,"nodeType":860},{},[127464],{"data":127465,"marks":127466,"value":127467,"nodeType":864},{},[],"There are multiple common attack techniques to gain persistent access to SaaS applications.  ",{"data":127469,"content":127470,"nodeType":945},{},[127471],{"data":127472,"content":127473,"nodeType":860},{},[127474],{"data":127475,"marks":127476,"value":127477,"nodeType":864},{},[],"An attacker can potentially gain permanent access to many connected Okta applications even if efforts are made to reset individual application accounts",{"data":127479,"content":127480,"nodeType":1009},{},[127481],{"data":127482,"marks":127483,"value":32492,"nodeType":864},{},[],{"data":127485,"content":127486,"nodeType":860},{},[127487],{"data":127488,"marks":127489,"value":127490,"nodeType":864},{},[],"While many of these attacks are not unique to Okta, it is one of the most widely used products because it supports many apps, but it supports these apps using methods that have very different risk profiles. ",{"data":127492,"content":127493,"nodeType":860},{},[127494],{"data":127495,"marks":127496,"value":127497,"nodeType":864},{},[],"From a security perspective (and whatever your chosen identity platform), our recommendation would be to use SAML (the strongest auth method) where possible. If that isn’t available, use OIDC. If neither is an option, use password managers (like SWA), which in practise leads to far less reused passwords. ",{"data":127499,"content":127500,"nodeType":860},{},[127501],{"data":127502,"marks":127503,"value":127504,"nodeType":864},{},[],"Unfortunately the state of modern cloud app landscape means that you will be paying a lot more to get many apps using federated SSO, and even then many will still not support this at any license tier, so the use of passwords is still going to be part of the solution.",{"data":127506,"content":127507,"nodeType":860},{},[127508],{"data":127509,"marks":127510,"value":127511,"nodeType":864},{},[],"As we have seen in this article, an attacker can use a compromised SSO session to perform a number of follow-up attacks. Whether using SWA or SAML/OIDC it’s possible to gain authenticated sessions on connected apps and also potentially backdoor access to them.",{"data":127513,"content":127514,"nodeType":860},{},[127515],{"data":127516,"marks":127517,"value":127518,"nodeType":864},{},[],"When using SWA, it’s additionally possible to extract SWA passwords even when password reveal is disabled and potentially gain access to passwords shared with other accounts. This requires additional actions as part of your breach recovery processes/play-books.",{"data":127520,"content":127521,"nodeType":860},{},[127522],{"data":127523,"marks":127524,"value":127525,"nodeType":864},{},[],"There are multiple log events that can be used by security teams to investigate and respond to Okta account compromises and potentially detect them too. Additionally, strong incident response procedures need to be in place for dealing with compromised Okta or any other SSO accounts that factor in the ability for an attacker to laterally move to all the connected applications. Therefore, plans need to include revoking their access to those as well and investigating them for signs of backdoor persistence techniques.","Abusing Okta's SWA authentication","We'll cover the implications of using Okta's SWA authentication method. Learn what security teams need to know in an account breach and IR scenario. ","2023-11-30T00:00:00.000Z","okta-swa",{"items":127531},[127532,127534],{"sys":127533,"name":297},{"id":2732},{"sys":127535,"name":342},{"id":6596},{"items":127537},[127538],{"fullName":4949,"firstName":4950,"jobTitle":4951,"profilePicture":127539},{"url":4955},{"__typename":2059,"sys":127541,"content":127542,"title":5236,"synopsis":127994,"hashTags":59,"publishedDate":127995,"slug":127996,"tagsCollection":127997,"authorsCollection":128003},{"id":110390},{"json":127543},{"data":127544,"content":127545,"nodeType":856},{},[127546,127564,127571,127578,127584,127600,127607,127624,127631,127638,127645,127652,127659,127666,127673,127693,127700,127707,127713,127720,127727,127734,127740,127746,127752,127759,127766,127772,127779,127786,127793,127799,127806,127813,127820,127827,127834,127840,127847,127854,127860,127867,127874,127880,127886,127893,127960,127967,127973,127980,127987],{"data":127547,"content":127548,"nodeType":860},{},[127549,127553,127560],{"data":127550,"marks":127551,"value":127552,"nodeType":864},{},[],"We published the ",{"data":127554,"content":127555,"nodeType":883},{"uri":6418},[127556],{"data":127557,"marks":127558,"value":5765,"nodeType":864},{},[127559],{"type":1455},{"data":127561,"marks":127562,"value":127563,"nodeType":864},{},[]," on GitHub, which is an open-source research project to demonstrate the multitude of attacks that are possible against SaaS-native and hybrid SaaS organizations. On release day it contained 38 different techniques. ",{"data":127565,"content":127566,"nodeType":860},{},[127567],{"data":127568,"marks":127569,"value":127570,"nodeType":864},{},[],"However, we know it’s not just individual attack techniques and the phases of the cyber kill chain that matter - it’s also how you chain attacks together. Two lower risk vulnerabilities chained together could be a critical issue.",{"data":127572,"content":127573,"nodeType":860},{},[127574],{"data":127575,"marks":127576,"value":127577,"nodeType":864},{},[],"In this article, we’re going to demonstrate that by combining two of our favorite new SaaS attack techniques, poisoned tenants and SAMLjacking, you can make a simple, but effective attack chain.",{"data":127579,"content":127580,"nodeType":1009},{},[127581],{"data":127582,"marks":127583,"value":110106,"nodeType":864},{},[],{"data":127585,"content":127586,"nodeType":860},{},[127587,127590,127597],{"data":127588,"marks":127589,"value":21,"nodeType":864},{},[],{"data":127591,"content":127592,"nodeType":883},{"uri":101692},[127593],{"data":127594,"marks":127595,"value":110119,"nodeType":864},{},[127596],{"type":1455},{"data":127598,"marks":127599,"value":110123,"nodeType":864},{},[],{"data":127601,"content":127602,"nodeType":1009},{},[127603],{"data":127604,"marks":127605,"value":127606,"nodeType":864},{},[],"What the hell is SAMLjacking?",{"data":127608,"content":127609,"nodeType":860},{},[127610,127613,127620],{"data":127611,"marks":127612,"value":21,"nodeType":864},{},[],{"data":127614,"content":127615,"nodeType":883},{"uri":88494},[127616],{"data":127617,"marks":127618,"value":5272,"nodeType":864},{},[127619],{"type":1455},{"data":127621,"marks":127622,"value":127623,"nodeType":864},{},[]," is where an attacker makes use of SAML SSO configuration settings for a SaaS tenant they control in order to redirect users to a malicious link of their choosing during the authentication process. This can be highly effective for phishing as the original URL will be a legitimate SaaS URL and users are expecting to provide credentials.",{"data":127625,"content":127626,"nodeType":1009},{},[127627],{"data":127628,"marks":127629,"value":127630,"nodeType":864},{},[],"What’s the benefit of combining them?",{"data":127632,"content":127633,"nodeType":860},{},[127634],{"data":127635,"marks":127636,"value":127637,"nodeType":864},{},[],"A poisoned tenant on its own could be an epic supply chain attack if you get really lucky. Imagine discovering an organization was wanting to migrate to Slack and then catching some key teams with a Slack poisoned tenant and gradually getting the whole organization migrated over. You’d have a goldmine of information as an administrator of the platform.",{"data":127639,"content":127640,"nodeType":860},{},[127641],{"data":127642,"marks":127643,"value":127644,"nodeType":864},{},[],"However, it might be hard to trick a whole organization into using an attacker controlled slack instance without anyone realizing, but it could be a lot easier to successfully invite e.g. a marketing team into using/adopting a new marketing app that helps them do SEO. This might be easier to perform, but it doesn't really give the attacker valuable data in the poisoned tenant of the marketing app, so it seems a bit pointless.",{"data":127646,"content":127647,"nodeType":860},{},[127648],{"data":127649,"marks":127650,"value":127651,"nodeType":864},{},[],"On the other hand, what about SAMLjacking? It’s a great technique on its own, but you still need to get users to login to the app. Sure, you’ll be sending them a legitimate SaaS URL with a valid TLS certificate etc and so it’s going to pass the sniff test for many people and also bypass email security appliances and similar security tools. However, you’re still effectively phishing them for credentials, the one thing we train users to be most suspicious about, so there is still a possibility they will spot the attack. ",{"data":127653,"content":127654,"nodeType":860},{},[127655],{"data":127656,"marks":127657,"value":127658,"nodeType":864},{},[],"But what if you could combine these techniques so that a poisoned tenant didn’t need to be a big, juicy target to be useful and a SAMLjacking attack didn’t even necessarily require phishing someone directly? What if the attack could be successful just from a target accessing their own bookmarks or open tabs for an app they already use?",{"data":127660,"content":127661,"nodeType":860},{},[127662],{"data":127663,"marks":127664,"value":127665,"nodeType":864},{},[],"In a combination scenario, a user doesn't need to be phished for SAMLjacking. One day they go back to their tab and it's logged out and they get SAMLjacked while logging back in. They don't have to click a link in an email. That’s what we are talking about here, so let’s consider an example of this making use of the SaaS-based wiki, Nuclino.",{"data":127667,"content":127668,"nodeType":1009},{},[127669],{"data":127670,"marks":127671,"value":127672,"nodeType":864},{},[],"An example attack - Nuclino",{"data":127674,"content":127675,"nodeType":860},{},[127676,127680,127689],{"data":127677,"marks":127678,"value":127679,"nodeType":864},{},[],"Before moving on, I’d just like to point out that this isn’t a vulnerability with ",{"data":127681,"content":127683,"nodeType":883},{"uri":127682},"https://www.nuclino.com/",[127684],{"data":127685,"marks":127686,"value":127688,"nodeType":864},{},[127687],{"type":1455},"Nuclino",{"data":127690,"marks":127691,"value":127692,"nodeType":864},{},[]," per se and it won’t be limited to Nuclino either. I’ve used Nuclino as an example because it’s a great wiki platform we use at Push Security, so I’m familiar with it. ",{"data":127694,"content":127695,"nodeType":860},{},[127696],{"data":127697,"marks":127698,"value":127699,"nodeType":864},{},[],"It also allows custom SAML authentication, both as part of its free trial and as part of its lowest tier paid plan. This should be commended as many SaaS apps don’t support SAML or other forms of SSO, and many of those that do charge a huge premium via enterprise plans to gain access to it. We love you Nuclino, sorry!",{"data":127701,"content":127702,"nodeType":860},{},[127703],{"data":127704,"marks":127705,"value":127706,"nodeType":864},{},[],"We'll take a walkthrough of how the attack chain works now. However, if you'd like to jump straight to a demo of the attack then checkout the video here:",{"data":127708,"content":127712,"nodeType":996},{"target":127709},{"sys":127710},{"id":127711,"type":1001,"linkType":1002},"3y6ZMPPsbh6PYlQ7IOxOzS",[],{"data":127714,"content":127715,"nodeType":860},{},[127716],{"data":127717,"marks":127718,"value":127719,"nodeType":864},{},[],"Next, we'll do a full walkthrough of the attack.",{"data":127721,"content":127722,"nodeType":1312},{},[127723],{"data":127724,"marks":127725,"value":127726,"nodeType":864},{},[],"Step 1 - Setup a poisoned tenant and invite target users",{"data":127728,"content":127729,"nodeType":860},{},[127730],{"data":127731,"marks":127732,"value":127733,"nodeType":864},{},[],"The first step for an adversary is to set up their poisoned tenant and then make use of the invite functionality to target some employees of the target organization. With Nuclino, you can either do this by sending sharing links directly to the target or invite them through the Nuclino app, and it will send out legit email invitations on your behalf.",{"data":127735,"content":127739,"nodeType":996},{"target":127736},{"sys":127737},{"id":127738,"type":1001,"linkType":1002},"740nQhGSFp2nFU1b4DP7Mp",[],{"data":127741,"content":127745,"nodeType":996},{"target":127742},{"sys":127743},{"id":127744,"type":1001,"linkType":1002},"4GFL1L7Mmp3nnBODwC9SbH",[],{"data":127747,"content":127751,"nodeType":996},{"target":127748},{"sys":127749},{"id":127750,"type":1001,"linkType":1002},"7KUWKFFlDyvBVoM3MEhPwR",[],{"data":127753,"content":127754,"nodeType":1312},{},[127755],{"data":127756,"marks":127757,"value":127758,"nodeType":864},{},[],"Step 2 - Target responds to the invitation or later signs up for Nuclino",{"data":127760,"content":127761,"nodeType":860},{},[127762],{"data":127763,"marks":127764,"value":127765,"nodeType":864},{},[],"The interesting thing here is that whether the target signs up for Nuclino directly from the joining link or they sign up for an account separately in future, they get mapped to the workspace they have been invited to by default.",{"data":127767,"content":127771,"nodeType":996},{"target":127768},{"sys":127769},{"id":127770,"type":1001,"linkType":1002},"2GlTHcT1cpQ44jb5lN9dr4",[],{"data":127773,"content":127774,"nodeType":1312},{},[127775],{"data":127776,"marks":127777,"value":127778,"nodeType":864},{},[],"Step 3 - Configure a malicious SAML server",{"data":127780,"content":127781,"nodeType":860},{},[127782],{"data":127783,"marks":127784,"value":127785,"nodeType":864},{},[],"Once the adversary has a critical mass of users on their poisoned tenant, they can later engage the SAMLjacking attack. ",{"data":127787,"content":127788,"nodeType":860},{},[127789],{"data":127790,"marks":127791,"value":127792,"nodeType":864},{},[],"To do this, they need to configure a custom SAML server. You can point this to a fake authentication provider they control that mirrors the appearance of the SSO provider the target users are accustomed to using in order to capture credentials.",{"data":127794,"content":127798,"nodeType":996},{"target":127795},{"sys":127796},{"id":127797,"type":1001,"linkType":1002},"1RbhUTZd5Ak4UvjiZhub4V",[],{"data":127800,"content":127801,"nodeType":860},{},[127802],{"data":127803,"marks":127804,"value":127805,"nodeType":864},{},[],"If you toggle the setting to require SSO, existing users will be sent emails prompting them to link their accounts to SSO. That leads to two possible paths to a user compromise.",{"data":127807,"content":127808,"nodeType":1009},{},[127809],{"data":127810,"marks":127811,"value":127812,"nodeType":864},{},[],"Paths to user compromise ",{"data":127814,"content":127815,"nodeType":1312},{},[127816],{"data":127817,"marks":127818,"value":127819,"nodeType":864},{},[],"The first possibility",{"data":127821,"content":127822,"nodeType":860},{},[127823],{"data":127824,"marks":127825,"value":127826,"nodeType":864},{},[],"This compromise occurs when the target sees the email that SSO has been configured and clicks the link in order to link their account to SSO. A smart adversary may improve the social engineering quality with an email sent out in advance informing users that the internal security team has requested Nuclino be linked to SSO. This makes the target expect the email and consider it legitimate. ",{"data":127828,"content":127829,"nodeType":860},{},[127830],{"data":127831,"marks":127832,"value":127833,"nodeType":864},{},[],"Even though the email is an official email from Nuclino and the link contained is an official Nuclino URL, it will immediately redirect to the malicious SAML server that has been configured, where credentials can then be captured.",{"data":127835,"content":127839,"nodeType":996},{"target":127836},{"sys":127837},{"id":127838,"type":1001,"linkType":1002},"6zWiAfBx7aaUeo6t04AtUl",[],{"data":127841,"content":127842,"nodeType":1312},{},[127843],{"data":127844,"marks":127845,"value":127846,"nodeType":864},{},[],"Second compromise possibility",{"data":127848,"content":127849,"nodeType":860},{},[127850],{"data":127851,"marks":127852,"value":127853,"nodeType":864},{},[],"If the user ignores the email, the other potential outcome occurs when their session expires and they need to login again to regain access. This is similar to a watering hole attack. When their session expires, the target’s open tabs or bookmarks will redirect back to the workspace specific login page, which will now look like this:",{"data":127855,"content":127859,"nodeType":996},{"target":127856},{"sys":127857},{"id":127858,"type":1001,"linkType":1002},"580CvVtdyEpqdiK8T1lSfQ",[],{"data":127861,"content":127862,"nodeType":860},{},[127863],{"data":127864,"marks":127865,"value":127866,"nodeType":864},{},[],"Clicking the button to login with SSO will immediately redirect to the malicious SAML server and launch the attack. Alternatively, if the target attempts to login without SSO, the login will fail with an error message telling them to login with SSO.",{"data":127868,"content":127869,"nodeType":860},{},[127870],{"data":127871,"marks":127872,"value":127873,"nodeType":864},{},[],"Either way, once the SAMLjacking has taken effect, they’ll be faced with a familiar-looking SSO login page from a trusted source at a point they are expecting to enter their credentials - something even the most paranoid of users could easily fall for unknowingly. ",{"data":127875,"content":127879,"nodeType":996},{"target":127876},{"sys":127877},{"id":127878,"type":1001,"linkType":1002},"5eFctGgFywtmhhjaXVraqN",[],{"data":127881,"content":127882,"nodeType":1009},{},[127883],{"data":127884,"marks":127885,"value":110587,"nodeType":864},{},[],{"data":127887,"content":127888,"nodeType":860},{},[127889],{"data":127890,"marks":127891,"value":127892,"nodeType":864},{},[],"At this point, having compromised multiple user’s Google credentials, an adversary has a lot of options available:",{"data":127894,"content":127895,"nodeType":941},{},[127896,127906,127916,127938],{"data":127897,"content":127898,"nodeType":945},{},[127899],{"data":127900,"content":127901,"nodeType":860},{},[127902],{"data":127903,"marks":127904,"value":127905,"nodeType":864},{},[],"Access all data in Google apps like GMail, Google Drive etc",{"data":127907,"content":127908,"nodeType":945},{},[127909],{"data":127910,"content":127911,"nodeType":860},{},[127912],{"data":127913,"marks":127914,"value":127915,"nodeType":864},{},[],"Access other SaaS apps that use SSO with the same Google account",{"data":127917,"content":127918,"nodeType":945},{},[127919],{"data":127920,"content":127921,"nodeType":860},{},[127922,127926,127935],{"data":127923,"marks":127924,"value":127925,"nodeType":864},{},[],"Access other SaaS apps that use ",{"data":127927,"content":127929,"nodeType":883},{"uri":127928},"https://github.com/pushsecurity/saas-attacks/blob/main/techniques/passwordless_logins/description.md",[127930],{"data":127931,"marks":127932,"value":127934,"nodeType":864},{},[127933],{"type":1455},"passwordless logins",{"data":127936,"marks":127937,"value":21,"nodeType":864},{},[],{"data":127939,"content":127940,"nodeType":945},{},[127941],{"data":127942,"content":127943,"nodeType":860},{},[127944,127948,127957],{"data":127945,"marks":127946,"value":127947,"nodeType":864},{},[],"Access other SaaS apps via email ",{"data":127949,"content":127951,"nodeType":883},{"uri":127950},"https://github.com/pushsecurity/saas-attacks/blob/main/techniques/account_recovery/description.md",[127952],{"data":127953,"marks":127954,"value":127956,"nodeType":864},{},[127955],{"type":1455},"account recovery",{"data":127958,"marks":127959,"value":21,"nodeType":864},{},[],{"data":127961,"content":127962,"nodeType":860},{},[127963],{"data":127964,"marks":127965,"value":127966,"nodeType":864},{},[],"Essentially, this can potentially lead to a compromise of every SaaS application accessible by the compromised user - all from the use of a poisoned tenant for an app with no particularly sensitive data or permissions.",{"data":127968,"content":127969,"nodeType":1312},{},[127970],{"data":127971,"marks":127972,"value":32492,"nodeType":864},{},[],{"data":127974,"content":127975,"nodeType":860},{},[127976],{"data":127977,"marks":127978,"value":127979,"nodeType":864},{},[],"We have seen how two new SaaS-focused attack techniques can be combined into one more effective attack chain. This shows how a successful poisoned tenant attack for even a low risk app can still be a significant threat when combined with a SAMLjacking attack. ",{"data":127981,"content":127982,"nodeType":860},{},[127983],{"data":127984,"marks":127985,"value":127986,"nodeType":864},{},[],"This demonstrates even the least sensitive edge cases of SaaS sprawl can represent a vector to laterally move to compromise much more valuable assets. History taught us that protecting core production assets was not enough. Adversaries often achieved compromises via test systems and unsecured development resources. What we are seeing now is that this parallel exists in the SaaS-native world too. Therefore, we need to be protecting all SaaS resources with greater vigilance than their standalone sensitivity would indicate.",{"data":127988,"content":127989,"nodeType":860},{},[127990],{"data":127991,"marks":127992,"value":127993,"nodeType":864},{},[],"So what can be done about it? Well, like much in security, there is no silver bullet solution to this issue. SaaS apps are here to stay and are designed to be flexible, easy to sign up for and use. The key first step is always to get good visibility into the SaaS sprawl across your organization. If certain employees or teams start making use of a new SaaS app (or a new tenant for an existing one), that’s probably something your security team should be aware of so they can make sure it’s legitimate and being used as securely as possible. ","In this article, we’re going to demo combining two of our favorite new SaaS attack techniques to make a simple, but effective attack chain.\n","2023-08-17T00:00:00.000Z","samljacking-a-poisoned-tenant",{"items":127998},[127999,128001],{"sys":128000,"name":6593},{"id":6592},{"sys":128002,"name":342},{"id":6596},{"items":128004},[128005],{"fullName":4949,"firstName":4950,"jobTitle":4951,"profilePicture":128006},{"url":4955},"can-my-admins-steal-my-cloud-password-manager-secrets","blog/can-my-admins-steal-my-cloud-password-manager-secrets",{"json":128010},{"data":128011,"content":128012,"nodeType":856},{},[128013],{"data":128014,"content":128015,"nodeType":860},{},[128016],{"data":128017,"marks":128018,"value":128019,"nodeType":864},{},[],"We all know admin accounts are powerful and need to be protected - a compromised admin account can do a lot of damage, after all. But can a compromised admin account steal the secrets from your corporate password manager? If so, how does this affect your ability to respond to a hijacked account or malicious insider? Let's dive in.","Can admins access the secrets from your corporate password manager? If so, how does this affect incident response in a compromised admin account scenario?",{"id":128022,"publishedAt":128023},"67rmNM2GcROwaonN9vzAW8","2026-08-12T11:55:33.396Z",{"items":128025},[128026,128028],{"sys":128027,"name":342},{"id":6596},{"sys":128029,"name":297},{"id":2732},{"items":128031},[128032,128034,128036,128038,128040,128042,128044],{"sys":128033,"name":413,"slug":414,"tier":31},{"id":410},{"sys":128035,"name":545,"slug":546,"tier":31},{"id":542},{"sys":128037,"name":279,"slug":280,"tier":31},{"id":276},{"sys":128039,"name":502,"slug":503,"tier":45},{"id":499},{"sys":128041,"name":404,"slug":405,"tier":45},{"id":401},{"sys":128043,"name":484,"slug":485,"tier":45},{"id":481},{"sys":128045,"name":457,"slug":458,"tier":45},{"id":454},"STU5iBs0MXhBEQ6vjf3xvzzXStkHaWOhovzRRQLkQo0",{"id":128048,"title":121021,"authorsCollection":128049,"content":128054,"extension":228,"faqItemsCollection":128761,"faqTitle":59,"featured":6,"hashTags":59,"meta":128763,"metaTitle":128764,"ogImage":128765,"postType":9326,"publishedDate":128767,"relatedBlogPostsCollection":128768,"slug":121022,"stem":129735,"subtitle":59,"summary":129736,"synopsis":129753,"sys":129754,"tagsCollection":129756,"topicsCollection":129762,"__hash__":129796},"blog/blog/5-ways-to-defeat-identity-based-attacks.json",{"items":128050},[128051],{"fullName":38408,"firstName":38409,"jobTitle":38410,"socialLinks":128052,"profilePicture":128053},[38494],{"url":38412},{"json":128055,"links":128736},{"data":128056,"content":128057,"nodeType":856},{},[128058,128065,128072,128079,128086,128093,128100,128106,128113,128119,128126,128133,128149,128156,128163,128170,128177,128184,128191,128198,128203,128210,128217,128224,128231,128237,128245,128252,128259,128266,128273,128281,128288,128294,128301,128308,128331,128338,128371,128378,128394,128402,128409,128416,128423,128430,128483,128490,128496,128503,128510,128517,128525,128532,128539,128546,128574,128581,128614,128621,128628,128635,128642,128650,128657,128664,128671,128678,128685,128692,128699,128706,128724,128730],{"data":128059,"content":128060,"nodeType":1009},{},[128061],{"data":128062,"marks":128063,"value":128064,"nodeType":864},{},[],"What is in an identity?",{"data":128066,"content":128067,"nodeType":860},{},[128068],{"data":128069,"marks":128070,"value":128071,"nodeType":864},{},[],"Like real identities, digital identities are a little hard to define. Formally it’s a mapping of a human into the digital world, but more often this term is used as synonymous with a credential (e.g. a username and password, a Multi-Factor Authentication (MFA) device, or a fingerprint) - the thing you use to prove you own the identity in an authentication process. When people say an identity is breached, they typically mean the credentials have been stolen.",{"data":128073,"content":128074,"nodeType":860},{},[128075],{"data":128076,"marks":128077,"value":128078,"nodeType":864},{},[],"This is a useful simplification, but bear in mind that reality is a bit more complex. For example - identities are typically tied to an account on an application (you want to login to Slack, Slack knows your password), but can also trust a third party (an Identity Provider or IdP) to authenticate an identity on your behalf in what’s known as federation (“login with Google” on Slack).",{"data":128080,"content":128081,"nodeType":860},{},[128082],{"data":128083,"marks":128084,"value":128085,"nodeType":864},{},[],"Surprisingly, it’s very common for modern apps to allow a user to authenticate to the same account using a local credential (a username and password) and a federated identity (e.g. the “login with Google” or “login with Microsoft” buttons) interchangeably.",{"data":128087,"content":128088,"nodeType":860},{},[128089],{"data":128090,"marks":128091,"value":128092,"nodeType":864},{},[],"That’s how you could wind up with multiple identities tied to a single account, or multiple accounts tied to a single federated identity. This is exactly what you see for real users - and every weird in-between case to boot.",{"data":128094,"content":128095,"nodeType":1009},{},[128096],{"data":128097,"marks":128098,"value":128099,"nodeType":864},{},[],"The “new perimeter” … from a red-teamer’s perspective",{"data":128101,"content":128102,"nodeType":860},{},[128103],{"data":128104,"marks":128105,"value":21,"nodeType":864},{},[],{"data":128107,"content":128108,"nodeType":860},{},[128109],{"data":128110,"marks":128111,"value":128112,"nodeType":864},{},[],"To see how identities are the new thing, it helps to see how we got here.",{"data":128114,"content":128115,"nodeType":1312},{},[128116],{"data":128117,"marks":128118,"value":82355,"nodeType":864},{},[],{"data":128120,"content":128121,"nodeType":860},{},[128122],{"data":128123,"marks":128124,"value":128125,"nodeType":864},{},[],"A couple of decades ago, I was just getting started as a red-teamer or penetration tester, or whatever you want to call it. The job is to do what real attackers do so clients could understand the attack techniques and better defend against them. The most stressful part of each project was the first step - getting initial access to the target - getting past their perimeter and into the (usually) soft internals.",{"data":128127,"content":128128,"nodeType":860},{},[128129],{"data":128130,"marks":128131,"value":128132,"nodeType":864},{},[],"A security perimeter is a boundary at which controls can be enforced. From an offensive perspective, a security perimeter is the same as an attack surface: where you can target initial attacks to gain a foothold, from which you can launch further attacks. I use perimeter and attack surface interchangeably going forward.",{"data":128134,"content":128135,"nodeType":860},{},[128136,128140,128145],{"data":128137,"marks":128138,"value":128139,"nodeType":864},{},[],"A perimeter can be physical, like a wall around a house, or virtual like the network boundary between an internal network and the internet where controls are things like firewalls. A couple of decades ago this internet network boundary was ",{"data":128141,"marks":128142,"value":128144,"nodeType":864},{},[128143],{"type":2246},"the",{"data":128146,"marks":128147,"value":128148,"nodeType":864},{},[]," perimeter. As any decent red-teamer during this era, we had a pretty well-oiled process of mapping a client’s external network, scanning it for services, and then identifying and exploiting known vulnerabilities in those services. With this foothold on a target network, we could pivot to other, more sensitive internal systems.",{"data":128150,"content":128151,"nodeType":860},{},[128152],{"data":128153,"marks":128154,"value":128155,"nodeType":864},{},[],"Blue teams started having success with automated vulnerability scanning and patching programs, during this time. Then red teams responded by focusing on finding new vulnerabilities, especially in custom code like web applications. I fondly remember using techniques like xp_cmdshell with SQL injection to get access to breach perimeter systems and get access to internal networks. As DMZs, SDLC, vuln scanning and a dozen other tactics became generally adopted things improved to the point where those standard red-team playbooks weren’t working anymore. ",{"data":128157,"content":128158,"nodeType":1312},{},[128159],{"data":128160,"marks":128161,"value":128162,"nodeType":864},{},[],"The shift to targeting users and their endpoints",{"data":128164,"content":128165,"nodeType":860},{},[128166],{"data":128167,"marks":128168,"value":128169,"nodeType":864},{},[],"About a decade ago, attackers realized it was easier to breach the perimeter and gain access to internal networks by simply targeting users with endpoints directly connected to the internal network. At the time the main techniques were email phishing and malicious web pages delivering exploits or straight malware. We put down Burp and our other web app testing tools and started spending our time crafting phishing emails with malicious macro-laden Microsoft Office documents for that initial entrypoint.",{"data":128171,"content":128172,"nodeType":860},{},[128173],{"data":128174,"marks":128175,"value":128176,"nodeType":864},{},[],"Defenders were on the back foot and even back then the “train your employees to spot attacks” advice felt as totally unrealistic as it’s now proved to be. The zeitgeist suggested, \"Attackers only need to succeed once; defenders must succeed every time.\" Defenders were blind and the focus was firmly on detection. Much much better telemetry was needed, which spawned the endpoint detection and response (EDR) revolution. ",{"data":128178,"content":128179,"nodeType":860},{},[128180],{"data":128181,"marks":128182,"value":128183,"nodeType":864},{},[],"EDR required immediate changes to red team tactics, and together with better endpoint security defaults, automatic OS updates (that actually started working) and memory exploit protections (things like DEP and ASLR) the timelines for successful attacks were stretching a lot.",{"data":128185,"content":128186,"nodeType":1312},{},[128187],{"data":128188,"marks":128189,"value":128190,"nodeType":864},{},[],"The modern perimeter",{"data":128192,"content":128193,"nodeType":860},{},[128194],{"data":128195,"marks":128196,"value":128197,"nodeType":864},{},[],"Attackers have had to change tactics yet again, due to the rising cost of attacking endpoints and the fact that data has moved off endpoints and internal networks and onto cloud systems or Software as a Service (SaaS) applications.",{"data":128199,"content":128202,"nodeType":996},{"target":128200},{"sys":128201},{"id":120692,"type":1001,"linkType":1002},[],{"data":128204,"content":128205,"nodeType":860},{},[128206],{"data":128207,"marks":128208,"value":128209,"nodeType":864},{},[],"Identities have always existed as a target for attackers and were a critical part of the kill chain, but they used to be protected by some other perimeter, be that a network perimeter or an endpoint perimeter. ",{"data":128211,"content":128212,"nodeType":860},{},[128213],{"data":128214,"marks":128215,"value":128216,"nodeType":864},{},[],"This has fundamentally changed as modern work applications are now directly exposed to the internet  - and the only thing needed to access these apps are identities. That means identities are now no longer the second or third target but the initial target, the new perimeter.",{"data":128218,"content":128219,"nodeType":1009},{},[128220],{"data":128221,"marks":128222,"value":128223,"nodeType":864},{},[],"Securing the (identity) perimeter",{"data":128225,"content":128226,"nodeType":860},{},[128227],{"data":128228,"marks":128229,"value":128230,"nodeType":864},{},[],"To understand how we can protect this new perimeter, I’ll discuss the general approach to securing any perimeter, and then how this applies to the identity attack surface.",{"data":128232,"content":128236,"nodeType":996},{"target":128233},{"sys":128234},{"id":128235,"type":1001,"linkType":1002},"c0YSk60vVULBPorLkkBPL",[],{"data":128238,"content":128239,"nodeType":1312},{},[128240],{"data":128241,"marks":128242,"value":128244,"nodeType":864},{},[128243],{"type":899},"1. Map your perimeter",{"data":128246,"content":128247,"nodeType":860},{},[128248],{"data":128249,"marks":128250,"value":128251,"nodeType":864},{},[],"It’s impossible to secure what you don’t know about. Whether your perimeter is made of network services, user endpoints or identities, you must know what they are before you can implement controls to protect them, and crucially, verify those controls are effective.",{"data":128253,"content":128254,"nodeType":860},{},[128255],{"data":128256,"marks":128257,"value":128258,"nodeType":864},{},[],"In a traditional network setting, you might ask IT to inventory public network ranges, domains you own, and internet facing servers and services to get visibility into your attack surface. This is a pretty complex task and lots of the static inventory will quickly become outdated and incomplete. That’s why many orgs will perform network discovery activities to find internet-exposed network services, using anything from basic network scans to find onsite or self-hosted services to querying APIs in cloud infrastructure platforms (like AWS or Azure).",{"data":128260,"content":128261,"nodeType":860},{},[128262],{"data":128263,"marks":128264,"value":128265,"nodeType":864},{},[],"There are parallels in the identity perimeter space, like querying Identity Providers (IdPs like Entra/AzureAD or Okta) for federated identities to map the attack surface. Unfortunately there is no equivalent to scanning your public network ranges for identities, since you can’t scan or query an app to find accounts on your domain (would that we could!). This problem is compounded by the fact that while IT and developers are typically the only ones that can create and expose new network services, most apps allow any employee to create a new identity by signing up to a free account outside your SSO solution.",{"data":128267,"content":128268,"nodeType":860},{},[128269],{"data":128270,"marks":128271,"value":128272,"nodeType":864},{},[],"Knowing your perimeter without a technical solution is going to be a very hit and miss affair. To have confidence that you understand your identity perimeter, you need an inventory solution that can discover SSO identities (the easy part), as well as identities created outside SSO, like local accounts those employees created just by signing up. To secure identities it’s not enough to know that an employee is accessing an app website, you need to know if they are logged in and what identity they are using (is the username a company email or personal gmail?) or you’ll be dealing with endless false positives.",{"data":128274,"content":128275,"nodeType":1312},{},[128276],{"data":128277,"marks":128278,"value":128280,"nodeType":864},{},[128279],{"type":899},"2. Reduce the size of your attack surface",{"data":128282,"content":128283,"nodeType":860},{},[128284],{"data":128285,"marks":128286,"value":128287,"nodeType":864},{},[],"Once you have an idea of what makes up your perimeter, it’s generally a good idea to make it as small as possible. If you halve the number of network services an attacker can target, that means you can spend twice as long per service to secure the ones that remain - the same goes for identities!",{"data":128289,"content":128293,"nodeType":996},{"target":128290},{"sys":128291},{"id":128292,"type":1001,"linkType":1002},"2XZ5vADLzuEnc2aAdZrkbO",[],{"data":128295,"content":128296,"nodeType":860},{},[128297],{"data":128298,"marks":128299,"value":128300,"nodeType":864},{},[],"To start this process, remove unused or unnecessary targets from the perimeter. ",{"data":128302,"content":128303,"nodeType":860},{},[128304],{"data":128305,"marks":128306,"value":128307,"nodeType":864},{},[],"On a network perimeter that might mean:",{"data":128309,"content":128310,"nodeType":941},{},[128311,128321],{"data":128312,"content":128313,"nodeType":945},{},[128314],{"data":128315,"content":128316,"nodeType":860},{},[128317],{"data":128318,"marks":128319,"value":128320,"nodeType":864},{},[],"Shutting down unused servers or",{"data":128322,"content":128323,"nodeType":945},{},[128324],{"data":128325,"content":128326,"nodeType":860},{},[128327],{"data":128328,"marks":128329,"value":128330,"nodeType":864},{},[],"Firewalling services that don’t need to be exposed to the internet.",{"data":128332,"content":128333,"nodeType":860},{},[128334],{"data":128335,"marks":128336,"value":128337,"nodeType":864},{},[],"In the identity space, you might:",{"data":128339,"content":128340,"nodeType":941},{},[128341,128351,128361],{"data":128342,"content":128343,"nodeType":945},{},[128344],{"data":128345,"content":128346,"nodeType":860},{},[128347],{"data":128348,"marks":128349,"value":128350,"nodeType":864},{},[],"Make sure new accounts use existing federated identities,",{"data":128352,"content":128353,"nodeType":945},{},[128354],{"data":128355,"content":128356,"nodeType":860},{},[128357],{"data":128358,"marks":128359,"value":128360,"nodeType":864},{},[],"Delete or disable unused SSO identities on your IdP, or ",{"data":128362,"content":128363,"nodeType":945},{},[128364],{"data":128365,"content":128366,"nodeType":860},{},[128367],{"data":128368,"marks":128369,"value":128370,"nodeType":864},{},[],"Manually delete unnecessary user accounts on work apps.",{"data":128372,"content":128373,"nodeType":860},{},[128374],{"data":128375,"marks":128376,"value":128377,"nodeType":864},{},[],"Manually deleting an unmanaged local identity on an app, e.g. after an employee leaves your org, is a (very) non-trivial task. This is because you often don’t known of the accounts and don't have access to manage the account (the IT or security team aren’t admin on the app tenant where it exists). You might have access to the user’s mailbox and be able to get access to the account by going through an account recovery flow and delete the account that way - but this is very time consuming and even more difficult if the user enabled MFA (which is what you want them to do!).",{"data":128379,"content":128380,"nodeType":860},{},[128381,128385,128390],{"data":128382,"marks":128383,"value":128384,"nodeType":864},{},[],"Given the difficulty of managing these accounts, a better strategy is to ",{"data":128386,"marks":128387,"value":128389,"nodeType":864},{},[128388],{"type":899},"make sure they never exist in the first place",{"data":128391,"marks":128392,"value":128393,"nodeType":864},{},[],". If you find you have lots of identities on an app you may decide the risk warrants IT effort and you can take over management of the app and integrate it with your IdP solution - or ask employees to use an alternative app instead. You can also use browser-based technical controls to prevent users from creating local identities in the first place.",{"data":128395,"content":128396,"nodeType":1312},{},[128397],{"data":128398,"marks":128399,"value":128401,"nodeType":864},{},[128400],{"type":899},"3. Harden the perimeter",{"data":128403,"content":128404,"nodeType":860},{},[128405],{"data":128406,"marks":128407,"value":128408,"nodeType":864},{},[],"Once you’ve made the perimeter as small as possible, the next step is to make it more difficult to breach that perimeter. Similar to the other objectives, but especially here, there are two sides to this. First the implementation; you have processes, configuration standards, and tools to make sure network services are updated and securely configured. Virtually no one achieves success simply through implementing good processes, you must continually verify that these processes work and that it continues to work.",{"data":128410,"content":128411,"nodeType":860},{},[128412],{"data":128413,"marks":128414,"value":128415,"nodeType":864},{},[],"To verify network controls are in place and working you do something like vulnerability scanning, where you check the perimeter for known vulnerabilities that an attacker could exploit and gain a foothold on your internal network. You might even have a risk profile that means you are concerned about more targeted attacks and hire pentesters or run a bug-bounty program to find weaknesses that can’t be automatically discovered. Very few organizations with an external network of any significant size perform a vulnerability scan for the first time - even a low-quality automated one - and find no serious issues. ",{"data":128417,"content":128418,"nodeType":860},{},[128419],{"data":128420,"marks":128421,"value":128422,"nodeType":864},{},[],"In the identity space, the status-quo is to be content with making policies and implementing and configuring an SSO system without explicit verification that it works as it should. We should be following the same level of verification processes for the identity perimeter as we do/did for the endpoint and network perimeter. ",{"data":128424,"content":128425,"nodeType":860},{},[128426],{"data":128427,"marks":128428,"value":128429,"nodeType":864},{},[],"In this case, the vulnerabilities we are looking for aren’t unpatched systems or zero-days. Instead, we’re looking for:",{"data":128431,"content":128432,"nodeType":941},{},[128433,128443,128453,128463,128473],{"data":128434,"content":128435,"nodeType":945},{},[128436],{"data":128437,"content":128438,"nodeType":860},{},[128439],{"data":128440,"marks":128441,"value":128442,"nodeType":864},{},[],"Accounts without MFA, ",{"data":128444,"content":128445,"nodeType":945},{},[128446],{"data":128447,"content":128448,"nodeType":860},{},[128449],{"data":128450,"marks":128451,"value":128452,"nodeType":864},{},[],"Those using weak MFA methods that make them phish-able,",{"data":128454,"content":128455,"nodeType":945},{},[128456],{"data":128457,"content":128458,"nodeType":860},{},[128459],{"data":128460,"marks":128461,"value":128462,"nodeType":864},{},[],"Employees re-using the same password across multiple accounts, ",{"data":128464,"content":128465,"nodeType":945},{},[128466],{"data":128467,"content":128468,"nodeType":860},{},[128469],{"data":128470,"marks":128471,"value":128472,"nodeType":864},{},[],"Passwords that exist in public breach dumps,",{"data":128474,"content":128475,"nodeType":945},{},[128476],{"data":128477,"content":128478,"nodeType":860},{},[128479],{"data":128480,"marks":128481,"value":128482,"nodeType":864},{},[],"Identities that should be in SSO but aren’t.",{"data":128484,"content":128485,"nodeType":860},{},[128486],{"data":128487,"marks":128488,"value":128489,"nodeType":864},{},[],"It’s not yet standard practice to test or verify that identity controls are in place, but if the past has taught us anything it soon will be. You'd be surprised how many times we find that the MFA policies security teams thought they had in place, actually aren't.",{"data":128491,"content":128495,"nodeType":996},{"target":128492},{"sys":128493},{"id":128494,"type":1001,"linkType":1002},"4w5UZcf5hJ7ADuoT5W2tkC",[],{"data":128497,"content":128498,"nodeType":860},{},[128499],{"data":128500,"marks":128501,"value":128502,"nodeType":864},{},[],"Part of the reason for this lack of verification is due to lack of awareness. While identities used to be an internal thing that we protected with the network perimeter, online identities today are external and have slowly become the perimeter, almost without anyone noticing. While online identities are external, they are absolutely part of your attack surface and must be controlled and hardened to some extent.",{"data":128504,"content":128505,"nodeType":860},{},[128506],{"data":128507,"marks":128508,"value":128509,"nodeType":864},{},[],"Verifying controls is also really difficult, which is another reason we may not be making it a crucial step in the process. Customers feel that SSO solutions are security solutions and using security tools on security tools feel wrong. But it’s no different to vuln-scanning to ensure your firewalls are patched and don’t have default passwords. ",{"data":128511,"content":128512,"nodeType":860},{},[128513],{"data":128514,"marks":128515,"value":128516,"nodeType":864},{},[],"Verification can also be legally challenging because it’s not yet clear whether pentesters or red teamers are allowed to target online identities during assessments. Often these assets aren’t considered in scope during client assessments. This means these vulnerabilities rarely end up in pentest reports and therefore don’t enter many organization’s security or risk management processes. Since you own the identities (even on a third party identity solution or app) and are allowed to grant permission to the red team to use these identities, it seems to me that adding identities to the scope is distinct from bug hunting or vulnerability research on these apps (which is the legally challenging aspect). I would strongly recommend that you discuss including online identities with the red team as part of your next pentest.",{"data":128518,"content":128519,"nodeType":1312},{},[128520],{"data":128521,"marks":128522,"value":128524,"nodeType":864},{},[128523],{"type":899},"4. Limit breach impact",{"data":128526,"content":128527,"nodeType":860},{},[128528],{"data":128529,"marks":128530,"value":128531,"nodeType":864},{},[],"The unfortunate reality is that regardless of what we do to harden a perimeter, there will always be a chance that breaches occur. The goal is to reduce that risk by minimizing the attack surface and hardening identities. ",{"data":128533,"content":128534,"nodeType":860},{},[128535],{"data":128536,"marks":128537,"value":128538,"nodeType":864},{},[],"When an attacker does get a foothold (by compromising an identity, for instance) you need to to restrict their further actions. Risk involves both the likelihood and the impact of an event. Previously, we focused on reducing the likelihood of breaches. Now, we're also aiming to lessen the impact if they do occur.",{"data":128540,"content":128541,"nodeType":860},{},[128542],{"data":128543,"marks":128544,"value":128545,"nodeType":864},{},[],"In our network perimeter story, we might think of using a DMZ network to restrict network access for systems exposed to the internet. A common example of a failure to limit impact on a Windows endpoint breach is having service accounts on all endpoints with Domain Administrator permission - which effectively turns a breach of any endpoint very quickly into a breach of every endpoint.",{"data":128547,"content":128548,"nodeType":860},{},[128549,128553,128560,128564,128570],{"data":128550,"marks":128551,"value":128552,"nodeType":864},{},[],"In an identity context, we need to think not only of the direct effect of an identity compromise (e.g. what data can this account read), but also of further lateral movement attacks. Consider this ",{"data":128554,"content":128555,"nodeType":883},{"uri":85319},[128556],{"data":128557,"marks":128558,"value":110655,"nodeType":864},{},[128559],{"type":1455},{"data":128561,"marks":128562,"value":128563,"nodeType":864},{},[]," case study where a breached identity with admin permissions on an otherwise low-risk app which is connected to SSO can be used to perform a ",{"data":128565,"content":128566,"nodeType":883},{"uri":88494},[128567],{"data":128568,"marks":128569,"value":5272,"nodeType":864},{},[],{"data":128571,"marks":128572,"value":128573,"nodeType":864},{},[]," attack that compromises SSO credentials for all other users of the same low-risk app.",{"data":128575,"content":128576,"nodeType":860},{},[128577],{"data":128578,"marks":128579,"value":128580,"nodeType":864},{},[],"In contrast to traditional network or endpoint breaches, identity breaches are scoped to the permissions that the compromised account has. If an identity is compromised, whatever that identity is authorized to do is the scope of the breach. For example:",{"data":128582,"content":128583,"nodeType":941},{},[128584,128594],{"data":128585,"content":128586,"nodeType":945},{},[128587],{"data":128588,"content":128589,"nodeType":860},{},[128590],{"data":128591,"marks":128592,"value":128593,"nodeType":864},{},[],"If an identity with read access to a code repository was breached you might consider that all the source code (hopefully no secrets!) they had read access to was taken unless you can prove otherwise. This is often more difficult than you expect - last time I checked Github (by far the world's most popular source code repository app) logs didn’t include, for example, zipped repo downloads. ",{"data":128595,"content":128596,"nodeType":945},{},[128597],{"data":128598,"content":128599,"nodeType":860},{},[128600,128604,128611],{"data":128601,"marks":128602,"value":128603,"nodeType":864},{},[],"If an identity with write permission was compromised, you would also need to check all commits/changes to ensure no code was backdoored. The same applies for other apps - think of an identity with write access to a wiki being used to ",{"data":128605,"content":128606,"nodeType":883},{"uri":96411},[128607],{"data":128608,"marks":128609,"value":128610,"nodeType":864},{},[],"drop links to phishing pages",{"data":128612,"marks":128613,"value":2924,"nodeType":864},{},[],{"data":128615,"content":128616,"nodeType":860},{},[128617],{"data":128618,"marks":128619,"value":128620,"nodeType":864},{},[],"For primary cloud collaboration platforms with complex data types (think O365 or Google Workspace) your IT team is likely already managing policies to limit the data that a user can read. For primary cloud hosting platforms your DevOps teams are likely maintaining policies to manage privileged access to production systems. The situation is typically very different for the few dozen high risk “core apps” beyond the 2 or 3 apps that receive a lot of attention and have dedicated teams.",{"data":128622,"content":128623,"nodeType":860},{},[128624],{"data":128625,"marks":128626,"value":128627,"nodeType":864},{},[],"Starting to review roles and permissions across the few dozen or so high-risk apps that are not as actively managed (or more likely self-managed by the teams using them) is a good way to start addressing the residual risk. The good news here is that most modern work apps use a much simpler permission model based largely around predefined roles like Owner, Admin, or Employee or similar variations. This means less flexibility, but also makes it a lot easier to manage permissions for identities on these apps - on balance, a good trade!",{"data":128629,"content":128630,"nodeType":860},{},[128631],{"data":128632,"marks":128633,"value":128634,"nodeType":864},{},[],"Consider this as part of your identity and access management review process. Something that used to be scoped around Active Directory group membership, but in a modern online identity context, now must be applied across many different work apps. ",{"data":128636,"content":128637,"nodeType":860},{},[128638],{"data":128639,"marks":128640,"value":128641,"nodeType":864},{},[],"Unless you want to try to get access to each tenant of each app and normalize this data into a mega-spreadsheet, you need access to this data in your identity inventory. This is an especially big challenge as teams find many of the apps they care about support authentication through SSO, but not authorization.",{"data":128643,"content":128644,"nodeType":1312},{},[128645],{"data":128646,"marks":128647,"value":128649,"nodeType":864},{},[128648],{"type":899},"5. Detect and respond to attacks",{"data":128651,"content":128652,"nodeType":860},{},[128653],{"data":128654,"marks":128655,"value":128656,"nodeType":864},{},[],"Your last line of defense in protecting a perimeter is to monitor for attacks. It’s typically when controls and detections fail that breaches end in the news. ",{"data":128658,"content":128659,"nodeType":860},{},[128660],{"data":128661,"marks":128662,"value":128663,"nodeType":864},{},[],"Telemetry is the core building block of attack detection. Typically, you might ingest audit or event logs into a SIEM system. To detect attacks against identities, you’ll typically want to start with telemetry from SSO or IdP logs. These will provide some minimal coverage of many of the IT managed apps, but unfortunately attacks are more likely to happen on apps that aren’t SSO integrated, so we need a strategy to cover these as well. An identity inventory is a critical starting point to identify non-SSO apps from which you can collect event logs, as well as giving you visibility of the identities that are not covered.",{"data":128665,"content":128666,"nodeType":860},{},[128667],{"data":128668,"marks":128669,"value":128670,"nodeType":864},{},[],"Monitoring breaches for hosted work apps is different from other domains, largely because you are almost totally reliant on the app vendor to produce the telemetry. Unfortunately (I suspect primarily due to lack of customer demand), many apps don’t offer any centralized logging functionality at all, and those that do offer limited audit logs, or only do so on the top tier “enterprise” license plans. ",{"data":128672,"content":128673,"nodeType":860},{},[128674],{"data":128675,"marks":128676,"value":128677,"nodeType":864},{},[],"In the network or endpoint world, when you need more telemetry you have all the access you need to install software or hardware to generate that additional telemetry. You could put a network monitoring appliance in-line with your internet gateways or install an endpoint (EDR) agent to generate more telemetry than your router or endpoint OS will generate. You can add a proxy in front of an app for your users, but (except for a very small number of highly configurable apps) you can’t make attackers go through your proxy.",{"data":128679,"content":128680,"nodeType":860},{},[128681],{"data":128682,"marks":128683,"value":128684,"nodeType":864},{},[],"What you can do, however, is generate additional telemetry on what happens to your employee’s identities in the browser. This is possible through browser extensions which can be managed through the enterprise management features available for all mainstream browsers (Chrome, Edge, Firefox, Safari, Brave etc. etc.). This is incredibly powerful, and useful in directly detecting a range of identity attacks like phishing (is an employee trying to enter an SSO password into an app that isn’t the SSO login page?), but also through correlations with existing application or IdP logs that indicate account takeover (e.g. has there been a login event that wasn’t observed through the employee’s browser as well).",{"data":128686,"content":128687,"nodeType":1009},{},[128688],{"data":128689,"marks":128690,"value":128691,"nodeType":864},{},[],"Same, but different",{"data":128693,"content":128694,"nodeType":860},{},[128695],{"data":128696,"marks":128697,"value":128698,"nodeType":864},{},[],"Whether we’re looking at the Verizon DBIR or just keeping up with security news, it’s clear that identity-based attacks are already responsible for a significant number of breaches. Attackers have started shifting their focus and security teams need to recognize this shift and adapt.",{"data":128700,"content":128701,"nodeType":860},{},[128702],{"data":128703,"marks":128704,"value":128705,"nodeType":864},{},[],"This doesn’t require that we fundamentally rethink security or anything that radical, just that we apply what we’ve learned over the last couple of decades to this new domain. There are some new technologies and protocols to understand, new tools are needed, but the fundamentals like authentication and authorization are already familiar to any security professional. ",{"data":128707,"content":128708,"nodeType":860},{},[128709,128713,128720],{"data":128710,"marks":128711,"value":128712,"nodeType":864},{},[],"If you follow what I’ve outlined here, a lot of the decisions we’ve made with building Push will make perfect sense. For example, you can’t make API integrations with apps to find identities when you don’t know about the apps or identities yet, so we needed a unique new data source. We use our own custom-built browser extension that’s force-deployed to your workforce, so we can observe employee identities as they are used in the browser. This gives us some pretty unique capabilities. If you found this interesting, follow us on ",{"data":128714,"content":128715,"nodeType":883},{"uri":47663},[128716],{"data":128717,"marks":128718,"value":128719,"nodeType":864},{},[],"Linkedin",{"data":128721,"marks":128722,"value":128723,"nodeType":864},{},[]," for more detailed blogs as we unpack this topic.",{"data":128725,"content":128729,"nodeType":996},{"target":128726},{"sys":128727},{"id":128728,"type":1001,"linkType":1002},"H7m9DHmbE945FO193oLYP",[],{"data":128731,"content":128732,"nodeType":860},{},[128733],{"data":128734,"marks":128735,"value":21,"nodeType":864},{},[],{"entries":128737},{"hyperlink":128738,"inline":128739,"block":128740},[],[],[128741,128744,128748,128754,128758],{"sys":128742,"__typename":1724,"title":121033,"caption":59,"layoutMode":59,"file":128743},{"id":120692},{"url":121035,"width":121036,"height":41540},{"sys":128745,"__typename":1724,"title":128223,"caption":59,"layoutMode":59,"file":128746},{"id":128235},{"url":128747,"width":23460,"height":23461},"https://images.ctfassets.net/y1cdw1ablpvd/3vdIRlCwvBIk9RVpjRXojS/8092a8c05abb75206373e55340bbd07e/IdentitySecurity101_B.png",{"sys":128749,"__typename":128750,"background":128751,"text":128753},{"id":128292},"CalloutWidget",[128752],"Sea Blue","“If you halve the number of network services an attacker can target, that means you can spend twice as long per service to secure the ones that remain - the same goes for identities!”",{"sys":128755,"__typename":128750,"background":128756,"text":128757},{"id":128494},[128752],"It’s not yet standard practice to test or verify that identity controls are in place, but if the past has taught us anything it soon will be.",{"sys":128759,"__typename":1717,"type":80540,"ctaText":128760,"buttonLabel":41118,"buttonColour":1721,"buttonUrl":59},{"id":128728},"Push maps your identity attack surface, hardens and minimizes it, helps you reduce impact and provides a unique telemetry source to help you detect and respond to identity attacks.",{"items":128762},[],{},"Push Security: 5 Ways to Defeat Identity-Based Attacks",{"url":128766},"https://images.ctfassets.net/y1cdw1ablpvd/4fNcMVZPgTYGgMRk7Wn0pd/9195a26bf242fa006e61ba45778f248f/Identity-Based-Attacks.png","2024-02-26T00:00:00.000Z",{"items":128769},[128770,129445],{"__typename":2059,"sys":128771,"content":128772,"title":102289,"synopsis":102290,"hashTags":59,"publishedDate":102291,"slug":102292,"tagsCollection":129435,"authorsCollection":129441},{"id":101509},{"json":128773},{"data":128774,"content":128775,"nodeType":856},{},[128776,128782,128788,128794,128800,128806,128812,128817,128833,128839,128875,128881,128887,128923,128939,128945,128951,128957,128973,128989,128995,129025,129031,129047,129053,129059,129085,129101,129107,129112,129118,129124,129130,129136,129142,129148,129154,129160,129166,129172,129178,129184,129197,129203,129259,129265,129271,129294,129307,129313,129319,129325,129351,129368,129374,129380,129386,129392,129408,129424,129429],{"data":128777,"content":128778,"nodeType":860},{},[128779],{"data":128780,"marks":128781,"value":101520,"nodeType":864},{},[],{"data":128783,"content":128784,"nodeType":860},{},[128785],{"data":128786,"marks":128787,"value":101527,"nodeType":864},{},[],{"data":128789,"content":128790,"nodeType":860},{},[128791],{"data":128792,"marks":128793,"value":101534,"nodeType":864},{},[],{"data":128795,"content":128796,"nodeType":860},{},[128797],{"data":128798,"marks":128799,"value":101541,"nodeType":864},{},[],{"data":128801,"content":128802,"nodeType":1009},{},[128803],{"data":128804,"marks":128805,"value":101548,"nodeType":864},{},[],{"data":128807,"content":128808,"nodeType":860},{},[128809],{"data":128810,"marks":128811,"value":101555,"nodeType":864},{},[],{"data":128813,"content":128816,"nodeType":996},{"target":128814},{"sys":128815},{"id":101560,"type":1001,"linkType":1002},[],{"data":128818,"content":128819,"nodeType":860},{},[128820,128823,128830],{"data":128821,"marks":128822,"value":101568,"nodeType":864},{},[],{"data":128824,"content":128825,"nodeType":883},{"uri":6418},[128826],{"data":128827,"marks":128828,"value":6423,"nodeType":864},{},[128829],{"type":1455},{"data":128831,"marks":128832,"value":2924,"nodeType":864},{},[],{"data":128834,"content":128835,"nodeType":860},{},[128836],{"data":128837,"marks":128838,"value":101585,"nodeType":864},{},[],{"data":128840,"content":128841,"nodeType":860},{},[128842,128845,128852,128855,128862,128865,128872],{"data":128843,"marks":128844,"value":101592,"nodeType":864},{},[],{"data":128846,"content":128847,"nodeType":883},{"uri":49829},[128848],{"data":128849,"marks":128850,"value":101600,"nodeType":864},{},[128851],{"type":1455},{"data":128853,"marks":128854,"value":902,"nodeType":864},{},[],{"data":128856,"content":128857,"nodeType":883},{"uri":101606},[128858],{"data":128859,"marks":128860,"value":101612,"nodeType":864},{},[128861],{"type":1455},{"data":128863,"marks":128864,"value":101616,"nodeType":864},{},[],{"data":128866,"content":128867,"nodeType":883},{"uri":96411},[128868],{"data":128869,"marks":128870,"value":101624,"nodeType":864},{},[128871],{"type":1455},{"data":128873,"marks":128874,"value":101628,"nodeType":864},{},[],{"data":128876,"content":128877,"nodeType":860},{},[128878],{"data":128879,"marks":128880,"value":101635,"nodeType":864},{},[],{"data":128882,"content":128883,"nodeType":1312},{},[128884],{"data":128885,"marks":128886,"value":101642,"nodeType":864},{},[],{"data":128888,"content":128889,"nodeType":860},{},[128890,128893,128900,128903,128910,128913,128920],{"data":128891,"marks":128892,"value":101649,"nodeType":864},{},[],{"data":128894,"content":128895,"nodeType":883},{"uri":87924},[128896],{"data":128897,"marks":128898,"value":87930,"nodeType":864},{},[128899],{"type":1455},{"data":128901,"marks":128902,"value":902,"nodeType":864},{},[],{"data":128904,"content":128905,"nodeType":883},{"uri":95797},[128906],{"data":128907,"marks":128908,"value":95802,"nodeType":864},{},[128909],{"type":1455},{"data":128911,"marks":128912,"value":101670,"nodeType":864},{},[],{"data":128914,"content":128915,"nodeType":883},{"uri":96459},[128916],{"data":128917,"marks":128918,"value":101678,"nodeType":864},{},[128919],{"type":1455},{"data":128921,"marks":128922,"value":101682,"nodeType":864},{},[],{"data":128924,"content":128925,"nodeType":860},{},[128926,128929,128936],{"data":128927,"marks":128928,"value":101689,"nodeType":864},{},[],{"data":128930,"content":128931,"nodeType":883},{"uri":101692},[128932],{"data":128933,"marks":128934,"value":101698,"nodeType":864},{},[128935],{"type":1455},{"data":128937,"marks":128938,"value":101702,"nodeType":864},{},[],{"data":128940,"content":128941,"nodeType":860},{},[128942],{"data":128943,"marks":128944,"value":101709,"nodeType":864},{},[],{"data":128946,"content":128947,"nodeType":860},{},[128948],{"data":128949,"marks":128950,"value":101716,"nodeType":864},{},[],{"data":128952,"content":128953,"nodeType":1312},{},[128954],{"data":128955,"marks":128956,"value":101723,"nodeType":864},{},[],{"data":128958,"content":128959,"nodeType":860},{},[128960,128963,128970],{"data":128961,"marks":128962,"value":101730,"nodeType":864},{},[],{"data":128964,"content":128965,"nodeType":883},{"uri":101733},[128966],{"data":128967,"marks":128968,"value":101739,"nodeType":864},{},[128969],{"type":1455},{"data":128971,"marks":128972,"value":101743,"nodeType":864},{},[],{"data":128974,"content":128975,"nodeType":860},{},[128976,128979,128986],{"data":128977,"marks":128978,"value":101750,"nodeType":864},{},[],{"data":128980,"content":128981,"nodeType":883},{"uri":61891},[128982],{"data":128983,"marks":128984,"value":61897,"nodeType":864},{},[128985],{"type":1455},{"data":128987,"marks":128988,"value":101761,"nodeType":864},{},[],{"data":128990,"content":128991,"nodeType":860},{},[128992],{"data":128993,"marks":128994,"value":101768,"nodeType":864},{},[],{"data":128996,"content":128997,"nodeType":941},{},[128998,129007,129016],{"data":128999,"content":129000,"nodeType":945},{},[129001],{"data":129002,"content":129003,"nodeType":860},{},[129004],{"data":129005,"marks":129006,"value":101781,"nodeType":864},{},[],{"data":129008,"content":129009,"nodeType":945},{},[129010],{"data":129011,"content":129012,"nodeType":860},{},[129013],{"data":129014,"marks":129015,"value":101791,"nodeType":864},{},[],{"data":129017,"content":129018,"nodeType":945},{},[129019],{"data":129020,"content":129021,"nodeType":860},{},[129022],{"data":129023,"marks":129024,"value":101801,"nodeType":864},{},[],{"data":129026,"content":129027,"nodeType":860},{},[129028],{"data":129029,"marks":129030,"value":101808,"nodeType":864},{},[],{"data":129032,"content":129033,"nodeType":860},{},[129034,129037,129044],{"data":129035,"marks":129036,"value":101815,"nodeType":864},{},[],{"data":129038,"content":129039,"nodeType":883},{"uri":101818},[129040],{"data":129041,"marks":129042,"value":101824,"nodeType":864},{},[129043],{"type":1455},{"data":129045,"marks":129046,"value":101828,"nodeType":864},{},[],{"data":129048,"content":129049,"nodeType":1312},{},[129050],{"data":129051,"marks":129052,"value":101835,"nodeType":864},{},[],{"data":129054,"content":129055,"nodeType":860},{},[129056],{"data":129057,"marks":129058,"value":101842,"nodeType":864},{},[],{"data":129060,"content":129061,"nodeType":860},{},[129062,129065,129072,129075,129082],{"data":129063,"marks":129064,"value":101849,"nodeType":864},{},[],{"data":129066,"content":129067,"nodeType":883},{"uri":101852},[129068],{"data":129069,"marks":129070,"value":101858,"nodeType":864},{},[129071],{"type":1455},{"data":129073,"marks":129074,"value":902,"nodeType":864},{},[],{"data":129076,"content":129077,"nodeType":883},{"uri":26784},[129078],{"data":129079,"marks":129080,"value":17706,"nodeType":864},{},[129081],{"type":1455},{"data":129083,"marks":129084,"value":101872,"nodeType":864},{},[],{"data":129086,"content":129087,"nodeType":860},{},[129088,129091,129098],{"data":129089,"marks":129090,"value":101879,"nodeType":864},{},[],{"data":129092,"content":129093,"nodeType":883},{"uri":101882},[129094],{"data":129095,"marks":129096,"value":101888,"nodeType":864},{},[129097],{"type":1455},{"data":129099,"marks":129100,"value":101892,"nodeType":864},{},[],{"data":129102,"content":129103,"nodeType":860},{},[129104],{"data":129105,"marks":129106,"value":101899,"nodeType":864},{},[],{"data":129108,"content":129111,"nodeType":996},{"target":129109},{"sys":129110},{"id":92011,"type":1001,"linkType":1002},[],{"data":129113,"content":129114,"nodeType":1009},{},[129115],{"data":129116,"marks":129117,"value":101911,"nodeType":864},{},[],{"data":129119,"content":129120,"nodeType":860},{},[129121],{"data":129122,"marks":129123,"value":101918,"nodeType":864},{},[],{"data":129125,"content":129126,"nodeType":860},{},[129127],{"data":129128,"marks":129129,"value":101925,"nodeType":864},{},[],{"data":129131,"content":129132,"nodeType":1312},{},[129133],{"data":129134,"marks":129135,"value":101932,"nodeType":864},{},[],{"data":129137,"content":129138,"nodeType":860},{},[129139],{"data":129140,"marks":129141,"value":101939,"nodeType":864},{},[],{"data":129143,"content":129144,"nodeType":860},{},[129145],{"data":129146,"marks":129147,"value":101946,"nodeType":864},{},[],{"data":129149,"content":129150,"nodeType":860},{},[129151],{"data":129152,"marks":129153,"value":101953,"nodeType":864},{},[],{"data":129155,"content":129156,"nodeType":1312},{},[129157],{"data":129158,"marks":129159,"value":101960,"nodeType":864},{},[],{"data":129161,"content":129162,"nodeType":860},{},[129163],{"data":129164,"marks":129165,"value":101967,"nodeType":864},{},[],{"data":129167,"content":129168,"nodeType":860},{},[129169],{"data":129170,"marks":129171,"value":101974,"nodeType":864},{},[],{"data":129173,"content":129174,"nodeType":860},{},[129175],{"data":129176,"marks":129177,"value":101981,"nodeType":864},{},[],{"data":129179,"content":129180,"nodeType":1009},{},[129181],{"data":129182,"marks":129183,"value":101988,"nodeType":864},{},[],{"data":129185,"content":129186,"nodeType":860},{},[129187,129190,129194],{"data":129188,"marks":129189,"value":101995,"nodeType":864},{},[],{"data":129191,"marks":129192,"value":102000,"nodeType":864},{},[129193],{"type":2246},{"data":129195,"marks":129196,"value":102004,"nodeType":864},{},[],{"data":129198,"content":129199,"nodeType":1312},{},[129200],{"data":129201,"marks":129202,"value":102011,"nodeType":864},{},[],{"data":129204,"content":129205,"nodeType":860},{},[129206,129209,129216,129219,129226,129229,129236,129239,129246,129249,129256],{"data":129207,"marks":129208,"value":102018,"nodeType":864},{},[],{"data":129210,"content":129211,"nodeType":883},{"uri":102021},[129212],{"data":129213,"marks":129214,"value":102027,"nodeType":864},{},[129215],{"type":1455},{"data":129217,"marks":129218,"value":902,"nodeType":864},{},[],{"data":129220,"content":129221,"nodeType":883},{"uri":102033},[129222],{"data":129223,"marks":129224,"value":102039,"nodeType":864},{},[129225],{"type":1455},{"data":129227,"marks":129228,"value":102043,"nodeType":864},{},[],{"data":129230,"content":129231,"nodeType":883},{"uri":102046},[129232],{"data":129233,"marks":129234,"value":102052,"nodeType":864},{},[129235],{"type":1455},{"data":129237,"marks":129238,"value":35735,"nodeType":864},{},[],{"data":129240,"content":129241,"nodeType":883},{"uri":8628},[129242],{"data":129243,"marks":129244,"value":102063,"nodeType":864},{},[129245],{"type":1455},{"data":129247,"marks":129248,"value":102067,"nodeType":864},{},[],{"data":129250,"content":129251,"nodeType":883},{"uri":102070},[129252],{"data":129253,"marks":129254,"value":102076,"nodeType":864},{},[129255],{"type":1455},{"data":129257,"marks":129258,"value":102080,"nodeType":864},{},[],{"data":129260,"content":129261,"nodeType":860},{},[129262],{"data":129263,"marks":129264,"value":102087,"nodeType":864},{},[],{"data":129266,"content":129267,"nodeType":1312},{},[129268],{"data":129269,"marks":129270,"value":102094,"nodeType":864},{},[],{"data":129272,"content":129273,"nodeType":860},{},[129274,129277,129281,129284,129291],{"data":129275,"marks":129276,"value":102101,"nodeType":864},{},[],{"data":129278,"marks":129279,"value":102106,"nodeType":864},{},[129280],{"type":1455},{"data":129282,"marks":129283,"value":102110,"nodeType":864},{},[],{"data":129285,"content":129286,"nodeType":883},{"uri":102113},[129287],{"data":129288,"marks":129289,"value":102119,"nodeType":864},{},[129290],{"type":1455},{"data":129292,"marks":129293,"value":102123,"nodeType":864},{},[],{"data":129295,"content":129296,"nodeType":860},{},[129297,129300,129304],{"data":129298,"marks":129299,"value":102130,"nodeType":864},{},[],{"data":129301,"marks":129302,"value":102135,"nodeType":864},{},[129303],{"type":2246},{"data":129305,"marks":129306,"value":2924,"nodeType":864},{},[],{"data":129308,"content":129309,"nodeType":860},{},[129310],{"data":129311,"marks":129312,"value":102145,"nodeType":864},{},[],{"data":129314,"content":129315,"nodeType":1312},{},[129316],{"data":129317,"marks":129318,"value":102152,"nodeType":864},{},[],{"data":129320,"content":129321,"nodeType":860},{},[129322],{"data":129323,"marks":129324,"value":102159,"nodeType":864},{},[],{"data":129326,"content":129327,"nodeType":860},{},[129328,129331,129338,129341,129348],{"data":129329,"marks":129330,"value":102166,"nodeType":864},{},[],{"data":129332,"content":129333,"nodeType":883},{"uri":102169},[129334],{"data":129335,"marks":129336,"value":102175,"nodeType":864},{},[129337],{"type":1455},{"data":129339,"marks":129340,"value":102179,"nodeType":864},{},[],{"data":129342,"content":129343,"nodeType":883},{"uri":102182},[129344],{"data":129345,"marks":129346,"value":102188,"nodeType":864},{},[129347],{"type":1455},{"data":129349,"marks":129350,"value":102192,"nodeType":864},{},[],{"data":129352,"content":129353,"nodeType":860},{},[129354,129357,129365],{"data":129355,"marks":129356,"value":102199,"nodeType":864},{},[],{"data":129358,"content":129359,"nodeType":883},{"uri":102202},[129360],{"data":129361,"marks":129362,"value":102209,"nodeType":864},{},[129363,129364],{"type":1455},{"type":2246},{"data":129366,"marks":129367,"value":21,"nodeType":864},{},[],{"data":129369,"content":129370,"nodeType":860},{},[129371],{"data":129372,"marks":129373,"value":102219,"nodeType":864},{},[],{"data":129375,"content":129376,"nodeType":1009},{},[129377],{"data":129378,"marks":129379,"value":102226,"nodeType":864},{},[],{"data":129381,"content":129382,"nodeType":860},{},[129383],{"data":129384,"marks":129385,"value":102233,"nodeType":864},{},[],{"data":129387,"content":129388,"nodeType":860},{},[129389],{"data":129390,"marks":129391,"value":102240,"nodeType":864},{},[],{"data":129393,"content":129394,"nodeType":860},{},[129395,129398,129405],{"data":129396,"marks":129397,"value":102247,"nodeType":864},{},[],{"data":129399,"content":129400,"nodeType":883},{"uri":102250},[129401],{"data":129402,"marks":129403,"value":102256,"nodeType":864},{},[129404],{"type":1455},{"data":129406,"marks":129407,"value":2924,"nodeType":864},{},[],{"data":129409,"content":129410,"nodeType":860},{},[129411,129414,129421],{"data":129412,"marks":129413,"value":102266,"nodeType":864},{},[],{"data":129415,"content":129416,"nodeType":883},{"uri":6418},[129417],{"data":129418,"marks":129419,"value":6423,"nodeType":864},{},[129420],{"type":1455},{"data":129422,"marks":129423,"value":96674,"nodeType":864},{},[],{"data":129425,"content":129428,"nodeType":996},{"target":129426},{"sys":129427},{"id":102281,"type":1001,"linkType":1002},[],{"data":129430,"content":129431,"nodeType":860},{},[129432],{"data":129433,"marks":129434,"value":21,"nodeType":864},{},[],{"items":129436},[129437,129439],{"sys":129438,"name":6593},{"id":6592},{"sys":129440,"name":342},{"id":6596},{"items":129442},[129443],{"fullName":38408,"firstName":38409,"jobTitle":38410,"profilePicture":129444},{"url":38412},{"__typename":2059,"sys":129446,"content":129447,"title":118855,"synopsis":118554,"hashTags":59,"publishedDate":118856,"slug":118857,"tagsCollection":129725,"authorsCollection":129731},{"id":117895},{"json":129448},{"data":129449,"content":129450,"nodeType":856},{},[129451,129456,129463,129473,129479,129485,129524,129529,129535,129541,129547,129553,129573,129579,129585,129647,129653,129659,129665,129670,129676,129682,129687,129693,129699,129704,129710],{"data":129452,"content":129455,"nodeType":996},{"target":129453},{"sys":129454},{"id":118545,"type":1001,"linkType":1002},[],{"data":129457,"content":129458,"nodeType":860},{},[129459],{"data":129460,"marks":129461,"value":118554,"nodeType":864},{},[129462],{"type":899},{"data":129464,"content":129465,"nodeType":860},{},[129466,129469],{"data":129467,"marks":129468,"value":118561,"nodeType":864},{},[],{"data":129470,"marks":129471,"value":118566,"nodeType":864},{},[129472],{"type":899},{"data":129474,"content":129475,"nodeType":860},{},[129476],{"data":129477,"marks":129478,"value":118573,"nodeType":864},{},[],{"data":129480,"content":129481,"nodeType":860},{},[129482],{"data":129483,"marks":129484,"value":118580,"nodeType":864},{},[],{"data":129486,"content":129487,"nodeType":941},{},[129488,129497,129506,129515],{"data":129489,"content":129490,"nodeType":945},{},[129491],{"data":129492,"content":129493,"nodeType":860},{},[129494],{"data":129495,"marks":129496,"value":118593,"nodeType":864},{},[],{"data":129498,"content":129499,"nodeType":945},{},[129500],{"data":129501,"content":129502,"nodeType":860},{},[129503],{"data":129504,"marks":129505,"value":118603,"nodeType":864},{},[],{"data":129507,"content":129508,"nodeType":945},{},[129509],{"data":129510,"content":129511,"nodeType":860},{},[129512],{"data":129513,"marks":129514,"value":118613,"nodeType":864},{},[],{"data":129516,"content":129517,"nodeType":945},{},[129518],{"data":129519,"content":129520,"nodeType":860},{},[129521],{"data":129522,"marks":129523,"value":118623,"nodeType":864},{},[],{"data":129525,"content":129528,"nodeType":996},{"target":129526},{"sys":129527},{"id":118157,"type":1001,"linkType":1002},[],{"data":129530,"content":129531,"nodeType":1009},{},[129532],{"data":129533,"marks":129534,"value":118635,"nodeType":864},{},[],{"data":129536,"content":129537,"nodeType":860},{},[129538],{"data":129539,"marks":129540,"value":118642,"nodeType":864},{},[],{"data":129542,"content":129543,"nodeType":860},{},[129544],{"data":129545,"marks":129546,"value":118649,"nodeType":864},{},[],{"data":129548,"content":129549,"nodeType":860},{},[129550],{"data":129551,"marks":129552,"value":118656,"nodeType":864},{},[],{"data":129554,"content":129555,"nodeType":860},{},[129556,129559,129563,129566,129570],{"data":129557,"marks":129558,"value":118663,"nodeType":864},{},[],{"data":129560,"marks":129561,"value":118668,"nodeType":864},{},[129562],{"type":2246},{"data":129564,"marks":129565,"value":118672,"nodeType":864},{},[],{"data":129567,"marks":129568,"value":118677,"nodeType":864},{},[129569],{"type":2246},{"data":129571,"marks":129572,"value":118681,"nodeType":864},{},[],{"data":129574,"content":129575,"nodeType":860},{},[129576],{"data":129577,"marks":129578,"value":118688,"nodeType":864},{},[],{"data":129580,"content":129581,"nodeType":1009},{},[129582],{"data":129583,"marks":129584,"value":112398,"nodeType":864},{},[],{"data":129586,"content":129587,"nodeType":118765},{},[129588,129597,129606,129622,129638],{"data":129589,"content":129590,"nodeType":945},{},[129591],{"data":129592,"content":129593,"nodeType":860},{},[129594],{"data":129595,"marks":129596,"value":118707,"nodeType":864},{},[],{"data":129598,"content":129599,"nodeType":945},{},[129600],{"data":129601,"content":129602,"nodeType":860},{},[129603],{"data":129604,"marks":129605,"value":118717,"nodeType":864},{},[],{"data":129607,"content":129608,"nodeType":945},{},[129609],{"data":129610,"content":129611,"nodeType":860},{},[129612,129615,129619],{"data":129613,"marks":129614,"value":118727,"nodeType":864},{},[],{"data":129616,"marks":129617,"value":118732,"nodeType":864},{},[129618],{"type":899},{"data":129620,"marks":129621,"value":118736,"nodeType":864},{},[],{"data":129623,"content":129624,"nodeType":945},{},[129625],{"data":129626,"content":129627,"nodeType":860},{},[129628,129631,129635],{"data":129629,"marks":129630,"value":75174,"nodeType":864},{},[],{"data":129632,"marks":129633,"value":118750,"nodeType":864},{},[129634],{"type":899},{"data":129636,"marks":129637,"value":118754,"nodeType":864},{},[],{"data":129639,"content":129640,"nodeType":945},{},[129641],{"data":129642,"content":129643,"nodeType":860},{},[129644],{"data":129645,"marks":129646,"value":118764,"nodeType":864},{},[],{"data":129648,"content":129649,"nodeType":1009},{},[129650],{"data":129651,"marks":129652,"value":118772,"nodeType":864},{},[],{"data":129654,"content":129655,"nodeType":1312},{},[129656],{"data":129657,"marks":129658,"value":118779,"nodeType":864},{},[],{"data":129660,"content":129661,"nodeType":860},{},[129662],{"data":129663,"marks":129664,"value":118786,"nodeType":864},{},[],{"data":129666,"content":129669,"nodeType":996},{"target":129667},{"sys":129668},{"id":118791,"type":1001,"linkType":1002},[],{"data":129671,"content":129672,"nodeType":1312},{},[129673],{"data":129674,"marks":129675,"value":118799,"nodeType":864},{},[],{"data":129677,"content":129678,"nodeType":860},{},[129679],{"data":129680,"marks":129681,"value":118806,"nodeType":864},{},[],{"data":129683,"content":129686,"nodeType":996},{"target":129684},{"sys":129685},{"id":118811,"type":1001,"linkType":1002},[],{"data":129688,"content":129689,"nodeType":1312},{},[129690],{"data":129691,"marks":129692,"value":118819,"nodeType":864},{},[],{"data":129694,"content":129695,"nodeType":860},{},[129696],{"data":129697,"marks":129698,"value":118826,"nodeType":864},{},[],{"data":129700,"content":129703,"nodeType":996},{"target":129701},{"sys":129702},{"id":118831,"type":1001,"linkType":1002},[],{"data":129705,"content":129706,"nodeType":1009},{},[129707],{"data":129708,"marks":129709,"value":36405,"nodeType":864},{},[],{"data":129711,"content":129712,"nodeType":860},{},[129713,129716,129722],{"data":129714,"marks":129715,"value":95575,"nodeType":864},{},[],{"data":129717,"content":129718,"nodeType":883},{"uri":5642},[129719],{"data":129720,"marks":129721,"value":37814,"nodeType":864},{},[],{"data":129723,"marks":129724,"value":118854,"nodeType":864},{},[],{"items":129726},[129727,129729],{"sys":129728,"name":297},{"id":2732},{"sys":129730,"name":73498},{"id":73497},{"items":129732},[129733],{"fullName":4878,"firstName":4879,"jobTitle":851,"profilePicture":129734},{"url":4881},"blog/5-ways-to-defeat-identity-based-attacks",{"json":129737},{"data":129738,"content":129739,"nodeType":856},{},[129740,129747],{"data":129741,"content":129742,"nodeType":860},{},[129743],{"data":129744,"marks":129745,"value":129746,"nodeType":864},{},[],"In today's digital world, identities are the new frontier for attackers seeking to breach organizational perimeters. As the attack surface evolves, so too must our strategies for defending against threats. Below are five key tactics to bolster your defenses and thwart identity-based attacks.",{"data":129748,"content":129749,"nodeType":860},{},[129750],{"data":129751,"marks":129752,"value":21,"nodeType":864},{},[],"In this blog post we will cover what identities are, how we secure perimeters in general, and and how this maps to the identity space.\n",{"id":120975,"publishedAt":129755},"2026-08-13T09:35:17.592Z",{"items":129757},[129758,129760],{"sys":129759,"name":297},{"id":2732},{"sys":129761,"name":342},{"id":6596},{"items":129763},[129764,129766,129768,129770,129772,129774,129776,129778,129780,129782,129784,129786,129788,129790,129792,129794],{"sys":129765,"name":413,"slug":414,"tier":31},{"id":410},{"sys":129767,"name":297,"slug":298,"tier":31},{"id":294},{"sys":129769,"name":279,"slug":280,"tier":31},{"id":276},{"sys":129771,"name":342,"slug":343,"tier":31},{"id":339},{"sys":129773,"name":642,"slug":643,"tier":31},{"id":639},{"sys":129775,"name":545,"slug":546,"tier":31},{"id":542},{"sys":129777,"name":519,"slug":520,"tier":31},{"id":516},{"sys":129779,"name":404,"slug":405,"tier":45},{"id":401},{"sys":129781,"name":457,"slug":458,"tier":45},{"id":454},{"sys":129783,"name":502,"slug":503,"tier":45},{"id":499},{"sys":129785,"name":333,"slug":334,"tier":45},{"id":330},{"sys":129787,"name":324,"slug":325,"tier":45},{"id":321},{"sys":129789,"name":395,"slug":396,"tier":45},{"id":392},{"sys":129791,"name":484,"slug":485,"tier":45},{"id":481},{"sys":129793,"name":377,"slug":378,"tier":45},{"id":374},{"sys":129795,"name":589,"slug":590,"tier":45},{"id":586},"x99zaD4EVCYXTHcUTO7CXoPmpf4jFF3hUI-D9JUGi2Q",{"id":129798,"title":118055,"authorsCollection":129799,"content":129803,"extension":228,"faqItemsCollection":130051,"faqTitle":59,"featured":6,"hashTags":59,"meta":130053,"metaTitle":130054,"ogImage":59,"postType":79438,"publishedDate":118057,"relatedBlogPostsCollection":130055,"slug":118058,"stem":130497,"subtitle":59,"summary":130498,"synopsis":118056,"sys":130509,"tagsCollection":130511,"topicsCollection":130515,"__hash__":130529},"blog/blog/product-release-february-2024.json",{"items":129800},[129801],{"fullName":79005,"firstName":79006,"jobTitle":79007,"socialLinks":59,"profilePicture":129802},{"url":79009},{"json":129804,"links":130021},{"data":129805,"content":129806,"nodeType":856},{},[129807,129813,129852,129858,129864,129869,129886,129892,129912,129917,129934,129940,129946,129952,129967,129973,129986,129999,130004],{"data":129808,"content":129809,"nodeType":1312},{},[129810],{"data":129811,"marks":129812,"value":117629,"nodeType":864},{},[],{"data":129814,"content":129815,"nodeType":941},{},[129816,129825,129834,129843],{"data":129817,"content":129818,"nodeType":945},{},[129819],{"data":129820,"content":129821,"nodeType":860},{},[129822],{"data":129823,"marks":129824,"value":117835,"nodeType":864},{},[],{"data":129826,"content":129827,"nodeType":945},{},[129828],{"data":129829,"content":129830,"nodeType":860},{},[129831],{"data":129832,"marks":129833,"value":117845,"nodeType":864},{},[],{"data":129835,"content":129836,"nodeType":945},{},[129837],{"data":129838,"content":129839,"nodeType":860},{},[129840],{"data":129841,"marks":129842,"value":117855,"nodeType":864},{},[],{"data":129844,"content":129845,"nodeType":945},{},[129846],{"data":129847,"content":129848,"nodeType":860},{},[129849],{"data":129850,"marks":129851,"value":117865,"nodeType":864},{},[],{"data":129853,"content":129854,"nodeType":1312},{},[129855],{"data":129856,"marks":129857,"value":117835,"nodeType":864},{},[],{"data":129859,"content":129860,"nodeType":860},{},[129861],{"data":129862,"marks":129863,"value":117878,"nodeType":864},{},[],{"data":129865,"content":129868,"nodeType":996},{"target":129866},{"sys":129867},{"id":117883,"type":1001,"linkType":1002},[],{"data":129870,"content":129871,"nodeType":860},{},[129872,129875,129883],{"data":129873,"marks":129874,"value":21,"nodeType":864},{},[],{"data":129876,"content":129879,"nodeType":27604},{"target":129877},{"sys":129878},{"id":117895,"type":1001,"linkType":1002},[129880],{"data":129881,"marks":129882,"value":30213,"nodeType":864},{},[],{"data":129884,"marks":129885,"value":21,"nodeType":864},{},[],{"data":129887,"content":129888,"nodeType":1312},{},[129889],{"data":129890,"marks":129891,"value":117845,"nodeType":864},{},[],{"data":129893,"content":129894,"nodeType":860},{},[129895,129898,129902,129905,129909],{"data":129896,"marks":129897,"value":117915,"nodeType":864},{},[],{"data":129899,"marks":129900,"value":117920,"nodeType":864},{},[129901],{"type":899},{"data":129903,"marks":129904,"value":117924,"nodeType":864},{},[],{"data":129906,"marks":129907,"value":28678,"nodeType":864},{},[129908],{"type":899},{"data":129910,"marks":129911,"value":117932,"nodeType":864},{},[],{"data":129913,"content":129916,"nodeType":996},{"target":129914},{"sys":129915},{"id":117937,"type":1001,"linkType":1002},[],{"data":129918,"content":129919,"nodeType":860},{},[129920,129923,129931],{"data":129921,"marks":129922,"value":21,"nodeType":864},{},[],{"data":129924,"content":129927,"nodeType":27604},{"target":129925},{"sys":129926},{"id":117949,"type":1001,"linkType":1002},[129928],{"data":129929,"marks":129930,"value":89634,"nodeType":864},{},[],{"data":129932,"marks":129933,"value":21,"nodeType":864},{},[],{"data":129935,"content":129936,"nodeType":1312},{},[129937],{"data":129938,"marks":129939,"value":117963,"nodeType":864},{},[],{"data":129941,"content":129942,"nodeType":860},{},[129943],{"data":129944,"marks":129945,"value":117970,"nodeType":864},{},[],{"data":129947,"content":129948,"nodeType":860},{},[129949],{"data":129950,"marks":129951,"value":117977,"nodeType":864},{},[],{"data":129953,"content":129954,"nodeType":860},{},[129955,129958,129964],{"data":129956,"marks":129957,"value":21,"nodeType":864},{},[],{"data":129959,"content":129960,"nodeType":883},{"uri":65752},[129961],{"data":129962,"marks":129963,"value":30213,"nodeType":864},{},[],{"data":129965,"marks":129966,"value":21,"nodeType":864},{},[],{"data":129968,"content":129969,"nodeType":1312},{},[129970],{"data":129971,"marks":129972,"value":117999,"nodeType":864},{},[],{"data":129974,"content":129975,"nodeType":860},{},[129976,129979,129983],{"data":129977,"marks":129978,"value":118006,"nodeType":864},{},[],{"data":129980,"marks":129981,"value":118011,"nodeType":864},{},[129982],{"type":899},{"data":129984,"marks":129985,"value":118015,"nodeType":864},{},[],{"data":129987,"content":129988,"nodeType":860},{},[129989,129992,129996],{"data":129990,"marks":129991,"value":118022,"nodeType":864},{},[],{"data":129993,"marks":129994,"value":118011,"nodeType":864},{},[129995],{"type":899},{"data":129997,"marks":129998,"value":118030,"nodeType":864},{},[],{"data":130000,"content":130003,"nodeType":996},{"target":130001},{"sys":130002},{"id":118035,"type":1001,"linkType":1002},[],{"data":130005,"content":130006,"nodeType":860},{},[130007,130010,130018],{"data":130008,"marks":130009,"value":21,"nodeType":864},{},[],{"data":130011,"content":130014,"nodeType":27604},{"target":130012},{"sys":130013},{"id":118047,"type":1001,"linkType":1002},[130015],{"data":130016,"marks":130017,"value":89634,"nodeType":864},{},[],{"data":130019,"marks":130020,"value":21,"nodeType":864},{},[],{"entries":130022},{"inline":130023,"hyperlink":130024,"block":130034},[],[130025,130027,130029],{"sys":130026,"__typename":2059,"title":118855,"slug":118857},{"id":117895},{"sys":130028,"__typename":79413,"title":121016,"slug":121017,"articleId":121018},{"id":117949},{"sys":130030,"__typename":79413,"title":130031,"slug":130032,"articleId":130033},{"id":118047},"How do I remove a login method from Push?","how-do-i-remove-a-login-method-from-push",10107,[130035,130038,130045],{"sys":130036,"__typename":1724,"title":118485,"caption":59,"layoutMode":59,"file":130037},{"id":117883},{"url":118487,"width":118488,"height":118489},{"sys":130039,"__typename":1724,"title":130040,"caption":59,"layoutMode":59,"file":130041},{"id":117937},"Monitor all domains toggle - Getting Started docs",{"url":130042,"width":130043,"height":130044},"https://images.ctfassets.net/y1cdw1ablpvd/2Sx7zvJXkae8DKASzue3ft/535309833cd170a3d0767465e0c25d5c/monitor_all_domains_toggle_20240117.png",926,193,{"sys":130046,"__typename":1724,"title":130047,"caption":59,"layoutMode":59,"file":130048},{"id":118035},"Forget login methods gif - KB 10107",{"url":130049,"width":17,"height":130050},"https://images.ctfassets.net/y1cdw1ablpvd/3lK9gvo3NzMDtUr6UgjKp6/2eb926b2d37392f06bd43f6d8cc99b20/Forget_login_methods_demo.gif",376,{"items":130052},[],{},"Push Security new product features for February 2024",{"items":130056},[130057,130295],{"__typename":2059,"sys":130058,"content":130059,"title":120506,"synopsis":120507,"hashTags":59,"publishedDate":120508,"slug":120509,"tagsCollection":130287,"authorsCollection":130291},{"id":120249},{"json":130060},{"data":130061,"content":130062,"nodeType":856},{},[130063,130069,130108,130113,130119,130125,130138,130143,130159,130165,130178,130183,130200,130206,130223,130228,130245,130250,130256,130276,130281],{"data":130064,"content":130065,"nodeType":1312},{},[130066],{"data":130067,"marks":130068,"value":117629,"nodeType":864},{},[],{"data":130070,"content":130071,"nodeType":941},{},[130072,130081,130090,130099],{"data":130073,"content":130074,"nodeType":945},{},[130075],{"data":130076,"content":130077,"nodeType":860},{},[130078],{"data":130079,"marks":130080,"value":120272,"nodeType":864},{},[],{"data":130082,"content":130083,"nodeType":945},{},[130084],{"data":130085,"content":130086,"nodeType":860},{},[130087],{"data":130088,"marks":130089,"value":120282,"nodeType":864},{},[],{"data":130091,"content":130092,"nodeType":945},{},[130093],{"data":130094,"content":130095,"nodeType":860},{},[130096],{"data":130097,"marks":130098,"value":120292,"nodeType":864},{},[],{"data":130100,"content":130101,"nodeType":945},{},[130102],{"data":130103,"content":130104,"nodeType":860},{},[130105],{"data":130106,"marks":130107,"value":120302,"nodeType":864},{},[],{"data":130109,"content":130112,"nodeType":996},{"target":130110},{"sys":130111},{"id":102281,"type":1001,"linkType":1002},[],{"data":130114,"content":130115,"nodeType":1312},{},[130116],{"data":130117,"marks":130118,"value":120314,"nodeType":864},{},[],{"data":130120,"content":130121,"nodeType":860},{},[130122],{"data":130123,"marks":130124,"value":120321,"nodeType":864},{},[],{"data":130126,"content":130127,"nodeType":860},{},[130128,130131,130135],{"data":130129,"marks":130130,"value":120328,"nodeType":864},{},[],{"data":130132,"marks":130133,"value":28678,"nodeType":864},{},[130134],{"type":899},{"data":130136,"marks":130137,"value":117932,"nodeType":864},{},[],{"data":130139,"content":130142,"nodeType":996},{"target":130140},{"sys":130141},{"id":120340,"type":1001,"linkType":1002},[],{"data":130144,"content":130145,"nodeType":860},{},[130146,130149,130156],{"data":130147,"marks":130148,"value":21,"nodeType":864},{},[],{"data":130150,"content":130151,"nodeType":883},{"uri":90269},[130152],{"data":130153,"marks":130154,"value":120355,"nodeType":864},{},[130155],{"type":1455},{"data":130157,"marks":130158,"value":21,"nodeType":864},{},[],{"data":130160,"content":130161,"nodeType":1312},{},[130162],{"data":130163,"marks":130164,"value":120365,"nodeType":864},{},[],{"data":130166,"content":130167,"nodeType":860},{},[130168,130171,130175],{"data":130169,"marks":130170,"value":120372,"nodeType":864},{},[],{"data":130172,"marks":130173,"value":65672,"nodeType":864},{},[130174],{"type":899},{"data":130176,"marks":130177,"value":120380,"nodeType":864},{},[],{"data":130179,"content":130182,"nodeType":996},{"target":130180},{"sys":130181},{"id":120385,"type":1001,"linkType":1002},[],{"data":130184,"content":130185,"nodeType":860},{},[130186,130189,130197],{"data":130187,"marks":130188,"value":21,"nodeType":864},{},[],{"data":130190,"content":130193,"nodeType":27604},{"target":130191},{"sys":130192},{"id":79342,"type":1001,"linkType":1002},[130194],{"data":130195,"marks":130196,"value":79249,"nodeType":864},{},[],{"data":130198,"marks":130199,"value":21,"nodeType":864},{},[],{"data":130201,"content":130202,"nodeType":1312},{},[130203],{"data":130204,"marks":130205,"value":120292,"nodeType":864},{},[],{"data":130207,"content":130208,"nodeType":860},{},[130209,130212,130220],{"data":130210,"marks":130211,"value":120416,"nodeType":864},{},[],{"data":130213,"content":130216,"nodeType":27604},{"target":130214},{"sys":130215},{"id":120421,"type":1001,"linkType":1002},[130217],{"data":130218,"marks":130219,"value":120426,"nodeType":864},{},[],{"data":130221,"marks":130222,"value":120430,"nodeType":864},{},[],{"data":130224,"content":130227,"nodeType":996},{"target":130225},{"sys":130226},{"id":120435,"type":1001,"linkType":1002},[],{"data":130229,"content":130230,"nodeType":860},{},[130231,130234,130242],{"data":130232,"marks":130233,"value":79305,"nodeType":864},{},[],{"data":130235,"content":130238,"nodeType":27604},{"target":130236},{"sys":130237},{"id":120447,"type":1001,"linkType":1002},[130239],{"data":130240,"marks":130241,"value":120452,"nodeType":864},{},[],{"data":130243,"marks":130244,"value":120456,"nodeType":864},{},[],{"data":130246,"content":130249,"nodeType":996},{"target":130247},{"sys":130248},{"id":120461,"type":1001,"linkType":1002},[],{"data":130251,"content":130252,"nodeType":1312},{},[130253],{"data":130254,"marks":130255,"value":120469,"nodeType":864},{},[],{"data":130257,"content":130258,"nodeType":860},{},[130259,130262,130266,130269,130273],{"data":130260,"marks":130261,"value":120476,"nodeType":864},{},[],{"data":130263,"marks":130264,"value":120481,"nodeType":864},{},[130265],{"type":899},{"data":130267,"marks":130268,"value":120485,"nodeType":864},{},[],{"data":130270,"marks":130271,"value":65701,"nodeType":864},{},[130272],{"type":899},{"data":130274,"marks":130275,"value":120493,"nodeType":864},{},[],{"data":130277,"content":130280,"nodeType":996},{"target":130278},{"sys":130279},{"id":120498,"type":1001,"linkType":1002},[],{"data":130282,"content":130283,"nodeType":860},{},[130284],{"data":130285,"marks":130286,"value":21,"nodeType":864},{},[],{"items":130288},[130289],{"sys":130290,"name":73498},{"id":73497},{"items":130292},[130293],{"fullName":79005,"firstName":79006,"jobTitle":79007,"profilePicture":130294},{"url":79009},{"__typename":2059,"sys":130296,"content":130297,"title":121729,"synopsis":121730,"hashTags":59,"publishedDate":121731,"slug":121732,"tagsCollection":130489,"authorsCollection":130493},{"id":121515},{"json":130298},{"data":130299,"content":130300,"nodeType":856},{},[130301,130307,130337,130343,130356,130361,130378,130384,130397,130402,130419,130425,130438,130467,130473,130478,130483],{"data":130302,"content":130303,"nodeType":1312},{},[130304],{"data":130305,"marks":130306,"value":117629,"nodeType":864},{},[],{"data":130308,"content":130309,"nodeType":941},{},[130310,130319,130328],{"data":130311,"content":130312,"nodeType":945},{},[130313],{"data":130314,"content":130315,"nodeType":860},{},[130316],{"data":130317,"marks":130318,"value":121538,"nodeType":864},{},[],{"data":130320,"content":130321,"nodeType":945},{},[130322],{"data":130323,"content":130324,"nodeType":860},{},[130325],{"data":130326,"marks":130327,"value":121548,"nodeType":864},{},[],{"data":130329,"content":130330,"nodeType":945},{},[130331],{"data":130332,"content":130333,"nodeType":860},{},[130334],{"data":130335,"marks":130336,"value":121558,"nodeType":864},{},[],{"data":130338,"content":130339,"nodeType":1312},{},[130340],{"data":130341,"marks":130342,"value":121565,"nodeType":864},{},[],{"data":130344,"content":130345,"nodeType":860},{},[130346,130349,130353],{"data":130347,"marks":130348,"value":121572,"nodeType":864},{},[],{"data":130350,"marks":130351,"value":121577,"nodeType":864},{},[130352],{"type":899},{"data":130354,"marks":130355,"value":121581,"nodeType":864},{},[],{"data":130357,"content":130360,"nodeType":996},{"target":130358},{"sys":130359},{"id":121586,"type":1001,"linkType":1002},[],{"data":130362,"content":130363,"nodeType":860},{},[130364,130367,130375],{"data":130365,"marks":130366,"value":21,"nodeType":864},{},[],{"data":130368,"content":130371,"nodeType":27604},{"target":130369},{"sys":130370},{"id":120803,"type":1001,"linkType":1002},[130372],{"data":130373,"marks":130374,"value":30213,"nodeType":864},{},[],{"data":130376,"marks":130377,"value":21,"nodeType":864},{},[],{"data":130379,"content":130380,"nodeType":1312},{},[130381],{"data":130382,"marks":130383,"value":121611,"nodeType":864},{},[],{"data":130385,"content":130386,"nodeType":860},{},[130387,130390,130394],{"data":130388,"marks":130389,"value":121618,"nodeType":864},{},[],{"data":130391,"marks":130392,"value":121623,"nodeType":864},{},[130393],{"type":899},{"data":130395,"marks":130396,"value":121627,"nodeType":864},{},[],{"data":130398,"content":130401,"nodeType":996},{"target":130399},{"sys":130400},{"id":121632,"type":1001,"linkType":1002},[],{"data":130403,"content":130404,"nodeType":860},{},[130405,130408,130416],{"data":130406,"marks":130407,"value":21,"nodeType":864},{},[],{"data":130409,"content":130412,"nodeType":27604},{"target":130410},{"sys":130411},{"id":121644,"type":1001,"linkType":1002},[130413],{"data":130414,"marks":130415,"value":79249,"nodeType":864},{},[],{"data":130417,"marks":130418,"value":21,"nodeType":864},{},[],{"data":130420,"content":130421,"nodeType":1312},{},[130422],{"data":130423,"marks":130424,"value":121558,"nodeType":864},{},[],{"data":130426,"content":130427,"nodeType":860},{},[130428,130431,130435],{"data":130429,"marks":130430,"value":74483,"nodeType":864},{},[],{"data":130432,"marks":130433,"value":65701,"nodeType":864},{},[130434],{"type":899},{"data":130436,"marks":130437,"value":121671,"nodeType":864},{},[],{"data":130439,"content":130440,"nodeType":941},{},[130441,130454],{"data":130442,"content":130443,"nodeType":945},{},[130444],{"data":130445,"content":130446,"nodeType":860},{},[130447,130451],{"data":130448,"marks":130449,"value":121685,"nodeType":864},{},[130450],{"type":899},{"data":130452,"marks":130453,"value":121689,"nodeType":864},{},[],{"data":130455,"content":130456,"nodeType":945},{},[130457],{"data":130458,"content":130459,"nodeType":860},{},[130460,130464],{"data":130461,"marks":130462,"value":121700,"nodeType":864},{},[130463],{"type":899},{"data":130465,"marks":130466,"value":121704,"nodeType":864},{},[],{"data":130468,"content":130469,"nodeType":860},{},[130470],{"data":130471,"marks":130472,"value":121711,"nodeType":864},{},[],{"data":130474,"content":130477,"nodeType":996},{"target":130475},{"sys":130476},{"id":121716,"type":1001,"linkType":1002},[],{"data":130479,"content":130482,"nodeType":996},{"target":130480},{"sys":130481},{"id":102281,"type":1001,"linkType":1002},[],{"data":130484,"content":130485,"nodeType":860},{},[130486],{"data":130487,"marks":130488,"value":21,"nodeType":864},{},[],{"items":130490},[130491],{"sys":130492,"name":73498},{"id":73497},{"items":130494},[130495],{"fullName":79005,"firstName":79006,"jobTitle":79007,"profilePicture":130496},{"url":79009},"blog/product-release-february-2024",{"json":130499},{"data":130500,"content":130501,"nodeType":856},{},[130502],{"data":130503,"content":130504,"nodeType":860},{},[130505],{"data":130506,"marks":130507,"value":130508,"nodeType":864},{},[],"Add guardrails to apps with app banners, monitor all domains for work apps, build detections with Login event webhook, and detect password usage for SSO apps",{"id":117812,"publishedAt":130510},"2026-08-13T09:34:53.121Z",{"items":130512},[130513],{"sys":130514,"name":73498},{"id":73497},{"items":130516},[130517,130519,130521,130523,130525,130527],{"sys":130518,"name":297,"slug":298,"tier":31},{"id":294},{"sys":130520,"name":413,"slug":414,"tier":31},{"id":410},{"sys":130522,"name":545,"slug":546,"tier":31},{"id":542},{"sys":130524,"name":589,"slug":590,"tier":45},{"id":586},{"sys":130526,"name":580,"slug":581,"tier":45},{"id":577},{"sys":130528,"name":395,"slug":396,"tier":45},{"id":392},"DcjOcNy3k6-BB7-_sEq4JOz5U5iF16lwSW1S6-T2Pc4",{"id":130531,"title":118855,"authorsCollection":130532,"content":130537,"extension":228,"faqItemsCollection":130839,"faqTitle":59,"featured":6,"hashTags":59,"meta":130841,"metaTitle":130842,"ogImage":130843,"postType":55451,"publishedDate":118856,"relatedBlogPostsCollection":130844,"slug":118857,"stem":132128,"subtitle":59,"summary":132129,"synopsis":118554,"sys":132140,"tagsCollection":132142,"topicsCollection":132148,"__hash__":132160},"blog/blog/introducing-in-browser-app-banners-set-guardrails-for-cloud-apps.json",{"items":130533},[130534],{"fullName":4878,"firstName":4879,"jobTitle":851,"socialLinks":130535,"profilePicture":130536},[14839],{"url":4881},{"json":130538,"links":130815},{"data":130539,"content":130540,"nodeType":856},{},[130541,130546,130553,130563,130569,130575,130614,130619,130625,130631,130637,130643,130663,130669,130675,130737,130743,130749,130755,130760,130766,130772,130777,130783,130789,130794,130800],{"data":130542,"content":130545,"nodeType":996},{"target":130543},{"sys":130544},{"id":118545,"type":1001,"linkType":1002},[],{"data":130547,"content":130548,"nodeType":860},{},[130549],{"data":130550,"marks":130551,"value":118554,"nodeType":864},{},[130552],{"type":899},{"data":130554,"content":130555,"nodeType":860},{},[130556,130559],{"data":130557,"marks":130558,"value":118561,"nodeType":864},{},[],{"data":130560,"marks":130561,"value":118566,"nodeType":864},{},[130562],{"type":899},{"data":130564,"content":130565,"nodeType":860},{},[130566],{"data":130567,"marks":130568,"value":118573,"nodeType":864},{},[],{"data":130570,"content":130571,"nodeType":860},{},[130572],{"data":130573,"marks":130574,"value":118580,"nodeType":864},{},[],{"data":130576,"content":130577,"nodeType":941},{},[130578,130587,130596,130605],{"data":130579,"content":130580,"nodeType":945},{},[130581],{"data":130582,"content":130583,"nodeType":860},{},[130584],{"data":130585,"marks":130586,"value":118593,"nodeType":864},{},[],{"data":130588,"content":130589,"nodeType":945},{},[130590],{"data":130591,"content":130592,"nodeType":860},{},[130593],{"data":130594,"marks":130595,"value":118603,"nodeType":864},{},[],{"data":130597,"content":130598,"nodeType":945},{},[130599],{"data":130600,"content":130601,"nodeType":860},{},[130602],{"data":130603,"marks":130604,"value":118613,"nodeType":864},{},[],{"data":130606,"content":130607,"nodeType":945},{},[130608],{"data":130609,"content":130610,"nodeType":860},{},[130611],{"data":130612,"marks":130613,"value":118623,"nodeType":864},{},[],{"data":130615,"content":130618,"nodeType":996},{"target":130616},{"sys":130617},{"id":118157,"type":1001,"linkType":1002},[],{"data":130620,"content":130621,"nodeType":1009},{},[130622],{"data":130623,"marks":130624,"value":118635,"nodeType":864},{},[],{"data":130626,"content":130627,"nodeType":860},{},[130628],{"data":130629,"marks":130630,"value":118642,"nodeType":864},{},[],{"data":130632,"content":130633,"nodeType":860},{},[130634],{"data":130635,"marks":130636,"value":118649,"nodeType":864},{},[],{"data":130638,"content":130639,"nodeType":860},{},[130640],{"data":130641,"marks":130642,"value":118656,"nodeType":864},{},[],{"data":130644,"content":130645,"nodeType":860},{},[130646,130649,130653,130656,130660],{"data":130647,"marks":130648,"value":118663,"nodeType":864},{},[],{"data":130650,"marks":130651,"value":118668,"nodeType":864},{},[130652],{"type":2246},{"data":130654,"marks":130655,"value":118672,"nodeType":864},{},[],{"data":130657,"marks":130658,"value":118677,"nodeType":864},{},[130659],{"type":2246},{"data":130661,"marks":130662,"value":118681,"nodeType":864},{},[],{"data":130664,"content":130665,"nodeType":860},{},[130666],{"data":130667,"marks":130668,"value":118688,"nodeType":864},{},[],{"data":130670,"content":130671,"nodeType":1009},{},[130672],{"data":130673,"marks":130674,"value":112398,"nodeType":864},{},[],{"data":130676,"content":130677,"nodeType":118765},{},[130678,130687,130696,130712,130728],{"data":130679,"content":130680,"nodeType":945},{},[130681],{"data":130682,"content":130683,"nodeType":860},{},[130684],{"data":130685,"marks":130686,"value":118707,"nodeType":864},{},[],{"data":130688,"content":130689,"nodeType":945},{},[130690],{"data":130691,"content":130692,"nodeType":860},{},[130693],{"data":130694,"marks":130695,"value":118717,"nodeType":864},{},[],{"data":130697,"content":130698,"nodeType":945},{},[130699],{"data":130700,"content":130701,"nodeType":860},{},[130702,130705,130709],{"data":130703,"marks":130704,"value":118727,"nodeType":864},{},[],{"data":130706,"marks":130707,"value":118732,"nodeType":864},{},[130708],{"type":899},{"data":130710,"marks":130711,"value":118736,"nodeType":864},{},[],{"data":130713,"content":130714,"nodeType":945},{},[130715],{"data":130716,"content":130717,"nodeType":860},{},[130718,130721,130725],{"data":130719,"marks":130720,"value":75174,"nodeType":864},{},[],{"data":130722,"marks":130723,"value":118750,"nodeType":864},{},[130724],{"type":899},{"data":130726,"marks":130727,"value":118754,"nodeType":864},{},[],{"data":130729,"content":130730,"nodeType":945},{},[130731],{"data":130732,"content":130733,"nodeType":860},{},[130734],{"data":130735,"marks":130736,"value":118764,"nodeType":864},{},[],{"data":130738,"content":130739,"nodeType":1009},{},[130740],{"data":130741,"marks":130742,"value":118772,"nodeType":864},{},[],{"data":130744,"content":130745,"nodeType":1312},{},[130746],{"data":130747,"marks":130748,"value":118779,"nodeType":864},{},[],{"data":130750,"content":130751,"nodeType":860},{},[130752],{"data":130753,"marks":130754,"value":118786,"nodeType":864},{},[],{"data":130756,"content":130759,"nodeType":996},{"target":130757},{"sys":130758},{"id":118791,"type":1001,"linkType":1002},[],{"data":130761,"content":130762,"nodeType":1312},{},[130763],{"data":130764,"marks":130765,"value":118799,"nodeType":864},{},[],{"data":130767,"content":130768,"nodeType":860},{},[130769],{"data":130770,"marks":130771,"value":118806,"nodeType":864},{},[],{"data":130773,"content":130776,"nodeType":996},{"target":130774},{"sys":130775},{"id":118811,"type":1001,"linkType":1002},[],{"data":130778,"content":130779,"nodeType":1312},{},[130780],{"data":130781,"marks":130782,"value":118819,"nodeType":864},{},[],{"data":130784,"content":130785,"nodeType":860},{},[130786],{"data":130787,"marks":130788,"value":118826,"nodeType":864},{},[],{"data":130790,"content":130793,"nodeType":996},{"target":130791},{"sys":130792},{"id":118831,"type":1001,"linkType":1002},[],{"data":130795,"content":130796,"nodeType":1009},{},[130797],{"data":130798,"marks":130799,"value":36405,"nodeType":864},{},[],{"data":130801,"content":130802,"nodeType":860},{},[130803,130806,130812],{"data":130804,"marks":130805,"value":95575,"nodeType":864},{},[],{"data":130807,"content":130808,"nodeType":883},{"uri":5642},[130809],{"data":130810,"marks":130811,"value":37814,"nodeType":864},{},[],{"data":130813,"marks":130814,"value":118854,"nodeType":864},{},[],{"entries":130816},{"hyperlink":130817,"inline":130818,"block":130819},[],[],[130820,130825,130827,130831,130835],{"sys":130821,"__typename":1724,"title":130822,"caption":59,"layoutMode":59,"file":130823},{"id":118545},"Chat GPT Banner Ad",{"url":130824,"width":118488,"height":118489},"https://images.ctfassets.net/y1cdw1ablpvd/4fnlFRQbFXOyjdBePic5u7/14bb89c73bce33df0be45daafb8a611b/chat-gpt-image.png",{"sys":130826,"__typename":1717,"type":80540,"ctaText":118492,"buttonLabel":41118,"buttonColour":1721,"buttonUrl":59},{"id":118157},{"sys":130828,"__typename":9318,"title":130829,"arcadeDemoUrl":130830,"playText":9321},{"id":118791},"App Banner - ChatGPT","https://demo.arcade.software/4cOPL5gSyxt6z4wqSL7y?embed",{"sys":130832,"__typename":9318,"title":130833,"arcadeDemoUrl":130834,"playText":9321},{"id":118811},"App Banner - Guide users to approved apps","https://demo.arcade.software/TlBO2p8454bN4szY4Jxq?embed",{"sys":130836,"__typename":9318,"title":130837,"arcadeDemoUrl":130838,"playText":9321},{"id":118831},"App Banners - Encourage SSO embed ","https://demo.arcade.software/mqoIhR7tM3wSCROmtens?embed",{"items":130840},[],{},"Introducing in-browser app banners",{"url":118487},{"items":130845},[130846,131453],{"__typename":2059,"sys":130847,"content":130848,"title":121021,"synopsis":129753,"hashTags":59,"publishedDate":128767,"slug":121022,"tagsCollection":131443,"authorsCollection":131449},{"id":120975},{"json":130849},{"data":130850,"content":130851,"nodeType":856},{},[130852,130858,130864,130870,130876,130882,130888,130894,130900,130906,130912,130918,130931,130937,130943,130949,130955,130961,130967,130973,130978,130984,130990,130996,131002,131007,131014,131020,131026,131032,131038,131045,131051,131056,131062,131068,131089,131095,131125,131131,131144,131151,131157,131163,131169,131175,131223,131229,131234,131240,131246,131252,131259,131265,131271,131277,131302,131308,131338,131344,131350,131356,131362,131369,131375,131381,131387,131393,131399,131405,131411,131417,131432,131437],{"data":130853,"content":130854,"nodeType":1009},{},[130855],{"data":130856,"marks":130857,"value":128064,"nodeType":864},{},[],{"data":130859,"content":130860,"nodeType":860},{},[130861],{"data":130862,"marks":130863,"value":128071,"nodeType":864},{},[],{"data":130865,"content":130866,"nodeType":860},{},[130867],{"data":130868,"marks":130869,"value":128078,"nodeType":864},{},[],{"data":130871,"content":130872,"nodeType":860},{},[130873],{"data":130874,"marks":130875,"value":128085,"nodeType":864},{},[],{"data":130877,"content":130878,"nodeType":860},{},[130879],{"data":130880,"marks":130881,"value":128092,"nodeType":864},{},[],{"data":130883,"content":130884,"nodeType":1009},{},[130885],{"data":130886,"marks":130887,"value":128099,"nodeType":864},{},[],{"data":130889,"content":130890,"nodeType":860},{},[130891],{"data":130892,"marks":130893,"value":21,"nodeType":864},{},[],{"data":130895,"content":130896,"nodeType":860},{},[130897],{"data":130898,"marks":130899,"value":128112,"nodeType":864},{},[],{"data":130901,"content":130902,"nodeType":1312},{},[130903],{"data":130904,"marks":130905,"value":82355,"nodeType":864},{},[],{"data":130907,"content":130908,"nodeType":860},{},[130909],{"data":130910,"marks":130911,"value":128125,"nodeType":864},{},[],{"data":130913,"content":130914,"nodeType":860},{},[130915],{"data":130916,"marks":130917,"value":128132,"nodeType":864},{},[],{"data":130919,"content":130920,"nodeType":860},{},[130921,130924,130928],{"data":130922,"marks":130923,"value":128139,"nodeType":864},{},[],{"data":130925,"marks":130926,"value":128144,"nodeType":864},{},[130927],{"type":2246},{"data":130929,"marks":130930,"value":128148,"nodeType":864},{},[],{"data":130932,"content":130933,"nodeType":860},{},[130934],{"data":130935,"marks":130936,"value":128155,"nodeType":864},{},[],{"data":130938,"content":130939,"nodeType":1312},{},[130940],{"data":130941,"marks":130942,"value":128162,"nodeType":864},{},[],{"data":130944,"content":130945,"nodeType":860},{},[130946],{"data":130947,"marks":130948,"value":128169,"nodeType":864},{},[],{"data":130950,"content":130951,"nodeType":860},{},[130952],{"data":130953,"marks":130954,"value":128176,"nodeType":864},{},[],{"data":130956,"content":130957,"nodeType":860},{},[130958],{"data":130959,"marks":130960,"value":128183,"nodeType":864},{},[],{"data":130962,"content":130963,"nodeType":1312},{},[130964],{"data":130965,"marks":130966,"value":128190,"nodeType":864},{},[],{"data":130968,"content":130969,"nodeType":860},{},[130970],{"data":130971,"marks":130972,"value":128197,"nodeType":864},{},[],{"data":130974,"content":130977,"nodeType":996},{"target":130975},{"sys":130976},{"id":120692,"type":1001,"linkType":1002},[],{"data":130979,"content":130980,"nodeType":860},{},[130981],{"data":130982,"marks":130983,"value":128209,"nodeType":864},{},[],{"data":130985,"content":130986,"nodeType":860},{},[130987],{"data":130988,"marks":130989,"value":128216,"nodeType":864},{},[],{"data":130991,"content":130992,"nodeType":1009},{},[130993],{"data":130994,"marks":130995,"value":128223,"nodeType":864},{},[],{"data":130997,"content":130998,"nodeType":860},{},[130999],{"data":131000,"marks":131001,"value":128230,"nodeType":864},{},[],{"data":131003,"content":131006,"nodeType":996},{"target":131004},{"sys":131005},{"id":128235,"type":1001,"linkType":1002},[],{"data":131008,"content":131009,"nodeType":1312},{},[131010],{"data":131011,"marks":131012,"value":128244,"nodeType":864},{},[131013],{"type":899},{"data":131015,"content":131016,"nodeType":860},{},[131017],{"data":131018,"marks":131019,"value":128251,"nodeType":864},{},[],{"data":131021,"content":131022,"nodeType":860},{},[131023],{"data":131024,"marks":131025,"value":128258,"nodeType":864},{},[],{"data":131027,"content":131028,"nodeType":860},{},[131029],{"data":131030,"marks":131031,"value":128265,"nodeType":864},{},[],{"data":131033,"content":131034,"nodeType":860},{},[131035],{"data":131036,"marks":131037,"value":128272,"nodeType":864},{},[],{"data":131039,"content":131040,"nodeType":1312},{},[131041],{"data":131042,"marks":131043,"value":128280,"nodeType":864},{},[131044],{"type":899},{"data":131046,"content":131047,"nodeType":860},{},[131048],{"data":131049,"marks":131050,"value":128287,"nodeType":864},{},[],{"data":131052,"content":131055,"nodeType":996},{"target":131053},{"sys":131054},{"id":128292,"type":1001,"linkType":1002},[],{"data":131057,"content":131058,"nodeType":860},{},[131059],{"data":131060,"marks":131061,"value":128300,"nodeType":864},{},[],{"data":131063,"content":131064,"nodeType":860},{},[131065],{"data":131066,"marks":131067,"value":128307,"nodeType":864},{},[],{"data":131069,"content":131070,"nodeType":941},{},[131071,131080],{"data":131072,"content":131073,"nodeType":945},{},[131074],{"data":131075,"content":131076,"nodeType":860},{},[131077],{"data":131078,"marks":131079,"value":128320,"nodeType":864},{},[],{"data":131081,"content":131082,"nodeType":945},{},[131083],{"data":131084,"content":131085,"nodeType":860},{},[131086],{"data":131087,"marks":131088,"value":128330,"nodeType":864},{},[],{"data":131090,"content":131091,"nodeType":860},{},[131092],{"data":131093,"marks":131094,"value":128337,"nodeType":864},{},[],{"data":131096,"content":131097,"nodeType":941},{},[131098,131107,131116],{"data":131099,"content":131100,"nodeType":945},{},[131101],{"data":131102,"content":131103,"nodeType":860},{},[131104],{"data":131105,"marks":131106,"value":128350,"nodeType":864},{},[],{"data":131108,"content":131109,"nodeType":945},{},[131110],{"data":131111,"content":131112,"nodeType":860},{},[131113],{"data":131114,"marks":131115,"value":128360,"nodeType":864},{},[],{"data":131117,"content":131118,"nodeType":945},{},[131119],{"data":131120,"content":131121,"nodeType":860},{},[131122],{"data":131123,"marks":131124,"value":128370,"nodeType":864},{},[],{"data":131126,"content":131127,"nodeType":860},{},[131128],{"data":131129,"marks":131130,"value":128377,"nodeType":864},{},[],{"data":131132,"content":131133,"nodeType":860},{},[131134,131137,131141],{"data":131135,"marks":131136,"value":128384,"nodeType":864},{},[],{"data":131138,"marks":131139,"value":128389,"nodeType":864},{},[131140],{"type":899},{"data":131142,"marks":131143,"value":128393,"nodeType":864},{},[],{"data":131145,"content":131146,"nodeType":1312},{},[131147],{"data":131148,"marks":131149,"value":128401,"nodeType":864},{},[131150],{"type":899},{"data":131152,"content":131153,"nodeType":860},{},[131154],{"data":131155,"marks":131156,"value":128408,"nodeType":864},{},[],{"data":131158,"content":131159,"nodeType":860},{},[131160],{"data":131161,"marks":131162,"value":128415,"nodeType":864},{},[],{"data":131164,"content":131165,"nodeType":860},{},[131166],{"data":131167,"marks":131168,"value":128422,"nodeType":864},{},[],{"data":131170,"content":131171,"nodeType":860},{},[131172],{"data":131173,"marks":131174,"value":128429,"nodeType":864},{},[],{"data":131176,"content":131177,"nodeType":941},{},[131178,131187,131196,131205,131214],{"data":131179,"content":131180,"nodeType":945},{},[131181],{"data":131182,"content":131183,"nodeType":860},{},[131184],{"data":131185,"marks":131186,"value":128442,"nodeType":864},{},[],{"data":131188,"content":131189,"nodeType":945},{},[131190],{"data":131191,"content":131192,"nodeType":860},{},[131193],{"data":131194,"marks":131195,"value":128452,"nodeType":864},{},[],{"data":131197,"content":131198,"nodeType":945},{},[131199],{"data":131200,"content":131201,"nodeType":860},{},[131202],{"data":131203,"marks":131204,"value":128462,"nodeType":864},{},[],{"data":131206,"content":131207,"nodeType":945},{},[131208],{"data":131209,"content":131210,"nodeType":860},{},[131211],{"data":131212,"marks":131213,"value":128472,"nodeType":864},{},[],{"data":131215,"content":131216,"nodeType":945},{},[131217],{"data":131218,"content":131219,"nodeType":860},{},[131220],{"data":131221,"marks":131222,"value":128482,"nodeType":864},{},[],{"data":131224,"content":131225,"nodeType":860},{},[131226],{"data":131227,"marks":131228,"value":128489,"nodeType":864},{},[],{"data":131230,"content":131233,"nodeType":996},{"target":131231},{"sys":131232},{"id":128494,"type":1001,"linkType":1002},[],{"data":131235,"content":131236,"nodeType":860},{},[131237],{"data":131238,"marks":131239,"value":128502,"nodeType":864},{},[],{"data":131241,"content":131242,"nodeType":860},{},[131243],{"data":131244,"marks":131245,"value":128509,"nodeType":864},{},[],{"data":131247,"content":131248,"nodeType":860},{},[131249],{"data":131250,"marks":131251,"value":128516,"nodeType":864},{},[],{"data":131253,"content":131254,"nodeType":1312},{},[131255],{"data":131256,"marks":131257,"value":128524,"nodeType":864},{},[131258],{"type":899},{"data":131260,"content":131261,"nodeType":860},{},[131262],{"data":131263,"marks":131264,"value":128531,"nodeType":864},{},[],{"data":131266,"content":131267,"nodeType":860},{},[131268],{"data":131269,"marks":131270,"value":128538,"nodeType":864},{},[],{"data":131272,"content":131273,"nodeType":860},{},[131274],{"data":131275,"marks":131276,"value":128545,"nodeType":864},{},[],{"data":131278,"content":131279,"nodeType":860},{},[131280,131283,131290,131293,131299],{"data":131281,"marks":131282,"value":128552,"nodeType":864},{},[],{"data":131284,"content":131285,"nodeType":883},{"uri":85319},[131286],{"data":131287,"marks":131288,"value":110655,"nodeType":864},{},[131289],{"type":1455},{"data":131291,"marks":131292,"value":128563,"nodeType":864},{},[],{"data":131294,"content":131295,"nodeType":883},{"uri":88494},[131296],{"data":131297,"marks":131298,"value":5272,"nodeType":864},{},[],{"data":131300,"marks":131301,"value":128573,"nodeType":864},{},[],{"data":131303,"content":131304,"nodeType":860},{},[131305],{"data":131306,"marks":131307,"value":128580,"nodeType":864},{},[],{"data":131309,"content":131310,"nodeType":941},{},[131311,131320],{"data":131312,"content":131313,"nodeType":945},{},[131314],{"data":131315,"content":131316,"nodeType":860},{},[131317],{"data":131318,"marks":131319,"value":128593,"nodeType":864},{},[],{"data":131321,"content":131322,"nodeType":945},{},[131323],{"data":131324,"content":131325,"nodeType":860},{},[131326,131329,131335],{"data":131327,"marks":131328,"value":128603,"nodeType":864},{},[],{"data":131330,"content":131331,"nodeType":883},{"uri":96411},[131332],{"data":131333,"marks":131334,"value":128610,"nodeType":864},{},[],{"data":131336,"marks":131337,"value":2924,"nodeType":864},{},[],{"data":131339,"content":131340,"nodeType":860},{},[131341],{"data":131342,"marks":131343,"value":128620,"nodeType":864},{},[],{"data":131345,"content":131346,"nodeType":860},{},[131347],{"data":131348,"marks":131349,"value":128627,"nodeType":864},{},[],{"data":131351,"content":131352,"nodeType":860},{},[131353],{"data":131354,"marks":131355,"value":128634,"nodeType":864},{},[],{"data":131357,"content":131358,"nodeType":860},{},[131359],{"data":131360,"marks":131361,"value":128641,"nodeType":864},{},[],{"data":131363,"content":131364,"nodeType":1312},{},[131365],{"data":131366,"marks":131367,"value":128649,"nodeType":864},{},[131368],{"type":899},{"data":131370,"content":131371,"nodeType":860},{},[131372],{"data":131373,"marks":131374,"value":128656,"nodeType":864},{},[],{"data":131376,"content":131377,"nodeType":860},{},[131378],{"data":131379,"marks":131380,"value":128663,"nodeType":864},{},[],{"data":131382,"content":131383,"nodeType":860},{},[131384],{"data":131385,"marks":131386,"value":128670,"nodeType":864},{},[],{"data":131388,"content":131389,"nodeType":860},{},[131390],{"data":131391,"marks":131392,"value":128677,"nodeType":864},{},[],{"data":131394,"content":131395,"nodeType":860},{},[131396],{"data":131397,"marks":131398,"value":128684,"nodeType":864},{},[],{"data":131400,"content":131401,"nodeType":1009},{},[131402],{"data":131403,"marks":131404,"value":128691,"nodeType":864},{},[],{"data":131406,"content":131407,"nodeType":860},{},[131408],{"data":131409,"marks":131410,"value":128698,"nodeType":864},{},[],{"data":131412,"content":131413,"nodeType":860},{},[131414],{"data":131415,"marks":131416,"value":128705,"nodeType":864},{},[],{"data":131418,"content":131419,"nodeType":860},{},[131420,131423,131429],{"data":131421,"marks":131422,"value":128712,"nodeType":864},{},[],{"data":131424,"content":131425,"nodeType":883},{"uri":47663},[131426],{"data":131427,"marks":131428,"value":128719,"nodeType":864},{},[],{"data":131430,"marks":131431,"value":128723,"nodeType":864},{},[],{"data":131433,"content":131436,"nodeType":996},{"target":131434},{"sys":131435},{"id":128728,"type":1001,"linkType":1002},[],{"data":131438,"content":131439,"nodeType":860},{},[131440],{"data":131441,"marks":131442,"value":21,"nodeType":864},{},[],{"items":131444},[131445,131447],{"sys":131446,"name":297},{"id":2732},{"sys":131448,"name":342},{"id":6596},{"items":131450},[131451],{"fullName":38408,"firstName":38409,"jobTitle":38410,"profilePicture":131452},{"url":38412},{"__typename":2059,"sys":131454,"content":131455,"title":102289,"synopsis":102290,"hashTags":59,"publishedDate":102291,"slug":102292,"tagsCollection":132118,"authorsCollection":132124},{"id":101509},{"json":131456},{"data":131457,"content":131458,"nodeType":856},{},[131459,131465,131471,131477,131483,131489,131495,131500,131516,131522,131558,131564,131570,131606,131622,131628,131634,131640,131656,131672,131678,131708,131714,131730,131736,131742,131768,131784,131790,131795,131801,131807,131813,131819,131825,131831,131837,131843,131849,131855,131861,131867,131880,131886,131942,131948,131954,131977,131990,131996,132002,132008,132034,132051,132057,132063,132069,132075,132091,132107,132112],{"data":131460,"content":131461,"nodeType":860},{},[131462],{"data":131463,"marks":131464,"value":101520,"nodeType":864},{},[],{"data":131466,"content":131467,"nodeType":860},{},[131468],{"data":131469,"marks":131470,"value":101527,"nodeType":864},{},[],{"data":131472,"content":131473,"nodeType":860},{},[131474],{"data":131475,"marks":131476,"value":101534,"nodeType":864},{},[],{"data":131478,"content":131479,"nodeType":860},{},[131480],{"data":131481,"marks":131482,"value":101541,"nodeType":864},{},[],{"data":131484,"content":131485,"nodeType":1009},{},[131486],{"data":131487,"marks":131488,"value":101548,"nodeType":864},{},[],{"data":131490,"content":131491,"nodeType":860},{},[131492],{"data":131493,"marks":131494,"value":101555,"nodeType":864},{},[],{"data":131496,"content":131499,"nodeType":996},{"target":131497},{"sys":131498},{"id":101560,"type":1001,"linkType":1002},[],{"data":131501,"content":131502,"nodeType":860},{},[131503,131506,131513],{"data":131504,"marks":131505,"value":101568,"nodeType":864},{},[],{"data":131507,"content":131508,"nodeType":883},{"uri":6418},[131509],{"data":131510,"marks":131511,"value":6423,"nodeType":864},{},[131512],{"type":1455},{"data":131514,"marks":131515,"value":2924,"nodeType":864},{},[],{"data":131517,"content":131518,"nodeType":860},{},[131519],{"data":131520,"marks":131521,"value":101585,"nodeType":864},{},[],{"data":131523,"content":131524,"nodeType":860},{},[131525,131528,131535,131538,131545,131548,131555],{"data":131526,"marks":131527,"value":101592,"nodeType":864},{},[],{"data":131529,"content":131530,"nodeType":883},{"uri":49829},[131531],{"data":131532,"marks":131533,"value":101600,"nodeType":864},{},[131534],{"type":1455},{"data":131536,"marks":131537,"value":902,"nodeType":864},{},[],{"data":131539,"content":131540,"nodeType":883},{"uri":101606},[131541],{"data":131542,"marks":131543,"value":101612,"nodeType":864},{},[131544],{"type":1455},{"data":131546,"marks":131547,"value":101616,"nodeType":864},{},[],{"data":131549,"content":131550,"nodeType":883},{"uri":96411},[131551],{"data":131552,"marks":131553,"value":101624,"nodeType":864},{},[131554],{"type":1455},{"data":131556,"marks":131557,"value":101628,"nodeType":864},{},[],{"data":131559,"content":131560,"nodeType":860},{},[131561],{"data":131562,"marks":131563,"value":101635,"nodeType":864},{},[],{"data":131565,"content":131566,"nodeType":1312},{},[131567],{"data":131568,"marks":131569,"value":101642,"nodeType":864},{},[],{"data":131571,"content":131572,"nodeType":860},{},[131573,131576,131583,131586,131593,131596,131603],{"data":131574,"marks":131575,"value":101649,"nodeType":864},{},[],{"data":131577,"content":131578,"nodeType":883},{"uri":87924},[131579],{"data":131580,"marks":131581,"value":87930,"nodeType":864},{},[131582],{"type":1455},{"data":131584,"marks":131585,"value":902,"nodeType":864},{},[],{"data":131587,"content":131588,"nodeType":883},{"uri":95797},[131589],{"data":131590,"marks":131591,"value":95802,"nodeType":864},{},[131592],{"type":1455},{"data":131594,"marks":131595,"value":101670,"nodeType":864},{},[],{"data":131597,"content":131598,"nodeType":883},{"uri":96459},[131599],{"data":131600,"marks":131601,"value":101678,"nodeType":864},{},[131602],{"type":1455},{"data":131604,"marks":131605,"value":101682,"nodeType":864},{},[],{"data":131607,"content":131608,"nodeType":860},{},[131609,131612,131619],{"data":131610,"marks":131611,"value":101689,"nodeType":864},{},[],{"data":131613,"content":131614,"nodeType":883},{"uri":101692},[131615],{"data":131616,"marks":131617,"value":101698,"nodeType":864},{},[131618],{"type":1455},{"data":131620,"marks":131621,"value":101702,"nodeType":864},{},[],{"data":131623,"content":131624,"nodeType":860},{},[131625],{"data":131626,"marks":131627,"value":101709,"nodeType":864},{},[],{"data":131629,"content":131630,"nodeType":860},{},[131631],{"data":131632,"marks":131633,"value":101716,"nodeType":864},{},[],{"data":131635,"content":131636,"nodeType":1312},{},[131637],{"data":131638,"marks":131639,"value":101723,"nodeType":864},{},[],{"data":131641,"content":131642,"nodeType":860},{},[131643,131646,131653],{"data":131644,"marks":131645,"value":101730,"nodeType":864},{},[],{"data":131647,"content":131648,"nodeType":883},{"uri":101733},[131649],{"data":131650,"marks":131651,"value":101739,"nodeType":864},{},[131652],{"type":1455},{"data":131654,"marks":131655,"value":101743,"nodeType":864},{},[],{"data":131657,"content":131658,"nodeType":860},{},[131659,131662,131669],{"data":131660,"marks":131661,"value":101750,"nodeType":864},{},[],{"data":131663,"content":131664,"nodeType":883},{"uri":61891},[131665],{"data":131666,"marks":131667,"value":61897,"nodeType":864},{},[131668],{"type":1455},{"data":131670,"marks":131671,"value":101761,"nodeType":864},{},[],{"data":131673,"content":131674,"nodeType":860},{},[131675],{"data":131676,"marks":131677,"value":101768,"nodeType":864},{},[],{"data":131679,"content":131680,"nodeType":941},{},[131681,131690,131699],{"data":131682,"content":131683,"nodeType":945},{},[131684],{"data":131685,"content":131686,"nodeType":860},{},[131687],{"data":131688,"marks":131689,"value":101781,"nodeType":864},{},[],{"data":131691,"content":131692,"nodeType":945},{},[131693],{"data":131694,"content":131695,"nodeType":860},{},[131696],{"data":131697,"marks":131698,"value":101791,"nodeType":864},{},[],{"data":131700,"content":131701,"nodeType":945},{},[131702],{"data":131703,"content":131704,"nodeType":860},{},[131705],{"data":131706,"marks":131707,"value":101801,"nodeType":864},{},[],{"data":131709,"content":131710,"nodeType":860},{},[131711],{"data":131712,"marks":131713,"value":101808,"nodeType":864},{},[],{"data":131715,"content":131716,"nodeType":860},{},[131717,131720,131727],{"data":131718,"marks":131719,"value":101815,"nodeType":864},{},[],{"data":131721,"content":131722,"nodeType":883},{"uri":101818},[131723],{"data":131724,"marks":131725,"value":101824,"nodeType":864},{},[131726],{"type":1455},{"data":131728,"marks":131729,"value":101828,"nodeType":864},{},[],{"data":131731,"content":131732,"nodeType":1312},{},[131733],{"data":131734,"marks":131735,"value":101835,"nodeType":864},{},[],{"data":131737,"content":131738,"nodeType":860},{},[131739],{"data":131740,"marks":131741,"value":101842,"nodeType":864},{},[],{"data":131743,"content":131744,"nodeType":860},{},[131745,131748,131755,131758,131765],{"data":131746,"marks":131747,"value":101849,"nodeType":864},{},[],{"data":131749,"content":131750,"nodeType":883},{"uri":101852},[131751],{"data":131752,"marks":131753,"value":101858,"nodeType":864},{},[131754],{"type":1455},{"data":131756,"marks":131757,"value":902,"nodeType":864},{},[],{"data":131759,"content":131760,"nodeType":883},{"uri":26784},[131761],{"data":131762,"marks":131763,"value":17706,"nodeType":864},{},[131764],{"type":1455},{"data":131766,"marks":131767,"value":101872,"nodeType":864},{},[],{"data":131769,"content":131770,"nodeType":860},{},[131771,131774,131781],{"data":131772,"marks":131773,"value":101879,"nodeType":864},{},[],{"data":131775,"content":131776,"nodeType":883},{"uri":101882},[131777],{"data":131778,"marks":131779,"value":101888,"nodeType":864},{},[131780],{"type":1455},{"data":131782,"marks":131783,"value":101892,"nodeType":864},{},[],{"data":131785,"content":131786,"nodeType":860},{},[131787],{"data":131788,"marks":131789,"value":101899,"nodeType":864},{},[],{"data":131791,"content":131794,"nodeType":996},{"target":131792},{"sys":131793},{"id":92011,"type":1001,"linkType":1002},[],{"data":131796,"content":131797,"nodeType":1009},{},[131798],{"data":131799,"marks":131800,"value":101911,"nodeType":864},{},[],{"data":131802,"content":131803,"nodeType":860},{},[131804],{"data":131805,"marks":131806,"value":101918,"nodeType":864},{},[],{"data":131808,"content":131809,"nodeType":860},{},[131810],{"data":131811,"marks":131812,"value":101925,"nodeType":864},{},[],{"data":131814,"content":131815,"nodeType":1312},{},[131816],{"data":131817,"marks":131818,"value":101932,"nodeType":864},{},[],{"data":131820,"content":131821,"nodeType":860},{},[131822],{"data":131823,"marks":131824,"value":101939,"nodeType":864},{},[],{"data":131826,"content":131827,"nodeType":860},{},[131828],{"data":131829,"marks":131830,"value":101946,"nodeType":864},{},[],{"data":131832,"content":131833,"nodeType":860},{},[131834],{"data":131835,"marks":131836,"value":101953,"nodeType":864},{},[],{"data":131838,"content":131839,"nodeType":1312},{},[131840],{"data":131841,"marks":131842,"value":101960,"nodeType":864},{},[],{"data":131844,"content":131845,"nodeType":860},{},[131846],{"data":131847,"marks":131848,"value":101967,"nodeType":864},{},[],{"data":131850,"content":131851,"nodeType":860},{},[131852],{"data":131853,"marks":131854,"value":101974,"nodeType":864},{},[],{"data":131856,"content":131857,"nodeType":860},{},[131858],{"data":131859,"marks":131860,"value":101981,"nodeType":864},{},[],{"data":131862,"content":131863,"nodeType":1009},{},[131864],{"data":131865,"marks":131866,"value":101988,"nodeType":864},{},[],{"data":131868,"content":131869,"nodeType":860},{},[131870,131873,131877],{"data":131871,"marks":131872,"value":101995,"nodeType":864},{},[],{"data":131874,"marks":131875,"value":102000,"nodeType":864},{},[131876],{"type":2246},{"data":131878,"marks":131879,"value":102004,"nodeType":864},{},[],{"data":131881,"content":131882,"nodeType":1312},{},[131883],{"data":131884,"marks":131885,"value":102011,"nodeType":864},{},[],{"data":131887,"content":131888,"nodeType":860},{},[131889,131892,131899,131902,131909,131912,131919,131922,131929,131932,131939],{"data":131890,"marks":131891,"value":102018,"nodeType":864},{},[],{"data":131893,"content":131894,"nodeType":883},{"uri":102021},[131895],{"data":131896,"marks":131897,"value":102027,"nodeType":864},{},[131898],{"type":1455},{"data":131900,"marks":131901,"value":902,"nodeType":864},{},[],{"data":131903,"content":131904,"nodeType":883},{"uri":102033},[131905],{"data":131906,"marks":131907,"value":102039,"nodeType":864},{},[131908],{"type":1455},{"data":131910,"marks":131911,"value":102043,"nodeType":864},{},[],{"data":131913,"content":131914,"nodeType":883},{"uri":102046},[131915],{"data":131916,"marks":131917,"value":102052,"nodeType":864},{},[131918],{"type":1455},{"data":131920,"marks":131921,"value":35735,"nodeType":864},{},[],{"data":131923,"content":131924,"nodeType":883},{"uri":8628},[131925],{"data":131926,"marks":131927,"value":102063,"nodeType":864},{},[131928],{"type":1455},{"data":131930,"marks":131931,"value":102067,"nodeType":864},{},[],{"data":131933,"content":131934,"nodeType":883},{"uri":102070},[131935],{"data":131936,"marks":131937,"value":102076,"nodeType":864},{},[131938],{"type":1455},{"data":131940,"marks":131941,"value":102080,"nodeType":864},{},[],{"data":131943,"content":131944,"nodeType":860},{},[131945],{"data":131946,"marks":131947,"value":102087,"nodeType":864},{},[],{"data":131949,"content":131950,"nodeType":1312},{},[131951],{"data":131952,"marks":131953,"value":102094,"nodeType":864},{},[],{"data":131955,"content":131956,"nodeType":860},{},[131957,131960,131964,131967,131974],{"data":131958,"marks":131959,"value":102101,"nodeType":864},{},[],{"data":131961,"marks":131962,"value":102106,"nodeType":864},{},[131963],{"type":1455},{"data":131965,"marks":131966,"value":102110,"nodeType":864},{},[],{"data":131968,"content":131969,"nodeType":883},{"uri":102113},[131970],{"data":131971,"marks":131972,"value":102119,"nodeType":864},{},[131973],{"type":1455},{"data":131975,"marks":131976,"value":102123,"nodeType":864},{},[],{"data":131978,"content":131979,"nodeType":860},{},[131980,131983,131987],{"data":131981,"marks":131982,"value":102130,"nodeType":864},{},[],{"data":131984,"marks":131985,"value":102135,"nodeType":864},{},[131986],{"type":2246},{"data":131988,"marks":131989,"value":2924,"nodeType":864},{},[],{"data":131991,"content":131992,"nodeType":860},{},[131993],{"data":131994,"marks":131995,"value":102145,"nodeType":864},{},[],{"data":131997,"content":131998,"nodeType":1312},{},[131999],{"data":132000,"marks":132001,"value":102152,"nodeType":864},{},[],{"data":132003,"content":132004,"nodeType":860},{},[132005],{"data":132006,"marks":132007,"value":102159,"nodeType":864},{},[],{"data":132009,"content":132010,"nodeType":860},{},[132011,132014,132021,132024,132031],{"data":132012,"marks":132013,"value":102166,"nodeType":864},{},[],{"data":132015,"content":132016,"nodeType":883},{"uri":102169},[132017],{"data":132018,"marks":132019,"value":102175,"nodeType":864},{},[132020],{"type":1455},{"data":132022,"marks":132023,"value":102179,"nodeType":864},{},[],{"data":132025,"content":132026,"nodeType":883},{"uri":102182},[132027],{"data":132028,"marks":132029,"value":102188,"nodeType":864},{},[132030],{"type":1455},{"data":132032,"marks":132033,"value":102192,"nodeType":864},{},[],{"data":132035,"content":132036,"nodeType":860},{},[132037,132040,132048],{"data":132038,"marks":132039,"value":102199,"nodeType":864},{},[],{"data":132041,"content":132042,"nodeType":883},{"uri":102202},[132043],{"data":132044,"marks":132045,"value":102209,"nodeType":864},{},[132046,132047],{"type":1455},{"type":2246},{"data":132049,"marks":132050,"value":21,"nodeType":864},{},[],{"data":132052,"content":132053,"nodeType":860},{},[132054],{"data":132055,"marks":132056,"value":102219,"nodeType":864},{},[],{"data":132058,"content":132059,"nodeType":1009},{},[132060],{"data":132061,"marks":132062,"value":102226,"nodeType":864},{},[],{"data":132064,"content":132065,"nodeType":860},{},[132066],{"data":132067,"marks":132068,"value":102233,"nodeType":864},{},[],{"data":132070,"content":132071,"nodeType":860},{},[132072],{"data":132073,"marks":132074,"value":102240,"nodeType":864},{},[],{"data":132076,"content":132077,"nodeType":860},{},[132078,132081,132088],{"data":132079,"marks":132080,"value":102247,"nodeType":864},{},[],{"data":132082,"content":132083,"nodeType":883},{"uri":102250},[132084],{"data":132085,"marks":132086,"value":102256,"nodeType":864},{},[132087],{"type":1455},{"data":132089,"marks":132090,"value":2924,"nodeType":864},{},[],{"data":132092,"content":132093,"nodeType":860},{},[132094,132097,132104],{"data":132095,"marks":132096,"value":102266,"nodeType":864},{},[],{"data":132098,"content":132099,"nodeType":883},{"uri":6418},[132100],{"data":132101,"marks":132102,"value":6423,"nodeType":864},{},[132103],{"type":1455},{"data":132105,"marks":132106,"value":96674,"nodeType":864},{},[],{"data":132108,"content":132111,"nodeType":996},{"target":132109},{"sys":132110},{"id":102281,"type":1001,"linkType":1002},[],{"data":132113,"content":132114,"nodeType":860},{},[132115],{"data":132116,"marks":132117,"value":21,"nodeType":864},{},[],{"items":132119},[132120,132122],{"sys":132121,"name":6593},{"id":6592},{"sys":132123,"name":342},{"id":6596},{"items":132125},[132126],{"fullName":38408,"firstName":38409,"jobTitle":38410,"profilePicture":132127},{"url":38412},"blog/introducing-in-browser-app-banners-set-guardrails-for-cloud-apps",{"json":132130},{"data":132131,"content":132132,"nodeType":856},{},[132133],{"data":132134,"content":132135,"nodeType":860},{},[132136],{"data":132137,"marks":132138,"value":132139,"nodeType":864},{},[],"By using Push’s app banners feature, you can configure a custom message to appear on the login and signup pages of any app used by your employees.",{"id":117895,"publishedAt":132141},"2026-08-12T11:55:37.802Z",{"items":132143},[132144,132146],{"sys":132145,"name":297},{"id":2732},{"sys":132147,"name":73498},{"id":73497},{"items":132149},[132150,132152,132154,132156,132158],{"sys":132151,"name":297,"slug":298,"tier":31},{"id":294},{"sys":132153,"name":545,"slug":546,"tier":31},{"id":542},{"sys":132155,"name":589,"slug":590,"tier":45},{"id":586},{"sys":132157,"name":580,"slug":581,"tier":45},{"id":577},{"sys":132159,"name":554,"slug":555,"tier":45},{"id":551},"2DwDeZ4hJuuA_zJkPofcyW1BK17X7nJy29G4HMiC2Sk",{"id":132162,"title":120506,"authorsCollection":132163,"content":132167,"extension":228,"faqItemsCollection":132449,"faqTitle":59,"featured":6,"hashTags":59,"meta":132451,"metaTitle":132452,"ogImage":59,"postType":79438,"publishedDate":120508,"relatedBlogPostsCollection":132453,"slug":120509,"stem":132657,"subtitle":59,"summary":132658,"synopsis":120507,"sys":132669,"tagsCollection":132671,"topicsCollection":132675,"__hash__":132687},"blog/blog/product-release-january-2024.json",{"items":132164},[132165],{"fullName":79005,"firstName":79006,"jobTitle":79007,"socialLinks":59,"profilePicture":132166},{"url":79009},{"json":132168,"links":132395},{"data":132169,"content":132170,"nodeType":856},{},[132171,132177,132216,132221,132227,132233,132246,132251,132267,132273,132286,132291,132308,132314,132331,132336,132353,132358,132364,132384,132389],{"data":132172,"content":132173,"nodeType":1312},{},[132174],{"data":132175,"marks":132176,"value":117629,"nodeType":864},{},[],{"data":132178,"content":132179,"nodeType":941},{},[132180,132189,132198,132207],{"data":132181,"content":132182,"nodeType":945},{},[132183],{"data":132184,"content":132185,"nodeType":860},{},[132186],{"data":132187,"marks":132188,"value":120272,"nodeType":864},{},[],{"data":132190,"content":132191,"nodeType":945},{},[132192],{"data":132193,"content":132194,"nodeType":860},{},[132195],{"data":132196,"marks":132197,"value":120282,"nodeType":864},{},[],{"data":132199,"content":132200,"nodeType":945},{},[132201],{"data":132202,"content":132203,"nodeType":860},{},[132204],{"data":132205,"marks":132206,"value":120292,"nodeType":864},{},[],{"data":132208,"content":132209,"nodeType":945},{},[132210],{"data":132211,"content":132212,"nodeType":860},{},[132213],{"data":132214,"marks":132215,"value":120302,"nodeType":864},{},[],{"data":132217,"content":132220,"nodeType":996},{"target":132218},{"sys":132219},{"id":102281,"type":1001,"linkType":1002},[],{"data":132222,"content":132223,"nodeType":1312},{},[132224],{"data":132225,"marks":132226,"value":120314,"nodeType":864},{},[],{"data":132228,"content":132229,"nodeType":860},{},[132230],{"data":132231,"marks":132232,"value":120321,"nodeType":864},{},[],{"data":132234,"content":132235,"nodeType":860},{},[132236,132239,132243],{"data":132237,"marks":132238,"value":120328,"nodeType":864},{},[],{"data":132240,"marks":132241,"value":28678,"nodeType":864},{},[132242],{"type":899},{"data":132244,"marks":132245,"value":117932,"nodeType":864},{},[],{"data":132247,"content":132250,"nodeType":996},{"target":132248},{"sys":132249},{"id":120340,"type":1001,"linkType":1002},[],{"data":132252,"content":132253,"nodeType":860},{},[132254,132257,132264],{"data":132255,"marks":132256,"value":21,"nodeType":864},{},[],{"data":132258,"content":132259,"nodeType":883},{"uri":90269},[132260],{"data":132261,"marks":132262,"value":120355,"nodeType":864},{},[132263],{"type":1455},{"data":132265,"marks":132266,"value":21,"nodeType":864},{},[],{"data":132268,"content":132269,"nodeType":1312},{},[132270],{"data":132271,"marks":132272,"value":120365,"nodeType":864},{},[],{"data":132274,"content":132275,"nodeType":860},{},[132276,132279,132283],{"data":132277,"marks":132278,"value":120372,"nodeType":864},{},[],{"data":132280,"marks":132281,"value":65672,"nodeType":864},{},[132282],{"type":899},{"data":132284,"marks":132285,"value":120380,"nodeType":864},{},[],{"data":132287,"content":132290,"nodeType":996},{"target":132288},{"sys":132289},{"id":120385,"type":1001,"linkType":1002},[],{"data":132292,"content":132293,"nodeType":860},{},[132294,132297,132305],{"data":132295,"marks":132296,"value":21,"nodeType":864},{},[],{"data":132298,"content":132301,"nodeType":27604},{"target":132299},{"sys":132300},{"id":79342,"type":1001,"linkType":1002},[132302],{"data":132303,"marks":132304,"value":79249,"nodeType":864},{},[],{"data":132306,"marks":132307,"value":21,"nodeType":864},{},[],{"data":132309,"content":132310,"nodeType":1312},{},[132311],{"data":132312,"marks":132313,"value":120292,"nodeType":864},{},[],{"data":132315,"content":132316,"nodeType":860},{},[132317,132320,132328],{"data":132318,"marks":132319,"value":120416,"nodeType":864},{},[],{"data":132321,"content":132324,"nodeType":27604},{"target":132322},{"sys":132323},{"id":120421,"type":1001,"linkType":1002},[132325],{"data":132326,"marks":132327,"value":120426,"nodeType":864},{},[],{"data":132329,"marks":132330,"value":120430,"nodeType":864},{},[],{"data":132332,"content":132335,"nodeType":996},{"target":132333},{"sys":132334},{"id":120435,"type":1001,"linkType":1002},[],{"data":132337,"content":132338,"nodeType":860},{},[132339,132342,132350],{"data":132340,"marks":132341,"value":79305,"nodeType":864},{},[],{"data":132343,"content":132346,"nodeType":27604},{"target":132344},{"sys":132345},{"id":120447,"type":1001,"linkType":1002},[132347],{"data":132348,"marks":132349,"value":120452,"nodeType":864},{},[],{"data":132351,"marks":132352,"value":120456,"nodeType":864},{},[],{"data":132354,"content":132357,"nodeType":996},{"target":132355},{"sys":132356},{"id":120461,"type":1001,"linkType":1002},[],{"data":132359,"content":132360,"nodeType":1312},{},[132361],{"data":132362,"marks":132363,"value":120469,"nodeType":864},{},[],{"data":132365,"content":132366,"nodeType":860},{},[132367,132370,132374,132377,132381],{"data":132368,"marks":132369,"value":120476,"nodeType":864},{},[],{"data":132371,"marks":132372,"value":120481,"nodeType":864},{},[132373],{"type":899},{"data":132375,"marks":132376,"value":120485,"nodeType":864},{},[],{"data":132378,"marks":132379,"value":65701,"nodeType":864},{},[132380],{"type":899},{"data":132382,"marks":132383,"value":120493,"nodeType":864},{},[],{"data":132385,"content":132388,"nodeType":996},{"target":132386},{"sys":132387},{"id":120498,"type":1001,"linkType":1002},[],{"data":132390,"content":132391,"nodeType":860},{},[132392],{"data":132393,"marks":132394,"value":21,"nodeType":864},{},[],{"entries":132396},{"inline":132397,"hyperlink":132398,"block":132411},[],[132399,132401,132406],{"sys":132400,"__typename":79413,"title":79419,"slug":79420,"articleId":79421},{"id":79342},{"sys":132402,"__typename":79413,"title":132403,"slug":132404,"articleId":132405},{"id":120421},"How do I remove account data that is old or unneeded?","how-do-i-remove-account-data-that-is-old-or-unneeded",10103,{"sys":132407,"__typename":79413,"title":132408,"slug":132409,"articleId":132410},{"id":120447},"How do I resolve a shared account finding?","how-do-i-resolve-a-shared-account-finding",10104,[132412,132416,132422,132428,132435,132442],{"sys":132413,"__typename":1717,"type":47670,"ctaText":132414,"buttonLabel":132415,"buttonColour":66936,"buttonUrl":59},{"id":102281},"See more original research and technical content from Push","Follow us on LinkedIn",{"sys":132417,"__typename":1724,"title":132418,"caption":59,"layoutMode":59,"file":132419},{"id":120340},"API settings demo gif - release notes - January 2024",{"url":132420,"width":17,"height":132421},"https://images.ctfassets.net/y1cdw1ablpvd/1Vbjpi7EuwAC0t9dTr65ab/e4db83c045e4f6aadfc2a6b19915c237/configure_api_settings.gif",390,{"sys":132423,"__typename":1724,"title":132424,"caption":59,"layoutMode":59,"file":132425},{"id":120385},"Other apps demo - release notes - January 2024",{"url":132426,"width":17,"height":132427},"https://images.ctfassets.net/y1cdw1ablpvd/3DAouOsQkUMq68Ypoy16VN/24a44239fcf73cf87f12e71b2b22cfe8/view_other_apps.gif",330,{"sys":132429,"__typename":1724,"title":132430,"caption":59,"layoutMode":59,"file":132431},{"id":120435},"Forget accounts bulk action - docs - View SaaS activity",{"url":132432,"width":132433,"height":132434},"https://images.ctfassets.net/y1cdw1ablpvd/3sKaRd4vt3JNp68HbwWjK4/17f22f4199804375c23617cb91e113b9/forget_accounts_20260804.png",1407,295,{"sys":132436,"__typename":1724,"title":132437,"caption":59,"layoutMode":59,"file":132438},{"id":120461},"Resolve shared account - docs - View SaaS activity",{"url":132439,"width":132440,"height":132441},"https://images.ctfassets.net/y1cdw1ablpvd/MELCh8C03rkAQkqcCJVy9/fe6c8c2e9b7260609b69d8e192eea35a/shared_account_resolve_20231218.png",1199,836,{"sys":132443,"__typename":1724,"title":132444,"caption":59,"layoutMode":59,"file":132445},{"id":120498},"SAML login detection - release notes - January 2024",{"url":132446,"width":132447,"height":132448},"https://images.ctfassets.net/y1cdw1ablpvd/3N9VlT6uokJ5rD67lTBxny/c16cb791dd676fe70c346b8b036bb4b2/saml_detection_screenshot.png",1366,324,{"items":132450},[],{},"Push Security new product features for January 2024",{"items":132454},[132455],{"__typename":2059,"sys":132456,"content":132457,"title":121729,"synopsis":121730,"hashTags":59,"publishedDate":121731,"slug":121732,"tagsCollection":132649,"authorsCollection":132653},{"id":121515},{"json":132458},{"data":132459,"content":132460,"nodeType":856},{},[132461,132467,132497,132503,132516,132521,132538,132544,132557,132562,132579,132585,132598,132627,132633,132638,132643],{"data":132462,"content":132463,"nodeType":1312},{},[132464],{"data":132465,"marks":132466,"value":117629,"nodeType":864},{},[],{"data":132468,"content":132469,"nodeType":941},{},[132470,132479,132488],{"data":132471,"content":132472,"nodeType":945},{},[132473],{"data":132474,"content":132475,"nodeType":860},{},[132476],{"data":132477,"marks":132478,"value":121538,"nodeType":864},{},[],{"data":132480,"content":132481,"nodeType":945},{},[132482],{"data":132483,"content":132484,"nodeType":860},{},[132485],{"data":132486,"marks":132487,"value":121548,"nodeType":864},{},[],{"data":132489,"content":132490,"nodeType":945},{},[132491],{"data":132492,"content":132493,"nodeType":860},{},[132494],{"data":132495,"marks":132496,"value":121558,"nodeType":864},{},[],{"data":132498,"content":132499,"nodeType":1312},{},[132500],{"data":132501,"marks":132502,"value":121565,"nodeType":864},{},[],{"data":132504,"content":132505,"nodeType":860},{},[132506,132509,132513],{"data":132507,"marks":132508,"value":121572,"nodeType":864},{},[],{"data":132510,"marks":132511,"value":121577,"nodeType":864},{},[132512],{"type":899},{"data":132514,"marks":132515,"value":121581,"nodeType":864},{},[],{"data":132517,"content":132520,"nodeType":996},{"target":132518},{"sys":132519},{"id":121586,"type":1001,"linkType":1002},[],{"data":132522,"content":132523,"nodeType":860},{},[132524,132527,132535],{"data":132525,"marks":132526,"value":21,"nodeType":864},{},[],{"data":132528,"content":132531,"nodeType":27604},{"target":132529},{"sys":132530},{"id":120803,"type":1001,"linkType":1002},[132532],{"data":132533,"marks":132534,"value":30213,"nodeType":864},{},[],{"data":132536,"marks":132537,"value":21,"nodeType":864},{},[],{"data":132539,"content":132540,"nodeType":1312},{},[132541],{"data":132542,"marks":132543,"value":121611,"nodeType":864},{},[],{"data":132545,"content":132546,"nodeType":860},{},[132547,132550,132554],{"data":132548,"marks":132549,"value":121618,"nodeType":864},{},[],{"data":132551,"marks":132552,"value":121623,"nodeType":864},{},[132553],{"type":899},{"data":132555,"marks":132556,"value":121627,"nodeType":864},{},[],{"data":132558,"content":132561,"nodeType":996},{"target":132559},{"sys":132560},{"id":121632,"type":1001,"linkType":1002},[],{"data":132563,"content":132564,"nodeType":860},{},[132565,132568,132576],{"data":132566,"marks":132567,"value":21,"nodeType":864},{},[],{"data":132569,"content":132572,"nodeType":27604},{"target":132570},{"sys":132571},{"id":121644,"type":1001,"linkType":1002},[132573],{"data":132574,"marks":132575,"value":79249,"nodeType":864},{},[],{"data":132577,"marks":132578,"value":21,"nodeType":864},{},[],{"data":132580,"content":132581,"nodeType":1312},{},[132582],{"data":132583,"marks":132584,"value":121558,"nodeType":864},{},[],{"data":132586,"content":132587,"nodeType":860},{},[132588,132591,132595],{"data":132589,"marks":132590,"value":74483,"nodeType":864},{},[],{"data":132592,"marks":132593,"value":65701,"nodeType":864},{},[132594],{"type":899},{"data":132596,"marks":132597,"value":121671,"nodeType":864},{},[],{"data":132599,"content":132600,"nodeType":941},{},[132601,132614],{"data":132602,"content":132603,"nodeType":945},{},[132604],{"data":132605,"content":132606,"nodeType":860},{},[132607,132611],{"data":132608,"marks":132609,"value":121685,"nodeType":864},{},[132610],{"type":899},{"data":132612,"marks":132613,"value":121689,"nodeType":864},{},[],{"data":132615,"content":132616,"nodeType":945},{},[132617],{"data":132618,"content":132619,"nodeType":860},{},[132620,132624],{"data":132621,"marks":132622,"value":121700,"nodeType":864},{},[132623],{"type":899},{"data":132625,"marks":132626,"value":121704,"nodeType":864},{},[],{"data":132628,"content":132629,"nodeType":860},{},[132630],{"data":132631,"marks":132632,"value":121711,"nodeType":864},{},[],{"data":132634,"content":132637,"nodeType":996},{"target":132635},{"sys":132636},{"id":121716,"type":1001,"linkType":1002},[],{"data":132639,"content":132642,"nodeType":996},{"target":132640},{"sys":132641},{"id":102281,"type":1001,"linkType":1002},[],{"data":132644,"content":132645,"nodeType":860},{},[132646],{"data":132647,"marks":132648,"value":21,"nodeType":864},{},[],{"items":132650},[132651],{"sys":132652,"name":73498},{"id":73497},{"items":132654},[132655],{"fullName":79005,"firstName":79006,"jobTitle":79007,"profilePicture":132656},{"url":79009},"blog/product-release-january-2024",{"json":132659},{"data":132660,"content":132661,"nodeType":856},{},[132662],{"data":132663,"content":132664,"nodeType":860},{},[132665],{"data":132666,"marks":132667,"value":132668,"nodeType":864},{},[],"Push REST API and webhooks available in beta, view activity for all apps in your environment, easier cleanup of old or shared accounts, and SAML login detection",{"id":120249,"publishedAt":132670},"2026-08-13T09:34:51.193Z",{"items":132672},[132673],{"sys":132674,"name":73498},{"id":73497},{"items":132676},[132677,132679,132681,132683,132685],{"sys":132678,"name":297,"slug":298,"tier":31},{"id":294},{"sys":132680,"name":413,"slug":414,"tier":31},{"id":410},{"sys":132682,"name":545,"slug":546,"tier":31},{"id":542},{"sys":132684,"name":589,"slug":590,"tier":45},{"id":586},{"sys":132686,"name":598,"slug":599,"tier":45},{"id":595},"pFDk1_5-BAMHQSt_yj8LheenPaUjalZiOQGFi-Pv09A",{"id":132689,"title":132690,"authorsCollection":132691,"content":132695,"extension":228,"faqItemsCollection":133290,"faqTitle":59,"featured":6,"hashTags":59,"meta":133292,"metaTitle":133293,"ogImage":59,"postType":38987,"publishedDate":133294,"relatedBlogPostsCollection":133295,"slug":133297,"stem":133298,"subtitle":59,"summary":133299,"synopsis":133309,"sys":133310,"tagsCollection":133313,"topicsCollection":133317,"__hash__":133333},"blog/blog/what-is-saml-sso.json","What is SAML SSO?",{"items":132692},[132693],{"fullName":73848,"firstName":73849,"jobTitle":73850,"socialLinks":59,"profilePicture":132694},{"url":73852},{"json":132696,"links":133233},{"data":132697,"content":132698,"nodeType":856},{},[132699,132705,132712,132755,132762,132769,132776,132783,132790,132797,132860,132866,132873,132880,132885,132892,132899,132906,132913,132920,132927,132934,132940,132947,132954,132960,132967,132974,132980,132987,132994,133000,133007,133014,133021,133027,133034,133041,133047,133054,133061,133081,133111,133131,133151,133157,133164,133171,133178,133195,133201,133208,133215,133222,133227],{"data":132700,"content":132701,"nodeType":1009},{},[132702],{"data":132703,"marks":132704,"value":126377,"nodeType":864},{},[],{"data":132706,"content":132707,"nodeType":860},{},[132708],{"data":132709,"marks":132710,"value":132711,"nodeType":864},{},[],"This article delves into the Security Assertion Markup Language, more commonly known as SAML – one of the most widely used single sign-on (SSO) methods. We’ll be covering:",{"data":132713,"content":132714,"nodeType":941},{},[132715,132725,132735,132745],{"data":132716,"content":132717,"nodeType":945},{},[132718],{"data":132719,"content":132720,"nodeType":860},{},[132721],{"data":132722,"marks":132723,"value":132724,"nodeType":864},{},[],"What is SAML",{"data":132726,"content":132727,"nodeType":945},{},[132728],{"data":132729,"content":132730,"nodeType":860},{},[132731],{"data":132732,"marks":132733,"value":132734,"nodeType":864},{},[],"How it’s used",{"data":132736,"content":132737,"nodeType":945},{},[132738],{"data":132739,"content":132740,"nodeType":860},{},[132741],{"data":132742,"marks":132743,"value":132744,"nodeType":864},{},[],"Technical details of its implementation, and ",{"data":132746,"content":132747,"nodeType":945},{},[132748],{"data":132749,"content":132750,"nodeType":860},{},[132751],{"data":132752,"marks":132753,"value":132754,"nodeType":864},{},[],"Security-related issues.",{"data":132756,"content":132757,"nodeType":1009},{},[132758],{"data":132759,"marks":132760,"value":132761,"nodeType":864},{},[],"What is SAML?",{"data":132763,"content":132764,"nodeType":860},{},[132765],{"data":132766,"marks":132767,"value":132768,"nodeType":864},{},[],"Security assertion markup language (SAML) is an open standard for exchanging authentication and authorization data between an identity provider (eg. Microsoft 365, Google Workspace, Okta) and an application (the service provider or SP).",{"data":132770,"content":132771,"nodeType":860},{},[132772],{"data":132773,"marks":132774,"value":132775,"nodeType":864},{},[],"SAML is one of the most common and widely used protocols that enable single sign-on (SSO) for enterprise-level services and can be used in both authentication or authorization contexts by providing assertions to claims. In other words, SAML authentication can be used to affirm that a user has been authenticated by an identity provider. Assertions can also include (but are not limited to) group or role membership properties that determine what a user can access in an application.",{"data":132777,"content":132778,"nodeType":860},{},[132779],{"data":132780,"marks":132781,"value":132782,"nodeType":864},{},[],"As expected from SSO implementations, SAML provides the ability for administrators to manage a user’s access to an application from a central point. This makes onboarding and offboarding tasks simpler, and reduces the overall number of identities that need to be managed for users.",{"data":132784,"content":132785,"nodeType":1009},{},[132786],{"data":132787,"marks":132788,"value":132789,"nodeType":864},{},[],"What happens during a SAML authentication flow?",{"data":132791,"content":132792,"nodeType":860},{},[132793],{"data":132794,"marks":132795,"value":132796,"nodeType":864},{},[],"Without getting into the deep technical details of SAML, below is a simplified version of what happens when a user initiates the logon process against an app that is configured for SAML authentication.",{"data":132798,"content":132799,"nodeType":118765},{},[132800,132810,132820,132830,132840,132850],{"data":132801,"content":132802,"nodeType":945},{},[132803],{"data":132804,"content":132805,"nodeType":860},{},[132806],{"data":132807,"marks":132808,"value":132809,"nodeType":864},{},[],"A user attempts to access a resource or app.",{"data":132811,"content":132812,"nodeType":945},{},[132813],{"data":132814,"content":132815,"nodeType":860},{},[132816],{"data":132817,"marks":132818,"value":132819,"nodeType":864},{},[],"They are redirected to the IdP with a SAML request.",{"data":132821,"content":132822,"nodeType":945},{},[132823],{"data":132824,"content":132825,"nodeType":860},{},[132826],{"data":132827,"marks":132828,"value":132829,"nodeType":864},{},[],"The SAML identity provider (IdP) authenticates the user.",{"data":132831,"content":132832,"nodeType":945},{},[132833],{"data":132834,"content":132835,"nodeType":860},{},[132836],{"data":132837,"marks":132838,"value":132839,"nodeType":864},{},[],"If authentication is successful, the IdP creates a SAML assertion that contains the requested attributes, such as the email address, group membership information, first name, and last name.",{"data":132841,"content":132842,"nodeType":945},{},[132843],{"data":132844,"content":132845,"nodeType":860},{},[132846],{"data":132847,"marks":132848,"value":132849,"nodeType":864},{},[],"The SAML assertion is returned to the SP, and is signed by the IdP with a certificate configured during the initial configuration.",{"data":132851,"content":132852,"nodeType":945},{},[132853],{"data":132854,"content":132855,"nodeType":860},{},[132856],{"data":132857,"marks":132858,"value":132859,"nodeType":864},{},[],"The SP verifies the response, and if it validates the signature, access is granted to the user based on the assertions.",{"data":132861,"content":132865,"nodeType":996},{"target":132862},{"sys":132863},{"id":132864,"type":1001,"linkType":1002},"5ykmN6GAPfzSjjJrNikLGo",[],{"data":132867,"content":132868,"nodeType":860},{},[132869],{"data":132870,"marks":132871,"value":132872,"nodeType":864},{},[],"An interesting side note: at no point does the IdP directly communicate with the SP; the user’s browser facilitates all actions by contacting the respective services and providing the requests, as well as the SAML response that ultimately grants the user access to the requested resources. ",{"data":132874,"content":132875,"nodeType":860},{},[132876],{"data":132877,"marks":132878,"value":132879,"nodeType":864},{},[],"An example where this could be useful, or potentially abused by internal employees or attackers, would be enabling a third party internet-based IdP to allow access to resources within your internal network.",{"data":132881,"content":132884,"nodeType":996},{"target":132882},{"sys":132883},{"id":92011,"type":1001,"linkType":1002},[],{"data":132886,"content":132887,"nodeType":1009},{},[132888],{"data":132889,"marks":132890,"value":132891,"nodeType":864},{},[],"SAML responses and assertions",{"data":132893,"content":132894,"nodeType":860},{},[132895],{"data":132896,"marks":132897,"value":132898,"nodeType":864},{},[],"The SAML response is what an app requires to verify before granting the user access, and is generated by the IdP when a user requests to access resources. During the initial SAML configuration setup performed on the IdP, the administrator would specify which attributes are to be included in the assertion portion of the response that is returned to the app.",{"data":132900,"content":132901,"nodeType":860},{},[132902],{"data":132903,"marks":132904,"value":132905,"nodeType":864},{},[],"One required attribute included in each SAML response is “Subject”, typically set to the email address of the user, and specifies which account the assertion is for. However, this can be set to reflect other values like User Principal Names (UPNs) or other unique strings, depending on the requirements.",{"data":132907,"content":132908,"nodeType":860},{},[132909],{"data":132910,"marks":132911,"value":132912,"nodeType":864},{},[],"Depending on the app, the list of attributes may vary significantly and is usually the first time where administrators may run into configuration issues, either by not including all required attributes or by incorrectly mapping attributes to names.",{"data":132914,"content":132915,"nodeType":860},{},[132916],{"data":132917,"marks":132918,"value":132919,"nodeType":864},{},[],"A typical SAML response is Base64 encoded and included as a POST request to the SP. Below is an edited version for a user attempting to log into Okta via SAML, with Google Workspace as the IdP. As SAML responses contain plenty of information, I’ve broken it down into sections to cover it in an easier manner:",{"data":132921,"content":132922,"nodeType":1312},{},[132923],{"data":132924,"marks":132925,"value":132926,"nodeType":864},{},[],"Destination, issuer, and status",{"data":132928,"content":132929,"nodeType":860},{},[132930],{"data":132931,"marks":132932,"value":132933,"nodeType":864},{},[],"Right at the top of the SAML response we have the “Destination” and “Issuer” statements. “Destination” is typically the app or SP where the SAML response is meant to go, and the “Issuer” is the service that created the response. In this case, we can see that the destination is for our Okta tenant, and it originated from our Google Workspace tenant. The status of the response is also included to signify whether the request to the IdP was successful.",{"data":132935,"content":132939,"nodeType":996},{"target":132936},{"sys":132937},{"id":132938,"type":1001,"linkType":1002},"7JATVQgHqm8cy9D9UviD2D",[],{"data":132941,"content":132942,"nodeType":1312},{},[132943],{"data":132944,"marks":132945,"value":132946,"nodeType":864},{},[],"Assertion issuer and signature information",{"data":132948,"content":132949,"nodeType":860},{},[132950],{"data":132951,"marks":132952,"value":132953,"nodeType":864},{},[],"The assertion starts with another Issuer statement, which in this case is our Google Workspace IdP. This is followed by the signature generated to verify that the contents of the assertion have not been tampered with. You can also note the “X509SubjectName” statement which includes information about the certificate used by the Issuer.",{"data":132955,"content":132959,"nodeType":996},{"target":132956},{"sys":132957},{"id":132958,"type":1001,"linkType":1002},"6lA84TLDwacNtosQxTiIag",[],{"data":132961,"content":132962,"nodeType":1009},{},[132963],{"data":132964,"marks":132965,"value":132966,"nodeType":864},{},[],"Subject",{"data":132968,"content":132969,"nodeType":860},{},[132970],{"data":132971,"marks":132972,"value":132973,"nodeType":864},{},[],"As mentioned previously, the “Subject” attribute is required and always included in the assertion. The NameID format is specified, and in this case is the “emailAddress” format. The “Recipient” value is usually synonymous with the “Destination” attribute.",{"data":132975,"content":132979,"nodeType":996},{"target":132976},{"sys":132977},{"id":132978,"type":1001,"linkType":1002},"5zy12HCQAlkfIaAzUehaHm",[],{"data":132981,"content":132982,"nodeType":1009},{},[132983],{"data":132984,"marks":132985,"value":132986,"nodeType":864},{},[],"Attribute statement",{"data":132988,"content":132989,"nodeType":860},{},[132990],{"data":132991,"marks":132992,"value":132993,"nodeType":864},{},[],"Lastly, the “AttributeStatement” is provided which contains any other attributes returned as part of the assertion. The contents of this statement will vary based on the app’s requirements and what the administrator has chosen to include when users initiate the authentication process.",{"data":132995,"content":132999,"nodeType":996},{"target":132996},{"sys":132997},{"id":132998,"type":1001,"linkType":1002},"7M8IEkoJqiHw4PM1Ip7d5C",[],{"data":133001,"content":133002,"nodeType":860},{},[133003],{"data":133004,"marks":133005,"value":133006,"nodeType":864},{},[],"One final note is that the above attribute names are not necessarily congruent between the IdP and app. Usually as part of the setup process the administrator will be given the opportunity to map attributes to names if necessary. ",{"data":133008,"content":133009,"nodeType":860},{},[133010],{"data":133011,"marks":133012,"value":133013,"nodeType":864},{},[],"As an example, the IdP could refer to the email attribute simply as “email”, but the app or SP is expecting it to be named “User.Email”. If this is misconfigured, the SAML login process will fail, and likely without a sufficiently descriptive message indicating what the issue is. In such cases, it is best to review logs of the app.",{"data":133015,"content":133016,"nodeType":1009},{},[133017],{"data":133018,"marks":133019,"value":133020,"nodeType":864},{},[],"SAML sounds great! What’s the problem?",{"data":133022,"content":133026,"nodeType":996},{"target":133023},{"sys":133024},{"id":133025,"type":1001,"linkType":1002},"76aK3qObZZMQAgPl0bdbbr",[],{"data":133028,"content":133029,"nodeType":1312},{},[133030],{"data":133031,"marks":133032,"value":133033,"nodeType":864},{},[],"SSO Tax",{"data":133035,"content":133036,"nodeType":860},{},[133037],{"data":133038,"marks":133039,"value":133040,"nodeType":864},{},[],"From our own experience, only about 30% of apps support SAML. Even then, it is typically held behind enterprise plans and pricing which makes it prohibitive in many situations. It’s not generally possible to rely on it for gaining control of identities in use within your organization. Depending on the app, it may be possible to use OIDC (which is a type of SSO.)",{"data":133042,"content":133046,"nodeType":996},{"target":133043},{"sys":133044},{"id":133045,"type":1001,"linkType":1002},"40e0kTn8Ehze8zj9mgV2kf",[],{"data":133048,"content":133049,"nodeType":1312},{},[133050],{"data":133051,"marks":133052,"value":133053,"nodeType":864},{},[],"Security",{"data":133055,"content":133056,"nodeType":860},{},[133057],{"data":133058,"marks":133059,"value":133060,"nodeType":864},{},[],"SAML is usually seen as the go-to for improving identity security in organizations. However, if an attacker were to compromise your IdP it can result in widespread account compromise, and due to the nature of SSO, the attacker will have access to any account the user is able to access without further effort. This should not be taken as a criticism of SAML as this is the nature of SSO, but merely something to be aware of when responding to incidents.",{"data":133062,"content":133063,"nodeType":860},{},[133064,133068,133077],{"data":133065,"marks":133066,"value":133067,"nodeType":864},{},[],"At Push we’ve spent a lot of time looking at technology related to SaaS and found a few issues that could expose your organization to vulnerabilities when using SAML. One such vulnerability is ",{"data":133069,"content":133071,"nodeType":883},{"uri":133070},"https://github.com/pushsecurity/saas-attacks/blob/main/techniques/saml_enumeration/description.md",[133072],{"data":133073,"marks":133074,"value":133076,"nodeType":864},{},[133075],{"type":1455},"SAML enumeration",{"data":133078,"marks":133079,"value":133080,"nodeType":864},{},[]," which allows an attacker to determine whether a target organization is in fact using SAML for authentication, and which IdP they are using.",{"data":133082,"content":133083,"nodeType":860},{},[133084,133088,133095,133099,133107],{"data":133085,"marks":133086,"value":133087,"nodeType":864},{},[],"Another attack you should be aware of is ",{"data":133089,"content":133090,"nodeType":883},{"uri":88494},[133091],{"data":133092,"marks":133093,"value":5272,"nodeType":864},{},[133094],{"type":1455},{"data":133096,"marks":133097,"value":133098,"nodeType":864},{},[],". SAMLJacking occurs when an attacker configures a legitimate app such as ",{"data":133100,"content":133102,"nodeType":883},{"uri":133101},"https://github.com/pushsecurity/saas-attacks/blob/main/techniques/samljacking/examples/nuclino.md",[133103],{"data":133104,"marks":133105,"value":127688,"nodeType":864},{},[133106],{"type":1455},{"data":133108,"marks":133109,"value":133110,"nodeType":864},{},[]," and sets the ACS URL to point to a fake login page. Designing the fake login page to look like your enterprise IdP will deceive users into entering their credentials into this phishing page and can lead to credential theft.",{"data":133112,"content":133113,"nodeType":860},{},[133114,133117,133127],{"data":133115,"marks":133116,"value":1499,"nodeType":864},{},[],{"data":133118,"content":133121,"nodeType":27604},{"target":133119},{"sys":133120},{"id":110390,"type":1001,"linkType":1002},[133122],{"data":133123,"marks":133124,"value":133126,"nodeType":864},{},[133125],{"type":1455},"this",{"data":133128,"marks":133129,"value":133130,"nodeType":864},{},[]," blog post, Push’s VP of R&D goes over combining the SAMLjacking technique with other techniques, such as poisoned tenants.",{"data":133132,"content":133133,"nodeType":860},{},[133134,133138,133147],{"data":133135,"marks":133136,"value":133137,"nodeType":864},{},[],"These attacks don’t directly manipulate the SAML protocol as with ",{"data":133139,"content":133141,"nodeType":883},{"uri":133140},"https://research.nccgroup.com/2021/03/29/saml-xml-injection/",[133142],{"data":133143,"marks":133144,"value":133146,"nodeType":864},{},[133145],{"type":1455},"XML injection attacks",{"data":133148,"marks":133149,"value":133150,"nodeType":864},{},[]," and are more to do with using legitimate services to perform unintended functions.",{"data":133152,"content":133156,"nodeType":996},{"target":133153},{"sys":133154},{"id":133155,"type":1001,"linkType":1002},"3uGnk5hgRpxRz7PeYkFgB2",[],{"data":133158,"content":133159,"nodeType":1312},{},[133160],{"data":133161,"marks":133162,"value":133163,"nodeType":864},{},[],"Single Sign-On?",{"data":133165,"content":133166,"nodeType":860},{},[133167],{"data":133168,"marks":133169,"value":133170,"nodeType":864},{},[],"Luckily when you configure SAML for an app it solves the issue of users sharing credentials between services, right? Nope! During our research we’ve come across many apps that allow users to continue using other methods of authentication even after SAML has been configured.",{"data":133172,"content":133173,"nodeType":860},{},[133174],{"data":133175,"marks":133176,"value":133177,"nodeType":864},{},[],"When enabling SAML you may be given the ability to disable other methods of authentication such as login via email (username & password), and OIDC/social login methods. However, this varies between providers and there is no guarantee that you will be able to disable other login methods, or whether you’ll even be aware that this is an issue.",{"data":133179,"content":133180,"nodeType":860},{},[133181,133185,133192],{"data":133182,"marks":133183,"value":133184,"nodeType":864},{},[],"For more information on this subject, see ",{"data":133186,"content":133187,"nodeType":883},{"uri":26784},[133188],{"data":133189,"marks":133190,"value":17706,"nodeType":864},{},[133191],{"type":1455},{"data":133193,"marks":133194,"value":2924,"nodeType":864},{},[],{"data":133196,"content":133197,"nodeType":1009},{},[133198],{"data":133199,"marks":133200,"value":32492,"nodeType":864},{},[],{"data":133202,"content":133203,"nodeType":860},{},[133204],{"data":133205,"marks":133206,"value":133207,"nodeType":864},{},[],"Hopefully you will have a better understanding of SAML, how it works, where it can go wrong, and what to be aware of when investigating related incidents.",{"data":133209,"content":133210,"nodeType":860},{},[133211],{"data":133212,"marks":133213,"value":133214,"nodeType":864},{},[],"While SAML has been around since the 1990s and can be considered a legacy service at this point, it’s very much still part of enterprise authentication and authorization solutions. Other technologies such as OAuth2 & OIDC have provided alternative ways for providing SSO while addressing some of the issues, such as the ability to specify permission scopes when integrating with an app.",{"data":133216,"content":133217,"nodeType":860},{},[133218],{"data":133219,"marks":133220,"value":133221,"nodeType":864},{},[],"Understanding SAML’s limitations is the first step toward tackling the wider issue of identity management. Push provides the means to gain visibility into the types of apps used in your organization, their login methods, and MFA status. Push will also let you see when users are using other login methods for apps which you may not be expecting.",{"data":133223,"content":133226,"nodeType":996},{"target":133224},{"sys":133225},{"id":102281,"type":1001,"linkType":1002},[],{"data":133228,"content":133229,"nodeType":860},{},[133230],{"data":133231,"marks":133232,"value":21,"nodeType":864},{},[],{"entries":133234},{"inline":133235,"hyperlink":133236,"block":133239},[],[133237],{"sys":133238,"__typename":2059,"title":5236,"slug":127996},{"id":110390},[133240,133245,133247,133254,133259,133266,133272,133278,133283,133288],{"sys":133241,"__typename":1724,"title":133242,"caption":59,"layoutMode":59,"file":133243},{"id":132864},"SAML auth flow",{"url":133244,"width":121036,"height":41540},"https://images.ctfassets.net/y1cdw1ablpvd/2ScsBeFt0HljRbBbZrZSCo/9ac2b767053e754ae2a58f7370249765/Diagram_SAMLLogonFlow.png",{"sys":133246,"__typename":1717,"type":80540,"ctaText":125792,"buttonLabel":125793,"buttonColour":1721,"buttonUrl":59},{"id":92011},{"sys":133248,"__typename":1724,"title":133249,"caption":59,"layoutMode":59,"file":133250},{"id":132938},"SAML code 1",{"url":133251,"width":133252,"height":133253},"https://images.ctfassets.net/y1cdw1ablpvd/1R8RcGujqrGK1rhJAsVEcN/cffdf85ded2c15ccbaced528b7d8659a/Screenshot_2023-12-13_at_9.45.59_AM.png",1374,444,{"sys":133255,"__typename":1724,"title":133256,"caption":59,"layoutMode":59,"file":133257},{"id":132958},"SAML code 2",{"url":133258,"width":50164,"height":1730},"https://images.ctfassets.net/y1cdw1ablpvd/2kZ4FgSXvwSCoCNVgrnn5P/c0e74f1d98c670fa7e05b8208808d4bd/Screenshot_2023-12-13_at_9.47.22_AM.png",{"sys":133260,"__typename":1724,"title":133261,"caption":59,"layoutMode":59,"file":133262},{"id":132978},"SAML code 3",{"url":133263,"width":133264,"height":133265},"https://images.ctfassets.net/y1cdw1ablpvd/1UHkBzsKS4ri2fRuEUS6iu/ae885684893014456b39e923cb62e863/Screenshot_2023-12-13_at_9.48.32_AM.png",1356,426,{"sys":133267,"__typename":1724,"title":133268,"caption":59,"layoutMode":59,"file":133269},{"id":132998},"SAML code 4",{"url":133270,"width":55416,"height":133271},"https://images.ctfassets.net/y1cdw1ablpvd/4biHzG6DORaDOI1ZZq93fv/3034d9bfe6768cfd2a2c47781fbadc67/Screenshot_2023-12-13_at_9.49.28_AM.png",1132,{"sys":133273,"__typename":1724,"title":133033,"caption":59,"layoutMode":59,"file":133274},{"id":133025},{"url":133275,"width":133276,"height":133277},"https://images.ctfassets.net/y1cdw1ablpvd/2FhSkqnvEG3rVdi9hny9Qe/8b1fa1ca0877576e6dd2b59794a65e98/1_SSO_tax.png",420,360,{"sys":133279,"__typename":1724,"title":133280,"caption":59,"layoutMode":59,"file":133281},{"id":133045},"Compliance Risk",{"url":133282,"width":133276,"height":133277},"https://images.ctfassets.net/y1cdw1ablpvd/5JbFnw9edUMRtp5wokPF9T/627babc4484981e13da0e86654f50a41/2_Compliance_risk.png",{"sys":133284,"__typename":1724,"title":133285,"caption":59,"layoutMode":59,"file":133286},{"id":133155},"SSO Default",{"url":133287,"width":133276,"height":133277},"https://images.ctfassets.net/y1cdw1ablpvd/5X5NNzMxNtCP1puepPyubz/26d7c278da3d337b1681a21b3e15c691/3_SSO_default.png",{"sys":133289,"__typename":1717,"type":47670,"ctaText":132414,"buttonLabel":132415,"buttonColour":66936,"buttonUrl":59},{"id":102281},{"items":133291},[],{},"SAML SSO Defined","2024-01-03T00:00:00.000Z",{"items":133296},[],"what-is-saml-sso","blog/what-is-saml-sso",{"json":133300},{"data":133301,"content":133302,"nodeType":856},{},[133303],{"data":133304,"content":133305,"nodeType":860},{},[133306],{"data":133307,"marks":133308,"value":133309,"nodeType":864},{},[],"In this article, we'll explain what SAML SSO is, how it works, and clarify some common misconceptions.",{"id":133311,"publishedAt":133312},"6SGAsZoMH2WlEvYZJV3RgQ","2026-08-12T11:55:42.548Z",{"items":133314},[133315],{"sys":133316,"name":297},{"id":2732},{"items":133318},[133319,133321,133323,133325,133327,133329,133331],{"sys":133320,"name":413,"slug":414,"tier":31},{"id":410},{"sys":133322,"name":297,"slug":298,"tier":31},{"id":294},{"sys":133324,"name":545,"slug":546,"tier":31},{"id":542},{"sys":133326,"name":457,"slug":458,"tier":45},{"id":454},{"sys":133328,"name":395,"slug":396,"tier":45},{"id":392},{"sys":133330,"name":404,"slug":405,"tier":45},{"id":401},{"sys":133332,"name":324,"slug":325,"tier":45},{"id":321},"e0L3jhSAR0wwNg8AFK8sqbD_tMI9TkyDNwCGHzECnJY",{"id":133335,"title":110655,"authorsCollection":133336,"content":133341,"extension":228,"faqItemsCollection":133914,"faqTitle":59,"featured":6,"hashTags":59,"meta":133916,"metaTitle":133917,"ogImage":59,"postType":5740,"publishedDate":110657,"relatedBlogPostsCollection":133918,"slug":110658,"stem":136265,"subtitle":133917,"summary":136266,"synopsis":110656,"sys":136277,"tagsCollection":136279,"topicsCollection":136285,"__hash__":136307},"blog/blog/oktajacking.json",{"items":133337},[133338],{"fullName":4949,"firstName":4950,"jobTitle":4951,"socialLinks":133339,"profilePicture":133340},[4953],{"url":4955},{"json":133342,"links":133876},{"data":133343,"content":133344,"nodeType":856},{},[133345,133361,133367,133373,133389,133395,133410,133416,133422,133448,133454,133460,133466,133472,133501,133506,133512,133528,133534,133540,133546,133576,133582,133588,133594,133610,133615,133620,133625,133631,133649,133655,133661,133667,133673,133730,133736,133775,133781,133786,133792,133805,133810,133816,133822,133852,133858,133864,133870],{"data":133346,"content":133347,"nodeType":860},{},[133348,133351,133358],{"data":133349,"marks":133350,"value":110056,"nodeType":864},{},[],{"data":133352,"content":133353,"nodeType":883},{"uri":5231},[133354],{"data":133355,"marks":133356,"value":110064,"nodeType":864},{},[133357],{"type":1455},{"data":133359,"marks":133360,"value":110068,"nodeType":864},{},[],{"data":133362,"content":133363,"nodeType":860},{},[133364],{"data":133365,"marks":133366,"value":110075,"nodeType":864},{},[],{"data":133368,"content":133369,"nodeType":1009},{},[133370],{"data":133371,"marks":133372,"value":110082,"nodeType":864},{},[],{"data":133374,"content":133375,"nodeType":860},{},[133376,133379,133386],{"data":133377,"marks":133378,"value":21,"nodeType":864},{},[],{"data":133380,"content":133381,"nodeType":883},{"uri":88494},[133382],{"data":133383,"marks":133384,"value":5272,"nodeType":864},{},[133385],{"type":1455},{"data":133387,"marks":133388,"value":110099,"nodeType":864},{},[],{"data":133390,"content":133391,"nodeType":1009},{},[133392],{"data":133393,"marks":133394,"value":110106,"nodeType":864},{},[],{"data":133396,"content":133397,"nodeType":860},{},[133398,133401,133407],{"data":133399,"marks":133400,"value":21,"nodeType":864},{},[],{"data":133402,"content":133403,"nodeType":883},{"uri":101692},[133404],{"data":133405,"marks":133406,"value":110119,"nodeType":864},{},[],{"data":133408,"marks":133409,"value":110123,"nodeType":864},{},[],{"data":133411,"content":133412,"nodeType":1009},{},[133413],{"data":133414,"marks":133415,"value":110130,"nodeType":864},{},[],{"data":133417,"content":133418,"nodeType":860},{},[133419],{"data":133420,"marks":133421,"value":110137,"nodeType":864},{},[],{"data":133423,"content":133424,"nodeType":860},{},[133425,133428,133435,133438,133445],{"data":133426,"marks":133427,"value":110144,"nodeType":864},{},[],{"data":133429,"content":133430,"nodeType":883},{"uri":110147},[133431],{"data":133432,"marks":133433,"value":110153,"nodeType":864},{},[133434],{"type":1455},{"data":133436,"marks":133437,"value":110157,"nodeType":864},{},[],{"data":133439,"content":133440,"nodeType":883},{"uri":110160},[133441],{"data":133442,"marks":133443,"value":110166,"nodeType":864},{},[133444],{"type":1455},{"data":133446,"marks":133447,"value":110170,"nodeType":864},{},[],{"data":133449,"content":133450,"nodeType":860},{},[133451],{"data":133452,"marks":133453,"value":110177,"nodeType":864},{},[],{"data":133455,"content":133456,"nodeType":860},{},[133457],{"data":133458,"marks":133459,"value":110184,"nodeType":864},{},[],{"data":133461,"content":133462,"nodeType":860},{},[133463],{"data":133464,"marks":133465,"value":110191,"nodeType":864},{},[],{"data":133467,"content":133468,"nodeType":860},{},[133469],{"data":133470,"marks":133471,"value":110198,"nodeType":864},{},[],{"data":133473,"content":133474,"nodeType":941},{},[133475,133488],{"data":133476,"content":133477,"nodeType":945},{},[133478],{"data":133479,"content":133480,"nodeType":860},{},[133481,133485],{"data":133482,"marks":133483,"value":110212,"nodeType":864},{},[133484],{"type":899},{"data":133486,"marks":133487,"value":110216,"nodeType":864},{},[],{"data":133489,"content":133490,"nodeType":945},{},[133491],{"data":133492,"content":133493,"nodeType":860},{},[133494,133498],{"data":133495,"marks":133496,"value":110227,"nodeType":864},{},[133497],{"type":899},{"data":133499,"marks":133500,"value":110231,"nodeType":864},{},[],{"data":133502,"content":133505,"nodeType":996},{"target":133503},{"sys":133504},{"id":92011,"type":1001,"linkType":1002},[],{"data":133507,"content":133508,"nodeType":1009},{},[133509],{"data":133510,"marks":133511,"value":110212,"nodeType":864},{},[],{"data":133513,"content":133514,"nodeType":860},{},[133515,133518,133525],{"data":133516,"marks":133517,"value":110249,"nodeType":864},{},[],{"data":133519,"content":133520,"nodeType":883},{"uri":110252},[133521],{"data":133522,"marks":133523,"value":110258,"nodeType":864},{},[133524],{"type":1455},{"data":133526,"marks":133527,"value":21,"nodeType":864},{},[],{"data":133529,"content":133530,"nodeType":860},{},[133531],{"data":133532,"marks":133533,"value":110268,"nodeType":864},{},[],{"data":133535,"content":133536,"nodeType":860},{},[133537],{"data":133538,"marks":133539,"value":110275,"nodeType":864},{},[],{"data":133541,"content":133542,"nodeType":860},{},[133543],{"data":133544,"marks":133545,"value":110282,"nodeType":864},{},[],{"data":133547,"content":133548,"nodeType":941},{},[133549,133558,133567],{"data":133550,"content":133551,"nodeType":945},{},[133552],{"data":133553,"content":133554,"nodeType":860},{},[133555],{"data":133556,"marks":133557,"value":110295,"nodeType":864},{},[],{"data":133559,"content":133560,"nodeType":945},{},[133561],{"data":133562,"content":133563,"nodeType":860},{},[133564],{"data":133565,"marks":133566,"value":110305,"nodeType":864},{},[],{"data":133568,"content":133569,"nodeType":945},{},[133570],{"data":133571,"content":133572,"nodeType":860},{},[133573],{"data":133574,"marks":133575,"value":110315,"nodeType":864},{},[],{"data":133577,"content":133578,"nodeType":860},{},[133579],{"data":133580,"marks":133581,"value":110322,"nodeType":864},{},[],{"data":133583,"content":133584,"nodeType":860},{},[133585],{"data":133586,"marks":133587,"value":110329,"nodeType":864},{},[],{"data":133589,"content":133590,"nodeType":860},{},[133591],{"data":133592,"marks":133593,"value":110336,"nodeType":864},{},[],{"data":133595,"content":133596,"nodeType":860},{},[133597,133600,133607],{"data":133598,"marks":133599,"value":21,"nodeType":864},{},[],{"data":133601,"content":133602,"nodeType":883},{"uri":110345},[133603],{"data":133604,"marks":133605,"value":110345,"nodeType":864},{},[133606],{"type":1455},{"data":133608,"marks":133609,"value":21,"nodeType":864},{},[],{"data":133611,"content":133614,"nodeType":996},{"target":133612},{"sys":133613},{"id":110358,"type":1001,"linkType":1002},[],{"data":133616,"content":133619,"nodeType":996},{"target":133617},{"sys":133618},{"id":110364,"type":1001,"linkType":1002},[],{"data":133621,"content":133624,"nodeType":996},{"target":133622},{"sys":133623},{"id":110370,"type":1001,"linkType":1002},[],{"data":133626,"content":133627,"nodeType":1009},{},[133628],{"data":133629,"marks":133630,"value":110378,"nodeType":864},{},[],{"data":133632,"content":133633,"nodeType":860},{},[133634,133637,133646],{"data":133635,"marks":133636,"value":110385,"nodeType":864},{},[],{"data":133638,"content":133641,"nodeType":27604},{"target":133639},{"sys":133640},{"id":110390,"type":1001,"linkType":1002},[133642],{"data":133643,"marks":133644,"value":5272,"nodeType":864},{},[133645],{"type":1455},{"data":133647,"marks":133648,"value":110399,"nodeType":864},{},[],{"data":133650,"content":133651,"nodeType":860},{},[133652],{"data":133653,"marks":133654,"value":110406,"nodeType":864},{},[],{"data":133656,"content":133657,"nodeType":860},{},[133658],{"data":133659,"marks":133660,"value":110413,"nodeType":864},{},[],{"data":133662,"content":133663,"nodeType":860},{},[133664],{"data":133665,"marks":133666,"value":110420,"nodeType":864},{},[],{"data":133668,"content":133669,"nodeType":860},{},[133670],{"data":133671,"marks":133672,"value":110427,"nodeType":864},{},[],{"data":133674,"content":133675,"nodeType":941},{},[133676,133685,133694,133703,133712,133721],{"data":133677,"content":133678,"nodeType":945},{},[133679],{"data":133680,"content":133681,"nodeType":860},{},[133682],{"data":133683,"marks":133684,"value":110440,"nodeType":864},{},[],{"data":133686,"content":133687,"nodeType":945},{},[133688],{"data":133689,"content":133690,"nodeType":860},{},[133691],{"data":133692,"marks":133693,"value":110450,"nodeType":864},{},[],{"data":133695,"content":133696,"nodeType":945},{},[133697],{"data":133698,"content":133699,"nodeType":860},{},[133700],{"data":133701,"marks":133702,"value":110460,"nodeType":864},{},[],{"data":133704,"content":133705,"nodeType":945},{},[133706],{"data":133707,"content":133708,"nodeType":860},{},[133709],{"data":133710,"marks":133711,"value":110470,"nodeType":864},{},[],{"data":133713,"content":133714,"nodeType":945},{},[133715],{"data":133716,"content":133717,"nodeType":860},{},[133718],{"data":133719,"marks":133720,"value":110480,"nodeType":864},{},[],{"data":133722,"content":133723,"nodeType":945},{},[133724],{"data":133725,"content":133726,"nodeType":860},{},[133727],{"data":133728,"marks":133729,"value":110490,"nodeType":864},{},[],{"data":133731,"content":133732,"nodeType":860},{},[133733],{"data":133734,"marks":133735,"value":110497,"nodeType":864},{},[],{"data":133737,"content":133738,"nodeType":941},{},[133739,133748,133757,133766],{"data":133740,"content":133741,"nodeType":945},{},[133742],{"data":133743,"content":133744,"nodeType":860},{},[133745],{"data":133746,"marks":133747,"value":110510,"nodeType":864},{},[],{"data":133749,"content":133750,"nodeType":945},{},[133751],{"data":133752,"content":133753,"nodeType":860},{},[133754],{"data":133755,"marks":133756,"value":110520,"nodeType":864},{},[],{"data":133758,"content":133759,"nodeType":945},{},[133760],{"data":133761,"content":133762,"nodeType":860},{},[133763],{"data":133764,"marks":133765,"value":110530,"nodeType":864},{},[],{"data":133767,"content":133768,"nodeType":945},{},[133769],{"data":133770,"content":133771,"nodeType":860},{},[133772],{"data":133773,"marks":133774,"value":110540,"nodeType":864},{},[],{"data":133776,"content":133777,"nodeType":860},{},[133778],{"data":133779,"marks":133780,"value":110547,"nodeType":864},{},[],{"data":133782,"content":133785,"nodeType":996},{"target":133783},{"sys":133784},{"id":110552,"type":1001,"linkType":1002},[],{"data":133787,"content":133788,"nodeType":860},{},[133789],{"data":133790,"marks":133791,"value":110560,"nodeType":864},{},[],{"data":133793,"content":133794,"nodeType":860},{},[133795,133798,133802],{"data":133796,"marks":133797,"value":110567,"nodeType":864},{},[],{"data":133799,"marks":133800,"value":31415,"nodeType":864},{},[133801],{"type":2246},{"data":133803,"marks":133804,"value":110575,"nodeType":864},{},[],{"data":133806,"content":133809,"nodeType":996},{"target":133807},{"sys":133808},{"id":102281,"type":1001,"linkType":1002},[],{"data":133811,"content":133812,"nodeType":1009},{},[133813],{"data":133814,"marks":133815,"value":110587,"nodeType":864},{},[],{"data":133817,"content":133818,"nodeType":860},{},[133819],{"data":133820,"marks":133821,"value":110594,"nodeType":864},{},[],{"data":133823,"content":133824,"nodeType":941},{},[133825,133834,133843],{"data":133826,"content":133827,"nodeType":945},{},[133828],{"data":133829,"content":133830,"nodeType":860},{},[133831],{"data":133832,"marks":133833,"value":110607,"nodeType":864},{},[],{"data":133835,"content":133836,"nodeType":945},{},[133837],{"data":133838,"content":133839,"nodeType":860},{},[133840],{"data":133841,"marks":133842,"value":110617,"nodeType":864},{},[],{"data":133844,"content":133845,"nodeType":945},{},[133846],{"data":133847,"content":133848,"nodeType":860},{},[133849],{"data":133850,"marks":133851,"value":110627,"nodeType":864},{},[],{"data":133853,"content":133854,"nodeType":1009},{},[133855],{"data":133856,"marks":133857,"value":32492,"nodeType":864},{},[],{"data":133859,"content":133860,"nodeType":860},{},[133861],{"data":133862,"marks":133863,"value":110640,"nodeType":864},{},[],{"data":133865,"content":133866,"nodeType":860},{},[133867],{"data":133868,"marks":133869,"value":110647,"nodeType":864},{},[],{"data":133871,"content":133872,"nodeType":860},{},[133873],{"data":133874,"marks":133875,"value":110654,"nodeType":864},{},[],{"entries":133877},{"inline":133878,"hyperlink":133879,"block":133882},[],[133880],{"sys":133881,"__typename":2059,"title":5236,"slug":127996},{"id":110390},[133883,133885,133893,133901,133907,133912],{"sys":133884,"__typename":1717,"type":80540,"ctaText":125792,"buttonLabel":125793,"buttonColour":1721,"buttonUrl":59},{"id":92011},{"sys":133886,"__typename":1724,"title":133887,"caption":133888,"layoutMode":59,"file":133889},{"id":110358},"Oktajacking 1","Importing AD users we have setup on our custom AD domain into Okta",{"url":133890,"width":133891,"height":133892},"https://images.ctfassets.net/y1cdw1ablpvd/1yuQgvV0YqJHHosLP4l1tq/12ceb07dc8b3a326bf43140e05d974a6/image1.png",1036,495,{"sys":133894,"__typename":1724,"title":133895,"caption":133896,"layoutMode":59,"file":133897},{"id":110364},"Oktajacking 2"," Modifying Okta authentication rules to only require a password (remove Okta Verify requirement",{"url":133898,"width":133899,"height":133900},"https://images.ctfassets.net/y1cdw1ablpvd/2qdJ0DT6gR4SIgVIm8uqKm/94eb5ea6d8af37800fa1aaf9ced6ba8b/image3.png",1082,476,{"sys":133902,"__typename":1724,"title":133903,"caption":133904,"layoutMode":59,"file":133905},{"id":110370},"Oktajacking 3","Running a modified version of Adam Chester’s python script to accept any password in addition to capturing credentials",{"url":133906,"width":132447,"height":29651},"https://images.ctfassets.net/y1cdw1ablpvd/36TIC04qvQQZ6tpo4B11go/85501dfc97a0eeb779e9011f1219d8a4/image2.png",{"sys":133908,"__typename":1724,"title":133909,"caption":59,"layoutMode":59,"file":133910},{"id":110552},"Oktajacking demo webp",{"url":133911,"width":45619,"height":45620},"https://downloads.ctfassets.net/y1cdw1ablpvd/6YXk94C8bRO5OEnkwPIVWJ/e6a2f1799e8d7e342c247643f8eefdfc/oktajacking__3_.webp",{"sys":133913,"__typename":1717,"type":47670,"ctaText":132414,"buttonLabel":132415,"buttonColour":66936,"buttonUrl":59},{"id":102281},{"items":133915},[],{},"Making Okta do keylogging for you",{"items":133919},[133920,134970,135376],{"__typename":2059,"sys":133921,"content":133922,"title":127526,"synopsis":127527,"hashTags":59,"publishedDate":127528,"slug":127529,"tagsCollection":134960,"authorsCollection":134966},{"id":126352},{"json":133923},{"data":133924,"content":133925,"nodeType":856},{},[133926,133932,133938,133944,133950,133956,133962,133967,133973,133979,133985,134062,134067,134073,134079,134085,134115,134121,134127,134133,134139,134144,134150,134156,134177,134183,134188,134193,134199,134205,134211,134217,134223,134229,134235,134240,134245,134252,134258,134264,134270,134276,134282,134288,134294,134300,134306,134312,134318,134324,134329,134335,134341,134347,134353,134358,134363,134369,134375,134381,134402,134408,134413,134418,134424,134429,134435,134441,134451,134457,134463,134469,134475,134481,134497,134595,134601,134607,134649,134654,134660,134666,134672,134678,134684,134690,134695,134701,134717,134723,134729,134735,134741,134747,134753,134792,134798,134849,134855,134861,134918,134924,134930,134936,134942,134948,134954],{"data":133927,"content":133928,"nodeType":860},{},[133929],{"data":133930,"marks":133931,"value":126363,"nodeType":864},{},[],{"data":133933,"content":133934,"nodeType":860},{},[133935],{"data":133936,"marks":133937,"value":126370,"nodeType":864},{},[],{"data":133939,"content":133940,"nodeType":1009},{},[133941],{"data":133942,"marks":133943,"value":126377,"nodeType":864},{},[],{"data":133945,"content":133946,"nodeType":860},{},[133947],{"data":133948,"marks":133949,"value":126384,"nodeType":864},{},[],{"data":133951,"content":133952,"nodeType":860},{},[133953],{"data":133954,"marks":133955,"value":126391,"nodeType":864},{},[],{"data":133957,"content":133958,"nodeType":860},{},[133959],{"data":133960,"marks":133961,"value":126398,"nodeType":864},{},[],{"data":133963,"content":133966,"nodeType":996},{"target":133964},{"sys":133965},{"id":126403,"type":1001,"linkType":1002},[],{"data":133968,"content":133969,"nodeType":860},{},[133970],{"data":133971,"marks":133972,"value":126411,"nodeType":864},{},[],{"data":133974,"content":133975,"nodeType":1009},{},[133976],{"data":133977,"marks":133978,"value":126418,"nodeType":864},{},[],{"data":133980,"content":133981,"nodeType":860},{},[133982],{"data":133983,"marks":133984,"value":126425,"nodeType":864},{},[],{"data":133986,"content":133987,"nodeType":941},{},[133988,134001],{"data":133989,"content":133990,"nodeType":945},{},[133991],{"data":133992,"content":133993,"nodeType":860},{},[133994,133998],{"data":133995,"marks":133996,"value":126439,"nodeType":864},{},[133997],{"type":899},{"data":133999,"marks":134000,"value":126443,"nodeType":864},{},[],{"data":134002,"content":134003,"nodeType":945},{},[134004],{"data":134005,"content":134006,"nodeType":860},{},[134007,134011,134014,134021,134024,134031,134035,134038,134045,134049,134052,134059],{"data":134008,"marks":134009,"value":126454,"nodeType":864},{},[134010],{"type":899},{"data":134012,"marks":134013,"value":126458,"nodeType":864},{},[],{"data":134015,"content":134016,"nodeType":883},{"uri":83666},[134017],{"data":134018,"marks":134019,"value":126466,"nodeType":864},{},[134020],{"type":1455},{"data":134022,"marks":134023,"value":3731,"nodeType":864},{},[],{"data":134025,"content":134026,"nodeType":883},{"uri":126472},[134027],{"data":134028,"marks":134029,"value":126478,"nodeType":864},{},[134030],{"type":1455},{"data":134032,"marks":134033,"value":1171,"nodeType":864},{},[134034],{"type":899},{"data":134036,"marks":134037,"value":126486,"nodeType":864},{},[],{"data":134039,"content":134040,"nodeType":883},{"uri":126489},[134041],{"data":134042,"marks":134043,"value":126495,"nodeType":864},{},[134044],{"type":1455},{"data":134046,"marks":134047,"value":2924,"nodeType":864},{},[134048],{"type":899},{"data":134050,"marks":134051,"value":126503,"nodeType":864},{},[],{"data":134053,"content":134054,"nodeType":883},{"uri":83606},[134055],{"data":134056,"marks":134057,"value":126511,"nodeType":864},{},[134058],{"type":1455},{"data":134060,"marks":134061,"value":21,"nodeType":864},{},[],{"data":134063,"content":134066,"nodeType":996},{"target":134064},{"sys":134065},{"id":92011,"type":1001,"linkType":1002},[],{"data":134068,"content":134069,"nodeType":1009},{},[134070],{"data":134071,"marks":134072,"value":126526,"nodeType":864},{},[],{"data":134074,"content":134075,"nodeType":860},{},[134076],{"data":134077,"marks":134078,"value":126533,"nodeType":864},{},[],{"data":134080,"content":134081,"nodeType":860},{},[134082],{"data":134083,"marks":134084,"value":126540,"nodeType":864},{},[],{"data":134086,"content":134087,"nodeType":941},{},[134088,134097,134106],{"data":134089,"content":134090,"nodeType":945},{},[134091],{"data":134092,"content":134093,"nodeType":860},{},[134094],{"data":134095,"marks":134096,"value":126553,"nodeType":864},{},[],{"data":134098,"content":134099,"nodeType":945},{},[134100],{"data":134101,"content":134102,"nodeType":860},{},[134103],{"data":134104,"marks":134105,"value":126563,"nodeType":864},{},[],{"data":134107,"content":134108,"nodeType":945},{},[134109],{"data":134110,"content":134111,"nodeType":860},{},[134112],{"data":134113,"marks":134114,"value":126573,"nodeType":864},{},[],{"data":134116,"content":134117,"nodeType":860},{},[134118],{"data":134119,"marks":134120,"value":126580,"nodeType":864},{},[],{"data":134122,"content":134123,"nodeType":860},{},[134124],{"data":134125,"marks":134126,"value":126587,"nodeType":864},{},[],{"data":134128,"content":134129,"nodeType":860},{},[134130],{"data":134131,"marks":134132,"value":126594,"nodeType":864},{},[],{"data":134134,"content":134135,"nodeType":860},{},[134136],{"data":134137,"marks":134138,"value":126601,"nodeType":864},{},[],{"data":134140,"content":134143,"nodeType":996},{"target":134141},{"sys":134142},{"id":126606,"type":1001,"linkType":1002},[],{"data":134145,"content":134146,"nodeType":860},{},[134147],{"data":134148,"marks":134149,"value":126614,"nodeType":864},{},[],{"data":134151,"content":134152,"nodeType":860},{},[134153],{"data":134154,"marks":134155,"value":126621,"nodeType":864},{},[],{"data":134157,"content":134158,"nodeType":941},{},[134159,134168],{"data":134160,"content":134161,"nodeType":945},{},[134162],{"data":134163,"content":134164,"nodeType":860},{},[134165],{"data":134166,"marks":134167,"value":126634,"nodeType":864},{},[],{"data":134169,"content":134170,"nodeType":945},{},[134171],{"data":134172,"content":134173,"nodeType":860},{},[134174],{"data":134175,"marks":134176,"value":126644,"nodeType":864},{},[],{"data":134178,"content":134179,"nodeType":860},{},[134180],{"data":134181,"marks":134182,"value":126651,"nodeType":864},{},[],{"data":134184,"content":134187,"nodeType":996},{"target":134185},{"sys":134186},{"id":126656,"type":1001,"linkType":1002},[],{"data":134189,"content":134192,"nodeType":996},{"target":134190},{"sys":134191},{"id":126662,"type":1001,"linkType":1002},[],{"data":134194,"content":134195,"nodeType":1009},{},[134196],{"data":134197,"marks":134198,"value":126670,"nodeType":864},{},[],{"data":134200,"content":134201,"nodeType":860},{},[134202],{"data":134203,"marks":134204,"value":126677,"nodeType":864},{},[],{"data":134206,"content":134207,"nodeType":860},{},[134208],{"data":134209,"marks":134210,"value":126684,"nodeType":864},{},[],{"data":134212,"content":134213,"nodeType":1312},{},[134214],{"data":134215,"marks":134216,"value":126691,"nodeType":864},{},[],{"data":134218,"content":134219,"nodeType":860},{},[134220],{"data":134221,"marks":134222,"value":126698,"nodeType":864},{},[],{"data":134224,"content":134225,"nodeType":860},{},[134226],{"data":134227,"marks":134228,"value":126705,"nodeType":864},{},[],{"data":134230,"content":134231,"nodeType":860},{},[134232],{"data":134233,"marks":134234,"value":126712,"nodeType":864},{},[],{"data":134236,"content":134239,"nodeType":996},{"target":134237},{"sys":134238},{"id":126717,"type":1001,"linkType":1002},[],{"data":134241,"content":134244,"nodeType":996},{"target":134242},{"sys":134243},{"id":126723,"type":1001,"linkType":1002},[],{"data":134246,"content":134247,"nodeType":860},{},[134248],{"data":134249,"marks":134250,"value":126732,"nodeType":864},{},[134251],{"type":2246},{"data":134253,"content":134254,"nodeType":860},{},[134255],{"data":134256,"marks":134257,"value":126739,"nodeType":864},{},[],{"data":134259,"content":134260,"nodeType":1312},{},[134261],{"data":134262,"marks":134263,"value":126746,"nodeType":864},{},[],{"data":134265,"content":134266,"nodeType":860},{},[134267],{"data":134268,"marks":134269,"value":126753,"nodeType":864},{},[],{"data":134271,"content":134272,"nodeType":860},{},[134273],{"data":134274,"marks":134275,"value":126760,"nodeType":864},{},[],{"data":134277,"content":134278,"nodeType":860},{},[134279],{"data":134280,"marks":134281,"value":126767,"nodeType":864},{},[],{"data":134283,"content":134284,"nodeType":1312},{},[134285],{"data":134286,"marks":134287,"value":126774,"nodeType":864},{},[],{"data":134289,"content":134290,"nodeType":860},{},[134291],{"data":134292,"marks":134293,"value":126781,"nodeType":864},{},[],{"data":134295,"content":134296,"nodeType":860},{},[134297],{"data":134298,"marks":134299,"value":126788,"nodeType":864},{},[],{"data":134301,"content":134302,"nodeType":1312},{},[134303],{"data":134304,"marks":134305,"value":126795,"nodeType":864},{},[],{"data":134307,"content":134308,"nodeType":860},{},[134309],{"data":134310,"marks":134311,"value":126802,"nodeType":864},{},[],{"data":134313,"content":134314,"nodeType":860},{},[134315],{"data":134316,"marks":134317,"value":126809,"nodeType":864},{},[],{"data":134319,"content":134320,"nodeType":860},{},[134321],{"data":134322,"marks":134323,"value":126816,"nodeType":864},{},[],{"data":134325,"content":134328,"nodeType":996},{"target":134326},{"sys":134327},{"id":102281,"type":1001,"linkType":1002},[],{"data":134330,"content":134331,"nodeType":1009},{},[134332],{"data":134333,"marks":134334,"value":126828,"nodeType":864},{},[],{"data":134336,"content":134337,"nodeType":860},{},[134338],{"data":134339,"marks":134340,"value":126835,"nodeType":864},{},[],{"data":134342,"content":134343,"nodeType":1312},{},[134344],{"data":134345,"marks":134346,"value":126842,"nodeType":864},{},[],{"data":134348,"content":134349,"nodeType":860},{},[134350],{"data":134351,"marks":134352,"value":126849,"nodeType":864},{},[],{"data":134354,"content":134357,"nodeType":996},{"target":134355},{"sys":134356},{"id":126854,"type":1001,"linkType":1002},[],{"data":134359,"content":134362,"nodeType":996},{"target":134360},{"sys":134361},{"id":126860,"type":1001,"linkType":1002},[],{"data":134364,"content":134365,"nodeType":1312},{},[134366],{"data":134367,"marks":134368,"value":126868,"nodeType":864},{},[],{"data":134370,"content":134371,"nodeType":860},{},[134372],{"data":134373,"marks":134374,"value":126875,"nodeType":864},{},[],{"data":134376,"content":134377,"nodeType":860},{},[134378],{"data":134379,"marks":134380,"value":126882,"nodeType":864},{},[],{"data":134382,"content":134383,"nodeType":941},{},[134384,134393],{"data":134385,"content":134386,"nodeType":945},{},[134387],{"data":134388,"content":134389,"nodeType":860},{},[134390],{"data":134391,"marks":134392,"value":126895,"nodeType":864},{},[],{"data":134394,"content":134395,"nodeType":945},{},[134396],{"data":134397,"content":134398,"nodeType":860},{},[134399],{"data":134400,"marks":134401,"value":126905,"nodeType":864},{},[],{"data":134403,"content":134404,"nodeType":860},{},[134405],{"data":134406,"marks":134407,"value":126912,"nodeType":864},{},[],{"data":134409,"content":134412,"nodeType":996},{"target":134410},{"sys":134411},{"id":126917,"type":1001,"linkType":1002},[],{"data":134414,"content":134417,"nodeType":996},{"target":134415},{"sys":134416},{"id":126923,"type":1001,"linkType":1002},[],{"data":134419,"content":134420,"nodeType":860},{},[134421],{"data":134422,"marks":134423,"value":126931,"nodeType":864},{},[],{"data":134425,"content":134428,"nodeType":996},{"target":134426},{"sys":134427},{"id":126936,"type":1001,"linkType":1002},[],{"data":134430,"content":134431,"nodeType":1009},{},[134432],{"data":134433,"marks":134434,"value":126944,"nodeType":864},{},[],{"data":134436,"content":134437,"nodeType":860},{},[134438],{"data":134439,"marks":134440,"value":126951,"nodeType":864},{},[],{"data":134442,"content":134443,"nodeType":860},{},[134444,134448],{"data":134445,"marks":134446,"value":126959,"nodeType":864},{},[134447],{"type":899},{"data":134449,"marks":134450,"value":2924,"nodeType":864},{},[],{"data":134452,"content":134453,"nodeType":860},{},[134454],{"data":134455,"marks":134456,"value":126969,"nodeType":864},{},[],{"data":134458,"content":134459,"nodeType":860},{},[134460],{"data":134461,"marks":134462,"value":126976,"nodeType":864},{},[],{"data":134464,"content":134465,"nodeType":860},{},[134466],{"data":134467,"marks":134468,"value":126983,"nodeType":864},{},[],{"data":134470,"content":134471,"nodeType":860},{},[134472],{"data":134473,"marks":134474,"value":126990,"nodeType":864},{},[],{"data":134476,"content":134477,"nodeType":860},{},[134478],{"data":134479,"marks":134480,"value":126997,"nodeType":864},{},[],{"data":134482,"content":134483,"nodeType":860},{},[134484,134487,134494],{"data":134485,"marks":134486,"value":111749,"nodeType":864},{},[],{"data":134488,"content":134489,"nodeType":883},{"uri":6418},[134490],{"data":134491,"marks":134492,"value":37864,"nodeType":864},{},[134493],{"type":1455},{"data":134495,"marks":134496,"value":127014,"nodeType":864},{},[],{"data":134498,"content":134499,"nodeType":941},{},[134500,134519,134538,134557,134576],{"data":134501,"content":134502,"nodeType":945},{},[134503],{"data":134504,"content":134505,"nodeType":860},{},[134506,134509,134516],{"data":134507,"marks":134508,"value":21,"nodeType":864},{},[],{"data":134510,"content":134511,"nodeType":883},{"uri":36086},[134512],{"data":134513,"marks":134514,"value":111780,"nodeType":864},{},[134515],{"type":1455},{"data":134517,"marks":134518,"value":21,"nodeType":864},{},[],{"data":134520,"content":134521,"nodeType":945},{},[134522],{"data":134523,"content":134524,"nodeType":860},{},[134525,134528,134535],{"data":134526,"marks":134527,"value":21,"nodeType":864},{},[],{"data":134529,"content":134530,"nodeType":883},{"uri":111795},[134531],{"data":134532,"marks":134533,"value":111801,"nodeType":864},{},[134534],{"type":1455},{"data":134536,"marks":134537,"value":21,"nodeType":864},{},[],{"data":134539,"content":134540,"nodeType":945},{},[134541],{"data":134542,"content":134543,"nodeType":860},{},[134544,134547,134554],{"data":134545,"marks":134546,"value":21,"nodeType":864},{},[],{"data":134548,"content":134549,"nodeType":883},{"uri":26784},[134550],{"data":134551,"marks":134552,"value":111821,"nodeType":864},{},[134553],{"type":1455},{"data":134555,"marks":134556,"value":21,"nodeType":864},{},[],{"data":134558,"content":134559,"nodeType":945},{},[134560],{"data":134561,"content":134562,"nodeType":860},{},[134563,134566,134573],{"data":134564,"marks":134565,"value":21,"nodeType":864},{},[],{"data":134567,"content":134568,"nodeType":883},{"uri":96375},[134569],{"data":134570,"marks":134571,"value":111841,"nodeType":864},{},[134572],{"type":1455},{"data":134574,"marks":134575,"value":21,"nodeType":864},{},[],{"data":134577,"content":134578,"nodeType":945},{},[134579],{"data":134580,"content":134581,"nodeType":860},{},[134582,134585,134592],{"data":134583,"marks":134584,"value":21,"nodeType":864},{},[],{"data":134586,"content":134587,"nodeType":883},{"uri":61891},[134588],{"data":134589,"marks":134590,"value":111861,"nodeType":864},{},[134591],{"type":1455},{"data":134593,"marks":134594,"value":21,"nodeType":864},{},[],{"data":134596,"content":134597,"nodeType":1009},{},[134598],{"data":134599,"marks":134600,"value":127119,"nodeType":864},{},[],{"data":134602,"content":134603,"nodeType":860},{},[134604],{"data":134605,"marks":134606,"value":127126,"nodeType":864},{},[],{"data":134608,"content":134609,"nodeType":941},{},[134610,134623,134636],{"data":134611,"content":134612,"nodeType":945},{},[134613],{"data":134614,"content":134615,"nodeType":860},{},[134616,134620],{"data":134617,"marks":134618,"value":127140,"nodeType":864},{},[134619],{"type":899},{"data":134621,"marks":134622,"value":127144,"nodeType":864},{},[],{"data":134624,"content":134625,"nodeType":945},{},[134626],{"data":134627,"content":134628,"nodeType":860},{},[134629,134633],{"data":134630,"marks":134631,"value":127155,"nodeType":864},{},[134632],{"type":899},{"data":134634,"marks":134635,"value":127159,"nodeType":864},{},[],{"data":134637,"content":134638,"nodeType":945},{},[134639],{"data":134640,"content":134641,"nodeType":860},{},[134642,134646],{"data":134643,"marks":134644,"value":127170,"nodeType":864},{},[134645],{"type":899},{"data":134647,"marks":134648,"value":127174,"nodeType":864},{},[],{"data":134650,"content":134653,"nodeType":996},{"target":134651},{"sys":134652},{"id":127179,"type":1001,"linkType":1002},[],{"data":134655,"content":134656,"nodeType":860},{},[134657],{"data":134658,"marks":134659,"value":127187,"nodeType":864},{},[],{"data":134661,"content":134662,"nodeType":1312},{},[134663],{"data":134664,"marks":134665,"value":127194,"nodeType":864},{},[],{"data":134667,"content":134668,"nodeType":860},{},[134669],{"data":134670,"marks":134671,"value":127201,"nodeType":864},{},[],{"data":134673,"content":134674,"nodeType":860},{},[134675],{"data":134676,"marks":134677,"value":127208,"nodeType":864},{},[],{"data":134679,"content":134680,"nodeType":860},{},[134681],{"data":134682,"marks":134683,"value":127215,"nodeType":864},{},[],{"data":134685,"content":134686,"nodeType":860},{},[134687],{"data":134688,"marks":134689,"value":127222,"nodeType":864},{},[],{"data":134691,"content":134694,"nodeType":996},{"target":134692},{"sys":134693},{"id":127227,"type":1001,"linkType":1002},[],{"data":134696,"content":134697,"nodeType":860},{},[134698],{"data":134699,"marks":134700,"value":127235,"nodeType":864},{},[],{"data":134702,"content":134703,"nodeType":860},{},[134704,134707,134714],{"data":134705,"marks":134706,"value":127242,"nodeType":864},{},[],{"data":134708,"content":134709,"nodeType":883},{"uri":127245},[134710],{"data":134711,"marks":134712,"value":127251,"nodeType":864},{},[134713],{"type":1455},{"data":134715,"marks":134716,"value":2924,"nodeType":864},{},[],{"data":134718,"content":134719,"nodeType":1009},{},[134720],{"data":134721,"marks":134722,"value":127261,"nodeType":864},{},[],{"data":134724,"content":134725,"nodeType":860},{},[134726],{"data":134727,"marks":134728,"value":127268,"nodeType":864},{},[],{"data":134730,"content":134731,"nodeType":860},{},[134732],{"data":134733,"marks":134734,"value":127275,"nodeType":864},{},[],{"data":134736,"content":134737,"nodeType":860},{},[134738],{"data":134739,"marks":134740,"value":127282,"nodeType":864},{},[],{"data":134742,"content":134743,"nodeType":860},{},[134744],{"data":134745,"marks":134746,"value":127289,"nodeType":864},{},[],{"data":134748,"content":134749,"nodeType":860},{},[134750],{"data":134751,"marks":134752,"value":127296,"nodeType":864},{},[],{"data":134754,"content":134755,"nodeType":941},{},[134756,134765,134774,134783],{"data":134757,"content":134758,"nodeType":945},{},[134759],{"data":134760,"content":134761,"nodeType":860},{},[134762],{"data":134763,"marks":134764,"value":127309,"nodeType":864},{},[],{"data":134766,"content":134767,"nodeType":945},{},[134768],{"data":134769,"content":134770,"nodeType":860},{},[134771],{"data":134772,"marks":134773,"value":127319,"nodeType":864},{},[],{"data":134775,"content":134776,"nodeType":945},{},[134777],{"data":134778,"content":134779,"nodeType":860},{},[134780],{"data":134781,"marks":134782,"value":127329,"nodeType":864},{},[],{"data":134784,"content":134785,"nodeType":945},{},[134786],{"data":134787,"content":134788,"nodeType":860},{},[134789],{"data":134790,"marks":134791,"value":127339,"nodeType":864},{},[],{"data":134793,"content":134794,"nodeType":860},{},[134795],{"data":134796,"marks":134797,"value":127346,"nodeType":864},{},[],{"data":134799,"content":134800,"nodeType":941},{},[134801,134830],{"data":134802,"content":134803,"nodeType":945},{},[134804],{"data":134805,"content":134806,"nodeType":860},{},[134807,134810,134817,134820,134827],{"data":134808,"marks":134809,"value":127359,"nodeType":864},{},[],{"data":134811,"content":134812,"nodeType":883},{"uri":36086},[134813],{"data":134814,"marks":134815,"value":96392,"nodeType":864},{},[134816],{"type":1455},{"data":134818,"marks":134819,"value":902,"nodeType":864},{},[],{"data":134821,"content":134822,"nodeType":883},{"uri":26784},[134823],{"data":134824,"marks":134825,"value":17706,"nodeType":864},{},[134826],{"type":1455},{"data":134828,"marks":134829,"value":21,"nodeType":864},{},[],{"data":134831,"content":134832,"nodeType":945},{},[134833],{"data":134834,"content":134835,"nodeType":860},{},[134836,134839,134846],{"data":134837,"marks":134838,"value":127389,"nodeType":864},{},[],{"data":134840,"content":134841,"nodeType":883},{"uri":111795},[134842],{"data":134843,"marks":134844,"value":127397,"nodeType":864},{},[134845],{"type":1455},{"data":134847,"marks":134848,"value":127401,"nodeType":864},{},[],{"data":134850,"content":134851,"nodeType":1009},{},[134852],{"data":134853,"marks":134854,"value":110587,"nodeType":864},{},[],{"data":134856,"content":134857,"nodeType":860},{},[134858],{"data":134859,"marks":134860,"value":127414,"nodeType":864},{},[],{"data":134862,"content":134863,"nodeType":941},{},[134864,134873,134882,134891,134900,134909],{"data":134865,"content":134866,"nodeType":945},{},[134867],{"data":134868,"content":134869,"nodeType":860},{},[134870],{"data":134871,"marks":134872,"value":127427,"nodeType":864},{},[],{"data":134874,"content":134875,"nodeType":945},{},[134876],{"data":134877,"content":134878,"nodeType":860},{},[134879],{"data":134880,"marks":134881,"value":127437,"nodeType":864},{},[],{"data":134883,"content":134884,"nodeType":945},{},[134885],{"data":134886,"content":134887,"nodeType":860},{},[134888],{"data":134889,"marks":134890,"value":127447,"nodeType":864},{},[],{"data":134892,"content":134893,"nodeType":945},{},[134894],{"data":134895,"content":134896,"nodeType":860},{},[134897],{"data":134898,"marks":134899,"value":127457,"nodeType":864},{},[],{"data":134901,"content":134902,"nodeType":945},{},[134903],{"data":134904,"content":134905,"nodeType":860},{},[134906],{"data":134907,"marks":134908,"value":127467,"nodeType":864},{},[],{"data":134910,"content":134911,"nodeType":945},{},[134912],{"data":134913,"content":134914,"nodeType":860},{},[134915],{"data":134916,"marks":134917,"value":127477,"nodeType":864},{},[],{"data":134919,"content":134920,"nodeType":1009},{},[134921],{"data":134922,"marks":134923,"value":32492,"nodeType":864},{},[],{"data":134925,"content":134926,"nodeType":860},{},[134927],{"data":134928,"marks":134929,"value":127490,"nodeType":864},{},[],{"data":134931,"content":134932,"nodeType":860},{},[134933],{"data":134934,"marks":134935,"value":127497,"nodeType":864},{},[],{"data":134937,"content":134938,"nodeType":860},{},[134939],{"data":134940,"marks":134941,"value":127504,"nodeType":864},{},[],{"data":134943,"content":134944,"nodeType":860},{},[134945],{"data":134946,"marks":134947,"value":127511,"nodeType":864},{},[],{"data":134949,"content":134950,"nodeType":860},{},[134951],{"data":134952,"marks":134953,"value":127518,"nodeType":864},{},[],{"data":134955,"content":134956,"nodeType":860},{},[134957],{"data":134958,"marks":134959,"value":127525,"nodeType":864},{},[],{"items":134961},[134962,134964],{"sys":134963,"name":297},{"id":2732},{"sys":134965,"name":342},{"id":6596},{"items":134967},[134968],{"fullName":4949,"firstName":4950,"jobTitle":4951,"profilePicture":134969},{"url":4955},{"__typename":2059,"sys":134971,"content":134972,"title":5236,"synopsis":127994,"hashTags":59,"publishedDate":127995,"slug":127996,"tagsCollection":135366,"authorsCollection":135372},{"id":110390},{"json":134973},{"data":134974,"content":134975,"nodeType":856},{},[134976,134992,134998,135004,135010,135026,135032,135048,135054,135060,135066,135072,135078,135084,135090,135106,135112,135118,135123,135129,135135,135141,135146,135151,135156,135162,135168,135173,135179,135185,135191,135196,135202,135208,135214,135220,135226,135231,135237,135243,135248,135254,135260,135265,135271,135277,135336,135342,135348,135354,135360],{"data":134977,"content":134978,"nodeType":860},{},[134979,134982,134989],{"data":134980,"marks":134981,"value":127552,"nodeType":864},{},[],{"data":134983,"content":134984,"nodeType":883},{"uri":6418},[134985],{"data":134986,"marks":134987,"value":5765,"nodeType":864},{},[134988],{"type":1455},{"data":134990,"marks":134991,"value":127563,"nodeType":864},{},[],{"data":134993,"content":134994,"nodeType":860},{},[134995],{"data":134996,"marks":134997,"value":127570,"nodeType":864},{},[],{"data":134999,"content":135000,"nodeType":860},{},[135001],{"data":135002,"marks":135003,"value":127577,"nodeType":864},{},[],{"data":135005,"content":135006,"nodeType":1009},{},[135007],{"data":135008,"marks":135009,"value":110106,"nodeType":864},{},[],{"data":135011,"content":135012,"nodeType":860},{},[135013,135016,135023],{"data":135014,"marks":135015,"value":21,"nodeType":864},{},[],{"data":135017,"content":135018,"nodeType":883},{"uri":101692},[135019],{"data":135020,"marks":135021,"value":110119,"nodeType":864},{},[135022],{"type":1455},{"data":135024,"marks":135025,"value":110123,"nodeType":864},{},[],{"data":135027,"content":135028,"nodeType":1009},{},[135029],{"data":135030,"marks":135031,"value":127606,"nodeType":864},{},[],{"data":135033,"content":135034,"nodeType":860},{},[135035,135038,135045],{"data":135036,"marks":135037,"value":21,"nodeType":864},{},[],{"data":135039,"content":135040,"nodeType":883},{"uri":88494},[135041],{"data":135042,"marks":135043,"value":5272,"nodeType":864},{},[135044],{"type":1455},{"data":135046,"marks":135047,"value":127623,"nodeType":864},{},[],{"data":135049,"content":135050,"nodeType":1009},{},[135051],{"data":135052,"marks":135053,"value":127630,"nodeType":864},{},[],{"data":135055,"content":135056,"nodeType":860},{},[135057],{"data":135058,"marks":135059,"value":127637,"nodeType":864},{},[],{"data":135061,"content":135062,"nodeType":860},{},[135063],{"data":135064,"marks":135065,"value":127644,"nodeType":864},{},[],{"data":135067,"content":135068,"nodeType":860},{},[135069],{"data":135070,"marks":135071,"value":127651,"nodeType":864},{},[],{"data":135073,"content":135074,"nodeType":860},{},[135075],{"data":135076,"marks":135077,"value":127658,"nodeType":864},{},[],{"data":135079,"content":135080,"nodeType":860},{},[135081],{"data":135082,"marks":135083,"value":127665,"nodeType":864},{},[],{"data":135085,"content":135086,"nodeType":1009},{},[135087],{"data":135088,"marks":135089,"value":127672,"nodeType":864},{},[],{"data":135091,"content":135092,"nodeType":860},{},[135093,135096,135103],{"data":135094,"marks":135095,"value":127679,"nodeType":864},{},[],{"data":135097,"content":135098,"nodeType":883},{"uri":127682},[135099],{"data":135100,"marks":135101,"value":127688,"nodeType":864},{},[135102],{"type":1455},{"data":135104,"marks":135105,"value":127692,"nodeType":864},{},[],{"data":135107,"content":135108,"nodeType":860},{},[135109],{"data":135110,"marks":135111,"value":127699,"nodeType":864},{},[],{"data":135113,"content":135114,"nodeType":860},{},[135115],{"data":135116,"marks":135117,"value":127706,"nodeType":864},{},[],{"data":135119,"content":135122,"nodeType":996},{"target":135120},{"sys":135121},{"id":127711,"type":1001,"linkType":1002},[],{"data":135124,"content":135125,"nodeType":860},{},[135126],{"data":135127,"marks":135128,"value":127719,"nodeType":864},{},[],{"data":135130,"content":135131,"nodeType":1312},{},[135132],{"data":135133,"marks":135134,"value":127726,"nodeType":864},{},[],{"data":135136,"content":135137,"nodeType":860},{},[135138],{"data":135139,"marks":135140,"value":127733,"nodeType":864},{},[],{"data":135142,"content":135145,"nodeType":996},{"target":135143},{"sys":135144},{"id":127738,"type":1001,"linkType":1002},[],{"data":135147,"content":135150,"nodeType":996},{"target":135148},{"sys":135149},{"id":127744,"type":1001,"linkType":1002},[],{"data":135152,"content":135155,"nodeType":996},{"target":135153},{"sys":135154},{"id":127750,"type":1001,"linkType":1002},[],{"data":135157,"content":135158,"nodeType":1312},{},[135159],{"data":135160,"marks":135161,"value":127758,"nodeType":864},{},[],{"data":135163,"content":135164,"nodeType":860},{},[135165],{"data":135166,"marks":135167,"value":127765,"nodeType":864},{},[],{"data":135169,"content":135172,"nodeType":996},{"target":135170},{"sys":135171},{"id":127770,"type":1001,"linkType":1002},[],{"data":135174,"content":135175,"nodeType":1312},{},[135176],{"data":135177,"marks":135178,"value":127778,"nodeType":864},{},[],{"data":135180,"content":135181,"nodeType":860},{},[135182],{"data":135183,"marks":135184,"value":127785,"nodeType":864},{},[],{"data":135186,"content":135187,"nodeType":860},{},[135188],{"data":135189,"marks":135190,"value":127792,"nodeType":864},{},[],{"data":135192,"content":135195,"nodeType":996},{"target":135193},{"sys":135194},{"id":127797,"type":1001,"linkType":1002},[],{"data":135197,"content":135198,"nodeType":860},{},[135199],{"data":135200,"marks":135201,"value":127805,"nodeType":864},{},[],{"data":135203,"content":135204,"nodeType":1009},{},[135205],{"data":135206,"marks":135207,"value":127812,"nodeType":864},{},[],{"data":135209,"content":135210,"nodeType":1312},{},[135211],{"data":135212,"marks":135213,"value":127819,"nodeType":864},{},[],{"data":135215,"content":135216,"nodeType":860},{},[135217],{"data":135218,"marks":135219,"value":127826,"nodeType":864},{},[],{"data":135221,"content":135222,"nodeType":860},{},[135223],{"data":135224,"marks":135225,"value":127833,"nodeType":864},{},[],{"data":135227,"content":135230,"nodeType":996},{"target":135228},{"sys":135229},{"id":127838,"type":1001,"linkType":1002},[],{"data":135232,"content":135233,"nodeType":1312},{},[135234],{"data":135235,"marks":135236,"value":127846,"nodeType":864},{},[],{"data":135238,"content":135239,"nodeType":860},{},[135240],{"data":135241,"marks":135242,"value":127853,"nodeType":864},{},[],{"data":135244,"content":135247,"nodeType":996},{"target":135245},{"sys":135246},{"id":127858,"type":1001,"linkType":1002},[],{"data":135249,"content":135250,"nodeType":860},{},[135251],{"data":135252,"marks":135253,"value":127866,"nodeType":864},{},[],{"data":135255,"content":135256,"nodeType":860},{},[135257],{"data":135258,"marks":135259,"value":127873,"nodeType":864},{},[],{"data":135261,"content":135264,"nodeType":996},{"target":135262},{"sys":135263},{"id":127878,"type":1001,"linkType":1002},[],{"data":135266,"content":135267,"nodeType":1009},{},[135268],{"data":135269,"marks":135270,"value":110587,"nodeType":864},{},[],{"data":135272,"content":135273,"nodeType":860},{},[135274],{"data":135275,"marks":135276,"value":127892,"nodeType":864},{},[],{"data":135278,"content":135279,"nodeType":941},{},[135280,135289,135298,135317],{"data":135281,"content":135282,"nodeType":945},{},[135283],{"data":135284,"content":135285,"nodeType":860},{},[135286],{"data":135287,"marks":135288,"value":127905,"nodeType":864},{},[],{"data":135290,"content":135291,"nodeType":945},{},[135292],{"data":135293,"content":135294,"nodeType":860},{},[135295],{"data":135296,"marks":135297,"value":127915,"nodeType":864},{},[],{"data":135299,"content":135300,"nodeType":945},{},[135301],{"data":135302,"content":135303,"nodeType":860},{},[135304,135307,135314],{"data":135305,"marks":135306,"value":127925,"nodeType":864},{},[],{"data":135308,"content":135309,"nodeType":883},{"uri":127928},[135310],{"data":135311,"marks":135312,"value":127934,"nodeType":864},{},[135313],{"type":1455},{"data":135315,"marks":135316,"value":21,"nodeType":864},{},[],{"data":135318,"content":135319,"nodeType":945},{},[135320],{"data":135321,"content":135322,"nodeType":860},{},[135323,135326,135333],{"data":135324,"marks":135325,"value":127947,"nodeType":864},{},[],{"data":135327,"content":135328,"nodeType":883},{"uri":127950},[135329],{"data":135330,"marks":135331,"value":127956,"nodeType":864},{},[135332],{"type":1455},{"data":135334,"marks":135335,"value":21,"nodeType":864},{},[],{"data":135337,"content":135338,"nodeType":860},{},[135339],{"data":135340,"marks":135341,"value":127966,"nodeType":864},{},[],{"data":135343,"content":135344,"nodeType":1312},{},[135345],{"data":135346,"marks":135347,"value":32492,"nodeType":864},{},[],{"data":135349,"content":135350,"nodeType":860},{},[135351],{"data":135352,"marks":135353,"value":127979,"nodeType":864},{},[],{"data":135355,"content":135356,"nodeType":860},{},[135357],{"data":135358,"marks":135359,"value":127986,"nodeType":864},{},[],{"data":135361,"content":135362,"nodeType":860},{},[135363],{"data":135364,"marks":135365,"value":127993,"nodeType":864},{},[],{"items":135367},[135368,135370],{"sys":135369,"name":6593},{"id":6592},{"sys":135371,"name":342},{"id":6596},{"items":135373},[135374],{"fullName":4949,"firstName":4950,"jobTitle":4951,"profilePicture":135375},{"url":4955},{"__typename":2059,"sys":135377,"content":135379,"title":136252,"synopsis":135389,"hashTags":59,"publishedDate":136253,"slug":136254,"tagsCollection":136255,"authorsCollection":136261},{"id":135378},"7ygI4NLJ2zpuiVwAlggkTG",{"json":135380},{"data":135381,"content":135382,"nodeType":856},{},[135383,135390,135397,135427,135434,135441,135459,135466,135473,135480,135508,135514,135521,135537,135544,135551,135584,135591,135598,135605,135612,135619,135625,135632,135639,135646,135654,135661,135681,135688,135695,135702,135709,135716,135723,135730,135737,135744,135750,135757,135776,135783,135802,135808,135814,135820,135827,135834,135841,135847,135853,135860,135867,135874,135881,135888,135894,135912,135931,135938,135944,135950,135957,135964,135971,135978,136001,136007,136013,136020,136027,136034,136045,136051,136058,136064,136070,136077,136084,136091,136097,136103,136109,136116,136232,136238,136245],{"data":135384,"content":135385,"nodeType":860},{},[135386],{"data":135387,"marks":135388,"value":135389,"nodeType":864},{},[],"In this article, we’re going to demonstrate how combining two of our favorite new SaaS attack techniques makes a simple, but very stealthy persistence approach.",{"data":135391,"content":135392,"nodeType":860},{},[135393],{"data":135394,"marks":135395,"value":135396,"nodeType":864},{},[],"—----",{"data":135398,"content":135399,"nodeType":860},{},[135400,135404,135411,135415,135424],{"data":135401,"marks":135402,"value":135403,"nodeType":864},{},[],"This is the second post in a series on attack chains formed by combining techniques in the ",{"data":135405,"content":135406,"nodeType":883},{"uri":6418},[135407],{"data":135408,"marks":135409,"value":5765,"nodeType":864},{},[135410],{"type":1455},{"data":135412,"marks":135413,"value":135414,"nodeType":864},{},[],". Last post we wrote about ",{"data":135416,"content":135419,"nodeType":27604},{"target":135417},{"sys":135418},{"id":110390,"type":1001,"linkType":1002},[135420],{"data":135421,"marks":135422,"value":5236,"nodeType":864},{},[135423],{"type":1455},{"data":135425,"marks":135426,"value":12252,"nodeType":864},{},[],{"data":135428,"content":135429,"nodeType":860},{},[135430],{"data":135431,"marks":135432,"value":135433,"nodeType":864},{},[],"This time we’ll be looking at combining shadow workflows with an evil twin integration for an especially sneaky and flexible method of persistence. We’ll be using Zapier integrating with Azure as our primary example. ",{"data":135435,"content":135436,"nodeType":1009},{},[135437],{"data":135438,"marks":135439,"value":135440,"nodeType":864},{},[],"What is a shadow workflow?",{"data":135442,"content":135443,"nodeType":860},{},[135444,135447,135455],{"data":135445,"marks":135446,"value":72717,"nodeType":864},{},[],{"data":135448,"content":135449,"nodeType":883},{"uri":61891},[135450],{"data":135451,"marks":135452,"value":135454,"nodeType":864},{},[135453],{"type":1455},"shadow workflow ",{"data":135456,"marks":135457,"value":135458,"nodeType":864},{},[],"is a technique for using SaaS automation apps to provide a code execution-like method for conducting malicious actions from a legitimate source using OAuth integrations. This could be a daily export of files from shared cloud drives, automatic forwarding and deleting of emails, cloning instant messages, exporting user directories — basically anything that is possible using the target app’s API. ",{"data":135460,"content":135461,"nodeType":860},{},[135462],{"data":135463,"marks":135464,"value":135465,"nodeType":864},{},[],"The fact automation apps utilize OAuth integrations means they also function as a very effective method of maintaining persistence. Think of shadow workflows as the offensive PowerShell of the SaaS world. ",{"data":135467,"content":135468,"nodeType":1009},{},[135469],{"data":135470,"marks":135471,"value":135472,"nodeType":864},{},[],"What’s an evil twin integration?",{"data":135474,"content":135475,"nodeType":860},{},[135476],{"data":135477,"marks":135478,"value":135479,"nodeType":864},{},[],"Creating a new OAuth integration, even if using a legitimate SaaS application, could be viewed as suspicious if seen by a security team or the affected user. This is especially true if an account compromise is discovered and an IR team sees a consent for a new OAuth integration in the log that the compromised user does not recognize. ",{"data":135481,"content":135482,"nodeType":860},{},[135483,135487,135494,135498,135504],{"data":135484,"marks":135485,"value":135486,"nodeType":864},{},[],"An ",{"data":135488,"content":135489,"nodeType":883},{"uri":101818},[135490],{"data":135491,"marks":135492,"value":101824,"nodeType":864},{},[135493],{"type":1455},{"data":135495,"marks":135496,"value":135497,"nodeType":864},{},[],", however, reduces the chances of discovery by reusing an existing ",{"data":135499,"marks":135500,"value":135503,"nodeType":864},{},[135501,135502],{"type":2246},{"type":899},"legitimate",{"data":135505,"marks":135506,"value":135507,"nodeType":864},{},[]," integration for malicious purposes.",{"data":135509,"content":135510,"nodeType":1009},{},[135511],{"data":135512,"marks":135513,"value":127630,"nodeType":864},{},[],{"data":135515,"content":135516,"nodeType":860},{},[135517],{"data":135518,"marks":135519,"value":135520,"nodeType":864},{},[],"While shadow workflows are incredibly powerful on their own, as malicious use of OAuth integrations becomes more common, security teams will start regularly checking for new, or unknown, integrations in response to security incidents. While automation apps are legitimate SaaS services, shadow workflow attacks could still raise question marks during incident response if it’s connected shortly after a compromise and/or if the affected user has no knowledge of it. ",{"data":135522,"content":135523,"nodeType":860},{},[135524,135528,135533],{"data":135525,"marks":135526,"value":135527,"nodeType":864},{},[],"Additionally, as use of security tools that ",{"data":135529,"marks":135530,"value":135532,"nodeType":864},{},[135531],{"type":1455},"provide visibility of OAuth integrations",{"data":135534,"marks":135535,"value":135536,"nodeType":864},{},[]," (check out our product) increases, it will become increasingly dangerous for an adversary to create a new OAuth integration. That’s because the target user and possibly even security teams may be notified.",{"data":135538,"content":135539,"nodeType":860},{},[135540],{"data":135541,"marks":135542,"value":135543,"nodeType":864},{},[],"This leads us on to evil twin integrations. Their power is in making use of existing integrations so they can avoid appearing as a new integration and getting flagged or sending alerts to security teams. That makes them much stealthier and increases the likelihood of a successful attack. ",{"data":135545,"content":135546,"nodeType":860},{},[135547],{"data":135548,"marks":135549,"value":135550,"nodeType":864},{},[],"There are three possibilities here that lead to two different levels of stealth for the attack:",{"data":135552,"content":135553,"nodeType":118765},{},[135554,135564,135574],{"data":135555,"content":135556,"nodeType":945},{},[135557],{"data":135558,"content":135559,"nodeType":860},{},[135560],{"data":135561,"marks":135562,"value":135563,"nodeType":864},{},[],"Medium stealth option: Making use of an automation app used legitimately by the organization, but not by the target user, specifically",{"data":135565,"content":135566,"nodeType":945},{},[135567],{"data":135568,"content":135569,"nodeType":860},{},[135570],{"data":135571,"marks":135572,"value":135573,"nodeType":864},{},[],"High stealth option 1: Making use of an automation app used legitimately by the target user themselves",{"data":135575,"content":135576,"nodeType":945},{},[135577],{"data":135578,"content":135579,"nodeType":860},{},[135580],{"data":135581,"marks":135582,"value":135583,"nodeType":864},{},[],"High stealth option 2: Making use of an automation app that has been granted admin consent",{"data":135585,"content":135586,"nodeType":1312},{},[135587],{"data":135588,"marks":135589,"value":135590,"nodeType":864},{},[],"Medium stealth option: Pre-existing use by organization",{"data":135592,"content":135593,"nodeType":860},{},[135594],{"data":135595,"marks":135596,"value":135597,"nodeType":864},{},[],"This option is by far the most likely option to be applicable in a real-world situation. Here’s how it works:",{"data":135599,"content":135600,"nodeType":860},{},[135601],{"data":135602,"marks":135603,"value":135604,"nodeType":864},{},[],"The consent for the targeted user will be new and will generate an audit event to show that, but the integration itself will not be new inside the organization and may even be formally approved by the security team already. This will help evade general detection mechanisms as it won’t be seen as a brand new integration at the organization level that requires careful scrutiny. It’s much harder to evaluate new consents on a per-user basis for existing integrations if the organization is of any significant size.",{"data":135606,"content":135607,"nodeType":860},{},[135608],{"data":135609,"marks":135610,"value":135611,"nodeType":864},{},[],"The downside, however, is that this attack stands a greater chance of detection if notifications are delivered directly to the affected user. Alternatively, if the original compromise is discovered, incident responders are more likely to discover this consent during an investigation. That’s because the affected user would know they aren’t using the automation app and incident responders are likely to explore logs showing consents to new OAuth integrations and permissions shortly after a successful compromise.",{"data":135613,"content":135614,"nodeType":860},{},[135615],{"data":135616,"marks":135617,"value":135618,"nodeType":864},{},[],"Using Azure as an example, while no new service principal is created in this case, the audit logs still show a new consent for the targeted user to the existing Zapier app: ",{"data":135620,"content":135624,"nodeType":996},{"target":135621},{"sys":135622},{"id":135623,"type":1001,"linkType":1002},"7m0E0sOulc348jhQguQLb1",[],{"data":135626,"content":135627,"nodeType":1312},{},[135628],{"data":135629,"marks":135630,"value":135631,"nodeType":864},{},[],"High stealth option 1: Pre-existing use by targeted user",{"data":135633,"content":135634,"nodeType":860},{},[135635],{"data":135636,"marks":135637,"value":135638,"nodeType":864},{},[],"This is the holy grail option, but is likely to require more luck in the real world. It requires that the target user is already using an automation app, which the adversary could compromise and utilize. If the compromised user has already consented to permissions useful to the adversary, such as access to sensitive data like email and file stores, then new malicious workflows can be created without requiring the user to consent to new permissions. ",{"data":135640,"content":135641,"nodeType":860},{},[135642],{"data":135643,"marks":135644,"value":135645,"nodeType":864},{},[],"Consequently, there will be no new integration observed at the organization level, no new user-specific consents for sensitive permissions and the target user would indicate they’re just using a legitimate app if questioned by incident responders. ",{"data":135647,"content":135648,"nodeType":860},{},[135649],{"data":135650,"marks":135651,"value":135653,"nodeType":864},{},[135652],{"type":899},"None of the three audit log entries shown above would be present in this scenario either.",{"data":135655,"content":135656,"nodeType":1312},{},[135657],{"data":135658,"marks":135659,"value":135660,"nodeType":864},{},[],"High stealth option 2: Azure admin consented app",{"data":135662,"content":135663,"nodeType":860},{},[135664,135668,135677],{"data":135665,"marks":135666,"value":135667,"nodeType":864},{},[],"There is a mixed scenario when permissions for an automation app (or any app you want to use for an evil twin integration) have been granted tenant-wide ",{"data":135669,"content":135671,"nodeType":883},{"uri":135670},"https://learn.microsoft.com/en-us/azure/active-directory/manage-apps/user-admin-consent-overview#admin-consent",[135672],{"data":135673,"marks":135674,"value":135676,"nodeType":864},{},[135675],{"type":1455},"admin consent in Azure",{"data":135678,"marks":135679,"value":135680,"nodeType":864},{},[],". In this case, the administrator has effectively consented to permissions for all users, even if they aren’t currently active users of the app. ",{"data":135682,"content":135683,"nodeType":860},{},[135684],{"data":135685,"marks":135686,"value":135687,"nodeType":864},{},[],"This means when a new user integrates the app, it does not generate a new permission grant since it is effectively already granted. Consequently, the three log entries shown above would not be present in this scenario even if integrating the app for a user that has never used it before.",{"data":135689,"content":135690,"nodeType":860},{},[135691],{"data":135692,"marks":135693,"value":135694,"nodeType":864},{},[],"This gives the best level of flexibility for an adversary as they can avoid generating new permission grant logs for any user. However, it's not quite as stealthy as when the targeted user already makes use of the app as there is no history of legitimate app logins or activity for the user prior to the compromise to blend in with.",{"data":135696,"content":135697,"nodeType":1009},{},[135698],{"data":135699,"marks":135700,"value":135701,"nodeType":864},{},[],"An example attack - Zapier",{"data":135703,"content":135704,"nodeType":860},{},[135705],{"data":135706,"marks":135707,"value":135708,"nodeType":864},{},[],"In this case, we’re going to use Zapier as our automation app example and Azure as the primary target for integrations and there will be no admin consent involved. We’ll also be using Google Workspace for data exfiltration. There are many other examples we could have used here, though - Make.com, IFTTT, Retool, Tines, Microsoft Power Automate and many other SaaS apps have powerful automation and integration capabilities and could be used for similar purposes. ",{"data":135710,"content":135711,"nodeType":860},{},[135712],{"data":135713,"marks":135714,"value":135715,"nodeType":864},{},[],"Azure and Google Workspace are also obvious juicy targets for integrations, but automation apps support integrations with vast numbers of other SaaS applications,so there are many possible targets.",{"data":135717,"content":135718,"nodeType":860},{},[135719],{"data":135720,"marks":135721,"value":135722,"nodeType":864},{},[],"So, let’s say we’ve compromised a target user’s Azure account. Perhaps we have conducted a successful credential stuffing attack, a phishing attack including MFA code proxying or even achieved a traditional endpoint compromise and have stolen the user’s session tokens.",{"data":135724,"content":135725,"nodeType":860},{},[135726],{"data":135727,"marks":135728,"value":135729,"nodeType":864},{},[],"Whatever the case, we have temporary control of the user’s account, either until the session expires or the user changes their password. If the original compromise is detected, that could happen quickly, so we want to conduct some malicious actions to make use of the access while we have it and to also gain persistence so we maintain our access beyond a password change.",{"data":135731,"content":135732,"nodeType":860},{},[135733],{"data":135734,"marks":135735,"value":135736,"nodeType":864},{},[],"We want to use an automation app, but we’d prefer to be as stealthy as possible by also making it an evil twin integration. We’d like to see if the target user has existing integrations with any apps we’d like to use - especially an automation app for that high stealth option we mentioned above. ",{"data":135738,"content":135739,"nodeType":860},{},[135740],{"data":135741,"marks":135742,"value":135743,"nodeType":864},{},[],"We’ve created a video demo of the full attack below. A step by step write up with more detail then follows:",{"data":135745,"content":135749,"nodeType":996},{"target":135746},{"sys":135747},{"id":135748,"type":1001,"linkType":1002},"E1ZHBcjGLZAno0SRtJ3d3",[],{"data":135751,"content":135752,"nodeType":1009},{},[135753],{"data":135754,"marks":135755,"value":135756,"nodeType":864},{},[],"Step 1 - Enumerating potential targets",{"data":135758,"content":135759,"nodeType":860},{},[135760,135764,135772],{"data":135761,"marks":135762,"value":135763,"nodeType":864},{},[],"We could perform something as simple as an email search for evidence of sign-ups, but that won’t necessarily show us if actual OAuth integrations have been configured and what permissions are in use. What we really need is a way to perform an ",{"data":135765,"content":135766,"nodeType":883},{"uri":96530},[135767],{"data":135768,"marks":135769,"value":135771,"nodeType":864},{},[135770],{"type":1455},"OAuth token enumeration",{"data":135773,"marks":135774,"value":135775,"nodeType":864},{},[]," attack.",{"data":135777,"content":135778,"nodeType":1312},{},[135779],{"data":135780,"marks":135781,"value":135782,"nodeType":864},{},[],"The first method: myapps.microsoft.com",{"data":135784,"content":135785,"nodeType":860},{},[135786,135790,135798],{"data":135787,"marks":135788,"value":135789,"nodeType":864},{},[],"Make use of ",{"data":135791,"content":135793,"nodeType":883},{"uri":135792},"https://myapps.microsoft.com",[135794],{"data":135795,"marks":135796,"value":135792,"nodeType":864},{},[135797],{"type":1455},{"data":135799,"marks":135800,"value":135801,"nodeType":864},{},[]," to see which apps are listed and which permissions have been granted. We can see Zapier is in use and the user has granted it access to their email and files, making it a great target.",{"data":135803,"content":135807,"nodeType":996},{"target":135804},{"sys":135805},{"id":135806,"type":1001,"linkType":1002},"6dDez7xRZjliEJR6DAkWHa",[],{"data":135809,"content":135813,"nodeType":996},{"target":135810},{"sys":135811},{"id":135812,"type":1001,"linkType":1002},"7M0imWv4n3z1RYQu3AdMF5",[],{"data":135815,"content":135819,"nodeType":996},{"target":135816},{"sys":135817},{"id":135818,"type":1001,"linkType":1002},"3fwFBK03tc5g064k0IyADO",[],{"data":135821,"content":135822,"nodeType":1312},{},[135823],{"data":135824,"marks":135825,"value":135826,"nodeType":864},{},[],"The second method: Microsoft’s graph API",{"data":135828,"content":135829,"nodeType":860},{},[135830],{"data":135831,"marks":135832,"value":135833,"nodeType":864},{},[],"\nMicrosoft’s graph API doesn’t make it possible to list out service principals without admin permissions, but you can enumerate individual OAuth permission grants and app role assignments for your own user account. ",{"data":135835,"content":135836,"nodeType":860},{},[135837],{"data":135838,"marks":135839,"value":135840,"nodeType":864},{},[],"The client ID listed for permission grants is actually the tenant-specific service principal ID, rather than the globally unique OAuth app ID, but the app role assignments call gives us the app display name. We can match up the IDs from the app role assignments with the OAuth permission grants to see which permissions have been granted to the given app. ",{"data":135842,"content":135846,"nodeType":996},{"target":135843},{"sys":135844},{"id":135845,"type":1001,"linkType":1002},"519mlRMbaZYBAVdSADwop7",[],{"data":135848,"content":135852,"nodeType":996},{"target":135849},{"sys":135850},{"id":135851,"type":1001,"linkType":1002},"3g4WBQBEvqx5mXXnZzZzUG",[],{"data":135854,"content":135855,"nodeType":1009},{},[135856],{"data":135857,"marks":135858,"value":135859,"nodeType":864},{},[],"Step 2 - Create shadow workflows",{"data":135861,"content":135862,"nodeType":860},{},[135863],{"data":135864,"marks":135865,"value":135866,"nodeType":864},{},[],"Ok, so we’ve figured out the user already makes use of Zapier and they’ve even already granted access to their email and files - that’s a juicy target we can’t turn down! So the next step is to create our own malicious workflows, or shadow workflows if you will, to get Zapier to do our dirty work for us.",{"data":135868,"content":135869,"nodeType":860},{},[135870],{"data":135871,"marks":135872,"value":135873,"nodeType":864},{},[],"First of all, we’ll see if we can scope out the user’s existing Zapier account to better understand the setup. Then we’ll create a new Zapier account and link it to the target user’s account that we’ve compromised. Here’s how that would work:",{"data":135875,"content":135876,"nodeType":1312},{},[135877],{"data":135878,"marks":135879,"value":135880,"nodeType":864},{},[],"Scope out the existing Zapier account",{"data":135882,"content":135883,"nodeType":860},{},[135884],{"data":135885,"marks":135886,"value":135887,"nodeType":864},{},[],"If the user uses SSO or social logins then we can login directly and, since we now control their Azure account, we can just log directly into their Zapier account!",{"data":135889,"content":135893,"nodeType":996},{"target":135890},{"sys":135891},{"id":135892,"type":1001,"linkType":1002},"5IgmxUEm6n19OBL1cSZVkr",[],{"data":135895,"content":135896,"nodeType":860},{},[135897,135901,135908],{"data":135898,"marks":135899,"value":135900,"nodeType":864},{},[],"Alternatively, if they have created a standard password account, then we might already know the password if it’s the same used for their Azure account. Otherwise, we could potentially make use of an ",{"data":135902,"content":135903,"nodeType":883},{"uri":127950},[135904],{"data":135905,"marks":135906,"value":127956,"nodeType":864},{},[135907],{"type":1455},{"data":135909,"marks":135910,"value":135911,"nodeType":864},{},[]," attack to gain access.",{"data":135913,"content":135914,"nodeType":860},{},[135915,135919,135927],{"data":135916,"marks":135917,"value":135918,"nodeType":864},{},[],"Once we have logged into their account, we can see their existing workflows and integrations. Technically, we could backdoor these or create new ones - a form of an ",{"data":135920,"content":135921,"nodeType":883},{"uri":96606},[135922],{"data":135923,"marks":135924,"value":135926,"nodeType":864},{},[135925],{"type":1455},"abuse existing OAuth integrations",{"data":135928,"marks":135929,"value":135930,"nodeType":864},{},[]," attack. However, that runs the risk of the user discovering our shadow workflows and also almost certainly being locked out of the account during the next password change. ",{"data":135932,"content":135933,"nodeType":860},{},[135934],{"data":135935,"marks":135936,"value":135937,"nodeType":864},{},[],"Instead, we can stick to an evil twin integration from our own Zapier account, which we’ll create later.",{"data":135939,"content":135943,"nodeType":996},{"target":135940},{"sys":135941},{"id":135942,"type":1001,"linkType":1002},"2vhyTcVLq27QVa2HFFWBhH",[],{"data":135945,"content":135949,"nodeType":996},{"target":135946},{"sys":135947},{"id":135948,"type":1001,"linkType":1002},"3jPSdBPSQgigA4yKK1udCV",[],{"data":135951,"content":135952,"nodeType":860},{},[135953],{"data":135954,"marks":135955,"value":135956,"nodeType":864},{},[],"Now we can see what the user was actually using Zapier for — they’ve set up an integration with both Outlook and OneDrive so they can forward emails related to their business expenses to a folder in their OneDrive. Probably a time-saving hack, which we can take advantage of since it won’t be unusual to see Zapier regularly accessing their Outlook and OneDrive. That means our attack will be extra stealthy.",{"data":135958,"content":135959,"nodeType":1312},{},[135960],{"data":135961,"marks":135962,"value":135963,"nodeType":864},{},[],"Create our own malicious Zapier account",{"data":135965,"content":135966,"nodeType":860},{},[135967],{"data":135968,"marks":135969,"value":135970,"nodeType":864},{},[],"Given in this case we, at least temporarily, control the user’s Azure account there is nothing stopping us connecting this to our own malicious Zapier account completely separately from the user’s legitimate Zapier account. We then maintain full control over the Zapier account and the user will not be able to discover our shadow workflows as they won’t have any knowledge of our Zapier account: ",{"data":135972,"content":135973,"nodeType":860},{},[135974],{"data":135975,"marks":135976,"value":135977,"nodeType":864},{},[],"Let’s create our own shadow workflows:",{"data":135979,"content":135980,"nodeType":941},{},[135981,135991],{"data":135982,"content":135983,"nodeType":945},{},[135984],{"data":135985,"content":135986,"nodeType":860},{},[135987],{"data":135988,"marks":135989,"value":135990,"nodeType":864},{},[],"One that sends every new OneDrive file to our own separate Google Drive account. This allows us to maintain a complete view of the user’s files into the future. ",{"data":135992,"content":135993,"nodeType":945},{},[135994],{"data":135995,"content":135996,"nodeType":860},{},[135997],{"data":135998,"marks":135999,"value":136000,"nodeType":864},{},[],"And one to forward every new Outlook email to our own GMail account.",{"data":136002,"content":136006,"nodeType":996},{"target":136003},{"sys":136004},{"id":136005,"type":1001,"linkType":1002},"6eK8uNjPnkrfVjgFzl03SM",[],{"data":136008,"content":136012,"nodeType":996},{"target":136009},{"sys":136010},{"id":136011,"type":1001,"linkType":1002},"6xJvuS374tbflAoNmhnqYP",[],{"data":136014,"content":136015,"nodeType":860},{},[136016],{"data":136017,"marks":136018,"value":136019,"nodeType":864},{},[],"We can now see we are logged in with a separate GMail account, but have created shadow workflows to forward emails from the user’s Outlook to our GMail account and harvest files from their OneDrive to our Google Drive.",{"data":136021,"content":136022,"nodeType":860},{},[136023],{"data":136024,"marks":136025,"value":136026,"nodeType":864},{},[],"The major benefit of creating our own Zapier account for an evil twin integration is that once we are locked out of the target user’s account via a password change or otherwise, not only do our existing shadow workflows continue to operate via OAuth, but we are able to create new shadow workflows and reuse the existing OAuth connections. That’s the power of having full control of the Zapier account. ",{"data":136028,"content":136029,"nodeType":860},{},[136030],{"data":136031,"marks":136032,"value":136033,"nodeType":864},{},[],"One small downside to this approach is that creating the new OAuth integrations inside a new Zapier account generates an interactive login event for the Zapier integrations from the adversary’s IP address. This occurs due to creating integrations from the new Zapier account, but because the user has already consented to all the relevant permissions for Zapier’s own OAuth apps there are no audit logs for new consents or applications, just the login event itself. ",{"data":136035,"content":136036,"nodeType":860},{},[136037,136041],{"data":136038,"marks":136039,"value":136040,"nodeType":864},{},[],"However, determining that a successful login to an app a user legitimately uses is actually malicious in this case is obviously extremely difficult to build detection logic for.   ",{"data":136042,"marks":136043,"value":8618,"nodeType":864},{},[136044],{"type":2246},{"data":136046,"content":136050,"nodeType":996},{"target":136047},{"sys":136048},{"id":136049,"type":1001,"linkType":1002},"1oZBtlL8rNl7TjmfJqRjUG",[],{"data":136052,"content":136053,"nodeType":860},{},[136054],{"data":136055,"marks":136056,"value":136057,"nodeType":864},{},[],"Beyond the initial login events, the only evidence of malicious activity in the future will be from the activity logs showing the actions conducted by our shadow workflows every time they are triggered to run. For example, the following screenshots show that the Zapier Todo app (ClientAppId 29246358-1970-4d6d-bc75-acf34edc758b) has been seen both uploading a file and downloading a file: \n",{"data":136059,"content":136063,"nodeType":996},{"target":136060},{"sys":136061},{"id":136062,"type":1001,"linkType":1002},"2vYOSilB5W05aIHw2ZKqdC",[],{"data":136065,"content":136069,"nodeType":996},{"target":136066},{"sys":136067},{"id":136068,"type":1001,"linkType":1002},"2fFwrdFO25BwY4vI7EKMA0",[],{"data":136071,"content":136072,"nodeType":860},{},[136073],{"data":136074,"marks":136075,"value":136076,"nodeType":864},{},[],"The file upload in this case relates to the legitimate workflow and the file download relates to the shadow workflow. The IP addresses relate to Zapier’s legitimate infrastructure so really only a very thorough and specific investigation is going to be able to uncover that one of these events is malicious.",{"data":136078,"content":136079,"nodeType":1009},{},[136080],{"data":136081,"marks":136082,"value":136083,"nodeType":864},{},[],"Step 3 - Profit",{"data":136085,"content":136086,"nodeType":860},{},[136087],{"data":136088,"marks":136089,"value":136090,"nodeType":864},{},[],"Now we just need to sit back and let our shadow workflows do the work for us, 24/7 and from Zapier’s infrastructure via a legitimate OAuth integration. Here we can see files the user created in OneDrive and emails they received in Outlook mirrored to our own GMail and Google Drive via the magic of shadow workflows.",{"data":136092,"content":136096,"nodeType":996},{"target":136093},{"sys":136094},{"id":136095,"type":1001,"linkType":1002},"4lJBrdJLEVnhBUjgtGo8T1",[],{"data":136098,"content":136102,"nodeType":996},{"target":136099},{"sys":136100},{"id":136101,"type":1001,"linkType":1002},"azQ3IO0n4Idih5LDwOogV",[],{"data":136104,"content":136105,"nodeType":1009},{},[136106],{"data":136107,"marks":136108,"value":110587,"nodeType":864},{},[],{"data":136110,"content":136111,"nodeType":860},{},[136112],{"data":136113,"marks":136114,"value":136115,"nodeType":864},{},[],"Ok, we’ve covered a lot of ground here so it’s worth taking a step back and considering the key impact points of this attack chain:",{"data":136117,"content":136118,"nodeType":941},{},[136119,136129,136139,136149,136159,136212,136222],{"data":136120,"content":136121,"nodeType":945},{},[136122],{"data":136123,"content":136124,"nodeType":860},{},[136125],{"data":136126,"marks":136127,"value":136128,"nodeType":864},{},[],"An adversary who has gained (temporary) access to a user account that supports OAuth integrations can use shadow workflows to execute malicious actions and to maintain persistence",{"data":136130,"content":136131,"nodeType":945},{},[136132],{"data":136133,"content":136134,"nodeType":860},{},[136135],{"data":136136,"marks":136137,"value":136138,"nodeType":864},{},[],"This access will continue even if the user changes their password or resets MFA",{"data":136140,"content":136141,"nodeType":945},{},[136142],{"data":136143,"content":136144,"nodeType":860},{},[136145],{"data":136146,"marks":136147,"value":136148,"nodeType":864},{},[],"Not only do existing shadow workflows continue to work after password changes, an adversary can continue to create new ones and reuse the existing integrations.",{"data":136150,"content":136151,"nodeType":945},{},[136152],{"data":136153,"content":136154,"nodeType":860},{},[136155],{"data":136156,"marks":136157,"value":136158,"nodeType":864},{},[],"Any relevant logs will show access via legitimate IP addresses and OAuth integrations for SaaS automation apps ",{"data":136160,"content":136161,"nodeType":945},{},[136162,136169],{"data":136163,"content":136164,"nodeType":860},{},[136165],{"data":136166,"marks":136167,"value":136168,"nodeType":864},{},[],"Automation apps are so flexible that an adversary can do pretty much anything - it’s basically the offensive PowerShell of the SaaS world. Just some examples:",{"data":136170,"content":136171,"nodeType":941},{},[136172,136182,136192,136202],{"data":136173,"content":136174,"nodeType":945},{},[136175],{"data":136176,"content":136177,"nodeType":860},{},[136178],{"data":136179,"marks":136180,"value":136181,"nodeType":864},{},[],"Monitor all emails and files the user creates",{"data":136183,"content":136184,"nodeType":945},{},[136185],{"data":136186,"content":136187,"nodeType":860},{},[136188],{"data":136189,"marks":136190,"value":136191,"nodeType":864},{},[],"Delete email security alerts before the user sees them",{"data":136193,"content":136194,"nodeType":945},{},[136195],{"data":136196,"content":136197,"nodeType":860},{},[136198],{"data":136199,"marks":136200,"value":136201,"nodeType":864},{},[],"Intercept password reset and passwordless login emails to access other apps",{"data":136203,"content":136204,"nodeType":945},{},[136205],{"data":136206,"content":136207,"nodeType":860},{},[136208],{"data":136209,"marks":136210,"value":136211,"nodeType":864},{},[],"Monitor instant messaging apps and use it to send targeted internal social engineering emails",{"data":136213,"content":136214,"nodeType":945},{},[136215],{"data":136216,"content":136217,"nodeType":860},{},[136218],{"data":136219,"marks":136220,"value":136221,"nodeType":864},{},[],"If targeted users are already using automation apps legitimately, it’s even more stealthy - you won’t even see any new integrations or permission grants appear as the user will have already granted these legitimately.",{"data":136223,"content":136224,"nodeType":945},{},[136225],{"data":136226,"content":136227,"nodeType":860},{},[136228],{"data":136229,"marks":136230,"value":136231,"nodeType":864},{},[],"If admin consent has been granted to the automation app, any user can be targeted without generating new permission grant logs even if they have never used the app.",{"data":136233,"content":136234,"nodeType":1009},{},[136235],{"data":136236,"marks":136237,"value":32492,"nodeType":864},{},[],{"data":136239,"content":136240,"nodeType":860},{},[136241],{"data":136242,"marks":136243,"value":136244,"nodeType":864},{},[],"We have seen how two new SaaS-focused attack techniques can be combined into one more effective attack chain - in this case, a particularly nasty and stealthy persistence technique. This shows how even if a user compromise is detected very early, with password and MFA resets immediately issued, adversaries can maintain control over the account regardless.",{"data":136246,"content":136247,"nodeType":860},{},[136248],{"data":136249,"marks":136250,"value":136251,"nodeType":864},{},[],"This shows how even legitimate SaaS applications have incredibly powerful offensive use cases and very careful attention needs to be paid to integrations with highly sensitive permissions, even when they are approved and vetted applications. Incident response teams especially need to be well aware of these techniques when investigating potential user account compromises as persistence approaches can extend much further than endpoint implants and stolen passwords.","The shadow workflow’s evil twin: A nearly invisible attack chain","2023-09-11T00:00:00.000Z","nearly-invisible-attack-chain",{"items":136256},[136257,136259],{"sys":136258,"name":6593},{"id":6592},{"sys":136260,"name":342},{"id":6596},{"items":136262},[136263],{"fullName":4949,"firstName":4950,"jobTitle":4951,"profilePicture":136264},{"url":4955},"blog/oktajacking",{"json":136267},{"data":136268,"content":136269,"nodeType":856},{},[136270],{"data":136271,"content":136272,"nodeType":860},{},[136273],{"data":136274,"marks":136275,"value":136276,"nodeType":864},{},[],"We’ll explore how Okta’s AD synchronization allows you to force Okta to capture credentials and keylog for you so you can launch convincing phishing attacks. Then we'll demonstrate how it can be used as a stealthy watering-hole style lateral movement attack.",{"id":110045,"publishedAt":136278},"2026-08-12T11:55:44.040Z",{"items":136280},[136281,136283],{"sys":136282,"name":6593},{"id":6592},{"sys":136284,"name":297},{"id":2732},{"items":136286},[136287,136289,136291,136293,136295,136297,136299,136301,136303,136305],{"sys":136288,"name":279,"slug":280,"tier":31},{"id":276},{"sys":136290,"name":413,"slug":414,"tier":31},{"id":410},{"sys":136292,"name":545,"slug":546,"tier":31},{"id":542},{"sys":136294,"name":519,"slug":520,"tier":31},{"id":516},{"sys":136296,"name":342,"slug":343,"tier":31},{"id":339},{"sys":136298,"name":324,"slug":325,"tier":45},{"id":321},{"sys":136300,"name":404,"slug":405,"tier":45},{"id":401},{"sys":136302,"name":607,"slug":608,"tier":45},{"id":604},{"sys":136304,"name":431,"slug":432,"tier":45},{"id":428},{"sys":136306,"name":466,"slug":467,"tier":45},{"id":463},"MUmJg91y9m-huImAsj_zXGOKiU5yELiA7jWmzrfiDPA",{"id":136309,"title":127526,"authorsCollection":136310,"content":136315,"extension":228,"faqItemsCollection":137450,"faqTitle":59,"featured":6,"hashTags":59,"meta":137452,"metaTitle":137453,"ogImage":59,"postType":5740,"publishedDate":127528,"relatedBlogPostsCollection":137454,"slug":127529,"stem":139722,"subtitle":59,"summary":139723,"synopsis":127527,"sys":139734,"tagsCollection":139736,"topicsCollection":139742,"__hash__":139766},"blog/blog/okta-swa.json",{"items":136311},[136312],{"fullName":4949,"firstName":4950,"jobTitle":4951,"socialLinks":136313,"profilePicture":136314},[4953],{"url":4955},{"json":136316,"links":137353},{"data":136317,"content":136318,"nodeType":856},{},[136319,136325,136331,136337,136343,136349,136355,136360,136366,136372,136378,136455,136460,136466,136472,136478,136508,136514,136520,136526,136532,136537,136543,136549,136570,136576,136581,136586,136592,136598,136604,136610,136616,136622,136628,136633,136638,136645,136651,136657,136663,136669,136675,136681,136687,136693,136699,136705,136711,136717,136722,136728,136734,136740,136746,136751,136756,136762,136768,136774,136795,136801,136806,136811,136817,136822,136828,136834,136844,136850,136856,136862,136868,136874,136890,136988,136994,137000,137042,137047,137053,137059,137065,137071,137077,137083,137088,137094,137110,137116,137122,137128,137134,137140,137146,137185,137191,137242,137248,137254,137311,137317,137323,137329,137335,137341,137347],{"data":136320,"content":136321,"nodeType":860},{},[136322],{"data":136323,"marks":136324,"value":126363,"nodeType":864},{},[],{"data":136326,"content":136327,"nodeType":860},{},[136328],{"data":136329,"marks":136330,"value":126370,"nodeType":864},{},[],{"data":136332,"content":136333,"nodeType":1009},{},[136334],{"data":136335,"marks":136336,"value":126377,"nodeType":864},{},[],{"data":136338,"content":136339,"nodeType":860},{},[136340],{"data":136341,"marks":136342,"value":126384,"nodeType":864},{},[],{"data":136344,"content":136345,"nodeType":860},{},[136346],{"data":136347,"marks":136348,"value":126391,"nodeType":864},{},[],{"data":136350,"content":136351,"nodeType":860},{},[136352],{"data":136353,"marks":136354,"value":126398,"nodeType":864},{},[],{"data":136356,"content":136359,"nodeType":996},{"target":136357},{"sys":136358},{"id":126403,"type":1001,"linkType":1002},[],{"data":136361,"content":136362,"nodeType":860},{},[136363],{"data":136364,"marks":136365,"value":126411,"nodeType":864},{},[],{"data":136367,"content":136368,"nodeType":1009},{},[136369],{"data":136370,"marks":136371,"value":126418,"nodeType":864},{},[],{"data":136373,"content":136374,"nodeType":860},{},[136375],{"data":136376,"marks":136377,"value":126425,"nodeType":864},{},[],{"data":136379,"content":136380,"nodeType":941},{},[136381,136394],{"data":136382,"content":136383,"nodeType":945},{},[136384],{"data":136385,"content":136386,"nodeType":860},{},[136387,136391],{"data":136388,"marks":136389,"value":126439,"nodeType":864},{},[136390],{"type":899},{"data":136392,"marks":136393,"value":126443,"nodeType":864},{},[],{"data":136395,"content":136396,"nodeType":945},{},[136397],{"data":136398,"content":136399,"nodeType":860},{},[136400,136404,136407,136414,136417,136424,136428,136431,136438,136442,136445,136452],{"data":136401,"marks":136402,"value":126454,"nodeType":864},{},[136403],{"type":899},{"data":136405,"marks":136406,"value":126458,"nodeType":864},{},[],{"data":136408,"content":136409,"nodeType":883},{"uri":83666},[136410],{"data":136411,"marks":136412,"value":126466,"nodeType":864},{},[136413],{"type":1455},{"data":136415,"marks":136416,"value":3731,"nodeType":864},{},[],{"data":136418,"content":136419,"nodeType":883},{"uri":126472},[136420],{"data":136421,"marks":136422,"value":126478,"nodeType":864},{},[136423],{"type":1455},{"data":136425,"marks":136426,"value":1171,"nodeType":864},{},[136427],{"type":899},{"data":136429,"marks":136430,"value":126486,"nodeType":864},{},[],{"data":136432,"content":136433,"nodeType":883},{"uri":126489},[136434],{"data":136435,"marks":136436,"value":126495,"nodeType":864},{},[136437],{"type":1455},{"data":136439,"marks":136440,"value":2924,"nodeType":864},{},[136441],{"type":899},{"data":136443,"marks":136444,"value":126503,"nodeType":864},{},[],{"data":136446,"content":136447,"nodeType":883},{"uri":83606},[136448],{"data":136449,"marks":136450,"value":126511,"nodeType":864},{},[136451],{"type":1455},{"data":136453,"marks":136454,"value":21,"nodeType":864},{},[],{"data":136456,"content":136459,"nodeType":996},{"target":136457},{"sys":136458},{"id":92011,"type":1001,"linkType":1002},[],{"data":136461,"content":136462,"nodeType":1009},{},[136463],{"data":136464,"marks":136465,"value":126526,"nodeType":864},{},[],{"data":136467,"content":136468,"nodeType":860},{},[136469],{"data":136470,"marks":136471,"value":126533,"nodeType":864},{},[],{"data":136473,"content":136474,"nodeType":860},{},[136475],{"data":136476,"marks":136477,"value":126540,"nodeType":864},{},[],{"data":136479,"content":136480,"nodeType":941},{},[136481,136490,136499],{"data":136482,"content":136483,"nodeType":945},{},[136484],{"data":136485,"content":136486,"nodeType":860},{},[136487],{"data":136488,"marks":136489,"value":126553,"nodeType":864},{},[],{"data":136491,"content":136492,"nodeType":945},{},[136493],{"data":136494,"content":136495,"nodeType":860},{},[136496],{"data":136497,"marks":136498,"value":126563,"nodeType":864},{},[],{"data":136500,"content":136501,"nodeType":945},{},[136502],{"data":136503,"content":136504,"nodeType":860},{},[136505],{"data":136506,"marks":136507,"value":126573,"nodeType":864},{},[],{"data":136509,"content":136510,"nodeType":860},{},[136511],{"data":136512,"marks":136513,"value":126580,"nodeType":864},{},[],{"data":136515,"content":136516,"nodeType":860},{},[136517],{"data":136518,"marks":136519,"value":126587,"nodeType":864},{},[],{"data":136521,"content":136522,"nodeType":860},{},[136523],{"data":136524,"marks":136525,"value":126594,"nodeType":864},{},[],{"data":136527,"content":136528,"nodeType":860},{},[136529],{"data":136530,"marks":136531,"value":126601,"nodeType":864},{},[],{"data":136533,"content":136536,"nodeType":996},{"target":136534},{"sys":136535},{"id":126606,"type":1001,"linkType":1002},[],{"data":136538,"content":136539,"nodeType":860},{},[136540],{"data":136541,"marks":136542,"value":126614,"nodeType":864},{},[],{"data":136544,"content":136545,"nodeType":860},{},[136546],{"data":136547,"marks":136548,"value":126621,"nodeType":864},{},[],{"data":136550,"content":136551,"nodeType":941},{},[136552,136561],{"data":136553,"content":136554,"nodeType":945},{},[136555],{"data":136556,"content":136557,"nodeType":860},{},[136558],{"data":136559,"marks":136560,"value":126634,"nodeType":864},{},[],{"data":136562,"content":136563,"nodeType":945},{},[136564],{"data":136565,"content":136566,"nodeType":860},{},[136567],{"data":136568,"marks":136569,"value":126644,"nodeType":864},{},[],{"data":136571,"content":136572,"nodeType":860},{},[136573],{"data":136574,"marks":136575,"value":126651,"nodeType":864},{},[],{"data":136577,"content":136580,"nodeType":996},{"target":136578},{"sys":136579},{"id":126656,"type":1001,"linkType":1002},[],{"data":136582,"content":136585,"nodeType":996},{"target":136583},{"sys":136584},{"id":126662,"type":1001,"linkType":1002},[],{"data":136587,"content":136588,"nodeType":1009},{},[136589],{"data":136590,"marks":136591,"value":126670,"nodeType":864},{},[],{"data":136593,"content":136594,"nodeType":860},{},[136595],{"data":136596,"marks":136597,"value":126677,"nodeType":864},{},[],{"data":136599,"content":136600,"nodeType":860},{},[136601],{"data":136602,"marks":136603,"value":126684,"nodeType":864},{},[],{"data":136605,"content":136606,"nodeType":1312},{},[136607],{"data":136608,"marks":136609,"value":126691,"nodeType":864},{},[],{"data":136611,"content":136612,"nodeType":860},{},[136613],{"data":136614,"marks":136615,"value":126698,"nodeType":864},{},[],{"data":136617,"content":136618,"nodeType":860},{},[136619],{"data":136620,"marks":136621,"value":126705,"nodeType":864},{},[],{"data":136623,"content":136624,"nodeType":860},{},[136625],{"data":136626,"marks":136627,"value":126712,"nodeType":864},{},[],{"data":136629,"content":136632,"nodeType":996},{"target":136630},{"sys":136631},{"id":126717,"type":1001,"linkType":1002},[],{"data":136634,"content":136637,"nodeType":996},{"target":136635},{"sys":136636},{"id":126723,"type":1001,"linkType":1002},[],{"data":136639,"content":136640,"nodeType":860},{},[136641],{"data":136642,"marks":136643,"value":126732,"nodeType":864},{},[136644],{"type":2246},{"data":136646,"content":136647,"nodeType":860},{},[136648],{"data":136649,"marks":136650,"value":126739,"nodeType":864},{},[],{"data":136652,"content":136653,"nodeType":1312},{},[136654],{"data":136655,"marks":136656,"value":126746,"nodeType":864},{},[],{"data":136658,"content":136659,"nodeType":860},{},[136660],{"data":136661,"marks":136662,"value":126753,"nodeType":864},{},[],{"data":136664,"content":136665,"nodeType":860},{},[136666],{"data":136667,"marks":136668,"value":126760,"nodeType":864},{},[],{"data":136670,"content":136671,"nodeType":860},{},[136672],{"data":136673,"marks":136674,"value":126767,"nodeType":864},{},[],{"data":136676,"content":136677,"nodeType":1312},{},[136678],{"data":136679,"marks":136680,"value":126774,"nodeType":864},{},[],{"data":136682,"content":136683,"nodeType":860},{},[136684],{"data":136685,"marks":136686,"value":126781,"nodeType":864},{},[],{"data":136688,"content":136689,"nodeType":860},{},[136690],{"data":136691,"marks":136692,"value":126788,"nodeType":864},{},[],{"data":136694,"content":136695,"nodeType":1312},{},[136696],{"data":136697,"marks":136698,"value":126795,"nodeType":864},{},[],{"data":136700,"content":136701,"nodeType":860},{},[136702],{"data":136703,"marks":136704,"value":126802,"nodeType":864},{},[],{"data":136706,"content":136707,"nodeType":860},{},[136708],{"data":136709,"marks":136710,"value":126809,"nodeType":864},{},[],{"data":136712,"content":136713,"nodeType":860},{},[136714],{"data":136715,"marks":136716,"value":126816,"nodeType":864},{},[],{"data":136718,"content":136721,"nodeType":996},{"target":136719},{"sys":136720},{"id":102281,"type":1001,"linkType":1002},[],{"data":136723,"content":136724,"nodeType":1009},{},[136725],{"data":136726,"marks":136727,"value":126828,"nodeType":864},{},[],{"data":136729,"content":136730,"nodeType":860},{},[136731],{"data":136732,"marks":136733,"value":126835,"nodeType":864},{},[],{"data":136735,"content":136736,"nodeType":1312},{},[136737],{"data":136738,"marks":136739,"value":126842,"nodeType":864},{},[],{"data":136741,"content":136742,"nodeType":860},{},[136743],{"data":136744,"marks":136745,"value":126849,"nodeType":864},{},[],{"data":136747,"content":136750,"nodeType":996},{"target":136748},{"sys":136749},{"id":126854,"type":1001,"linkType":1002},[],{"data":136752,"content":136755,"nodeType":996},{"target":136753},{"sys":136754},{"id":126860,"type":1001,"linkType":1002},[],{"data":136757,"content":136758,"nodeType":1312},{},[136759],{"data":136760,"marks":136761,"value":126868,"nodeType":864},{},[],{"data":136763,"content":136764,"nodeType":860},{},[136765],{"data":136766,"marks":136767,"value":126875,"nodeType":864},{},[],{"data":136769,"content":136770,"nodeType":860},{},[136771],{"data":136772,"marks":136773,"value":126882,"nodeType":864},{},[],{"data":136775,"content":136776,"nodeType":941},{},[136777,136786],{"data":136778,"content":136779,"nodeType":945},{},[136780],{"data":136781,"content":136782,"nodeType":860},{},[136783],{"data":136784,"marks":136785,"value":126895,"nodeType":864},{},[],{"data":136787,"content":136788,"nodeType":945},{},[136789],{"data":136790,"content":136791,"nodeType":860},{},[136792],{"data":136793,"marks":136794,"value":126905,"nodeType":864},{},[],{"data":136796,"content":136797,"nodeType":860},{},[136798],{"data":136799,"marks":136800,"value":126912,"nodeType":864},{},[],{"data":136802,"content":136805,"nodeType":996},{"target":136803},{"sys":136804},{"id":126917,"type":1001,"linkType":1002},[],{"data":136807,"content":136810,"nodeType":996},{"target":136808},{"sys":136809},{"id":126923,"type":1001,"linkType":1002},[],{"data":136812,"content":136813,"nodeType":860},{},[136814],{"data":136815,"marks":136816,"value":126931,"nodeType":864},{},[],{"data":136818,"content":136821,"nodeType":996},{"target":136819},{"sys":136820},{"id":126936,"type":1001,"linkType":1002},[],{"data":136823,"content":136824,"nodeType":1009},{},[136825],{"data":136826,"marks":136827,"value":126944,"nodeType":864},{},[],{"data":136829,"content":136830,"nodeType":860},{},[136831],{"data":136832,"marks":136833,"value":126951,"nodeType":864},{},[],{"data":136835,"content":136836,"nodeType":860},{},[136837,136841],{"data":136838,"marks":136839,"value":126959,"nodeType":864},{},[136840],{"type":899},{"data":136842,"marks":136843,"value":2924,"nodeType":864},{},[],{"data":136845,"content":136846,"nodeType":860},{},[136847],{"data":136848,"marks":136849,"value":126969,"nodeType":864},{},[],{"data":136851,"content":136852,"nodeType":860},{},[136853],{"data":136854,"marks":136855,"value":126976,"nodeType":864},{},[],{"data":136857,"content":136858,"nodeType":860},{},[136859],{"data":136860,"marks":136861,"value":126983,"nodeType":864},{},[],{"data":136863,"content":136864,"nodeType":860},{},[136865],{"data":136866,"marks":136867,"value":126990,"nodeType":864},{},[],{"data":136869,"content":136870,"nodeType":860},{},[136871],{"data":136872,"marks":136873,"value":126997,"nodeType":864},{},[],{"data":136875,"content":136876,"nodeType":860},{},[136877,136880,136887],{"data":136878,"marks":136879,"value":111749,"nodeType":864},{},[],{"data":136881,"content":136882,"nodeType":883},{"uri":6418},[136883],{"data":136884,"marks":136885,"value":37864,"nodeType":864},{},[136886],{"type":1455},{"data":136888,"marks":136889,"value":127014,"nodeType":864},{},[],{"data":136891,"content":136892,"nodeType":941},{},[136893,136912,136931,136950,136969],{"data":136894,"content":136895,"nodeType":945},{},[136896],{"data":136897,"content":136898,"nodeType":860},{},[136899,136902,136909],{"data":136900,"marks":136901,"value":21,"nodeType":864},{},[],{"data":136903,"content":136904,"nodeType":883},{"uri":36086},[136905],{"data":136906,"marks":136907,"value":111780,"nodeType":864},{},[136908],{"type":1455},{"data":136910,"marks":136911,"value":21,"nodeType":864},{},[],{"data":136913,"content":136914,"nodeType":945},{},[136915],{"data":136916,"content":136917,"nodeType":860},{},[136918,136921,136928],{"data":136919,"marks":136920,"value":21,"nodeType":864},{},[],{"data":136922,"content":136923,"nodeType":883},{"uri":111795},[136924],{"data":136925,"marks":136926,"value":111801,"nodeType":864},{},[136927],{"type":1455},{"data":136929,"marks":136930,"value":21,"nodeType":864},{},[],{"data":136932,"content":136933,"nodeType":945},{},[136934],{"data":136935,"content":136936,"nodeType":860},{},[136937,136940,136947],{"data":136938,"marks":136939,"value":21,"nodeType":864},{},[],{"data":136941,"content":136942,"nodeType":883},{"uri":26784},[136943],{"data":136944,"marks":136945,"value":111821,"nodeType":864},{},[136946],{"type":1455},{"data":136948,"marks":136949,"value":21,"nodeType":864},{},[],{"data":136951,"content":136952,"nodeType":945},{},[136953],{"data":136954,"content":136955,"nodeType":860},{},[136956,136959,136966],{"data":136957,"marks":136958,"value":21,"nodeType":864},{},[],{"data":136960,"content":136961,"nodeType":883},{"uri":96375},[136962],{"data":136963,"marks":136964,"value":111841,"nodeType":864},{},[136965],{"type":1455},{"data":136967,"marks":136968,"value":21,"nodeType":864},{},[],{"data":136970,"content":136971,"nodeType":945},{},[136972],{"data":136973,"content":136974,"nodeType":860},{},[136975,136978,136985],{"data":136976,"marks":136977,"value":21,"nodeType":864},{},[],{"data":136979,"content":136980,"nodeType":883},{"uri":61891},[136981],{"data":136982,"marks":136983,"value":111861,"nodeType":864},{},[136984],{"type":1455},{"data":136986,"marks":136987,"value":21,"nodeType":864},{},[],{"data":136989,"content":136990,"nodeType":1009},{},[136991],{"data":136992,"marks":136993,"value":127119,"nodeType":864},{},[],{"data":136995,"content":136996,"nodeType":860},{},[136997],{"data":136998,"marks":136999,"value":127126,"nodeType":864},{},[],{"data":137001,"content":137002,"nodeType":941},{},[137003,137016,137029],{"data":137004,"content":137005,"nodeType":945},{},[137006],{"data":137007,"content":137008,"nodeType":860},{},[137009,137013],{"data":137010,"marks":137011,"value":127140,"nodeType":864},{},[137012],{"type":899},{"data":137014,"marks":137015,"value":127144,"nodeType":864},{},[],{"data":137017,"content":137018,"nodeType":945},{},[137019],{"data":137020,"content":137021,"nodeType":860},{},[137022,137026],{"data":137023,"marks":137024,"value":127155,"nodeType":864},{},[137025],{"type":899},{"data":137027,"marks":137028,"value":127159,"nodeType":864},{},[],{"data":137030,"content":137031,"nodeType":945},{},[137032],{"data":137033,"content":137034,"nodeType":860},{},[137035,137039],{"data":137036,"marks":137037,"value":127170,"nodeType":864},{},[137038],{"type":899},{"data":137040,"marks":137041,"value":127174,"nodeType":864},{},[],{"data":137043,"content":137046,"nodeType":996},{"target":137044},{"sys":137045},{"id":127179,"type":1001,"linkType":1002},[],{"data":137048,"content":137049,"nodeType":860},{},[137050],{"data":137051,"marks":137052,"value":127187,"nodeType":864},{},[],{"data":137054,"content":137055,"nodeType":1312},{},[137056],{"data":137057,"marks":137058,"value":127194,"nodeType":864},{},[],{"data":137060,"content":137061,"nodeType":860},{},[137062],{"data":137063,"marks":137064,"value":127201,"nodeType":864},{},[],{"data":137066,"content":137067,"nodeType":860},{},[137068],{"data":137069,"marks":137070,"value":127208,"nodeType":864},{},[],{"data":137072,"content":137073,"nodeType":860},{},[137074],{"data":137075,"marks":137076,"value":127215,"nodeType":864},{},[],{"data":137078,"content":137079,"nodeType":860},{},[137080],{"data":137081,"marks":137082,"value":127222,"nodeType":864},{},[],{"data":137084,"content":137087,"nodeType":996},{"target":137085},{"sys":137086},{"id":127227,"type":1001,"linkType":1002},[],{"data":137089,"content":137090,"nodeType":860},{},[137091],{"data":137092,"marks":137093,"value":127235,"nodeType":864},{},[],{"data":137095,"content":137096,"nodeType":860},{},[137097,137100,137107],{"data":137098,"marks":137099,"value":127242,"nodeType":864},{},[],{"data":137101,"content":137102,"nodeType":883},{"uri":127245},[137103],{"data":137104,"marks":137105,"value":127251,"nodeType":864},{},[137106],{"type":1455},{"data":137108,"marks":137109,"value":2924,"nodeType":864},{},[],{"data":137111,"content":137112,"nodeType":1009},{},[137113],{"data":137114,"marks":137115,"value":127261,"nodeType":864},{},[],{"data":137117,"content":137118,"nodeType":860},{},[137119],{"data":137120,"marks":137121,"value":127268,"nodeType":864},{},[],{"data":137123,"content":137124,"nodeType":860},{},[137125],{"data":137126,"marks":137127,"value":127275,"nodeType":864},{},[],{"data":137129,"content":137130,"nodeType":860},{},[137131],{"data":137132,"marks":137133,"value":127282,"nodeType":864},{},[],{"data":137135,"content":137136,"nodeType":860},{},[137137],{"data":137138,"marks":137139,"value":127289,"nodeType":864},{},[],{"data":137141,"content":137142,"nodeType":860},{},[137143],{"data":137144,"marks":137145,"value":127296,"nodeType":864},{},[],{"data":137147,"content":137148,"nodeType":941},{},[137149,137158,137167,137176],{"data":137150,"content":137151,"nodeType":945},{},[137152],{"data":137153,"content":137154,"nodeType":860},{},[137155],{"data":137156,"marks":137157,"value":127309,"nodeType":864},{},[],{"data":137159,"content":137160,"nodeType":945},{},[137161],{"data":137162,"content":137163,"nodeType":860},{},[137164],{"data":137165,"marks":137166,"value":127319,"nodeType":864},{},[],{"data":137168,"content":137169,"nodeType":945},{},[137170],{"data":137171,"content":137172,"nodeType":860},{},[137173],{"data":137174,"marks":137175,"value":127329,"nodeType":864},{},[],{"data":137177,"content":137178,"nodeType":945},{},[137179],{"data":137180,"content":137181,"nodeType":860},{},[137182],{"data":137183,"marks":137184,"value":127339,"nodeType":864},{},[],{"data":137186,"content":137187,"nodeType":860},{},[137188],{"data":137189,"marks":137190,"value":127346,"nodeType":864},{},[],{"data":137192,"content":137193,"nodeType":941},{},[137194,137223],{"data":137195,"content":137196,"nodeType":945},{},[137197],{"data":137198,"content":137199,"nodeType":860},{},[137200,137203,137210,137213,137220],{"data":137201,"marks":137202,"value":127359,"nodeType":864},{},[],{"data":137204,"content":137205,"nodeType":883},{"uri":36086},[137206],{"data":137207,"marks":137208,"value":96392,"nodeType":864},{},[137209],{"type":1455},{"data":137211,"marks":137212,"value":902,"nodeType":864},{},[],{"data":137214,"content":137215,"nodeType":883},{"uri":26784},[137216],{"data":137217,"marks":137218,"value":17706,"nodeType":864},{},[137219],{"type":1455},{"data":137221,"marks":137222,"value":21,"nodeType":864},{},[],{"data":137224,"content":137225,"nodeType":945},{},[137226],{"data":137227,"content":137228,"nodeType":860},{},[137229,137232,137239],{"data":137230,"marks":137231,"value":127389,"nodeType":864},{},[],{"data":137233,"content":137234,"nodeType":883},{"uri":111795},[137235],{"data":137236,"marks":137237,"value":127397,"nodeType":864},{},[137238],{"type":1455},{"data":137240,"marks":137241,"value":127401,"nodeType":864},{},[],{"data":137243,"content":137244,"nodeType":1009},{},[137245],{"data":137246,"marks":137247,"value":110587,"nodeType":864},{},[],{"data":137249,"content":137250,"nodeType":860},{},[137251],{"data":137252,"marks":137253,"value":127414,"nodeType":864},{},[],{"data":137255,"content":137256,"nodeType":941},{},[137257,137266,137275,137284,137293,137302],{"data":137258,"content":137259,"nodeType":945},{},[137260],{"data":137261,"content":137262,"nodeType":860},{},[137263],{"data":137264,"marks":137265,"value":127427,"nodeType":864},{},[],{"data":137267,"content":137268,"nodeType":945},{},[137269],{"data":137270,"content":137271,"nodeType":860},{},[137272],{"data":137273,"marks":137274,"value":127437,"nodeType":864},{},[],{"data":137276,"content":137277,"nodeType":945},{},[137278],{"data":137279,"content":137280,"nodeType":860},{},[137281],{"data":137282,"marks":137283,"value":127447,"nodeType":864},{},[],{"data":137285,"content":137286,"nodeType":945},{},[137287],{"data":137288,"content":137289,"nodeType":860},{},[137290],{"data":137291,"marks":137292,"value":127457,"nodeType":864},{},[],{"data":137294,"content":137295,"nodeType":945},{},[137296],{"data":137297,"content":137298,"nodeType":860},{},[137299],{"data":137300,"marks":137301,"value":127467,"nodeType":864},{},[],{"data":137303,"content":137304,"nodeType":945},{},[137305],{"data":137306,"content":137307,"nodeType":860},{},[137308],{"data":137309,"marks":137310,"value":127477,"nodeType":864},{},[],{"data":137312,"content":137313,"nodeType":1009},{},[137314],{"data":137315,"marks":137316,"value":32492,"nodeType":864},{},[],{"data":137318,"content":137319,"nodeType":860},{},[137320],{"data":137321,"marks":137322,"value":127490,"nodeType":864},{},[],{"data":137324,"content":137325,"nodeType":860},{},[137326],{"data":137327,"marks":137328,"value":127497,"nodeType":864},{},[],{"data":137330,"content":137331,"nodeType":860},{},[137332],{"data":137333,"marks":137334,"value":127504,"nodeType":864},{},[],{"data":137336,"content":137337,"nodeType":860},{},[137338],{"data":137339,"marks":137340,"value":127511,"nodeType":864},{},[],{"data":137342,"content":137343,"nodeType":860},{},[137344],{"data":137345,"marks":137346,"value":127518,"nodeType":864},{},[],{"data":137348,"content":137349,"nodeType":860},{},[137350],{"data":137351,"marks":137352,"value":127525,"nodeType":864},{},[],{"entries":137354},{"hyperlink":137355,"inline":137356,"block":137357},[],[],[137358,137365,137367,137374,137382,137390,137398,137402,137404,137411,137418,137425,137431,137437,137443],{"sys":137359,"__typename":1724,"title":137360,"caption":59,"layoutMode":59,"file":137361},{"id":126403},"SWA for Salesforce ",{"url":137362,"width":137363,"height":137364},"https://images.ctfassets.net/y1cdw1ablpvd/3aoL5dRRGM3VL3k6GDXmHg/db100cfc57bf0fa34bd822d5f475984f/image10.png",1053,1007,{"sys":137366,"__typename":1717,"type":80540,"ctaText":125792,"buttonLabel":125793,"buttonColour":1721,"buttonUrl":59},{"id":92011},{"sys":137368,"__typename":1724,"title":137369,"caption":59,"layoutMode":59,"file":137370},{"id":126606},"SWA configuration",{"url":137371,"width":137372,"height":137373},"https://images.ctfassets.net/y1cdw1ablpvd/78s95OShHAzkXFlc7e14Hd/b6ac238115249a5fe71080bf0142a9dc/image13.png",682,293,{"sys":137375,"__typename":1724,"title":137376,"caption":137377,"layoutMode":59,"file":137378},{"id":126656},"SWA credential details","Administrators can disable password reveal on a per-app basis, as can be seen by unchecking the box here",{"url":137379,"width":137380,"height":137381},"https://images.ctfassets.net/y1cdw1ablpvd/3FrFNvcjFdBXGtf0ynfLZ/b4d0f5d15787e8a084faeca8512e2725/image8.png",684,243,{"sys":137383,"__typename":1724,"title":137384,"caption":137385,"layoutMode":59,"file":137386},{"id":126662},"Salesforce login","When password reveal is disabled, users see this message and cannot request the credentials",{"url":137387,"width":137388,"height":137389},"https://images.ctfassets.net/y1cdw1ablpvd/6q0nLXJSCURTJWZblqT9vq/a69e68276777f1a9f3ad7ebe89ebc139/image6.png",326,532,{"sys":137391,"__typename":1724,"title":137392,"caption":137393,"layoutMode":59,"file":137394},{"id":126717},"Okta extension","Clicking the Salesforce login button triggers a web request which returns the data shown below (and which is visible to the user through for example the browser’s built-in devtools)",{"url":137395,"width":137396,"height":137397},"https://images.ctfassets.net/y1cdw1ablpvd/LyjRr43VyfcQWpzlV3EQ5/56081e155d8a3fcb8d3aa80def11ff26/image7.png",453,504,{"sys":137399,"__typename":53152,"name":137400,"type":228,"syntax":137401},{"id":126723},"Salesforce web request data","GET /api/plugin/2/app/salesforce/0oa5ybnree2VPL6EA0x7/flow?plugin_version=6.20.0-73.101.0 HTTP/2\n\n\n{\n  \"scripts\": {\n    \"script\": [\n      {\n        \"action\": [\n          {\n            \"id\": \"username\",\n            \"value\": \"lukejennings@bugcrowdninja.com\",\n            ...\n          },\n          {\n                        \"id\": \"password\",\n                       \"value\": \"MySalesforcePassword1\",\n            ...\n          },\n          {\n            \"type\": \"click\",\n\n\n\n            \"element\": \"css=input[id=\\\"Login\\\"]\",\n            ...\n          }\n        ],\n        \"name\": \"Login\"\n      }\n    ]\n  },\n  \"urls\": {\n    \"match\": [\n      {\n        \"exact\": false,\n        \"isRegex\": false,\n        \"matchFrames\": false,\n        \"url\": \"https://login.salesforce.com\",\n        \"scriptName\": \"Login\"\n      }\n    ]\n  },\n  \"annotated\": false,\n  \"hasEncryptedValues\": false,\n  \"appName\": \"salesforce\",\n  \"signOnModeType\": \"BROWSER_PLUGIN\"\n}\n",{"sys":137403,"__typename":1717,"type":47670,"ctaText":132414,"buttonLabel":132415,"buttonColour":66936,"buttonUrl":59},{"id":102281},{"sys":137405,"__typename":1724,"title":137406,"caption":59,"layoutMode":59,"file":137407},{"id":126854},"Password reveal API",{"url":137408,"width":137409,"height":137410},"https://images.ctfassets.net/y1cdw1ablpvd/4mqIfbFwKPhLepm4he2skV/194964f3261c5a9e564899068049e54d/image3.png",676,130,{"sys":137412,"__typename":1724,"title":137413,"caption":59,"layoutMode":59,"file":137414},{"id":126860},"Password reveal API 2",{"url":137415,"width":137416,"height":137417},"https://images.ctfassets.net/y1cdw1ablpvd/66tquT2FlW6ZEkzwu3eGH1/292c902f9a364e2dc3b25506ac4ecb13/image11.png",1069,463,{"sys":137419,"__typename":1724,"title":137420,"caption":59,"layoutMode":59,"file":137421},{"id":126917},"Okta token storage",{"url":137422,"width":137423,"height":137424},"https://images.ctfassets.net/y1cdw1ablpvd/3JyyiqyemQR7HeztvdB98u/a35a82a49e4ef168579a52de66ea6892/image14.png",906,404,{"sys":137426,"__typename":1724,"title":137427,"caption":59,"layoutMode":59,"file":137428},{"id":126923},"Okta token storage 2",{"url":137429,"width":137430,"height":50200},"https://images.ctfassets.net/y1cdw1ablpvd/1gUig6FNPvlAqGaqSoBrbM/36afab96a0c4d2a1ec4ac64a7c34f066/image4.png",898,{"sys":137432,"__typename":1724,"title":137433,"caption":59,"layoutMode":59,"file":137434},{"id":126936},"Okta internal POC",{"url":137435,"width":1736,"height":137436},"https://images.ctfassets.net/y1cdw1ablpvd/naYWcydapvxMisBc4I0d2/41e0b5e816b38927354e39d39414d97f/image5.png",350,{"sys":137438,"__typename":1724,"title":137439,"caption":59,"layoutMode":59,"file":137440},{"id":127179},"Okta log events",{"url":137441,"width":137442,"height":125758},"https://images.ctfassets.net/y1cdw1ablpvd/7g9KCqO9mqC9mxaJH4O8u5/8062fc4441cd42371c0a97642a6d8de5/image2.png",999,{"sys":137444,"__typename":1724,"title":137445,"caption":59,"layoutMode":59,"file":137446},{"id":127227},"Logs generated by our internal SWA password dumping tool",{"url":137447,"width":137448,"height":137449},"https://images.ctfassets.net/y1cdw1ablpvd/3Ok01IBCObf6bsLmOeWLA1/727605fae8500d4e9c2284299ea82617/image1.png",1016,724,{"items":137451},[],{},"Abusing Okta's SWA authentication method",{"items":137455},[137456,138778,139525],{"__typename":2059,"sys":137457,"content":137459,"title":138765,"synopsis":137476,"hashTags":59,"publishedDate":138766,"slug":138767,"tagsCollection":138768,"authorsCollection":138774},{"id":137458},"3JXKiUMGU8JBpndhLRYOCJ",{"json":137460},{"data":137461,"content":137462,"nodeType":856},{},[137463,137470,137477,137483,137490,137512,137519,137525,137532,137539,137546,137581,137587,137594,137712,137719,137726,137982,137989,137996,138002,138035,138042,138049,138055,138062,138068,138075,138082,138088,138095,138102,138108,138115,138122,138128,138135,138151,138157,138164,138196,138203,138223,138230,138237,138244,138250,138288,138308,138361,138368,138375,138395,138414,138421,138454,138460,138467,138474,138481,138488,138495,138502,138522,138528,138535,138554,138561,138568,138574,138581,138588,138594,138601,138647,138654,138660,138667,138673,138680,138687,138720,138726,138733,138740,138747,138754,138759],{"data":137464,"content":137465,"nodeType":860},{},[137466],{"data":137467,"marks":137468,"value":137469,"nodeType":864},{},[],"With the proliferation of SaaS apps and integrations comes an equal helping of uncertainty surrounding the associated security risks. If you’ve ever found yourself in a position where you’ve had to review a SaaS app integration, whether it’s during the remediation stage of an incident or simply during the process of tending to a user request, then keep on reading. ",{"data":137471,"content":137472,"nodeType":860},{},[137473],{"data":137474,"marks":137475,"value":137476,"nodeType":864},{},[],"This article covers common ways an app could lead to compromise in Microsoft Azure, and what to look out for when determining risk to your organization.",{"data":137478,"content":137479,"nodeType":1009},{},[137480],{"data":137481,"marks":137482,"value":40403,"nodeType":864},{},[],{"data":137484,"content":137485,"nodeType":1312},{},[137486],{"data":137487,"marks":137488,"value":137489,"nodeType":864},{},[],"The issue:",{"data":137491,"content":137492,"nodeType":860},{},[137493,137497,137508],{"data":137494,"marks":137495,"value":137496,"nodeType":864},{},[],"This method of compromising user accounts has been covered a ",{"data":137498,"content":137502,"nodeType":27604},{"target":137499},{"sys":137500},{"id":137501,"type":1001,"linkType":1002},"1bV8YTSQHvveCTnRc4H8su",[137503],{"data":137504,"marks":137505,"value":137507,"nodeType":864},{},[137506],{"type":1455},"few times",{"data":137509,"marks":137510,"value":137511,"nodeType":864},{},[]," by Push. Without rehashing too much of the content, the main idea behind consent phishing is to get a user to perform an integration while the app masquerades as something official. ",{"data":137513,"content":137514,"nodeType":860},{},[137515],{"data":137516,"marks":137517,"value":137518,"nodeType":864},{},[],"As an example, a user is sent an email where the content is either surprisingly legitimate, or sparks sufficient curiosity to make them want to access the data behind the link. They are directed to a Microsoft or Google login page, where the app asks for certain permissions, such as mailbox access. The user, having performed these actions before, thinks nothing of it and clicks ‘allow’. The attacker successfully tricked the user to give them access to their mailbox (or whichever privileges the app was requesting).",{"data":137520,"content":137524,"nodeType":996},{"target":137521},{"sys":137522},{"id":137523,"type":1001,"linkType":1002},"2zeeE8NrgX4MnpHdIjszot",[],{"data":137526,"content":137527,"nodeType":1312},{},[137528],{"data":137529,"marks":137530,"value":137531,"nodeType":864},{},[],"The solution:",{"data":137533,"content":137534,"nodeType":860},{},[137535],{"data":137536,"marks":137537,"value":137538,"nodeType":864},{},[],"There are two ways to help prevent this type of compromise:",{"data":137540,"content":137541,"nodeType":860},{},[137542],{"data":137543,"marks":137544,"value":137545,"nodeType":864},{},[],"The first is to go the “block everything” route by preventing any integrations from being added to your tenants at all. This is quite heavy-handed and a bit like throwing the baby out with the bathwater, as this approach leads to IT/security departments becoming known as the departments of ‘NO’, potentially resulting in users circumventing controls, and the emergence of shadow IT.",{"data":137547,"content":137548,"nodeType":860},{},[137549,137553,137562,137566,137577],{"data":137550,"marks":137551,"value":137552,"nodeType":864},{},[],"The second is to be sensible about what to allow and what to prevent during SaaS integrations. For instance, in Microsoft 365 administrators are able to ",{"data":137554,"content":137556,"nodeType":883},{"uri":137555},"https://learn.microsoft.com/en-us/azure/active-directory/manage-apps/configure-permission-classifications",[137557],{"data":137558,"marks":137559,"value":137561,"nodeType":864},{},[137560],{"type":1455},"specify low-risk scopes",{"data":137563,"marks":137564,"value":137565,"nodeType":864},{},[],", such as ones specifically used for performing social logins (which are okay to do ",{"data":137567,"content":137571,"nodeType":27604},{"target":137568},{"sys":137569},{"id":137570,"type":1001,"linkType":1002},"68syxk4cmD6QOdVRcDqgEZ",[137572],{"data":137573,"marks":137574,"value":137576,"nodeType":864},{},[137575],{"type":1455},"by the way",{"data":137578,"marks":137579,"value":137580,"nodeType":864},{},[],"). Admins can then allow employees to perform social logins, and integrate apps making use of other low-risk scopes from  verified apps only. Employees can also request access to anything requiring other scopes. This is a great way to enable users to perform their jobs, while preventing them from accidentally exposing themselves or the wider organization to unnecessary risk.",{"data":137582,"content":137586,"nodeType":996},{"target":137583},{"sys":137584},{"id":137585,"type":1001,"linkType":1002},"44NsMwlLpX4qnZP94GyTSO",[],{"data":137588,"content":137589,"nodeType":860},{},[137590],{"data":137591,"marks":137592,"value":137593,"nodeType":864},{},[],"When configuring the above for the first time, Microsoft provides a list of 5 scopes:",{"data":137595,"content":137596,"nodeType":4845},{},[137597,137620,137643,137666,137689],{"data":137598,"content":137599,"nodeType":4581},{},[137600,137610],{"data":137601,"content":137602,"nodeType":4569},{},[137603],{"data":137604,"content":137605,"nodeType":860},{},[137606],{"data":137607,"marks":137608,"value":137609,"nodeType":864},{},[],"profile",{"data":137611,"content":137612,"nodeType":4569},{},[137613],{"data":137614,"content":137615,"nodeType":860},{},[137616],{"data":137617,"marks":137618,"value":137619,"nodeType":864},{},[],"View user's basic profile",{"data":137621,"content":137622,"nodeType":4581},{},[137623,137633],{"data":137624,"content":137625,"nodeType":4569},{},[137626],{"data":137627,"content":137628,"nodeType":860},{},[137629],{"data":137630,"marks":137631,"value":137632,"nodeType":864},{},[],"openid",{"data":137634,"content":137635,"nodeType":4569},{},[137636],{"data":137637,"content":137638,"nodeType":860},{},[137639],{"data":137640,"marks":137641,"value":137642,"nodeType":864},{},[],"Sign users in",{"data":137644,"content":137645,"nodeType":4581},{},[137646,137656],{"data":137647,"content":137648,"nodeType":4569},{},[137649],{"data":137650,"content":137651,"nodeType":860},{},[137652],{"data":137653,"marks":137654,"value":137655,"nodeType":864},{},[],"email",{"data":137657,"content":137658,"nodeType":4569},{},[137659],{"data":137660,"content":137661,"nodeType":860},{},[137662],{"data":137663,"marks":137664,"value":137665,"nodeType":864},{},[],"View user's email address",{"data":137667,"content":137668,"nodeType":4581},{},[137669,137679],{"data":137670,"content":137671,"nodeType":4569},{},[137672],{"data":137673,"content":137674,"nodeType":860},{},[137675],{"data":137676,"marks":137677,"value":137678,"nodeType":864},{},[],"User.Read",{"data":137680,"content":137681,"nodeType":4569},{},[137682],{"data":137683,"content":137684,"nodeType":860},{},[137685],{"data":137686,"marks":137687,"value":137688,"nodeType":864},{},[],"Sign in and read user profile",{"data":137690,"content":137691,"nodeType":4581},{},[137692,137702],{"data":137693,"content":137694,"nodeType":4569},{},[137695],{"data":137696,"content":137697,"nodeType":860},{},[137698],{"data":137699,"marks":137700,"value":137701,"nodeType":864},{},[],"Offline_access",{"data":137703,"content":137704,"nodeType":4569},{},[137705],{"data":137706,"content":137707,"nodeType":860},{},[137708],{"data":137709,"marks":137710,"value":137711,"nodeType":864},{},[],"Maintain access to data you. have given it access to (refresh tokens)",{"data":137713,"content":137714,"nodeType":860},{},[137715],{"data":137716,"marks":137717,"value":137718,"nodeType":864},{},[],"The above scopes are the minimum required to enable social logins to take place, and would cover a good amount of apps that only require basic information for account creation purposes. ",{"data":137720,"content":137721,"nodeType":860},{},[137722],{"data":137723,"marks":137724,"value":137725,"nodeType":864},{},[],"If you’d like to go a step further, you should also consider approving the following to allow users to integrate these relatively common scopes from verified apps:",{"data":137727,"content":137728,"nodeType":4845},{},[137729,137752,137775,137798,137821,137844,137867,137890,137913,137936,137959],{"data":137730,"content":137731,"nodeType":4581},{},[137732,137742],{"data":137733,"content":137734,"nodeType":4569},{},[137735],{"data":137736,"content":137737,"nodeType":860},{},[137738],{"data":137739,"marks":137740,"value":137741,"nodeType":864},{},[],"Calendars.Read",{"data":137743,"content":137744,"nodeType":4569},{},[137745],{"data":137746,"content":137747,"nodeType":860},{},[137748],{"data":137749,"marks":137750,"value":137751,"nodeType":864},{},[],"Read user calendars",{"data":137753,"content":137754,"nodeType":4581},{},[137755,137765],{"data":137756,"content":137757,"nodeType":4569},{},[137758],{"data":137759,"content":137760,"nodeType":860},{},[137761],{"data":137762,"marks":137763,"value":137764,"nodeType":864},{},[],"Calendars.ReadWrite",{"data":137766,"content":137767,"nodeType":4569},{},[137768],{"data":137769,"content":137770,"nodeType":860},{},[137771],{"data":137772,"marks":137773,"value":137774,"nodeType":864},{},[],"Have full access to user calendars",{"data":137776,"content":137777,"nodeType":4581},{},[137778,137788],{"data":137779,"content":137780,"nodeType":4569},{},[137781],{"data":137782,"content":137783,"nodeType":860},{},[137784],{"data":137785,"marks":137786,"value":137787,"nodeType":864},{},[],"Calendars.ReadWrite.Shared",{"data":137789,"content":137790,"nodeType":4569},{},[137791],{"data":137792,"content":137793,"nodeType":860},{},[137794],{"data":137795,"marks":137796,"value":137797,"nodeType":864},{},[],"Read and write user and shared calendars",{"data":137799,"content":137800,"nodeType":4581},{},[137801,137811],{"data":137802,"content":137803,"nodeType":4569},{},[137804],{"data":137805,"content":137806,"nodeType":860},{},[137807],{"data":137808,"marks":137809,"value":137810,"nodeType":864},{},[],"Contacts.Read",{"data":137812,"content":137813,"nodeType":4569},{},[137814],{"data":137815,"content":137816,"nodeType":860},{},[137817],{"data":137818,"marks":137819,"value":137820,"nodeType":864},{},[],"Read user contacts",{"data":137822,"content":137823,"nodeType":4581},{},[137824,137834],{"data":137825,"content":137826,"nodeType":4569},{},[137827],{"data":137828,"content":137829,"nodeType":860},{},[137830],{"data":137831,"marks":137832,"value":137833,"nodeType":864},{},[],"Contacts.Read.Shared",{"data":137835,"content":137836,"nodeType":4569},{},[137837],{"data":137838,"content":137839,"nodeType":860},{},[137840],{"data":137841,"marks":137842,"value":137843,"nodeType":864},{},[],"Read user and shared contacts",{"data":137845,"content":137846,"nodeType":4581},{},[137847,137857],{"data":137848,"content":137849,"nodeType":4569},{},[137850],{"data":137851,"content":137852,"nodeType":860},{},[137853],{"data":137854,"marks":137855,"value":137856,"nodeType":864},{},[],"Contacts.ReadWrite",{"data":137858,"content":137859,"nodeType":4569},{},[137860],{"data":137861,"content":137862,"nodeType":860},{},[137863],{"data":137864,"marks":137865,"value":137866,"nodeType":864},{},[],"Have full access to user contacts",{"data":137868,"content":137869,"nodeType":4581},{},[137870,137880],{"data":137871,"content":137872,"nodeType":4569},{},[137873],{"data":137874,"content":137875,"nodeType":860},{},[137876],{"data":137877,"marks":137878,"value":137879,"nodeType":864},{},[],"Contacts.ReadWrite.Shared",{"data":137881,"content":137882,"nodeType":4569},{},[137883],{"data":137884,"content":137885,"nodeType":860},{},[137886],{"data":137887,"marks":137888,"value":137889,"nodeType":864},{},[],"Read and write user and shared contacts",{"data":137891,"content":137892,"nodeType":4581},{},[137893,137903],{"data":137894,"content":137895,"nodeType":4569},{},[137896],{"data":137897,"content":137898,"nodeType":860},{},[137899],{"data":137900,"marks":137901,"value":137902,"nodeType":864},{},[],"People.Read",{"data":137904,"content":137905,"nodeType":4569},{},[137906],{"data":137907,"content":137908,"nodeType":860},{},[137909],{"data":137910,"marks":137911,"value":137912,"nodeType":864},{},[],"Read users' relevant people lists",{"data":137914,"content":137915,"nodeType":4581},{},[137916,137926],{"data":137917,"content":137918,"nodeType":4569},{},[137919],{"data":137920,"content":137921,"nodeType":860},{},[137922],{"data":137923,"marks":137924,"value":137925,"nodeType":864},{},[],"Files.Read.Selected",{"data":137927,"content":137928,"nodeType":4569},{},[137929],{"data":137930,"content":137931,"nodeType":860},{},[137932],{"data":137933,"marks":137934,"value":137935,"nodeType":864},{},[],"Read files that the user selects",{"data":137937,"content":137938,"nodeType":4581},{},[137939,137949],{"data":137940,"content":137941,"nodeType":4569},{},[137942],{"data":137943,"content":137944,"nodeType":860},{},[137945],{"data":137946,"marks":137947,"value":137948,"nodeType":864},{},[],"Files.ReadWrite.Selected",{"data":137950,"content":137951,"nodeType":4569},{},[137952],{"data":137953,"content":137954,"nodeType":860},{},[137955],{"data":137956,"marks":137957,"value":137958,"nodeType":864},{},[],"Read and write files that the user selects",{"data":137960,"content":137961,"nodeType":4581},{},[137962,137972],{"data":137963,"content":137964,"nodeType":4569},{},[137965],{"data":137966,"content":137967,"nodeType":860},{},[137968],{"data":137969,"marks":137970,"value":137971,"nodeType":864},{},[],"User.ReadWrite",{"data":137973,"content":137974,"nodeType":4569},{},[137975],{"data":137976,"content":137977,"nodeType":860},{},[137978],{"data":137979,"marks":137980,"value":137981,"nodeType":864},{},[],"Read and write access to user profile",{"data":137983,"content":137984,"nodeType":860},{},[137985],{"data":137986,"marks":137987,"value":137988,"nodeType":864},{},[],"We’ve determined these scopes to be relatively low-risk, but this would depend on the risk appetite of your organization. Pre-approving the scopes will go a long way towards enabling your users to make use of SaaS apps without raising unnecessary approval requests from your IT or security team.",{"data":137990,"content":137991,"nodeType":1009},{},[137992],{"data":137993,"marks":137994,"value":137995,"nodeType":864},{},[],"Unverified apps",{"data":137997,"content":137998,"nodeType":1312},{},[137999],{"data":138000,"marks":138001,"value":137489,"nodeType":864},{},[],{"data":138003,"content":138004,"nodeType":860},{},[138005,138009,138018,138022,138031],{"data":138006,"marks":138007,"value":138008,"nodeType":864},{},[],"First, let’s define what causes an app to be classified as unverified. When you see an app in your tenant that’s marked as unverified, it means that the tenant that publishes the app has not gone through the ",{"data":138010,"content":138012,"nodeType":883},{"uri":138011},"https://learn.microsoft.com/en-gb/azure/active-directory/develop/publisher-verification-overview",[138013],{"data":138014,"marks":138015,"value":138017,"nodeType":864},{},[138016],{"type":1455},"Publisher Verification",{"data":138019,"marks":138020,"value":138021,"nodeType":864},{},[]," process. Going through the verification process requires the publisher to have a Microsoft Partner Network (MPN) account, which typically involves ",{"data":138023,"content":138025,"nodeType":883},{"uri":138024},"https://learn.microsoft.com/en-us/partner-center/verification-responses",[138026],{"data":138027,"marks":138028,"value":138030,"nodeType":864},{},[138029],{"type":1455},"verifying",{"data":138032,"marks":138033,"value":138034,"nodeType":864},{},[]," their business address, email address, and a few additional due diligence tasks. ",{"data":138036,"content":138037,"nodeType":860},{},[138038],{"data":138039,"marks":138040,"value":138041,"nodeType":864},{},[],"While I’m sure this is not a 100% infallible process, at the very least it provides you with the confidence that someone at Microsoft had reached out to the company and spoken to someone who claims they are who they say they are. This is opposed to a random person creating a Microsoft Azure tenant and marking their app as being published by Adobe, as an example.",{"data":138043,"content":138044,"nodeType":860},{},[138045],{"data":138046,"marks":138047,"value":138048,"nodeType":864},{},[],"At Push, we’ve noticed plenty of unverified apps published by legitimate vendors. This could be related to vendors having multiple tenants, and not having completed the verification process across all yet. As an example, we have a few of Adobe’s apps for Microsoft 365:",{"data":138050,"content":138054,"nodeType":996},{"target":138051},{"sys":138052},{"id":138053,"type":1001,"linkType":1002},"4eDWZKrMau1AfU4pXgOW42",[],{"data":138056,"content":138057,"nodeType":860},{},[138058],{"data":138059,"marks":138060,"value":138061,"nodeType":864},{},[],"In the above image, we have a verified app from Adobe, Inc. We know this due to the ‘Verified Publisher’ attribute that is included when parsing the information provided by Microsoft. We can also see that the only reply url is one associated directly with Adobe – adobe.com. Next, we have an unverified app:",{"data":138063,"content":138067,"nodeType":996},{"target":138064},{"sys":138065},{"id":138066,"type":1001,"linkType":1002},"5e5RhdYiMh0Q3CZzmNoRDI",[],{"data":138069,"content":138070,"nodeType":860},{},[138071],{"data":138072,"marks":138073,"value":138074,"nodeType":864},{},[],"This app does not include the ‘verified publisher’ attribute when reading the information provided by Microsoft. However, the app only has one reply url, and this is again a subdomain of adobe.com.",{"data":138076,"content":138077,"nodeType":860},{},[138078],{"data":138079,"marks":138080,"value":138081,"nodeType":864},{},[],"The takeaway here is that not all unverified apps are malicious. More often than not it’s related to the vendor not having gone through the verification process, but this means it unfortunately becomes the security team’s burden to figure out.",{"data":138083,"content":138084,"nodeType":1312},{},[138085],{"data":138086,"marks":138087,"value":137531,"nodeType":864},{},[],{"data":138089,"content":138090,"nodeType":860},{},[138091],{"data":138092,"marks":138093,"value":138094,"nodeType":864},{},[],"At Push, we attempt to review every application we come across to determine if it's legit and whether it belongs to the vendor it claims to originate from. There are multiple ways to do this, but as a general rule of thumb if all the app’s reply urls are associated with the vendor, you are good. You can perform an integration from the app’s website to verify that the particular app ID (seen in the metadata tag above) is the one you are looking at in your environment.",{"data":138096,"content":138097,"nodeType":1009},{},[138098],{"data":138099,"marks":138100,"value":138101,"nodeType":864},{},[],"Apps with excessive privileges",{"data":138103,"content":138104,"nodeType":1312},{},[138105],{"data":138106,"marks":138107,"value":137489,"nodeType":864},{},[],{"data":138109,"content":138110,"nodeType":860},{},[138111],{"data":138112,"marks":138113,"value":138114,"nodeType":864},{},[],"When you first start doing deep dives on permissions associated with apps in your environment, you find yourself looking at some apps and wonder out loud “we’re granting this vendor access to what?!",{"data":138116,"content":138117,"nodeType":860},{},[138118],{"data":138119,"marks":138120,"value":138121,"nodeType":864},{},[],"It’s a totally normal response, but don't worry, we’re here to help. Let’s take diagrams.net as an example:",{"data":138123,"content":138127,"nodeType":996},{"target":138124},{"sys":138125},{"id":138126,"type":1001,"linkType":1002},"7DcPUSZ0nDYKmIy4E9xEHs",[],{"data":138129,"content":138130,"nodeType":860},{},[138131],{"data":138132,"marks":138133,"value":138134,"nodeType":864},{},[],"At first glance this doesn’t seem too bad. For the purposes of this example, let’s say the app was approved by 49 users. That means if diagrams.net got compromised, an attacker would potentially have access to 49 of your user’s OneDrive files. “That’s OK!” you say. “This will only affect a handful of files they’ve been working on locally. Our policy specifies that any company data, specifically data containing PII, be stored in SharePoint.”",{"data":138136,"content":138137,"nodeType":860},{},[138138,138142,138147],{"data":138139,"marks":138140,"value":138141,"nodeType":864},{},[],"And then comes the part where you notice the following permission: ",{"data":138143,"marks":138144,"value":138146,"nodeType":864},{},[138145],{"type":2246},"Sites.Read.All",{"data":138148,"marks":138149,"value":138150,"nodeType":864},{},[],". This permission gives the application the ability to read every file across all SharePoint sites in your organization (that the users have permission to access.) Suddenly the scope of data access is much larger than you hoped.",{"data":138152,"content":138153,"nodeType":1312},{},[138154],{"data":138155,"marks":138156,"value":137531,"nodeType":864},{},[],{"data":138158,"content":138159,"nodeType":860},{},[138160],{"data":138161,"marks":138162,"value":138163,"nodeType":864},{},[],"When faced with the dilemma of granting apps access to resources within your organization, the best course of action is to do a risk assessment.",{"data":138165,"content":138166,"nodeType":860},{},[138167,138171,138179,138183,138192],{"data":138168,"marks":138169,"value":138170,"nodeType":864},{},[],"This requires some good ol’ googling and reviewing the security policies of the app’s creator. You ideally also want to know who they use to process your data. Through this process, I found a ",{"data":138172,"content":138174,"nodeType":883},{"uri":138173},"https://www.diagrams.net/blog/data-protection",[138175],{"data":138176,"marks":138177,"value":79166,"nodeType":864},{},[138178],{"type":1455},{"data":138180,"marks":138181,"value":138182,"nodeType":864},{},[]," on diagrams.net detailing their approach to security and user privacy. They do make note that they don’t ",{"data":138184,"content":138186,"nodeType":883},{"uri":138185},"https://www.diagrams.net/blog/data-protection#:~:text=Because%20your%20sensitive%20diagram%20data%20doesn%E2%80%99t%20leave%20your%20infrastructure%20and%20is%20never%20stored%20on%20the%20diagrams.net%20servers%2C%20diagrams.net%20is%20a%20tool%20which%20lets%20you%20comply%20with%20data%20protection%20certifications%20(ISO%2027000%2C%2027001%20and%2027002)%20and%20the%20GDPR.",[138187],{"data":138188,"marks":138189,"value":138191,"nodeType":864},{},[138190],{"type":1455},"store any sensitive customer data data on their servers",{"data":138193,"marks":138194,"value":138195,"nodeType":864},{},[],", and thus let you comply with GDPR, ISO 2700* etc. certifications if you use their services.",{"data":138197,"content":138198,"nodeType":860},{},[138199],{"data":138200,"marks":138201,"value":138202,"nodeType":864},{},[],"While this is great from a tick box exercise perspective, this doesn’t address the original concern – how much risk are you taking on by letting their app integrate with your environment? What could an attacker who compromises diagrams.net have access to and how do you lessen the risk while still allowing employees to use the app?",{"data":138204,"content":138205,"nodeType":860},{},[138206,138210,138219],{"data":138207,"marks":138208,"value":138209,"nodeType":864},{},[],"Further in the same blog post, they link to a GitHub ",{"data":138211,"content":138213,"nodeType":883},{"uri":138212},"https://github.com/jgraph/security-privacy-legal",[138214],{"data":138215,"marks":138216,"value":138218,"nodeType":864},{},[138217],{"type":1455},"repository",{"data":138220,"marks":138221,"value":138222,"nodeType":864},{},[]," that contains their security and privacy processes, policies, and even some pentest reports. They do a great job of including this information, by the way, so cheers to diagrams.net!",{"data":138224,"content":138225,"nodeType":860},{},[138226],{"data":138227,"marks":138228,"value":138229,"nodeType":864},{},[],"At this point you should have a better understanding of the security of the vendor you’re integrating into your organization, and whether it’s okay to accept the risk. Documenting and adding the information you found to your risk register is also a good idea. Likely, you’ll be taking this information to your Information Security Manager for risk acceptance. ",{"data":138231,"content":138232,"nodeType":860},{},[138233],{"data":138234,"marks":138235,"value":138236,"nodeType":864},{},[],"We’re working on ways to provide this information to our clients through the Push app dashboard in future, too. Sign up or subscribe to our blog to get product updates when features like this are introduced. ",{"data":138238,"content":138239,"nodeType":1009},{},[138240],{"data":138241,"marks":138242,"value":138243,"nodeType":864},{},[],"Hijackable urls and implicit grant flow",{"data":138245,"content":138246,"nodeType":1312},{},[138247],{"data":138248,"marks":138249,"value":137489,"nodeType":864},{},[],{"data":138251,"content":138252,"nodeType":860},{},[138253,138258,138268,138273,138283],{"data":138254,"marks":138255,"value":138257,"nodeType":864},{},[138256],{"type":2246},"Developer side note: The implicit grant flow is no longer recommended due to security-related concerns and that it won’t function where ",{"data":138259,"content":138261,"nodeType":883},{"uri":138260},"https://learn.microsoft.com/en-us/azure/active-directory/develop/reference-third-party-cookies-spas#:~:text=Many%20browsers%20block%20third%2Dparty%20cookies%2C%20cookies%20on%20requests%20to%20domains%20other%20than%20the%20domain%20shown%20in%20the%20browser%27s%20address%20bar.%20This%20block%20breaks%20the%20implicit%20flow%20and%20requires%20new%20authentication%20patterns%20to%20successfully%20sign%20in%20users.",[138262],{"data":138263,"marks":138264,"value":138267,"nodeType":864},{},[138265,138266],{"type":1455},{"type":2246},"3rd party cookies are blocked in browsers",{"data":138269,"marks":138270,"value":138272,"nodeType":864},{},[138271],{"type":2246},". Instead, you should switch to using the ",{"data":138274,"content":138276,"nodeType":883},{"uri":138275},"https://learn.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-auth-code-flow",[138277],{"data":138278,"marks":138279,"value":138282,"nodeType":864},{},[138280,138281],{"type":1455},{"type":2246},"authorization code flow",{"data":138284,"marks":138285,"value":138287,"nodeType":864},{},[138286],{"type":2246}," if applicable to your requirements.",{"data":138289,"content":138290,"nodeType":860},{},[138291,138295,138304],{"data":138292,"marks":138293,"value":138294,"nodeType":864},{},[],"Let’s quickly go over how OAuth2’s implicit grant flow works so you can better understand how to spot potentially risky apps and integrations, and why this can result in a security concern. Microsoft provides a great ",{"data":138296,"content":138298,"nodeType":883},{"uri":138297},"https://learn.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-implicit-grant-flow",[138299],{"data":138300,"marks":138301,"value":138303,"nodeType":864},{},[138302],{"type":1455},"breakdown",{"data":138305,"marks":138306,"value":138307,"nodeType":864},{},[]," of the implicit grant flow, however for the purposes of brevity (and simplicity), it does the following:",{"data":138309,"content":138310,"nodeType":118765},{},[138311,138321,138331,138341,138351],{"data":138312,"content":138313,"nodeType":945},{},[138314],{"data":138315,"content":138316,"nodeType":860},{},[138317],{"data":138318,"marks":138319,"value":138320,"nodeType":864},{},[],"A user goes to a web app and clicks a login link",{"data":138322,"content":138323,"nodeType":945},{},[138324],{"data":138325,"content":138326,"nodeType":860},{},[138327],{"data":138328,"marks":138329,"value":138330,"nodeType":864},{},[],"The web app redirects the user to authenticate and authorize the app. This is performed against your identity provider (in this example, Microsoft)",{"data":138332,"content":138333,"nodeType":945},{},[138334],{"data":138335,"content":138336,"nodeType":860},{},[138337],{"data":138338,"marks":138339,"value":138340,"nodeType":864},{},[],"If this is the first time authorizing the app, the user is presented with a list of scopes (permissions) the app will need access to, and the user clicks “approve”",{"data":138342,"content":138343,"nodeType":945},{},[138344],{"data":138345,"content":138346,"nodeType":860},{},[138347],{"data":138348,"marks":138349,"value":138350,"nodeType":864},{},[],"This responds with a token to one of the hard-coded reply urls associated with the app integration (e.g. https://apps.diagrams.net/microsoft as with the ‘Apps with excessive privileges’ example)",{"data":138352,"content":138353,"nodeType":945},{},[138354],{"data":138355,"content":138356,"nodeType":860},{},[138357],{"data":138358,"marks":138359,"value":138360,"nodeType":864},{},[],"The app uses the token to access the user’s resources with the permissions approved in step 3",{"data":138362,"content":138363,"nodeType":860},{},[138364],{"data":138365,"marks":138366,"value":138367,"nodeType":864},{},[],"Based on the flow above, if an attacker gets their hands on the token from step 4, they can perform requests as the user, granting them access to your resources. To get the token, you need to control one of the hardcoded reply url endpoints, and convince a user to authenticate to the app – perhaps via a phishing attack.",{"data":138369,"content":138370,"nodeType":860},{},[138371],{"data":138372,"marks":138373,"value":138374,"nodeType":864},{},[],"As an example, some of the apps we’ve reviewed contained reply urls which were subdomains of azurewebsites.net and ngrok.io. These urls don’t appear problematic at first. However, the urls could have been used during the development process, and were forgotten about at the conclusion of the project. During the review process we follow at Push, we found multiple examples of such urls that were no longer in use.",{"data":138376,"content":138377,"nodeType":860},{},[138378,138382,138391],{"data":138379,"marks":138380,"value":138381,"nodeType":864},{},[],"This could allow an attacker to register the urls and perform phishing attacks against organizations that use these particular apps, granting the attacker access to previously- approved scopes and resources. The outcome of this attack would be similar to ",{"data":138383,"content":138385,"nodeType":883},{"uri":138384},"https://www.oauth.com/oauth2-servers/authorization/security-considerations/#:~:text=Redirect%20URL%20Manipulation",[138386],{"data":138387,"marks":138388,"value":138390,"nodeType":864},{},[138389],{"type":1455},"redirect URL manipulation",{"data":138392,"marks":138393,"value":138394,"nodeType":864},{},[],", but instead of taking advantage of an open or misconfigured redirect, the attacker is in control of the endpoint where the token ends up.",{"data":138396,"content":138397,"nodeType":860},{},[138398,138402,138410],{"data":138399,"marks":138400,"value":138401,"nodeType":864},{},[],"How would you even go about detecting if an app makes use of the implicit grant flow? This requires getting your hands dirty with making authorization requests to your tenant for the specific app ID, and passing the “response_type=token” parameter in the url. This should return an error if the app is not configured with the implicit grant flow. If you’d like to test this yourself, you can follow the “Run in Postman” link at the top of ",{"data":138403,"content":138404,"nodeType":883},{"uri":138297},[138405],{"data":138406,"marks":138407,"value":138409,"nodeType":864},{},[138408],{"type":1455},"this article",{"data":138411,"marks":138412,"value":138413,"nodeType":864},{},[]," to make this process a bit easier.",{"data":138415,"content":138416,"nodeType":860},{},[138417],{"data":138418,"marks":138419,"value":138420,"nodeType":864},{},[],"Another example of a hijackable url includes dangling DNS records. Let’s say your app includes a reply url pointing to a legacy server used for development (eg. apptesting-dev.ctrlaltsecure.com). This server was hosted on an EC2 instance in AWS, and has long since been decommissioned. However, the IP address associated with the instance is still pointing to the same address. A determined attacker could potentially gain access to the IP address by spinning up resources until it’s assigned to them.",{"data":138422,"content":138423,"nodeType":860},{},[138424,138428,138437,138441,138450],{"data":138425,"marks":138426,"value":138427,"nodeType":864},{},[],"OWASP has ",{"data":138429,"content":138431,"nodeType":883},{"uri":138430},"https://owasp.org/www-project-web-security-testing-guide/latest/4-Web_Application_Security_Testing/02-Configuration_and_Deployment_Management_Testing/10-Test_for_Subdomain_Takeover",[138432],{"data":138433,"marks":138434,"value":138436,"nodeType":864},{},[138435],{"type":1455},"published an article",{"data":138438,"marks":138439,"value":138440,"nodeType":864},{},[]," and HackerOne ",{"data":138442,"content":138444,"nodeType":883},{"uri":138443},"https://www.hackerone.com/application-security/guide-subdomain-takeovers",[138445],{"data":138446,"marks":138447,"value":138449,"nodeType":864},{},[138448],{"type":1455},"posted a guide",{"data":138451,"marks":138452,"value":138453,"nodeType":864},{},[]," highlighting ways to take over subdomains , and it’s very easy to overlook.",{"data":138455,"content":138456,"nodeType":1312},{},[138457],{"data":138458,"marks":138459,"value":137531,"nodeType":864},{},[],{"data":138461,"content":138462,"nodeType":860},{},[138463],{"data":138464,"marks":138465,"value":138466,"nodeType":864},{},[],"Unfortunately there is no elegant solution to this problem, and it’s not easy to spot as you would need to review each url to see if it’s still in use, in addition to figuring out if the app makes use of the implicit grant flow. Even then, is the active url being used by the developer, or has an attacker already claimed it.",{"data":138468,"content":138469,"nodeType":860},{},[138470],{"data":138471,"marks":138472,"value":138473,"nodeType":864},{},[],"The best course of action here is likely to make use of a proxy that prevents users from accessing unclassified urls, or urls with a low reputation. However, you will risk breaking applications and making your developers angry. This also does not solve the dangling DNS issue, as with the EC2 instance problem above.",{"data":138475,"content":138476,"nodeType":860},{},[138477],{"data":138478,"marks":138479,"value":138480,"nodeType":864},{},[],"Another option is to contact vendors of apps that you’ve noticed including such urls in their apps and ask them to remove the stale entries from their apps.",{"data":138482,"content":138483,"nodeType":1009},{},[138484],{"data":138485,"marks":138486,"value":138487,"nodeType":864},{},[],"You think you’ve been compromised. Now what?",{"data":138489,"content":138490,"nodeType":860},{},[138491],{"data":138492,"marks":138493,"value":138494,"nodeType":864},{},[],"\nRegardless of the method of compromise, there’s a few steps you can take to review what happened and to prevent further access into your environment.",{"data":138496,"content":138497,"nodeType":1312},{},[138498],{"data":138499,"marks":138500,"value":138501,"nodeType":864},{},[],"Review app sign-in logs",{"data":138503,"content":138504,"nodeType":860},{},[138505,138509,138518],{"data":138506,"marks":138507,"value":138508,"nodeType":864},{},[],"In Azure Active Directory, head to ",{"data":138510,"content":138512,"nodeType":883},{"uri":138511},"https://portal.azure.com/#view/Microsoft_AAD_IAM/StartboardApplicationsMenuBlade/~/AppAppsPreview/menuId~/null",[138513],{"data":138514,"marks":138515,"value":138517,"nodeType":864},{},[138516],{"type":1455},"Enterprise applications",{"data":138519,"marks":138520,"value":138521,"nodeType":864},{},[]," and click on the app you want to review. In the new window, click on sign-in logs. You will be presented with a list of user sign-ins (interactive and non-interactive), service principal sign-ins, and managed identity sign-ins.",{"data":138523,"content":138527,"nodeType":996},{"target":138524},{"sys":138525},{"id":138526,"type":1001,"linkType":1002},"2L7vf2zjZBelGMJSjP2inY",[],{"data":138529,"content":138530,"nodeType":860},{},[138531],{"data":138532,"marks":138533,"value":138534,"nodeType":864},{},[],"What you typically need to look for is non-interactive user sign-in logs. Non-interactive sign-ins are related to login events performed on behalf of a user where usernames and passwords were not used (read: tokens). You want to review the sign-ins to determine if there were authentication events from IP addresses unrelated to normal employee activity, which can include discrepancies in geographical locations, and out-of-hours activity. Service principal sign-ins would also be of interest, however it would be more difficult to determine odd behavior as you wouldn’t have user sign-ins to compare with.",{"data":138536,"content":138537,"nodeType":860},{},[138538,138542,138550],{"data":138539,"marks":138540,"value":138541,"nodeType":864},{},[],"You could also review Azure’s ",{"data":138543,"content":138545,"nodeType":883},{"uri":138544},"https://portal.azure.com/#view/Microsoft_AAD_IAM/SecurityMenuBlade/~/RiskySignIns",[138546],{"data":138547,"marks":138548,"value":138549,"nodeType":864},{},[],"risky sign-ins ",{"data":138551,"marks":138552,"value":138553,"nodeType":864},{},[],"page, as these issues are likely to show up already classified. Just make sure your filters include non-interactive sign-in methods.",{"data":138555,"content":138556,"nodeType":1312},{},[138557],{"data":138558,"marks":138559,"value":138560,"nodeType":864},{},[],"Review app audit logs",{"data":138562,"content":138563,"nodeType":860},{},[138564],{"data":138565,"marks":138566,"value":138567,"nodeType":864},{},[],"In the same window underneath sign-in logs, you’ll find the audit logs section. Audit logs will provide you with crucial information relating to when an app was integrated, by who, and which permissions were delegated.",{"data":138569,"content":138573,"nodeType":996},{"target":138570},{"sys":138571},{"id":138572,"type":1001,"linkType":1002},"5HRLoa9zlIWZdZGLN84Yae",[],{"data":138575,"content":138576,"nodeType":1312},{},[138577],{"data":138578,"marks":138579,"value":138580,"nodeType":864},{},[],"Disable the app",{"data":138582,"content":138583,"nodeType":860},{},[138584],{"data":138585,"marks":138586,"value":138587,"nodeType":864},{},[],"If you’ve determined that an app was involved in an incident, the first step would be to disable the app to prevent malicious actors from performing any further authentication. Under the application’s properties, change the setting “Enable for users to sign-in?” from “Yes” to “No”, followed by clicking “Save.”",{"data":138589,"content":138593,"nodeType":996},{"target":138590},{"sys":138591},{"id":138592,"type":1001,"linkType":1002},"12NnJ8OhD3K27rFRJ48t6a",[],{"data":138595,"content":138596,"nodeType":1312},{},[138597],{"data":138598,"marks":138599,"value":138600,"nodeType":864},{},[],"Revoke all refresh tokens",{"data":138602,"content":138603,"nodeType":860},{},[138604,138608,138617,138621,138630,138634,138643],{"data":138605,"marks":138606,"value":138607,"nodeType":864},{},[],"Disabling the app is not enough to prevent attackers from maintaining access to your environment. ",{"data":138609,"content":138611,"nodeType":883},{"uri":138610},"https://learn.microsoft.com/en-us/azure/active-directory/develop/refresh-tokens",[138612],{"data":138613,"marks":138614,"value":138616,"nodeType":864},{},[138615],{"type":1455},"Refresh tokens",{"data":138618,"marks":138619,"value":138620,"nodeType":864},{},[]," provide a way for apps to retrieve new access tokens without bugging users with pesky sign-in screens. Tokens are typically valid for between ",{"data":138622,"content":138624,"nodeType":883},{"uri":138623},"https://learn.microsoft.com/en-us/azure/active-directory/develop/access-tokens#access-token-lifetime:~:text=The%20default%20lifetime%20of%20an%20access%20token%20is%20variable.%20When%20issued%2C%20the%20default%20lifetime%20of%20an%20access%20token%20is%20assigned%20a%20random%20value%20ranging%20between%2060%2D90%20minutes%20(75%20minutes%20on%20average).",[138625],{"data":138626,"marks":138627,"value":138629,"nodeType":864},{},[138628],{"type":1455},"60 to 90 minutes",{"data":138631,"marks":138632,"value":138633,"nodeType":864},{},[],", and if a refresh token has been issued, the token holder can request new tokens for ",{"data":138635,"content":138637,"nodeType":883},{"uri":138636},"https://learn.microsoft.com/en-us/azure/active-directory/develop/refresh-tokens#:~:text=The%20default%20lifetime%20for%20the%20refresh%20tokens%20is%2024%20hours%20for%20single%20page%20apps%20and%2090%20days%20for%20all%20other%20scenarios",[138638],{"data":138639,"marks":138640,"value":138642,"nodeType":864},{},[138641],{"type":1455},"up to 90 days",{"data":138644,"marks":138645,"value":138646,"nodeType":864},{},[],"! ",{"data":138648,"content":138649,"nodeType":860},{},[138650],{"data":138651,"marks":138652,"value":138653,"nodeType":864},{},[],"So, revoking refresh tokens is an important step as part of the mitigation and recovery steps. This step can be performed with some PowerShell – luckily Microsoft provides pre-generated scripts for you to copy and paste. Click on ‘Permissions’ for the app, followed by ‘Review permissions.’ ",{"data":138655,"content":138659,"nodeType":996},{"target":138656},{"sys":138657},{"id":138658,"type":1001,"linkType":1002},"7vuFmlmZbzfNhWHPj8ToHm",[],{"data":138661,"content":138662,"nodeType":860},{},[138663],{"data":138664,"marks":138665,"value":138666,"nodeType":864},{},[],"In the new window, click on ‘This application is malicious and I’m compromised.’ This will present you with the necessary PowerShell scripts to remove users from the app, revoke all permissions granted to the app, and finally to revoke refresh tokens associated with the app.",{"data":138668,"content":138672,"nodeType":996},{"target":138669},{"sys":138670},{"id":138671,"type":1001,"linkType":1002},"4NnD6WKRHlnzKE0F4GUDEm",[],{"data":138674,"content":138675,"nodeType":1312},{},[138676],{"data":138677,"marks":138678,"value":138679,"nodeType":864},{},[],"What to do if the initial access token was stolen",{"data":138681,"content":138682,"nodeType":860},{},[138683],{"data":138684,"marks":138685,"value":138686,"nodeType":864},{},[],"The initial access token cannot be revoked. In practice, if an attacker has managed to steal an access token it will be valid for the remainder of its lifespan, which is typically one hour. This is true even if the account is disabled, the compromised app deleted, and all refresh tokens revoked. If you’re responding to an incident, you will need to keep an eye on audit logs for an hour or more after performing the above steps to make sure the valid access token wasn’t still being used to perform actions in the environment.",{"data":138688,"content":138689,"nodeType":860},{},[138690,138694,138703,138707,138716],{"data":138691,"marks":138692,"value":138693,"nodeType":864},{},[],"Microsoft’s response to this was to develop something called ",{"data":138695,"content":138697,"nodeType":883},{"uri":138696},"https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/concept-continuous-access-evaluation",[138698],{"data":138699,"marks":138700,"value":138702,"nodeType":864},{},[138701],{"type":1455},"continuous access evaluation",{"data":138704,"marks":138705,"value":138706,"nodeType":864},{},[],". However, they admit in the article that it does not address a scenario where an attacker exfiltrated the token outside of a ",{"data":138708,"content":138710,"nodeType":883},{"uri":138709},"https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/concept-continuous-access-evaluation#:~:text=Token%20export%20to%20a%20machine%20outside%20of%20a%20trusted%20network%20can%20be%20prevented%20with%20Conditional%20Access%20location%20policies",[138711],{"data":138712,"marks":138713,"value":138715,"nodeType":864},{},[138714],{"type":1455},"trusted network",{"data":138717,"marks":138718,"value":138719,"nodeType":864},{},[],", in which case conditional access policy enforcement would be required to address the issue. Continuous access evaluation is ideal for handling specific cases of user access into the environment such as employee contract termination, or scenarios where conditional access policies are violated.",{"data":138721,"content":138722,"nodeType":1009},{},[138723],{"data":138724,"marks":138725,"value":32492,"nodeType":864},{},[],{"data":138727,"content":138728,"nodeType":860},{},[138729],{"data":138730,"marks":138731,"value":138732,"nodeType":864},{},[],"This article should have given you a better understanding of the most common issues presented when reviewing SaaS apps integrated into your environment. ",{"data":138734,"content":138735,"nodeType":860},{},[138736],{"data":138737,"marks":138738,"value":138739,"nodeType":864},{},[],"Determining whether using an app would result in compromise is not a simple task, especially if you haven’t observed malicious behavior. As such, the best course of action is to consider all angles, which include the business case of users requiring its use, the permission scopes, and whether the vendor’s security practices are in line with your requirements.",{"data":138741,"content":138742,"nodeType":860},{},[138743],{"data":138744,"marks":138745,"value":138746,"nodeType":864},{},[],"SaaS is a new(ish) frontier that can be really daunting to defend against attackers, but it's not impossible to reduce risk without simply blocking access to SaaS. And, remember: denying users access to tools will make them find ways around the limitations.",{"data":138748,"content":138749,"nodeType":860},{},[138750],{"data":138751,"marks":138752,"value":138753,"nodeType":864},{},[],"We hope this article helps you get a better handle on how to determine if you’ve been compromised, and respond to incidents involving SaaS apps and/or OAuth integrations to your core work platforms.",{"data":138755,"content":138758,"nodeType":996},{"target":138756},{"sys":138757},{"id":102281,"type":1001,"linkType":1002},[],{"data":138760,"content":138761,"nodeType":860},{},[138762],{"data":138763,"marks":138764,"value":21,"nodeType":864},{},[],"How attackers compromise Azure organizations through SaaS apps ","2023-01-03T00:00:00.000Z","how-attackers-compromise-azure-organizations-through-saas-apps",{"items":138769},[138770,138772],{"sys":138771,"name":6593},{"id":6592},{"sys":138773,"name":342},{"id":6596},{"items":138775},[138776],{"fullName":73848,"firstName":73849,"jobTitle":73850,"profilePicture":138777},{"url":73852},{"__typename":2059,"sys":138779,"content":138781,"title":139510,"synopsis":139511,"hashTags":139512,"publishedDate":139513,"slug":139514,"tagsCollection":139515,"authorsCollection":139521},{"id":138780},"73JjdrO5GKRzYum97MqJ9q",{"json":138782},{"data":138783,"content":138784,"nodeType":856},{},[138785,138801,138808,138851,138858,138903,138910,139268,139274,139280,139287,139294,139301,139307,139314,139321,139328,139335,139342,139349,139356,139363,139382,139389,139396,139403,139410,139417,139447,139454,139461,139468,139475,139482,139489,139492,139499,139504],{"data":138786,"content":138787,"nodeType":860},{},[138788,138792,138797],{"data":138789,"marks":138790,"value":138791,"nodeType":864},{},[],"Before we start, ",{"data":138793,"marks":138794,"value":138796,"nodeType":864},{},[138795],{"type":899},"MFA with any method is better than no MFA at all",{"data":138798,"marks":138799,"value":138800,"nodeType":864},{},[],". Although some methods are better than others, they're all leagues ahead of passwords alone. If, for whatever reason, you can only implement MFA using a weaker second factor, you should still do it. You can always improve later and you'll have made a significant improvement even with the weaker second factor.",{"data":138802,"content":138803,"nodeType":860},{},[138804],{"data":138805,"marks":138806,"value":138807,"nodeType":864},{},[],"So, how can one factor be better than others? Here's how we think about it:",{"data":138809,"content":138810,"nodeType":941},{},[138811,138821,138831,138841],{"data":138812,"content":138813,"nodeType":945},{},[138814],{"data":138815,"content":138816,"nodeType":860},{},[138817],{"data":138818,"marks":138819,"value":138820,"nodeType":864},{},[],"User experience: how easy is it to use?",{"data":138822,"content":138823,"nodeType":945},{},[138824],{"data":138825,"content":138826,"nodeType":860},{},[138827],{"data":138828,"marks":138829,"value":138830,"nodeType":864},{},[],"Security: how easy is it for someone to compromise?",{"data":138832,"content":138833,"nodeType":945},{},[138834],{"data":138835,"content":138836,"nodeType":860},{},[138837],{"data":138838,"marks":138839,"value":138840,"nodeType":864},{},[],"Cost: do you need to upgrade your SaaS license, or buy physical bits?",{"data":138842,"content":138843,"nodeType":945},{},[138844],{"data":138845,"content":138846,"nodeType":860},{},[138847],{"data":138848,"marks":138849,"value":138850,"nodeType":864},{},[],"Support: how widely can it be used?",{"data":138852,"content":138853,"nodeType":1312},{},[138854],{"data":138855,"marks":138856,"value":138857,"nodeType":864},{},[],"Just want the answers? ",{"data":138859,"content":138860,"nodeType":941},{},[138861,138871,138893],{"data":138862,"content":138863,"nodeType":945},{},[138864],{"data":138865,"content":138866,"nodeType":860},{},[138867],{"data":138868,"marks":138869,"value":138870,"nodeType":864},{},[],"Using an app on your phone, like Microsoft or Google Authenticator, to receive notifications or use a one-time password are the top all-round options today - they're free, intuitive for users, relatively easy to set up, and widely supported. ",{"data":138872,"content":138873,"nodeType":945},{},[138874],{"data":138875,"content":138876,"nodeType":860},{},[138877,138881,138889],{"data":138878,"marks":138879,"value":138880,"nodeType":864},{},[],"The gold standard is a FIDO2-capable security key, like the ",{"data":138882,"content":138884,"nodeType":883},{"uri":138883},"https://www.yubico.com/products/yubikey-5-overview/",[138885],{"data":138886,"marks":138887,"value":138888,"nodeType":864},{},[],"YubiKey 5 series",{"data":138890,"marks":138891,"value":138892,"nodeType":864},{},[],", or a security key built-in to your device, like Touch ID  - it's the most secure, provides the best user experience, but has an upfront cost as each user will need a key or a compatible device. The main drawback today is they aren't supported on all platforms yet so might not be an option everywhere.",{"data":138894,"content":138895,"nodeType":945},{},[138896],{"data":138897,"content":138898,"nodeType":860},{},[138899],{"data":138900,"marks":138901,"value":138902,"nodeType":864},{},[],"Factors that rely on your phone number, such as SMS and phone calls should be avoided if possible as they are the least secure and provide the worst user experience.",{"data":138904,"content":138905,"nodeType":860},{},[138906],{"data":138907,"marks":138908,"value":138909,"nodeType":864},{},[],"Here's a summary:",{"data":138911,"content":138912,"nodeType":4845},{},[138913,138965,139017,139067,139119,139168,139219],{"data":138914,"content":138915,"nodeType":4581},{},[138916,138926,138936,138945,138955],{"data":138917,"content":138918,"nodeType":7282},{},[138919],{"data":138920,"content":138921,"nodeType":860},{},[138922],{"data":138923,"marks":138924,"value":138925,"nodeType":864},{},[],"Method",{"data":138927,"content":138928,"nodeType":7282},{},[138929],{"data":138930,"content":138931,"nodeType":860},{},[138932],{"data":138933,"marks":138934,"value":138935,"nodeType":864},{},[],"User experience",{"data":138937,"content":138938,"nodeType":7282},{},[138939],{"data":138940,"content":138941,"nodeType":860},{},[138942],{"data":138943,"marks":138944,"value":133053,"nodeType":864},{},[],{"data":138946,"content":138947,"nodeType":7282},{},[138948],{"data":138949,"content":138950,"nodeType":860},{},[138951],{"data":138952,"marks":138953,"value":138954,"nodeType":864},{},[],"Cost",{"data":138956,"content":138957,"nodeType":7282},{},[138958],{"data":138959,"content":138960,"nodeType":860},{},[138961],{"data":138962,"marks":138963,"value":138964,"nodeType":864},{},[],"Support",{"data":138966,"content":138967,"nodeType":4581},{},[138968,138978,138988,138997,139007],{"data":138969,"content":138970,"nodeType":4569},{},[138971],{"data":138972,"content":138973,"nodeType":860},{},[138974],{"data":138975,"marks":138976,"value":138977,"nodeType":864},{},[],"App Notification",{"data":138979,"content":138980,"nodeType":4569},{},[138981],{"data":138982,"content":138983,"nodeType":860},{},[138984],{"data":138985,"marks":138986,"value":138987,"nodeType":864},{},[],"Good",{"data":138989,"content":138990,"nodeType":4569},{},[138991],{"data":138992,"content":138993,"nodeType":860},{},[138994],{"data":138995,"marks":138996,"value":138987,"nodeType":864},{},[],{"data":138998,"content":138999,"nodeType":4569},{},[139000],{"data":139001,"content":139002,"nodeType":860},{},[139003],{"data":139004,"marks":139005,"value":139006,"nodeType":864},{},[],"Free",{"data":139008,"content":139009,"nodeType":4569},{},[139010],{"data":139011,"content":139012,"nodeType":860},{},[139013],{"data":139014,"marks":139015,"value":139016,"nodeType":864},{},[],"Widely supported",{"data":139018,"content":139019,"nodeType":4581},{},[139020,139030,139040,139049,139058],{"data":139021,"content":139022,"nodeType":4569},{},[139023],{"data":139024,"content":139025,"nodeType":860},{},[139026],{"data":139027,"marks":139028,"value":139029,"nodeType":864},{},[],"App code",{"data":139031,"content":139032,"nodeType":4569},{},[139033],{"data":139034,"content":139035,"nodeType":860},{},[139036],{"data":139037,"marks":139038,"value":139039,"nodeType":864},{},[],"Moderate",{"data":139041,"content":139042,"nodeType":4569},{},[139043],{"data":139044,"content":139045,"nodeType":860},{},[139046],{"data":139047,"marks":139048,"value":138987,"nodeType":864},{},[],{"data":139050,"content":139051,"nodeType":4569},{},[139052],{"data":139053,"content":139054,"nodeType":860},{},[139055],{"data":139056,"marks":139057,"value":139006,"nodeType":864},{},[],{"data":139059,"content":139060,"nodeType":4569},{},[139061],{"data":139062,"content":139063,"nodeType":860},{},[139064],{"data":139065,"marks":139066,"value":139016,"nodeType":864},{},[],{"data":139068,"content":139069,"nodeType":4581},{},[139070,139080,139090,139099,139109],{"data":139071,"content":139072,"nodeType":4569},{},[139073],{"data":139074,"content":139075,"nodeType":860},{},[139076],{"data":139077,"marks":139078,"value":139079,"nodeType":864},{},[],"Security key (external)",{"data":139081,"content":139082,"nodeType":4569},{},[139083],{"data":139084,"content":139085,"nodeType":860},{},[139086],{"data":139087,"marks":139088,"value":139089,"nodeType":864},{},[],"Best",{"data":139091,"content":139092,"nodeType":4569},{},[139093],{"data":139094,"content":139095,"nodeType":860},{},[139096],{"data":139097,"marks":139098,"value":139089,"nodeType":864},{},[],{"data":139100,"content":139101,"nodeType":4569},{},[139102],{"data":139103,"content":139104,"nodeType":860},{},[139105],{"data":139106,"marks":139107,"value":139108,"nodeType":864},{},[],"Expensive",{"data":139110,"content":139111,"nodeType":4569},{},[139112],{"data":139113,"content":139114,"nodeType":860},{},[139115],{"data":139116,"marks":139117,"value":139118,"nodeType":864},{},[],"Some platforms",{"data":139120,"content":139121,"nodeType":4581},{},[139122,139132,139141,139150,139159],{"data":139123,"content":139124,"nodeType":4569},{},[139125],{"data":139126,"content":139127,"nodeType":860},{},[139128],{"data":139129,"marks":139130,"value":139131,"nodeType":864},{},[],"Security key (internal)",{"data":139133,"content":139134,"nodeType":4569},{},[139135],{"data":139136,"content":139137,"nodeType":860},{},[139138],{"data":139139,"marks":139140,"value":139089,"nodeType":864},{},[],{"data":139142,"content":139143,"nodeType":4569},{},[139144],{"data":139145,"content":139146,"nodeType":860},{},[139147],{"data":139148,"marks":139149,"value":139089,"nodeType":864},{},[],{"data":139151,"content":139152,"nodeType":4569},{},[139153],{"data":139154,"content":139155,"nodeType":860},{},[139156],{"data":139157,"marks":139158,"value":139006,"nodeType":864},{},[],{"data":139160,"content":139161,"nodeType":4569},{},[139162],{"data":139163,"content":139164,"nodeType":860},{},[139165],{"data":139166,"marks":139167,"value":139118,"nodeType":864},{},[],{"data":139169,"content":139170,"nodeType":4581},{},[139171,139181,139191,139200,139210],{"data":139172,"content":139173,"nodeType":4569},{},[139174],{"data":139175,"content":139176,"nodeType":860},{},[139177],{"data":139178,"marks":139179,"value":139180,"nodeType":864},{},[],"SMS",{"data":139182,"content":139183,"nodeType":4569},{},[139184],{"data":139185,"content":139186,"nodeType":860},{},[139187],{"data":139188,"marks":139189,"value":139190,"nodeType":864},{},[],"Poor",{"data":139192,"content":139193,"nodeType":4569},{},[139194],{"data":139195,"content":139196,"nodeType":860},{},[139197],{"data":139198,"marks":139199,"value":139190,"nodeType":864},{},[],{"data":139201,"content":139202,"nodeType":4569},{},[139203],{"data":139204,"content":139205,"nodeType":860},{},[139206],{"data":139207,"marks":139208,"value":139209,"nodeType":864},{},[],"Cheap",{"data":139211,"content":139212,"nodeType":4569},{},[139213],{"data":139214,"content":139215,"nodeType":860},{},[139216],{"data":139217,"marks":139218,"value":139016,"nodeType":864},{},[],{"data":139220,"content":139221,"nodeType":4581},{},[139222,139232,139241,139250,139259],{"data":139223,"content":139224,"nodeType":4569},{},[139225],{"data":139226,"content":139227,"nodeType":860},{},[139228],{"data":139229,"marks":139230,"value":139231,"nodeType":864},{},[],"Phone call",{"data":139233,"content":139234,"nodeType":4569},{},[139235],{"data":139236,"content":139237,"nodeType":860},{},[139238],{"data":139239,"marks":139240,"value":139190,"nodeType":864},{},[],{"data":139242,"content":139243,"nodeType":4569},{},[139244],{"data":139245,"content":139246,"nodeType":860},{},[139247],{"data":139248,"marks":139249,"value":139190,"nodeType":864},{},[],{"data":139251,"content":139252,"nodeType":4569},{},[139253],{"data":139254,"content":139255,"nodeType":860},{},[139256],{"data":139257,"marks":139258,"value":139209,"nodeType":864},{},[],{"data":139260,"content":139261,"nodeType":4569},{},[139262],{"data":139263,"content":139264,"nodeType":860},{},[139265],{"data":139266,"marks":139267,"value":139016,"nodeType":864},{},[],{"data":139269,"content":139273,"nodeType":996},{"target":139270},{"sys":139271},{"id":139272,"type":1001,"linkType":1002},"7rgrP5FFAKG63lscwhAsW1",[],{"data":139275,"content":139276,"nodeType":1312},{},[139277],{"data":139278,"marks":139279,"value":138977,"nodeType":864},{},[],{"data":139281,"content":139282,"nodeType":860},{},[139283],{"data":139284,"marks":139285,"value":139286,"nodeType":864},{},[],"One of the most common methods today is the app notification. Using an app on your phone, like Microsoft Authenticator, to receive a push notification when you login.",{"data":139288,"content":139289,"nodeType":860},{},[139290],{"data":139291,"marks":139292,"value":139293,"nodeType":864},{},[],"Free, easy to use, and secure - this is a good choice if your users all have devices to install the app on and will reliably have a network connection to receive the notification.",{"data":139295,"content":139296,"nodeType":860},{},[139297],{"data":139298,"marks":139299,"value":139300,"nodeType":864},{},[],"Your challenges with using this method will be getting the app setup on everyone's device, getting everyone enrolled, and making sure users understand to only hit approve when they actually performed a login (seriously).",{"data":139302,"content":139306,"nodeType":996},{"target":139303},{"sys":139304},{"id":139305,"type":1001,"linkType":1002},"4ybLnYAdHltdWCluLbr4di",[],{"data":139308,"content":139309,"nodeType":1312},{},[139310],{"data":139311,"marks":139312,"value":139313,"nodeType":864},{},[],"App Code",{"data":139315,"content":139316,"nodeType":860},{},[139317],{"data":139318,"marks":139319,"value":139320,"nodeType":864},{},[],"The early days of MFA looked like RSA tokens; those devices you used to have to carry on a key chain with a code that changed every minute. Those devices worked by having a \"seed\" value that both the device and the server knew which changed predictably. So long as that seed value stayed safe, this provided a convenient second factor for users that was difficult to compromise.",{"data":139322,"content":139323,"nodeType":860},{},[139324],{"data":139325,"marks":139326,"value":139327,"nodeType":864},{},[],"Today, this approach is more common via an app, where the app provides a code that changes every minute, but the concept is exactly the same.",{"data":139329,"content":139330,"nodeType":860},{},[139331],{"data":139332,"marks":139333,"value":139334,"nodeType":864},{},[],"This approach uses what is officially called One Time Passwords (OTP) but is often just referred to as an app code. It has some advantages, such as not needing signal after setup which can be handy if that's a concern. ",{"data":139336,"content":139337,"nodeType":860},{},[139338],{"data":139339,"marks":139340,"value":139341,"nodeType":864},{},[],"However, as was true of the RSA tokens of the past, if the seed value is compromised all future values can be predicted. The odds of this happening in practice are exceptionally low so this remains a good choice.",{"data":139343,"content":139344,"nodeType":860},{},[139345],{"data":139346,"marks":139347,"value":139348,"nodeType":864},{},[],"Your challenges with using this method will again be mostly in rolling it out to all users and getting everyone setup.",{"data":139350,"content":139351,"nodeType":1312},{},[139352],{"data":139353,"marks":139354,"value":139355,"nodeType":864},{},[],"Text message / phone call",{"data":139357,"content":139358,"nodeType":860},{},[139359],{"data":139360,"marks":139361,"value":139362,"nodeType":864},{},[],"As MFA gained popularity, receiving a code via text message (SMS), or sometimes a phone call, quickly became the de-facto method. Before everyone had smartphones and therefore the ability to install apps, using text messages or phone calls was the only way to implement MFA without having to provision RSA tokens for everyone in the team.",{"data":139364,"content":139365,"nodeType":860},{},[139366,139370,139378],{"data":139367,"marks":139368,"value":139369,"nodeType":864},{},[],"The major downside to using these methods is their reliance on the security of the phone number. If attackers really want to target an account, and they know the phone number used for MFA, they can try something called ",{"data":139371,"content":139373,"nodeType":883},{"uri":139372},"https://en.wikipedia.org/wiki/SIM_swap_scam",[139374],{"data":139375,"marks":139376,"value":139377,"nodeType":864},{},[],"SIM-swapping",{"data":139379,"marks":139380,"value":139381,"nodeType":864},{},[]," to hijack the phone number, and hence nullify the MFA.",{"data":139383,"content":139384,"nodeType":860},{},[139385],{"data":139386,"marks":139387,"value":139388,"nodeType":864},{},[],"The most important thing to note in that scenario is how targeted it is. With no MFA, any attacker on the Internet can simply guess passwords on an account - the cost is extremely low. To bypass SMS or phone call MFA using SIM swapping has a significantly higher cost. The attack is definitely practical, but would only happen when you're specifically targeted.",{"data":139390,"content":139391,"nodeType":860},{},[139392],{"data":139393,"marks":139394,"value":139395,"nodeType":864},{},[],"Additionally, the user experience isn't as good. Firstly, the user must have mobile signal to receive the SMS or call. Secondly, there can often be a delay in delivery, due to the less-reliable mobile network. Finally, there is almost always a usage cost associated with these methods, since it costs money to send SMSs or make phone calls.",{"data":139397,"content":139398,"nodeType":860},{},[139399],{"data":139400,"marks":139401,"value":139402,"nodeType":864},{},[],"Because of this, SMS or phone calls are often considered least desirable MFA methods today.",{"data":139404,"content":139405,"nodeType":1312},{},[139406],{"data":139407,"marks":139408,"value":139409,"nodeType":864},{},[],"Security keys",{"data":139411,"content":139412,"nodeType":860},{},[139413],{"data":139414,"marks":139415,"value":139416,"nodeType":864},{},[],"FIDO2 is the name for a set of authentication protocols and standards developed by a consortium of tech companies to be the future of authentication. FIDO2 solves a lot of the problems we've dealt with in the past: it's secure, usable, impossible to spoof.",{"data":139418,"content":139419,"nodeType":860},{},[139420,139424,139432,139436,139443],{"data":139421,"marks":139422,"value":139423,"nodeType":864},{},[],"Without digging into the weeds of how that works (",{"data":139425,"content":139427,"nodeType":883},{"uri":139426},"https://fidoalliance.org/fido2/",[139428],{"data":139429,"marks":139430,"value":139431,"nodeType":864},{},[],"the official page from the FIDO alliance is worth a read if you're interested",{"data":139433,"marks":139434,"value":139435,"nodeType":864},{},[],"), you will need what's commonly referred to as a \"security key\" to make use of it. This is a small physical device, often plugged into your USB port - modern devices that understand FIDO2, like the ",{"data":139437,"content":139438,"nodeType":883},{"uri":138883},[139439],{"data":139440,"marks":139441,"value":139442,"nodeType":864},{},[],"YubiKey 5 Series",{"data":139444,"marks":139445,"value":139446,"nodeType":864},{},[],", are preferable. Once setup, you simply touch the key on login and the magic of cryptography ensures a high degree of security.",{"data":139448,"content":139449,"nodeType":860},{},[139450],{"data":139451,"marks":139452,"value":139453,"nodeType":864},{},[],"In fact, this approach is so secure, it is the basis of a \"passwordless\" revolution, where this strong factor of authentication can feasibly be used as a single-factor of authentication, and users don't even need to remember passwords anymore. Though in its infancy at the moment, expect to hear more about that in the coming years.",{"data":139455,"content":139456,"nodeType":860},{},[139457],{"data":139458,"marks":139459,"value":139460,"nodeType":864},{},[],"The primary drawback of this method is the cost, with devices typically costing around $50 each. Also, although you can expect them to be supported on major platforms, they aren't supported as widely as other methods just yet.",{"data":139462,"content":139463,"nodeType":860},{},[139464],{"data":139465,"marks":139466,"value":139467,"nodeType":864},{},[],"If you are unable to justify their cost for all users, a common implementation is to use security keys for high privilege accounts.",{"data":139469,"content":139470,"nodeType":1312},{},[139471],{"data":139472,"marks":139473,"value":139474,"nodeType":864},{},[],"Built-in security keys",{"data":139476,"content":139477,"nodeType":860},{},[139478],{"data":139479,"marks":139480,"value":139481,"nodeType":864},{},[],"Many modern mobile devices like laptops, tablets and phones have built-in security keys (e.g. Apple TouchId,  Android phones, and Windows Hello). These have many of the advantages of stand-alone security keys, but without the cost!",{"data":139483,"content":139484,"nodeType":860},{},[139485],{"data":139486,"marks":139487,"value":139488,"nodeType":864},{},[],"Support for these keys is a fairly recent development and is still ongoing but opens up an exciting future where users will increasingly be able to very easily add a second factor, or even go passwordless, in a secure way, without much effort or thought.",{"data":139490,"content":139491,"nodeType":1005},{},[],{"data":139493,"content":139494,"nodeType":860},{},[139495],{"data":139496,"marks":139497,"value":139498,"nodeType":864},{},[],"In conclusion there are multiple options you can choose from to fit almost any scenario you have. While some options are better than others, even the worst option is still a massive improvement on passwords alone. In the end, the best MFA method is the one you can start rolling out today, you can always improve down the line.",{"data":139500,"content":139503,"nodeType":996},{"target":139501},{"sys":139502},{"id":102281,"type":1001,"linkType":1002},[],{"data":139505,"content":139506,"nodeType":860},{},[139507],{"data":139508,"marks":139509,"value":21,"nodeType":864},{},[],"Which MFA methods should you use?","SMS, Authenticator apps, Security Keys, and more! We compare them from a user experience, security, cost, and security aspect.",[457],"2021-03-15T00:00:00.000+01:00","which-mfa-methods-should-you-use",{"items":139516},[139517,139519],{"sys":139518,"name":2729},{"id":2728},{"sys":139520,"name":297},{"id":2732},{"items":139522},[139523],{"fullName":79005,"firstName":79006,"jobTitle":79007,"profilePicture":139524},{"url":79009},{"__typename":2059,"sys":139526,"content":139527,"title":139705,"synopsis":139706,"hashTags":59,"publishedDate":139707,"slug":139708,"tagsCollection":139709,"authorsCollection":139715},{"id":137501},{"json":139528},{"data":139529,"content":139530,"nodeType":856},{},[139531,139538,139545,139551,139567,139573,139580,139587,139616,139622,139641,139659,139678],{"data":139532,"content":139533,"nodeType":860},{},[139534],{"data":139535,"marks":139536,"value":139537,"nodeType":864},{},[],"With more platforms adding support for Multi-factor Authentication (MFA) and users increasingly adopting it to secure their accounts, attackers are adapting and moving to new methods of compromising user accounts. In this post we’ll take a look at consent phishing and how it is being used to bypass MFA and also skirt key attributes of phishing that are taught in traditional user awareness campaigns, such as links to untrusted domains.",{"data":139539,"content":139540,"nodeType":860},{},[139541],{"data":139542,"marks":139543,"value":139544,"nodeType":864},{},[],"Imagine yourself sitting down at your desk first thing on a Monday morning, cup of coffee steaming next to your keyboard as you click through your backlog of emails. You open the below email and you see that Karl has shared a financial report with you. ",{"data":139546,"content":139550,"nodeType":996},{"target":139547},{"sys":139548},{"id":139549,"type":1001,"linkType":1002},"7zysXleQdpE6isqi9OU56l",[],{"data":139552,"content":139553,"nodeType":860},{},[139554,139558,139563],{"data":139555,"marks":139556,"value":139557,"nodeType":864},{},[],"Maybe you’ve been waiting for the latest financials or you suspect this was sent erroneously but you’re curious and want to take a peek. When you click the link you are presented with a prompt that with your Monday brain looks just like the “Yes give me access” prompt you’ve clicked through a thousand times. I mean, it's a ",{"data":139559,"marks":139560,"value":139562,"nodeType":864},{},[139561],{"type":899},"microsoftonline.com",{"data":139564,"marks":139565,"value":139566,"nodeType":864},{},[]," domain, it's https and there’s a green tick in the corner so everything looks fine. ",{"data":139568,"content":139572,"nodeType":996},{"target":139569},{"sys":139570},{"id":139571,"type":1001,"linkType":1002},"6nPueTKEjLphqlytbQ0gcx",[],{"data":139574,"content":139575,"nodeType":860},{},[139576],{"data":139577,"marks":139578,"value":139579,"nodeType":864},{},[],"If you’d looked closely you may have noticed that this was in fact asking you to approve access rather than granting you access. But with your muscle memory in full control you click “Accept” before even glancing at the screen. You wait for the spreadsheet to open but are presented with a generic “File does not exist” error page. Oh well, apparently Karl realised his mistake and deleted the file or revoked your access. Onto the next email.",{"data":139581,"content":139582,"nodeType":860},{},[139583],{"data":139584,"marks":139585,"value":139586,"nodeType":864},{},[],"And just like that you’ve been consent phished. You’ve just granted the attackers permanent access to your account, which they retain even if you change your password or have MFA enabled. Chances are the attacker’s tools will immediately start downloading every piece of data you just granted them access to, which they can then explore at their leisure. ",{"data":139588,"content":139589,"nodeType":860},{},[139590,139594,139602,139605,139613],{"data":139591,"marks":139592,"value":139593,"nodeType":864},{},[],"To spot this you need to audit the apps you’ve approved, something you are doing regularly, right? Seriously though, this isn’t something many people check. These integrations are designed to be as seamless as possible and not to get in your way. But if this has piqued your interest you can check what access you have personally granted on ",{"data":139595,"content":139597,"nodeType":883},{"uri":139596},"https://myaccount.google.com/permissions",[139598],{"data":139599,"marks":139600,"value":139601,"nodeType":864},{},[],"Google Workspace",{"data":139603,"marks":139604,"value":902,"nodeType":864},{},[],{"data":139606,"content":139608,"nodeType":883},{"uri":139607},"https://myapps.microsoft.com/",[139609],{"data":139610,"marks":139611,"value":139612,"nodeType":864},{},[],"Microsoft 365",{"data":139614,"marks":139615,"value":2924,"nodeType":864},{},[],{"data":139617,"content":139621,"nodeType":996},{"target":139618},{"sys":139619},{"id":139620,"type":1001,"linkType":1002},"BPIX02LWblUNnkQw1TFWD",[],{"data":139623,"content":139624,"nodeType":860},{},[139625,139629,139637],{"data":139626,"marks":139627,"value":139628,"nodeType":864},{},[],"If you’d been paying attention when you clicked “Accept” you might have noticed that you were granting some pretty serious permissions here. These permissions allow the attackers to read and write any files you have access to - they could download all these files and then delete them. The attackers also got permission to send emails as you. They could send emails to your colleagues from you and phish them too, this isn’t impersonation where the email just “looks” like it came from you, the email DID come from you. Lastly the attackers asked for permission to manipulate your Outlook settings, with this they could set up a ",{"data":139630,"content":139632,"nodeType":883},{"uri":139631},"/features/detect-malicious-mail-rules/",[139633],{"data":139634,"marks":139635,"value":139636,"nodeType":864},{},[],"mail forwarding rule",{"data":139638,"marks":139639,"value":139640,"nodeType":864},{},[]," so that they get copies of all your emails forwarded to them directly without even having to log in. And all of this happens until you delete the underlying OAuth app.",{"data":139642,"content":139643,"nodeType":860},{},[139644,139648,139655],{"data":139645,"marks":139646,"value":139647,"nodeType":864},{},[],"In a ",{"data":139649,"content":139651,"nodeType":883},{"uri":139650},"https://www.microsoft.com/security/blog/2020/07/08/protecting-remote-workforce-application-attacks-consent-phishing/",[139652],{"data":139653,"marks":139654,"value":79166,"nodeType":864},{},[],{"data":139656,"marks":139657,"value":139658,"nodeType":864},{},[]," Microsoft warns that these attacks are on the rise. One notable example of this comes from the SANS Institute. They reported in August of 2020 that they had fallen victim to one of these attacks. As part of the investigation they produced a report with details on how the attackers managed to convince an employee to install a malicious Microsoft 365 add-in to gain access. ",{"data":139660,"content":139661,"nodeType":860},{},[139662,139666,139674],{"data":139663,"marks":139664,"value":139665,"nodeType":864},{},[],"So what can you do about this threat today? The only fool proof method of preventing this kind of attack is to prevent users from granting access to third party apps. This is terrible for users though, and you’ll be missing out on all the productivity benefits these apps can bring. A more balanced approach is to let users find and request apps, but have administrators approve the apps. More and more platforms (including Microsoft 365 and Slack) are offering built-in “admin consent” workflows to make getting a second pair of eyes on new apps even easier. You can also make it even easier for users  by pre-approving widely used apps from trusted publishers and users won’t even notice there is new protection in place 99% of the time. We are also actively working on this problem and if you would like to join our ",{"data":139667,"content":139669,"nodeType":883},{"uri":139668},"/features/secure-oauth-permissions-and-applications/",[139670],{"data":139671,"marks":139672,"value":139673,"nodeType":864},{},[],"early access program",{"data":139675,"marks":139676,"value":139677,"nodeType":864},{},[]," please get in touch.",{"data":139679,"content":139680,"nodeType":860},{},[139681,139685,139692,139695,139701],{"data":139682,"marks":139683,"value":139684,"nodeType":864},{},[],"Consent phishing is still an emerging technique and we believe that it has not reached peak usage by attackers yet. We are actively researching this attack technique as it continues to evolve. Follow us on Twitter ",{"data":139686,"content":139687,"nodeType":883},{"uri":47677},[139688],{"data":139689,"marks":139690,"value":139691,"nodeType":864},{},[],"@pushsecurity",{"data":139693,"marks":139694,"value":3731,"nodeType":864},{},[],{"data":139696,"content":139697,"nodeType":883},{"uri":47663},[139698],{"data":139699,"marks":139700,"value":47670,"nodeType":864},{},[],{"data":139702,"marks":139703,"value":139704,"nodeType":864},{},[]," or subscribe to our mailing list below to get the latest updates and tips for managing this for your users.","Consent phishing: the emerging phishing technique that can bypass 2FA","Consent phishing is an emerging technique attackers are using to compromise user accounts, even if they have Multi-factor Authentication (MFA or 2FA) enabled.","2021-07-06T00:00:00.000+01:00","consent-phishing-the-emerging-phishing-technique-that-can-bypass-2fa",{"items":139710},[139711,139713],{"sys":139712,"name":6593},{"id":6592},{"sys":139714,"name":342},{"id":6596},{"items":139716},[139717],{"fullName":139718,"firstName":4879,"jobTitle":139719,"profilePicture":139720},"Alex Triaca","Chief Architect",{"url":139721},"https://images.ctfassets.net/y1cdw1ablpvd/LmC3LyTH5V9NthbqKuqA2/8291887e41c15613bf98f6fd55773817/117-0-2.jpg","blog/okta-swa",{"json":139724},{"data":139725,"content":139726,"nodeType":856},{},[139727],{"data":139728,"content":139729,"nodeType":860},{},[139730],{"data":139731,"marks":139732,"value":139733,"nodeType":864},{},[],"In this article, we’ll discuss and demonstrate why Okta's SWA isn't the same or as secure as using SAML and OIDC authentication methods for SSO.\n",{"id":126352,"publishedAt":139735},"2026-08-13T09:35:30.843Z",{"items":139737},[139738,139740],{"sys":139739,"name":297},{"id":2732},{"sys":139741,"name":342},{"id":6596},{"items":139743},[139744,139746,139748,139750,139752,139754,139756,139758,139760,139762,139764],{"sys":139745,"name":279,"slug":280,"tier":31},{"id":276},{"sys":139747,"name":413,"slug":414,"tier":31},{"id":410},{"sys":139749,"name":545,"slug":546,"tier":31},{"id":542},{"sys":139751,"name":297,"slug":298,"tier":31},{"id":294},{"sys":139753,"name":342,"slug":343,"tier":31},{"id":339},{"sys":139755,"name":404,"slug":405,"tier":45},{"id":401},{"sys":139757,"name":571,"slug":572,"tier":45},{"id":568},{"sys":139759,"name":502,"slug":503,"tier":45},{"id":499},{"sys":139761,"name":395,"slug":396,"tier":45},{"id":392},{"sys":139763,"name":484,"slug":485,"tier":45},{"id":481},{"sys":139765,"name":598,"slug":599,"tier":45},{"id":595},"h-WNFaGzdRTPJF9qOFIS_yyC7JgZMN6_vS4PUbbDCrE",{"id":139768,"title":121729,"authorsCollection":139769,"content":139773,"extension":228,"faqItemsCollection":139997,"faqTitle":59,"featured":6,"hashTags":59,"meta":139999,"metaTitle":140000,"ogImage":59,"postType":79438,"publishedDate":121731,"relatedBlogPostsCollection":140001,"slug":121732,"stem":140178,"subtitle":59,"summary":140179,"synopsis":121730,"sys":140190,"tagsCollection":140192,"topicsCollection":140196,"__hash__":140206},"blog/blog/product-release-november-2023.json",{"items":139770},[139771],{"fullName":79005,"firstName":79006,"jobTitle":79007,"socialLinks":59,"profilePicture":139772},{"url":79009},{"json":139774,"links":139965},{"data":139775,"content":139776,"nodeType":856},{},[139777,139783,139813,139819,139832,139837,139854,139860,139873,139878,139895,139901,139914,139943,139949,139954,139959],{"data":139778,"content":139779,"nodeType":1312},{},[139780],{"data":139781,"marks":139782,"value":117629,"nodeType":864},{},[],{"data":139784,"content":139785,"nodeType":941},{},[139786,139795,139804],{"data":139787,"content":139788,"nodeType":945},{},[139789],{"data":139790,"content":139791,"nodeType":860},{},[139792],{"data":139793,"marks":139794,"value":121538,"nodeType":864},{},[],{"data":139796,"content":139797,"nodeType":945},{},[139798],{"data":139799,"content":139800,"nodeType":860},{},[139801],{"data":139802,"marks":139803,"value":121548,"nodeType":864},{},[],{"data":139805,"content":139806,"nodeType":945},{},[139807],{"data":139808,"content":139809,"nodeType":860},{},[139810],{"data":139811,"marks":139812,"value":121558,"nodeType":864},{},[],{"data":139814,"content":139815,"nodeType":1312},{},[139816],{"data":139817,"marks":139818,"value":121565,"nodeType":864},{},[],{"data":139820,"content":139821,"nodeType":860},{},[139822,139825,139829],{"data":139823,"marks":139824,"value":121572,"nodeType":864},{},[],{"data":139826,"marks":139827,"value":121577,"nodeType":864},{},[139828],{"type":899},{"data":139830,"marks":139831,"value":121581,"nodeType":864},{},[],{"data":139833,"content":139836,"nodeType":996},{"target":139834},{"sys":139835},{"id":121586,"type":1001,"linkType":1002},[],{"data":139838,"content":139839,"nodeType":860},{},[139840,139843,139851],{"data":139841,"marks":139842,"value":21,"nodeType":864},{},[],{"data":139844,"content":139847,"nodeType":27604},{"target":139845},{"sys":139846},{"id":120803,"type":1001,"linkType":1002},[139848],{"data":139849,"marks":139850,"value":30213,"nodeType":864},{},[],{"data":139852,"marks":139853,"value":21,"nodeType":864},{},[],{"data":139855,"content":139856,"nodeType":1312},{},[139857],{"data":139858,"marks":139859,"value":121611,"nodeType":864},{},[],{"data":139861,"content":139862,"nodeType":860},{},[139863,139866,139870],{"data":139864,"marks":139865,"value":121618,"nodeType":864},{},[],{"data":139867,"marks":139868,"value":121623,"nodeType":864},{},[139869],{"type":899},{"data":139871,"marks":139872,"value":121627,"nodeType":864},{},[],{"data":139874,"content":139877,"nodeType":996},{"target":139875},{"sys":139876},{"id":121632,"type":1001,"linkType":1002},[],{"data":139879,"content":139880,"nodeType":860},{},[139881,139884,139892],{"data":139882,"marks":139883,"value":21,"nodeType":864},{},[],{"data":139885,"content":139888,"nodeType":27604},{"target":139886},{"sys":139887},{"id":121644,"type":1001,"linkType":1002},[139889],{"data":139890,"marks":139891,"value":79249,"nodeType":864},{},[],{"data":139893,"marks":139894,"value":21,"nodeType":864},{},[],{"data":139896,"content":139897,"nodeType":1312},{},[139898],{"data":139899,"marks":139900,"value":121558,"nodeType":864},{},[],{"data":139902,"content":139903,"nodeType":860},{},[139904,139907,139911],{"data":139905,"marks":139906,"value":74483,"nodeType":864},{},[],{"data":139908,"marks":139909,"value":65701,"nodeType":864},{},[139910],{"type":899},{"data":139912,"marks":139913,"value":121671,"nodeType":864},{},[],{"data":139915,"content":139916,"nodeType":941},{},[139917,139930],{"data":139918,"content":139919,"nodeType":945},{},[139920],{"data":139921,"content":139922,"nodeType":860},{},[139923,139927],{"data":139924,"marks":139925,"value":121685,"nodeType":864},{},[139926],{"type":899},{"data":139928,"marks":139929,"value":121689,"nodeType":864},{},[],{"data":139931,"content":139932,"nodeType":945},{},[139933],{"data":139934,"content":139935,"nodeType":860},{},[139936,139940],{"data":139937,"marks":139938,"value":121700,"nodeType":864},{},[139939],{"type":899},{"data":139941,"marks":139942,"value":121704,"nodeType":864},{},[],{"data":139944,"content":139945,"nodeType":860},{},[139946],{"data":139947,"marks":139948,"value":121711,"nodeType":864},{},[],{"data":139950,"content":139953,"nodeType":996},{"target":139951},{"sys":139952},{"id":121716,"type":1001,"linkType":1002},[],{"data":139955,"content":139958,"nodeType":996},{"target":139956},{"sys":139957},{"id":102281,"type":1001,"linkType":1002},[],{"data":139960,"content":139961,"nodeType":860},{},[139962],{"data":139963,"marks":139964,"value":21,"nodeType":864},{},[],{"entries":139966},{"inline":139967,"hyperlink":139968,"block":139976},[],[139969,139971],{"sys":139970,"__typename":79413,"title":121004,"slug":121005,"articleId":121006},{"id":120803},{"sys":139972,"__typename":79413,"title":139973,"slug":139974,"articleId":139975},{"id":121644},"Can I automatically license new employees in Push?","can-i-automatically-license-new-employees-in-push",10098,[139977,139984,139990,139995],{"sys":139978,"__typename":1724,"title":139979,"caption":59,"layoutMode":59,"file":139980},{"id":121586},"Leaked password finding gif - release notes - November 2023",{"url":139981,"width":139982,"height":139983},"https://images.ctfassets.net/y1cdw1ablpvd/1djwdOqniMKtzbxwuJ7Xgk/d5d8a4fca35e6a6380d109758a95912c/leaked-password-demo.gif",800,455,{"sys":139985,"__typename":1724,"title":139986,"caption":59,"layoutMode":59,"file":139987},{"id":121632},"Automatic licensing toggle on Settings - KB 10098",{"url":139988,"width":139989,"height":100350},"https://images.ctfassets.net/y1cdw1ablpvd/5WUVRsiP5xSsaoqBMZ2Y2R/cc751868500892e19d7f43868305ffa7/auto-unlicensing_settings_20260420.png",3010,{"sys":139991,"__typename":1724,"title":139992,"caption":59,"layoutMode":59,"file":139993},{"id":121716},"Accounts filtering demo gif - release notes - November 2023",{"url":139994,"width":139982,"height":139983},"https://images.ctfassets.net/y1cdw1ablpvd/3p3ymD0dD5LjwRZKfBDgc0/f86b8113873da6db244f748e83b9ac68/filtering-demo.gif",{"sys":139996,"__typename":1717,"type":47670,"ctaText":132414,"buttonLabel":132415,"buttonColour":66936,"buttonUrl":59},{"id":102281},{"items":139998},[],{},"Push Security new product features for November 2023 ",{"items":140002},[140003],{"__typename":2059,"sys":140004,"content":140006,"title":140166,"synopsis":140167,"hashTags":59,"publishedDate":140168,"slug":140169,"tagsCollection":140170,"authorsCollection":140174},{"id":140005},"3jGvJl30Ted1QQl9ctZILN",{"json":140007},{"data":140008,"content":140009,"nodeType":856},{},[140010,140017,140024,140048,140063,140069,140087,140094,140101,140107,140114,140130,140136,140154,140160],{"data":140011,"content":140012,"nodeType":860},{},[140013],{"data":140014,"marks":140015,"value":140016,"nodeType":864},{},[],"Here's what’s new on the Push platform this month.",{"data":140018,"content":140019,"nodeType":1312},{},[140020],{"data":140021,"marks":140022,"value":140023,"nodeType":864},{},[],"Capture app owner and custom notes",{"data":140025,"content":140026,"nodeType":860},{},[140027,140031,140035,140039,140044],{"data":140028,"marks":140029,"value":140030,"nodeType":864},{},[],"You can now specify an owner for each app in Push to make it simpler to identify who’s responsible when there’s a question or security concern. In the Push admin console, go to ",{"data":140032,"marks":140033,"value":65672,"nodeType":864},{},[140034],{"type":899},{"data":140036,"marks":140037,"value":140038,"nodeType":864},{},[]," and select the app, then use the ",{"data":140040,"marks":140041,"value":140043,"nodeType":864},{},[140042],{"type":899},"Owner",{"data":140045,"marks":140046,"value":140047,"nodeType":864},{},[]," field.",{"data":140049,"content":140050,"nodeType":860},{},[140051,140055,140060],{"data":140052,"marks":140053,"value":140054,"nodeType":864},{},[],"Need to make a few notes about an app, too? You can do that now in a free-form ",{"data":140056,"marks":140057,"value":140059,"nodeType":864},{},[140058],{"type":899},"Notes",{"data":140061,"marks":140062,"value":140047,"nodeType":864},{},[],{"data":140064,"content":140068,"nodeType":996},{"target":140065},{"sys":140066},{"id":140067,"type":1001,"linkType":1002},"2M8KkIjMMZ2uxVAeAo3kCO",[],{"data":140070,"content":140071,"nodeType":860},{},[140072,140075,140084],{"data":140073,"marks":140074,"value":21,"nodeType":864},{},[],{"data":140076,"content":140080,"nodeType":27604},{"target":140077},{"sys":140078},{"id":140079,"type":1001,"linkType":1002},"6MLL6MzTCJajPX9u2cZHE9",[140081],{"data":140082,"marks":140083,"value":30213,"nodeType":864},{},[],{"data":140085,"marks":140086,"value":21,"nodeType":864},{},[],{"data":140088,"content":140089,"nodeType":1312},{},[140090],{"data":140091,"marks":140092,"value":140093,"nodeType":864},{},[],"Quickly understand a newly added app",{"data":140095,"content":140096,"nodeType":860},{},[140097],{"data":140098,"marks":140099,"value":140100,"nodeType":864},{},[],"Know more about an app that Push has discovered by checking the app description details we’re adding. Get basic context to help you make a decision about an app in your environment.",{"data":140102,"content":140106,"nodeType":996},{"target":140103},{"sys":140104},{"id":140105,"type":1001,"linkType":1002},"48OstaOtukGalRD0w9ZzZU",[],{"data":140108,"content":140109,"nodeType":1312},{},[140110],{"data":140111,"marks":140112,"value":140113,"nodeType":864},{},[],"Hide accounts you don’t want to license",{"data":140115,"content":140116,"nodeType":860},{},[140117,140121,140126],{"data":140118,"marks":140119,"value":140120,"nodeType":864},{},[],"If you’ve got service accounts, test accounts, or others you don’t intend to license in Push, you can now hide them from the ",{"data":140122,"marks":140123,"value":140125,"nodeType":864},{},[140124],{"type":899},"Unlicensed",{"data":140127,"marks":140128,"value":140129,"nodeType":864},{},[]," list in the admin console.",{"data":140131,"content":140135,"nodeType":996},{"target":140132},{"sys":140133},{"id":140134,"type":1001,"linkType":1002},"4pmlIOo7KC5IB9r8XCEABj",[],{"data":140137,"content":140138,"nodeType":860},{},[140139,140142,140151],{"data":140140,"marks":140141,"value":21,"nodeType":864},{},[],{"data":140143,"content":140147,"nodeType":27604},{"target":140144},{"sys":140145},{"id":140146,"type":1001,"linkType":1002},"COmzQqUjFOWEGSzQ5Qi76",[140148],{"data":140149,"marks":140150,"value":30213,"nodeType":864},{},[],{"data":140152,"marks":140153,"value":21,"nodeType":864},{},[],{"data":140155,"content":140156,"nodeType":860},{},[140157],{"data":140158,"marks":140159,"value":90277,"nodeType":864},{},[],{"data":140161,"content":140162,"nodeType":860},{},[140163],{"data":140164,"marks":140165,"value":21,"nodeType":864},{},[],"Product release: September 2023","Here’s what’s new on the Push platform for September 2023.","2023-09-26T00:00:00.000Z","product-release-september-2023",{"items":140171},[140172],{"sys":140173,"name":73498},{"id":73497},{"items":140175},[140176],{"fullName":79005,"firstName":79006,"jobTitle":79007,"profilePicture":140177},{"url":79009},"blog/product-release-november-2023",{"json":140180},{"data":140181,"content":140182,"nodeType":856},{},[140183],{"data":140184,"content":140185,"nodeType":860},{},[140186],{"data":140187,"marks":140188,"value":140189,"nodeType":864},{},[],"New finding type for leaked passwords, automatic licensing for new employees, and improved filtering options ",{"id":121515,"publishedAt":140191},"2026-08-12T11:55:47.233Z",{"items":140193},[140194],{"sys":140195,"name":73498},{"id":73497},{"items":140197},[140198,140200,140202,140204],{"sys":140199,"name":297,"slug":298,"tier":31},{"id":294},{"sys":140201,"name":413,"slug":414,"tier":31},{"id":410},{"sys":140203,"name":545,"slug":546,"tier":31},{"id":542},{"sys":140205,"name":502,"slug":503,"tier":45},{"id":499},"lPzyH79JgXCKTOBQXFMDFjSZfUXct61NnN-IeFAY9Y0",{"id":140208,"title":140209,"authorsCollection":140210,"content":140218,"extension":228,"faqItemsCollection":140757,"faqTitle":59,"featured":6,"hashTags":59,"meta":140759,"metaTitle":140760,"ogImage":59,"postType":38987,"publishedDate":140761,"relatedBlogPostsCollection":140762,"slug":141687,"stem":141688,"subtitle":59,"summary":141689,"synopsis":141699,"sys":141700,"tagsCollection":141703,"topicsCollection":141709,"__hash__":141729},"blog/blog/third-party-risk-management.json","Understanding Third-Party Risk Management (TPRM): how to protect your organization",{"items":140211},[140212],{"fullName":140213,"firstName":140214,"jobTitle":140215,"socialLinks":59,"profilePicture":140216},"Sally Soulliere","Sally","Head of Brand & Content",{"url":140217},"https://images.ctfassets.net/y1cdw1ablpvd/7Gh4SbbEj6Zsbd6OzGto8Q/885041a4ddeccc5ef3045c0e22975ef4/T016S22KZ96-U036FPETQRH-330f87708d26-192.jpeg",{"json":140219,"links":140722},{"data":140220,"content":140221,"nodeType":856},{},[140222,140228,140235,140242,140249,140256,140263,140355,140360,140367,140475,140482,140489,140496,140503,140510,140517,140524,140531,140538,140545,140552,140559,140566,140572,140579,140586,140592,140599,140606,140659,140665,140672,140679,140685,140692,140699,140706],{"data":140223,"content":140224,"nodeType":1009},{},[140225],{"data":140226,"marks":140227,"value":126377,"nodeType":864},{},[],{"data":140229,"content":140230,"nodeType":860},{},[140231],{"data":140232,"marks":140233,"value":140234,"nodeType":864},{},[],"Companies often rely on third-party relationships to improve their operational efficiency and expand their capabilities. While these partnerships can bring numerous benefits, they also introduce a critical element of risk. Organizations often employ a strategic approach known as \"Third-Party Risk Management\"(TPRM) to try to manage third-party risk. In this article, we'll delve into the concept of third-party risk management at a high level, highlighting its importance and key components.",{"data":140236,"content":140237,"nodeType":860},{},[140238],{"data":140239,"marks":140240,"value":140241,"nodeType":864},{},[],"We’ll also explore alternative approaches that can help manage third-party risk, which may not yet be on your radar.",{"data":140243,"content":140244,"nodeType":1009},{},[140245],{"data":140246,"marks":140247,"value":140248,"nodeType":864},{},[],"What is Third-Party Risk Management?",{"data":140250,"content":140251,"nodeType":860},{},[140252],{"data":140253,"marks":140254,"value":140255,"nodeType":864},{},[],"Third-Party Risk Management (TPRM) is the process of identifying, assessing, and mitigating potential risks associated with third-party relationships, such as suppliers, vendors, service providers, or subcontractors. These external entities play integral roles in a company's operations, making it essential to manage the risks they may introduce.",{"data":140257,"content":140258,"nodeType":1009},{},[140259],{"data":140260,"marks":140261,"value":140262,"nodeType":864},{},[],"Why is TPRM Important?",{"data":140264,"content":140265,"nodeType":941},{},[140266,140281,140296,140311,140321,140340],{"data":140267,"content":140268,"nodeType":945},{},[140269],{"data":140270,"content":140271,"nodeType":860},{},[140272,140277],{"data":140273,"marks":140274,"value":140276,"nodeType":864},{},[140275],{"type":899},"Protecting Reputation",{"data":140278,"marks":140279,"value":140280,"nodeType":864},{},[],": A third-party's failure to protect your data and meet agreed-upon standards can tarnish your company image and brand, potentially leading to a loss of trust among customers, stakeholders, and the public.",{"data":140282,"content":140283,"nodeType":945},{},[140284],{"data":140285,"content":140286,"nodeType":860},{},[140287,140292],{"data":140288,"marks":140289,"value":140291,"nodeType":864},{},[140290],{"type":899},"Compliance",{"data":140293,"marks":140294,"value":140295,"nodeType":864},{},[],": Regulatory bodies worldwide have heightened their scrutiny of third-party relationships. If both parties don’t comply with these regulations, they may have to pay hefty fines and face legal consequences. TPRM is meant to ensure adherence to these legal requirements.",{"data":140297,"content":140298,"nodeType":945},{},[140299],{"data":140300,"content":140301,"nodeType":860},{},[140302,140307],{"data":140303,"marks":140304,"value":140306,"nodeType":864},{},[140305],{"type":899},"Data Security",{"data":140308,"marks":140309,"value":140310,"nodeType":864},{},[],": Third-party partners, applications, and services often have access to sensitive data, so it’s crucial that they follow standard security measures and adhere to data compliance regulations. ",{"data":140312,"content":140313,"nodeType":945},{},[140314],{"data":140315,"content":140316,"nodeType":860},{},[140317],{"data":140318,"marks":140319,"value":140320,"nodeType":864},{},[],"In the case of third-party applications, even if they don’t have direct access to company data, they may have access to it depending on what permissions were granted to the app upon sign up. ",{"data":140322,"content":140323,"nodeType":945},{},[140324],{"data":140325,"content":140326,"nodeType":860},{},[140327,140331,140336],{"data":140328,"marks":140329,"value":140330,"nodeType":864},{},[],"You may not also realize that even if an application doesn’t contain data you consider ",{"data":140332,"marks":140333,"value":140335,"nodeType":864},{},[140334],{"type":2246},"sensitive",{"data":140337,"marks":140338,"value":140339,"nodeType":864},{},[]," or high-risk, the app itself can be used by an attacker to gain access to that sensitive data stored elsewhere in your systems.",{"data":140341,"content":140342,"nodeType":945},{},[140343],{"data":140344,"content":140345,"nodeType":860},{},[140346,140351],{"data":140347,"marks":140348,"value":140350,"nodeType":864},{},[140349],{"type":899},"Operational Resilience",{"data":140352,"marks":140353,"value":140354,"nodeType":864},{},[],": If a critical third-party vendor experiences disruptions, your whole business can be disrupted. TPRM helps mitigate this risk by identifying potential vulnerabilities and developing contingency plans.",{"data":140356,"content":140359,"nodeType":996},{"target":140357},{"sys":140358},{"id":92011,"type":1001,"linkType":1002},[],{"data":140361,"content":140362,"nodeType":1009},{},[140363],{"data":140364,"marks":140365,"value":140366,"nodeType":864},{},[],"Key Components of Third-Party Risk Management",{"data":140368,"content":140369,"nodeType":941},{},[140370,140385,140400,140415,140430,140445,140460],{"data":140371,"content":140372,"nodeType":945},{},[140373],{"data":140374,"content":140375,"nodeType":860},{},[140376,140381],{"data":140377,"marks":140378,"value":140380,"nodeType":864},{},[140379],{"type":899},"Identification",{"data":140382,"marks":140383,"value":140384,"nodeType":864},{},[],": The first step in TPRM is identifying all third-party relationships within the organization. This includes both existing and potential partnerships.",{"data":140386,"content":140387,"nodeType":945},{},[140388],{"data":140389,"content":140390,"nodeType":860},{},[140391,140396],{"data":140392,"marks":140393,"value":140395,"nodeType":864},{},[140394],{"type":899},"Risk Assessment",{"data":140397,"marks":140398,"value":140399,"nodeType":864},{},[],": Each third-party is assessed for various risks, including financial, operational, compliance, and reputational risks. This process helps prioritize risk mitigation efforts.",{"data":140401,"content":140402,"nodeType":945},{},[140403],{"data":140404,"content":140405,"nodeType":860},{},[140406,140411],{"data":140407,"marks":140408,"value":140410,"nodeType":864},{},[140409],{"type":899},"Due Diligence",{"data":140412,"marks":140413,"value":140414,"nodeType":864},{},[],": Due diligence involves conducting background checks, audits, and reviews to gather information about a third-party's history, financial stability, and adherence to industry standards.",{"data":140416,"content":140417,"nodeType":945},{},[140418],{"data":140419,"content":140420,"nodeType":860},{},[140421,140426],{"data":140422,"marks":140423,"value":140425,"nodeType":864},{},[140424],{"type":899},"Contractual Agreements",{"data":140427,"marks":140428,"value":140429,"nodeType":864},{},[],": Contracts with third parties should clearly define roles, responsibilities, and expectations, including risk-sharing agreements and penalties for non-compliance.",{"data":140431,"content":140432,"nodeType":945},{},[140433],{"data":140434,"content":140435,"nodeType":860},{},[140436,140441],{"data":140437,"marks":140438,"value":140440,"nodeType":864},{},[140439],{"type":899},"Monitoring and Reporting",{"data":140442,"marks":140443,"value":140444,"nodeType":864},{},[],": Continuous monitoring of third-party activities is essential. Any deviations from agreed-upon standards or indicators of potential risks should be reported promptly.",{"data":140446,"content":140447,"nodeType":945},{},[140448],{"data":140449,"content":140450,"nodeType":860},{},[140451,140456],{"data":140452,"marks":140453,"value":140455,"nodeType":864},{},[140454],{"type":899},"Risk Mitigation Strategies",{"data":140457,"marks":140458,"value":140459,"nodeType":864},{},[],": Based on risk assessments, organizations should develop mitigation strategies that may include risk transfer, contingency plans, or risk-sharing mechanisms.",{"data":140461,"content":140462,"nodeType":945},{},[140463],{"data":140464,"content":140465,"nodeType":860},{},[140466,140471],{"data":140467,"marks":140468,"value":140470,"nodeType":864},{},[140469],{"type":899},"Exit Strategy",{"data":140472,"marks":140473,"value":140474,"nodeType":864},{},[],": You need to plan for the termination of a third-party relationship, which should include data retrieval, transitioning responsibilities, and ensuring minimal disruption to operations.",{"data":140476,"content":140477,"nodeType":860},{},[140478],{"data":140479,"marks":140480,"value":140481,"nodeType":864},{},[],"You can see why these TPRM strategies are so important! Since they’re so critical from an IT and Security perspective, a good TPRM strategy will also benefit from treating each third-party commodity separately. ",{"data":140483,"content":140484,"nodeType":860},{},[140485],{"data":140486,"marks":140487,"value":140488,"nodeType":864},{},[],"Take, for example, a third-party technology partner. You may have a TPRM strategy specifically for this group, which focuses on all those elements listed above. \n\nBut one specific third-party “group” to consider focusing on as party of your TPRM plan is SaaS and identity security. ",{"data":140490,"content":140491,"nodeType":1009},{},[140492],{"data":140493,"marks":140494,"value":140495,"nodeType":864},{},[],"Ensure your TPRM strategy can keep up with the explosion of third-party cloud services",{"data":140497,"content":140498,"nodeType":860},{},[140499],{"data":140500,"marks":140501,"value":140502,"nodeType":864},{},[],"Now that most companies are reliant on third-party cloud and SaaS applications to operate efficiently, TPRM strategies must include solutions that focus on reducing the risk of those third-party apps and identities. So, in addition to the governance risk and compliance (GRC) tools you’re using as part of your TPRM strategy, you should strongly consider how this fits into your overall cloud security strategy. \n\nTo manage third-party cloud services, you’ll likely first encounter solutions lumped into a few categories, including cloud access security brokers (CASBs), SaaS security posture management (SSPMs), and cloud security posture management (CSPMs). ",{"data":140504,"content":140505,"nodeType":860},{},[140506],{"data":140507,"marks":140508,"value":140509,"nodeType":864},{},[],"In this section, we’ll be discussing third-party risk specifically when it comes to SaaS and the integrations that are added to core SaaS platforms. Note that some call these SaaS integrations “fourth-party risk,” but we think the risk can be managed similarly across both types of SaaS apps, so we’re going to talk about both. ",{"data":140511,"content":140512,"nodeType":1312},{},[140513],{"data":140514,"marks":140515,"value":140516,"nodeType":864},{},[],"What is SaaS third-party risk? ",{"data":140518,"content":140519,"nodeType":860},{},[140520],{"data":140521,"marks":140522,"value":140523,"nodeType":864},{},[],"SaaS third-party risk refers to the potential dangers and vulnerabilities associated with using third-party SaaS providers for software and services in terms of security, compliance, and operational continuity.",{"data":140525,"content":140526,"nodeType":1312},{},[140527],{"data":140528,"marks":140529,"value":140530,"nodeType":864},{},[],"Why does it deserve special attention in your TPRM program?",{"data":140532,"content":140533,"nodeType":860},{},[140534],{"data":140535,"marks":140536,"value":140537,"nodeType":864},{},[],"Due to the scale and expansion of how many SaaS apps are used within a business. SaaS has exploded, with new apps hitting the market every day, and employees continue to self-adopt SaaS apps that have the features and functionality they need to do their jobs and make things easier. The trouble is that in order to work, most SaaS apps require access to other business apps, company data, or employee/user data to work. ",{"data":140539,"content":140540,"nodeType":860},{},[140541],{"data":140542,"marks":140543,"value":140544,"nodeType":864},{},[],"With employees self-adopting apps for work all the time, IT and Security are left trying to manage the risk without even having visibility into what apps and identities are being created.",{"data":140546,"content":140547,"nodeType":860},{},[140548],{"data":140549,"marks":140550,"value":140551,"nodeType":864},{},[],"So, the first step is getting that visibility so you know which third-parties to focus on, what data they have access to, and if they’re doing anything that might indicate that they’re malicious or simply too high risk for the company.",{"data":140553,"content":140554,"nodeType":1009},{},[140555],{"data":140556,"marks":140557,"value":140558,"nodeType":864},{},[],"Push provides visibility into all third-party cloud services employees are using and creating",{"data":140560,"content":140561,"nodeType":860},{},[140562],{"data":140563,"marks":140564,"value":140565,"nodeType":864},{},[],"Push uses data from our browser extension to find SaaS apps that employees sign  \ninto with usernames and passwords and SSO (OIDC). This gives you complete visibility of \nyour SaaS environment, including shadow SaaS apps and cloud accounts that aren’t \nmanaged by IT. ",{"data":140567,"content":140571,"nodeType":996},{"target":140568},{"sys":140569},{"id":140570,"type":1001,"linkType":1002},"64S2LPmlKfXD924iZaRMc6",[],{"data":140573,"content":140574,"nodeType":1312},{},[140575],{"data":140576,"marks":140577,"value":140578,"nodeType":864},{},[],"Detect the new apps, integrations and identities in real time",{"data":140580,"content":140581,"nodeType":860},{},[140582],{"data":140583,"marks":140584,"value":140585,"nodeType":864},{},[],"Push detects employees signing up to new apps, or integrating third-party apps to your core work platforms in real-time. That allows you to step in at the earliest opportunity to check out the app and guide the employee through the appropriate app onboarding steps. ",{"data":140587,"content":140591,"nodeType":996},{"target":140588},{"sys":140589},{"id":140590,"type":1001,"linkType":1002},"1hqMZl60NhvhHIfnO7FttV",[],{"data":140593,"content":140594,"nodeType":1312},{},[140595],{"data":140596,"marks":140597,"value":140598,"nodeType":864},{},[],"Identify account security risks and discover shadow SaaS at the same time",{"data":140600,"content":140601,"nodeType":860},{},[140602],{"data":140603,"marks":140604,"value":140605,"nodeType":864},{},[],"Supply chain risk is important, but we’d argue the risk of identity-based attacks are greater for most organizations. 49% of the incidents in the 2023 Verizon DBIR involved credentials, and Crowdstrike have reported that 80% of the attacks they detected used identity-based attack techniques. Push can identify account security issues that make it possible for attackers to compromise your employees accounts using credential stuffing, brute forcing and consent phishing attacks. These include:",{"data":140607,"content":140608,"nodeType":941},{},[140609,140619,140629,140639,140649],{"data":140610,"content":140611,"nodeType":945},{},[140612],{"data":140613,"content":140614,"nodeType":860},{},[140615],{"data":140616,"marks":140617,"value":140618,"nodeType":864},{},[],"Compromised passwords",{"data":140620,"content":140621,"nodeType":945},{},[140622],{"data":140623,"content":140624,"nodeType":860},{},[140625],{"data":140626,"marks":140627,"value":140628,"nodeType":864},{},[],"Guessable passwords (and not using a password manager for storing complex passwords)",{"data":140630,"content":140631,"nodeType":945},{},[140632],{"data":140633,"content":140634,"nodeType":860},{},[140635],{"data":140636,"marks":140637,"value":140638,"nodeType":864},{},[],"Account-sharing between multiple employees",{"data":140640,"content":140641,"nodeType":945},{},[140642],{"data":140643,"content":140644,"nodeType":860},{},[140645],{"data":140646,"marks":140647,"value":140648,"nodeType":864},{},[],"Reusing passwords across multiple accounts",{"data":140650,"content":140651,"nodeType":945},{},[140652],{"data":140653,"content":140654,"nodeType":860},{},[140655],{"data":140656,"marks":140657,"value":140658,"nodeType":864},{},[],"Missing MFA",{"data":140660,"content":140664,"nodeType":996},{"target":140661},{"sys":140662},{"id":140663,"type":1001,"linkType":1002},"3y9oXd2vV1IGL0ci97qXz1",[],{"data":140666,"content":140667,"nodeType":860},{},[140668],{"data":140669,"marks":140670,"value":140671,"nodeType":864},{},[],"We identify these issues at the same time we discover shadow SaaS apps, so you can tackle identity-based attack risks at the same time as supply chain risk to reduce your overall risk exposure faster.",{"data":140673,"content":140674,"nodeType":860},{},[140675],{"data":140676,"marks":140677,"value":140678,"nodeType":864},{},[],"We engage employees directly via Slack or MS Teams, explain the account security issue we’ve identified in a way they’ll understand, and guide them on how to fix it.",{"data":140680,"content":140684,"nodeType":996},{"target":140681},{"sys":140682},{"id":140683,"type":1001,"linkType":1002},"2ff4hEKJ1CqKjPMaVPTxHp",[],{"data":140686,"content":140687,"nodeType":1312},{},[140688],{"data":140689,"marks":140690,"value":140691,"nodeType":864},{},[],"Regain control of all the third-party cloud services employees sign up for on their own",{"data":140693,"content":140694,"nodeType":860},{},[140695],{"data":140696,"marks":140697,"value":140698,"nodeType":864},{},[],"By using Push, you gain complete visibility of all SaaS apps in your environment, including those adopted by employees without the oversight of IT and Security. ",{"data":140700,"content":140701,"nodeType":860},{},[140702],{"data":140703,"marks":140704,"value":140705,"nodeType":864},{},[],"We’ll automatically find the security issues that put your data at risk and guide employees to fix them. This allows you to allow app self-adoption and adopt a default allow approach that enables your business while scaling security so you don’t lose control of SaaS security risks.  ",{"data":140707,"content":140708,"nodeType":860},{},[140709,140712,140718],{"data":140710,"marks":140711,"value":21,"nodeType":864},{},[],{"data":140713,"content":140714,"nodeType":883},{"uri":5642},[140715],{"data":140716,"marks":140717,"value":41118,"nodeType":864},{},[],{"data":140719,"marks":140720,"value":140721,"nodeType":864},{},[]," to find out more.",{"entries":140723},{"hyperlink":140724,"inline":140725,"block":140726},[],[],[140727,140729,140736,140743,140751],{"sys":140728,"__typename":1717,"type":80540,"ctaText":125792,"buttonLabel":125793,"buttonColour":1721,"buttonUrl":59},{"id":92011},{"sys":140730,"__typename":1724,"title":140731,"caption":140732,"layoutMode":59,"file":140733},{"id":140570},"Apps dash_PLG blog","Push dashboard of applications in use",{"url":140734,"width":1736,"height":140735},"https://images.ctfassets.net/y1cdw1ablpvd/725D6oAs9P55D6ffUZQ943/ea8128093af916eea79c13d429755f6e/image3.png",1034,{"sys":140737,"__typename":1724,"title":140738,"caption":140739,"layoutMode":140740,"file":140741},{"id":140590},"Slack message new app alert for Security team","Channel message to security team via Slack about new app ","Centre aligned",{"url":140742,"width":1736,"height":140735},"https://images.ctfassets.net/y1cdw1ablpvd/6CKhrva6Jh3jpHfnt0Maq5/edeeac0b00f1109e8601016f5a6e0c63/image17.png",{"sys":140744,"__typename":1724,"title":140745,"caption":140746,"layoutMode":59,"file":140747},{"id":140663},"Employee identities dashboard ","Employee identities dashboard showing the security status for each account/identity",{"url":140748,"width":140749,"height":140750},"https://images.ctfassets.net/y1cdw1ablpvd/3TFVCYgvSaiUlWFamaHhCd/3a845d4c7bd69058a4fa27099dd4cc2d/image2.png",1580,945,{"sys":140752,"__typename":1724,"title":140753,"caption":140754,"layoutMode":59,"file":140755},{"id":140683},"MFA ChatOps message ","A chat message to guide an employee to turn on MFA",{"url":140756,"width":1736,"height":140735},"https://images.ctfassets.net/y1cdw1ablpvd/3C4b1X7FvwlfGnSonGC0aT/2c14caaadc2252cde79be9db059acaf2/image6.png",{"items":140758},[],{},"What is Third-Party Risk Management","2023-10-31T00:00:00.000Z",{"items":140763},[140764,141158],{"__typename":2059,"sys":140765,"content":140767,"title":141144,"synopsis":141145,"hashTags":59,"publishedDate":141146,"slug":141147,"tagsCollection":141148,"authorsCollection":141154},{"id":140766},"6DXY81om8HSVmh3q7YRNfl",{"json":140768},{"data":140769,"content":140770,"nodeType":856},{},[140771,140777,140784,140791,140798,140806,140813,140820,140827,140832,140839,140846,140853,140860,140865,140872,140878,140884,140891,140898,140905,140915,140922,140941,140989,140994,141000,141007,141012,141019,141026,141044,141050,141057,141080,141087,141093,141101,141108,141114,141126,141133,141138],{"data":140772,"content":140773,"nodeType":1009},{},[140774],{"data":140775,"marks":140776,"value":126377,"nodeType":864},{},[],{"data":140778,"content":140779,"nodeType":860},{},[140780],{"data":140781,"marks":140782,"value":140783,"nodeType":864},{},[],"SaaS vendors have changed how software is adopted into a business. Now, the majority of SaaS vendors use a product-led growth model - which simply means they want users (your employees) to self-adopt their apps, start using them (with real data), and become a useful tool for the employee. ",{"data":140785,"content":140786,"nodeType":860},{},[140787],{"data":140788,"marks":140789,"value":140790,"nodeType":864},{},[],"Vendors want to bypass the security and IT software-onboarding processes we’d all gotten used to in the past. They know if they prove their tool is valuable with the user from the start, it’s much easier and quicker for them to gain traction and customers than it was waiting for security and IT teams to audit (and potentially refuse) their software.",{"data":140792,"content":140793,"nodeType":860},{},[140794],{"data":140795,"marks":140796,"value":140797,"nodeType":864},{},[],"The result of this...",{"data":140799,"content":140800,"nodeType":860},{},[140801],{"data":140802,"marks":140803,"value":140805,"nodeType":864},{},[140804],{"type":899},"Employees are self-adopting SaaS apps and creating new cloud identities on their own, without IT approval",{"data":140807,"content":140808,"nodeType":860},{},[140809],{"data":140810,"marks":140811,"value":140812,"nodeType":864},{},[],"This self-adoption has turned the product-adoption process on its head - leaving security and IT teams blind to which apps sensitive company data is flowing into.",{"data":140814,"content":140815,"nodeType":860},{},[140816],{"data":140817,"marks":140818,"value":140819,"nodeType":864},{},[],"Now that IT and security have to not only find these accounts, identities and apps, but keep sensitive corporate data secure across all cloud services, where do you start? ",{"data":140821,"content":140822,"nodeType":860},{},[140823],{"data":140824,"marks":140825,"value":140826,"nodeType":864},{},[],"You could consider a solution like Push, which has built-in features to find and secure identities your employees have created and guide them to harden their accounts against attacks.",{"data":140828,"content":140831,"nodeType":996},{"target":140829},{"sys":140830},{"id":92011,"type":1001,"linkType":1002},[],{"data":140833,"content":140834,"nodeType":1009},{},[140835],{"data":140836,"marks":140837,"value":140838,"nodeType":864},{},[],"Push gives you complete visibility, helps you identify risks, and works with employees to secure accounts ",{"data":140840,"content":140841,"nodeType":860},{},[140842],{"data":140843,"marks":140844,"value":140845,"nodeType":864},{},[],"It probably won’t come as a surprise to find out that we’ve designed Push so security teams can get a handle on employee-adopted SaaS apps without needing to block them.",{"data":140847,"content":140848,"nodeType":1312},{},[140849],{"data":140850,"marks":140851,"value":140852,"nodeType":864},{},[],"1. Get visibility of shadow SaaS apps and shadow identities",{"data":140854,"content":140855,"nodeType":860},{},[140856],{"data":140857,"marks":140858,"value":140859,"nodeType":864},{},[],"If you’re going to get a handle on employee-adopted SaaS apps, you need to get visibility \nof them first. Push uses data from our browser extension to find SaaS apps that employees sign  into with usernames and passwords and SSO (OIDC). This gives you complete visibility of your SaaS environment, including shadow SaaS apps and cloud accounts that are not managed by IT. ",{"data":140861,"content":140864,"nodeType":996},{"target":140862},{"sys":140863},{"id":140570,"type":1001,"linkType":1002},[],{"data":140866,"content":140867,"nodeType":1312},{},[140868],{"data":140869,"marks":140870,"value":140871,"nodeType":864},{},[],"2. Detect the new apps, integrations and identities in real time",{"data":140873,"content":140874,"nodeType":860},{},[140875],{"data":140876,"marks":140877,"value":140585,"nodeType":864},{},[],{"data":140879,"content":140883,"nodeType":996},{"target":140880},{"sys":140881},{"id":140882,"type":1001,"linkType":1002},"3XcJ9NQtRq7jUt5iAuxZMt",[],{"data":140885,"content":140886,"nodeType":1312},{},[140887],{"data":140888,"marks":140889,"value":140890,"nodeType":864},{},[],"3. Avoid wasting time on false-positives",{"data":140892,"content":140893,"nodeType":860},{},[140894],{"data":140895,"marks":140896,"value":140897,"nodeType":864},{},[],"You need to trust your data if you want to take action to manage risks. Email and network data all infers SaaS usage from indicators such as emails from vendors and website visits. But as you can imagine, that won’t always point to usage, and so false positives are inevitable. Doing risk assessments or chasing employees about apps employees are not actually using wastes time and burns goodwill. ",{"data":140899,"content":140900,"nodeType":860},{},[140901],{"data":140902,"marks":140903,"value":140904,"nodeType":864},{},[],"Push uses a browser extension to accurately identify the SaaS apps employees are using and any security issues that attackers can exploit to compromise your data through common attacks like credential stuffing and brute forcing. ",{"data":140906,"content":140907,"nodeType":1116},{},[140908],{"data":140909,"content":140910,"nodeType":860},{},[140911],{"data":140912,"marks":140913,"value":140914,"nodeType":864},{},[],"Push is the only identity security solution that can directly observe all SaaS use and detect account vulnerabilities - completely automatically. No need for API support, no need for an admin account. It just works.",{"data":140916,"content":140917,"nodeType":1312},{},[140918],{"data":140919,"marks":140920,"value":140921,"nodeType":864},{},[],"4. Identify account security risks and discover shadow SaaS at the same time",{"data":140923,"content":140924,"nodeType":860},{},[140925,140929,140937],{"data":140926,"marks":140927,"value":140928,"nodeType":864},{},[],"Supply chain risk is important, but we’d argue the risk of identity-based attacks are greater for most organizations. 49% of the incidents in the 2023 Verizon DBIR involved credentials, and Crowdstrike have reported that 80% of the attacks they detected ",{"data":140930,"content":140932,"nodeType":883},{"uri":140931},"https://www.crowdstrike.com/cybersecurity-101/identity-security/identity-based-attacks/",[140933],{"data":140934,"marks":140935,"value":140936,"nodeType":864},{},[],"used identity-based attack techniques",{"data":140938,"marks":140939,"value":140940,"nodeType":864},{},[],". Push can identify account security issues that make it possible for attackers to compromise your employees accounts using credential stuffing, brute forcing and consent phishing attacks. These include:",{"data":140942,"content":140943,"nodeType":941},{},[140944,140953,140962,140971,140980],{"data":140945,"content":140946,"nodeType":945},{},[140947],{"data":140948,"content":140949,"nodeType":860},{},[140950],{"data":140951,"marks":140952,"value":140618,"nodeType":864},{},[],{"data":140954,"content":140955,"nodeType":945},{},[140956],{"data":140957,"content":140958,"nodeType":860},{},[140959],{"data":140960,"marks":140961,"value":140628,"nodeType":864},{},[],{"data":140963,"content":140964,"nodeType":945},{},[140965],{"data":140966,"content":140967,"nodeType":860},{},[140968],{"data":140969,"marks":140970,"value":140638,"nodeType":864},{},[],{"data":140972,"content":140973,"nodeType":945},{},[140974],{"data":140975,"content":140976,"nodeType":860},{},[140977],{"data":140978,"marks":140979,"value":140648,"nodeType":864},{},[],{"data":140981,"content":140982,"nodeType":945},{},[140983],{"data":140984,"content":140985,"nodeType":860},{},[140986],{"data":140987,"marks":140988,"value":140658,"nodeType":864},{},[],{"data":140990,"content":140993,"nodeType":996},{"target":140991},{"sys":140992},{"id":140663,"type":1001,"linkType":1002},[],{"data":140995,"content":140996,"nodeType":860},{},[140997],{"data":140998,"marks":140999,"value":140671,"nodeType":864},{},[],{"data":141001,"content":141002,"nodeType":860},{},[141003],{"data":141004,"marks":141005,"value":141006,"nodeType":864},{},[],"Push can help you reduce these risks by engaging employees directly via Slack or MS Teams, explain the account security issue we’ve identified in a way they’ll understand, and guide them on how to fix it.",{"data":141008,"content":141011,"nodeType":996},{"target":141009},{"sys":141010},{"id":140683,"type":1001,"linkType":1002},[],{"data":141013,"content":141014,"nodeType":1312},{},[141015],{"data":141016,"marks":141017,"value":141018,"nodeType":864},{},[],"5. Use Push to secure accounts that aren’t behind SSO",{"data":141020,"content":141021,"nodeType":860},{},[141022],{"data":141023,"marks":141024,"value":141025,"nodeType":864},{},[],"In an ideal world, you could stick all your SaaS apps and accounts behind your SSO solution. With SAML SSO, there’s just one identity, just one password, and you can centrally deprovision accounts when employees leave the organization. You’re probably already paying for a SAML IdP (Identity Provider) like Google Directory or Azure AD. Many others are using tools like Okta.",{"data":141027,"content":141028,"nodeType":860},{},[141029,141033,141041],{"data":141030,"marks":141031,"value":141032,"nodeType":864},{},[],"Unfortunately,  ",{"data":141034,"content":141035,"nodeType":883},{"uri":92739},[141036],{"data":141037,"marks":141038,"value":141040,"nodeType":864},{},[141039],{"type":1455},"SSO is only available on around 31% of work apps we explored",{"data":141042,"marks":141043,"value":12252,"nodeType":864},{},[],{"data":141045,"content":141049,"nodeType":996},{"target":141046},{"sys":141047},{"id":141048,"type":1001,"linkType":1002},"73E93otbLKilAM2U48WRho",[],{"data":141051,"content":141052,"nodeType":860},{},[141053],{"data":141054,"marks":141055,"value":141056,"nodeType":864},{},[],"So, with SSO unavailable for most apps, you can rely on Push to ensure strong access controls on non-SSO accounts, things like: ",{"data":141058,"content":141059,"nodeType":941},{},[141060,141070],{"data":141061,"content":141062,"nodeType":945},{},[141063],{"data":141064,"content":141065,"nodeType":860},{},[141066],{"data":141067,"marks":141068,"value":141069,"nodeType":864},{},[],"using strong, unique passwords, and",{"data":141071,"content":141072,"nodeType":945},{},[141073],{"data":141074,"content":141075,"nodeType":860},{},[141076],{"data":141077,"marks":141078,"value":141079,"nodeType":864},{},[],"utilizing multi factor authentication (MFA). ",{"data":141081,"content":141082,"nodeType":860},{},[141083],{"data":141084,"marks":141085,"value":141086,"nodeType":864},{},[],"These authentication controls, when used in conjunction with one another,  are very effective in protecting SaaS accounts from identity-based attack techniques. When Push detects that these controls are not in place, we automatically engage users via Slack or Teams and guide them to fix the issues.",{"data":141088,"content":141092,"nodeType":996},{"target":141089},{"sys":141090},{"id":141091,"type":1001,"linkType":1002},"6b8N3UOfciGnDBu78I1I2i",[],{"data":141094,"content":141095,"nodeType":860},{},[141096],{"data":141097,"marks":141098,"value":141100,"nodeType":864},{},[141099],{"type":899},"Prevent new identity vulnerabilities being created",{"data":141102,"content":141103,"nodeType":860},{},[141104],{"data":141105,"marks":141106,"value":141107,"nodeType":864},{},[],"Once you’ve been able to fix the security issues on all your existing cloud accounts, you want to make sure that new vulnerabilities don’t creep back in.. When Push detects an employee creating a new account in their browser, we’ll guide them \nto set up strong access controls on their account. ",{"data":141109,"content":141113,"nodeType":996},{"target":141110},{"sys":141111},{"id":141112,"type":1001,"linkType":1002},"PUluIhvb6a498j1lD5W6N",[],{"data":141115,"content":141116,"nodeType":1312},{},[141117,141121],{"data":141118,"marks":141119,"value":141120,"nodeType":864},{},[],"\n6. Get a handle on employee-adopted apps ",{"data":141122,"marks":141123,"value":141125,"nodeType":864},{},[141124],{"type":2246},"without being a blocker",{"data":141127,"content":141128,"nodeType":860},{},[141129],{"data":141130,"marks":141131,"value":141132,"nodeType":864},{},[],"By using Push, you gain complete visibility of all SaaS apps in your environment, including those adopted by employees without the oversight of IT and Security. We’ll automatically find the security issues that put your data at risk and guide employees to fix them. This allows you to embrace app self-adoption and adopt a default allow approach that enables your business while scaling security so you don’t lose control of SaaS security risks.  ",{"data":141134,"content":141137,"nodeType":996},{"target":141135},{"sys":141136},{"id":102281,"type":1001,"linkType":1002},[],{"data":141139,"content":141140,"nodeType":860},{},[141141],{"data":141142,"marks":141143,"value":21,"nodeType":864},{},[],"6 ways to manage third-party access to your data with Push","Employees are self-adopting SaaS apps and creating new cloud identities without IT approval. Learn how to manage which third parties have access to your data.\n","2023-10-11T00:00:00.000Z","manage-third-party-data-access",{"items":141149},[141150,141152],{"sys":141151,"name":297},{"id":2732},{"sys":141153,"name":2729},{"id":2728},{"items":141155},[141156],{"fullName":140213,"firstName":140214,"jobTitle":140215,"profilePicture":141157},{"url":140217},{"__typename":2059,"sys":141159,"content":141161,"title":141669,"synopsis":141670,"hashTags":59,"publishedDate":141671,"slug":141672,"tagsCollection":141673,"authorsCollection":141679},{"id":141160},"1I9skXuLjbdjnc6rAVkaS3",{"json":141162},{"data":141163,"content":141164,"nodeType":856},{},[141165,141171,141178,141185,141192,141199,141224,141236,141258,141265,141272,141287,141294,141301,141308,141315,141322,141329,141335,141342,141420,141427,141433,141440,141447,141468,141475,141482,141505,141526,141533,141540,141573,141579,141586,141606,141613,141620,141642,141648,141655,141662],{"data":141166,"content":141167,"nodeType":1009},{},[141168],{"data":141169,"marks":141170,"value":126377,"nodeType":864},{},[],{"data":141172,"content":141173,"nodeType":860},{},[141174],{"data":141175,"marks":141176,"value":141177,"nodeType":864},{},[],"Employees are signing up to cloud apps on their own every day in their organizations. When they sign up with a password, they have created a new account and a new identity on that app. ",{"data":141179,"content":141180,"nodeType":860},{},[141181],{"data":141182,"marks":141183,"value":141184,"nodeType":864},{},[],"Why both? If they had instead clicked on “Signup with Google,” they would have created a new account, but would have been using their Google identity that already exists. ",{"data":141186,"content":141187,"nodeType":1312},{},[141188],{"data":141189,"marks":141190,"value":141191,"nodeType":864},{},[],"Types of identities",{"data":141193,"content":141194,"nodeType":860},{},[141195],{"data":141196,"marks":141197,"value":141198,"nodeType":864},{},[],"This informally introduces the concept of an identity provider - a place that stores primary identity information (including email address, password and other profile information).",{"data":141200,"content":141201,"nodeType":860},{},[141202,141206,141211,141215,141220],{"data":141203,"marks":141204,"value":141205,"nodeType":864},{},[],"When someone creates a new account with a password, a new ",{"data":141207,"marks":141208,"value":141210,"nodeType":864},{},[141209],{"type":2246},"local identity",{"data":141212,"marks":141213,"value":141214,"nodeType":864},{},[]," has been created. In contrast, they probably use a ",{"data":141216,"marks":141217,"value":141219,"nodeType":864},{},[141218],{"type":2246},"centralized identity",{"data":141221,"marks":141222,"value":141223,"nodeType":864},{},[]," to access business email and other core business apps. This means that the number of accounts and number of identities that an employee has are probably different.",{"data":141225,"content":141226,"nodeType":860},{},[141227,141232],{"data":141228,"marks":141229,"value":141231,"nodeType":864},{},[141230],{"type":2246},"Local identities",{"data":141233,"marks":141234,"value":141235,"nodeType":864},{},[]," are often unknown by security/IT teams as there are no easy observation points for them. These local identities, which employees create to sign up for new tools that help them with their job, can also open the door to potential breaches if not secured properly. ",{"data":141237,"content":141238,"nodeType":860},{},[141239,141243,141254],{"data":141240,"marks":141241,"value":141242,"nodeType":864},{},[],"In the ",{"data":141244,"content":141248,"nodeType":27604},{"target":141245},{"sys":141246},{"id":141247,"type":1001,"linkType":1002},"3eCWNBg1avThJNsZSwaq1y",[141249],{"data":141250,"marks":141251,"value":141253,"nodeType":864},{},[141252],{"type":1455},"shared responsibility model",{"data":141255,"marks":141256,"value":141257,"nodeType":864},{},[]," of cloud security, most apps only require that organizations secure user accounts and the vendor takes care of the rest. But how do security teams secure identities that they don’t even know about? ",{"data":141259,"content":141260,"nodeType":860},{},[141261],{"data":141262,"marks":141263,"value":141264,"nodeType":864},{},[],"In this blog post, we'll delve into the world of shadow identities and how security teams can find and secure them.",{"data":141266,"content":141267,"nodeType":1009},{},[141268],{"data":141269,"marks":141270,"value":141271,"nodeType":864},{},[],"What is a shadow identity? ",{"data":141273,"content":141274,"nodeType":860},{},[141275,141279,141283],{"data":141276,"marks":141277,"value":141278,"nodeType":864},{},[],"A shadow identity",{"data":141280,"marks":141281,"value":1171,"nodeType":864},{},[141282],{"type":899},{"data":141284,"marks":141285,"value":141286,"nodeType":864},{},[],"is an identity a security/IT team is not aware of. Most often (but not exclusively) these exist outside IT-managed identity providers as local accounts on SaaS apps. ",{"data":141288,"content":141289,"nodeType":860},{},[141290],{"data":141291,"marks":141292,"value":141293,"nodeType":864},{},[],"These shadow identities introduce risk to the organization. However, once an organization’s security/IT function has visibility of an identity on an ongoing basis it is no-longer a \"shadow identity,\" and becomes just a normal identity - even if it’s on a third-party app.",{"data":141295,"content":141296,"nodeType":1312},{},[141297],{"data":141298,"marks":141299,"value":141300,"nodeType":864},{},[],"Where do centralized identities fit in? ",{"data":141302,"content":141303,"nodeType":860},{},[141304],{"data":141305,"marks":141306,"value":141307,"nodeType":864},{},[],"Most organizations have a central identity provider (e.g. AzureAD/Google Directory/Okta) that stores login credentials and profile information for each employee. Most organizations strive to connect their identity provider (IdP) to all the apps they use. ",{"data":141309,"content":141310,"nodeType":860},{},[141311],{"data":141312,"marks":141313,"value":141314,"nodeType":864},{},[],"It’s a noble goal because it allows efforts to be focused on securing only a single set of credentials and MFA per employee. However, the reality is that this isn’t practical and there are many reasons why each employee only having only a single identity is only a dream (it’s a good one though!). More on this later.",{"data":141316,"content":141317,"nodeType":1009},{},[141318],{"data":141319,"marks":141320,"value":141321,"nodeType":864},{},[],"Understanding shadow identity security risks",{"data":141323,"content":141324,"nodeType":860},{},[141325],{"data":141326,"marks":141327,"value":141328,"nodeType":864},{},[],"Since shadow identities (or shadow cloud identities) cannot get the same level of security attention as IT-managed identities because they’re unknown, they’re usually not as tightly secured as other identities in the business. ",{"data":141330,"content":141334,"nodeType":996},{"target":141331},{"sys":141332},{"id":141333,"type":1001,"linkType":1002},"35WMjPHXP2v0qtEaUMIBAS",[],{"data":141336,"content":141337,"nodeType":860},{},[141338],{"data":141339,"marks":141340,"value":141341,"nodeType":864},{},[],"Common security risks in shadow identities:",{"data":141343,"content":141344,"nodeType":941},{},[141345,141360,141375,141390,141405],{"data":141346,"content":141347,"nodeType":945},{},[141348],{"data":141349,"content":141350,"nodeType":860},{},[141351,141356],{"data":141352,"marks":141353,"value":141355,"nodeType":864},{},[141354],{"type":899},"Weak password",{"data":141357,"marks":141358,"value":141359,"nodeType":864},{},[]," - they could be using a really basic password like the person’s name or some other dictionary word (or some combination that gets accepted by the complexity checks on the app e.g. Password1!).",{"data":141361,"content":141362,"nodeType":945},{},[141363],{"data":141364,"content":141365,"nodeType":860},{},[141366,141371],{"data":141367,"marks":141368,"value":141370,"nodeType":864},{},[141369],{"type":899},"Leaked password",{"data":141372,"marks":141373,"value":141374,"nodeType":864},{},[]," - the password used has been leaked in a public data breach. Attackers often attempt to gain access to accounts using leaked passwords. This attack is called “credential stuffing.”",{"data":141376,"content":141377,"nodeType":945},{},[141378],{"data":141379,"content":141380,"nodeType":860},{},[141381,141386],{"data":141382,"marks":141383,"value":141385,"nodeType":864},{},[141384],{"type":899},"Reused passwords",{"data":141387,"marks":141388,"value":141389,"nodeType":864},{},[]," - the password set is used across other identities. This means that if an attacker got access to one password (via phishing or other means), they would be able to access more than one identity or app.",{"data":141391,"content":141392,"nodeType":945},{},[141393],{"data":141394,"content":141395,"nodeType":860},{},[141396,141401],{"data":141397,"marks":141398,"value":141400,"nodeType":864},{},[141399],{"type":899},"No MFA",{"data":141402,"marks":141403,"value":141404,"nodeType":864},{},[]," - no multifactor authentication is enabled on the account. This means that any of the above problems could lead to a direct compromise without any additional hindrances.",{"data":141406,"content":141407,"nodeType":945},{},[141408],{"data":141409,"content":141410,"nodeType":860},{},[141411,141416],{"data":141412,"marks":141413,"value":141415,"nodeType":864},{},[141414],{"type":899},"No authentication logs ",{"data":141417,"marks":141418,"value":141419,"nodeType":864},{},[],"- on centralized identities, it’s possible to see the app an identity was used on, the geographical location of the user and even the device. Contextual information like this would obviously not be available to the security/IT team for a shadow identity, so detecting compromises from unusual or suspicious activity is not possible.",{"data":141421,"content":141422,"nodeType":1009},{},[141423],{"data":141424,"marks":141425,"value":141426,"nodeType":864},{},[],"Managing shadow identity and shadow cloud identity risk ",{"data":141428,"content":141432,"nodeType":996},{"target":141429},{"sys":141430},{"id":141431,"type":1001,"linkType":1002},"34SORjKga52MSgBaZddxGJ",[],{"data":141434,"content":141435,"nodeType":1312},{},[141436],{"data":141437,"marks":141438,"value":141439,"nodeType":864},{},[],"Get visibility to bring identities out of the shadows",{"data":141441,"content":141442,"nodeType":860},{},[141443],{"data":141444,"marks":141445,"value":141446,"nodeType":864},{},[],"This goes for existing identities or new ones being created. Having visibility is the first step - nothing can be secured if neither security nor IT can see them. Visibility allows organizations to start managing the risks these identities introduce.",{"data":141448,"content":141449,"nodeType":860},{},[141450,141454,141464],{"data":141451,"marks":141452,"value":141453,"nodeType":864},{},[],"We think the best source of discovering identities is a browser extension. Read ",{"data":141455,"content":141459,"nodeType":27604},{"target":141456},{"sys":141457},{"id":141458,"type":1001,"linkType":1002},"19dT3oWX2H3EYtZIT3J5UO",[141460],{"data":141461,"marks":141462,"value":141463,"nodeType":864},{},[],"our post ",{"data":141465,"marks":141466,"value":141467,"nodeType":864},{},[],"on the pros and cons of this approach. ",{"data":141469,"content":141470,"nodeType":1312},{},[141471],{"data":141472,"marks":141473,"value":141474,"nodeType":864},{},[],"Centralize identities as far as possible",{"data":141476,"content":141477,"nodeType":860},{},[141478],{"data":141479,"marks":141480,"value":141481,"nodeType":864},{},[],"The ideal number of identities per employee is 1. However, there are quite a few reasons why this will not be possible. Here’s just a few:",{"data":141483,"content":141484,"nodeType":941},{},[141485,141495],{"data":141486,"content":141487,"nodeType":945},{},[141488],{"data":141489,"content":141490,"nodeType":860},{},[141491],{"data":141492,"marks":141493,"value":141494,"nodeType":864},{},[],"SSO tax - a practice where vendors put SSO support as part of their “Enterprise” tiers which are a lot more expensive (and usually bundled with unneeded features)",{"data":141496,"content":141497,"nodeType":945},{},[141498],{"data":141499,"content":141500,"nodeType":860},{},[141501],{"data":141502,"marks":141503,"value":141504,"nodeType":864},{},[],"Lack of support - our research shows that 69% of the top 500 apps don’t even offer SAML SSO support at any license tier.",{"data":141506,"content":141507,"nodeType":860},{},[141508,141512,141522],{"data":141509,"marks":141510,"value":141511,"nodeType":864},{},[],"On apps where SAML SSO support is not possible, we encourage organizations to make use of OIDC logins (“Login with Google” for Google Workspace customers). This lacks some of the manageability of SAML, but still makes use of the company’s Google identity - which is MUCH better than creating a new local identity using a password. We’ve written about this in more detail ",{"data":141513,"content":141517,"nodeType":27604},{"target":141514},{"sys":141515},{"id":141516,"type":1001,"linkType":1002},"1pbtctbbJRqLuz8dOsecOt",[141518],{"data":141519,"marks":141520,"value":29669,"nodeType":864},{},[141521],{"type":1455},{"data":141523,"marks":141524,"value":141525,"nodeType":864},{},[],". Centralizing identities is an essential part of a good IAM governance and compliance initiative.",{"data":141527,"content":141528,"nodeType":1312},{},[141529],{"data":141530,"marks":141531,"value":141532,"nodeType":864},{},[],"If centralizing isn’t an option, secure them",{"data":141534,"content":141535,"nodeType":860},{},[141536],{"data":141537,"marks":141538,"value":141539,"nodeType":864},{},[],"If security teams can’t use a centralized identity for whatever reason, ensure the newly created one is secured to reduce risk. To do this:",{"data":141541,"content":141542,"nodeType":941},{},[141543,141553,141563],{"data":141544,"content":141545,"nodeType":945},{},[141546],{"data":141547,"content":141548,"nodeType":860},{},[141549],{"data":141550,"marks":141551,"value":141552,"nodeType":864},{},[],"Use a strong, unique password stored in a password manager",{"data":141554,"content":141555,"nodeType":945},{},[141556],{"data":141557,"content":141558,"nodeType":860},{},[141559],{"data":141560,"marks":141561,"value":141562,"nodeType":864},{},[],"Enable MFA. Bonus points for a strong method like WebAuthn (if you have a Mac, look at that lovely fingerprint reader). TOTP is still totally fine.",{"data":141564,"content":141565,"nodeType":945},{},[141566],{"data":141567,"content":141568,"nodeType":860},{},[141569],{"data":141570,"marks":141571,"value":141572,"nodeType":864},{},[],"Engage directly with employees to help them do the above. We recommend that this process be automated to make it manageable for security and IT teams. For example:",{"data":141574,"content":141578,"nodeType":996},{"target":141575},{"sys":141576},{"id":141577,"type":1001,"linkType":1002},"6LlNqtWam4jtXbxMcEbabB",[],{"data":141580,"content":141581,"nodeType":1312},{},[141582],{"data":141583,"marks":141584,"value":141585,"nodeType":864},{},[],"Keep authentication logs centrally",{"data":141587,"content":141588,"nodeType":860},{},[141589,141593,141603],{"data":141590,"marks":141591,"value":141592,"nodeType":864},{},[],"The ability to see what app a user has logged into, from which device and location is invaluable during an incident. Identity providers allow security teams to stream logs to their favorite security analytics tools, but identities outside of it will not be possible to monitor. Unless Security have a separate data source that allows them to see authentication activity (I’m looking at you, ",{"data":141594,"content":141597,"nodeType":27604},{"target":141595},{"sys":141596},{"id":141458,"type":1001,"linkType":1002},[141598],{"data":141599,"marks":141600,"value":141602,"nodeType":864},{},[141601],{"type":1455},"browser extension",{"data":141604,"marks":141605,"value":12285,"nodeType":864},{},[],{"data":141607,"content":141608,"nodeType":860},{},[141609],{"data":141610,"marks":141611,"value":141612,"nodeType":864},{},[],"Expanding coverage to shadow identities will allow organizations to expand their monitoring use cases and better cover risks on apps that can’t be hooked into SSO. This will also go a long way in helping with compliance and IAM governance, so it’s a win-win.",{"data":141614,"content":141615,"nodeType":1312},{},[141616],{"data":141617,"marks":141618,"value":141619,"nodeType":864},{},[],"Have an incident response plan ",{"data":141621,"content":141622,"nodeType":860},{},[141623,141627,141638],{"data":141624,"marks":141625,"value":141626,"nodeType":864},{},[],"Develop a comprehensive incident response (IR) plan that outlines steps to take if a shadow identity has been compromised. This will help Security respond swiftly and mitigate damage. Here’s ",{"data":141628,"content":141632,"nodeType":27604},{"target":141629},{"sys":141630},{"id":141631,"type":1001,"linkType":1002},"14NiRrBrLFVkR8h05RCD7F",[141633],{"data":141634,"marks":141635,"value":141637,"nodeType":864},{},[141636],{"type":1455},"some guidance",{"data":141639,"marks":141640,"value":141641,"nodeType":864},{},[]," on how to create one for SaaS accounts. ",{"data":141643,"content":141644,"nodeType":1009},{},[141645],{"data":141646,"marks":141647,"value":32492,"nodeType":864},{},[],{"data":141649,"content":141650,"nodeType":860},{},[141651],{"data":141652,"marks":141653,"value":141654,"nodeType":864},{},[],"Shadow identities and shadow cloud identities are a risk to the business simply because they’re unknown to the security/IT team. If these groups lack visibility on identities outside of their main identity provider, their impact on the company’s overall security posture is unknown. ",{"data":141656,"content":141657,"nodeType":860},{},[141658],{"data":141659,"marks":141660,"value":141661,"nodeType":864},{},[],"However, once spotted using the right data source, identities and accounts that were previously unknown can be monitored just like any other asset.",{"data":141663,"content":141664,"nodeType":860},{},[141665],{"data":141666,"marks":141667,"value":141668,"nodeType":864},{},[],"By understanding what shadow identities are and implementing proactive security measures, security teams can minimize the risks they pose to their organizations and customers.","Get out of the dark: Manage the risk of shadow identities","Employees sign up to cloud apps on their own every day. Each time, they create a new account and a new identity on that app. How do you find and secure them?","2023-09-19T00:00:00.000Z","what-are-shadow-identities",{"items":141674},[141675,141677],{"sys":141676,"name":4904},{"id":4903},{"sys":141678,"name":2729},{"id":2728},{"items":141680},[141681],{"fullName":141682,"firstName":141683,"jobTitle":141684,"profilePicture":141685},"Tyrone Erasmus","Tyrone","Co-founder / CTO",{"url":141686},"https://images.ctfassets.net/y1cdw1ablpvd/5rkMblymL7lG4pZBiYzWo6/26f0da21be8fc252b13b62aacc22d19d/Push_Founders_at_Cahoots_October_28_2022_by_Doug_Coombe-22.jpg","third-party-risk-management","blog/third-party-risk-management",{"json":141690},{"data":141691,"content":141692,"nodeType":856},{},[141693],{"data":141694,"content":141695,"nodeType":860},{},[141696],{"data":141697,"marks":141698,"value":140255,"nodeType":864},{},[],"In this article, we define third-party risk management and explore additional approaches that can help manage third-party risk.\n",{"id":141701,"publishedAt":141702},"6fxxX6Ppu1FW2KARa1GloZ","2026-08-12T11:57:17.106Z",{"items":141704},[141705,141707],{"sys":141706,"name":297},{"id":2732},{"sys":141708,"name":2729},{"id":2728},{"items":141710},[141711,141713,141715,141717,141719,141721,141723,141725,141727],{"sys":141712,"name":545,"slug":546,"tier":31},{"id":542},{"sys":141714,"name":297,"slug":298,"tier":31},{"id":294},{"sys":141716,"name":413,"slug":414,"tier":31},{"id":410},{"sys":141718,"name":633,"slug":634,"tier":45},{"id":630},{"sys":141720,"name":484,"slug":485,"tier":45},{"id":481},{"sys":141722,"name":589,"slug":590,"tier":45},{"id":586},{"sys":141724,"name":502,"slug":503,"tier":45},{"id":499},{"sys":141726,"name":457,"slug":458,"tier":45},{"id":454},{"sys":141728,"name":333,"slug":334,"tier":45},{"id":330},"ydrqSK0wyRcYbQmTpW-wE4xqDmleq1ml3w4aifq8iJE",{"id":141731,"title":141732,"authorsCollection":141733,"content":141738,"extension":228,"faqItemsCollection":142686,"faqTitle":59,"featured":6,"hashTags":59,"meta":142688,"metaTitle":142689,"ogImage":59,"postType":5740,"publishedDate":142690,"relatedBlogPostsCollection":142691,"slug":144621,"stem":144622,"subtitle":59,"summary":144623,"synopsis":144640,"sys":144641,"tagsCollection":144643,"topicsCollection":144649,"__hash__":144671},"blog/blog/phishing-slack-persistence.json","Slack Attack: A phisher's guide to persistence and lateral movement",{"items":141734},[141735],{"fullName":4949,"firstName":4950,"jobTitle":4951,"socialLinks":141736,"profilePicture":141737},[4953],{"url":4955},{"json":141739,"links":142573},{"data":141740,"content":141741,"nodeType":856},{},[141742,141760,141780,141787,141870,141877,141899,141906,141913,141920,141927,141960,141967,142012,142019,142024,142031,142050,142057,142064,142084,142106,142126,142133,142140,142147,142153,142160,142167,142174,142180,142186,142206,142213,142219,142225,142231,142238,142253,142259,142265,142272,142279,142286,142293,142300,142306,142313,142332,142338,142345,142351,142358,142364,142371,142378,142385,142392,142398,142405,142410,142416,142423,142430,142539,142545,142552,142559,142566],{"data":141743,"content":141744,"nodeType":860},{},[141745,141749,141756],{"data":141746,"marks":141747,"value":141748,"nodeType":864},{},[],"This is the fourth post in a series on attack chains formed by combining techniques in the ",{"data":141750,"content":141751,"nodeType":883},{"uri":6418},[141752],{"data":141753,"marks":141754,"value":5765,"nodeType":864},{},[141755],{"type":1455},{"data":141757,"marks":141758,"value":141759,"nodeType":864},{},[]," and the second post of two focused on attacking instant messaging applications with Slack as the primary example. ",{"data":141761,"content":141762,"nodeType":860},{},[141763,141766,141776],{"data":141764,"marks":141765,"value":2761,"nodeType":864},{},[],{"data":141767,"content":141770,"nodeType":27604},{"target":141768},{"sys":141769},{"id":112674,"type":1001,"linkType":1002},[141771],{"data":141772,"marks":141773,"value":141775,"nodeType":864},{},[141774],{"type":1455},"previous post",{"data":141777,"marks":141778,"value":141779,"nodeType":864},{},[]," focused on external attackers gaining an initial foothold during the initial access phase of the kill chain. In this post we’ll be focusing on persistence and lateral movement for an attacker that has already gained a foothold on a Slack tenant by compromising an internal account. ",{"data":141781,"content":141782,"nodeType":860},{},[141783],{"data":141784,"marks":141785,"value":141786,"nodeType":864},{},[],"We’ll build on the techniques in the previous post as well as introducing more and so will cover the following SaaS attack techniques, including chaining them together:",{"data":141788,"content":141789,"nodeType":941},{},[141790,141810,141830,141851],{"data":141791,"content":141792,"nodeType":945},{},[141793],{"data":141794,"content":141795,"nodeType":860},{},[141796,141799,141807],{"data":141797,"marks":141798,"value":21,"nodeType":864},{},[],{"data":141800,"content":141801,"nodeType":883},{"uri":96459},[141802],{"data":141803,"marks":141804,"value":141806,"nodeType":864},{},[141805],{"type":1455},"SAT1018 - IM phishing",{"data":141808,"marks":141809,"value":21,"nodeType":864},{},[],{"data":141811,"content":141812,"nodeType":945},{},[141813],{"data":141814,"content":141815,"nodeType":860},{},[141816,141819,141827],{"data":141817,"marks":141818,"value":21,"nodeType":864},{},[],{"data":141820,"content":141821,"nodeType":883},{"uri":101606},[141822],{"data":141823,"marks":141824,"value":141826,"nodeType":864},{},[141825],{"type":1455},"SAT1019 - IM user spoofing",{"data":141828,"marks":141829,"value":21,"nodeType":864},{},[],{"data":141831,"content":141832,"nodeType":945},{},[141833],{"data":141834,"content":141835,"nodeType":860},{},[141836,141839,141848],{"data":141837,"marks":141838,"value":21,"nodeType":864},{},[],{"data":141840,"content":141842,"nodeType":883},{"uri":141841},"https://github.com/pushsecurity/saas-attacks/blob/main/techniques/system_integrations/description.md",[141843],{"data":141844,"marks":141845,"value":141847,"nodeType":864},{},[141846],{"type":1455},"SAT1036 - OAuth system integrations ",{"data":141849,"marks":141850,"value":21,"nodeType":864},{},[],{"data":141852,"content":141853,"nodeType":945},{},[141854],{"data":141855,"content":141856,"nodeType":860},{},[141857,141860,141867],{"data":141858,"marks":141859,"value":21,"nodeType":864},{},[],{"data":141861,"content":141862,"nodeType":883},{"uri":61891},[141863],{"data":141864,"marks":141865,"value":111861,"nodeType":864},{},[141866],{"type":1455},{"data":141868,"marks":141869,"value":21,"nodeType":864},{},[],{"data":141871,"content":141872,"nodeType":1009},{},[141873],{"data":141874,"marks":141875,"value":141876,"nodeType":864},{},[],"Why focus on instant messengers?",{"data":141878,"content":141879,"nodeType":860},{},[141880,141885,141894],{"data":141881,"marks":141882,"value":141884,"nodeType":864},{},[141883],{"type":2246},"If you’ve just read the ",{"data":141886,"content":141889,"nodeType":27604},{"target":141887},{"sys":141888},{"id":112674,"type":1001,"linkType":1002},[141890],{"data":141891,"marks":141892,"value":141775,"nodeType":864},{},[141893],{"type":2246},{"data":141895,"marks":141896,"value":141898,"nodeType":864},{},[141897],{"type":2246},", you can skip this introductory piece and jump straight to the next section.",{"data":141900,"content":141901,"nodeType":860},{},[141902],{"data":141903,"marks":141904,"value":141905,"nodeType":864},{},[],"They aren’t new, however, the original focus of IM apps was on internal communication and phishing and social engineering attacks are often external. Email remained the standards-based protocol that enabled external communication no matter what email vendor was in use. In recent years, however, instant messengers (IM) have become the primary method of communication for many businesses. I wanted to focus on IM here because if that’s where employees are communicating, it’s the best place to launch attacks against them. Even better, there’s a history of users placing a higher degree of trust in IM platforms than email, so it becomes a potentially easy target.",{"data":141907,"content":141908,"nodeType":860},{},[141909],{"data":141910,"marks":141911,"value":141912,"nodeType":864},{},[],"While IM platforms were initially used solely for internal communications, organizations quickly realized that IM platforms could be used to communicate with external groups, individuals, freelancers, and contractors, with the hope of fewer emails and more instant communications. ",{"data":141914,"content":141915,"nodeType":860},{},[141916],{"data":141917,"marks":141918,"value":141919,"nodeType":864},{},[],"We now have Slack Connect and Microsoft Teams external access to support this, with Slack Connect introduced in June 2020 and Teams introducing it in January 2022. This external access has increased the attack surface of these platforms considerably.",{"data":141921,"content":141922,"nodeType":860},{},[141923],{"data":141924,"marks":141925,"value":141926,"nodeType":864},{},[],"Despite decades of security research, email security appliances and user security training, email-based phishing and social engineering is still commonly successful. Now we have instant messenger platforms with:",{"data":141928,"content":141929,"nodeType":941},{},[141930,141940,141950],{"data":141931,"content":141932,"nodeType":945},{},[141933],{"data":141934,"content":141935,"nodeType":860},{},[141936],{"data":141937,"marks":141938,"value":141939,"nodeType":864},{},[],"Richer functionality than email, ",{"data":141941,"content":141942,"nodeType":945},{},[141943],{"data":141944,"content":141945,"nodeType":860},{},[141946],{"data":141947,"marks":141948,"value":141949,"nodeType":864},{},[],"Lacking centralized security gateways and other security controls common to email and ",{"data":141951,"content":141952,"nodeType":945},{},[141953],{"data":141954,"content":141955,"nodeType":860},{},[141956],{"data":141957,"marks":141958,"value":141959,"nodeType":864},{},[],"Unfamiliar as a threat vector to your average user compared with email. ",{"data":141961,"content":141962,"nodeType":860},{},[141963],{"data":141964,"marks":141965,"value":141966,"nodeType":864},{},[],"There’s also a sense of urgency associated with IM messages due to the conversational nature compared with emails. Combined with a history of increased trust, we have the ingredients for increased social engineering success.",{"data":141968,"content":141969,"nodeType":860},{},[141970,141974,141983,141987,141996,142000,142009],{"data":141971,"marks":141972,"value":141973,"nodeType":864},{},[],"There’s been an uptick recently in IM-based phishing research and real-world attacks, particularly for Microsoft Teams. For example, check out the ",{"data":141975,"content":141977,"nodeType":883},{"uri":141976},"https://labs.jumpsec.com/advisory-idor-in-microsoft-teams-allows-for-external-tenants-to-introduce-malware/",[141978],{"data":141979,"marks":141980,"value":141982,"nodeType":864},{},[141981],{"type":1455},"great research from JumpSec",{"data":141984,"marks":141985,"value":141986,"nodeType":864},{},[]," on bypassing attachment protection for external Teams messages, the offensive tool ",{"data":141988,"content":141990,"nodeType":883},{"uri":141989},"https://github.com/Octoberfest7/TeamsPhisher",[141991],{"data":141992,"marks":141993,"value":141995,"nodeType":864},{},[141994],{"type":1455},"TeamsPhisher",{"data":141997,"marks":141998,"value":141999,"nodeType":864},{},[]," and attacks distributing ",{"data":142001,"content":142003,"nodeType":883},{"uri":142002},"https://www.bleepingcomputer.com/news/security/microsoft-teams-phishing-attack-pushes-darkgate-malware/",[142004],{"data":142005,"marks":142006,"value":142008,"nodeType":864},{},[142007],{"type":1455},"DarkGate malware via Teams",{"data":142010,"marks":142011,"value":2924,"nodeType":864},{},[],{"data":142013,"content":142014,"nodeType":860},{},[142015],{"data":142016,"marks":142017,"value":142018,"nodeType":864},{},[],"However, in this article we’ll focus on a few techniques specific to Slack.",{"data":142020,"content":142023,"nodeType":996},{"target":142021},{"sys":142022},{"id":92011,"type":1001,"linkType":1002},[],{"data":142025,"content":142026,"nodeType":1009},{},[142027],{"data":142028,"marks":142029,"value":142030,"nodeType":864},{},[],"Slack apps - spoofing and persistence",{"data":142032,"content":142033,"nodeType":860},{},[142034,142037,142046],{"data":142035,"marks":142036,"value":141242,"nodeType":864},{},[],{"data":142038,"content":142041,"nodeType":27604},{"target":142039},{"sys":142040},{"id":112674,"type":1001,"linkType":1002},[142042],{"data":142043,"marks":142044,"value":141775,"nodeType":864},{},[142045],{"type":1455},{"data":142047,"marks":142048,"value":142049,"nodeType":864},{},[],", we covered user spoofing and link preview spoofing attacks that can be conducted externally. But do we have any other options available once on the inside that wouldn’t be available to us externally? ",{"data":142051,"content":142052,"nodeType":860},{},[142053],{"data":142054,"marks":142055,"value":142056,"nodeType":864},{},[],"What happens if you compromise a Slack account and then want to persist and/or move laterally? Ordinarily, you can maintain access until session expiry or a password change is forced or the account is deactivated/deleted. For further actual impact, you could silently read messages as the user continues to operate their account but if you start sending out malicious links to other targets, in an attempt to move laterally, then the real user is probably going to become aware of the compromise very quickly from seeing the malicious messages in their own chat client.",{"data":142058,"content":142059,"nodeType":860},{},[142060],{"data":142061,"marks":142062,"value":142063,"nodeType":864},{},[],"Alternatively, what happens in a situation where a disgruntled employee is let go and their account is terminated? Could they maintain some level of access and use it maliciously?",{"data":142065,"content":142066,"nodeType":860},{},[142067,142071,142080],{"data":142068,"marks":142069,"value":142070,"nodeType":864},{},[],"One key feature that some IM apps like Slack have is app integrations to allow bots and other functionality, usually using OAuth under the hood. This allows very useful functionality for users, but also opens up a whole new angle for persistence and spoofing. In Slack’s case, its separation of ",{"data":142072,"content":142074,"nodeType":883},{"uri":142073},"https://api.slack.com/authentication/token-types",[142075],{"data":142076,"marks":142077,"value":142079,"nodeType":864},{},[142078],{"type":1455},"user tokens and bot tokens",{"data":142081,"marks":142082,"value":142083,"nodeType":864},{},[]," allows for particularly interesting spoofing and persistence capabilities, which we’ll come to later.",{"data":142085,"content":142086,"nodeType":860},{},[142087,142091,142102],{"data":142088,"marks":142089,"value":142090,"nodeType":864},{},[],"We could probably write several posts on OAuth apps alone. In fact, we’ve written about ",{"data":142092,"content":142096,"nodeType":27604},{"target":142093},{"sys":142094},{"id":142095,"type":1001,"linkType":1002},"3QpljiYU9YHEUhd5gsvypj",[142097],{"data":142098,"marks":142099,"value":142101,"nodeType":864},{},[142100],{"type":1455},"using OAuth for persistence",{"data":142103,"marks":142104,"value":142105,"nodeType":864},{},[]," more generally before. However, in this case we are going to focus on a couple examples of using a legitimate Slack app maliciously. ",{"data":142107,"content":142108,"nodeType":860},{},[142109,142113,142122],{"data":142110,"marks":142111,"value":142112,"nodeType":864},{},[],"In a previous blog post in this series, we spoke about ",{"data":142114,"content":142117,"nodeType":27604},{"target":142115},{"sys":142116},{"id":135378,"type":1001,"linkType":1002},[142118],{"data":142119,"marks":142120,"value":61897,"nodeType":864},{},[142121],{"type":1455},{"data":142123,"marks":142124,"value":142125,"nodeType":864},{},[]," using SaaS automation apps. We’re going to follow this theme again here and show how they can also be used with Slack. Previously, we used Zapier as our automation app example, but this time we are going to use make.com. ",{"data":142127,"content":142128,"nodeType":1312},{},[142129],{"data":142130,"marks":142131,"value":142132,"nodeType":864},{},[],"Persistent spoofing",{"data":142134,"content":142135,"nodeType":860},{},[142136],{"data":142137,"marks":142138,"value":142139,"nodeType":864},{},[],"We’ll show here how you can connect make.com to a Slack account you control and then maintain persistence, both as that user and partial access even if the account is deactivated or deleted, by using bot tokens. This is especially important in a disgruntled employee scenario as they could use this to maintain some level of access to Slack even if they were fired and had their account deleted. ",{"data":142141,"content":142142,"nodeType":860},{},[142143],{"data":142144,"marks":142145,"value":142146,"nodeType":864},{},[],"If we create a make.com account and click to create a new scenario, we can select Slack from the long list of integration possibilities. We’ll then be prompted to pick a specific Slack module. In more complicated scenarios, these can be chained together to take actions on events, but in this case we are going to create a simple scenario with just one module used to send a custom Slack message.",{"data":142148,"content":142152,"nodeType":996},{"target":142149},{"sys":142150},{"id":142151,"type":1001,"linkType":1002},"2k6NeCNERIL4zx3FtTD97p",[],{"data":142154,"content":142155,"nodeType":860},{},[142156],{"data":142157,"marks":142158,"value":142159,"nodeType":864},{},[],"If we select the module “Create a Message” we’ll be prompted to select a Slack connection to use and then fill out the other details for the module. Since we haven’t already created a Slack connection, we’ll be prompted to create a new one. For this module, we have the option of creating either a user token or a bot token. ",{"data":142161,"content":142162,"nodeType":860},{},[142163],{"data":142164,"marks":142165,"value":142166,"nodeType":864},{},[],"A user token has full capabilities and will continue to operate in the event of a password change. However, if the user account is deactivated or deleted then it will cease to work. In contrast, the bot connection is limited in capabilities compared to a full user token, but the advantage is that it will continue to operate even if the user account is deactivated or deleted.",{"data":142168,"content":142169,"nodeType":860},{},[142170],{"data":142171,"marks":142172,"value":142173,"nodeType":864},{},[],"This means gaining even temporary control of a Slack account, either through a user compromise or by being a disgruntled employee (or fired employee), could enable the permanent ability to spoof messages unless the entire app is revoked from Slack. Even with the high bar set by shadow workflows, that’s a pretty epic level of persistence!\n\nSo, we’re going to select the bot token for this example:",{"data":142175,"content":142179,"nodeType":996},{"target":142176},{"sys":142177},{"id":142178,"type":1001,"linkType":1002},"2Hx4QLlhLoXxoAVN7R72Tm",[],{"data":142181,"content":142185,"nodeType":996},{"target":142182},{"sys":142183},{"id":142184,"type":1001,"linkType":1002},"6oSc2GzeZh5vUhyKC8viMn",[],{"data":142187,"content":142188,"nodeType":860},{},[142189,142193,142202],{"data":142190,"marks":142191,"value":142192,"nodeType":864},{},[],"Now that we’ve finished setting up the bot connection, we can configure the specifics for the module itself. In this case, we’ll demonstrate using it to send the same type of spoofed message we covered in the ",{"data":142194,"content":142197,"nodeType":27604},{"target":142195},{"sys":142196},{"id":112674,"type":1001,"linkType":1002},[142198],{"data":142199,"marks":142200,"value":141775,"nodeType":864},{},[142201],{"type":1455},{"data":142203,"marks":142204,"value":142205,"nodeType":864},{},[],", only it’ll be from a bot account. ",{"data":142207,"content":142208,"nodeType":860},{},[142209],{"data":142210,"marks":142211,"value":142212,"nodeType":864},{},[],"By default, it’ll use the name and icon of the Slack app, in this case Integromat (Make.com’s former name). Alternatively, we can choose to override this, which we will do in this case to mirror the user spoofing attacks we covered earlier. The only difference to a normal user message is there will be a small “APP” icon after the user. ",{"data":142214,"content":142218,"nodeType":996},{"target":142215},{"sys":142216},{"id":142217,"type":1001,"linkType":1002},"44kvbP0IYSIrp5anRtuVhN",[],{"data":142220,"content":142224,"nodeType":996},{"target":142221},{"sys":142222},{"id":142223,"type":1001,"linkType":1002},"225FeHRut5kzTuX1n0NDLt",[],{"data":142226,"content":142230,"nodeType":996},{"target":142227},{"sys":142228},{"id":142229,"type":1001,"linkType":1002},"1c5AcrsoegPrNwrXtdCCaJ",[],{"data":142232,"content":142233,"nodeType":860},{},[142234],{"data":142235,"marks":142236,"value":142237,"nodeType":864},{},[],"The other great advantage with this is that it’s difficult to see which user is actually responsible for the spoofing. If a compromised user account is used to send spoofed messages, not only may the real employee see the messages and alert security, but if the messages are investigated by a target or the security team, it’s quick to click on the user and see the real email address associated with the account. ",{"data":142239,"content":142240,"nodeType":860},{},[142241,142245,142250],{"data":142242,"marks":142243,"value":142244,"nodeType":864},{},[],"However, when it’s done with a bot token for an app, ",{"data":142246,"marks":142247,"value":142249,"nodeType":864},{},[142248],{"type":2246},"you can only see the Slack app that was responsible, not the actual user account it originated from",{"data":142251,"marks":142252,"value":73563,"nodeType":864},{},[],{"data":142254,"content":142258,"nodeType":996},{"target":142255},{"sys":142256},{"id":142257,"type":1001,"linkType":1002},"62F3HPZdrQqBrUDV47pjjL",[],{"data":142260,"content":142264,"nodeType":996},{"target":142261},{"sys":142262},{"id":142263,"type":1001,"linkType":1002},"7A8Run1271YslWTHNBqhc",[],{"data":142266,"content":142267,"nodeType":1312},{},[142268],{"data":142269,"marks":142270,"value":142271,"nodeType":864},{},[],"Automated phishing replies",{"data":142273,"content":142274,"nodeType":860},{},[142275],{"data":142276,"marks":142277,"value":142278,"nodeType":864},{},[],"Ok, so we’ve just seen how you can internally spoof a message via a Slack app in a way that’s harder to track back to the original compromised user account and also achieve persistence at the same time. Pretty neat! But can we do more?",{"data":142280,"content":142281,"nodeType":860},{},[142282],{"data":142283,"marks":142284,"value":142285,"nodeType":864},{},[],"One of the great features of IM apps is the fact they are…well…instant! By making a slightly more sophisticated scenario with make.com, we can monitor public channels for messages that meet certain criteria and then immediately spoof a target phishing link as a reply. Phishing where the target is the one to reach out originally is much more likely to be successful as it’s more like a watering hole attack - the phishing message itself won’t be seen as unsolicited.",{"data":142287,"content":142288,"nodeType":860},{},[142289],{"data":142290,"marks":142291,"value":142292,"nodeType":864},{},[],"For example, let’s consider a scenario where someone has forgotten their password, or some other common IT support request, and they raise a question on a Slack channel about it. We could monitor for that and automatically respond. ",{"data":142294,"content":142295,"nodeType":860},{},[142296],{"data":142297,"marks":142298,"value":142299,"nodeType":864},{},[],"One caveat here is make.com requires we use a user token for the message monitoring part and therefore this attack couldn’t survive a deactivated/deleted Slack user account. However, it will still survive password changes and so is still a useful persistence option too. Additionally, the bot token can still be used for the message sending component in order to mask the source of the attack as above. ",{"data":142301,"content":142305,"nodeType":996},{"target":142302},{"sys":142303},{"id":142304,"type":1001,"linkType":1002},"4AdugwjwhzK5gdxojpqDwn",[],{"data":142307,"content":142308,"nodeType":860},{},[142309],{"data":142310,"marks":142311,"value":142312,"nodeType":864},{},[],"In this case, we have configured a Slack module to watch public channel messages using a user token and apply a filter on those containing the words “password” and “reset”. If that is the case, we then trigger a spoofed threaded reply using the bot token and impersonating an “IT bot” and giving a link to documentation for how to perform a self-service password request. ",{"data":142314,"content":142315,"nodeType":860},{},[142316,142320,142328],{"data":142317,"marks":142318,"value":142319,"nodeType":864},{},[],"This makes use of the same link preview spoofing techniques we covered in the ",{"data":142321,"content":142324,"nodeType":27604},{"target":142322},{"sys":142323},{"id":112674,"type":1001,"linkType":1002},[142325],{"data":142326,"marks":142327,"value":141775,"nodeType":864},{},[],{"data":142329,"marks":142330,"value":142331,"nodeType":864},{},[]," and the actual link will present a fake Google login page to harvest credentials.  ",{"data":142333,"content":142337,"nodeType":996},{"target":142334},{"sys":142335},{"id":142336,"type":1001,"linkType":1002},"6BuFqoDtaUGpz48ANXRDJu",[],{"data":142339,"content":142340,"nodeType":860},{},[142341],{"data":142342,"marks":142343,"value":142344,"nodeType":864},{},[],"Here’s a quick video demonstrating this combination of user spoofing, link preview spoofing and a shadow workflow in action:",{"data":142346,"content":142350,"nodeType":996},{"target":142347},{"sys":142348},{"id":142349,"type":1001,"linkType":1002},"2PYOjiz7DIRKqdYuushsqB",[],{"data":142352,"content":142353,"nodeType":860},{},[142354],{"data":142355,"marks":142356,"value":142357,"nodeType":864},{},[],"To summarize, heres a diagram to show how this all fits together:",{"data":142359,"content":142363,"nodeType":996},{"target":142360},{"sys":142361},{"id":142362,"type":1001,"linkType":1002},"6BsctEd635MRwcuzpOhx1V",[],{"data":142365,"content":142366,"nodeType":1312},{},[142367],{"data":142368,"marks":142369,"value":142370,"nodeType":864},{},[],"Multi-party spoofing",{"data":142372,"content":142373,"nodeType":860},{},[142374],{"data":142375,"marks":142376,"value":142377,"nodeType":864},{},[],"Another great possibility provided from using Slack apps and bot tokens for spoofing is the ability to spoof inline with existing communications as multiple parties. Ordinarily, if a Slack user kept changing their name, handle and photo for spoofing internally, Slack would change all existing messages to the latest profile data every time. That makes it hard to spoof multiple identities in short time windows and so an attacker could only really spoof one person at a time. However, with Slack apps you can inject messages as different people at different points of a conversation using bot tokens.",{"data":142379,"content":142380,"nodeType":860},{},[142381],{"data":142382,"marks":142383,"value":142384,"nodeType":864},{},[],"Consider the following example, where I’m using my own internal account to message the CFO about paying a malicious invoice that I have hypothetically raised. Perhaps they then indicate approval is needed from another party, in this case the CEO. Similarly, this might be a common process for access requests requiring manager approval and many other business processes. ",{"data":142386,"content":142387,"nodeType":860},{},[142388],{"data":142389,"marks":142390,"value":142391,"nodeType":864},{},[],"In this case, I’m able to quickly spoof a message as another user to act as the approval in a manner that is pretty sneaky. The only giveaway at first glance is the “APP” tag after the spoofed message.",{"data":142393,"content":142397,"nodeType":996},{"target":142394},{"sys":142395},{"id":142396,"type":1001,"linkType":1002},"0Qrre7ZeVsFu1usSSyNS8",[],{"data":142399,"content":142400,"nodeType":860},{},[142401],{"data":142402,"marks":142403,"value":142404,"nodeType":864},{},[],"This is just one example but the ability to spoof multiple identities simultaneously from just one compromised account on what is usually seen as a trusted internal communications system really opens up a ton of possibilities for social engineering attacks focused on lateral movement. ",{"data":142406,"content":142409,"nodeType":996},{"target":142407},{"sys":142408},{"id":102281,"type":1001,"linkType":1002},[],{"data":142411,"content":142412,"nodeType":1009},{},[142413],{"data":142414,"marks":142415,"value":110587,"nodeType":864},{},[],{"data":142417,"content":142418,"nodeType":860},{},[142419],{"data":142420,"marks":142421,"value":142422,"nodeType":864},{},[],"After two whole posts on attacking Slack, covering both external attacks during the initial access phase and internal attacks in the persistence and lateral movement phases, we’ve covered a serious amount of ground! ",{"data":142424,"content":142425,"nodeType":860},{},[142426],{"data":142427,"marks":142428,"value":142429,"nodeType":864},{},[],"It’s worth taking a step back and considering the key impact points:",{"data":142431,"content":142432,"nodeType":941},{},[142433,142443,142453,142463,142473,142506],{"data":142434,"content":142435,"nodeType":945},{},[142436],{"data":142437,"content":142438,"nodeType":860},{},[142439],{"data":142440,"marks":142441,"value":142442,"nodeType":864},{},[],"IM apps like Slack are now external phishing and social engineering vectors, not just internal ones",{"data":142444,"content":142445,"nodeType":945},{},[142446],{"data":142447,"content":142448,"nodeType":860},{},[142449],{"data":142450,"marks":142451,"value":142452,"nodeType":864},{},[],"User spoofing can be used in novel ways to enhance social engineering that employees may not be familiar with",{"data":142454,"content":142455,"nodeType":945},{},[142456],{"data":142457,"content":142458,"nodeType":860},{},[142459],{"data":142460,"marks":142461,"value":142462,"nodeType":864},{},[],"Link spoofing techniques can make phishing links much harder to spot and so increase social engineering success",{"data":142464,"content":142465,"nodeType":945},{},[142466],{"data":142467,"content":142468,"nodeType":860},{},[142469],{"data":142470,"marks":142471,"value":142472,"nodeType":864},{},[],"Malicious Slack messages can be modified later to replace the phishing link to cover up the attack",{"data":142474,"content":142475,"nodeType":945},{},[142476,142483],{"data":142477,"content":142478,"nodeType":860},{},[142479],{"data":142480,"marks":142481,"value":142482,"nodeType":864},{},[],"Slack apps, and especially bot tokens, can be used for very effective persistence techniques. Some examples:",{"data":142484,"content":142485,"nodeType":941},{},[142486,142496],{"data":142487,"content":142488,"nodeType":945},{},[142489],{"data":142490,"content":142491,"nodeType":860},{},[142492],{"data":142493,"marks":142494,"value":142495,"nodeType":864},{},[],"It’s possible to read all messages even after a compromised user changes their password",{"data":142497,"content":142498,"nodeType":945},{},[142499],{"data":142500,"content":142501,"nodeType":860},{},[142502],{"data":142503,"marks":142504,"value":142505,"nodeType":864},{},[],"It’s possible to send (and spoof) messages even if the compromised user account is deleted (e.g. a disgruntled employee who is fired)",{"data":142507,"content":142508,"nodeType":945},{},[142509,142516],{"data":142510,"content":142511,"nodeType":860},{},[142512],{"data":142513,"marks":142514,"value":142515,"nodeType":864},{},[],"Slack apps and shadow workflows can be used to conduct some fairly advanced social engineering attacks once an attack has a foothold on a Slack tenant. Some examples:",{"data":142517,"content":142518,"nodeType":941},{},[142519,142529],{"data":142520,"content":142521,"nodeType":945},{},[142522],{"data":142523,"content":142524,"nodeType":860},{},[142525],{"data":142526,"marks":142527,"value":142528,"nodeType":864},{},[],"Automatically phishing employees in response to common IT support questions",{"data":142530,"content":142531,"nodeType":945},{},[142532],{"data":142533,"content":142534,"nodeType":860},{},[142535],{"data":142536,"marks":142537,"value":142538,"nodeType":864},{},[],"Multi-party spoofing for advanced social engineering",{"data":142540,"content":142541,"nodeType":1009},{},[142542],{"data":142543,"marks":142544,"value":32492,"nodeType":864},{},[],{"data":142546,"content":142547,"nodeType":860},{},[142548],{"data":142549,"marks":142550,"value":142551,"nodeType":864},{},[],"IM apps have become the default internal communication for most organizations now, but are now a common method of communication with external parties, as well. This means they’ll become a key battleground in both the initial access phase of compromises and the latter phases of lateral movement and persistence. ",{"data":142553,"content":142554,"nodeType":860},{},[142555],{"data":142556,"marks":142557,"value":142558,"nodeType":864},{},[],"This also means organizations reliant on traditional email security gateways and email-based phishing training are likely to see the effectiveness of these controls decrease if attacks shift to the IM apps. ",{"data":142560,"content":142561,"nodeType":860},{},[142562],{"data":142563,"marks":142564,"value":142565,"nodeType":864},{},[],"In this article, we highlighted a number of spoofing, phishing and persistence techniques that can be employed by an attacker with a foothold that has compromised an internal account on a Slack tenant in order to persist their access and perform lateral movement. In the previous article, we covered spoofing and phishing techniques that could be used by external attackers in the initial access phase to get that first foothold in the first place.",{"data":142567,"content":142568,"nodeType":860},{},[142569],{"data":142570,"marks":142571,"value":142572,"nodeType":864},{},[],"While this article focused on Slack specifically, similar attacks may be possible for other IM apps as well. Going forwards, it will be important for organizations to factor in these types of attacks into their security strategies.",{"entries":142574},{"inline":142575,"hyperlink":142576,"block":142587},[],[142577,142581,142585],{"sys":142578,"__typename":2059,"title":142579,"slug":142580},{"id":112674},"Slack Attack: A phisher's guide to initial access","slack-phishing-for-initial-access",{"sys":142582,"__typename":2059,"title":142583,"slug":142584},{"id":142095},"Maintaining persistent access in a SaaS-first world","maintaining-persistent-access-in-a-saas-first-world",{"sys":142586,"__typename":2059,"title":136252,"slug":136254},{"id":135378},[142588,142590,142597,142605,142613,142620,142627,142635,142643,142650,142658,142665,142670,142676,142684],{"sys":142589,"__typename":1717,"type":80540,"ctaText":125792,"buttonLabel":125793,"buttonColour":1721,"buttonUrl":59},{"id":92011},{"sys":142591,"__typename":1724,"title":142592,"caption":142593,"layoutMode":59,"file":142594},{"id":142151},"Slack phishing 2: new make.com scenario","Creating a new scenario in make.com and picking a Slack module",{"url":142595,"width":142596,"height":125742},"https://images.ctfassets.net/y1cdw1ablpvd/1uJzr0ucaJ8MLDNMahXMB1/0283901315071d91b82b99219f63636e/image2.png",730,{"sys":142598,"__typename":1724,"title":142599,"caption":142600,"layoutMode":59,"file":142601},{"id":142178},"Slack phishing 2: picking bot connection","Picking a Slack bot connection when making the Slack integration",{"url":142602,"width":142603,"height":142604},"https://images.ctfassets.net/y1cdw1ablpvd/6WqmwIk8FjPXOyxbxED5Qi/e87f8525c1de1f7c34d2a6c15114e80d/image3.png",488,335,{"sys":142606,"__typename":1724,"title":142607,"caption":142608,"layoutMode":59,"file":142609},{"id":142184},"Slack phishing 2: OAuth2 permission","Accepting the OAuth2 permissions request for the app. Make.com still uses an app called “Integromat”, a legacy name for the company",{"url":142610,"width":142611,"height":142612},"https://images.ctfassets.net/y1cdw1ablpvd/5HVlkZQTmdiPDqv7jJehmn/fb6ebc3d0fe078a7f15a86539559a4e7/image12.png",669,554,{"sys":142614,"__typename":1724,"title":142615,"caption":142616,"layoutMode":59,"file":142617},{"id":142217},"Slack phishing 2: make.com module","Setting the module to send a message to a public slack channel as the bot account",{"url":142618,"width":1802,"height":142619},"https://images.ctfassets.net/y1cdw1ablpvd/2RbQjzfLYcwWQx69z8itqT/45f8a0019ec4ba3bbebf8075611c9a0a/image7.png",644,{"sys":142621,"__typename":1724,"title":142622,"caption":142623,"layoutMode":59,"file":142624},{"id":142223},"Slack phishing 2: make.com bot","Configuring the bot to use a different name and photo in order to spoof the user",{"url":142625,"width":142603,"height":142626},"https://images.ctfassets.net/y1cdw1ablpvd/1XZquRG7yPnJUkbOUqaUQp/13047e61614ab9f66ee7aba89ad0ab1b/image6.png",368,{"sys":142628,"__typename":1724,"title":142629,"caption":142630,"layoutMode":59,"file":142631},{"id":142229},"Slack phishing 2: phishing message","The phishing message sent once the scenario is run, which is almost identical in appearance to what we saw previously except for “APP” after the name",{"url":142632,"width":142633,"height":142634},"https://images.ctfassets.net/y1cdw1ablpvd/5D2bon4DWhciGqyrjW1cfF/9b3aa5dbab536a60e1fdd4eeffa16038/image5.png",1060,662,{"sys":142636,"__typename":1724,"title":142637,"caption":142638,"layoutMode":59,"file":142639},{"id":142257},"Slack phishing 2: spoof message","Sending a spoofed message without the use of a bot token allows someone to click on the user and see the original email address",{"url":142640,"width":142641,"height":142642},"https://images.ctfassets.net/y1cdw1ablpvd/JA1ilU37q6o9dd66fPo0N/656f1e35cdbf044d5d244c703735fdac/image8.png",389,664,{"sys":142644,"__typename":1724,"title":142645,"caption":142646,"layoutMode":59,"file":142647},{"id":142263},"Slack phishing 2: spoof message with bot token","Sending a spoofed message using a bot token from make.com takes the user to the Integromat app if they click on the user, so they can’t easily see who was responsible",{"url":142648,"width":142649,"height":125749},"https://images.ctfassets.net/y1cdw1ablpvd/1WLBeP00qfcJA57SU50jhO/a925300ed74c4160df3d2c8333b9601b/image10.png",1250,{"sys":142651,"__typename":1724,"title":142652,"caption":142653,"layoutMode":59,"file":142654},{"id":142304},"Slack phishing 2: monitor for keywords","Creating a scenario to monitor public channel messages for certain keywords in order to reply with phishing messages",{"url":142655,"width":142656,"height":142657},"https://images.ctfassets.net/y1cdw1ablpvd/1vnotvKHH2WlPkaAdgnBfd/a2b62d3b74ba4dcce0ac358a53a1d563/image11.png",1260,909,{"sys":142659,"__typename":1724,"title":142660,"caption":142661,"layoutMode":59,"file":142662},{"id":142336},"Slack phishing 2: make.com response","Our make.com scenario automatically responding in a thread with a targeted phishing link from a spoofed bot user, using a spoofed link preview",{"url":142663,"width":1736,"height":142664},"https://images.ctfassets.net/y1cdw1ablpvd/4djCgzAgzmqZ6o0efkEAaW/40b304ed2373d6fec9e54a16a1ca5bad/image4.png",771,{"sys":142666,"__typename":1724,"title":142667,"caption":59,"layoutMode":59,"file":142668},{"id":142349},"Slack IT bot phishing automation demo",{"url":142669,"width":45619,"height":45620},"https://images.ctfassets.net/y1cdw1ablpvd/2DAJiJLPZ48TRTl9HVfgP4/7e1383ae8f46ae4122c75dd30c6dce6b/slack-it-bot-phishing-auotmation-demo-trimmed.webp",{"sys":142671,"__typename":1724,"title":142672,"caption":142673,"layoutMode":59,"file":142674},{"id":142362},"Slack phishing 2: technical diagram","Diagram showing the connections between the attacker, compromised Slack account and make.com",{"url":142675,"width":1736,"height":1737},"https://images.ctfassets.net/y1cdw1ablpvd/3y1xzUl7WslwtWeK7xaUMU/0162c7c512d7e054f06b73b2ff22726e/image1.png",{"sys":142677,"__typename":1724,"title":142678,"caption":142679,"layoutMode":59,"file":142680},{"id":142396},"Slack phishing 2: multi-party spoofing","Multi-party spoofing of messages for advanced social engineering internally on Slack",{"url":142681,"width":142682,"height":142683},"https://images.ctfassets.net/y1cdw1ablpvd/6RSsQoqyciS8xxEmqNAZgf/ab12b5c1777fbc574c079ca9d7ea3532/image9.png",538,214,{"sys":142685,"__typename":1717,"type":47670,"ctaText":132414,"buttonLabel":132415,"buttonColour":66936,"buttonUrl":59},{"id":102281},{"items":142687},[],{},"Phishing Slack for persistence and lateral movement","2023-10-24T00:00:00.000Z",{"items":142692},[142693,143444,144215],{"__typename":2059,"sys":142694,"content":142695,"title":142579,"synopsis":143433,"hashTags":59,"publishedDate":142690,"slug":142580,"tagsCollection":143434,"authorsCollection":143440},{"id":112674},{"json":142696},{"data":142697,"content":142698,"nodeType":856},{},[142699,142729,142736,142777,142784,142804,142810,142816,142822,142828,142834,142864,142870,142906,142912,142917,142924,142931,142938,142945,142952,142958,142965,142972,142979,142986,142992,142999,143006,143013,143020,143027,143033,143039,143046,143053,143078,143085,143092,143099,143106,143112,143118,143125,143131,143138,143145,143152,143158,143165,143172,143179,143186,143194,143206,143212,143219,143226,143232,143238,143245,143252,143259,143266,143273,143279,143286,143292,143299,143306,143313,143319,143325,143332,143371,143377,143383,143390,143397,143403,143422,143427],{"data":142700,"content":142701,"nodeType":860},{},[142702,142706,142713,142716,142726],{"data":142703,"marks":142704,"value":142705,"nodeType":864},{},[],"This is the third post in a series on attack chains formed by combining techniques in the ",{"data":142707,"content":142708,"nodeType":883},{"uri":6418},[142709],{"data":142710,"marks":142711,"value":5765,"nodeType":864},{},[142712],{"type":1455},{"data":142714,"marks":142715,"value":135414,"nodeType":864},{},[],{"data":142717,"content":142720,"nodeType":27604},{"target":142718},{"sys":142719},{"id":135378,"type":1001,"linkType":1002},[142721],{"data":142722,"marks":142723,"value":142725,"nodeType":864},{},[142724],{"type":1455},"shadow workflows and evil twin integrations.",{"data":142727,"marks":142728,"value":21,"nodeType":864},{},[],{"data":142730,"content":142731,"nodeType":860},{},[142732],{"data":142733,"marks":142734,"value":142735,"nodeType":864},{},[],"In this article, we’ll demonstrate how instant messaging applications are an increasingly attractive target for a range of phishing and social engineering attacks. We’ll use the following SaaS attack techniques chained together:",{"data":142737,"content":142738,"nodeType":941},{},[142739,142758],{"data":142740,"content":142741,"nodeType":945},{},[142742],{"data":142743,"content":142744,"nodeType":860},{},[142745,142748,142755],{"data":142746,"marks":142747,"value":21,"nodeType":864},{},[],{"data":142749,"content":142750,"nodeType":883},{"uri":96459},[142751],{"data":142752,"marks":142753,"value":141806,"nodeType":864},{},[142754],{"type":1455},{"data":142756,"marks":142757,"value":21,"nodeType":864},{},[],{"data":142759,"content":142760,"nodeType":945},{},[142761],{"data":142762,"content":142763,"nodeType":860},{},[142764,142767,142774],{"data":142765,"marks":142766,"value":21,"nodeType":864},{},[],{"data":142768,"content":142769,"nodeType":883},{"uri":101606},[142770],{"data":142771,"marks":142772,"value":141826,"nodeType":864},{},[142773],{"type":1455},{"data":142775,"marks":142776,"value":21,"nodeType":864},{},[],{"data":142778,"content":142779,"nodeType":860},{},[142780],{"data":142781,"marks":142782,"value":142783,"nodeType":864},{},[],"We’ll use Slack as our primary example in this case and we’ll be primarily focused on external phishing as part of the initial access phase of the kill chain. ",{"data":142785,"content":142786,"nodeType":860},{},[142787,142790,142800],{"data":142788,"marks":142789,"value":141242,"nodeType":864},{},[],{"data":142791,"content":142795,"nodeType":27604},{"target":142792},{"sys":142793},{"id":142794,"type":1001,"linkType":1002},"1hU7XNIizp4vQXsiiQmqvI",[142796],{"data":142797,"marks":142798,"value":142799,"nodeType":864},{},[],"companion article",{"data":142801,"marks":142802,"value":142803,"nodeType":864},{},[],", we’ll look at how once an attacker has a foothold on Slack, new attack possibilities open up that allow for persistence and lateral movement to be achieved.",{"data":142805,"content":142806,"nodeType":1009},{},[142807],{"data":142808,"marks":142809,"value":141876,"nodeType":864},{},[],{"data":142811,"content":142812,"nodeType":860},{},[142813],{"data":142814,"marks":142815,"value":141905,"nodeType":864},{},[],{"data":142817,"content":142818,"nodeType":860},{},[142819],{"data":142820,"marks":142821,"value":141912,"nodeType":864},{},[],{"data":142823,"content":142824,"nodeType":860},{},[142825],{"data":142826,"marks":142827,"value":141919,"nodeType":864},{},[],{"data":142829,"content":142830,"nodeType":860},{},[142831],{"data":142832,"marks":142833,"value":141926,"nodeType":864},{},[],{"data":142835,"content":142836,"nodeType":941},{},[142837,142846,142855],{"data":142838,"content":142839,"nodeType":945},{},[142840],{"data":142841,"content":142842,"nodeType":860},{},[142843],{"data":142844,"marks":142845,"value":141939,"nodeType":864},{},[],{"data":142847,"content":142848,"nodeType":945},{},[142849],{"data":142850,"content":142851,"nodeType":860},{},[142852],{"data":142853,"marks":142854,"value":141949,"nodeType":864},{},[],{"data":142856,"content":142857,"nodeType":945},{},[142858],{"data":142859,"content":142860,"nodeType":860},{},[142861],{"data":142862,"marks":142863,"value":141959,"nodeType":864},{},[],{"data":142865,"content":142866,"nodeType":860},{},[142867],{"data":142868,"marks":142869,"value":141966,"nodeType":864},{},[],{"data":142871,"content":142872,"nodeType":860},{},[142873,142876,142883,142886,142893,142896,142903],{"data":142874,"marks":142875,"value":141973,"nodeType":864},{},[],{"data":142877,"content":142878,"nodeType":883},{"uri":141976},[142879],{"data":142880,"marks":142881,"value":141982,"nodeType":864},{},[142882],{"type":1455},{"data":142884,"marks":142885,"value":141986,"nodeType":864},{},[],{"data":142887,"content":142888,"nodeType":883},{"uri":141989},[142889],{"data":142890,"marks":142891,"value":141995,"nodeType":864},{},[142892],{"type":1455},{"data":142894,"marks":142895,"value":141999,"nodeType":864},{},[],{"data":142897,"content":142898,"nodeType":883},{"uri":142002},[142899],{"data":142900,"marks":142901,"value":142008,"nodeType":864},{},[142902],{"type":1455},{"data":142904,"marks":142905,"value":2924,"nodeType":864},{},[],{"data":142907,"content":142908,"nodeType":860},{},[142909],{"data":142910,"marks":142911,"value":142018,"nodeType":864},{},[],{"data":142913,"content":142916,"nodeType":996},{"target":142914},{"sys":142915},{"id":92011,"type":1001,"linkType":1002},[],{"data":142918,"content":142919,"nodeType":1009},{},[142920],{"data":142921,"marks":142922,"value":142923,"nodeType":864},{},[],"IM user spoofing",{"data":142925,"content":142926,"nodeType":860},{},[142927],{"data":142928,"marks":142929,"value":142930,"nodeType":864},{},[],"The first consideration is the spoofing aspect. We’ve all seen techniques for spoofing emails, but there are many security controls like Sender Policy Framework (SPF) that can prevent direct spoofing of domains and email security gateways that can flag suspicious domains.",{"data":142932,"content":142933,"nodeType":860},{},[142934],{"data":142935,"marks":142936,"value":142937,"nodeType":864},{},[],"Those security controls don’t exist for IM, so we have new options for spoofing.",{"data":142939,"content":142940,"nodeType":1312},{},[142941],{"data":142942,"marks":142943,"value":142944,"nodeType":864},{},[],"External IM invites",{"data":142946,"content":142947,"nodeType":860},{},[142948],{"data":142949,"marks":142950,"value":142951,"nodeType":864},{},[],"IM applications often make use of friendly display names for organization and employee names as well as user-chosen handles. These often don’t need to be unique either. Consider the following Slack Connect request:",{"data":142953,"content":142957,"nodeType":996},{"target":142954},{"sys":142955},{"id":142956,"type":1001,"linkType":1002},"7MEljb1f6XzNRBEbOSsQXi",[],{"data":142959,"content":142960,"nodeType":860},{},[142961],{"data":142962,"marks":142963,"value":142964,"nodeType":864},{},[],"It’s not easy for a target user to tell if the user or organization requesting to connect is legitimate when they first receive this invitation. There’s also a curiosity incentive - you can’t see a first message from the user, so it’s tempting for the target user to accept in order to see the message, even if they then ignore it.",{"data":142966,"content":142967,"nodeType":860},{},[142968],{"data":142969,"marks":142970,"value":142971,"nodeType":864},{},[],"However, once an attacker has got a first connection, they have cleared the first hurdle. They can now launch attacks in future, not just attacks immediately following a successful connection, after the target user has forgotten they ever connected with the attacker (more on this later).",{"data":142973,"content":142974,"nodeType":1312},{},[142975],{"data":142976,"marks":142977,"value":142978,"nodeType":864},{},[],"Spoofing an internal user",{"data":142980,"content":142981,"nodeType":860},{},[142982],{"data":142983,"marks":142984,"value":142985,"nodeType":864},{},[],"What’s more, there’s nothing stopping an external attacker from impersonating internal users/employees too. This is especially a concern if an attacker can social engineer their way into being invited into a channel.",{"data":142987,"content":142991,"nodeType":996},{"target":142988},{"sys":142989},{"id":142990,"type":1001,"linkType":1002},"5TaP25v80xMkA5e33yFIfX",[],{"data":142993,"content":142994,"nodeType":860},{},[142995],{"data":142996,"marks":142997,"value":142998,"nodeType":864},{},[],"While this particular example is less likely to be successful in a small channel, it’s much more of a concern if they change their user identity to replicate an internal employee or teammate and then direct message a member of the channel. DMing an individual channel member doesn’t require a new Slack connect invite so it’s much easier for an unsuspecting target to fall victim to social engineering in this way. ",{"data":143000,"content":143001,"nodeType":1312},{},[143002],{"data":143003,"marks":143004,"value":143005,"nodeType":864},{},[],"Chameleon attack",{"data":143007,"content":143008,"nodeType":860},{},[143009],{"data":143010,"marks":143011,"value":143012,"nodeType":864},{},[],"A particularly interesting external attack capability is that an attacker can act as a chameleon and change their identity over time. Let’s say an external attacker achieves a successful connection with a potential target as an external entity. Maybe they exchange some innocuous communications and then leave the conversation to die. Perhaps the target even has Slack message retention settings enabled that delete the chat history after 90 days.",{"data":143014,"content":143015,"nodeType":860},{},[143016],{"data":143017,"marks":143018,"value":143019,"nodeType":864},{},[],"The attacker bides their time and then in the future, they completely change their Slack identity to impersonate an internal user and message the target again. The connection is already present so the message will come through like any other message, only this time it will appear from a completely different identity. It’s quite possible that the target could be fooled into believing the message is from the internal user. ",{"data":143021,"content":143022,"nodeType":860},{},[143023],{"data":143024,"marks":143025,"value":143026,"nodeType":864},{},[],"This could be particularly dangerous in CEO fraud attacks. An attacker could forge connections with finance employees ahead of time for seemingly legitimate and innocuous means and then later use those to send Slack messages spoofing the CEO.",{"data":143028,"content":143032,"nodeType":996},{"target":143029},{"sys":143030},{"id":143031,"type":1001,"linkType":1002},"51TYXiOwQw0D6BYCzu0em4",[],{"data":143034,"content":143038,"nodeType":996},{"target":143035},{"sys":143036},{"id":143037,"type":1001,"linkType":1002},"6ZQ6iFu11NnXOP4EMAgxji",[],{"data":143040,"content":143041,"nodeType":860},{},[143042],{"data":143043,"marks":143044,"value":143045,"nodeType":864},{},[],"All the examples given so far are possible as an external attacker making Slack connect invites, so they work as the initial access phase of the kill chain. However, if an attacker gains control of an internal Slack user account for the target tenant, or the attacker is a malicious insider (e.g. a disgruntled employee), then they don’t even need to worry about achieving an initial connection request. Under a default configuration, they could change their name and photo to impersonate the CEO immediately and message anyone they like. However, this is moving into the lateral movement phase of the kill chain.",{"data":143047,"content":143048,"nodeType":1009},{},[143049],{"data":143050,"marks":143051,"value":143052,"nodeType":864},{},[],"Link preview spoofing",{"data":143054,"content":143055,"nodeType":860},{},[143056,143060,143065,143069,143074],{"data":143057,"marks":143058,"value":143059,"nodeType":864},{},[],"Another key issue is link preview spoofing. HTML allows a variety of ways to specify hyperlinks. In email, secure email gateways will often alert or block commonly abused types, such as forging a different URL as the link display text to what the underlying link points to. For example, an attacker could show the link as ",{"data":143061,"marks":143062,"value":143064,"nodeType":864},{},[143063],{"type":1455},"https://www.google.com",{"data":143066,"marks":143067,"value":143068,"nodeType":864},{},[]," but direct it to ",{"data":143070,"marks":143071,"value":143073,"nodeType":864},{},[143072],{"type":1455},"https://www.evil.com",{"data":143075,"marks":143076,"value":143077,"nodeType":864},{},[]," when it is clicked. Secure email gateways often perform a lot of other analysis of links, including domain analysis and active crawling to identify common phishing attacks.",{"data":143079,"content":143080,"nodeType":860},{},[143081],{"data":143082,"marks":143083,"value":143084,"nodeType":864},{},[],"On IM applications, however, this same standard of link analysis is not always present and the widespread introduction of link unfurling/previewing has also given additional options for spoofing links to hide their true source and increase social engineering success. ",{"data":143086,"content":143087,"nodeType":1312},{},[143088],{"data":143089,"marks":143090,"value":143091,"nodeType":864},{},[],"Traditional link forging",{"data":143093,"content":143094,"nodeType":860},{},[143095],{"data":143096,"marks":143097,"value":143098,"nodeType":864},{},[],"We’ll start with a common traditional link forging scenario to see how Slack handles that, then show how link previews change the threat.",{"data":143100,"content":143101,"nodeType":860},{},[143102],{"data":143103,"marks":143104,"value":143105,"nodeType":864},{},[],"Here, we can see forging a link is permitted by Slack, but at least the real domain is shown to the user along with an overt warning.",{"data":143107,"content":143111,"nodeType":996},{"target":143108},{"sys":143109},{"id":143110,"type":1001,"linkType":1002},"3SDhqamQqXLfFqD8W1b37V",[],{"data":143113,"content":143117,"nodeType":996},{"target":143114},{"sys":143115},{"id":143116,"type":1001,"linkType":1002},"5yfDUdZ4F6zrp7AGnMGD5b",[],{"data":143119,"content":143120,"nodeType":860},{},[143121],{"data":143122,"marks":143123,"value":143124,"nodeType":864},{},[],"On the other hand, if we use friendly text to mask the true URL, we no longer get a warning when clicking the link. However, it’s still possible to see the real URL via a mouseover, so this doesn’t really differ from traditional email phishing scenarios. Without any context of the link, it’s likely a security conscious user will hover-over to see what the link points to.",{"data":143126,"content":143130,"nodeType":996},{"target":143127},{"sys":143128},{"id":143129,"type":1001,"linkType":1002},"3KCRJ9HIJimLX9vzJVHq1C",[],{"data":143132,"content":143133,"nodeType":1312},{},[143134],{"data":143135,"marks":143136,"value":143137,"nodeType":864},{},[],"Abusing link previews using an internal account ",{"data":143139,"content":143140,"nodeType":860},{},[143141],{"data":143142,"marks":143143,"value":143144,"nodeType":864},{},[],"It gets more interesting when we use links that Slack is able to unfurl to provide a link preview. We’re going to show how this works with full link previews first. By default, full previews only show for messages from internal users. To make the explanation easier, we’ll show full previews first but then we’ll show the difference with limited previews in external messages afterwards and thus show how it impacts external phishing attacks in the initial access phase.",{"data":143146,"content":143147,"nodeType":860},{},[143148],{"data":143149,"marks":143150,"value":143151,"nodeType":864},{},[],"Here we’ll show a legitimate example of posting one of our own blogs where Slack helpfully unfurls the URL and gives some context to the link as a preview:",{"data":143153,"content":143157,"nodeType":996},{"target":143154},{"sys":143155},{"id":143156,"type":1001,"linkType":1002},"7nknMRtdXGlupYom31kKor",[],{"data":143159,"content":143160,"nodeType":860},{},[143161],{"data":143162,"marks":143163,"value":143164,"nodeType":864},{},[],"This is very useful for the user and, despite the fact you can still see the real link clearly via a hover-over, a user is much less likely to check a link when they’ve already had a seemingly legitimate preview context displayed to them. ",{"data":143166,"content":143167,"nodeType":860},{},[143168],{"data":143169,"marks":143170,"value":143171,"nodeType":864},{},[],"So, how can we use this scenario maliciously?",{"data":143173,"content":143174,"nodeType":860},{},[143175],{"data":143176,"marks":143177,"value":143178,"nodeType":864},{},[],"The obvious attack scenario is to minimize the link display text so it’s not noticeable and hard to hover-over and then forge a different link preview for Slack than what is given to the user when they click the link. Then when the user clicks the link, they’ll be directed to our phishing page instead. ",{"data":143180,"content":143181,"nodeType":860},{},[143182],{"data":143183,"marks":143184,"value":143185,"nodeType":864},{},[],"We can do this through using a single character as the link display text and then performing user agent specific processing of web requests. For example, Slack unfurling uses a user agent like the following:",{"data":143187,"content":143188,"nodeType":860},{},[143189],{"data":143190,"marks":143191,"value":143193,"nodeType":864},{},[143192],{"type":101020},"Slackbot-LinkExpanding 1.0 (+https://api.slack.com/robots)",{"data":143195,"content":143196,"nodeType":860},{},[143197,143201],{"data":143198,"marks":143199,"value":143200,"nodeType":864},{},[],"Therefore, without even requiring much sophistication, we can use some simple python code to perform a redirect to a legitimate source when our web request handler sees this user agent. However, when a target user visits using a normal web browser we instead return a malicious page. The example python code below redirects to benign content for a Slack preview, while serving malicious content otherwise:",{"data":143202,"marks":143203,"value":143205,"nodeType":864},{},[143204],{"type":899},"    ",{"data":143207,"content":143211,"nodeType":996},{"target":143208},{"sys":143209},{"id":143210,"type":1001,"linkType":1002},"4VHFyInQfa3tdvJO4rnnQL",[],{"data":143213,"content":143214,"nodeType":860},{},[143215],{"data":143216,"marks":143217,"value":143218,"nodeType":864},{},[],"The end result of this is that the user sees a nice friendly link preview legitimately produced by Slack and Google Docs in real time, whereas if they click the link they’ll be taken to our phishing page instead. ",{"data":143220,"content":143221,"nodeType":860},{},[143222],{"data":143223,"marks":143224,"value":143225,"nodeType":864},{},[],"In this case, we have shown a Google style phishing page as an example for harvesting credentials. Hopefully, the user will assume their Google Docs session expired and then re-enter their credentials. See what the target user would see below:",{"data":143227,"content":143231,"nodeType":996},{"target":143228},{"sys":143229},{"id":143230,"type":1001,"linkType":1002},"3QaFhW1otbJpzMI9ff5R4F",[],{"data":143233,"content":143237,"nodeType":996},{"target":143234},{"sys":143235},{"id":143236,"type":1001,"linkType":1002},"6ZFu92OSmI7miSGz8QwwtV",[],{"data":143239,"content":143240,"nodeType":860},{},[143241],{"data":143242,"marks":143243,"value":143244,"nodeType":864},{},[],"Using a small period as the display text for the hyperlink means it is difficult for the user to notice and hover-over to see Slack pop-up the true domain as we saw earlier. While they can still hover over the link preview itself, this only shows the real domain in the taskbar in the bottom left, which is only noticeable if you intentionally look for it. ",{"data":143246,"content":143247,"nodeType":860},{},[143248],{"data":143249,"marks":143250,"value":143251,"nodeType":864},{},[],"Given normal links in Slack show the domain above the mouse, users aren’t used to looking for the link here and, combined with the friendly link preview, it’s much less likely a target user will realize this is a phishing attack.",{"data":143253,"content":143254,"nodeType":1312},{},[143255],{"data":143256,"marks":143257,"value":143258,"nodeType":864},{},[],"Abusing link previews with an external account ",{"data":143260,"content":143261,"nodeType":860},{},[143262],{"data":143263,"marks":143264,"value":143265,"nodeType":864},{},[],"What we’ve just shown is the behavior for a message from an internal user. Slack doesn’t fully unfurl a link by default, however, if this was combined with external messaging as we saw earlier. It does still show a partial link preview though and therefore this attack is still possible.",{"data":143267,"content":143268,"nodeType":860},{},[143269],{"data":143270,"marks":143271,"value":143272,"nodeType":864},{},[],"The only real difference is it doesn’t show the image part of the preview and, instead, shows a notice to the user that it’s external and gives them the option to click to show the image preview as well. If the user clicks to show the image preview, it converts to the same full preview with the image we saw above. In this case, we can see an example of chaining the original external user spoofing attack with a link preview spoofing attack below:",{"data":143274,"content":143278,"nodeType":996},{"target":143275},{"sys":143276},{"id":143277,"type":1001,"linkType":1002},"4IkX0LI0bB36CxNlHYHRHs",[],{"data":143280,"content":143281,"nodeType":860},{},[143282],{"data":143283,"marks":143284,"value":143285,"nodeType":864},{},[],"While this is slightly more problematic for an attacker than the internal functionality for link previews, it’s still very useful as a social engineering technique and arguably the option to click “just show this one” adds to the legitimacy. The reason is the user may use this as a way to get context on what the link is, instead of looking for the underlying URL. Otherwise, clicking the link still takes the user to the phishing page without any other warnings the same as for internal messages.",{"data":143287,"content":143291,"nodeType":996},{"target":143288},{"sys":143289},{"id":143290,"type":1001,"linkType":1002},"2ug8ozbhRM3Xg8nhasJ1er",[],{"data":143293,"content":143294,"nodeType":1312},{},[143295],{"data":143296,"marks":143297,"value":143298,"nodeType":864},{},[],"Cleaning your tracks",{"data":143300,"content":143301,"nodeType":860},{},[143302],{"data":143303,"marks":143304,"value":143305,"nodeType":864},{},[],"Ok, so let’s say an attacker has either successfully phished the target user or perhaps now the user is suspicious and likely contacting security or IT. One of the great benefits of IM apps is you can generally edit and delete messages, which can be abused by an attacker.",{"data":143307,"content":143308,"nodeType":860},{},[143309],{"data":143310,"marks":143311,"value":143312,"nodeType":864},{},[],"As an attacker, I could make a tiny change to my message to replace the malicious link with the legitimate link I was spoofing for the link preview if I got the sense the target was getting suspicious. Then, if an incident responder comes to investigate, the malicious link is now gone and the message itself appears identical, covering my tracks. Other than being able to see the message has been edited, it’s no longer easy to see this was a phishing attack or where the phishing link pointed to. This is definitely a useful capability that isn’t usually possible with email phishing! \n\nSee this minor change reflected below, making the original phishing message appear innocuous due to the replacement of the phishing URL with a legitimate URL:",{"data":143314,"content":143318,"nodeType":996},{"target":143315},{"sys":143316},{"id":143317,"type":1001,"linkType":1002},"32lWR3sObuIYvhSDUPIPAh",[],{"data":143320,"content":143321,"nodeType":1009},{},[143322],{"data":143323,"marks":143324,"value":110587,"nodeType":864},{},[],{"data":143326,"content":143327,"nodeType":860},{},[143328],{"data":143329,"marks":143330,"value":143331,"nodeType":864},{},[],"We’ve covered a lot of ground here, showing the chaining of external user spoofing attacks with link preview spoofing and also how to cover your tracks afterwards. It’s worth taking a step back and considering the key impact points:",{"data":143333,"content":143334,"nodeType":941},{},[143335,143344,143353,143362],{"data":143336,"content":143337,"nodeType":945},{},[143338],{"data":143339,"content":143340,"nodeType":860},{},[143341],{"data":143342,"marks":143343,"value":142442,"nodeType":864},{},[],{"data":143345,"content":143346,"nodeType":945},{},[143347],{"data":143348,"content":143349,"nodeType":860},{},[143350],{"data":143351,"marks":143352,"value":142452,"nodeType":864},{},[],{"data":143354,"content":143355,"nodeType":945},{},[143356],{"data":143357,"content":143358,"nodeType":860},{},[143359],{"data":143360,"marks":143361,"value":142462,"nodeType":864},{},[],{"data":143363,"content":143364,"nodeType":945},{},[143365],{"data":143366,"content":143367,"nodeType":860},{},[143368],{"data":143369,"marks":143370,"value":142472,"nodeType":864},{},[],{"data":143372,"content":143373,"nodeType":1009},{},[143374],{"data":143375,"marks":143376,"value":32492,"nodeType":864},{},[],{"data":143378,"content":143379,"nodeType":860},{},[143380],{"data":143381,"marks":143382,"value":142551,"nodeType":864},{},[],{"data":143384,"content":143385,"nodeType":860},{},[143386],{"data":143387,"marks":143388,"value":143389,"nodeType":864},{},[],"This also means organizations reliant on traditional email security gateways and email-based phishing training are likely to see the effectiveness of these controls decrease if attacks shift to the IM apps.",{"data":143391,"content":143392,"nodeType":860},{},[143393],{"data":143394,"marks":143395,"value":143396,"nodeType":864},{},[],"In this article, we highlighted a number of spoofing and phishing strategies that can be employed by external attackers to target an organization using Slack in the initial access phase of the kill chain. In the next article, we’ll look at how once an attacker has a foothold on Slack, new attack possibilities open up that allow for persistence and lateral movement to be achieved.",{"data":143398,"content":143399,"nodeType":860},{},[143400],{"data":143401,"marks":143402,"value":142572,"nodeType":864},{},[],{"data":143404,"content":143405,"nodeType":860},{},[143406,143410,143418],{"data":143407,"marks":143408,"value":143409,"nodeType":864},{},[],"In our ",{"data":143411,"content":143414,"nodeType":27604},{"target":143412},{"sys":143413},{"id":142794,"type":1001,"linkType":1002},[143415],{"data":143416,"marks":143417,"value":142799,"nodeType":864},{},[],{"data":143419,"marks":143420,"value":143421,"nodeType":864},{},[],", we’ll talk about how to use Slack to gain persistence and move laterally across the organization. ",{"data":143423,"content":143426,"nodeType":996},{"target":143424},{"sys":143425},{"id":102281,"type":1001,"linkType":1002},[],{"data":143428,"content":143429,"nodeType":860},{},[143430],{"data":143431,"marks":143432,"value":21,"nodeType":864},{},[],"In this article, we’ll demonstrate how IM apps, specifically Slack, are an increasingly attractive target for a range of phishing & social engineering attacks.",{"items":143435},[143436,143438],{"sys":143437,"name":6593},{"id":6592},{"sys":143439,"name":297},{"id":2732},{"items":143441},[143442],{"fullName":4949,"firstName":4950,"jobTitle":4951,"profilePicture":143443},{"url":4955},{"__typename":2059,"sys":143445,"content":143446,"title":136252,"synopsis":135389,"hashTags":59,"publishedDate":136253,"slug":136254,"tagsCollection":144205,"authorsCollection":144211},{"id":135378},{"json":143447},{"data":143448,"content":143449,"nodeType":856},{},[143450,143456,143462,143490,143496,143502,143518,143524,143530,143536,143560,143566,143572,143585,143591,143597,143627,143633,143639,143645,143651,143657,143662,143668,143674,143680,143687,143693,143709,143715,143721,143727,143733,143739,143745,143751,143757,143763,143768,143774,143790,143796,143812,143817,143822,143827,143833,143839,143845,143850,143855,143861,143867,143873,143879,143885,143890,143906,143922,143928,143933,143938,143944,143950,143956,143962,143983,143988,143993,143999,144005,144011,144021,144026,144032,144037,144042,144048,144054,144060,144065,144070,144076,144082,144187,144193,144199],{"data":143451,"content":143452,"nodeType":860},{},[143453],{"data":143454,"marks":143455,"value":135389,"nodeType":864},{},[],{"data":143457,"content":143458,"nodeType":860},{},[143459],{"data":143460,"marks":143461,"value":135396,"nodeType":864},{},[],{"data":143463,"content":143464,"nodeType":860},{},[143465,143468,143475,143478,143487],{"data":143466,"marks":143467,"value":135403,"nodeType":864},{},[],{"data":143469,"content":143470,"nodeType":883},{"uri":6418},[143471],{"data":143472,"marks":143473,"value":5765,"nodeType":864},{},[143474],{"type":1455},{"data":143476,"marks":143477,"value":135414,"nodeType":864},{},[],{"data":143479,"content":143482,"nodeType":27604},{"target":143480},{"sys":143481},{"id":110390,"type":1001,"linkType":1002},[143483],{"data":143484,"marks":143485,"value":5236,"nodeType":864},{},[143486],{"type":1455},{"data":143488,"marks":143489,"value":12252,"nodeType":864},{},[],{"data":143491,"content":143492,"nodeType":860},{},[143493],{"data":143494,"marks":143495,"value":135433,"nodeType":864},{},[],{"data":143497,"content":143498,"nodeType":1009},{},[143499],{"data":143500,"marks":143501,"value":135440,"nodeType":864},{},[],{"data":143503,"content":143504,"nodeType":860},{},[143505,143508,143515],{"data":143506,"marks":143507,"value":72717,"nodeType":864},{},[],{"data":143509,"content":143510,"nodeType":883},{"uri":61891},[143511],{"data":143512,"marks":143513,"value":135454,"nodeType":864},{},[143514],{"type":1455},{"data":143516,"marks":143517,"value":135458,"nodeType":864},{},[],{"data":143519,"content":143520,"nodeType":860},{},[143521],{"data":143522,"marks":143523,"value":135465,"nodeType":864},{},[],{"data":143525,"content":143526,"nodeType":1009},{},[143527],{"data":143528,"marks":143529,"value":135472,"nodeType":864},{},[],{"data":143531,"content":143532,"nodeType":860},{},[143533],{"data":143534,"marks":143535,"value":135479,"nodeType":864},{},[],{"data":143537,"content":143538,"nodeType":860},{},[143539,143542,143549,143552,143557],{"data":143540,"marks":143541,"value":135486,"nodeType":864},{},[],{"data":143543,"content":143544,"nodeType":883},{"uri":101818},[143545],{"data":143546,"marks":143547,"value":101824,"nodeType":864},{},[143548],{"type":1455},{"data":143550,"marks":143551,"value":135497,"nodeType":864},{},[],{"data":143553,"marks":143554,"value":135503,"nodeType":864},{},[143555,143556],{"type":2246},{"type":899},{"data":143558,"marks":143559,"value":135507,"nodeType":864},{},[],{"data":143561,"content":143562,"nodeType":1009},{},[143563],{"data":143564,"marks":143565,"value":127630,"nodeType":864},{},[],{"data":143567,"content":143568,"nodeType":860},{},[143569],{"data":143570,"marks":143571,"value":135520,"nodeType":864},{},[],{"data":143573,"content":143574,"nodeType":860},{},[143575,143578,143582],{"data":143576,"marks":143577,"value":135527,"nodeType":864},{},[],{"data":143579,"marks":143580,"value":135532,"nodeType":864},{},[143581],{"type":1455},{"data":143583,"marks":143584,"value":135536,"nodeType":864},{},[],{"data":143586,"content":143587,"nodeType":860},{},[143588],{"data":143589,"marks":143590,"value":135543,"nodeType":864},{},[],{"data":143592,"content":143593,"nodeType":860},{},[143594],{"data":143595,"marks":143596,"value":135550,"nodeType":864},{},[],{"data":143598,"content":143599,"nodeType":118765},{},[143600,143609,143618],{"data":143601,"content":143602,"nodeType":945},{},[143603],{"data":143604,"content":143605,"nodeType":860},{},[143606],{"data":143607,"marks":143608,"value":135563,"nodeType":864},{},[],{"data":143610,"content":143611,"nodeType":945},{},[143612],{"data":143613,"content":143614,"nodeType":860},{},[143615],{"data":143616,"marks":143617,"value":135573,"nodeType":864},{},[],{"data":143619,"content":143620,"nodeType":945},{},[143621],{"data":143622,"content":143623,"nodeType":860},{},[143624],{"data":143625,"marks":143626,"value":135583,"nodeType":864},{},[],{"data":143628,"content":143629,"nodeType":1312},{},[143630],{"data":143631,"marks":143632,"value":135590,"nodeType":864},{},[],{"data":143634,"content":143635,"nodeType":860},{},[143636],{"data":143637,"marks":143638,"value":135597,"nodeType":864},{},[],{"data":143640,"content":143641,"nodeType":860},{},[143642],{"data":143643,"marks":143644,"value":135604,"nodeType":864},{},[],{"data":143646,"content":143647,"nodeType":860},{},[143648],{"data":143649,"marks":143650,"value":135611,"nodeType":864},{},[],{"data":143652,"content":143653,"nodeType":860},{},[143654],{"data":143655,"marks":143656,"value":135618,"nodeType":864},{},[],{"data":143658,"content":143661,"nodeType":996},{"target":143659},{"sys":143660},{"id":135623,"type":1001,"linkType":1002},[],{"data":143663,"content":143664,"nodeType":1312},{},[143665],{"data":143666,"marks":143667,"value":135631,"nodeType":864},{},[],{"data":143669,"content":143670,"nodeType":860},{},[143671],{"data":143672,"marks":143673,"value":135638,"nodeType":864},{},[],{"data":143675,"content":143676,"nodeType":860},{},[143677],{"data":143678,"marks":143679,"value":135645,"nodeType":864},{},[],{"data":143681,"content":143682,"nodeType":860},{},[143683],{"data":143684,"marks":143685,"value":135653,"nodeType":864},{},[143686],{"type":899},{"data":143688,"content":143689,"nodeType":1312},{},[143690],{"data":143691,"marks":143692,"value":135660,"nodeType":864},{},[],{"data":143694,"content":143695,"nodeType":860},{},[143696,143699,143706],{"data":143697,"marks":143698,"value":135667,"nodeType":864},{},[],{"data":143700,"content":143701,"nodeType":883},{"uri":135670},[143702],{"data":143703,"marks":143704,"value":135676,"nodeType":864},{},[143705],{"type":1455},{"data":143707,"marks":143708,"value":135680,"nodeType":864},{},[],{"data":143710,"content":143711,"nodeType":860},{},[143712],{"data":143713,"marks":143714,"value":135687,"nodeType":864},{},[],{"data":143716,"content":143717,"nodeType":860},{},[143718],{"data":143719,"marks":143720,"value":135694,"nodeType":864},{},[],{"data":143722,"content":143723,"nodeType":1009},{},[143724],{"data":143725,"marks":143726,"value":135701,"nodeType":864},{},[],{"data":143728,"content":143729,"nodeType":860},{},[143730],{"data":143731,"marks":143732,"value":135708,"nodeType":864},{},[],{"data":143734,"content":143735,"nodeType":860},{},[143736],{"data":143737,"marks":143738,"value":135715,"nodeType":864},{},[],{"data":143740,"content":143741,"nodeType":860},{},[143742],{"data":143743,"marks":143744,"value":135722,"nodeType":864},{},[],{"data":143746,"content":143747,"nodeType":860},{},[143748],{"data":143749,"marks":143750,"value":135729,"nodeType":864},{},[],{"data":143752,"content":143753,"nodeType":860},{},[143754],{"data":143755,"marks":143756,"value":135736,"nodeType":864},{},[],{"data":143758,"content":143759,"nodeType":860},{},[143760],{"data":143761,"marks":143762,"value":135743,"nodeType":864},{},[],{"data":143764,"content":143767,"nodeType":996},{"target":143765},{"sys":143766},{"id":135748,"type":1001,"linkType":1002},[],{"data":143769,"content":143770,"nodeType":1009},{},[143771],{"data":143772,"marks":143773,"value":135756,"nodeType":864},{},[],{"data":143775,"content":143776,"nodeType":860},{},[143777,143780,143787],{"data":143778,"marks":143779,"value":135763,"nodeType":864},{},[],{"data":143781,"content":143782,"nodeType":883},{"uri":96530},[143783],{"data":143784,"marks":143785,"value":135771,"nodeType":864},{},[143786],{"type":1455},{"data":143788,"marks":143789,"value":135775,"nodeType":864},{},[],{"data":143791,"content":143792,"nodeType":1312},{},[143793],{"data":143794,"marks":143795,"value":135782,"nodeType":864},{},[],{"data":143797,"content":143798,"nodeType":860},{},[143799,143802,143809],{"data":143800,"marks":143801,"value":135789,"nodeType":864},{},[],{"data":143803,"content":143804,"nodeType":883},{"uri":135792},[143805],{"data":143806,"marks":143807,"value":135792,"nodeType":864},{},[143808],{"type":1455},{"data":143810,"marks":143811,"value":135801,"nodeType":864},{},[],{"data":143813,"content":143816,"nodeType":996},{"target":143814},{"sys":143815},{"id":135806,"type":1001,"linkType":1002},[],{"data":143818,"content":143821,"nodeType":996},{"target":143819},{"sys":143820},{"id":135812,"type":1001,"linkType":1002},[],{"data":143823,"content":143826,"nodeType":996},{"target":143824},{"sys":143825},{"id":135818,"type":1001,"linkType":1002},[],{"data":143828,"content":143829,"nodeType":1312},{},[143830],{"data":143831,"marks":143832,"value":135826,"nodeType":864},{},[],{"data":143834,"content":143835,"nodeType":860},{},[143836],{"data":143837,"marks":143838,"value":135833,"nodeType":864},{},[],{"data":143840,"content":143841,"nodeType":860},{},[143842],{"data":143843,"marks":143844,"value":135840,"nodeType":864},{},[],{"data":143846,"content":143849,"nodeType":996},{"target":143847},{"sys":143848},{"id":135845,"type":1001,"linkType":1002},[],{"data":143851,"content":143854,"nodeType":996},{"target":143852},{"sys":143853},{"id":135851,"type":1001,"linkType":1002},[],{"data":143856,"content":143857,"nodeType":1009},{},[143858],{"data":143859,"marks":143860,"value":135859,"nodeType":864},{},[],{"data":143862,"content":143863,"nodeType":860},{},[143864],{"data":143865,"marks":143866,"value":135866,"nodeType":864},{},[],{"data":143868,"content":143869,"nodeType":860},{},[143870],{"data":143871,"marks":143872,"value":135873,"nodeType":864},{},[],{"data":143874,"content":143875,"nodeType":1312},{},[143876],{"data":143877,"marks":143878,"value":135880,"nodeType":864},{},[],{"data":143880,"content":143881,"nodeType":860},{},[143882],{"data":143883,"marks":143884,"value":135887,"nodeType":864},{},[],{"data":143886,"content":143889,"nodeType":996},{"target":143887},{"sys":143888},{"id":135892,"type":1001,"linkType":1002},[],{"data":143891,"content":143892,"nodeType":860},{},[143893,143896,143903],{"data":143894,"marks":143895,"value":135900,"nodeType":864},{},[],{"data":143897,"content":143898,"nodeType":883},{"uri":127950},[143899],{"data":143900,"marks":143901,"value":127956,"nodeType":864},{},[143902],{"type":1455},{"data":143904,"marks":143905,"value":135911,"nodeType":864},{},[],{"data":143907,"content":143908,"nodeType":860},{},[143909,143912,143919],{"data":143910,"marks":143911,"value":135918,"nodeType":864},{},[],{"data":143913,"content":143914,"nodeType":883},{"uri":96606},[143915],{"data":143916,"marks":143917,"value":135926,"nodeType":864},{},[143918],{"type":1455},{"data":143920,"marks":143921,"value":135930,"nodeType":864},{},[],{"data":143923,"content":143924,"nodeType":860},{},[143925],{"data":143926,"marks":143927,"value":135937,"nodeType":864},{},[],{"data":143929,"content":143932,"nodeType":996},{"target":143930},{"sys":143931},{"id":135942,"type":1001,"linkType":1002},[],{"data":143934,"content":143937,"nodeType":996},{"target":143935},{"sys":143936},{"id":135948,"type":1001,"linkType":1002},[],{"data":143939,"content":143940,"nodeType":860},{},[143941],{"data":143942,"marks":143943,"value":135956,"nodeType":864},{},[],{"data":143945,"content":143946,"nodeType":1312},{},[143947],{"data":143948,"marks":143949,"value":135963,"nodeType":864},{},[],{"data":143951,"content":143952,"nodeType":860},{},[143953],{"data":143954,"marks":143955,"value":135970,"nodeType":864},{},[],{"data":143957,"content":143958,"nodeType":860},{},[143959],{"data":143960,"marks":143961,"value":135977,"nodeType":864},{},[],{"data":143963,"content":143964,"nodeType":941},{},[143965,143974],{"data":143966,"content":143967,"nodeType":945},{},[143968],{"data":143969,"content":143970,"nodeType":860},{},[143971],{"data":143972,"marks":143973,"value":135990,"nodeType":864},{},[],{"data":143975,"content":143976,"nodeType":945},{},[143977],{"data":143978,"content":143979,"nodeType":860},{},[143980],{"data":143981,"marks":143982,"value":136000,"nodeType":864},{},[],{"data":143984,"content":143987,"nodeType":996},{"target":143985},{"sys":143986},{"id":136005,"type":1001,"linkType":1002},[],{"data":143989,"content":143992,"nodeType":996},{"target":143990},{"sys":143991},{"id":136011,"type":1001,"linkType":1002},[],{"data":143994,"content":143995,"nodeType":860},{},[143996],{"data":143997,"marks":143998,"value":136019,"nodeType":864},{},[],{"data":144000,"content":144001,"nodeType":860},{},[144002],{"data":144003,"marks":144004,"value":136026,"nodeType":864},{},[],{"data":144006,"content":144007,"nodeType":860},{},[144008],{"data":144009,"marks":144010,"value":136033,"nodeType":864},{},[],{"data":144012,"content":144013,"nodeType":860},{},[144014,144017],{"data":144015,"marks":144016,"value":136040,"nodeType":864},{},[],{"data":144018,"marks":144019,"value":8618,"nodeType":864},{},[144020],{"type":2246},{"data":144022,"content":144025,"nodeType":996},{"target":144023},{"sys":144024},{"id":136049,"type":1001,"linkType":1002},[],{"data":144027,"content":144028,"nodeType":860},{},[144029],{"data":144030,"marks":144031,"value":136057,"nodeType":864},{},[],{"data":144033,"content":144036,"nodeType":996},{"target":144034},{"sys":144035},{"id":136062,"type":1001,"linkType":1002},[],{"data":144038,"content":144041,"nodeType":996},{"target":144039},{"sys":144040},{"id":136068,"type":1001,"linkType":1002},[],{"data":144043,"content":144044,"nodeType":860},{},[144045],{"data":144046,"marks":144047,"value":136076,"nodeType":864},{},[],{"data":144049,"content":144050,"nodeType":1009},{},[144051],{"data":144052,"marks":144053,"value":136083,"nodeType":864},{},[],{"data":144055,"content":144056,"nodeType":860},{},[144057],{"data":144058,"marks":144059,"value":136090,"nodeType":864},{},[],{"data":144061,"content":144064,"nodeType":996},{"target":144062},{"sys":144063},{"id":136095,"type":1001,"linkType":1002},[],{"data":144066,"content":144069,"nodeType":996},{"target":144067},{"sys":144068},{"id":136101,"type":1001,"linkType":1002},[],{"data":144071,"content":144072,"nodeType":1009},{},[144073],{"data":144074,"marks":144075,"value":110587,"nodeType":864},{},[],{"data":144077,"content":144078,"nodeType":860},{},[144079],{"data":144080,"marks":144081,"value":136115,"nodeType":864},{},[],{"data":144083,"content":144084,"nodeType":941},{},[144085,144094,144103,144112,144121,144169,144178],{"data":144086,"content":144087,"nodeType":945},{},[144088],{"data":144089,"content":144090,"nodeType":860},{},[144091],{"data":144092,"marks":144093,"value":136128,"nodeType":864},{},[],{"data":144095,"content":144096,"nodeType":945},{},[144097],{"data":144098,"content":144099,"nodeType":860},{},[144100],{"data":144101,"marks":144102,"value":136138,"nodeType":864},{},[],{"data":144104,"content":144105,"nodeType":945},{},[144106],{"data":144107,"content":144108,"nodeType":860},{},[144109],{"data":144110,"marks":144111,"value":136148,"nodeType":864},{},[],{"data":144113,"content":144114,"nodeType":945},{},[144115],{"data":144116,"content":144117,"nodeType":860},{},[144118],{"data":144119,"marks":144120,"value":136158,"nodeType":864},{},[],{"data":144122,"content":144123,"nodeType":945},{},[144124,144130],{"data":144125,"content":144126,"nodeType":860},{},[144127],{"data":144128,"marks":144129,"value":136168,"nodeType":864},{},[],{"data":144131,"content":144132,"nodeType":941},{},[144133,144142,144151,144160],{"data":144134,"content":144135,"nodeType":945},{},[144136],{"data":144137,"content":144138,"nodeType":860},{},[144139],{"data":144140,"marks":144141,"value":136181,"nodeType":864},{},[],{"data":144143,"content":144144,"nodeType":945},{},[144145],{"data":144146,"content":144147,"nodeType":860},{},[144148],{"data":144149,"marks":144150,"value":136191,"nodeType":864},{},[],{"data":144152,"content":144153,"nodeType":945},{},[144154],{"data":144155,"content":144156,"nodeType":860},{},[144157],{"data":144158,"marks":144159,"value":136201,"nodeType":864},{},[],{"data":144161,"content":144162,"nodeType":945},{},[144163],{"data":144164,"content":144165,"nodeType":860},{},[144166],{"data":144167,"marks":144168,"value":136211,"nodeType":864},{},[],{"data":144170,"content":144171,"nodeType":945},{},[144172],{"data":144173,"content":144174,"nodeType":860},{},[144175],{"data":144176,"marks":144177,"value":136221,"nodeType":864},{},[],{"data":144179,"content":144180,"nodeType":945},{},[144181],{"data":144182,"content":144183,"nodeType":860},{},[144184],{"data":144185,"marks":144186,"value":136231,"nodeType":864},{},[],{"data":144188,"content":144189,"nodeType":1009},{},[144190],{"data":144191,"marks":144192,"value":32492,"nodeType":864},{},[],{"data":144194,"content":144195,"nodeType":860},{},[144196],{"data":144197,"marks":144198,"value":136244,"nodeType":864},{},[],{"data":144200,"content":144201,"nodeType":860},{},[144202],{"data":144203,"marks":144204,"value":136251,"nodeType":864},{},[],{"items":144206},[144207,144209],{"sys":144208,"name":6593},{"id":6592},{"sys":144210,"name":342},{"id":6596},{"items":144212},[144213],{"fullName":4949,"firstName":4950,"jobTitle":4951,"profilePicture":144214},{"url":4955},{"__typename":2059,"sys":144216,"content":144217,"title":5236,"synopsis":127994,"hashTags":59,"publishedDate":127995,"slug":127996,"tagsCollection":144611,"authorsCollection":144617},{"id":110390},{"json":144218},{"data":144219,"content":144220,"nodeType":856},{},[144221,144237,144243,144249,144255,144271,144277,144293,144299,144305,144311,144317,144323,144329,144335,144351,144357,144363,144368,144374,144380,144386,144391,144396,144401,144407,144413,144418,144424,144430,144436,144441,144447,144453,144459,144465,144471,144476,144482,144488,144493,144499,144505,144510,144516,144522,144581,144587,144593,144599,144605],{"data":144222,"content":144223,"nodeType":860},{},[144224,144227,144234],{"data":144225,"marks":144226,"value":127552,"nodeType":864},{},[],{"data":144228,"content":144229,"nodeType":883},{"uri":6418},[144230],{"data":144231,"marks":144232,"value":5765,"nodeType":864},{},[144233],{"type":1455},{"data":144235,"marks":144236,"value":127563,"nodeType":864},{},[],{"data":144238,"content":144239,"nodeType":860},{},[144240],{"data":144241,"marks":144242,"value":127570,"nodeType":864},{},[],{"data":144244,"content":144245,"nodeType":860},{},[144246],{"data":144247,"marks":144248,"value":127577,"nodeType":864},{},[],{"data":144250,"content":144251,"nodeType":1009},{},[144252],{"data":144253,"marks":144254,"value":110106,"nodeType":864},{},[],{"data":144256,"content":144257,"nodeType":860},{},[144258,144261,144268],{"data":144259,"marks":144260,"value":21,"nodeType":864},{},[],{"data":144262,"content":144263,"nodeType":883},{"uri":101692},[144264],{"data":144265,"marks":144266,"value":110119,"nodeType":864},{},[144267],{"type":1455},{"data":144269,"marks":144270,"value":110123,"nodeType":864},{},[],{"data":144272,"content":144273,"nodeType":1009},{},[144274],{"data":144275,"marks":144276,"value":127606,"nodeType":864},{},[],{"data":144278,"content":144279,"nodeType":860},{},[144280,144283,144290],{"data":144281,"marks":144282,"value":21,"nodeType":864},{},[],{"data":144284,"content":144285,"nodeType":883},{"uri":88494},[144286],{"data":144287,"marks":144288,"value":5272,"nodeType":864},{},[144289],{"type":1455},{"data":144291,"marks":144292,"value":127623,"nodeType":864},{},[],{"data":144294,"content":144295,"nodeType":1009},{},[144296],{"data":144297,"marks":144298,"value":127630,"nodeType":864},{},[],{"data":144300,"content":144301,"nodeType":860},{},[144302],{"data":144303,"marks":144304,"value":127637,"nodeType":864},{},[],{"data":144306,"content":144307,"nodeType":860},{},[144308],{"data":144309,"marks":144310,"value":127644,"nodeType":864},{},[],{"data":144312,"content":144313,"nodeType":860},{},[144314],{"data":144315,"marks":144316,"value":127651,"nodeType":864},{},[],{"data":144318,"content":144319,"nodeType":860},{},[144320],{"data":144321,"marks":144322,"value":127658,"nodeType":864},{},[],{"data":144324,"content":144325,"nodeType":860},{},[144326],{"data":144327,"marks":144328,"value":127665,"nodeType":864},{},[],{"data":144330,"content":144331,"nodeType":1009},{},[144332],{"data":144333,"marks":144334,"value":127672,"nodeType":864},{},[],{"data":144336,"content":144337,"nodeType":860},{},[144338,144341,144348],{"data":144339,"marks":144340,"value":127679,"nodeType":864},{},[],{"data":144342,"content":144343,"nodeType":883},{"uri":127682},[144344],{"data":144345,"marks":144346,"value":127688,"nodeType":864},{},[144347],{"type":1455},{"data":144349,"marks":144350,"value":127692,"nodeType":864},{},[],{"data":144352,"content":144353,"nodeType":860},{},[144354],{"data":144355,"marks":144356,"value":127699,"nodeType":864},{},[],{"data":144358,"content":144359,"nodeType":860},{},[144360],{"data":144361,"marks":144362,"value":127706,"nodeType":864},{},[],{"data":144364,"content":144367,"nodeType":996},{"target":144365},{"sys":144366},{"id":127711,"type":1001,"linkType":1002},[],{"data":144369,"content":144370,"nodeType":860},{},[144371],{"data":144372,"marks":144373,"value":127719,"nodeType":864},{},[],{"data":144375,"content":144376,"nodeType":1312},{},[144377],{"data":144378,"marks":144379,"value":127726,"nodeType":864},{},[],{"data":144381,"content":144382,"nodeType":860},{},[144383],{"data":144384,"marks":144385,"value":127733,"nodeType":864},{},[],{"data":144387,"content":144390,"nodeType":996},{"target":144388},{"sys":144389},{"id":127738,"type":1001,"linkType":1002},[],{"data":144392,"content":144395,"nodeType":996},{"target":144393},{"sys":144394},{"id":127744,"type":1001,"linkType":1002},[],{"data":144397,"content":144400,"nodeType":996},{"target":144398},{"sys":144399},{"id":127750,"type":1001,"linkType":1002},[],{"data":144402,"content":144403,"nodeType":1312},{},[144404],{"data":144405,"marks":144406,"value":127758,"nodeType":864},{},[],{"data":144408,"content":144409,"nodeType":860},{},[144410],{"data":144411,"marks":144412,"value":127765,"nodeType":864},{},[],{"data":144414,"content":144417,"nodeType":996},{"target":144415},{"sys":144416},{"id":127770,"type":1001,"linkType":1002},[],{"data":144419,"content":144420,"nodeType":1312},{},[144421],{"data":144422,"marks":144423,"value":127778,"nodeType":864},{},[],{"data":144425,"content":144426,"nodeType":860},{},[144427],{"data":144428,"marks":144429,"value":127785,"nodeType":864},{},[],{"data":144431,"content":144432,"nodeType":860},{},[144433],{"data":144434,"marks":144435,"value":127792,"nodeType":864},{},[],{"data":144437,"content":144440,"nodeType":996},{"target":144438},{"sys":144439},{"id":127797,"type":1001,"linkType":1002},[],{"data":144442,"content":144443,"nodeType":860},{},[144444],{"data":144445,"marks":144446,"value":127805,"nodeType":864},{},[],{"data":144448,"content":144449,"nodeType":1009},{},[144450],{"data":144451,"marks":144452,"value":127812,"nodeType":864},{},[],{"data":144454,"content":144455,"nodeType":1312},{},[144456],{"data":144457,"marks":144458,"value":127819,"nodeType":864},{},[],{"data":144460,"content":144461,"nodeType":860},{},[144462],{"data":144463,"marks":144464,"value":127826,"nodeType":864},{},[],{"data":144466,"content":144467,"nodeType":860},{},[144468],{"data":144469,"marks":144470,"value":127833,"nodeType":864},{},[],{"data":144472,"content":144475,"nodeType":996},{"target":144473},{"sys":144474},{"id":127838,"type":1001,"linkType":1002},[],{"data":144477,"content":144478,"nodeType":1312},{},[144479],{"data":144480,"marks":144481,"value":127846,"nodeType":864},{},[],{"data":144483,"content":144484,"nodeType":860},{},[144485],{"data":144486,"marks":144487,"value":127853,"nodeType":864},{},[],{"data":144489,"content":144492,"nodeType":996},{"target":144490},{"sys":144491},{"id":127858,"type":1001,"linkType":1002},[],{"data":144494,"content":144495,"nodeType":860},{},[144496],{"data":144497,"marks":144498,"value":127866,"nodeType":864},{},[],{"data":144500,"content":144501,"nodeType":860},{},[144502],{"data":144503,"marks":144504,"value":127873,"nodeType":864},{},[],{"data":144506,"content":144509,"nodeType":996},{"target":144507},{"sys":144508},{"id":127878,"type":1001,"linkType":1002},[],{"data":144511,"content":144512,"nodeType":1009},{},[144513],{"data":144514,"marks":144515,"value":110587,"nodeType":864},{},[],{"data":144517,"content":144518,"nodeType":860},{},[144519],{"data":144520,"marks":144521,"value":127892,"nodeType":864},{},[],{"data":144523,"content":144524,"nodeType":941},{},[144525,144534,144543,144562],{"data":144526,"content":144527,"nodeType":945},{},[144528],{"data":144529,"content":144530,"nodeType":860},{},[144531],{"data":144532,"marks":144533,"value":127905,"nodeType":864},{},[],{"data":144535,"content":144536,"nodeType":945},{},[144537],{"data":144538,"content":144539,"nodeType":860},{},[144540],{"data":144541,"marks":144542,"value":127915,"nodeType":864},{},[],{"data":144544,"content":144545,"nodeType":945},{},[144546],{"data":144547,"content":144548,"nodeType":860},{},[144549,144552,144559],{"data":144550,"marks":144551,"value":127925,"nodeType":864},{},[],{"data":144553,"content":144554,"nodeType":883},{"uri":127928},[144555],{"data":144556,"marks":144557,"value":127934,"nodeType":864},{},[144558],{"type":1455},{"data":144560,"marks":144561,"value":21,"nodeType":864},{},[],{"data":144563,"content":144564,"nodeType":945},{},[144565],{"data":144566,"content":144567,"nodeType":860},{},[144568,144571,144578],{"data":144569,"marks":144570,"value":127947,"nodeType":864},{},[],{"data":144572,"content":144573,"nodeType":883},{"uri":127950},[144574],{"data":144575,"marks":144576,"value":127956,"nodeType":864},{},[144577],{"type":1455},{"data":144579,"marks":144580,"value":21,"nodeType":864},{},[],{"data":144582,"content":144583,"nodeType":860},{},[144584],{"data":144585,"marks":144586,"value":127966,"nodeType":864},{},[],{"data":144588,"content":144589,"nodeType":1312},{},[144590],{"data":144591,"marks":144592,"value":32492,"nodeType":864},{},[],{"data":144594,"content":144595,"nodeType":860},{},[144596],{"data":144597,"marks":144598,"value":127979,"nodeType":864},{},[],{"data":144600,"content":144601,"nodeType":860},{},[144602],{"data":144603,"marks":144604,"value":127986,"nodeType":864},{},[],{"data":144606,"content":144607,"nodeType":860},{},[144608],{"data":144609,"marks":144610,"value":127993,"nodeType":864},{},[],{"items":144612},[144613,144615],{"sys":144614,"name":6593},{"id":6592},{"sys":144616,"name":342},{"id":6596},{"items":144618},[144619],{"fullName":4949,"firstName":4950,"jobTitle":4951,"profilePicture":144620},{"url":4955},"phishing-slack-persistence","blog/phishing-slack-persistence",{"json":144624},{"data":144625,"content":144626,"nodeType":856},{},[144627,144634],{"data":144628,"content":144629,"nodeType":860},{},[144630],{"data":144631,"marks":144632,"value":144633,"nodeType":864},{},[],"In this post, we're going to demonstrate how an attacker who has gained a foothold by compromising a Slack user account can leverage that to maintain persistence and also conduct more advanced social engineering attacks to move laterally.",{"data":144635,"content":144636,"nodeType":860},{},[144637],{"data":144638,"marks":144639,"value":90277,"nodeType":864},{},[],"In this post, we're going to demonstrate how to phish via Slack to gain persistence and move laterally. ",{"id":142794,"publishedAt":144642},"2026-08-12T11:55:48.802Z",{"items":144644},[144645,144647],{"sys":144646,"name":6593},{"id":6592},{"sys":144648,"name":297},{"id":2732},{"items":144650},[144651,144653,144655,144657,144659,144661,144663,144665,144667,144669],{"sys":144652,"name":279,"slug":280,"tier":31},{"id":276},{"sys":144654,"name":545,"slug":546,"tier":31},{"id":542},{"sys":144656,"name":413,"slug":414,"tier":31},{"id":410},{"sys":144658,"name":519,"slug":520,"tier":31},{"id":516},{"sys":144660,"name":607,"slug":608,"tier":45},{"id":604},{"sys":144662,"name":484,"slug":485,"tier":45},{"id":481},{"sys":144664,"name":475,"slug":476,"tier":45},{"id":472},{"sys":144666,"name":404,"slug":405,"tier":45},{"id":401},{"sys":144668,"name":431,"slug":432,"tier":45},{"id":428},{"sys":144670,"name":324,"slug":325,"tier":45},{"id":321},"kajem1CwOlPFTsH1-GIjCT-0TxtKca6kdQ7FIo4TDHs",{"id":144673,"title":142579,"authorsCollection":144674,"content":144679,"extension":228,"faqItemsCollection":145460,"faqTitle":59,"featured":6,"hashTags":59,"meta":145462,"metaTitle":145463,"ogImage":59,"postType":5740,"publishedDate":142690,"relatedBlogPostsCollection":145464,"slug":142580,"stem":147390,"subtitle":59,"summary":147391,"synopsis":143433,"sys":147402,"tagsCollection":147404,"topicsCollection":147410,"__hash__":147426},"blog/blog/slack-phishing-for-initial-access.json",{"items":144675},[144676],{"fullName":4949,"firstName":4950,"jobTitle":4951,"socialLinks":144677,"profilePicture":144678},[4953],{"url":4955},{"json":144680,"links":145344},{"data":144681,"content":144682,"nodeType":856},{},[144683,144711,144717,144758,144764,144781,144787,144793,144799,144805,144811,144841,144847,144883,144889,144894,144900,144906,144912,144918,144924,144929,144935,144941,144947,144953,144958,144964,144970,144976,144982,144988,144993,144998,145004,145010,145030,145036,145042,145048,145054,145059,145064,145070,145075,145081,145087,145093,145098,145104,145110,145116,145122,145129,145139,145144,145150,145156,145161,145166,145172,145178,145184,145190,145196,145201,145207,145212,145218,145224,145230,145235,145241,145247,145286,145292,145298,145304,145310,145316,145333,145338],{"data":144684,"content":144685,"nodeType":860},{},[144686,144689,144696,144699,144708],{"data":144687,"marks":144688,"value":142705,"nodeType":864},{},[],{"data":144690,"content":144691,"nodeType":883},{"uri":6418},[144692],{"data":144693,"marks":144694,"value":5765,"nodeType":864},{},[144695],{"type":1455},{"data":144697,"marks":144698,"value":135414,"nodeType":864},{},[],{"data":144700,"content":144703,"nodeType":27604},{"target":144701},{"sys":144702},{"id":135378,"type":1001,"linkType":1002},[144704],{"data":144705,"marks":144706,"value":142725,"nodeType":864},{},[144707],{"type":1455},{"data":144709,"marks":144710,"value":21,"nodeType":864},{},[],{"data":144712,"content":144713,"nodeType":860},{},[144714],{"data":144715,"marks":144716,"value":142735,"nodeType":864},{},[],{"data":144718,"content":144719,"nodeType":941},{},[144720,144739],{"data":144721,"content":144722,"nodeType":945},{},[144723],{"data":144724,"content":144725,"nodeType":860},{},[144726,144729,144736],{"data":144727,"marks":144728,"value":21,"nodeType":864},{},[],{"data":144730,"content":144731,"nodeType":883},{"uri":96459},[144732],{"data":144733,"marks":144734,"value":141806,"nodeType":864},{},[144735],{"type":1455},{"data":144737,"marks":144738,"value":21,"nodeType":864},{},[],{"data":144740,"content":144741,"nodeType":945},{},[144742],{"data":144743,"content":144744,"nodeType":860},{},[144745,144748,144755],{"data":144746,"marks":144747,"value":21,"nodeType":864},{},[],{"data":144749,"content":144750,"nodeType":883},{"uri":101606},[144751],{"data":144752,"marks":144753,"value":141826,"nodeType":864},{},[144754],{"type":1455},{"data":144756,"marks":144757,"value":21,"nodeType":864},{},[],{"data":144759,"content":144760,"nodeType":860},{},[144761],{"data":144762,"marks":144763,"value":142783,"nodeType":864},{},[],{"data":144765,"content":144766,"nodeType":860},{},[144767,144770,144778],{"data":144768,"marks":144769,"value":141242,"nodeType":864},{},[],{"data":144771,"content":144774,"nodeType":27604},{"target":144772},{"sys":144773},{"id":142794,"type":1001,"linkType":1002},[144775],{"data":144776,"marks":144777,"value":142799,"nodeType":864},{},[],{"data":144779,"marks":144780,"value":142803,"nodeType":864},{},[],{"data":144782,"content":144783,"nodeType":1009},{},[144784],{"data":144785,"marks":144786,"value":141876,"nodeType":864},{},[],{"data":144788,"content":144789,"nodeType":860},{},[144790],{"data":144791,"marks":144792,"value":141905,"nodeType":864},{},[],{"data":144794,"content":144795,"nodeType":860},{},[144796],{"data":144797,"marks":144798,"value":141912,"nodeType":864},{},[],{"data":144800,"content":144801,"nodeType":860},{},[144802],{"data":144803,"marks":144804,"value":141919,"nodeType":864},{},[],{"data":144806,"content":144807,"nodeType":860},{},[144808],{"data":144809,"marks":144810,"value":141926,"nodeType":864},{},[],{"data":144812,"content":144813,"nodeType":941},{},[144814,144823,144832],{"data":144815,"content":144816,"nodeType":945},{},[144817],{"data":144818,"content":144819,"nodeType":860},{},[144820],{"data":144821,"marks":144822,"value":141939,"nodeType":864},{},[],{"data":144824,"content":144825,"nodeType":945},{},[144826],{"data":144827,"content":144828,"nodeType":860},{},[144829],{"data":144830,"marks":144831,"value":141949,"nodeType":864},{},[],{"data":144833,"content":144834,"nodeType":945},{},[144835],{"data":144836,"content":144837,"nodeType":860},{},[144838],{"data":144839,"marks":144840,"value":141959,"nodeType":864},{},[],{"data":144842,"content":144843,"nodeType":860},{},[144844],{"data":144845,"marks":144846,"value":141966,"nodeType":864},{},[],{"data":144848,"content":144849,"nodeType":860},{},[144850,144853,144860,144863,144870,144873,144880],{"data":144851,"marks":144852,"value":141973,"nodeType":864},{},[],{"data":144854,"content":144855,"nodeType":883},{"uri":141976},[144856],{"data":144857,"marks":144858,"value":141982,"nodeType":864},{},[144859],{"type":1455},{"data":144861,"marks":144862,"value":141986,"nodeType":864},{},[],{"data":144864,"content":144865,"nodeType":883},{"uri":141989},[144866],{"data":144867,"marks":144868,"value":141995,"nodeType":864},{},[144869],{"type":1455},{"data":144871,"marks":144872,"value":141999,"nodeType":864},{},[],{"data":144874,"content":144875,"nodeType":883},{"uri":142002},[144876],{"data":144877,"marks":144878,"value":142008,"nodeType":864},{},[144879],{"type":1455},{"data":144881,"marks":144882,"value":2924,"nodeType":864},{},[],{"data":144884,"content":144885,"nodeType":860},{},[144886],{"data":144887,"marks":144888,"value":142018,"nodeType":864},{},[],{"data":144890,"content":144893,"nodeType":996},{"target":144891},{"sys":144892},{"id":92011,"type":1001,"linkType":1002},[],{"data":144895,"content":144896,"nodeType":1009},{},[144897],{"data":144898,"marks":144899,"value":142923,"nodeType":864},{},[],{"data":144901,"content":144902,"nodeType":860},{},[144903],{"data":144904,"marks":144905,"value":142930,"nodeType":864},{},[],{"data":144907,"content":144908,"nodeType":860},{},[144909],{"data":144910,"marks":144911,"value":142937,"nodeType":864},{},[],{"data":144913,"content":144914,"nodeType":1312},{},[144915],{"data":144916,"marks":144917,"value":142944,"nodeType":864},{},[],{"data":144919,"content":144920,"nodeType":860},{},[144921],{"data":144922,"marks":144923,"value":142951,"nodeType":864},{},[],{"data":144925,"content":144928,"nodeType":996},{"target":144926},{"sys":144927},{"id":142956,"type":1001,"linkType":1002},[],{"data":144930,"content":144931,"nodeType":860},{},[144932],{"data":144933,"marks":144934,"value":142964,"nodeType":864},{},[],{"data":144936,"content":144937,"nodeType":860},{},[144938],{"data":144939,"marks":144940,"value":142971,"nodeType":864},{},[],{"data":144942,"content":144943,"nodeType":1312},{},[144944],{"data":144945,"marks":144946,"value":142978,"nodeType":864},{},[],{"data":144948,"content":144949,"nodeType":860},{},[144950],{"data":144951,"marks":144952,"value":142985,"nodeType":864},{},[],{"data":144954,"content":144957,"nodeType":996},{"target":144955},{"sys":144956},{"id":142990,"type":1001,"linkType":1002},[],{"data":144959,"content":144960,"nodeType":860},{},[144961],{"data":144962,"marks":144963,"value":142998,"nodeType":864},{},[],{"data":144965,"content":144966,"nodeType":1312},{},[144967],{"data":144968,"marks":144969,"value":143005,"nodeType":864},{},[],{"data":144971,"content":144972,"nodeType":860},{},[144973],{"data":144974,"marks":144975,"value":143012,"nodeType":864},{},[],{"data":144977,"content":144978,"nodeType":860},{},[144979],{"data":144980,"marks":144981,"value":143019,"nodeType":864},{},[],{"data":144983,"content":144984,"nodeType":860},{},[144985],{"data":144986,"marks":144987,"value":143026,"nodeType":864},{},[],{"data":144989,"content":144992,"nodeType":996},{"target":144990},{"sys":144991},{"id":143031,"type":1001,"linkType":1002},[],{"data":144994,"content":144997,"nodeType":996},{"target":144995},{"sys":144996},{"id":143037,"type":1001,"linkType":1002},[],{"data":144999,"content":145000,"nodeType":860},{},[145001],{"data":145002,"marks":145003,"value":143045,"nodeType":864},{},[],{"data":145005,"content":145006,"nodeType":1009},{},[145007],{"data":145008,"marks":145009,"value":143052,"nodeType":864},{},[],{"data":145011,"content":145012,"nodeType":860},{},[145013,145016,145020,145023,145027],{"data":145014,"marks":145015,"value":143059,"nodeType":864},{},[],{"data":145017,"marks":145018,"value":143064,"nodeType":864},{},[145019],{"type":1455},{"data":145021,"marks":145022,"value":143068,"nodeType":864},{},[],{"data":145024,"marks":145025,"value":143073,"nodeType":864},{},[145026],{"type":1455},{"data":145028,"marks":145029,"value":143077,"nodeType":864},{},[],{"data":145031,"content":145032,"nodeType":860},{},[145033],{"data":145034,"marks":145035,"value":143084,"nodeType":864},{},[],{"data":145037,"content":145038,"nodeType":1312},{},[145039],{"data":145040,"marks":145041,"value":143091,"nodeType":864},{},[],{"data":145043,"content":145044,"nodeType":860},{},[145045],{"data":145046,"marks":145047,"value":143098,"nodeType":864},{},[],{"data":145049,"content":145050,"nodeType":860},{},[145051],{"data":145052,"marks":145053,"value":143105,"nodeType":864},{},[],{"data":145055,"content":145058,"nodeType":996},{"target":145056},{"sys":145057},{"id":143110,"type":1001,"linkType":1002},[],{"data":145060,"content":145063,"nodeType":996},{"target":145061},{"sys":145062},{"id":143116,"type":1001,"linkType":1002},[],{"data":145065,"content":145066,"nodeType":860},{},[145067],{"data":145068,"marks":145069,"value":143124,"nodeType":864},{},[],{"data":145071,"content":145074,"nodeType":996},{"target":145072},{"sys":145073},{"id":143129,"type":1001,"linkType":1002},[],{"data":145076,"content":145077,"nodeType":1312},{},[145078],{"data":145079,"marks":145080,"value":143137,"nodeType":864},{},[],{"data":145082,"content":145083,"nodeType":860},{},[145084],{"data":145085,"marks":145086,"value":143144,"nodeType":864},{},[],{"data":145088,"content":145089,"nodeType":860},{},[145090],{"data":145091,"marks":145092,"value":143151,"nodeType":864},{},[],{"data":145094,"content":145097,"nodeType":996},{"target":145095},{"sys":145096},{"id":143156,"type":1001,"linkType":1002},[],{"data":145099,"content":145100,"nodeType":860},{},[145101],{"data":145102,"marks":145103,"value":143164,"nodeType":864},{},[],{"data":145105,"content":145106,"nodeType":860},{},[145107],{"data":145108,"marks":145109,"value":143171,"nodeType":864},{},[],{"data":145111,"content":145112,"nodeType":860},{},[145113],{"data":145114,"marks":145115,"value":143178,"nodeType":864},{},[],{"data":145117,"content":145118,"nodeType":860},{},[145119],{"data":145120,"marks":145121,"value":143185,"nodeType":864},{},[],{"data":145123,"content":145124,"nodeType":860},{},[145125],{"data":145126,"marks":145127,"value":143193,"nodeType":864},{},[145128],{"type":101020},{"data":145130,"content":145131,"nodeType":860},{},[145132,145135],{"data":145133,"marks":145134,"value":143200,"nodeType":864},{},[],{"data":145136,"marks":145137,"value":143205,"nodeType":864},{},[145138],{"type":899},{"data":145140,"content":145143,"nodeType":996},{"target":145141},{"sys":145142},{"id":143210,"type":1001,"linkType":1002},[],{"data":145145,"content":145146,"nodeType":860},{},[145147],{"data":145148,"marks":145149,"value":143218,"nodeType":864},{},[],{"data":145151,"content":145152,"nodeType":860},{},[145153],{"data":145154,"marks":145155,"value":143225,"nodeType":864},{},[],{"data":145157,"content":145160,"nodeType":996},{"target":145158},{"sys":145159},{"id":143230,"type":1001,"linkType":1002},[],{"data":145162,"content":145165,"nodeType":996},{"target":145163},{"sys":145164},{"id":143236,"type":1001,"linkType":1002},[],{"data":145167,"content":145168,"nodeType":860},{},[145169],{"data":145170,"marks":145171,"value":143244,"nodeType":864},{},[],{"data":145173,"content":145174,"nodeType":860},{},[145175],{"data":145176,"marks":145177,"value":143251,"nodeType":864},{},[],{"data":145179,"content":145180,"nodeType":1312},{},[145181],{"data":145182,"marks":145183,"value":143258,"nodeType":864},{},[],{"data":145185,"content":145186,"nodeType":860},{},[145187],{"data":145188,"marks":145189,"value":143265,"nodeType":864},{},[],{"data":145191,"content":145192,"nodeType":860},{},[145193],{"data":145194,"marks":145195,"value":143272,"nodeType":864},{},[],{"data":145197,"content":145200,"nodeType":996},{"target":145198},{"sys":145199},{"id":143277,"type":1001,"linkType":1002},[],{"data":145202,"content":145203,"nodeType":860},{},[145204],{"data":145205,"marks":145206,"value":143285,"nodeType":864},{},[],{"data":145208,"content":145211,"nodeType":996},{"target":145209},{"sys":145210},{"id":143290,"type":1001,"linkType":1002},[],{"data":145213,"content":145214,"nodeType":1312},{},[145215],{"data":145216,"marks":145217,"value":143298,"nodeType":864},{},[],{"data":145219,"content":145220,"nodeType":860},{},[145221],{"data":145222,"marks":145223,"value":143305,"nodeType":864},{},[],{"data":145225,"content":145226,"nodeType":860},{},[145227],{"data":145228,"marks":145229,"value":143312,"nodeType":864},{},[],{"data":145231,"content":145234,"nodeType":996},{"target":145232},{"sys":145233},{"id":143317,"type":1001,"linkType":1002},[],{"data":145236,"content":145237,"nodeType":1009},{},[145238],{"data":145239,"marks":145240,"value":110587,"nodeType":864},{},[],{"data":145242,"content":145243,"nodeType":860},{},[145244],{"data":145245,"marks":145246,"value":143331,"nodeType":864},{},[],{"data":145248,"content":145249,"nodeType":941},{},[145250,145259,145268,145277],{"data":145251,"content":145252,"nodeType":945},{},[145253],{"data":145254,"content":145255,"nodeType":860},{},[145256],{"data":145257,"marks":145258,"value":142442,"nodeType":864},{},[],{"data":145260,"content":145261,"nodeType":945},{},[145262],{"data":145263,"content":145264,"nodeType":860},{},[145265],{"data":145266,"marks":145267,"value":142452,"nodeType":864},{},[],{"data":145269,"content":145270,"nodeType":945},{},[145271],{"data":145272,"content":145273,"nodeType":860},{},[145274],{"data":145275,"marks":145276,"value":142462,"nodeType":864},{},[],{"data":145278,"content":145279,"nodeType":945},{},[145280],{"data":145281,"content":145282,"nodeType":860},{},[145283],{"data":145284,"marks":145285,"value":142472,"nodeType":864},{},[],{"data":145287,"content":145288,"nodeType":1009},{},[145289],{"data":145290,"marks":145291,"value":32492,"nodeType":864},{},[],{"data":145293,"content":145294,"nodeType":860},{},[145295],{"data":145296,"marks":145297,"value":142551,"nodeType":864},{},[],{"data":145299,"content":145300,"nodeType":860},{},[145301],{"data":145302,"marks":145303,"value":143389,"nodeType":864},{},[],{"data":145305,"content":145306,"nodeType":860},{},[145307],{"data":145308,"marks":145309,"value":143396,"nodeType":864},{},[],{"data":145311,"content":145312,"nodeType":860},{},[145313],{"data":145314,"marks":145315,"value":142572,"nodeType":864},{},[],{"data":145317,"content":145318,"nodeType":860},{},[145319,145322,145330],{"data":145320,"marks":145321,"value":143409,"nodeType":864},{},[],{"data":145323,"content":145326,"nodeType":27604},{"target":145324},{"sys":145325},{"id":142794,"type":1001,"linkType":1002},[145327],{"data":145328,"marks":145329,"value":142799,"nodeType":864},{},[],{"data":145331,"marks":145332,"value":143421,"nodeType":864},{},[],{"data":145334,"content":145337,"nodeType":996},{"target":145335},{"sys":145336},{"id":102281,"type":1001,"linkType":1002},[],{"data":145339,"content":145340,"nodeType":860},{},[145341],{"data":145342,"marks":145343,"value":21,"nodeType":864},{},[],{"entries":145345},{"inline":145346,"hyperlink":145347,"block":145352},[],[145348,145350],{"sys":145349,"__typename":2059,"title":136252,"slug":136254},{"id":135378},{"sys":145351,"__typename":2059,"title":141732,"slug":144621},{"id":142794},[145353,145355,145363,145371,145379,145386,145394,145401,145408,145416,145421,145428,145435,145443,145450,145458],{"sys":145354,"__typename":1717,"type":80540,"ctaText":125792,"buttonLabel":125793,"buttonColour":1721,"buttonUrl":59},{"id":92011},{"sys":145356,"__typename":1724,"title":145357,"caption":145358,"layoutMode":59,"file":145359},{"id":142956},"Slack phishing - new invite","Slack connect invite from an external tenant with an attacker chosen user name and organization name",{"url":145360,"width":145361,"height":145362},"https://images.ctfassets.net/y1cdw1ablpvd/32Q5YwPYPpnnwr05cFE9FZ/bf1537dc55dad812c2ef8bd56b1be0da/image5.png",792,211,{"sys":145364,"__typename":1724,"title":145365,"caption":145366,"layoutMode":59,"file":145367},{"id":142990},"Slack phishing - impersonating an employee","An external attacker (the Zuck with an F on the profile to show it's an external account) in a channel impersonating an internal user (the Zuck without an F to show it's an internal account)).",{"url":145368,"width":145369,"height":145370},"https://images.ctfassets.net/y1cdw1ablpvd/15wI2UepFxEhNu5Oniv2Jm/bc3719550be55300a1dc9865a2a5c94c/image13.png",1164,584,{"sys":145372,"__typename":1724,"title":145373,"caption":145374,"layoutMode":59,"file":145375},{"id":143031},"Slack phishing - spoofing","An initial message from an accepted Slack connect invite, from “Brian” at “SomeExternalMarketingAgency, LLC”",{"url":145376,"width":145377,"height":145378},"https://images.ctfassets.net/y1cdw1ablpvd/1PRhPZ9M8jiyICJV38EldP/c7bccda387c084cd0483ca9a051e1032/image12.png",1048,439,{"sys":145380,"__typename":1724,"title":145381,"caption":145382,"layoutMode":59,"file":145383},{"id":143037},"Slack phishing - social engineering","A social engineering message sent in future with a change in user identity - no new Slack connection is required",{"url":145384,"width":145385,"height":50185},"https://images.ctfassets.net/y1cdw1ablpvd/7D0CEOQmuomsw3uaq7EkNE/5cc635924e8d0ccb72340bbee7aadf78/image8.png",957,{"sys":145387,"__typename":1724,"title":145388,"caption":145389,"layoutMode":59,"file":145390},{"id":143110},"Slack phishing - link forging","Link forging shows the real domain on a hover-over",{"url":145391,"width":145392,"height":145393},"https://images.ctfassets.net/y1cdw1ablpvd/3ZVdrMekiWSULQXFTKcOc3/59d6066d06d3543e7eed79f5d1d4bd61/image2.png",856,140,{"sys":145395,"__typename":1724,"title":145396,"caption":145397,"layoutMode":59,"file":145398},{"id":143116},"Slack phishing - link forging warning","Link forging also presents a warning dialog to the user by default if they click the link",{"url":145399,"width":145400,"height":137397},"https://images.ctfassets.net/y1cdw1ablpvd/1jkGOiQxzDe2xNJCmB8zL3/8babcd4e9ae83bbd79843eaf17596db4/image1.png",1044,{"sys":145402,"__typename":1724,"title":145403,"caption":145404,"layoutMode":59,"file":145405},{"id":143129},"Slack phishing - link forging friendly text","A hover-over still shows the true URL with a friendly text link but no warning dialog is given",{"url":145406,"width":84508,"height":145407},"https://images.ctfassets.net/y1cdw1ablpvd/6pNYmKoOBAvj5Pu0qpB88f/f770190659c1f499d73fffa3fbfce4d3/image9.png",146,{"sys":145409,"__typename":1724,"title":145410,"caption":145411,"layoutMode":59,"file":145412},{"id":143156},"Slack phishing - link unfurling","Link unfurling resulting in a helpful link preview",{"url":145413,"width":145414,"height":145415},"https://images.ctfassets.net/y1cdw1ablpvd/428xUDjIeEE6rzCyJJWfpe/60b48bf9c36e2831585c1f5c86f97154/image11.png",1276,744,{"sys":145417,"__typename":53152,"name":145418,"type":145419,"syntax":145420},{"id":143210},"Slack phishing 1: Link preview spoofing code","python","from http.server import HTTPServer, SimpleHTTPRequestHandler\n\n\nclass MyHandler(SimpleHTTPRequestHandler):\n    def do_GET(self):\n        for header, val in self.headers.items():\n            if header == \"User-Agent\":\n                print(header, val)\n                if val.startswith(\"Slackbot-LinkExpanding\") or \"SkypeUriPreview\" in val or \"Google-PageRenderer\" in val:\n                    self.send_response(301)\n                    self.send_header('Location', 'https://docs.google.com/presentation/d/1JsjD2Ro9KaHmW2vILPKJ6-7ptW89pfsAReyzCxQdpq0/edit?usp=sharing')\n                    self.end_headers()\n                    return\n            print(header, val)\n        return super(MyHandler, self).do_GET()\n\n\nhttpd = HTTPServer(('localhost', 8000), MyHandler)\nhttpd.serve_forever()",{"sys":145422,"__typename":1724,"title":145423,"caption":145424,"layoutMode":59,"file":145425},{"id":143230},"Slack phishing - user and link preview spoofing","Phishing message making use of user spoofing and link preview spoofing to make the link seem legitimate, so the user won’t notice the true URL. A small period is used to hide the URL.",{"url":145426,"width":145427,"height":58060},"https://images.ctfassets.net/y1cdw1ablpvd/2yh3i1Htdy4iXfKfRgiPBj/aa455d9513a6047b187df60494e942d8/image4.png",1160,{"sys":145429,"__typename":1724,"title":145430,"caption":145431,"layoutMode":59,"file":145432},{"id":143236},"Slack phishing - fake phishing page","The fake Google phishing page the user is directed to when clicking the link, in this case hosted on a custom ngrok domain",{"url":145433,"width":145434,"height":36473},"https://images.ctfassets.net/y1cdw1ablpvd/7eN4laU7EvdAbi0mjyLNeK/f8ed7e4db0fe35ebb85ac7a6946c7f05/image6.png",1718,{"sys":145436,"__typename":1724,"title":145437,"caption":145438,"layoutMode":59,"file":145439},{"id":143277},"Slack phishing - link preview from external","Link previews from external messages do not show the image by default, but allow the user to override this",{"url":145440,"width":145441,"height":145442},"https://images.ctfassets.net/y1cdw1ablpvd/3OORVNatftPSxM4d5RUeCX/e88a707d86ac24db370ea7b54a5b5570/image7.png",613,239,{"sys":145444,"__typename":1724,"title":145445,"caption":145446,"layoutMode":145447,"file":145448},{"id":143290},"Slack phishing - technical diagram 1","A diagram to show the combination of external spoofing and link preview spoofing in action","Breaks margins",{"url":145449,"width":1736,"height":1737},"https://images.ctfassets.net/y1cdw1ablpvd/5F5m59YpByCrIMmm71sal/d6863a45244ebc9821589224d34a3962/image10.png",{"sys":145451,"__typename":1724,"title":145452,"caption":145453,"layoutMode":59,"file":145454},{"id":143317},"Slack phishing - link unfurling edited","An edited message to remove the malicious link and replace it with the same link used for spoofed link preview. ",{"url":145455,"width":145456,"height":145457},"https://images.ctfassets.net/y1cdw1ablpvd/2keEwuruFFUM8tT9AFqEvp/ee2b1d858ed766f5193317c4bb888e3c/image3.png",637,423,{"sys":145459,"__typename":1717,"type":47670,"ctaText":132414,"buttonLabel":132415,"buttonColour":66936,"buttonUrl":59},{"id":102281},{"items":145461},[],{},"Phishing through Slack for initial access",{"items":145465},[145466,146213,146984],{"__typename":2059,"sys":145467,"content":145468,"title":141732,"synopsis":144640,"hashTags":59,"publishedDate":142690,"slug":144621,"tagsCollection":146203,"authorsCollection":146209},{"id":142794},{"json":145469},{"data":145470,"content":145471,"nodeType":856},{},[145472,145488,145506,145512,145591,145597,145617,145623,145629,145635,145641,145671,145677,145713,145719,145724,145730,145748,145754,145760,145776,145794,145812,145818,145824,145830,145835,145841,145847,145853,145858,145863,145881,145887,145892,145897,145902,145908,145921,145926,145931,145937,145943,145949,145955,145961,145966,145972,145989,145994,146000,146005,146011,146016,146022,146028,146034,146040,146045,146051,146056,146062,146068,146074,146173,146179,146185,146191,146197],{"data":145473,"content":145474,"nodeType":860},{},[145475,145478,145485],{"data":145476,"marks":145477,"value":141748,"nodeType":864},{},[],{"data":145479,"content":145480,"nodeType":883},{"uri":6418},[145481],{"data":145482,"marks":145483,"value":5765,"nodeType":864},{},[145484],{"type":1455},{"data":145486,"marks":145487,"value":141759,"nodeType":864},{},[],{"data":145489,"content":145490,"nodeType":860},{},[145491,145494,145503],{"data":145492,"marks":145493,"value":2761,"nodeType":864},{},[],{"data":145495,"content":145498,"nodeType":27604},{"target":145496},{"sys":145497},{"id":112674,"type":1001,"linkType":1002},[145499],{"data":145500,"marks":145501,"value":141775,"nodeType":864},{},[145502],{"type":1455},{"data":145504,"marks":145505,"value":141779,"nodeType":864},{},[],{"data":145507,"content":145508,"nodeType":860},{},[145509],{"data":145510,"marks":145511,"value":141786,"nodeType":864},{},[],{"data":145513,"content":145514,"nodeType":941},{},[145515,145534,145553,145572],{"data":145516,"content":145517,"nodeType":945},{},[145518],{"data":145519,"content":145520,"nodeType":860},{},[145521,145524,145531],{"data":145522,"marks":145523,"value":21,"nodeType":864},{},[],{"data":145525,"content":145526,"nodeType":883},{"uri":96459},[145527],{"data":145528,"marks":145529,"value":141806,"nodeType":864},{},[145530],{"type":1455},{"data":145532,"marks":145533,"value":21,"nodeType":864},{},[],{"data":145535,"content":145536,"nodeType":945},{},[145537],{"data":145538,"content":145539,"nodeType":860},{},[145540,145543,145550],{"data":145541,"marks":145542,"value":21,"nodeType":864},{},[],{"data":145544,"content":145545,"nodeType":883},{"uri":101606},[145546],{"data":145547,"marks":145548,"value":141826,"nodeType":864},{},[145549],{"type":1455},{"data":145551,"marks":145552,"value":21,"nodeType":864},{},[],{"data":145554,"content":145555,"nodeType":945},{},[145556],{"data":145557,"content":145558,"nodeType":860},{},[145559,145562,145569],{"data":145560,"marks":145561,"value":21,"nodeType":864},{},[],{"data":145563,"content":145564,"nodeType":883},{"uri":141841},[145565],{"data":145566,"marks":145567,"value":141847,"nodeType":864},{},[145568],{"type":1455},{"data":145570,"marks":145571,"value":21,"nodeType":864},{},[],{"data":145573,"content":145574,"nodeType":945},{},[145575],{"data":145576,"content":145577,"nodeType":860},{},[145578,145581,145588],{"data":145579,"marks":145580,"value":21,"nodeType":864},{},[],{"data":145582,"content":145583,"nodeType":883},{"uri":61891},[145584],{"data":145585,"marks":145586,"value":111861,"nodeType":864},{},[145587],{"type":1455},{"data":145589,"marks":145590,"value":21,"nodeType":864},{},[],{"data":145592,"content":145593,"nodeType":1009},{},[145594],{"data":145595,"marks":145596,"value":141876,"nodeType":864},{},[],{"data":145598,"content":145599,"nodeType":860},{},[145600,145604,145613],{"data":145601,"marks":145602,"value":141884,"nodeType":864},{},[145603],{"type":2246},{"data":145605,"content":145608,"nodeType":27604},{"target":145606},{"sys":145607},{"id":112674,"type":1001,"linkType":1002},[145609],{"data":145610,"marks":145611,"value":141775,"nodeType":864},{},[145612],{"type":2246},{"data":145614,"marks":145615,"value":141898,"nodeType":864},{},[145616],{"type":2246},{"data":145618,"content":145619,"nodeType":860},{},[145620],{"data":145621,"marks":145622,"value":141905,"nodeType":864},{},[],{"data":145624,"content":145625,"nodeType":860},{},[145626],{"data":145627,"marks":145628,"value":141912,"nodeType":864},{},[],{"data":145630,"content":145631,"nodeType":860},{},[145632],{"data":145633,"marks":145634,"value":141919,"nodeType":864},{},[],{"data":145636,"content":145637,"nodeType":860},{},[145638],{"data":145639,"marks":145640,"value":141926,"nodeType":864},{},[],{"data":145642,"content":145643,"nodeType":941},{},[145644,145653,145662],{"data":145645,"content":145646,"nodeType":945},{},[145647],{"data":145648,"content":145649,"nodeType":860},{},[145650],{"data":145651,"marks":145652,"value":141939,"nodeType":864},{},[],{"data":145654,"content":145655,"nodeType":945},{},[145656],{"data":145657,"content":145658,"nodeType":860},{},[145659],{"data":145660,"marks":145661,"value":141949,"nodeType":864},{},[],{"data":145663,"content":145664,"nodeType":945},{},[145665],{"data":145666,"content":145667,"nodeType":860},{},[145668],{"data":145669,"marks":145670,"value":141959,"nodeType":864},{},[],{"data":145672,"content":145673,"nodeType":860},{},[145674],{"data":145675,"marks":145676,"value":141966,"nodeType":864},{},[],{"data":145678,"content":145679,"nodeType":860},{},[145680,145683,145690,145693,145700,145703,145710],{"data":145681,"marks":145682,"value":141973,"nodeType":864},{},[],{"data":145684,"content":145685,"nodeType":883},{"uri":141976},[145686],{"data":145687,"marks":145688,"value":141982,"nodeType":864},{},[145689],{"type":1455},{"data":145691,"marks":145692,"value":141986,"nodeType":864},{},[],{"data":145694,"content":145695,"nodeType":883},{"uri":141989},[145696],{"data":145697,"marks":145698,"value":141995,"nodeType":864},{},[145699],{"type":1455},{"data":145701,"marks":145702,"value":141999,"nodeType":864},{},[],{"data":145704,"content":145705,"nodeType":883},{"uri":142002},[145706],{"data":145707,"marks":145708,"value":142008,"nodeType":864},{},[145709],{"type":1455},{"data":145711,"marks":145712,"value":2924,"nodeType":864},{},[],{"data":145714,"content":145715,"nodeType":860},{},[145716],{"data":145717,"marks":145718,"value":142018,"nodeType":864},{},[],{"data":145720,"content":145723,"nodeType":996},{"target":145721},{"sys":145722},{"id":92011,"type":1001,"linkType":1002},[],{"data":145725,"content":145726,"nodeType":1009},{},[145727],{"data":145728,"marks":145729,"value":142030,"nodeType":864},{},[],{"data":145731,"content":145732,"nodeType":860},{},[145733,145736,145745],{"data":145734,"marks":145735,"value":141242,"nodeType":864},{},[],{"data":145737,"content":145740,"nodeType":27604},{"target":145738},{"sys":145739},{"id":112674,"type":1001,"linkType":1002},[145741],{"data":145742,"marks":145743,"value":141775,"nodeType":864},{},[145744],{"type":1455},{"data":145746,"marks":145747,"value":142049,"nodeType":864},{},[],{"data":145749,"content":145750,"nodeType":860},{},[145751],{"data":145752,"marks":145753,"value":142056,"nodeType":864},{},[],{"data":145755,"content":145756,"nodeType":860},{},[145757],{"data":145758,"marks":145759,"value":142063,"nodeType":864},{},[],{"data":145761,"content":145762,"nodeType":860},{},[145763,145766,145773],{"data":145764,"marks":145765,"value":142070,"nodeType":864},{},[],{"data":145767,"content":145768,"nodeType":883},{"uri":142073},[145769],{"data":145770,"marks":145771,"value":142079,"nodeType":864},{},[145772],{"type":1455},{"data":145774,"marks":145775,"value":142083,"nodeType":864},{},[],{"data":145777,"content":145778,"nodeType":860},{},[145779,145782,145791],{"data":145780,"marks":145781,"value":142090,"nodeType":864},{},[],{"data":145783,"content":145786,"nodeType":27604},{"target":145784},{"sys":145785},{"id":142095,"type":1001,"linkType":1002},[145787],{"data":145788,"marks":145789,"value":142101,"nodeType":864},{},[145790],{"type":1455},{"data":145792,"marks":145793,"value":142105,"nodeType":864},{},[],{"data":145795,"content":145796,"nodeType":860},{},[145797,145800,145809],{"data":145798,"marks":145799,"value":142112,"nodeType":864},{},[],{"data":145801,"content":145804,"nodeType":27604},{"target":145802},{"sys":145803},{"id":135378,"type":1001,"linkType":1002},[145805],{"data":145806,"marks":145807,"value":61897,"nodeType":864},{},[145808],{"type":1455},{"data":145810,"marks":145811,"value":142125,"nodeType":864},{},[],{"data":145813,"content":145814,"nodeType":1312},{},[145815],{"data":145816,"marks":145817,"value":142132,"nodeType":864},{},[],{"data":145819,"content":145820,"nodeType":860},{},[145821],{"data":145822,"marks":145823,"value":142139,"nodeType":864},{},[],{"data":145825,"content":145826,"nodeType":860},{},[145827],{"data":145828,"marks":145829,"value":142146,"nodeType":864},{},[],{"data":145831,"content":145834,"nodeType":996},{"target":145832},{"sys":145833},{"id":142151,"type":1001,"linkType":1002},[],{"data":145836,"content":145837,"nodeType":860},{},[145838],{"data":145839,"marks":145840,"value":142159,"nodeType":864},{},[],{"data":145842,"content":145843,"nodeType":860},{},[145844],{"data":145845,"marks":145846,"value":142166,"nodeType":864},{},[],{"data":145848,"content":145849,"nodeType":860},{},[145850],{"data":145851,"marks":145852,"value":142173,"nodeType":864},{},[],{"data":145854,"content":145857,"nodeType":996},{"target":145855},{"sys":145856},{"id":142178,"type":1001,"linkType":1002},[],{"data":145859,"content":145862,"nodeType":996},{"target":145860},{"sys":145861},{"id":142184,"type":1001,"linkType":1002},[],{"data":145864,"content":145865,"nodeType":860},{},[145866,145869,145878],{"data":145867,"marks":145868,"value":142192,"nodeType":864},{},[],{"data":145870,"content":145873,"nodeType":27604},{"target":145871},{"sys":145872},{"id":112674,"type":1001,"linkType":1002},[145874],{"data":145875,"marks":145876,"value":141775,"nodeType":864},{},[145877],{"type":1455},{"data":145879,"marks":145880,"value":142205,"nodeType":864},{},[],{"data":145882,"content":145883,"nodeType":860},{},[145884],{"data":145885,"marks":145886,"value":142212,"nodeType":864},{},[],{"data":145888,"content":145891,"nodeType":996},{"target":145889},{"sys":145890},{"id":142217,"type":1001,"linkType":1002},[],{"data":145893,"content":145896,"nodeType":996},{"target":145894},{"sys":145895},{"id":142223,"type":1001,"linkType":1002},[],{"data":145898,"content":145901,"nodeType":996},{"target":145899},{"sys":145900},{"id":142229,"type":1001,"linkType":1002},[],{"data":145903,"content":145904,"nodeType":860},{},[145905],{"data":145906,"marks":145907,"value":142237,"nodeType":864},{},[],{"data":145909,"content":145910,"nodeType":860},{},[145911,145914,145918],{"data":145912,"marks":145913,"value":142244,"nodeType":864},{},[],{"data":145915,"marks":145916,"value":142249,"nodeType":864},{},[145917],{"type":2246},{"data":145919,"marks":145920,"value":73563,"nodeType":864},{},[],{"data":145922,"content":145925,"nodeType":996},{"target":145923},{"sys":145924},{"id":142257,"type":1001,"linkType":1002},[],{"data":145927,"content":145930,"nodeType":996},{"target":145928},{"sys":145929},{"id":142263,"type":1001,"linkType":1002},[],{"data":145932,"content":145933,"nodeType":1312},{},[145934],{"data":145935,"marks":145936,"value":142271,"nodeType":864},{},[],{"data":145938,"content":145939,"nodeType":860},{},[145940],{"data":145941,"marks":145942,"value":142278,"nodeType":864},{},[],{"data":145944,"content":145945,"nodeType":860},{},[145946],{"data":145947,"marks":145948,"value":142285,"nodeType":864},{},[],{"data":145950,"content":145951,"nodeType":860},{},[145952],{"data":145953,"marks":145954,"value":142292,"nodeType":864},{},[],{"data":145956,"content":145957,"nodeType":860},{},[145958],{"data":145959,"marks":145960,"value":142299,"nodeType":864},{},[],{"data":145962,"content":145965,"nodeType":996},{"target":145963},{"sys":145964},{"id":142304,"type":1001,"linkType":1002},[],{"data":145967,"content":145968,"nodeType":860},{},[145969],{"data":145970,"marks":145971,"value":142312,"nodeType":864},{},[],{"data":145973,"content":145974,"nodeType":860},{},[145975,145978,145986],{"data":145976,"marks":145977,"value":142319,"nodeType":864},{},[],{"data":145979,"content":145982,"nodeType":27604},{"target":145980},{"sys":145981},{"id":112674,"type":1001,"linkType":1002},[145983],{"data":145984,"marks":145985,"value":141775,"nodeType":864},{},[],{"data":145987,"marks":145988,"value":142331,"nodeType":864},{},[],{"data":145990,"content":145993,"nodeType":996},{"target":145991},{"sys":145992},{"id":142336,"type":1001,"linkType":1002},[],{"data":145995,"content":145996,"nodeType":860},{},[145997],{"data":145998,"marks":145999,"value":142344,"nodeType":864},{},[],{"data":146001,"content":146004,"nodeType":996},{"target":146002},{"sys":146003},{"id":142349,"type":1001,"linkType":1002},[],{"data":146006,"content":146007,"nodeType":860},{},[146008],{"data":146009,"marks":146010,"value":142357,"nodeType":864},{},[],{"data":146012,"content":146015,"nodeType":996},{"target":146013},{"sys":146014},{"id":142362,"type":1001,"linkType":1002},[],{"data":146017,"content":146018,"nodeType":1312},{},[146019],{"data":146020,"marks":146021,"value":142370,"nodeType":864},{},[],{"data":146023,"content":146024,"nodeType":860},{},[146025],{"data":146026,"marks":146027,"value":142377,"nodeType":864},{},[],{"data":146029,"content":146030,"nodeType":860},{},[146031],{"data":146032,"marks":146033,"value":142384,"nodeType":864},{},[],{"data":146035,"content":146036,"nodeType":860},{},[146037],{"data":146038,"marks":146039,"value":142391,"nodeType":864},{},[],{"data":146041,"content":146044,"nodeType":996},{"target":146042},{"sys":146043},{"id":142396,"type":1001,"linkType":1002},[],{"data":146046,"content":146047,"nodeType":860},{},[146048],{"data":146049,"marks":146050,"value":142404,"nodeType":864},{},[],{"data":146052,"content":146055,"nodeType":996},{"target":146053},{"sys":146054},{"id":102281,"type":1001,"linkType":1002},[],{"data":146057,"content":146058,"nodeType":1009},{},[146059],{"data":146060,"marks":146061,"value":110587,"nodeType":864},{},[],{"data":146063,"content":146064,"nodeType":860},{},[146065],{"data":146066,"marks":146067,"value":142422,"nodeType":864},{},[],{"data":146069,"content":146070,"nodeType":860},{},[146071],{"data":146072,"marks":146073,"value":142429,"nodeType":864},{},[],{"data":146075,"content":146076,"nodeType":941},{},[146077,146086,146095,146104,146113,146143],{"data":146078,"content":146079,"nodeType":945},{},[146080],{"data":146081,"content":146082,"nodeType":860},{},[146083],{"data":146084,"marks":146085,"value":142442,"nodeType":864},{},[],{"data":146087,"content":146088,"nodeType":945},{},[146089],{"data":146090,"content":146091,"nodeType":860},{},[146092],{"data":146093,"marks":146094,"value":142452,"nodeType":864},{},[],{"data":146096,"content":146097,"nodeType":945},{},[146098],{"data":146099,"content":146100,"nodeType":860},{},[146101],{"data":146102,"marks":146103,"value":142462,"nodeType":864},{},[],{"data":146105,"content":146106,"nodeType":945},{},[146107],{"data":146108,"content":146109,"nodeType":860},{},[146110],{"data":146111,"marks":146112,"value":142472,"nodeType":864},{},[],{"data":146114,"content":146115,"nodeType":945},{},[146116,146122],{"data":146117,"content":146118,"nodeType":860},{},[146119],{"data":146120,"marks":146121,"value":142482,"nodeType":864},{},[],{"data":146123,"content":146124,"nodeType":941},{},[146125,146134],{"data":146126,"content":146127,"nodeType":945},{},[146128],{"data":146129,"content":146130,"nodeType":860},{},[146131],{"data":146132,"marks":146133,"value":142495,"nodeType":864},{},[],{"data":146135,"content":146136,"nodeType":945},{},[146137],{"data":146138,"content":146139,"nodeType":860},{},[146140],{"data":146141,"marks":146142,"value":142505,"nodeType":864},{},[],{"data":146144,"content":146145,"nodeType":945},{},[146146,146152],{"data":146147,"content":146148,"nodeType":860},{},[146149],{"data":146150,"marks":146151,"value":142515,"nodeType":864},{},[],{"data":146153,"content":146154,"nodeType":941},{},[146155,146164],{"data":146156,"content":146157,"nodeType":945},{},[146158],{"data":146159,"content":146160,"nodeType":860},{},[146161],{"data":146162,"marks":146163,"value":142528,"nodeType":864},{},[],{"data":146165,"content":146166,"nodeType":945},{},[146167],{"data":146168,"content":146169,"nodeType":860},{},[146170],{"data":146171,"marks":146172,"value":142538,"nodeType":864},{},[],{"data":146174,"content":146175,"nodeType":1009},{},[146176],{"data":146177,"marks":146178,"value":32492,"nodeType":864},{},[],{"data":146180,"content":146181,"nodeType":860},{},[146182],{"data":146183,"marks":146184,"value":142551,"nodeType":864},{},[],{"data":146186,"content":146187,"nodeType":860},{},[146188],{"data":146189,"marks":146190,"value":142558,"nodeType":864},{},[],{"data":146192,"content":146193,"nodeType":860},{},[146194],{"data":146195,"marks":146196,"value":142565,"nodeType":864},{},[],{"data":146198,"content":146199,"nodeType":860},{},[146200],{"data":146201,"marks":146202,"value":142572,"nodeType":864},{},[],{"items":146204},[146205,146207],{"sys":146206,"name":6593},{"id":6592},{"sys":146208,"name":297},{"id":2732},{"items":146210},[146211],{"fullName":4949,"firstName":4950,"jobTitle":4951,"profilePicture":146212},{"url":4955},{"__typename":2059,"sys":146214,"content":146215,"title":136252,"synopsis":135389,"hashTags":59,"publishedDate":136253,"slug":136254,"tagsCollection":146974,"authorsCollection":146980},{"id":135378},{"json":146216},{"data":146217,"content":146218,"nodeType":856},{},[146219,146225,146231,146259,146265,146271,146287,146293,146299,146305,146329,146335,146341,146354,146360,146366,146396,146402,146408,146414,146420,146426,146431,146437,146443,146449,146456,146462,146478,146484,146490,146496,146502,146508,146514,146520,146526,146532,146537,146543,146559,146565,146581,146586,146591,146596,146602,146608,146614,146619,146624,146630,146636,146642,146648,146654,146659,146675,146691,146697,146702,146707,146713,146719,146725,146731,146752,146757,146762,146768,146774,146780,146790,146795,146801,146806,146811,146817,146823,146829,146834,146839,146845,146851,146956,146962,146968],{"data":146220,"content":146221,"nodeType":860},{},[146222],{"data":146223,"marks":146224,"value":135389,"nodeType":864},{},[],{"data":146226,"content":146227,"nodeType":860},{},[146228],{"data":146229,"marks":146230,"value":135396,"nodeType":864},{},[],{"data":146232,"content":146233,"nodeType":860},{},[146234,146237,146244,146247,146256],{"data":146235,"marks":146236,"value":135403,"nodeType":864},{},[],{"data":146238,"content":146239,"nodeType":883},{"uri":6418},[146240],{"data":146241,"marks":146242,"value":5765,"nodeType":864},{},[146243],{"type":1455},{"data":146245,"marks":146246,"value":135414,"nodeType":864},{},[],{"data":146248,"content":146251,"nodeType":27604},{"target":146249},{"sys":146250},{"id":110390,"type":1001,"linkType":1002},[146252],{"data":146253,"marks":146254,"value":5236,"nodeType":864},{},[146255],{"type":1455},{"data":146257,"marks":146258,"value":12252,"nodeType":864},{},[],{"data":146260,"content":146261,"nodeType":860},{},[146262],{"data":146263,"marks":146264,"value":135433,"nodeType":864},{},[],{"data":146266,"content":146267,"nodeType":1009},{},[146268],{"data":146269,"marks":146270,"value":135440,"nodeType":864},{},[],{"data":146272,"content":146273,"nodeType":860},{},[146274,146277,146284],{"data":146275,"marks":146276,"value":72717,"nodeType":864},{},[],{"data":146278,"content":146279,"nodeType":883},{"uri":61891},[146280],{"data":146281,"marks":146282,"value":135454,"nodeType":864},{},[146283],{"type":1455},{"data":146285,"marks":146286,"value":135458,"nodeType":864},{},[],{"data":146288,"content":146289,"nodeType":860},{},[146290],{"data":146291,"marks":146292,"value":135465,"nodeType":864},{},[],{"data":146294,"content":146295,"nodeType":1009},{},[146296],{"data":146297,"marks":146298,"value":135472,"nodeType":864},{},[],{"data":146300,"content":146301,"nodeType":860},{},[146302],{"data":146303,"marks":146304,"value":135479,"nodeType":864},{},[],{"data":146306,"content":146307,"nodeType":860},{},[146308,146311,146318,146321,146326],{"data":146309,"marks":146310,"value":135486,"nodeType":864},{},[],{"data":146312,"content":146313,"nodeType":883},{"uri":101818},[146314],{"data":146315,"marks":146316,"value":101824,"nodeType":864},{},[146317],{"type":1455},{"data":146319,"marks":146320,"value":135497,"nodeType":864},{},[],{"data":146322,"marks":146323,"value":135503,"nodeType":864},{},[146324,146325],{"type":2246},{"type":899},{"data":146327,"marks":146328,"value":135507,"nodeType":864},{},[],{"data":146330,"content":146331,"nodeType":1009},{},[146332],{"data":146333,"marks":146334,"value":127630,"nodeType":864},{},[],{"data":146336,"content":146337,"nodeType":860},{},[146338],{"data":146339,"marks":146340,"value":135520,"nodeType":864},{},[],{"data":146342,"content":146343,"nodeType":860},{},[146344,146347,146351],{"data":146345,"marks":146346,"value":135527,"nodeType":864},{},[],{"data":146348,"marks":146349,"value":135532,"nodeType":864},{},[146350],{"type":1455},{"data":146352,"marks":146353,"value":135536,"nodeType":864},{},[],{"data":146355,"content":146356,"nodeType":860},{},[146357],{"data":146358,"marks":146359,"value":135543,"nodeType":864},{},[],{"data":146361,"content":146362,"nodeType":860},{},[146363],{"data":146364,"marks":146365,"value":135550,"nodeType":864},{},[],{"data":146367,"content":146368,"nodeType":118765},{},[146369,146378,146387],{"data":146370,"content":146371,"nodeType":945},{},[146372],{"data":146373,"content":146374,"nodeType":860},{},[146375],{"data":146376,"marks":146377,"value":135563,"nodeType":864},{},[],{"data":146379,"content":146380,"nodeType":945},{},[146381],{"data":146382,"content":146383,"nodeType":860},{},[146384],{"data":146385,"marks":146386,"value":135573,"nodeType":864},{},[],{"data":146388,"content":146389,"nodeType":945},{},[146390],{"data":146391,"content":146392,"nodeType":860},{},[146393],{"data":146394,"marks":146395,"value":135583,"nodeType":864},{},[],{"data":146397,"content":146398,"nodeType":1312},{},[146399],{"data":146400,"marks":146401,"value":135590,"nodeType":864},{},[],{"data":146403,"content":146404,"nodeType":860},{},[146405],{"data":146406,"marks":146407,"value":135597,"nodeType":864},{},[],{"data":146409,"content":146410,"nodeType":860},{},[146411],{"data":146412,"marks":146413,"value":135604,"nodeType":864},{},[],{"data":146415,"content":146416,"nodeType":860},{},[146417],{"data":146418,"marks":146419,"value":135611,"nodeType":864},{},[],{"data":146421,"content":146422,"nodeType":860},{},[146423],{"data":146424,"marks":146425,"value":135618,"nodeType":864},{},[],{"data":146427,"content":146430,"nodeType":996},{"target":146428},{"sys":146429},{"id":135623,"type":1001,"linkType":1002},[],{"data":146432,"content":146433,"nodeType":1312},{},[146434],{"data":146435,"marks":146436,"value":135631,"nodeType":864},{},[],{"data":146438,"content":146439,"nodeType":860},{},[146440],{"data":146441,"marks":146442,"value":135638,"nodeType":864},{},[],{"data":146444,"content":146445,"nodeType":860},{},[146446],{"data":146447,"marks":146448,"value":135645,"nodeType":864},{},[],{"data":146450,"content":146451,"nodeType":860},{},[146452],{"data":146453,"marks":146454,"value":135653,"nodeType":864},{},[146455],{"type":899},{"data":146457,"content":146458,"nodeType":1312},{},[146459],{"data":146460,"marks":146461,"value":135660,"nodeType":864},{},[],{"data":146463,"content":146464,"nodeType":860},{},[146465,146468,146475],{"data":146466,"marks":146467,"value":135667,"nodeType":864},{},[],{"data":146469,"content":146470,"nodeType":883},{"uri":135670},[146471],{"data":146472,"marks":146473,"value":135676,"nodeType":864},{},[146474],{"type":1455},{"data":146476,"marks":146477,"value":135680,"nodeType":864},{},[],{"data":146479,"content":146480,"nodeType":860},{},[146481],{"data":146482,"marks":146483,"value":135687,"nodeType":864},{},[],{"data":146485,"content":146486,"nodeType":860},{},[146487],{"data":146488,"marks":146489,"value":135694,"nodeType":864},{},[],{"data":146491,"content":146492,"nodeType":1009},{},[146493],{"data":146494,"marks":146495,"value":135701,"nodeType":864},{},[],{"data":146497,"content":146498,"nodeType":860},{},[146499],{"data":146500,"marks":146501,"value":135708,"nodeType":864},{},[],{"data":146503,"content":146504,"nodeType":860},{},[146505],{"data":146506,"marks":146507,"value":135715,"nodeType":864},{},[],{"data":146509,"content":146510,"nodeType":860},{},[146511],{"data":146512,"marks":146513,"value":135722,"nodeType":864},{},[],{"data":146515,"content":146516,"nodeType":860},{},[146517],{"data":146518,"marks":146519,"value":135729,"nodeType":864},{},[],{"data":146521,"content":146522,"nodeType":860},{},[146523],{"data":146524,"marks":146525,"value":135736,"nodeType":864},{},[],{"data":146527,"content":146528,"nodeType":860},{},[146529],{"data":146530,"marks":146531,"value":135743,"nodeType":864},{},[],{"data":146533,"content":146536,"nodeType":996},{"target":146534},{"sys":146535},{"id":135748,"type":1001,"linkType":1002},[],{"data":146538,"content":146539,"nodeType":1009},{},[146540],{"data":146541,"marks":146542,"value":135756,"nodeType":864},{},[],{"data":146544,"content":146545,"nodeType":860},{},[146546,146549,146556],{"data":146547,"marks":146548,"value":135763,"nodeType":864},{},[],{"data":146550,"content":146551,"nodeType":883},{"uri":96530},[146552],{"data":146553,"marks":146554,"value":135771,"nodeType":864},{},[146555],{"type":1455},{"data":146557,"marks":146558,"value":135775,"nodeType":864},{},[],{"data":146560,"content":146561,"nodeType":1312},{},[146562],{"data":146563,"marks":146564,"value":135782,"nodeType":864},{},[],{"data":146566,"content":146567,"nodeType":860},{},[146568,146571,146578],{"data":146569,"marks":146570,"value":135789,"nodeType":864},{},[],{"data":146572,"content":146573,"nodeType":883},{"uri":135792},[146574],{"data":146575,"marks":146576,"value":135792,"nodeType":864},{},[146577],{"type":1455},{"data":146579,"marks":146580,"value":135801,"nodeType":864},{},[],{"data":146582,"content":146585,"nodeType":996},{"target":146583},{"sys":146584},{"id":135806,"type":1001,"linkType":1002},[],{"data":146587,"content":146590,"nodeType":996},{"target":146588},{"sys":146589},{"id":135812,"type":1001,"linkType":1002},[],{"data":146592,"content":146595,"nodeType":996},{"target":146593},{"sys":146594},{"id":135818,"type":1001,"linkType":1002},[],{"data":146597,"content":146598,"nodeType":1312},{},[146599],{"data":146600,"marks":146601,"value":135826,"nodeType":864},{},[],{"data":146603,"content":146604,"nodeType":860},{},[146605],{"data":146606,"marks":146607,"value":135833,"nodeType":864},{},[],{"data":146609,"content":146610,"nodeType":860},{},[146611],{"data":146612,"marks":146613,"value":135840,"nodeType":864},{},[],{"data":146615,"content":146618,"nodeType":996},{"target":146616},{"sys":146617},{"id":135845,"type":1001,"linkType":1002},[],{"data":146620,"content":146623,"nodeType":996},{"target":146621},{"sys":146622},{"id":135851,"type":1001,"linkType":1002},[],{"data":146625,"content":146626,"nodeType":1009},{},[146627],{"data":146628,"marks":146629,"value":135859,"nodeType":864},{},[],{"data":146631,"content":146632,"nodeType":860},{},[146633],{"data":146634,"marks":146635,"value":135866,"nodeType":864},{},[],{"data":146637,"content":146638,"nodeType":860},{},[146639],{"data":146640,"marks":146641,"value":135873,"nodeType":864},{},[],{"data":146643,"content":146644,"nodeType":1312},{},[146645],{"data":146646,"marks":146647,"value":135880,"nodeType":864},{},[],{"data":146649,"content":146650,"nodeType":860},{},[146651],{"data":146652,"marks":146653,"value":135887,"nodeType":864},{},[],{"data":146655,"content":146658,"nodeType":996},{"target":146656},{"sys":146657},{"id":135892,"type":1001,"linkType":1002},[],{"data":146660,"content":146661,"nodeType":860},{},[146662,146665,146672],{"data":146663,"marks":146664,"value":135900,"nodeType":864},{},[],{"data":146666,"content":146667,"nodeType":883},{"uri":127950},[146668],{"data":146669,"marks":146670,"value":127956,"nodeType":864},{},[146671],{"type":1455},{"data":146673,"marks":146674,"value":135911,"nodeType":864},{},[],{"data":146676,"content":146677,"nodeType":860},{},[146678,146681,146688],{"data":146679,"marks":146680,"value":135918,"nodeType":864},{},[],{"data":146682,"content":146683,"nodeType":883},{"uri":96606},[146684],{"data":146685,"marks":146686,"value":135926,"nodeType":864},{},[146687],{"type":1455},{"data":146689,"marks":146690,"value":135930,"nodeType":864},{},[],{"data":146692,"content":146693,"nodeType":860},{},[146694],{"data":146695,"marks":146696,"value":135937,"nodeType":864},{},[],{"data":146698,"content":146701,"nodeType":996},{"target":146699},{"sys":146700},{"id":135942,"type":1001,"linkType":1002},[],{"data":146703,"content":146706,"nodeType":996},{"target":146704},{"sys":146705},{"id":135948,"type":1001,"linkType":1002},[],{"data":146708,"content":146709,"nodeType":860},{},[146710],{"data":146711,"marks":146712,"value":135956,"nodeType":864},{},[],{"data":146714,"content":146715,"nodeType":1312},{},[146716],{"data":146717,"marks":146718,"value":135963,"nodeType":864},{},[],{"data":146720,"content":146721,"nodeType":860},{},[146722],{"data":146723,"marks":146724,"value":135970,"nodeType":864},{},[],{"data":146726,"content":146727,"nodeType":860},{},[146728],{"data":146729,"marks":146730,"value":135977,"nodeType":864},{},[],{"data":146732,"content":146733,"nodeType":941},{},[146734,146743],{"data":146735,"content":146736,"nodeType":945},{},[146737],{"data":146738,"content":146739,"nodeType":860},{},[146740],{"data":146741,"marks":146742,"value":135990,"nodeType":864},{},[],{"data":146744,"content":146745,"nodeType":945},{},[146746],{"data":146747,"content":146748,"nodeType":860},{},[146749],{"data":146750,"marks":146751,"value":136000,"nodeType":864},{},[],{"data":146753,"content":146756,"nodeType":996},{"target":146754},{"sys":146755},{"id":136005,"type":1001,"linkType":1002},[],{"data":146758,"content":146761,"nodeType":996},{"target":146759},{"sys":146760},{"id":136011,"type":1001,"linkType":1002},[],{"data":146763,"content":146764,"nodeType":860},{},[146765],{"data":146766,"marks":146767,"value":136019,"nodeType":864},{},[],{"data":146769,"content":146770,"nodeType":860},{},[146771],{"data":146772,"marks":146773,"value":136026,"nodeType":864},{},[],{"data":146775,"content":146776,"nodeType":860},{},[146777],{"data":146778,"marks":146779,"value":136033,"nodeType":864},{},[],{"data":146781,"content":146782,"nodeType":860},{},[146783,146786],{"data":146784,"marks":146785,"value":136040,"nodeType":864},{},[],{"data":146787,"marks":146788,"value":8618,"nodeType":864},{},[146789],{"type":2246},{"data":146791,"content":146794,"nodeType":996},{"target":146792},{"sys":146793},{"id":136049,"type":1001,"linkType":1002},[],{"data":146796,"content":146797,"nodeType":860},{},[146798],{"data":146799,"marks":146800,"value":136057,"nodeType":864},{},[],{"data":146802,"content":146805,"nodeType":996},{"target":146803},{"sys":146804},{"id":136062,"type":1001,"linkType":1002},[],{"data":146807,"content":146810,"nodeType":996},{"target":146808},{"sys":146809},{"id":136068,"type":1001,"linkType":1002},[],{"data":146812,"content":146813,"nodeType":860},{},[146814],{"data":146815,"marks":146816,"value":136076,"nodeType":864},{},[],{"data":146818,"content":146819,"nodeType":1009},{},[146820],{"data":146821,"marks":146822,"value":136083,"nodeType":864},{},[],{"data":146824,"content":146825,"nodeType":860},{},[146826],{"data":146827,"marks":146828,"value":136090,"nodeType":864},{},[],{"data":146830,"content":146833,"nodeType":996},{"target":146831},{"sys":146832},{"id":136095,"type":1001,"linkType":1002},[],{"data":146835,"content":146838,"nodeType":996},{"target":146836},{"sys":146837},{"id":136101,"type":1001,"linkType":1002},[],{"data":146840,"content":146841,"nodeType":1009},{},[146842],{"data":146843,"marks":146844,"value":110587,"nodeType":864},{},[],{"data":146846,"content":146847,"nodeType":860},{},[146848],{"data":146849,"marks":146850,"value":136115,"nodeType":864},{},[],{"data":146852,"content":146853,"nodeType":941},{},[146854,146863,146872,146881,146890,146938,146947],{"data":146855,"content":146856,"nodeType":945},{},[146857],{"data":146858,"content":146859,"nodeType":860},{},[146860],{"data":146861,"marks":146862,"value":136128,"nodeType":864},{},[],{"data":146864,"content":146865,"nodeType":945},{},[146866],{"data":146867,"content":146868,"nodeType":860},{},[146869],{"data":146870,"marks":146871,"value":136138,"nodeType":864},{},[],{"data":146873,"content":146874,"nodeType":945},{},[146875],{"data":146876,"content":146877,"nodeType":860},{},[146878],{"data":146879,"marks":146880,"value":136148,"nodeType":864},{},[],{"data":146882,"content":146883,"nodeType":945},{},[146884],{"data":146885,"content":146886,"nodeType":860},{},[146887],{"data":146888,"marks":146889,"value":136158,"nodeType":864},{},[],{"data":146891,"content":146892,"nodeType":945},{},[146893,146899],{"data":146894,"content":146895,"nodeType":860},{},[146896],{"data":146897,"marks":146898,"value":136168,"nodeType":864},{},[],{"data":146900,"content":146901,"nodeType":941},{},[146902,146911,146920,146929],{"data":146903,"content":146904,"nodeType":945},{},[146905],{"data":146906,"content":146907,"nodeType":860},{},[146908],{"data":146909,"marks":146910,"value":136181,"nodeType":864},{},[],{"data":146912,"content":146913,"nodeType":945},{},[146914],{"data":146915,"content":146916,"nodeType":860},{},[146917],{"data":146918,"marks":146919,"value":136191,"nodeType":864},{},[],{"data":146921,"content":146922,"nodeType":945},{},[146923],{"data":146924,"content":146925,"nodeType":860},{},[146926],{"data":146927,"marks":146928,"value":136201,"nodeType":864},{},[],{"data":146930,"content":146931,"nodeType":945},{},[146932],{"data":146933,"content":146934,"nodeType":860},{},[146935],{"data":146936,"marks":146937,"value":136211,"nodeType":864},{},[],{"data":146939,"content":146940,"nodeType":945},{},[146941],{"data":146942,"content":146943,"nodeType":860},{},[146944],{"data":146945,"marks":146946,"value":136221,"nodeType":864},{},[],{"data":146948,"content":146949,"nodeType":945},{},[146950],{"data":146951,"content":146952,"nodeType":860},{},[146953],{"data":146954,"marks":146955,"value":136231,"nodeType":864},{},[],{"data":146957,"content":146958,"nodeType":1009},{},[146959],{"data":146960,"marks":146961,"value":32492,"nodeType":864},{},[],{"data":146963,"content":146964,"nodeType":860},{},[146965],{"data":146966,"marks":146967,"value":136244,"nodeType":864},{},[],{"data":146969,"content":146970,"nodeType":860},{},[146971],{"data":146972,"marks":146973,"value":136251,"nodeType":864},{},[],{"items":146975},[146976,146978],{"sys":146977,"name":6593},{"id":6592},{"sys":146979,"name":342},{"id":6596},{"items":146981},[146982],{"fullName":4949,"firstName":4950,"jobTitle":4951,"profilePicture":146983},{"url":4955},{"__typename":2059,"sys":146985,"content":146986,"title":5236,"synopsis":127994,"hashTags":59,"publishedDate":127995,"slug":127996,"tagsCollection":147380,"authorsCollection":147386},{"id":110390},{"json":146987},{"data":146988,"content":146989,"nodeType":856},{},[146990,147006,147012,147018,147024,147040,147046,147062,147068,147074,147080,147086,147092,147098,147104,147120,147126,147132,147137,147143,147149,147155,147160,147165,147170,147176,147182,147187,147193,147199,147205,147210,147216,147222,147228,147234,147240,147245,147251,147257,147262,147268,147274,147279,147285,147291,147350,147356,147362,147368,147374],{"data":146991,"content":146992,"nodeType":860},{},[146993,146996,147003],{"data":146994,"marks":146995,"value":127552,"nodeType":864},{},[],{"data":146997,"content":146998,"nodeType":883},{"uri":6418},[146999],{"data":147000,"marks":147001,"value":5765,"nodeType":864},{},[147002],{"type":1455},{"data":147004,"marks":147005,"value":127563,"nodeType":864},{},[],{"data":147007,"content":147008,"nodeType":860},{},[147009],{"data":147010,"marks":147011,"value":127570,"nodeType":864},{},[],{"data":147013,"content":147014,"nodeType":860},{},[147015],{"data":147016,"marks":147017,"value":127577,"nodeType":864},{},[],{"data":147019,"content":147020,"nodeType":1009},{},[147021],{"data":147022,"marks":147023,"value":110106,"nodeType":864},{},[],{"data":147025,"content":147026,"nodeType":860},{},[147027,147030,147037],{"data":147028,"marks":147029,"value":21,"nodeType":864},{},[],{"data":147031,"content":147032,"nodeType":883},{"uri":101692},[147033],{"data":147034,"marks":147035,"value":110119,"nodeType":864},{},[147036],{"type":1455},{"data":147038,"marks":147039,"value":110123,"nodeType":864},{},[],{"data":147041,"content":147042,"nodeType":1009},{},[147043],{"data":147044,"marks":147045,"value":127606,"nodeType":864},{},[],{"data":147047,"content":147048,"nodeType":860},{},[147049,147052,147059],{"data":147050,"marks":147051,"value":21,"nodeType":864},{},[],{"data":147053,"content":147054,"nodeType":883},{"uri":88494},[147055],{"data":147056,"marks":147057,"value":5272,"nodeType":864},{},[147058],{"type":1455},{"data":147060,"marks":147061,"value":127623,"nodeType":864},{},[],{"data":147063,"content":147064,"nodeType":1009},{},[147065],{"data":147066,"marks":147067,"value":127630,"nodeType":864},{},[],{"data":147069,"content":147070,"nodeType":860},{},[147071],{"data":147072,"marks":147073,"value":127637,"nodeType":864},{},[],{"data":147075,"content":147076,"nodeType":860},{},[147077],{"data":147078,"marks":147079,"value":127644,"nodeType":864},{},[],{"data":147081,"content":147082,"nodeType":860},{},[147083],{"data":147084,"marks":147085,"value":127651,"nodeType":864},{},[],{"data":147087,"content":147088,"nodeType":860},{},[147089],{"data":147090,"marks":147091,"value":127658,"nodeType":864},{},[],{"data":147093,"content":147094,"nodeType":860},{},[147095],{"data":147096,"marks":147097,"value":127665,"nodeType":864},{},[],{"data":147099,"content":147100,"nodeType":1009},{},[147101],{"data":147102,"marks":147103,"value":127672,"nodeType":864},{},[],{"data":147105,"content":147106,"nodeType":860},{},[147107,147110,147117],{"data":147108,"marks":147109,"value":127679,"nodeType":864},{},[],{"data":147111,"content":147112,"nodeType":883},{"uri":127682},[147113],{"data":147114,"marks":147115,"value":127688,"nodeType":864},{},[147116],{"type":1455},{"data":147118,"marks":147119,"value":127692,"nodeType":864},{},[],{"data":147121,"content":147122,"nodeType":860},{},[147123],{"data":147124,"marks":147125,"value":127699,"nodeType":864},{},[],{"data":147127,"content":147128,"nodeType":860},{},[147129],{"data":147130,"marks":147131,"value":127706,"nodeType":864},{},[],{"data":147133,"content":147136,"nodeType":996},{"target":147134},{"sys":147135},{"id":127711,"type":1001,"linkType":1002},[],{"data":147138,"content":147139,"nodeType":860},{},[147140],{"data":147141,"marks":147142,"value":127719,"nodeType":864},{},[],{"data":147144,"content":147145,"nodeType":1312},{},[147146],{"data":147147,"marks":147148,"value":127726,"nodeType":864},{},[],{"data":147150,"content":147151,"nodeType":860},{},[147152],{"data":147153,"marks":147154,"value":127733,"nodeType":864},{},[],{"data":147156,"content":147159,"nodeType":996},{"target":147157},{"sys":147158},{"id":127738,"type":1001,"linkType":1002},[],{"data":147161,"content":147164,"nodeType":996},{"target":147162},{"sys":147163},{"id":127744,"type":1001,"linkType":1002},[],{"data":147166,"content":147169,"nodeType":996},{"target":147167},{"sys":147168},{"id":127750,"type":1001,"linkType":1002},[],{"data":147171,"content":147172,"nodeType":1312},{},[147173],{"data":147174,"marks":147175,"value":127758,"nodeType":864},{},[],{"data":147177,"content":147178,"nodeType":860},{},[147179],{"data":147180,"marks":147181,"value":127765,"nodeType":864},{},[],{"data":147183,"content":147186,"nodeType":996},{"target":147184},{"sys":147185},{"id":127770,"type":1001,"linkType":1002},[],{"data":147188,"content":147189,"nodeType":1312},{},[147190],{"data":147191,"marks":147192,"value":127778,"nodeType":864},{},[],{"data":147194,"content":147195,"nodeType":860},{},[147196],{"data":147197,"marks":147198,"value":127785,"nodeType":864},{},[],{"data":147200,"content":147201,"nodeType":860},{},[147202],{"data":147203,"marks":147204,"value":127792,"nodeType":864},{},[],{"data":147206,"content":147209,"nodeType":996},{"target":147207},{"sys":147208},{"id":127797,"type":1001,"linkType":1002},[],{"data":147211,"content":147212,"nodeType":860},{},[147213],{"data":147214,"marks":147215,"value":127805,"nodeType":864},{},[],{"data":147217,"content":147218,"nodeType":1009},{},[147219],{"data":147220,"marks":147221,"value":127812,"nodeType":864},{},[],{"data":147223,"content":147224,"nodeType":1312},{},[147225],{"data":147226,"marks":147227,"value":127819,"nodeType":864},{},[],{"data":147229,"content":147230,"nodeType":860},{},[147231],{"data":147232,"marks":147233,"value":127826,"nodeType":864},{},[],{"data":147235,"content":147236,"nodeType":860},{},[147237],{"data":147238,"marks":147239,"value":127833,"nodeType":864},{},[],{"data":147241,"content":147244,"nodeType":996},{"target":147242},{"sys":147243},{"id":127838,"type":1001,"linkType":1002},[],{"data":147246,"content":147247,"nodeType":1312},{},[147248],{"data":147249,"marks":147250,"value":127846,"nodeType":864},{},[],{"data":147252,"content":147253,"nodeType":860},{},[147254],{"data":147255,"marks":147256,"value":127853,"nodeType":864},{},[],{"data":147258,"content":147261,"nodeType":996},{"target":147259},{"sys":147260},{"id":127858,"type":1001,"linkType":1002},[],{"data":147263,"content":147264,"nodeType":860},{},[147265],{"data":147266,"marks":147267,"value":127866,"nodeType":864},{},[],{"data":147269,"content":147270,"nodeType":860},{},[147271],{"data":147272,"marks":147273,"value":127873,"nodeType":864},{},[],{"data":147275,"content":147278,"nodeType":996},{"target":147276},{"sys":147277},{"id":127878,"type":1001,"linkType":1002},[],{"data":147280,"content":147281,"nodeType":1009},{},[147282],{"data":147283,"marks":147284,"value":110587,"nodeType":864},{},[],{"data":147286,"content":147287,"nodeType":860},{},[147288],{"data":147289,"marks":147290,"value":127892,"nodeType":864},{},[],{"data":147292,"content":147293,"nodeType":941},{},[147294,147303,147312,147331],{"data":147295,"content":147296,"nodeType":945},{},[147297],{"data":147298,"content":147299,"nodeType":860},{},[147300],{"data":147301,"marks":147302,"value":127905,"nodeType":864},{},[],{"data":147304,"content":147305,"nodeType":945},{},[147306],{"data":147307,"content":147308,"nodeType":860},{},[147309],{"data":147310,"marks":147311,"value":127915,"nodeType":864},{},[],{"data":147313,"content":147314,"nodeType":945},{},[147315],{"data":147316,"content":147317,"nodeType":860},{},[147318,147321,147328],{"data":147319,"marks":147320,"value":127925,"nodeType":864},{},[],{"data":147322,"content":147323,"nodeType":883},{"uri":127928},[147324],{"data":147325,"marks":147326,"value":127934,"nodeType":864},{},[147327],{"type":1455},{"data":147329,"marks":147330,"value":21,"nodeType":864},{},[],{"data":147332,"content":147333,"nodeType":945},{},[147334],{"data":147335,"content":147336,"nodeType":860},{},[147337,147340,147347],{"data":147338,"marks":147339,"value":127947,"nodeType":864},{},[],{"data":147341,"content":147342,"nodeType":883},{"uri":127950},[147343],{"data":147344,"marks":147345,"value":127956,"nodeType":864},{},[147346],{"type":1455},{"data":147348,"marks":147349,"value":21,"nodeType":864},{},[],{"data":147351,"content":147352,"nodeType":860},{},[147353],{"data":147354,"marks":147355,"value":127966,"nodeType":864},{},[],{"data":147357,"content":147358,"nodeType":1312},{},[147359],{"data":147360,"marks":147361,"value":32492,"nodeType":864},{},[],{"data":147363,"content":147364,"nodeType":860},{},[147365],{"data":147366,"marks":147367,"value":127979,"nodeType":864},{},[],{"data":147369,"content":147370,"nodeType":860},{},[147371],{"data":147372,"marks":147373,"value":127986,"nodeType":864},{},[],{"data":147375,"content":147376,"nodeType":860},{},[147377],{"data":147378,"marks":147379,"value":127993,"nodeType":864},{},[],{"items":147381},[147382,147384],{"sys":147383,"name":6593},{"id":6592},{"sys":147385,"name":342},{"id":6596},{"items":147387},[147388],{"fullName":4949,"firstName":4950,"jobTitle":4951,"profilePicture":147389},{"url":4955},"blog/slack-phishing-for-initial-access",{"json":147392},{"data":147393,"content":147394,"nodeType":856},{},[147395],{"data":147396,"content":147397,"nodeType":860},{},[147398],{"data":147399,"marks":147400,"value":147401,"nodeType":864},{},[],"Our latest post in the SaaS attacks matrix series is focused on external phishing via Slack. Unlike email, IM apps and the messages within them are typically more trusted by employees, making social engineering via Slack a juicy target.",{"id":112674,"publishedAt":147403},"2026-08-12T11:55:50.975Z",{"items":147405},[147406,147408],{"sys":147407,"name":6593},{"id":6592},{"sys":147409,"name":297},{"id":2732},{"items":147411},[147412,147414,147416,147418,147420,147422,147424],{"sys":147413,"name":279,"slug":280,"tier":31},{"id":276},{"sys":147415,"name":519,"slug":520,"tier":31},{"id":516},{"sys":147417,"name":545,"slug":546,"tier":31},{"id":542},{"sys":147419,"name":413,"slug":414,"tier":31},{"id":410},{"sys":147421,"name":607,"slug":608,"tier":45},{"id":604},{"sys":147423,"name":475,"slug":476,"tier":45},{"id":472},{"sys":147425,"name":324,"slug":325,"tier":45},{"id":321},"eaANNc4hv7foOVyUw08GgNuVDlyyNlIZC3BZfFEMSTI",{"id":147428,"title":141144,"authorsCollection":147429,"content":147433,"extension":228,"faqItemsCollection":147819,"faqTitle":59,"featured":6,"hashTags":59,"meta":147821,"metaTitle":147822,"ogImage":59,"postType":55451,"publishedDate":141146,"relatedBlogPostsCollection":147823,"slug":141147,"stem":150055,"subtitle":59,"summary":150056,"synopsis":141145,"sys":150077,"tagsCollection":150079,"topicsCollection":150085,"__hash__":150105},"blog/blog/manage-third-party-data-access.json",{"items":147430},[147431],{"fullName":140213,"firstName":140214,"jobTitle":140215,"socialLinks":59,"profilePicture":147432},{"url":140217},{"json":147434,"links":147771},{"data":147435,"content":147436,"nodeType":856},{},[147437,147443,147449,147455,147461,147468,147474,147480,147486,147491,147497,147503,147509,147515,147520,147526,147532,147537,147543,147549,147555,147564,147570,147585,147633,147638,147644,147650,147655,147661,147667,147683,147688,147694,147715,147721,147726,147733,147739,147744,147754,147760,147765],{"data":147438,"content":147439,"nodeType":1009},{},[147440],{"data":147441,"marks":147442,"value":126377,"nodeType":864},{},[],{"data":147444,"content":147445,"nodeType":860},{},[147446],{"data":147447,"marks":147448,"value":140783,"nodeType":864},{},[],{"data":147450,"content":147451,"nodeType":860},{},[147452],{"data":147453,"marks":147454,"value":140790,"nodeType":864},{},[],{"data":147456,"content":147457,"nodeType":860},{},[147458],{"data":147459,"marks":147460,"value":140797,"nodeType":864},{},[],{"data":147462,"content":147463,"nodeType":860},{},[147464],{"data":147465,"marks":147466,"value":140805,"nodeType":864},{},[147467],{"type":899},{"data":147469,"content":147470,"nodeType":860},{},[147471],{"data":147472,"marks":147473,"value":140812,"nodeType":864},{},[],{"data":147475,"content":147476,"nodeType":860},{},[147477],{"data":147478,"marks":147479,"value":140819,"nodeType":864},{},[],{"data":147481,"content":147482,"nodeType":860},{},[147483],{"data":147484,"marks":147485,"value":140826,"nodeType":864},{},[],{"data":147487,"content":147490,"nodeType":996},{"target":147488},{"sys":147489},{"id":92011,"type":1001,"linkType":1002},[],{"data":147492,"content":147493,"nodeType":1009},{},[147494],{"data":147495,"marks":147496,"value":140838,"nodeType":864},{},[],{"data":147498,"content":147499,"nodeType":860},{},[147500],{"data":147501,"marks":147502,"value":140845,"nodeType":864},{},[],{"data":147504,"content":147505,"nodeType":1312},{},[147506],{"data":147507,"marks":147508,"value":140852,"nodeType":864},{},[],{"data":147510,"content":147511,"nodeType":860},{},[147512],{"data":147513,"marks":147514,"value":140859,"nodeType":864},{},[],{"data":147516,"content":147519,"nodeType":996},{"target":147517},{"sys":147518},{"id":140570,"type":1001,"linkType":1002},[],{"data":147521,"content":147522,"nodeType":1312},{},[147523],{"data":147524,"marks":147525,"value":140871,"nodeType":864},{},[],{"data":147527,"content":147528,"nodeType":860},{},[147529],{"data":147530,"marks":147531,"value":140585,"nodeType":864},{},[],{"data":147533,"content":147536,"nodeType":996},{"target":147534},{"sys":147535},{"id":140882,"type":1001,"linkType":1002},[],{"data":147538,"content":147539,"nodeType":1312},{},[147540],{"data":147541,"marks":147542,"value":140890,"nodeType":864},{},[],{"data":147544,"content":147545,"nodeType":860},{},[147546],{"data":147547,"marks":147548,"value":140897,"nodeType":864},{},[],{"data":147550,"content":147551,"nodeType":860},{},[147552],{"data":147553,"marks":147554,"value":140904,"nodeType":864},{},[],{"data":147556,"content":147557,"nodeType":1116},{},[147558],{"data":147559,"content":147560,"nodeType":860},{},[147561],{"data":147562,"marks":147563,"value":140914,"nodeType":864},{},[],{"data":147565,"content":147566,"nodeType":1312},{},[147567],{"data":147568,"marks":147569,"value":140921,"nodeType":864},{},[],{"data":147571,"content":147572,"nodeType":860},{},[147573,147576,147582],{"data":147574,"marks":147575,"value":140928,"nodeType":864},{},[],{"data":147577,"content":147578,"nodeType":883},{"uri":140931},[147579],{"data":147580,"marks":147581,"value":140936,"nodeType":864},{},[],{"data":147583,"marks":147584,"value":140940,"nodeType":864},{},[],{"data":147586,"content":147587,"nodeType":941},{},[147588,147597,147606,147615,147624],{"data":147589,"content":147590,"nodeType":945},{},[147591],{"data":147592,"content":147593,"nodeType":860},{},[147594],{"data":147595,"marks":147596,"value":140618,"nodeType":864},{},[],{"data":147598,"content":147599,"nodeType":945},{},[147600],{"data":147601,"content":147602,"nodeType":860},{},[147603],{"data":147604,"marks":147605,"value":140628,"nodeType":864},{},[],{"data":147607,"content":147608,"nodeType":945},{},[147609],{"data":147610,"content":147611,"nodeType":860},{},[147612],{"data":147613,"marks":147614,"value":140638,"nodeType":864},{},[],{"data":147616,"content":147617,"nodeType":945},{},[147618],{"data":147619,"content":147620,"nodeType":860},{},[147621],{"data":147622,"marks":147623,"value":140648,"nodeType":864},{},[],{"data":147625,"content":147626,"nodeType":945},{},[147627],{"data":147628,"content":147629,"nodeType":860},{},[147630],{"data":147631,"marks":147632,"value":140658,"nodeType":864},{},[],{"data":147634,"content":147637,"nodeType":996},{"target":147635},{"sys":147636},{"id":140663,"type":1001,"linkType":1002},[],{"data":147639,"content":147640,"nodeType":860},{},[147641],{"data":147642,"marks":147643,"value":140671,"nodeType":864},{},[],{"data":147645,"content":147646,"nodeType":860},{},[147647],{"data":147648,"marks":147649,"value":141006,"nodeType":864},{},[],{"data":147651,"content":147654,"nodeType":996},{"target":147652},{"sys":147653},{"id":140683,"type":1001,"linkType":1002},[],{"data":147656,"content":147657,"nodeType":1312},{},[147658],{"data":147659,"marks":147660,"value":141018,"nodeType":864},{},[],{"data":147662,"content":147663,"nodeType":860},{},[147664],{"data":147665,"marks":147666,"value":141025,"nodeType":864},{},[],{"data":147668,"content":147669,"nodeType":860},{},[147670,147673,147680],{"data":147671,"marks":147672,"value":141032,"nodeType":864},{},[],{"data":147674,"content":147675,"nodeType":883},{"uri":92739},[147676],{"data":147677,"marks":147678,"value":141040,"nodeType":864},{},[147679],{"type":1455},{"data":147681,"marks":147682,"value":12252,"nodeType":864},{},[],{"data":147684,"content":147687,"nodeType":996},{"target":147685},{"sys":147686},{"id":141048,"type":1001,"linkType":1002},[],{"data":147689,"content":147690,"nodeType":860},{},[147691],{"data":147692,"marks":147693,"value":141056,"nodeType":864},{},[],{"data":147695,"content":147696,"nodeType":941},{},[147697,147706],{"data":147698,"content":147699,"nodeType":945},{},[147700],{"data":147701,"content":147702,"nodeType":860},{},[147703],{"data":147704,"marks":147705,"value":141069,"nodeType":864},{},[],{"data":147707,"content":147708,"nodeType":945},{},[147709],{"data":147710,"content":147711,"nodeType":860},{},[147712],{"data":147713,"marks":147714,"value":141079,"nodeType":864},{},[],{"data":147716,"content":147717,"nodeType":860},{},[147718],{"data":147719,"marks":147720,"value":141086,"nodeType":864},{},[],{"data":147722,"content":147725,"nodeType":996},{"target":147723},{"sys":147724},{"id":141091,"type":1001,"linkType":1002},[],{"data":147727,"content":147728,"nodeType":860},{},[147729],{"data":147730,"marks":147731,"value":141100,"nodeType":864},{},[147732],{"type":899},{"data":147734,"content":147735,"nodeType":860},{},[147736],{"data":147737,"marks":147738,"value":141107,"nodeType":864},{},[],{"data":147740,"content":147743,"nodeType":996},{"target":147741},{"sys":147742},{"id":141112,"type":1001,"linkType":1002},[],{"data":147745,"content":147746,"nodeType":1312},{},[147747,147750],{"data":147748,"marks":147749,"value":141120,"nodeType":864},{},[],{"data":147751,"marks":147752,"value":141125,"nodeType":864},{},[147753],{"type":2246},{"data":147755,"content":147756,"nodeType":860},{},[147757],{"data":147758,"marks":147759,"value":141132,"nodeType":864},{},[],{"data":147761,"content":147764,"nodeType":996},{"target":147762},{"sys":147763},{"id":102281,"type":1001,"linkType":1002},[],{"data":147766,"content":147767,"nodeType":860},{},[147768],{"data":147769,"marks":147770,"value":21,"nodeType":864},{},[],{"entries":147772},{"hyperlink":147773,"inline":147774,"block":147775},[],[],[147776,147778,147781,147787,147790,147793,147801,147809,147817],{"sys":147777,"__typename":1717,"type":80540,"ctaText":125792,"buttonLabel":125793,"buttonColour":1721,"buttonUrl":59},{"id":92011},{"sys":147779,"__typename":1724,"title":140731,"caption":140732,"layoutMode":59,"file":147780},{"id":140570},{"url":140734,"width":1736,"height":140735},{"sys":147782,"__typename":1724,"title":147783,"caption":147784,"layoutMode":59,"file":147785},{"id":140882},"New SaaS acct chatops","A ChatOps message from Push to administrators about a new app signup",{"url":147786,"width":1736,"height":140735},"https://images.ctfassets.net/y1cdw1ablpvd/6lrpt8ch3nqSaU0kSMc0ig/cfc44aecacdb399e5a5ef739a724e77d/image7.png",{"sys":147788,"__typename":1724,"title":140745,"caption":140746,"layoutMode":59,"file":147789},{"id":140663},{"url":140748,"width":140749,"height":140750},{"sys":147791,"__typename":1724,"title":140753,"caption":140754,"layoutMode":59,"file":147792},{"id":140683},{"url":140756,"width":1736,"height":140735},{"sys":147794,"__typename":1724,"title":147795,"caption":147796,"layoutMode":59,"file":147797},{"id":141048},"SSO tax image","SSO is the gold standard, but it's unavailable or impractical for many apps",{"url":147798,"width":147799,"height":147800},"https://images.ctfassets.net/y1cdw1ablpvd/7DvBY7bwHWeF20RZvxQlHQ/9957f75e59dee10b28d13b38e4d88e9f/Screenshot_2023-10-06_at_10.17.51_AM.png",1752,988,{"sys":147802,"__typename":1724,"title":147803,"caption":147804,"layoutMode":59,"file":147805},{"id":141091},"Push MFA not registered","Identities dashboard in Push showing MFA-related security issues",{"url":147806,"width":147807,"height":147808},"https://images.ctfassets.net/y1cdw1ablpvd/LzyT5HwjDRbiCj2Eqvtmg/2371f3c9437a78551548babc02fe24bc/image4.png",1388,1113,{"sys":147810,"__typename":1724,"title":147811,"caption":147812,"layoutMode":59,"file":147813},{"id":141112},"In-Browser password guidance","Push can guide employees in the browser, as they're signing up, to create strong credentials from the start",{"url":147814,"width":147815,"height":147816},"https://images.ctfassets.net/y1cdw1ablpvd/5ttm9ljSgqZfEY1J6ZjIP4/2b1f734bc12cafb7952b1d1e26ec6870/image5.png",1346,877,{"sys":147818,"__typename":1717,"type":47670,"ctaText":132414,"buttonLabel":132415,"buttonColour":66936,"buttonUrl":59},{"id":102281},{"items":147820},[],{},"Manage third-party data access",{"items":147824},[147825,149296],{"__typename":2059,"sys":147826,"content":147828,"title":149282,"synopsis":149283,"hashTags":59,"publishedDate":149284,"slug":149285,"tagsCollection":149286,"authorsCollection":149292},{"id":147827},"3ic4Ok5kwIE8UuUClhPFPn",{"json":147829},{"data":147830,"content":147831,"nodeType":856},{},[147832,147838,147845,147852,147859,147866,147873,147880,147887,147930,147937,147944,147951,147958,147965,147971,147978,147985,147992,148000,148007,148014,148021,148028,148035,148042,148049,148069,148075,148082,148089,148100,148108,148115,148121,148128,148135,148141,148148,148157,148173,148196,148203,148210,148217,148224,148230,148237,148244,148251,148258,148265,148272,148292,148299,148306,148313,148320,148336,148369,148378,148385,148392,148399,148406,148413,148420,148427,148433,148440,148447,148454,148461,148468,148475,148495,148502,148508,148515,148538,148545,148552,148585,148592,148599,148606,148613,148626,148633,148703,148710,148717,148740,148746,148753,148760,148767,148800,148807,149203,149210,149229,149236,149245,149261,149268,149275],{"data":147833,"content":147834,"nodeType":1009},{},[147835],{"data":147836,"marks":147837,"value":126377,"nodeType":864},{},[],{"data":147839,"content":147840,"nodeType":860},{},[147841],{"data":147842,"marks":147843,"value":147844,"nodeType":864},{},[],"Employees using a new work app used to be the final step of the software-onboarding process. ",{"data":147846,"content":147847,"nodeType":860},{},[147848],{"data":147849,"marks":147850,"value":147851,"nodeType":864},{},[],"Now it's the first. ",{"data":147853,"content":147854,"nodeType":860},{},[147855],{"data":147856,"marks":147857,"value":147858,"nodeType":864},{},[],"SaaS vendors bypass IT and security and hook employees with free apps and trials. This has led to sensitive data on shadow SaaS applications (more on this later) that is accessible via unmanaged cloud accounts (accounts that aren’t protected by SSO or logged into via social login accounts). Attackers exploit this unmonitored attack surface with new takes on old techniques that are going undetected.",{"data":147860,"content":147861,"nodeType":860},{},[147862],{"data":147863,"marks":147864,"value":147865,"nodeType":864},{},[],"Employees self-adopting apps might sound like a security nightmare, but it doesn’t have to be. In fact, it can be a really good thing that enables employees to be more productive and your business to be more competitive. And, frankly, there’s no way to stop it without causing a SaaS sprawl issue. ",{"data":147867,"content":147868,"nodeType":860},{},[147869],{"data":147870,"marks":147871,"value":147872,"nodeType":864},{},[],"What’s clear is that this new landscape has fundamentally changed the way software is brought into the business. The days of security acting as a gatekeeper that all apps must pass through before they can touch live data are over. The market forces driving self-service apps aren’t stopping, so the security industry needs to adapt.",{"data":147874,"content":147875,"nodeType":860},{},[147876],{"data":147877,"marks":147878,"value":147879,"nodeType":864},{},[],"Security teams need to regain visibility and control over company data and how it’s secured. ",{"data":147881,"content":147882,"nodeType":860},{},[147883],{"data":147884,"marks":147885,"value":147886,"nodeType":864},{},[],"In this guide I’ll show security teams: ",{"data":147888,"content":147889,"nodeType":941},{},[147890,147900,147910,147920],{"data":147891,"content":147892,"nodeType":945},{},[147893],{"data":147894,"content":147895,"nodeType":860},{},[147896],{"data":147897,"marks":147898,"value":147899,"nodeType":864},{},[],"What’s driving employee app self-adoption and the impact on security teams",{"data":147901,"content":147902,"nodeType":945},{},[147903],{"data":147904,"content":147905,"nodeType":860},{},[147906],{"data":147907,"marks":147908,"value":147909,"nodeType":864},{},[],"Why the go-to solutions of policies and tools that block access to unsanctioned apps don’t work",{"data":147911,"content":147912,"nodeType":945},{},[147913],{"data":147914,"content":147915,"nodeType":860},{},[147916],{"data":147917,"marks":147918,"value":147919,"nodeType":864},{},[],"What new approaches can work and how to apply them",{"data":147921,"content":147922,"nodeType":945},{},[147923],{"data":147924,"content":147925,"nodeType":860},{},[147926],{"data":147927,"marks":147928,"value":147929,"nodeType":864},{},[],"The two aspects to address when securing SaaS and managing risk ",{"data":147931,"content":147932,"nodeType":860},{},[147933],{"data":147934,"marks":147935,"value":147936,"nodeType":864},{},[],"At the end of this book, we’ll link to a guide filled with practical guidance on how to manage those risks and quickly reduce your risk exposure. In that guide, we’ll also cover which data sources are available for SaaS security and why the choice is crucial.",{"data":147938,"content":147939,"nodeType":860},{},[147940],{"data":147941,"marks":147942,"value":147943,"nodeType":864},{},[],"The guidance provided here has been developed after talking with security leaders and CISOs that are already successfully embracing SaaS self-adoption while keeping a handle on risks. There are too many folks here to thank personally, but if you recognize some of this from our discussions, please accept my thanks, and hopefully there’s something new and useful here for you as well!",{"data":147945,"content":147946,"nodeType":1009},{},[147947],{"data":147948,"marks":147949,"value":147950,"nodeType":864},{},[],"Why is it so easy for employees to self-adopt new apps without IT?",{"data":147952,"content":147953,"nodeType":1312},{},[147954],{"data":147955,"marks":147956,"value":147957,"nodeType":864},{},[],"Memories of a simpler time",{"data":147959,"content":147960,"nodeType":860},{},[147961],{"data":147962,"marks":147963,"value":147964,"nodeType":864},{},[],"Before cloud computing was a thing, IT teams procured and managed hardware, software, networks and services for their businesses. The business was dependent on IT deploying new software across their on-prem network and managing it, so it was nearly impossible to bypass them. They became, in effect, the gatekeepers to the business’ IT environment. The onboarding process typically looked something like this:",{"data":147966,"content":147970,"nodeType":996},{"target":147967},{"sys":147968},{"id":147969,"type":1001,"linkType":1002},"1Dw4V0Fd0wI8yB6juzyWjg",[],{"data":147972,"content":147973,"nodeType":860},{},[147974],{"data":147975,"marks":147976,"value":147977,"nodeType":864},{},[],"IT asked Security to review a new app and its vendor to identify risks and determine if it should be adopted. At this point, security would specify which controls were required for it to be used securely. This all happened  before an app touched their network and interacted with any live data.",{"data":147979,"content":147980,"nodeType":860},{},[147981],{"data":147982,"marks":147983,"value":147984,"nodeType":864},{},[],"In return, Security could rely on IT to give them accurate information about all the businesses’ technology assets that needed to be protected. This process gave both teams great visibility across their total IT environment. Security and IT could maintain a high degree of control over how technology was used. ",{"data":147986,"content":147987,"nodeType":860},{},[147988],{"data":147989,"marks":147990,"value":147991,"nodeType":864},{},[],"In other words, life was wonderful and no one ever got hacked (maybe, it’s hard to remember now). Then the cloud happened and ruined everything.",{"data":147993,"content":147994,"nodeType":860},{},[147995],{"data":147996,"marks":147997,"value":147999,"nodeType":864},{},[147998],{"type":2246},"Clearly I’m joking, but while very few orgs got it perfect, it was “good enough” at providing process-driven visibility of what enterprise software was being deployed for most.",{"data":148001,"content":148002,"nodeType":1312},{},[148003],{"data":148004,"marks":148005,"value":148006,"nodeType":864},{},[],"The birth of the “as-a-Service” era",{"data":148008,"content":148009,"nodeType":860},{},[148010],{"data":148011,"marks":148012,"value":148013,"nodeType":864},{},[],"I jest, the cloud hasn’t ruined everything. It gave organizations the opportunity to be faster, more flexible and more efficient. Businesses no longer had to buy and manage all their own infrastructure and apps, they could just pay for what they used when they needed it. It led to a wave of “as-a-service” business models that stretched across infrastructure, platforms and software. ",{"data":148015,"content":148016,"nodeType":860},{},[148017],{"data":148018,"marks":148019,"value":148020,"nodeType":864},{},[],"Thousands of new software-as-a-service (SaaS) companies emerged with high quality apps that were easy to use over the internet. Essentially SaaS created software employees could use on-demand, which was a huge departure from the old days when IT and Security would do loads of security vetting upfront because they knew they’d be stuck with the software for years after deploying.",{"data":148022,"content":148023,"nodeType":860},{},[148024],{"data":148025,"marks":148026,"value":148027,"nodeType":864},{},[],"Leveraging great on-demand software tools boosted employee productivity and made their businesses more competitive. Tech-savvy employees, used to subscribing to on-demand software services in their personal lives, started to demand more autonomy over the technology they use at work. They were no longer satisfied with the generic suite of programs that IT could provide for them. Instead, they wanted the specialist tools designed and built for people like them by people like them. ",{"data":148029,"content":148030,"nodeType":860},{},[148031],{"data":148032,"marks":148033,"value":148034,"nodeType":864},{},[],"Despite users loving the software once they tried it, SaaS vendors were struggling to sell into large organizations with complicated procurement processes - it was too difficult to get their software in user's hands, and got more difficult the more niche and specialized the app was.",{"data":148036,"content":148037,"nodeType":1312},{},[148038],{"data":148039,"marks":148040,"value":148041,"nodeType":864},{},[],"The rise of Product-Led Growth",{"data":148043,"content":148044,"nodeType":860},{},[148045],{"data":148046,"marks":148047,"value":148048,"nodeType":864},{},[],"Enter Wes Bush, a young SaaS marketer who published his book Product Led Growth in 2019. In it, he showed SaaS vendors how they can increase their sales revenues while reducing their sales cycles and costs by using their products as their primary go-to-market vehicle, as opposed to traditional sales teams. ",{"data":148050,"content":148051,"nodeType":860},{},[148052,148056,148065],{"data":148053,"marks":148054,"value":148055,"nodeType":864},{},[],"The premise is simple; prospective customers prefer to experience the value of a product rather than be told about it by sales people. Back in 2015 Forrester ",{"data":148057,"content":148059,"nodeType":883},{"uri":148058},"https://www.forrester.com/blogs/15-04-14-death_of_a_b2b_salesman/",[148060],{"data":148061,"marks":148062,"value":148064,"nodeType":864},{},[148063],{"type":1455},"reported",{"data":148066,"marks":148067,"value":148068,"nodeType":864},{},[]," that 75% of B2B buyers prefer a sales-rep-free buying process. The book became a phenomenon within the SaaS industry. Product-led growth (PLG) is now the norm for SaaS companies, and around 60% of SaaS companies now use PLG and that’s only going to increase.",{"data":148070,"content":148074,"nodeType":996},{"target":148071},{"sys":148072},{"id":148073,"type":1001,"linkType":1002},"747PuaJ26IbolPB1ugxd2h",[],{"data":148076,"content":148077,"nodeType":860},{},[148078],{"data":148079,"marks":148080,"value":148081,"nodeType":864},{},[],"Why is PLG turning software adoption on its head? In order to establish a PLG go-to-market motion, SaaS vendors need end users to try their product, either as a free trial or a free version of the app, and quickly experience value from it so  they’re motivated to champion the internal business case through to a successful purchase. ",{"data":148083,"content":148084,"nodeType":860},{},[148085],{"data":148086,"marks":148087,"value":148088,"nodeType":864},{},[],"PLG not only relies upon end users as the initial adopters of a new app, but for them to experience meaningful value during that initial experience. This nearly always necessitates that the new app interacts with real data in a live environment. What’s more, it’s only the apps that end users want to use in a paid tier that are likely to ever get submitted to the app-onboarding process. The freemium and trial versions of apps that are just tried out are unlikely to ever be presented to IT and security. ",{"data":148090,"content":148091,"nodeType":860},{},[148092,148096],{"data":148093,"marks":148094,"value":148095,"nodeType":864},{},[],"This obviously poses a problem from an IT and security standpoint.",{"data":148097,"marks":148098,"value":1171,"nodeType":864},{},[148099],{"type":899},{"data":148101,"content":148102,"nodeType":860},{},[148103],{"data":148104,"marks":148105,"value":148107,"nodeType":864},{},[148106],{"type":899},"SaaS vendors are deliberately bypassing the traditional software procurement processes that used to give IT and security teams visibility of the third party apps that had their data. ",{"data":148109,"content":148110,"nodeType":860},{},[148111],{"data":148112,"marks":148113,"value":148114,"nodeType":864},{},[],"Instead, SaaS vendors are directly targeting employees with their apps and encouraging them to plug them straight into live environments before they’ve been vetted. Software onboarding now looks a lot more like this:",{"data":148116,"content":148120,"nodeType":996},{"target":148117},{"sys":148118},{"id":148119,"type":1001,"linkType":1002},"61Oj6GzX4amLxEJ5fPDJCq",[],{"data":148122,"content":148123,"nodeType":1312},{},[148124],{"data":148125,"marks":148126,"value":148127,"nodeType":864},{},[],"IT and security teams might be the last to know about PLG and miss the scale of the change",{"data":148129,"content":148130,"nodeType":860},{},[148131],{"data":148132,"marks":148133,"value":148134,"nodeType":864},{},[],"IT & security folks are usually ahead of the curve when it comes to technology shifts, but in this case many might have missed the scale or speed of the change. That’s because IT and security tools are among the least product-led of any sector. Most of our industry’s tools require heavy integrations, complicated setup, agent deployments, and so on. ",{"data":148136,"content":148140,"nodeType":996},{"target":148137},{"sys":148138},{"id":148139,"type":1001,"linkType":1002},"2ldVELsUQIU0xaPSPJyXBR",[],{"data":148142,"content":148143,"nodeType":860},{},[148144],{"data":148145,"marks":148146,"value":148147,"nodeType":864},{},[],"Unfortunately, few security companies are making products as easy to set up and use as new tools for marketing, sales, finance, development, engineering design, legal, HR, and basically every other sector that can’t rely on a technical first user. ",{"data":148149,"content":148150,"nodeType":860},{},[148151],{"data":148152,"marks":148153,"value":148156,"nodeType":864},{},[148154,148155],{"type":2246},{"type":899},"This leads to a misconception in IT and Security teams that self-adopted apps are fringe and don’t contain significant sensitive data.",{"data":148158,"content":148159,"nodeType":860},{},[148160,148164,148169],{"data":148161,"marks":148162,"value":148163,"nodeType":864},{},[],"Most concerning for security teams is that ",{"data":148165,"marks":148166,"value":148168,"nodeType":864},{},[148167],{"type":899},"the sheer number of apps in use has increased dramatically",{"data":148170,"marks":148171,"value":148172,"nodeType":864},{},[]," and will continue to do so. There are a couple reasons for this: ",{"data":148174,"content":148175,"nodeType":118765},{},[148176,148186],{"data":148177,"content":148178,"nodeType":945},{},[148179],{"data":148180,"content":148181,"nodeType":860},{},[148182],{"data":148183,"marks":148184,"value":148185,"nodeType":864},{},[],"The big old monolithic on-prem software is being replaced not by a single SaaS app, but an ecosystem of specialized apps. Each new app integrates and extends the functionality as the team using the stack learns what they need, so there is a one-to-many shift happening. ",{"data":148187,"content":148188,"nodeType":945},{},[148189],{"data":148190,"content":148191,"nodeType":860},{},[148192],{"data":148193,"marks":148194,"value":148195,"nodeType":864},{},[],"Since apps are virtually zero-maintenance these days, the operating cost (if not the licensing cost) of running multiple apps is almost the same as one (compared to on-prem apps), so duplicate apps are far less of a problem. This also makes them pretty common and further multiplies the number of apps and vendors.",{"data":148197,"content":148198,"nodeType":1009},{},[148199],{"data":148200,"marks":148201,"value":148202,"nodeType":864},{},[],"The impact of self-adoption on security",{"data":148204,"content":148205,"nodeType":1312},{},[148206],{"data":148207,"marks":148208,"value":148209,"nodeType":864},{},[],"Loss of visibility",{"data":148211,"content":148212,"nodeType":860},{},[148213],{"data":148214,"marks":148215,"value":148216,"nodeType":864},{},[],"We’ve seen how SaaS vendors' move to PLG has led to greater employee self-adoption of work apps that don’t require IT or Security to be involved. The direct consequence of this is that Security teams have lost process-driven visibility of their company’s SaaS estate. This problem is often called “Shadow SaaS.” It is also the first problem to solve -  the old adage “you can’t secure what you don’t know about” is as true in the SaaS world as it is in any other security domain.",{"data":148218,"content":148219,"nodeType":860},{},[148220],{"data":148221,"marks":148222,"value":148223,"nodeType":864},{},[],"The lack of visibility means many IT and security teams missed the explosion of SaaS apps, plugins, extensions, and integrations that make up the modern IT stack.  More crucially, they’ve missed the movement of company data into these apps. Complicating matters further, many of these apps are duplicate, abandoned or unmanaged - an issue often called “SaaS sprawl.”",{"data":148225,"content":148229,"nodeType":996},{"target":148226},{"sys":148227},{"id":148228,"type":1001,"linkType":1002},"5NfrrDeIPs7TE213UYly7E",[],{"data":148231,"content":148232,"nodeType":1312},{},[148233],{"data":148234,"marks":148235,"value":148236,"nodeType":864},{},[],"Increasing incidents and impacts",{"data":148238,"content":148239,"nodeType":860},{},[148240],{"data":148241,"marks":148242,"value":148243,"nodeType":864},{},[],"Though security teams have lost direct visibility, they’ve not lost complete visibility and many are finding out about at least a fraction of these apps - typically by working with finance teams once employees want apps to go from free-tier to licensed plans. And all too often, security teams find out about shadow SaaS apps in the worst way possible - when something has already gone wrong and security is asked to respond to an incident on a SaaS platform.",{"data":148245,"content":148246,"nodeType":860},{},[148247],{"data":148248,"marks":148249,"value":148250,"nodeType":864},{},[],"In both cases, security is getting visibility too late to be of much value. Once a team has been using an app (even on a free tier) for a year, there is very little Security can do that will convince them to move to a more secure app, or for multiple teams to use a single app. Typically, this intervention from Security needs to happen very early - long before finance is involved - in order to make a positive impact. ",{"data":148252,"content":148253,"nodeType":860},{},[148254],{"data":148255,"marks":148256,"value":148257,"nodeType":864},{},[],"Incident Response is necessary, of course, when a SaaS account is breached (or an ex-employee SaaS account that was never properly offboarded), but cannot recover the lost data after the proverbial horse has bolted. It’s now possible to get into the process early, so security teams can get ahead of the problem to reduce the risk.",{"data":148259,"content":148260,"nodeType":860},{},[148261],{"data":148262,"marks":148263,"value":148264,"nodeType":864},{},[],"Another situation that is increasingly pressing, and difficult for security teams to deal with is the increasingly regular: “App X has just had a major breach, are we using AppX, is any of our data there?” It’s an embarrassing situation to not be able to answer these questions.",{"data":148266,"content":148267,"nodeType":1312},{},[148268],{"data":148269,"marks":148270,"value":148271,"nodeType":864},{},[],"Core problem",{"data":148273,"content":148274,"nodeType":860},{},[148275,148279,148288],{"data":148276,"marks":148277,"value":148278,"nodeType":864},{},[],"Once teams get visibility into the scope of the Shadow SaaS and sprawl problem, they find that Security no longer dictates the pace of adoption. They’re also typically surprised by the sheer volume of apps employees have adopted. A ",{"data":148280,"content":148282,"nodeType":883},{"uri":148281},"https://ascendixtech.com/number-saas-companies-statistics/",[148283],{"data":148284,"marks":148285,"value":148287,"nodeType":864},{},[148286],{"type":1455},"report from Ascendix",{"data":148289,"marks":148290,"value":148291,"nodeType":864},{},[]," claims that “by the end of 2023, there will be anywhere from 30,000-72,000 SaaS companies in operation.” Clearly these aren’t all work apps or hyper specialized, but there should be no doubt that we aren’t talking about a few dozen apps being adopted.",{"data":148293,"content":148294,"nodeType":860},{},[148295],{"data":148296,"marks":148297,"value":148298,"nodeType":864},{},[],"Once teams get visibility of the pace that news apps are added they realize they need to risk assess dozens of apps a month instead of the dozen a year that were going through IT in the old, managed and controlled process. To deal with this massive influx of new apps, security teams feel they must either radically increase the headcount, cut corners or drastically increase acceptable risk levels for data security. None of these are pleasant options.",{"data":148300,"content":148301,"nodeType":1312},{},[148302],{"data":148303,"marks":148304,"value":148305,"nodeType":864},{},[],"Temptation to revert to the old ways of block-first",{"data":148307,"content":148308,"nodeType":860},{},[148309],{"data":148310,"marks":148311,"value":148312,"nodeType":864},{},[],"When the idea of the options above proves daunting or impossible, Security often tries to revert to the old process - regain the ability to set the pace of adoption by re-establishing the gate. Practically, this means that you’re deploying technical controls to try block all SaaS apps until they are approved (and marked as allowed) by IT or Security. Cloud Access Security Brokers (CASBs) were built to do exactly this - help security teams control (and block) access to “unsanctioned” SaaS that IT hasn’t approved (incidentally I think this explains why the CASB segment has failed). ",{"data":148314,"content":148315,"nodeType":860},{},[148316],{"data":148317,"marks":148318,"value":148319,"nodeType":864},{},[],"Technically, this makes total sense. But the unforeseen consequence is that it positions Security as blockers (aka the “department of no”), and puts them at odds with the rest of the business, rather than working towards a shared goal. ",{"data":148321,"content":148322,"nodeType":860},{},[148323,148327,148332],{"data":148324,"marks":148325,"value":148326,"nodeType":864},{},[],"This block-everything-until-security-approves-it position requires incredible executive support to maintain. For all but the most risk-sensitive organizations (read .gov), this position also normalizes employee behavior to bypass Security in favor of working quickly and effectively. In the end, Security actually ",{"data":148328,"marks":148329,"value":148331,"nodeType":864},{},[148330],{"type":2246},"loses visibility",{"data":148333,"marks":148334,"value":148335,"nodeType":864},{},[]," into employee SaaS use and effectively loses control, rather than locking it down. On behalf of all the employees out there, I want to make a point to say employees aren’t trying to break rules Security put in place, they’re just trying to get their jobs done, and might try and find ways around things they see as unreasonably slowing them down or preventing them from reaching their targets. Seen in this light, it’s no surprise that:",{"data":148337,"content":148338,"nodeType":941},{},[148339,148349,148359],{"data":148340,"content":148341,"nodeType":945},{},[148342],{"data":148343,"content":148344,"nodeType":860},{},[148345],{"data":148346,"marks":148347,"value":148348,"nodeType":864},{},[],"If you block websites, employees bypass network controls, ",{"data":148350,"content":148351,"nodeType":945},{},[148352],{"data":148353,"content":148354,"nodeType":860},{},[148355],{"data":148356,"marks":148357,"value":148358,"nodeType":864},{},[],"if you block social logins, employees use passwords, ",{"data":148360,"content":148361,"nodeType":945},{},[148362],{"data":148363,"content":148364,"nodeType":860},{},[148365],{"data":148366,"marks":148367,"value":148368,"nodeType":864},{},[],"if you stop them using work devices to sign up to apps, they use personal devices.",{"data":148370,"content":148371,"nodeType":860},{},[148372],{"data":148373,"marks":148374,"value":148377,"nodeType":864},{},[148375,148376],{"type":2246},{"type":899},"Each blocking action leads to a worse security outcome, and blinds the security team further - losing control rather than regaining it.",{"data":148379,"content":148380,"nodeType":860},{},[148381],{"data":148382,"marks":148383,"value":148384,"nodeType":864},{},[],"You can attempt to delay this process by blocking, or you can adapt.",{"data":148386,"content":148387,"nodeType":1312},{},[148388],{"data":148389,"marks":148390,"value":148391,"nodeType":864},{},[],"Surely there’s a better way",{"data":148393,"content":148394,"nodeType":860},{},[148395],{"data":148396,"marks":148397,"value":148398,"nodeType":864},{},[],"Of course we think there’s a better way, or we wouldn’t have written this. And don’t call me Shirley. ",{"data":148400,"content":148401,"nodeType":860},{},[148402],{"data":148403,"marks":148404,"value":148405,"nodeType":864},{},[],"The first thing we need to do as an industry is agree that we don’t want to be the blockers. We don’t want to stop employees from self-adopting apps. We understand they are best placed to find and select the tools that are going to allow them to be more productive and help your company succeed. We need to embrace SaaS app self-adoption. Stop asking employees to adapt to fit our legacy processes and meet them halfway. Security can no longer be a gate with a default stance of “No, until.” Instead Security needs to be a business enablement partner that says “Yes, unless.”",{"data":148407,"content":148408,"nodeType":1312},{},[148409],{"data":148410,"marks":148411,"value":148412,"nodeType":864},{},[],"Yes, unless?",{"data":148414,"content":148415,"nodeType":860},{},[148416],{"data":148417,"marks":148418,"value":148419,"nodeType":864},{},[],"To adapt to this new SaaS-first world, security must move from saying “No, until we’ve had time to fully vet and onboard this app officially” to “Yes! You can use that app, unless we quickly identify security risks that outweigh the value of the tool.” I understand this is deeply uncomfortable for many security practitioners (as it still is for me), but let me explain why I think this leads to a better long-term outcome.",{"data":148421,"content":148422,"nodeType":860},{},[148423],{"data":148424,"marks":148425,"value":148426,"nodeType":864},{},[],"Obviously, self-adoption of SaaS is fundamentally different to IT/Security adopted and managed from a risk perspective. With SaaS, there’s no giant commitment upfront. SaaS apps aren’t forever - quite the opposite! Apps aren’t just unused and not-adopted and then suddenly fully-adopted. Just like adopting software was a process for Security and IT back in the day, employees follow a (less rigid) process with SaaS - from testing > to using > to finding value > to inviting teammates, etc. The risk grows as we proceed through the adoption process as employees add more data into the app and integrate it with other apps. ",{"data":148428,"content":148432,"nodeType":996},{"target":148429},{"sys":148430},{"id":148431,"type":1001,"linkType":1002},"2nzyuXDxjBGZN0YMvskGak",[],{"data":148434,"content":148435,"nodeType":860},{},[148436],{"data":148437,"marks":148438,"value":148439,"nodeType":864},{},[],"The upside for Security is that because SaaS adoption is a process over time, we can use that time to assess the risk of the app before it’s fully adopted, as long as we know about the app from the start. Luckily, many apps employees are using might ultimately be very low risk, so not every app will require a full security vetting like you would have done in the old-school process.",{"data":148441,"content":148442,"nodeType":860},{},[148443],{"data":148444,"marks":148445,"value":148446,"nodeType":864},{},[],"Our role as Security is to catch those apps that are high risk, either because the data going into them (or that will be) is high risk or because the app can perform some high-risk action (like managing your inventory or sending emails to customers or your behalf). Security can focus their efforts on these high-risk vendors and apps to make sure they can be trusted with their data. But the key thing is that Security needs to get involved early in the adoption process. ",{"data":148448,"content":148449,"nodeType":860},{},[148450],{"data":148451,"marks":148452,"value":148453,"nodeType":864},{},[],"I’m getting into the details now - so this feels like a good time to take a step back and think about the elements that make up a SaaS security program.",{"data":148455,"content":148456,"nodeType":1009},{},[148457],{"data":148458,"marks":148459,"value":148460,"nodeType":864},{},[],"What’s a good SaaS security program?",{"data":148462,"content":148463,"nodeType":860},{},[148464],{"data":148465,"marks":148466,"value":148467,"nodeType":864},{},[],"The shared-responsibility model between cloud platforms and their customers is a great place to start, as it helps customers understand what their responsibilities are, and which responsibilities they’re delegating to their cloud provider.",{"data":148469,"content":148470,"nodeType":1312},{},[148471],{"data":148472,"marks":148473,"value":148474,"nodeType":864},{},[],"Delegate to the cloud provider when you can ",{"data":148476,"content":148477,"nodeType":860},{},[148478,148482,148491],{"data":148479,"marks":148480,"value":148481,"nodeType":864},{},[],"It’s ",{"data":148483,"content":148485,"nodeType":883},{"uri":148484},"https://www.ncsc.gov.uk/collection/cloud/understanding-cloud-services/cloud-security-shared-responsibility-model",[148486],{"data":148487,"marks":148488,"value":148490,"nodeType":864},{},[148489],{"type":1455},"generally preferable",{"data":148492,"marks":148493,"value":148494,"nodeType":864},{},[]," to delegate as much responsibility as possible to the cloud provider, so it’s no surprise that the SaaS model is the most common and fastest growing sector.",{"data":148496,"content":148497,"nodeType":860},{},[148498],{"data":148499,"marks":148500,"value":148501,"nodeType":864},{},[],"The following summary table produced by the National Cyber Security Centre (NCSC) does a great job at showing how much of the balance of security responsibility is outsourced to the SaaS provider. For reference, IaaS = infrastructure-as-a-service; PaaS = platform-as-a-service; SaaS = software-as-a-service:",{"data":148503,"content":148507,"nodeType":996},{"target":148504},{"sys":148505},{"id":148506,"type":1001,"linkType":1002},"17rMTpxgCAU5ropjkGIIjK",[],{"data":148509,"content":148510,"nodeType":860},{},[148511],{"data":148512,"marks":148513,"value":148514,"nodeType":864},{},[],"According to NCSC, the customer is responsible only for:",{"data":148516,"content":148517,"nodeType":118765},{},[148518,148528],{"data":148519,"content":148520,"nodeType":945},{},[148521],{"data":148522,"content":148523,"nodeType":860},{},[148524],{"data":148525,"marks":148526,"value":148527,"nodeType":864},{},[],"The configuration of the SaaS app and ",{"data":148529,"content":148530,"nodeType":945},{},[148531],{"data":148532,"content":148533,"nodeType":860},{},[148534],{"data":148535,"marks":148536,"value":148537,"nodeType":864},{},[],"Making sure that the identity and access control features provided by the vendor are used properly.",{"data":148539,"content":148540,"nodeType":860},{},[148541],{"data":148542,"marks":148543,"value":148544,"nodeType":864},{},[],"It’s worth pointing out here that the way application configuration is presented here is a bit of a red herring. The vast majority of SaaS apps (and especially self-adopted apps) allow very little, if any, configuration. Sure, the big core apps like Salesforce, Google Workspace, Microsoft 365 do (and often require a dedicated team or partner to run them), but they are highly unlikely to be self-adopted by employees.  As far as configuration is concerned, Security teams will often be limited to enabling “force MFA for all users” or “disallow public sharing” type of controls that are accessible even to non-technical users.",{"data":148546,"content":148547,"nodeType":860},{},[148548],{"data":148549,"marks":148550,"value":148551,"nodeType":864},{},[],"For the vast majority of apps in the organization, Security’s responsibility will boil down to:",{"data":148553,"content":148554,"nodeType":941},{},[148555,148565,148575],{"data":148556,"content":148557,"nodeType":945},{},[148558],{"data":148559,"content":148560,"nodeType":860},{},[148561],{"data":148562,"marks":148563,"value":148564,"nodeType":864},{},[],"Account security, i.e. making sure MFA and SSO (where available) is in place. ",{"data":148566,"content":148567,"nodeType":945},{},[148568],{"data":148569,"content":148570,"nodeType":860},{},[148571],{"data":148572,"marks":148573,"value":148574,"nodeType":864},{},[],"Ensuring  employees are using strong passwords, especially if MFA and/or SSO aren’t available.",{"data":148576,"content":148577,"nodeType":945},{},[148578],{"data":148579,"content":148580,"nodeType":860},{},[148581],{"data":148582,"marks":148583,"value":148584,"nodeType":864},{},[],"Removing external accounts (and accounts for those that have left the company) when no longer needed.",{"data":148586,"content":148587,"nodeType":860},{},[148588],{"data":148589,"marks":148590,"value":148591,"nodeType":864},{},[],"Isn’t it risky to delegate responsibility? While delegating security responsibilities is great and takes a huge load off your team, we do, unfortunately, need to consider who we’re delegating it to. Those gray boxes in the diagram above need to be taken care of.",{"data":148593,"content":148594,"nodeType":860},{},[148595],{"data":148596,"marks":148597,"value":148598,"nodeType":864},{},[],"This is what’s sometimes understood as “supply chain” security. You need to trust the SaaS vendor to uphold their end of the bargain and, more often than not, also the SaaS/cloud vendors they use (their sub-processors) as well.",{"data":148600,"content":148601,"nodeType":860},{},[148602],{"data":148603,"marks":148604,"value":148605,"nodeType":864},{},[],"This sounds a lot scarier than it is and in practice many SaaS vendors do a great job, with many providing easy-to-audit, externally-verified, policies through a framework such as SOC2, and most do regular penetration tests and have bug bounty programs etc.",{"data":148607,"content":148608,"nodeType":860},{},[148609],{"data":148610,"marks":148611,"value":148612,"nodeType":864},{},[],"There are exceptions when it makes sense to think more carefully about whether a third party can be trusted. Common reasons Push customers have cited for not trusting third parties include; ",{"data":148614,"content":148615,"nodeType":941},{},[148616],{"data":148617,"content":148618,"nodeType":945},{},[148619],{"data":148620,"content":148621,"nodeType":860},{},[148622],{"data":148623,"marks":148624,"value":148625,"nodeType":864},{},[],"The data going into these apps is simply too high risk. Many organizations have very sensitive customer information or intellectual property that they simply aren’t willing to entrust to a third party. Many don’t trust a third party with administrative access to the systems where this data is held.",{"data":148627,"content":148628,"nodeType":860},{},[148629],{"data":148630,"marks":148631,"value":148632,"nodeType":864},{},[],"If the data in the app, or the access the app has represents some significant (but not unacceptable) risk, you may also care about:",{"data":148634,"content":148635,"nodeType":941},{},[148636,148683,148693],{"data":148637,"content":148638,"nodeType":945},{},[148639],{"data":148640,"content":148641,"nodeType":860},{},[148642,148646,148655,148658,148667,148670,148679],{"data":148643,"marks":148644,"value":148645,"nodeType":864},{},[],"Vendors who’ve had a string of repeated breaches or security incidents. This is troubling because it’s a fairly common pattern for attackers to breach apps in ways that don’t impact customer information, but then use the information they learn from these breaches to launch far more successful breaches in future. Consider the string of breaches at ",{"data":148647,"content":148649,"nodeType":883},{"uri":148648},"https://www.bleepingcomputer.com/search/?q=lastpass+breach",[148650],{"data":148651,"marks":148652,"value":148654,"nodeType":864},{},[148653],{"type":1455},"LastPass",{"data":148656,"marks":148657,"value":3731,"nodeType":864},{},[],{"data":148659,"content":148661,"nodeType":883},{"uri":148660},"https://www.bleepingcomputer.com/search/?q=okta+breach",[148662],{"data":148663,"marks":148664,"value":148666,"nodeType":864},{},[148665],{"type":1455},"Okta",{"data":148668,"marks":148669,"value":3731,"nodeType":864},{},[],{"data":148671,"content":148673,"nodeType":883},{"uri":148672},"https://www.bleepingcomputer.com/search/?q=twilio+breach",[148674],{"data":148675,"marks":148676,"value":148678,"nodeType":864},{},[148677],{"type":1455},"Twilio",{"data":148680,"marks":148681,"value":148682,"nodeType":864},{},[]," (and many others) or as a typical example of this.",{"data":148684,"content":148685,"nodeType":945},{},[148686],{"data":148687,"content":148688,"nodeType":860},{},[148689],{"data":148690,"marks":148691,"value":148692,"nodeType":864},{},[],"Products that don’t offer adequate security features. Customers expect features such as MFA, SSO (either social login through OIDC or, ideally, SAML), and the ability to enforce these controls. This is especially important on platforms where the data is high-risk.",{"data":148694,"content":148695,"nodeType":945},{},[148696],{"data":148697,"content":148698,"nodeType":860},{},[148699],{"data":148700,"marks":148701,"value":148702,"nodeType":864},{},[],"The vendor operates in a sanctioned country or may not have the resources to adequately protect your data. Clearly vendors operating from (or that have close ties with) sanctioned or politically-complicated countries represent additional risk, as do vendors that are “one man bands” or are so small that it is hard to imagine they can afford to spend significant resources on security.",{"data":148704,"content":148705,"nodeType":1312},{},[148706],{"data":148707,"marks":148708,"value":148709,"nodeType":864},{},[],"The two questions you need to ask to assess risk ",{"data":148711,"content":148712,"nodeType":860},{},[148713],{"data":148714,"marks":148715,"value":148716,"nodeType":864},{},[],"The essence of the shared-responsibility model can summarized as two questions:",{"data":148718,"content":148719,"nodeType":118765},{},[148720,148730],{"data":148721,"content":148722,"nodeType":945},{},[148723],{"data":148724,"content":148725,"nodeType":860},{},[148726],{"data":148727,"marks":148728,"value":148729,"nodeType":864},{},[],"Should we be using this app?",{"data":148731,"content":148732,"nodeType":945},{},[148733],{"data":148734,"content":148735,"nodeType":860},{},[148736],{"data":148737,"marks":148738,"value":148739,"nodeType":864},{},[],"Are we using it securely?",{"data":148741,"content":148745,"nodeType":996},{"target":148742},{"sys":148743},{"id":148744,"type":1001,"linkType":1002},"ToDXz2MBbEygwtJjiIKRX",[],{"data":148747,"content":148748,"nodeType":860},{},[148749],{"data":148750,"marks":148751,"value":148752,"nodeType":864},{},[],"A successful SaaS security program must address both these questions. We can’t spend all our time doing risk assessments and due diligence exercises on our supply chain while dropping the ball on account security. Similarly, we can’t just focus on making sure all accounts have MFA in place when the vendor is leaving the back door open.",{"data":148754,"content":148755,"nodeType":1009},{},[148756],{"data":148757,"marks":148758,"value":148759,"nodeType":864},{},[],"When shared responsibility goes wrong",{"data":148761,"content":148762,"nodeType":860},{},[148763],{"data":148764,"marks":148765,"value":148766,"nodeType":864},{},[],"The following is an extract of some well-covered recent(ish) breaches of SaaS companies. As we go through it, pay attention to which side is dropping the ball in terms of the shared responsibility. The same organization can be:",{"data":148768,"content":148769,"nodeType":941},{},[148770,148780,148790],{"data":148771,"content":148772,"nodeType":945},{},[148773],{"data":148774,"content":148775,"nodeType":860},{},[148776],{"data":148777,"marks":148778,"value":148779,"nodeType":864},{},[],"the source of a breach, ",{"data":148781,"content":148782,"nodeType":945},{},[148783],{"data":148784,"content":148785,"nodeType":860},{},[148786],{"data":148787,"marks":148788,"value":148789,"nodeType":864},{},[],"the ultimate target that motivated a breach at a partner that was a softer target, ",{"data":148791,"content":148792,"nodeType":945},{},[148793],{"data":148794,"content":148795,"nodeType":860},{},[148796],{"data":148797,"marks":148798,"value":148799,"nodeType":864},{},[],"or simply the unlucky victim of a breach further down its supply chain.",{"data":148801,"content":148802,"nodeType":860},{},[148803],{"data":148804,"marks":148805,"value":148806,"nodeType":864},{},[],"That’s the thing about supply chain attacks, organizations are the attacker’s stepping stones. Where they are in the attack chain determines how we label their victims. ",{"data":148808,"content":148809,"nodeType":4845},{},[148810,148835,148916,148973,149016,149141],{"data":148811,"content":148812,"nodeType":4581},{},[148813,148824],{"data":148814,"content":148815,"nodeType":4569},{},[148816],{"data":148817,"content":148818,"nodeType":860},{},[148819],{"data":148820,"marks":148821,"value":148823,"nodeType":864},{},[148822],{"type":899},"Date",{"data":148825,"content":148826,"nodeType":4569},{},[148827],{"data":148828,"content":148829,"nodeType":860},{},[148830],{"data":148831,"marks":148832,"value":148834,"nodeType":864},{},[148833],{"type":899},"SaaS attack",{"data":148836,"content":148837,"nodeType":4581},{},[148838,148848],{"data":148839,"content":148840,"nodeType":4569},{},[148841],{"data":148842,"content":148843,"nodeType":860},{},[148844],{"data":148845,"marks":148846,"value":148847,"nodeType":864},{},[],"April 2021",{"data":148849,"content":148850,"nodeType":4569},{},[148851,148879],{"data":148852,"content":148853,"nodeType":860},{},[148854,148857,148866,148870,148875],{"data":148855,"marks":148856,"value":21,"nodeType":864},{},[],{"data":148858,"content":148860,"nodeType":883},{"uri":148859},"https://about.codecov.io/security-update/",[148861],{"data":148862,"marks":148863,"value":148865,"nodeType":864},{},[148864],{"type":1455},"Backdoors inserted into some Codecov.io",{"data":148867,"marks":148868,"value":148869,"nodeType":864},{},[]," (a software development SaaS) tools after a credential breach grants access to their ",{"data":148871,"marks":148872,"value":148874,"nodeType":864},{},[148873],{"type":899},"Google Cloud Project",{"data":148876,"marks":148877,"value":148878,"nodeType":864},{},[]," (cloud infrastructure SaaS).  ",{"data":148880,"content":148881,"nodeType":860},{},[148882,148886,148895,148899,148904,148908,148912],{"data":148883,"marks":148884,"value":148885,"nodeType":864},{},[],"This breach ",{"data":148887,"content":148889,"nodeType":883},{"uri":148888},"https://www.twilio.com/blog/response-to-the-codecov-vulnerability",[148890],{"data":148891,"marks":148892,"value":148894,"nodeType":864},{},[148893],{"type":1455},"affected multiple customers",{"data":148896,"marks":148897,"value":148898,"nodeType":864},{},[],", including ",{"data":148900,"marks":148901,"value":148903,"nodeType":864},{},[148902],{"type":899},"Atlassian",{"data":148905,"marks":148906,"value":148907,"nodeType":864},{},[]," (a developer and collaboration SaaS platform) and ",{"data":148909,"marks":148910,"value":148678,"nodeType":864},{},[148911],{"type":899},{"data":148913,"marks":148914,"value":148915,"nodeType":864},{},[]," (communications tooling SaaS company).  ",{"data":148917,"content":148918,"nodeType":4581},{},[148919,148929],{"data":148920,"content":148921,"nodeType":4569},{},[148922],{"data":148923,"content":148924,"nodeType":860},{},[148925],{"data":148926,"marks":148927,"value":148928,"nodeType":864},{},[],"Jan 2022",{"data":148930,"content":148931,"nodeType":4569},{},[148932],{"data":148933,"content":148934,"nodeType":860},{},[148935,148939,148943,148952,148956,148961,148965,148969],{"data":148936,"marks":148937,"value":148666,"nodeType":864},{},[148938],{"type":899},{"data":148940,"marks":148941,"value":148942,"nodeType":864},{},[]," (identity provider SaaS) ",{"data":148944,"content":148946,"nodeType":883},{"uri":148945},"https://www.okta.com/blog/2022/03/oktas-investigation-of-the-january-2022-compromise/",[148947],{"data":148948,"marks":148949,"value":148951,"nodeType":864},{},[148950],{"type":1455},"systems breached",{"data":148953,"marks":148954,"value":148955,"nodeType":864},{},[]," through a breach at ",{"data":148957,"marks":148958,"value":148960,"nodeType":864},{},[148959],{"type":899},"Sitel",{"data":148962,"marks":148963,"value":148964,"nodeType":864},{},[],", a support partner - attackers got access to Okta’s instances of ",{"data":148966,"marks":148967,"value":148903,"nodeType":864},{},[148968],{"type":899},{"data":148970,"marks":148971,"value":148972,"nodeType":864},{},[]," Jira, Slack, Splunk, RingCentral, and support tickets through Salesforce.  ",{"data":148974,"content":148975,"nodeType":4581},{},[148976,148986],{"data":148977,"content":148978,"nodeType":4569},{},[148979],{"data":148980,"content":148981,"nodeType":860},{},[148982],{"data":148983,"marks":148984,"value":148985,"nodeType":864},{},[],"March 2022",{"data":148987,"content":148988,"nodeType":4569},{},[148989],{"data":148990,"content":148991,"nodeType":860},{},[148992,148996,149000,149004,149013],{"data":148993,"marks":148994,"value":148995,"nodeType":864},{},[],"“0ktapus” phishing toolkit targeting ",{"data":148997,"marks":148998,"value":148666,"nodeType":864},{},[148999],{"type":899},{"data":149001,"marks":149002,"value":149003,"nodeType":864},{},[]," customers ",{"data":149005,"content":149007,"nodeType":883},{"uri":149006},"https://www.bleepingcomputer.com/news/security/twilio-hackers-hit-over-130-orgs-in-massive-okta-phishing-attack/",[149008],{"data":149009,"marks":149010,"value":149012,"nodeType":864},{},[149011],{"type":1455},"is released",{"data":149014,"marks":149015,"value":21,"nodeType":864},{},[],{"data":149017,"content":149018,"nodeType":4581},{},[149019,149029],{"data":149020,"content":149021,"nodeType":4569},{},[149022],{"data":149023,"content":149024,"nodeType":860},{},[149025],{"data":149026,"marks":149027,"value":149028,"nodeType":864},{},[],"Aug 2022",{"data":149030,"content":149031,"nodeType":4569},{},[149032,149073,149100,149115,149134],{"data":149033,"content":149034,"nodeType":860},{},[149035,149039,149043,149047,149051,149060,149064,149069],{"data":149036,"marks":149037,"value":148678,"nodeType":864},{},[149038],{"type":899},{"data":149040,"marks":149041,"value":149042,"nodeType":864},{},[]," (one such ",{"data":149044,"marks":149045,"value":148666,"nodeType":864},{},[149046],{"type":899},{"data":149048,"marks":149049,"value":149050,"nodeType":864},{},[]," customer) ",{"data":149052,"content":149054,"nodeType":883},{"uri":149053},"https://www.twilio.com/blog/august-2022-social-engineering-attack",[149055],{"data":149056,"marks":149057,"value":149059,"nodeType":864},{},[149058],{"type":1455},"was again breached",{"data":149061,"marks":149062,"value":149063,"nodeType":864},{},[]," and attackers used access to one of their products (",{"data":149065,"marks":149066,"value":149068,"nodeType":864},{},[149067],{"type":899},"Authy",{"data":149070,"marks":149071,"value":149072,"nodeType":864},{},[],", an MFA mobile app) to bypass MFA for some of their customers. ",{"data":149074,"content":149075,"nodeType":860},{},[149076,149080,149084,149087,149096],{"data":149077,"marks":149078,"value":149079,"nodeType":864},{},[],"Attackers appear to also have used ",{"data":149081,"marks":149082,"value":148678,"nodeType":864},{},[149083],{"type":899},{"data":149085,"marks":149086,"value":1171,"nodeType":864},{},[],{"data":149088,"content":149090,"nodeType":883},{"uri":149089},"https://www.bleepingcomputer.com/news/security/okta-one-time-mfa-passcodes-exposed-in-twilio-cyberattack/",[149091],{"data":149092,"marks":149093,"value":149095,"nodeType":864},{},[149094],{"type":1455},"to gain access to SMS’s",{"data":149097,"marks":149098,"value":149099,"nodeType":864},{},[]," that were delivering Okta MFA codes to customers: ",{"data":149101,"content":149102,"nodeType":860},{},[149103,149107,149111],{"data":149104,"marks":149105,"value":149106,"nodeType":864},{},[],"This leads to a breach at",{"data":149108,"marks":149109,"value":1171,"nodeType":864},{},[149110],{"type":899},{"data":149112,"marks":149113,"value":149114,"nodeType":864},{},[],"Mailchimp (email marketing SaaS), which in turn affects many upstream customers like Digital Ocean (infrastructure hosting SaaS) and Signal Messenger",{"data":149116,"content":149117,"nodeType":860},{},[149118,149122,149131],{"data":149119,"marks":149120,"value":149121,"nodeType":864},{},[],"Klaviyo (another email marketing SaaS) ",{"data":149123,"content":149125,"nodeType":883},{"uri":149124},"https://www.bleepingcomputer.com/news/security/email-marketing-firm-hacked-to-steal-crypto-focused-mailing-lists/",[149126],{"data":149127,"marks":149128,"value":149130,"nodeType":864},{},[149129],{"type":1455},"is also impacted",{"data":149132,"marks":149133,"value":12252,"nodeType":864},{},[],{"data":149135,"content":149136,"nodeType":860},{},[149137],{"data":149138,"marks":149139,"value":149140,"nodeType":864},{},[],"Breaches on these email marketing SaaS apps lead to even more downstream breaches for customers in finance and crypto spaces, such as Trezor, Edge Wallet, Cointelegraph, Ethereum FESP, Messari and Decrypt.",{"data":149142,"content":149143,"nodeType":4581},{},[149144,149154],{"data":149145,"content":149146,"nodeType":4569},{},[149147],{"data":149148,"content":149149,"nodeType":860},{},[149150],{"data":149151,"marks":149152,"value":149153,"nodeType":864},{},[],"Sept and Dec 2022",{"data":149155,"content":149156,"nodeType":4569},{},[149157],{"data":149158,"content":149159,"nodeType":860},{},[149160,149164,149173,149177,149181,149184,149199],{"data":149161,"marks":149162,"value":149163,"nodeType":864},{},[],"Product source code ",{"data":149165,"content":149167,"nodeType":883},{"uri":149166},"https://www.bleepingcomputer.com/news/security/oktas-source-code-stolen-after-github-repositories-hacked/",[149168],{"data":149169,"marks":149170,"value":149172,"nodeType":864},{},[149171],{"type":1455},"stolen from the Github repositories",{"data":149174,"marks":149175,"value":149176,"nodeType":864},{},[]," of ",{"data":149178,"marks":149179,"value":148666,"nodeType":864},{},[149180],{"type":899},{"data":149182,"marks":149183,"value":902,"nodeType":864},{},[],{"data":149185,"content":149187,"nodeType":883},{"uri":149186},"https://www.bleepingcomputer.com/news/security/auth0-warns-that-some-source-code-repos-may-have-been-stolen/",[149188,149194],{"data":149189,"marks":149190,"value":149193,"nodeType":864},{},[149191,149192],{"type":1455},{"type":899},"Auth0",{"data":149195,"marks":149196,"value":149198,"nodeType":864},{},[149197],{"type":1455}," (an Okta subsidiary",{"data":149200,"marks":149201,"value":149202,"nodeType":864},{},[]," that is also an identity provider SaaS platform)",{"data":149204,"content":149205,"nodeType":860},{},[149206],{"data":149207,"marks":149208,"value":149209,"nodeType":864},{},[],"This is a very shallow summary of a small sample of events during this time frame, but it’s interesting how interrelated these SaaS services are. Many are part of each other’s supply chains (for example, Twilio is targeted as an Okta customer itself, and used to compromise Okta customer MFA codes that are delivered by Twilio to other Okta customers) and so breaches in one SaaS have rippling effects that sometimes take months or even years to materialize after a breach occurs.",{"data":149211,"content":149212,"nodeType":860},{},[149213,149217,149225],{"data":149214,"marks":149215,"value":149216,"nodeType":864},{},[],"There’s an interesting trend to call out here: breaches at a SaaS vendor appear to lead to (or correlate with) further breaches, such as the string of breaches at ",{"data":149218,"content":149220,"nodeType":883},{"uri":149219},"https://thehackernews.com/2023/02/lastpass-reveals-second-attack.html",[149221],{"data":149222,"marks":149223,"value":148654,"nodeType":864},{},[149224],{"type":1455},{"data":149226,"marks":149227,"value":149228,"nodeType":864},{},[],". But it’s incredibly unclear how to balance the risk of using these vendors, especially when some of these companies (like Okta) are a big part of many organization’s security strategies.",{"data":149230,"content":149231,"nodeType":860},{},[149232],{"data":149233,"marks":149234,"value":149235,"nodeType":864},{},[],"Ultimately, though… ",{"data":149237,"content":149238,"nodeType":860},{},[149239],{"data":149240,"marks":149241,"value":149244,"nodeType":864},{},[149242,149243],{"type":899},{"type":2246},"The root of most of these networks of supply chain attacks are simple account compromises. ",{"data":149246,"content":149247,"nodeType":860},{},[149248,149252,149257],{"data":149249,"marks":149250,"value":149251,"nodeType":864},{},[],"While most organizations think of the supply chain aspect (should we be using this app?) as the majority of the problem, or at least the first problem to solve - ",{"data":149253,"marks":149254,"value":149256,"nodeType":864},{},[149255],{"type":2246},"account security",{"data":149258,"marks":149259,"value":149260,"nodeType":864},{},[]," is ultimately at the heart of the problem. A developer or support engineer with a weak password or missing MFA is all it takes for them to get phished, kicking off this string of attacks. Unlike the complex supply chain risk questions, account security issues are straightforward to fix. We’d be a whole lot closer to securing the whole supply chain if we could improve account security for all employees across all the SaaS apps they use. ",{"data":149262,"content":149263,"nodeType":1009},{},[149264],{"data":149265,"marks":149266,"value":149267,"nodeType":864},{},[],"Where do we go from here?",{"data":149269,"content":149270,"nodeType":860},{},[149271],{"data":149272,"marks":149273,"value":149274,"nodeType":864},{},[],"So we’ve discussed the domino-like string of effects from SaaS sales, to PLG, to self-adoption, to shadow SaaS, to growing SaaS risks and the news stories we read about.",{"data":149276,"content":149277,"nodeType":860},{},[149278],{"data":149279,"marks":149280,"value":149281,"nodeType":864},{},[],"We’ve unpacked the shared responsibility model - and I hope I’ve convinced you that we need to look at both the supply chain and account security side equally (and in parallel!) to manage this risk. ","SaaS sprawl isn't a problem - if you completely change your approach","Employees using a new work app used to be the final step of the software-onboarding process. Now it's the first. Security must adapt to secure business data. \n","2023-06-22T00:00:00.000Z","saas-has-changed-how-we-adopt-software-how-should-security-adapt",{"items":149287},[149288,149290],{"sys":149289,"name":6593},{"id":6592},{"sys":149291,"name":4904},{"id":4903},{"items":149293},[149294],{"fullName":38408,"firstName":38409,"jobTitle":38410,"profilePicture":149295},{"url":38412},{"__typename":2059,"sys":149297,"content":149299,"title":150039,"synopsis":150040,"hashTags":59,"publishedDate":150041,"slug":150042,"tagsCollection":150043,"authorsCollection":150049},{"id":149298},"6ppEa7WXiKcgLQ9yGn7q3k",{"json":149300},{"data":149301,"content":149302,"nodeType":856},{},[149303,149310,149316,149323,149332,149339,149344,149351,149356,149363,149370,149377,149384,149391,149397,149404,149410,149417,149432,149439,149446,149451,149457,149463,149479,149498,149505,149512,149519,149526,149533,149540,149560,149567,149574,149581,149588,149595,149602,149609,149616,149630,149660,149669,149675,149682,149689,149696,149719,149726,149733,149740,149747,149754,149761,149768,149775,149780,149787,149794,149801,149813,149820,149827,149834,149839,149846,149853,149860,149883,149890,149897,149904,149919,149926,149933,149940,150000,150006,150013,150020,150027,150033],{"data":149304,"content":149305,"nodeType":860},{},[149306],{"data":149307,"marks":149308,"value":149309,"nodeType":864},{},[],"Employees using a new work SaaS application used to be the final step of the software-onboarding process. ",{"data":149311,"content":149312,"nodeType":860},{},[149313],{"data":149314,"marks":149315,"value":147851,"nodeType":864},{},[],{"data":149317,"content":149318,"nodeType":860},{},[149319],{"data":149320,"marks":149321,"value":149322,"nodeType":864},{},[],"SaaS providers bypass IT and security and hook employees with free apps and trials. This has led to sensitive data on shadow SaaS applications that’s accessible via unmanaged cloud accounts – all those accounts that aren’t protected by SSO or logged into via social login accounts. This leads to security threats because attackers know SaaS is a blind spot for most organizations.",{"data":149324,"content":149325,"nodeType":860},{},[149326],{"data":149327,"marks":149328,"value":149331,"nodeType":864},{},[149329,149330],{"type":899},{"type":2246},"Attackers exploit this unmonitored attack surface with new takes on old techniques that are going undetected.",{"data":149333,"content":149334,"nodeType":860},{},[149335],{"data":149336,"marks":149337,"value":149338,"nodeType":864},{},[],"We’ve gone from this:",{"data":149340,"content":149343,"nodeType":996},{"target":149341},{"sys":149342},{"id":147969,"type":1001,"linkType":1002},[],{"data":149345,"content":149346,"nodeType":860},{},[149347],{"data":149348,"marks":149349,"value":149350,"nodeType":864},{},[],"To this: ",{"data":149352,"content":149355,"nodeType":996},{"target":149353},{"sys":149354},{"id":148119,"type":1001,"linkType":1002},[],{"data":149357,"content":149358,"nodeType":860},{},[149359],{"data":149360,"marks":149361,"value":149362,"nodeType":864},{},[],"Security is now coming in at the end of their old software procurement process and needs to figure out how to regain control of their data. ",{"data":149364,"content":149365,"nodeType":1009},{},[149366],{"data":149367,"marks":149368,"value":149369,"nodeType":864},{},[],"You don’t want to stop employees from adopting SaaS apps… ",{"data":149371,"content":149372,"nodeType":860},{},[149373],{"data":149374,"marks":149375,"value":149376,"nodeType":864},{},[],"Employees self-adopting SaaS platforms might sound like a security nightmare, but it doesn’t have to be. This actually enables employees to be more productive and your business to be more competitive. ",{"data":149378,"content":149379,"nodeType":860},{},[149380],{"data":149381,"marks":149382,"value":149383,"nodeType":864},{},[],"This new landscape has fundamentally changed how software is brought into the business. The days of security acting as a gatekeeper that all apps must pass through before they can touch live data are over. The market forces driving self-service apps aren’t stopping, so the security industry needs to adapt.",{"data":149385,"content":149386,"nodeType":1009},{},[149387],{"data":149388,"marks":149389,"value":149390,"nodeType":864},{},[],"What’s the impact of self-adoption on security?",{"data":149392,"content":149393,"nodeType":1312},{},[149394],{"data":149395,"marks":149396,"value":148209,"nodeType":864},{},[],{"data":149398,"content":149399,"nodeType":860},{},[149400],{"data":149401,"marks":149402,"value":149403,"nodeType":864},{},[],"Most SaaS providers have moved to the product-led growth (PLG) model as the fastest and easiest way to get users for their apps. They want employees to start using SaaS without going through IT and security teams’ lengthy approval processes. This SaaS vendor sales model has had a massive impact on security and introduced SaaS security risks, but most security teams are unaware of the scale and scope of the problem because they can’t get necessary visibility into all the tools and apps their employees are using.",{"data":149405,"content":149406,"nodeType":1312},{},[149407],{"data":149408,"marks":149409,"value":589,"nodeType":864},{},[],{"data":149411,"content":149412,"nodeType":860},{},[149413],{"data":149414,"marks":149415,"value":149416,"nodeType":864},{},[],"This problem is often called “Shadow SaaS” and it’s also the first problem to solve -  the old adage “you can’t secure what you don’t know about” is as true in the SaaS world as it is in any other security domain.",{"data":149418,"content":149419,"nodeType":860},{},[149420,149424,149429],{"data":149421,"marks":149422,"value":149423,"nodeType":864},{},[],"The lack of visibility means many IT and security teams missed the explosion of SaaS apps, plugins, extensions, and integrations that make up the modern IT stack. More crucially,",{"data":149425,"marks":149426,"value":149428,"nodeType":864},{},[149427],{"type":2246}," they’ve missed the movement of company data into these apps.",{"data":149430,"marks":149431,"value":8618,"nodeType":864},{},[],{"data":149433,"content":149434,"nodeType":1312},{},[149435],{"data":149436,"marks":149437,"value":149438,"nodeType":864},{},[],"SaaS Sprawl",{"data":149440,"content":149441,"nodeType":860},{},[149442],{"data":149443,"marks":149444,"value":149445,"nodeType":864},{},[],"Complicating matters further, many of these apps are duplicate, abandoned or unmanaged - an issue often called “SaaS sprawl.”",{"data":149447,"content":149450,"nodeType":996},{"target":149448},{"sys":149449},{"id":148228,"type":1001,"linkType":1002},[],{"data":149452,"content":149453,"nodeType":1312},{},[149454],{"data":149455,"marks":149456,"value":148236,"nodeType":864},{},[],{"data":149458,"content":149459,"nodeType":860},{},[149460],{"data":149461,"marks":149462,"value":148243,"nodeType":864},{},[],{"data":149464,"content":149465,"nodeType":860},{},[149466,149470,149475],{"data":149467,"marks":149468,"value":149469,"nodeType":864},{},[],"In both cases, ",{"data":149471,"marks":149472,"value":149474,"nodeType":864},{},[149473],{"type":2246},"Security is getting visibility too late to be of much value",{"data":149476,"marks":149477,"value":149478,"nodeType":864},{},[],". Once a team has been using an app (even on a free tier) for a year, there’s not much Security can do that will convince employees/teams to move to a more secure app. ",{"data":149480,"content":149481,"nodeType":860},{},[149482,149488,149493],{"data":149483,"marks":149484,"value":149487,"nodeType":864},{},[149485,149486],{"type":899},{"type":2246},"To change that, Security needs to intervene and get involved very early in the app adoption process ",{"data":149489,"marks":149490,"value":149492,"nodeType":864},{},[149491],{"type":2246},"- long before finance is involved.",{"data":149494,"marks":149495,"value":8618,"nodeType":864},{},[149496,149497],{"type":899},{"type":2246},{"data":149499,"content":149500,"nodeType":860},{},[149501],{"data":149502,"marks":149503,"value":149504,"nodeType":864},{},[],"Incident Response is necessary, of course, when a SaaS account is breached, but can’t recover the lost data after attackers have had access to it. ",{"data":149506,"content":149507,"nodeType":1312},{},[149508],{"data":149509,"marks":149510,"value":149511,"nodeType":864},{},[],"Holy S*it - there are so many apps!",{"data":149513,"content":149514,"nodeType":860},{},[149515],{"data":149516,"marks":149517,"value":149518,"nodeType":864},{},[],"Once teams get visibility into the scope of the Shadow SaaS and sprawl problem, they’re usually surprised by the sheer volume of apps employees have adopted. \n\nThen they realize they need to do risk assessments on dozens of apps a month instead of the dozen a year that were going through IT in the old, managed and controlled process. To deal with this massive influx of new apps, security teams feel they must either radically increase the headcount, cut corners or drastically increase acceptable risk levels for data security. Neither of these are great options.",{"data":149520,"content":149521,"nodeType":1312},{},[149522],{"data":149523,"marks":149524,"value":149525,"nodeType":864},{},[],"This is why SSPMs and CASBs exist, right?",{"data":149527,"content":149528,"nodeType":860},{},[149529],{"data":149530,"marks":149531,"value":149532,"nodeType":864},{},[],"SaaS Security Posture Management (SSPMs) and Cloud Access Security Brokers (CASBs) are the most common categories of solutions meant to attack this visibility blindspot issue, but none of these tools are getting the full picture of the problem. ",{"data":149534,"content":149535,"nodeType":860},{},[149536],{"data":149537,"marks":149538,"value":149539,"nodeType":864},{},[],"At best, they simply chip away at the problem and make security feel like they’ve got a handle on employee-adopted SaaS. At worst, they give a false sense of security while only actually covering a small portion of the SaaS apps where business data actually lives. ",{"data":149541,"content":149542,"nodeType":860},{},[149543,149547,149557],{"data":149544,"marks":149545,"value":149546,"nodeType":864},{},[],"The key thing to consider about any of these solutions is what data sources they’re using to collect (typically network data, financial records, email data, application or endpoint data). We won’t dig into the full list of pros and cons of these types of tools, but we encourage you to read about them more ",{"data":149548,"content":149552,"nodeType":27604},{"target":149549},{"sys":149550},{"id":149551,"type":1001,"linkType":1002},"45iZ69EdPF4629gZ6yf7p5",[149553],{"data":149554,"marks":149555,"value":29669,"nodeType":864},{},[149556],{"type":1455},{"data":149558,"marks":149559,"value":12252,"nodeType":864},{},[],{"data":149561,"content":149562,"nodeType":860},{},[149563],{"data":149564,"marks":149565,"value":149566,"nodeType":864},{},[],"SSPM tools typically don’t do SaaS discovery - they don’t find apps employees log into, but they do tackle the application hardening and monitoring problem because they focus on policy enforcement and log-monitoring through APIs. ",{"data":149568,"content":149569,"nodeType":860},{},[149570],{"data":149571,"marks":149572,"value":149573,"nodeType":864},{},[],"Both SSPMs and CASBs make sense logically as a way to regain control of the situation. But we’d like to challenge the thinking that regaining control has to mean enforcing rigid security policies and restricting app access. ",{"data":149575,"content":149576,"nodeType":1009},{},[149577],{"data":149578,"marks":149579,"value":149580,"nodeType":864},{},[],"Adjust your thinking to secure SaaS",{"data":149582,"content":149583,"nodeType":1312},{},[149584],{"data":149585,"marks":149586,"value":149587,"nodeType":864},{},[],"Resist the temptation to revert to the old ways ",{"data":149589,"content":149590,"nodeType":860},{},[149591],{"data":149592,"marks":149593,"value":149594,"nodeType":864},{},[],"When the idea of the options above proves daunting or impossible, Security often tries to revert to the old process - putting security measures in place to regain the ability to set the pace of adoption by re-establishing the gate. ",{"data":149596,"content":149597,"nodeType":860},{},[149598],{"data":149599,"marks":149600,"value":149601,"nodeType":864},{},[],"Practically, this means that you’re deploying technical controls to try block all SaaS apps until they are approved (and marked as allowed) by IT or Security. Technically, this makes total sense. But the unforeseen consequence is that it positions Security as blockers (aka the “Department of No”) and puts them at odds with the rest of the business, rather than working towards a shared goal. ",{"data":149603,"content":149604,"nodeType":1312},{},[149605],{"data":149606,"marks":149607,"value":149608,"nodeType":864},{},[],"Why being the “Department of No” doesn’t work ",{"data":149610,"content":149611,"nodeType":860},{},[149612],{"data":149613,"marks":149614,"value":149615,"nodeType":864},{},[],"This block-everything-until-security-approves-it position requires incredible executive support to maintain. For all but the most risk-sensitive organizations (read .gov), this position also normalizes employee behavior to bypass Security in favor of working quickly and effectively. ",{"data":149617,"content":149618,"nodeType":860},{},[149619,149623,149627],{"data":149620,"marks":149621,"value":149622,"nodeType":864},{},[],"In the end, Security actually ",{"data":149624,"marks":149625,"value":148331,"nodeType":864},{},[149626],{"type":2246},{"data":149628,"marks":149629,"value":148335,"nodeType":864},{},[],{"data":149631,"content":149632,"nodeType":941},{},[149633,149642,149651],{"data":149634,"content":149635,"nodeType":945},{},[149636],{"data":149637,"content":149638,"nodeType":860},{},[149639],{"data":149640,"marks":149641,"value":148348,"nodeType":864},{},[],{"data":149643,"content":149644,"nodeType":945},{},[149645],{"data":149646,"content":149647,"nodeType":860},{},[149648],{"data":149649,"marks":149650,"value":148358,"nodeType":864},{},[],{"data":149652,"content":149653,"nodeType":945},{},[149654],{"data":149655,"content":149656,"nodeType":860},{},[149657],{"data":149658,"marks":149659,"value":148368,"nodeType":864},{},[],{"data":149661,"content":149662,"nodeType":860},{},[149663],{"data":149664,"marks":149665,"value":149668,"nodeType":864},{},[149666,149667],{"type":899},{"type":2246},"Each blocking action leads to a worse security outcome and blinds the security team further - losing control rather than regaining it.",{"data":149670,"content":149671,"nodeType":860},{},[149672],{"data":149673,"marks":149674,"value":148384,"nodeType":864},{},[],{"data":149676,"content":149677,"nodeType":1312},{},[149678],{"data":149679,"marks":149680,"value":149681,"nodeType":864},{},[],"Don’t worry, there’s a better way, but you must adapt your thinking",{"data":149683,"content":149684,"nodeType":860},{},[149685],{"data":149686,"marks":149687,"value":149688,"nodeType":864},{},[],"The first thing we need to do as an industry is agree that we don’t want to be the blockers. We don’t want to stop employees from self-adopting apps. We understand they are best placed to find and select the tools that are going to allow them to be more productive and help your company succeed. ",{"data":149690,"content":149691,"nodeType":860},{},[149692],{"data":149693,"marks":149694,"value":149695,"nodeType":864},{},[],"We need to:",{"data":149697,"content":149698,"nodeType":941},{},[149699,149709],{"data":149700,"content":149701,"nodeType":945},{},[149702],{"data":149703,"content":149704,"nodeType":860},{},[149705],{"data":149706,"marks":149707,"value":149708,"nodeType":864},{},[],"embrace SaaS app self-adoption, and ",{"data":149710,"content":149711,"nodeType":945},{},[149712],{"data":149713,"content":149714,"nodeType":860},{},[149715],{"data":149716,"marks":149717,"value":149718,"nodeType":864},{},[],"stop asking employees to adapt to fit our legacy processes. ",{"data":149720,"content":149721,"nodeType":860},{},[149722],{"data":149723,"marks":149724,"value":149725,"nodeType":864},{},[],"Security can no longer be a gate with a default stance of “No, until.” Instead Security needs to be a partner that says “Yes, unless.”",{"data":149727,"content":149728,"nodeType":1312},{},[149729],{"data":149730,"marks":149731,"value":149732,"nodeType":864},{},[],"From the “Department of No” to the “Department of Yes, Unless?”",{"data":149734,"content":149735,"nodeType":860},{},[149736],{"data":149737,"marks":149738,"value":149739,"nodeType":864},{},[],"To adapt to this new SaaS-first world, security must move from saying “No, until we’ve had time to fully vet and onboard this app officially” to “Yes! You can use that app, unless we quickly identify security risks that outweigh the value of the tool.”",{"data":149741,"content":149742,"nodeType":860},{},[149743],{"data":149744,"marks":149745,"value":149746,"nodeType":864},{},[],"We know this is deeply uncomfortable for many security practitioners, but it will lead to a better long-term outcome.",{"data":149748,"content":149749,"nodeType":1009},{},[149750],{"data":149751,"marks":149752,"value":149753,"nodeType":864},{},[],"How to regain control of the SaaS explosion",{"data":149755,"content":149756,"nodeType":1312},{},[149757],{"data":149758,"marks":149759,"value":149760,"nodeType":864},{},[],"Step 1: Understand how employees typically test drive and eventually adopt SaaS",{"data":149762,"content":149763,"nodeType":860},{},[149764],{"data":149765,"marks":149766,"value":149767,"nodeType":864},{},[],"Obviously, self-adoption of SaaS is fundamentally different to IT/Security adopted and managed from a risk perspective. With SaaS, there’s no giant commitment upfront. Apps don’t (usually) just go from unknown and unused to adopted in a day. Just like adopting software was a process for Security and IT back in the day, employees follow a (less rigid) process with SaaS - from testing > to using > to finding value > to inviting teammates, etc. ",{"data":149769,"content":149770,"nodeType":860},{},[149771],{"data":149772,"marks":149773,"value":149774,"nodeType":864},{},[],"The risk grows as we proceed through the adoption process as employees add more data into the app and integrate it with other apps. The workflow below outlines a fairly typical SaaS testing and adopting process for employees:",{"data":149776,"content":149779,"nodeType":996},{"target":149777},{"sys":149778},{"id":148431,"type":1001,"linkType":1002},[],{"data":149781,"content":149782,"nodeType":1312},{},[149783],{"data":149784,"marks":149785,"value":149786,"nodeType":864},{},[],"Step 2: Get involved early to have a real security impact",{"data":149788,"content":149789,"nodeType":860},{},[149790],{"data":149791,"marks":149792,"value":149793,"nodeType":864},{},[],"The upside for Security is that because SaaS adoption is a process over time, we can use that time to assess the risk of the app before it’s fully adopted, as long as we know about the app from the start. ",{"data":149795,"content":149796,"nodeType":860},{},[149797],{"data":149798,"marks":149799,"value":149800,"nodeType":864},{},[],"The goal is to catch those apps that are high risk, either because the data going into them (or that will be) is high risk or because the app can perform some high-risk action (like managing your inventory or sending emails to customers or your behalf). Security can focus their efforts on these high-risk vendors and apps to make sure they can be trusted with their data. ",{"data":149802,"content":149803,"nodeType":860},{},[149804,149808],{"data":149805,"marks":149806,"value":149807,"nodeType":864},{},[],"But this is key: ",{"data":149809,"marks":149810,"value":149812,"nodeType":864},{},[149811],{"type":2246},"Security needs to get involved early in the adoption process. ",{"data":149814,"content":149815,"nodeType":1312},{},[149816],{"data":149817,"marks":149818,"value":149819,"nodeType":864},{},[],"Step 3: Get real-time visibility into SaaS apps and risks as employees sign up for them",{"data":149821,"content":149822,"nodeType":860},{},[149823],{"data":149824,"marks":149825,"value":149826,"nodeType":864},{},[],"You guessed it - Push can help!",{"data":149828,"content":149829,"nodeType":860},{},[149830],{"data":149831,"marks":149832,"value":149833,"nodeType":864},{},[],"We detect employees signing up to new apps and integrating third-party apps to your core work platforms in real-time. That allows you to step in at the earliest opportunity to vet the app for critical issues and guide the employee through the appropriate app onboarding steps. This allows you to focus on the new stuff and buy yourself time. ",{"data":149835,"content":149838,"nodeType":996},{"target":149836},{"sys":149837},{"id":140590,"type":1001,"linkType":1002},[],{"data":149840,"content":149841,"nodeType":1312},{},[149842],{"data":149843,"marks":149844,"value":149845,"nodeType":864},{},[],"Step 4: Avoid wasting time on false-positives",{"data":149847,"content":149848,"nodeType":860},{},[149849],{"data":149850,"marks":149851,"value":149852,"nodeType":864},{},[],"You need to trust your data if you want to take action based on the visibility you have of what apps employees are using and how they’re using them. Doing risk assessments or chasing employees about apps they’re not using wastes time and burns goodwill. ",{"data":149854,"content":149855,"nodeType":860},{},[149856],{"data":149857,"marks":149858,"value":149859,"nodeType":864},{},[],"Good data allows you to:",{"data":149861,"content":149862,"nodeType":941},{},[149863,149873],{"data":149864,"content":149865,"nodeType":945},{},[149866],{"data":149867,"content":149868,"nodeType":860},{},[149869],{"data":149870,"marks":149871,"value":149872,"nodeType":864},{},[],"Quickly and accurately identify new SaaS apps and integrations as employees adopt them. ",{"data":149874,"content":149875,"nodeType":945},{},[149876],{"data":149877,"content":149878,"nodeType":860},{},[149879],{"data":149880,"marks":149881,"value":149882,"nodeType":864},{},[],"Identify the security issues that attackers can exploit to compromise your data through common attacks like Credential Stuffing. ",{"data":149884,"content":149885,"nodeType":1312},{},[149886],{"data":149887,"marks":149888,"value":149889,"nodeType":864},{},[],"Step 5: Use Browser extension data to get the most accurate and useful data for SaaS visibility and risk ",{"data":149891,"content":149892,"nodeType":860},{},[149893],{"data":149894,"marks":149895,"value":149896,"nodeType":864},{},[],"Push collects data directly from the app using a browser extension, rather than guessing possible use from other sources like network traffic or email. ",{"data":149898,"content":149899,"nodeType":860},{},[149900],{"data":149901,"marks":149902,"value":149903,"nodeType":864},{},[],"That makes Push the only SaaS security solution that can directly observe all SaaS use and the only solution that can identify account security issues across hundreds of apps - completely automatically. ",{"data":149905,"content":149906,"nodeType":860},{},[149907,149911,149915],{"data":149908,"marks":149909,"value":149910,"nodeType":864},{},[],"No need for API support, no need for an admin account. It just works. For ",{"data":149912,"marks":149913,"value":112585,"nodeType":864},{},[149914],{"type":899},{"data":149916,"marks":149917,"value":149918,"nodeType":864},{},[]," your SaaS.",{"data":149920,"content":149921,"nodeType":1312},{},[149922],{"data":149923,"marks":149924,"value":149925,"nodeType":864},{},[],"Step 6: Identify account security risks and discover shadow SaaS at the same time",{"data":149927,"content":149928,"nodeType":860},{},[149929],{"data":149930,"marks":149931,"value":149932,"nodeType":864},{},[],"Of course you need to start by discovering SaaS and getting a reliable inventory - but this on its own won’t stop accounts on those apps from getting breached. The most common way SaaS accounts are breached is through attacks like credential stuffing that target weak, breached or shared passwords on accounts that don’t have MFA enabled. ",{"data":149934,"content":149935,"nodeType":860},{},[149936],{"data":149937,"marks":149938,"value":149939,"nodeType":864},{},[],"Push can identify account security issues to prevent these common attacks. These include:",{"data":149941,"content":149942,"nodeType":941},{},[149943,149952,149962,149971,149981,149990],{"data":149944,"content":149945,"nodeType":945},{},[149946],{"data":149947,"content":149948,"nodeType":860},{},[149949],{"data":149950,"marks":149951,"value":140618,"nodeType":864},{},[],{"data":149953,"content":149954,"nodeType":945},{},[149955],{"data":149956,"content":149957,"nodeType":860},{},[149958],{"data":149959,"marks":149960,"value":149961,"nodeType":864},{},[],"Guessable passwords",{"data":149963,"content":149964,"nodeType":945},{},[149965],{"data":149966,"content":149967,"nodeType":860},{},[149968],{"data":149969,"marks":149970,"value":140638,"nodeType":864},{},[],{"data":149972,"content":149973,"nodeType":945},{},[149974],{"data":149975,"content":149976,"nodeType":860},{},[149977],{"data":149978,"marks":149979,"value":149980,"nodeType":864},{},[],"Sharing passwords across multiple accounts",{"data":149982,"content":149983,"nodeType":945},{},[149984],{"data":149985,"content":149986,"nodeType":860},{},[149987],{"data":149988,"marks":149989,"value":140658,"nodeType":864},{},[],{"data":149991,"content":149992,"nodeType":945},{},[149993],{"data":149994,"content":149995,"nodeType":860},{},[149996],{"data":149997,"marks":149998,"value":149999,"nodeType":864},{},[],"Password manager use",{"data":150001,"content":150005,"nodeType":996},{"target":150002},{"sys":150003},{"id":150004,"type":1001,"linkType":1002},"3hR2N6WoP5WDyD6O6zdJP1",[],{"data":150007,"content":150008,"nodeType":860},{},[150009],{"data":150010,"marks":150011,"value":150012,"nodeType":864},{},[],"We identify these issues at the same time we discover shadow SaaS apps, so you can tackle account compromise at the same time as SaaS discovery to reduce your SaaS security risk exposure faster.",{"data":150014,"content":150015,"nodeType":1312},{},[150016],{"data":150017,"marks":150018,"value":150019,"nodeType":864},{},[],"Step 7: Automatically reduce the risks we find by engaging employees",{"data":150021,"content":150022,"nodeType":860},{},[150023],{"data":150024,"marks":150025,"value":150026,"nodeType":864},{},[],"How do we actually reduce the risks? We engage employees directly via Slack or MS Teams, explain the account security issue we’ve identified in a way they’ll understand, and help them understand how it’s putting them and the business at risk. Then we guide them on how to fix it.",{"data":150028,"content":150032,"nodeType":996},{"target":150029},{"sys":150030},{"id":150031,"type":1001,"linkType":1002},"7Hgf81IlfZKoUMOp26ZXmq",[],{"data":150034,"content":150035,"nodeType":860},{},[150036],{"data":150037,"marks":150038,"value":21,"nodeType":864},{},[],"7 Steps to secure your data across shadow SaaS apps","Attackers commonly target SaaS apps because they know employees sign up without running them past IT first. Learn how to adjust to secure your data.\n","2023-06-26T00:00:00.000Z","3-steps-to-secure-your-data-across-shadow-saas-apps",{"items":150044},[150045,150047],{"sys":150046,"name":4904},{"id":4903},{"sys":150048,"name":2729},{"id":2728},{"items":150050},[150051],{"fullName":150052,"firstName":150052,"jobTitle":59,"profilePicture":150053},"The Push Team",{"url":150054},"https://images.ctfassets.net/y1cdw1ablpvd/7xpR9kiHAQWtZBj2rpOmmU/052ddfbb96afb37962278062047ab16d/Twitter_Linkedin_icon_white.png","blog/manage-third-party-data-access",{"json":150057},{"data":150058,"content":150059,"nodeType":856},{},[150060,150071],{"data":150061,"content":150062,"nodeType":860},{},[150063,150067],{"data":150064,"marks":150065,"value":150066,"nodeType":864},{},[],"Employees are self-adopting SaaS apps and creating new cloud identities without IT approval. ",{"data":150068,"marks":150069,"value":150070,"nodeType":864},{},[],"Consider a solution with built-in features to find and secure identities your employees have created and guide them to harden their accounts against attacks.",{"data":150072,"content":150073,"nodeType":860},{},[150074],{"data":150075,"marks":150076,"value":90277,"nodeType":864},{},[],{"id":140766,"publishedAt":150078},"2026-08-12T11:55:52.411Z",{"items":150080},[150081,150083],{"sys":150082,"name":297},{"id":2732},{"sys":150084,"name":2729},{"id":2728},{"items":150086},[150087,150089,150091,150093,150095,150097,150099,150101,150103],{"sys":150088,"name":545,"slug":546,"tier":31},{"id":542},{"sys":150090,"name":297,"slug":298,"tier":31},{"id":294},{"sys":150092,"name":413,"slug":414,"tier":31},{"id":410},{"sys":150094,"name":633,"slug":634,"tier":45},{"id":630},{"sys":150096,"name":484,"slug":485,"tier":45},{"id":481},{"sys":150098,"name":589,"slug":590,"tier":45},{"id":586},{"sys":150100,"name":502,"slug":503,"tier":45},{"id":499},{"sys":150102,"name":457,"slug":458,"tier":45},{"id":454},{"sys":150104,"name":333,"slug":334,"tier":45},{"id":330},"BXRsWaoOLJtiMTYMwq8p3tWTzq6WJ1OIYpzeuPtmmG0",{"id":150107,"title":150108,"authorsCollection":150109,"content":150113,"extension":228,"faqItemsCollection":150796,"faqTitle":59,"featured":6,"hashTags":59,"meta":150798,"metaTitle":150799,"ogImage":59,"postType":9326,"publishedDate":150800,"relatedBlogPostsCollection":150801,"slug":152116,"stem":152117,"subtitle":59,"summary":152118,"synopsis":152129,"sys":152130,"tagsCollection":152133,"topicsCollection":152139,"__hash__":152161},"blog/blog/report-on-identity-based-attacks.json","6 surprising takeaways from a recent report on identity-based attacks ",{"items":150110},[150111],{"fullName":140213,"firstName":140214,"jobTitle":140215,"socialLinks":59,"profilePicture":150112},{"url":140217},{"json":150114,"links":150737},{"data":150115,"content":150116,"nodeType":856},{},[150117,150138,150145,150152,150159,150166,150185,150192,150199,150215,150222,150229,150236,150243,150250,150257,150264,150285,150313,150320,150327,150333,150352,150372,150379,150385,150403,150410,150417,150424,150431,150438,150461,150468,150475,150482,150488,150495,150502,150509,150516,150524,150545,150561,150568,150576,150583,150594,150601,150612,150619,150637,150644,150651,150658,150665,150671,150678,150685,150691,150709,150715,150726,150731],{"data":150118,"content":150119,"nodeType":860},{},[150120,150124,150134],{"data":150121,"marks":150122,"value":150123,"nodeType":864},{},[],"Identity Defined Security Alliance (IDSA) recently released their 2023 report: ",{"data":150125,"content":150127,"nodeType":883},{"uri":150126},"https://www.idsalliance.org/white-paper/2023-trends-in-securing-digital-identities/",[150128],{"data":150129,"marks":150130,"value":150133,"nodeType":864},{},[150131,150132],{"type":1455},{"type":2246},"Trends in Securing Digital Identities",{"data":150135,"marks":150136,"value":150137,"nodeType":864},{},[],", which had some interesting data to consider as you think about securing identities in the cloud for your organization.",{"data":150139,"content":150140,"nodeType":860},{},[150141],{"data":150142,"marks":150143,"value":150144,"nodeType":864},{},[],"Identities have quickly become the new perimeter, leading attackers to target identities as the primary way to access sensitive corporate data. Organizations and security professionals are considering identity security top of mind, as a result. The report found that 68% of companies say identity-related attacks directly impacted their business in 2023. ",{"data":150146,"content":150147,"nodeType":1009},{},[150148],{"data":150149,"marks":150150,"value":150151,"nodeType":864},{},[],"1. Passwords are (still) the weakest link ",{"data":150153,"content":150154,"nodeType":860},{},[150155],{"data":150156,"marks":150157,"value":150158,"nodeType":864},{},[],"It’s no surprise that this survey found that phishing is the most common identity security-related attack, reported by 57% of survey respondents. Poor password hygiene like employees reusing passwords across work and personal accounts was often reported (by 37%) as a weakness that could lead to identity-based attacks.. ",{"data":150160,"content":150161,"nodeType":860},{},[150162],{"data":150163,"marks":150164,"value":150165,"nodeType":864},{},[],"Further exacerbating this issue, employees often reuse passwords across many the cloud and SaaS applications they’re using, and 31% reported that employees share login credentials with their colleagues for work cloud and SaaS apps. ",{"data":150167,"content":150168,"nodeType":860},{},[150169,150173,150181],{"data":150170,"marks":150171,"value":150172,"nodeType":864},{},[],"The risk of these security shortcomings is real and a concern today, not just a future problem. Our recent ",{"data":150174,"content":150175,"nodeType":883},{"uri":5760},[150176],{"data":150177,"marks":150178,"value":150180,"nodeType":864},{},[150179],{"type":1455},"open-source research on SaaS attacks",{"data":150182,"marks":150183,"value":150184,"nodeType":864},{},[]," demonstrated how attackers will take advantage of those weak and/or reused login credentials as an entry point for attack chains, allowing them to move laterally within the organization and across apps to get to the data they’re targeting.",{"data":150186,"content":150187,"nodeType":860},{},[150188],{"data":150189,"marks":150190,"value":150191,"nodeType":864},{},[],"None of these finds are shocking for anyone in security. However, what may be new is where identities start and end. Let’s dig into that.",{"data":150193,"content":150194,"nodeType":1009},{},[150195],{"data":150196,"marks":150197,"value":150198,"nodeType":864},{},[],"2. Identity security sprawl makes it a challenge to manage digital identities and data sprawl ",{"data":150200,"content":150201,"nodeType":860},{},[150202,150206,150211],{"data":150203,"marks":150204,"value":150205,"nodeType":864},{},[],"Many readers may think of identity as an employee’s SSO identity first, but it’s important to consider identity sprawl - anytime an employee signs up to a cloud application with a password, they’ve created a new account ",{"data":150207,"marks":150208,"value":150210,"nodeType":864},{},[150209],{"type":899},"and ",{"data":150212,"marks":150213,"value":150214,"nodeType":864},{},[],"a new identity on that app. ",{"data":150216,"content":150217,"nodeType":860},{},[150218],{"data":150219,"marks":150220,"value":150221,"nodeType":864},{},[],"This happens because they’re using a username and password to sign up, which has created a new identity that only exists on that app. If, on the other hand, they clicked “Signup with Google” or “Signup with Microsoft,” they would have created a new account, but used their Google and Microsoft identity that already exists and is managed by the organization they work for.",{"data":150223,"content":150224,"nodeType":1009},{},[150225],{"data":150226,"marks":150227,"value":150228,"nodeType":864},{},[],"3. More SaaS = More identities = More opportunities for attackers",{"data":150230,"content":150231,"nodeType":860},{},[150232],{"data":150233,"marks":150234,"value":150235,"nodeType":864},{},[],"Another finding from the survey is that 52% of respondents said the adoption of more cloud applications is driving an increase in the number of identities. As employees sign up for SaaS and cloud applications on their own, they’re adding more assets and identities to your attack surface. They’re also adding more third-party vendors to your supply chain. ",{"data":150237,"content":150238,"nodeType":860},{},[150239],{"data":150240,"marks":150241,"value":150242,"nodeType":864},{},[],"You can see how quickly identity management can become difficult to manage and a really juicy new attack surface for attackers. On average, teams use 40-60 apps for work. If they’re not using a social login (“Signup with Google” or “Signup with Microsoft”), it’s not just the SaaS accounts that are exploding but also the number of identities security and IT have to track, monitor, and secure. Add in sharing credentials across the team and password reuse that was mentioned earlier, and the scope of the problem explodes pretty quickly.",{"data":150244,"content":150245,"nodeType":1312},{},[150246],{"data":150247,"marks":150248,"value":150249,"nodeType":864},{},[],"Doesn’t SSO solve this?",{"data":150251,"content":150252,"nodeType":860},{},[150253],{"data":150254,"marks":150255,"value":150256,"nodeType":864},{},[],"SSO is the ideal, gold standard solution for managing your SaaS security risks. The big issue is that very, very few apps, particularly the smaller ones most of the employees in your company will be signing up for, offer SSO integrations. ",{"data":150258,"content":150259,"nodeType":860},{},[150260],{"data":150261,"marks":150262,"value":150263,"nodeType":864},{},[],"When we looked at the apps we cover, only 30% of them offered SAML SSO integrations. For the other 70% of apps, SSO isn’t even an option.",{"data":150265,"content":150266,"nodeType":860},{},[150267,150271,150281],{"data":150268,"marks":150269,"value":150270,"nodeType":864},{},[],"Making things worse, of those few apps that did offer SAML SSO as a feature, they offered it as a paid feature that you can only access at a high pricing tier, typically Enterprise or the highest pricing tier. This is known in the industry as the “SSO tax.” So, at the moment, this means SAML SSO isn’t a practical option for most apps. We wrote much more on this ",{"data":150272,"content":150276,"nodeType":27604},{"target":150273},{"sys":150274},{"id":150275,"type":1001,"linkType":1002},"tkUfN6TKuYyVNYDpsGWrE",[150277],{"data":150278,"marks":150279,"value":29669,"nodeType":864},{},[150280],{"type":1455},{"data":150282,"marks":150283,"value":150284,"nodeType":864},{},[]," as well.",{"data":150286,"content":150287,"nodeType":860},{},[150288,150292,150297,150301,150310],{"data":150289,"marks":150290,"value":150291,"nodeType":864},{},[],"Many more apps offer social logins (“Login with Google” - aka OIDC SSO), and while this isn’t quite as good as SAML, it’s a far better option than local passwords for each SaaS app. ",{"data":150293,"marks":150294,"value":150296,"nodeType":864},{},[150295],{"type":899},"Our advice is you should prefer social logins over usernames and passwords wherever possible",{"data":150298,"marks":150299,"value":150300,"nodeType":864},{},[],". Read more about that ",{"data":150302,"content":150305,"nodeType":27604},{"target":150303},{"sys":150304},{"id":141516,"type":1001,"linkType":1002},[150306],{"data":150307,"marks":150308,"value":29669,"nodeType":864},{},[150309],{"type":1455},{"data":150311,"marks":150312,"value":2924,"nodeType":864},{},[],{"data":150314,"content":150315,"nodeType":1009},{},[150316],{"data":150317,"marks":150318,"value":150319,"nodeType":864},{},[],"4. Organizations know they need to secure identities, but struggle to stay ahead of the sprawl",{"data":150321,"content":150322,"nodeType":860},{},[150323],{"data":150324,"marks":150325,"value":150326,"nodeType":864},{},[],"In the IDSA report, survey respondents were asked to consider how they would improve identity security going forward, after experiencing damage to the business from attack(s). ",{"data":150328,"content":150332,"nodeType":996},{"target":150329},{"sys":150330},{"id":150331,"type":1001,"linkType":1002},"1xmO3ndyH1Px7BWKcUYpz9",[],{"data":150334,"content":150335,"nodeType":860},{},[150336,150341,150349],{"data":150337,"marks":150338,"value":150340,"nodeType":864},{},[150339],{"type":2246},"Source: ",{"data":150342,"content":150343,"nodeType":883},{"uri":150126},[150344],{"data":150345,"marks":150346,"value":150126,"nodeType":864},{},[150347,150348],{"type":1455},{"type":2246},{"data":150350,"marks":150351,"value":21,"nodeType":864},{},[],{"data":150353,"content":150354,"nodeType":860},{},[150355,150359,150368],{"data":150356,"marks":150357,"value":150358,"nodeType":864},{},[],"At the top of that list (42%) was basic multi-factor authentication (MFA) implementation for all employees. That sounds like a simple task, but when you’re staring down a list of all of your IT-managed cloud apps and adding all those work apps that employees have signed up for on their own (each of these unmanaged employee-adopted SaaS applications are known as a shadow identity, more on that ",{"data":150360,"content":150363,"nodeType":27604},{"target":150361},{"sys":150362},{"id":141160,"type":1001,"linkType":1002},[150364],{"data":150365,"marks":150366,"value":29669,"nodeType":864},{},[150367],{"type":1455},{"data":150369,"marks":150370,"value":150371,"nodeType":864},{},[],"), it can feel like an impossible task.",{"data":150373,"content":150374,"nodeType":860},{},[150375],{"data":150376,"marks":150377,"value":150378,"nodeType":864},{},[],"That’s where tools (like Push) can help. We work directly with employees via ChatOps to help them harden their identities by turning on MFA and creating stronger, unique passwords for the apps they’ve signed up for with credentials. ",{"data":150380,"content":150384,"nodeType":996},{"target":150381},{"sys":150382},{"id":150383,"type":1001,"linkType":1002},"7sDZGdgD6auvjWvFKvpNUJ",[],{"data":150386,"content":150387,"nodeType":860},{},[150388,150392,150400],{"data":150389,"marks":150390,"value":150391,"nodeType":864},{},[],"Read more about this feature ",{"data":150393,"content":150395,"nodeType":883},{"uri":150394},"https://pushsecurity.com/uc/mfa-and-password-manager-adoption/",[150396],{"data":150397,"marks":150398,"value":29669,"nodeType":864},{},[150399],{"type":1455},{"data":150401,"marks":150402,"value":12252,"nodeType":864},{},[],{"data":150404,"content":150405,"nodeType":1009},{},[150406],{"data":150407,"marks":150408,"value":150409,"nodeType":864},{},[],"5. Reviewing who and what can access corporate data is a top concern",{"data":150411,"content":150412,"nodeType":860},{},[150413],{"data":150414,"marks":150415,"value":150416,"nodeType":864},{},[],"The next priority on that list of how to mitigate identity-related attacks was “more timely reviews of access to sensitive data.”",{"data":150418,"content":150419,"nodeType":860},{},[150420],{"data":150421,"marks":150422,"value":150423,"nodeType":864},{},[],"Each SaaS app, cloud app, and OAuth integration needs to interact with business data and systems in some way, either by the employee granting access in initial permissions consent flows during signup or by administrators consenting as part of onboarding centralized cloud platforms for the organization.",{"data":150425,"content":150426,"nodeType":860},{},[150427],{"data":150428,"marks":150429,"value":150430,"nodeType":864},{},[],"Similar to MFA adoption across all the apps, tracking and managing all the accounts, applications, and integrations to your core work platforms can feel overwhelming. ",{"data":150432,"content":150433,"nodeType":860},{},[150434],{"data":150435,"marks":150436,"value":150437,"nodeType":864},{},[],"In order to access risk and review access to sensitive data, you need an automated way to:",{"data":150439,"content":150440,"nodeType":941},{},[150441,150451],{"data":150442,"content":150443,"nodeType":945},{},[150444],{"data":150445,"content":150446,"nodeType":860},{},[150447],{"data":150448,"marks":150449,"value":150450,"nodeType":864},{},[],"Find the work apps employees are using because they interact with corporate data and,",{"data":150452,"content":150453,"nodeType":945},{},[150454],{"data":150455,"content":150456,"nodeType":860},{},[150457],{"data":150458,"marks":150459,"value":150460,"nodeType":864},{},[],"Quickly understand what data each app or integration can access",{"data":150462,"content":150463,"nodeType":860},{},[150464],{"data":150465,"marks":150466,"value":150467,"nodeType":864},{},[],"With this information, you can make better decisions about whether to accept the risk these apps and integrations present to their business - balancing security risk and internal resources for auditing, monitoring and hardening these identities, while not becoming a blocker to the overall business.",{"data":150469,"content":150470,"nodeType":1009},{},[150471],{"data":150472,"marks":150473,"value":150474,"nodeType":864},{},[],"6. Organizations perceive internal hurdles to secure identities",{"data":150476,"content":150477,"nodeType":860},{},[150478],{"data":150479,"marks":150480,"value":150481,"nodeType":864},{},[],"One of the more telling takeaways from the report is that respondents don’t feel that they’re armed and ready to secure identities. They cited the following concerns:",{"data":150483,"content":150487,"nodeType":996},{"target":150484},{"sys":150485},{"id":150486,"type":1001,"linkType":1002},"5Db5gG8JeV3U6tT2eHFmvh",[],{"data":150489,"content":150490,"nodeType":860},{},[150491],{"data":150492,"marks":150493,"value":150494,"nodeType":864},{},[],"The top two issues identified were issues of complexity, both in the identity frameworks themselves and with the organization’s technology stack.",{"data":150496,"content":150497,"nodeType":860},{},[150498],{"data":150499,"marks":150500,"value":150501,"nodeType":864},{},[],"The other issues are concerns we hear fairly often in this industry: no budget, not enough internal expertise, and not enough manpower and time.",{"data":150503,"content":150504,"nodeType":860},{},[150505],{"data":150506,"marks":150507,"value":150508,"nodeType":864},{},[],"In the next section, we’ll explore how Push can help address each of these barriers to securing identities.",{"data":150510,"content":150511,"nodeType":1009},{},[150512],{"data":150513,"marks":150514,"value":150515,"nodeType":864},{},[],"Overcome these barriers with Push",{"data":150517,"content":150518,"nodeType":860},{},[150519],{"data":150520,"marks":150521,"value":150523,"nodeType":864},{},[150522],{"type":899},"Barrier #1: Identity frameworks are complicated with multiple vendors and different architectures",{"data":150525,"content":150526,"nodeType":860},{},[150527,150531,150541],{"data":150528,"marks":150529,"value":150530,"nodeType":864},{},[],"Push tracks where your identity providers (IdPs) are being used across your cloud environment, including popular managed IdPs like Google, Microsoft and Okta that use SAML and OIDC (",{"data":150532,"content":150535,"nodeType":27604},{"target":150533},{"sys":150534},{"id":141516,"type":1001,"linkType":1002},[150536],{"data":150537,"marks":150538,"value":150540,"nodeType":864},{},[150539],{"type":1455},"aka “social login”",{"data":150542,"marks":150543,"value":150544,"nodeType":864},{},[],") SSO, as well as custom or self-hosted IdPs like Active Directory Federation Services (ADFS).",{"data":150546,"content":150547,"nodeType":860},{},[150548,150553,150556],{"data":150549,"marks":150550,"value":150552,"nodeType":864},{},[150551],{"type":899},"Barrier #2:",{"data":150554,"marks":150555,"value":1171,"nodeType":864},{},[],{"data":150557,"marks":150558,"value":150560,"nodeType":864},{},[150559],{"type":899},"Our technology environment is very complex",{"data":150562,"content":150563,"nodeType":860},{},[150564],{"data":150565,"marks":150566,"value":150567,"nodeType":864},{},[],"Push gives you visibility of all your cloud identities, no matter how decentralized or interconnected your cloud environment is.",{"data":150569,"content":150570,"nodeType":860},{},[150571],{"data":150572,"marks":150573,"value":150575,"nodeType":864},{},[150574],{"type":899},"Barrier #3: Insufficient budget",{"data":150577,"content":150578,"nodeType":860},{},[150579],{"data":150580,"marks":150581,"value":150582,"nodeType":864},{},[],"Push is cost effective for organizations of all sizes. You pay per employee, regardless of how many identities they have or apps they use. Many organizations have purchased Push before getting an IdP like Okta because it is a more cost effective way of securing identities.",{"data":150584,"content":150585,"nodeType":860},{},[150586,150591],{"data":150587,"marks":150588,"value":150590,"nodeType":864},{},[150589],{"type":899},"Barrier #4: Lack of expertise",{"data":150592,"marks":150593,"value":8618,"nodeType":864},{},[],{"data":150595,"content":150596,"nodeType":860},{},[150597],{"data":150598,"marks":150599,"value":150600,"nodeType":864},{},[],"Push is surprisingly simple to use. Roll out the browser extension using MDM, Push will give you instant visibility. You just need to decide which automated remediation workflows you want to turn on.",{"data":150602,"content":150603,"nodeType":860},{},[150604,150609],{"data":150605,"marks":150606,"value":150608,"nodeType":864},{},[150607],{"type":899},"Barrier #5: Not enough people",{"data":150610,"marks":150611,"value":8618,"nodeType":864},{},[],{"data":150613,"content":150614,"nodeType":860},{},[150615],{"data":150616,"marks":150617,"value":150618,"nodeType":864},{},[],"Push doesn’t just find more issues, it also fixes them. When Push detects a security issue, it automatically engages the identity owner and guides them to self-remediate the issue. This makes Push totally scalable and frees-up your security team.",{"data":150620,"content":150621,"nodeType":860},{},[150622,150625,150634],{"data":150623,"marks":150624,"value":21,"nodeType":864},{},[],{"data":150626,"content":150628,"nodeType":883},{"uri":150627},"https://pushsecurity.com/product/#top",[150629],{"data":150630,"marks":150631,"value":150633,"nodeType":864},{},[150632],{"type":1455},"Learn more about how we can help",{"data":150635,"marks":150636,"value":96674,"nodeType":864},{},[],{"data":150638,"content":150639,"nodeType":1009},{},[150640],{"data":150641,"marks":150642,"value":150643,"nodeType":864},{},[],"Push helps you see which third parties have access to your data ",{"data":150645,"content":150646,"nodeType":860},{},[150647],{"data":150648,"marks":150649,"value":150650,"nodeType":864},{},[],"To manage both identity and data sprawl, lean on a good identity security solution like Push to: ",{"data":150652,"content":150653,"nodeType":1312},{},[150654],{"data":150655,"marks":150656,"value":150657,"nodeType":864},{},[],"Track which apps have access to your corporate data ",{"data":150659,"content":150660,"nodeType":860},{},[150661],{"data":150662,"marks":150663,"value":150664,"nodeType":864},{},[],"Find the apps your employees are using, testing, or trialing and the associated digital identities they’ve created, and then see what data those apps were given access to by the employee:",{"data":150666,"content":150670,"nodeType":996},{"target":150667},{"sys":150668},{"id":150669,"type":1001,"linkType":1002},"7kdGdM2MAn7HezkvUYlBP1",[],{"data":150672,"content":150673,"nodeType":1312},{},[150674],{"data":150675,"marks":150676,"value":150677,"nodeType":864},{},[],"Detect new apps employees sign up for",{"data":150679,"content":150680,"nodeType":860},{},[150681],{"data":150682,"marks":150683,"value":150684,"nodeType":864},{},[],"By catching these signups early, you can quickly check out the third-party app vendor before employees give those apps even more corporate data than they did just by signing up and testing the app:",{"data":150686,"content":150690,"nodeType":996},{"target":150687},{"sys":150688},{"id":150689,"type":1001,"linkType":1002},"1jIJX2NQZWcE6IMX85P2q6",[],{"data":150692,"content":150693,"nodeType":860},{},[150694,150698,150706],{"data":150695,"marks":150696,"value":150697,"nodeType":864},{},[],"You can then also use Push to work automatically with your employees to harden their accounts. Much more information on there ",{"data":150699,"content":150701,"nodeType":883},{"uri":150700},"https://pushsecurity.com/uc/cloud-data-sprawl/",[150702],{"data":150703,"marks":150704,"value":29669,"nodeType":864},{},[150705],{"type":1455},{"data":150707,"marks":150708,"value":2924,"nodeType":864},{},[],{"data":150710,"content":150714,"nodeType":996},{"target":150711},{"sys":150712},{"id":150713,"type":1001,"linkType":1002},"3PpYZZ4DSBZqykD0zYF8QI",[],{"data":150716,"content":150717,"nodeType":860},{},[150718,150722],{"data":150719,"marks":150720,"value":150721,"nodeType":864},{},[],"G",{"data":150723,"marks":150724,"value":150725,"nodeType":864},{},[],"rab a spot in our calendars so we can run through how Push can help with your specific needs and requirements by booking a quick demo.",{"data":150727,"content":150730,"nodeType":996},{"target":150728},{"sys":150729},{"id":92011,"type":1001,"linkType":1002},[],{"data":150732,"content":150733,"nodeType":860},{},[150734],{"data":150735,"marks":150736,"value":21,"nodeType":864},{},[],{"entries":150738},{"inline":150739,"hyperlink":150740,"block":150751},[],[150741,150745,150749],{"sys":150742,"__typename":2059,"title":150743,"slug":150744},{"id":150275},"The no-jargon guide to solving shadow SaaS ","protect-your-data-across-all-your-apps-even-the-ones-employees-use-without",{"sys":150746,"__typename":2059,"title":150747,"slug":150748},{"id":141516},"Should I let my employees login with their work Google account?","should-i-let-my-employees-login-with-their-work-google-account",{"sys":150750,"__typename":2059,"title":141669,"slug":141672},{"id":141160},[150752,150759,150766,150774,150781,150788,150794],{"sys":150753,"__typename":1724,"title":150754,"caption":59,"layoutMode":59,"file":150755},{"id":150331},"Identity solutions survey",{"url":150756,"width":150757,"height":150758},"https://images.ctfassets.net/y1cdw1ablpvd/4ZYf1bG2qXgbJmobA8E9sd/ebba20b5fb48cd86cf5e89c8ce27b30f/image1.png",1432,870,{"sys":150760,"__typename":1724,"title":150761,"caption":150762,"layoutMode":59,"file":150763},{"id":150383},"ChatOps for MFA O365","Push message to an employee who hasn’t enabled MFA on their account",{"url":150764,"width":17,"height":150765},"https://images.ctfassets.net/y1cdw1ablpvd/6VOROrUEfy4WGtwTd75Wrx/55e58fca286d08ef337542f8c93139eb/image3.png",187,{"sys":150767,"__typename":1724,"title":150768,"caption":150769,"layoutMode":59,"file":150770},{"id":150486},"IDSA identity security barriers","Survey respondents perceive these barriers as restricting how much they can do for identity security in their organization",{"url":150771,"width":150772,"height":150773},"https://images.ctfassets.net/y1cdw1ablpvd/54GsdMeP1NGPtTDwqLMdig/19a76d323db84b812409a702565ab9e1/Screenshot_2023-09-25_at_13.52.07.png",1840,660,{"sys":150775,"__typename":1724,"title":150776,"caption":150777,"layoutMode":59,"file":150778},{"id":150669},"SaaS dash for IDSA blog","SaaS dashboard with app owner and accounts in the organization",{"url":150779,"width":29644,"height":150780},"https://images.ctfassets.net/y1cdw1ablpvd/VSE6jxxgzRxWl3orrYOD8/126b89e9767c1860405c5c7adcf9d2e7/image7.png",914,{"sys":150782,"__typename":1724,"title":150783,"caption":150784,"layoutMode":59,"file":150785},{"id":150689},"New SaaS channel message ","Get channel messages to your team when an employee signs up for a new SaaS app or creates a new identity",{"url":150786,"width":53051,"height":150787},"https://images.ctfassets.net/y1cdw1ablpvd/7F7AHs0NO5c89q827QFxQK/be73dc7359bc0087dcf5f7e9a1bcf394/image4.png",862,{"sys":150789,"__typename":1724,"title":150790,"caption":150791,"layoutMode":59,"file":150792},{"id":150713},"Account dashboard + Chatops MFA","See all accounts in your organization and allow Push to work directly with employees to harden their accounts",{"url":150793,"width":147807,"height":147808},"https://images.ctfassets.net/y1cdw1ablpvd/4L3L4o9Hyf7kUWbcShsxoZ/8e6ed95c833fb42418d5dd886543ba5a/image2.png",{"sys":150795,"__typename":1717,"type":80540,"ctaText":125792,"buttonLabel":125793,"buttonColour":1721,"buttonUrl":59},{"id":92011},{"items":150797},[],{},"Surprising takeaways from an identity-based attacks report","2023-10-03T00:00:00.000Z",{"items":150802},[150803,151253],{"__typename":2059,"sys":150804,"content":150805,"title":141669,"synopsis":141670,"hashTags":59,"publishedDate":141671,"slug":141672,"tagsCollection":151243,"authorsCollection":151249},{"id":141160},{"json":150806},{"data":150807,"content":150808,"nodeType":856},{},[150809,150815,150821,150827,150833,150839,150859,150869,150887,150893,150899,150912,150918,150924,150930,150936,150942,150948,150953,150959,151027,151033,151038,151044,151050,151067,151073,151079,151100,151118,151124,151130,151160,151165,151171,151189,151195,151201,151219,151225,151231,151237],{"data":150810,"content":150811,"nodeType":1009},{},[150812],{"data":150813,"marks":150814,"value":126377,"nodeType":864},{},[],{"data":150816,"content":150817,"nodeType":860},{},[150818],{"data":150819,"marks":150820,"value":141177,"nodeType":864},{},[],{"data":150822,"content":150823,"nodeType":860},{},[150824],{"data":150825,"marks":150826,"value":141184,"nodeType":864},{},[],{"data":150828,"content":150829,"nodeType":1312},{},[150830],{"data":150831,"marks":150832,"value":141191,"nodeType":864},{},[],{"data":150834,"content":150835,"nodeType":860},{},[150836],{"data":150837,"marks":150838,"value":141198,"nodeType":864},{},[],{"data":150840,"content":150841,"nodeType":860},{},[150842,150845,150849,150852,150856],{"data":150843,"marks":150844,"value":141205,"nodeType":864},{},[],{"data":150846,"marks":150847,"value":141210,"nodeType":864},{},[150848],{"type":2246},{"data":150850,"marks":150851,"value":141214,"nodeType":864},{},[],{"data":150853,"marks":150854,"value":141219,"nodeType":864},{},[150855],{"type":2246},{"data":150857,"marks":150858,"value":141223,"nodeType":864},{},[],{"data":150860,"content":150861,"nodeType":860},{},[150862,150866],{"data":150863,"marks":150864,"value":141231,"nodeType":864},{},[150865],{"type":2246},{"data":150867,"marks":150868,"value":141235,"nodeType":864},{},[],{"data":150870,"content":150871,"nodeType":860},{},[150872,150875,150884],{"data":150873,"marks":150874,"value":141242,"nodeType":864},{},[],{"data":150876,"content":150879,"nodeType":27604},{"target":150877},{"sys":150878},{"id":141247,"type":1001,"linkType":1002},[150880],{"data":150881,"marks":150882,"value":141253,"nodeType":864},{},[150883],{"type":1455},{"data":150885,"marks":150886,"value":141257,"nodeType":864},{},[],{"data":150888,"content":150889,"nodeType":860},{},[150890],{"data":150891,"marks":150892,"value":141264,"nodeType":864},{},[],{"data":150894,"content":150895,"nodeType":1009},{},[150896],{"data":150897,"marks":150898,"value":141271,"nodeType":864},{},[],{"data":150900,"content":150901,"nodeType":860},{},[150902,150905,150909],{"data":150903,"marks":150904,"value":141278,"nodeType":864},{},[],{"data":150906,"marks":150907,"value":1171,"nodeType":864},{},[150908],{"type":899},{"data":150910,"marks":150911,"value":141286,"nodeType":864},{},[],{"data":150913,"content":150914,"nodeType":860},{},[150915],{"data":150916,"marks":150917,"value":141293,"nodeType":864},{},[],{"data":150919,"content":150920,"nodeType":1312},{},[150921],{"data":150922,"marks":150923,"value":141300,"nodeType":864},{},[],{"data":150925,"content":150926,"nodeType":860},{},[150927],{"data":150928,"marks":150929,"value":141307,"nodeType":864},{},[],{"data":150931,"content":150932,"nodeType":860},{},[150933],{"data":150934,"marks":150935,"value":141314,"nodeType":864},{},[],{"data":150937,"content":150938,"nodeType":1009},{},[150939],{"data":150940,"marks":150941,"value":141321,"nodeType":864},{},[],{"data":150943,"content":150944,"nodeType":860},{},[150945],{"data":150946,"marks":150947,"value":141328,"nodeType":864},{},[],{"data":150949,"content":150952,"nodeType":996},{"target":150950},{"sys":150951},{"id":141333,"type":1001,"linkType":1002},[],{"data":150954,"content":150955,"nodeType":860},{},[150956],{"data":150957,"marks":150958,"value":141341,"nodeType":864},{},[],{"data":150960,"content":150961,"nodeType":941},{},[150962,150975,150988,151001,151014],{"data":150963,"content":150964,"nodeType":945},{},[150965],{"data":150966,"content":150967,"nodeType":860},{},[150968,150972],{"data":150969,"marks":150970,"value":141355,"nodeType":864},{},[150971],{"type":899},{"data":150973,"marks":150974,"value":141359,"nodeType":864},{},[],{"data":150976,"content":150977,"nodeType":945},{},[150978],{"data":150979,"content":150980,"nodeType":860},{},[150981,150985],{"data":150982,"marks":150983,"value":141370,"nodeType":864},{},[150984],{"type":899},{"data":150986,"marks":150987,"value":141374,"nodeType":864},{},[],{"data":150989,"content":150990,"nodeType":945},{},[150991],{"data":150992,"content":150993,"nodeType":860},{},[150994,150998],{"data":150995,"marks":150996,"value":141385,"nodeType":864},{},[150997],{"type":899},{"data":150999,"marks":151000,"value":141389,"nodeType":864},{},[],{"data":151002,"content":151003,"nodeType":945},{},[151004],{"data":151005,"content":151006,"nodeType":860},{},[151007,151011],{"data":151008,"marks":151009,"value":141400,"nodeType":864},{},[151010],{"type":899},{"data":151012,"marks":151013,"value":141404,"nodeType":864},{},[],{"data":151015,"content":151016,"nodeType":945},{},[151017],{"data":151018,"content":151019,"nodeType":860},{},[151020,151024],{"data":151021,"marks":151022,"value":141415,"nodeType":864},{},[151023],{"type":899},{"data":151025,"marks":151026,"value":141419,"nodeType":864},{},[],{"data":151028,"content":151029,"nodeType":1009},{},[151030],{"data":151031,"marks":151032,"value":141426,"nodeType":864},{},[],{"data":151034,"content":151037,"nodeType":996},{"target":151035},{"sys":151036},{"id":141431,"type":1001,"linkType":1002},[],{"data":151039,"content":151040,"nodeType":1312},{},[151041],{"data":151042,"marks":151043,"value":141439,"nodeType":864},{},[],{"data":151045,"content":151046,"nodeType":860},{},[151047],{"data":151048,"marks":151049,"value":141446,"nodeType":864},{},[],{"data":151051,"content":151052,"nodeType":860},{},[151053,151056,151064],{"data":151054,"marks":151055,"value":141453,"nodeType":864},{},[],{"data":151057,"content":151060,"nodeType":27604},{"target":151058},{"sys":151059},{"id":141458,"type":1001,"linkType":1002},[151061],{"data":151062,"marks":151063,"value":141463,"nodeType":864},{},[],{"data":151065,"marks":151066,"value":141467,"nodeType":864},{},[],{"data":151068,"content":151069,"nodeType":1312},{},[151070],{"data":151071,"marks":151072,"value":141474,"nodeType":864},{},[],{"data":151074,"content":151075,"nodeType":860},{},[151076],{"data":151077,"marks":151078,"value":141481,"nodeType":864},{},[],{"data":151080,"content":151081,"nodeType":941},{},[151082,151091],{"data":151083,"content":151084,"nodeType":945},{},[151085],{"data":151086,"content":151087,"nodeType":860},{},[151088],{"data":151089,"marks":151090,"value":141494,"nodeType":864},{},[],{"data":151092,"content":151093,"nodeType":945},{},[151094],{"data":151095,"content":151096,"nodeType":860},{},[151097],{"data":151098,"marks":151099,"value":141504,"nodeType":864},{},[],{"data":151101,"content":151102,"nodeType":860},{},[151103,151106,151115],{"data":151104,"marks":151105,"value":141511,"nodeType":864},{},[],{"data":151107,"content":151110,"nodeType":27604},{"target":151108},{"sys":151109},{"id":141516,"type":1001,"linkType":1002},[151111],{"data":151112,"marks":151113,"value":29669,"nodeType":864},{},[151114],{"type":1455},{"data":151116,"marks":151117,"value":141525,"nodeType":864},{},[],{"data":151119,"content":151120,"nodeType":1312},{},[151121],{"data":151122,"marks":151123,"value":141532,"nodeType":864},{},[],{"data":151125,"content":151126,"nodeType":860},{},[151127],{"data":151128,"marks":151129,"value":141539,"nodeType":864},{},[],{"data":151131,"content":151132,"nodeType":941},{},[151133,151142,151151],{"data":151134,"content":151135,"nodeType":945},{},[151136],{"data":151137,"content":151138,"nodeType":860},{},[151139],{"data":151140,"marks":151141,"value":141552,"nodeType":864},{},[],{"data":151143,"content":151144,"nodeType":945},{},[151145],{"data":151146,"content":151147,"nodeType":860},{},[151148],{"data":151149,"marks":151150,"value":141562,"nodeType":864},{},[],{"data":151152,"content":151153,"nodeType":945},{},[151154],{"data":151155,"content":151156,"nodeType":860},{},[151157],{"data":151158,"marks":151159,"value":141572,"nodeType":864},{},[],{"data":151161,"content":151164,"nodeType":996},{"target":151162},{"sys":151163},{"id":141577,"type":1001,"linkType":1002},[],{"data":151166,"content":151167,"nodeType":1312},{},[151168],{"data":151169,"marks":151170,"value":141585,"nodeType":864},{},[],{"data":151172,"content":151173,"nodeType":860},{},[151174,151177,151186],{"data":151175,"marks":151176,"value":141592,"nodeType":864},{},[],{"data":151178,"content":151181,"nodeType":27604},{"target":151179},{"sys":151180},{"id":141458,"type":1001,"linkType":1002},[151182],{"data":151183,"marks":151184,"value":141602,"nodeType":864},{},[151185],{"type":1455},{"data":151187,"marks":151188,"value":12285,"nodeType":864},{},[],{"data":151190,"content":151191,"nodeType":860},{},[151192],{"data":151193,"marks":151194,"value":141612,"nodeType":864},{},[],{"data":151196,"content":151197,"nodeType":1312},{},[151198],{"data":151199,"marks":151200,"value":141619,"nodeType":864},{},[],{"data":151202,"content":151203,"nodeType":860},{},[151204,151207,151216],{"data":151205,"marks":151206,"value":141626,"nodeType":864},{},[],{"data":151208,"content":151211,"nodeType":27604},{"target":151209},{"sys":151210},{"id":141631,"type":1001,"linkType":1002},[151212],{"data":151213,"marks":151214,"value":141637,"nodeType":864},{},[151215],{"type":1455},{"data":151217,"marks":151218,"value":141641,"nodeType":864},{},[],{"data":151220,"content":151221,"nodeType":1009},{},[151222],{"data":151223,"marks":151224,"value":32492,"nodeType":864},{},[],{"data":151226,"content":151227,"nodeType":860},{},[151228],{"data":151229,"marks":151230,"value":141654,"nodeType":864},{},[],{"data":151232,"content":151233,"nodeType":860},{},[151234],{"data":151235,"marks":151236,"value":141661,"nodeType":864},{},[],{"data":151238,"content":151239,"nodeType":860},{},[151240],{"data":151241,"marks":151242,"value":141668,"nodeType":864},{},[],{"items":151244},[151245,151247],{"sys":151246,"name":4904},{"id":4903},{"sys":151248,"name":2729},{"id":2728},{"items":151250},[151251],{"fullName":141682,"firstName":141683,"jobTitle":141684,"profilePicture":151252},{"url":141686},{"__typename":2059,"sys":151254,"content":151255,"title":152102,"synopsis":152103,"hashTags":59,"publishedDate":152104,"slug":152105,"tagsCollection":152106,"authorsCollection":152112},{"id":141247},{"json":151256},{"data":151257,"content":151258,"nodeType":856},{},[151259,151266,151273,151278,151312,151319,151326,151345,151352,151359,151366,151385,151390,151397,151410,151417,151424,151431,151437,151460,151467,151474,151481,151488,151495,151502,151520,151528,151544,151551,151557,151576,151603,151619,151645,151652,151659,151666,151673,151680,151687,151694,151745,151752,151782,151819,151894,151901,151908,151915,151922,151929,151936,151943,151950,151956,151963,151970,151990,151997,152004,152011,152017,152024,152031,152038,152045,152068,152075,152081],{"data":151260,"content":151261,"nodeType":860},{},[151262],{"data":151263,"marks":151264,"value":151265,"nodeType":864},{},[],"If you’re working in security, you know you’re on the hook to secure all the assets in your organization’s attack surface – including cloud and SaaS applications. But with employees signing up and adopting SaaS applications without your oversight, the scale of your attack surface has blown up without you even knowing it - leading to a huge increase in SaaS security risks. ",{"data":151267,"content":151268,"nodeType":860},{},[151269],{"data":151270,"marks":151271,"value":151272,"nodeType":864},{},[],"You’ve probably locked down the known cloud services and cloud apps your company is using (Google Workspace, Microsoft 365, etc.) and you have policies you’re already enforcing for how employees log into, access, and input sensitive data into cloud platforms like Salesforce and Hubspot. \n\nBut what about all those other SaaS applications people in the company are using? Those apps make up a significant part of your attack surface. ",{"data":151274,"content":151277,"nodeType":996},{"target":151275},{"sys":151276},{"id":148228,"type":1001,"linkType":1002},[],{"data":151279,"content":151280,"nodeType":860},{},[151281,151285,151295,151299,151308],{"data":151282,"marks":151283,"value":151284,"nodeType":864},{},[],"You need visibility into all those apps as the first step. We ",{"data":151286,"content":151290,"nodeType":27604},{"target":151287},{"sys":151288},{"id":151289,"type":1001,"linkType":1002},"3PqX7fLrTIYhWjbEhHSRHG",[151291],{"data":151292,"marks":151293,"value":151294,"nodeType":864},{},[],"can help there",{"data":151296,"marks":151297,"value":151298,"nodeType":864},{},[]," and there are some ",{"data":151300,"content":151303,"nodeType":27604},{"target":151301},{"sys":151302},{"id":149551,"type":1001,"linkType":1002},[151304],{"data":151305,"marks":151306,"value":151307,"nodeType":864},{},[],"semi-hacky ways",{"data":151309,"marks":151310,"value":151311,"nodeType":864},{},[]," you can even get this visibility on your own. ",{"data":151313,"content":151314,"nodeType":1009},{},[151315],{"data":151316,"marks":151317,"value":151318,"nodeType":864},{},[],"I found all these shadow SaaS apps, now what?",{"data":151320,"content":151321,"nodeType":860},{},[151322],{"data":151323,"marks":151324,"value":151325,"nodeType":864},{},[],"Once you get the list of (likely hundreds) of SaaS applications employees have been using that you weren’t aware of, you’re probably then thinking about the next daunting task - how do I secure all these shadow SaaS or shadow IT assets across your SaaS attack surface to manage SaaS security risks?",{"data":151327,"content":151328,"nodeType":860},{},[151329,151333,151341],{"data":151330,"marks":151331,"value":151332,"nodeType":864},{},[],"That’s where the ",{"data":151334,"content":151335,"nodeType":883},{"uri":148484},[151336],{"data":151337,"marks":151338,"value":151340,"nodeType":864},{},[151339],{"type":1455},"shared responsibility model ",{"data":151342,"marks":151343,"value":151344,"nodeType":864},{},[],"comes into play. You’re not on the hook to take on every aspect of SaaS security, so let’s do a walkthrough of this model and we’ll help you hone in on where you can make the most impact when it comes to securing your sensitive data with every third-party SaaS vendor.",{"data":151346,"content":151347,"nodeType":1312},{},[151348],{"data":151349,"marks":151350,"value":151351,"nodeType":864},{},[],"SaaS allows you to offload some operational security",{"data":151353,"content":151354,"nodeType":860},{},[151355],{"data":151356,"marks":151357,"value":151358,"nodeType":864},{},[],"You’re undoubtedly resource strapped, so using SaaS apps is a great way to delegate as many operational security tasks as possible to the cloud provider.",{"data":151360,"content":151361,"nodeType":860},{},[151362],{"data":151363,"marks":151364,"value":151365,"nodeType":864},{},[],"The shared-responsibility model shows you your responsibilities as the customer and which the cloud provider owns - this is one of the reasons SaaS is taking over the world.   ",{"data":151367,"content":151368,"nodeType":860},{},[151369,151373,151381],{"data":151370,"marks":151371,"value":151372,"nodeType":864},{},[],"The following table produced by the ",{"data":151374,"content":151375,"nodeType":883},{"uri":148484},[151376],{"data":151377,"marks":151378,"value":151380,"nodeType":864},{},[151379],{"type":1455},"National Cyber Security Centre",{"data":151382,"marks":151383,"value":151384,"nodeType":864},{},[]," (NCSC) shows how much of the balance of security responsibility is outsourced to the SaaS provider. For reference, IaaS = infrastructure-as-a-service; PaaS = platform-as-a-service; SaaS = software-as-a-service:",{"data":151386,"content":151389,"nodeType":996},{"target":151387},{"sys":151388},{"id":148506,"type":1001,"linkType":1002},[],{"data":151391,"content":151392,"nodeType":860},{},[151393],{"data":151394,"marks":151395,"value":151396,"nodeType":864},{},[],"This table shows that in the SaaS model, you’re delegating a lot of responsibility for security to the vendor, which is great because it reduces the burden on your security team and SaaS providers are certainly best placed to secure their software. ",{"data":151398,"content":151399,"nodeType":860},{},[151400,151406],{"data":151401,"marks":151402,"value":151405,"nodeType":864},{},[151403,151404],{"type":2246},{"type":899},"However, this requires far greater trust in SaaS providers. ",{"data":151407,"marks":151408,"value":151409,"nodeType":864},{},[],"Even so, this is a net positive trade off for most organizations.",{"data":151411,"content":151412,"nodeType":860},{},[151413],{"data":151414,"marks":151415,"value":151416,"nodeType":864},{},[],"While we’re offloading a lot to SaaS providers, we aren’t offloading everything. You still need to take care of your responsibilities, even though they’re now quite limited.",{"data":151418,"content":151419,"nodeType":1009},{},[151420],{"data":151421,"marks":151422,"value":151423,"nodeType":864},{},[],"How to handle your responsibilities for managing SaaS risks in your company ",{"data":151425,"content":151426,"nodeType":860},{},[151427],{"data":151428,"marks":151429,"value":151430,"nodeType":864},{},[],"So, how do you go about handling these two responsibilities highlighted in the table below?",{"data":151432,"content":151436,"nodeType":996},{"target":151433},{"sys":151434},{"id":151435,"type":1001,"linkType":1002},"4jeDpoYQzPmg5TFApeopSA",[],{"data":151438,"content":151439,"nodeType":118765},{},[151440,151450],{"data":151441,"content":151442,"nodeType":945},{},[151443],{"data":151444,"content":151445,"nodeType":860},{},[151446],{"data":151447,"marks":151448,"value":151449,"nodeType":864},{},[],"Configuration of the SaaS app ",{"data":151451,"content":151452,"nodeType":945},{},[151453],{"data":151454,"content":151455,"nodeType":860},{},[151456],{"data":151457,"marks":151458,"value":151459,"nodeType":864},{},[],"Manage identity and access controls provided by the app.",{"data":151461,"content":151462,"nodeType":1312},{},[151463],{"data":151464,"marks":151465,"value":151466,"nodeType":864},{},[],"Configuration of the SaaS app",{"data":151468,"content":151469,"nodeType":860},{},[151470],{"data":151471,"marks":151472,"value":151473,"nodeType":864},{},[],"The way application configuration is presented in the NCSC table above is a bit of a red herring for the apps your employees will be self-adopting. The vast majority of SaaS apps (and especially self-adopted apps) allow very little, if any, security relevant configuration. ",{"data":151475,"content":151476,"nodeType":860},{},[151477],{"data":151478,"marks":151479,"value":151480,"nodeType":864},{},[],"Sure, the big core apps like Salesforce, Google Workspace, Microsoft 365 do (and often require a dedicated team or partner to run them), but they are highly unlikely to be self-adopted by employees. ",{"data":151482,"content":151483,"nodeType":860},{},[151484],{"data":151485,"marks":151486,"value":151487,"nodeType":864},{},[],"The issues that are likely to lead to a compromise are more likely to be related to the individual accounts on the app, rather than the app configuration - so in practice there may be little to do in terms of hardening most self-managed apps.",{"data":151489,"content":151490,"nodeType":1312},{},[151491],{"data":151492,"marks":151493,"value":151494,"nodeType":864},{},[],"Manage identity and access controls, like MFA, provided by the app\n",{"data":151496,"content":151497,"nodeType":860},{},[151498],{"data":151499,"marks":151500,"value":151501,"nodeType":864},{},[],"You have a few options for handling this one. We’ll go through the key areas below:",{"data":151503,"content":151504,"nodeType":118765},{},[151505],{"data":151506,"content":151507,"nodeType":945},{},[151508],{"data":151509,"content":151510,"nodeType":860},{},[151511,151516],{"data":151512,"marks":151513,"value":151515,"nodeType":864},{},[151514],{"type":899},"SSO",{"data":151517,"marks":151518,"value":151519,"nodeType":864},{},[],": Better yet, if there’s a way to tuck the app behind SSO, do it! SAML SSO is the ideal, gold standard solution for managing your SaaS security risks. The big issue is that very, very few apps, particularly the smaller ones most of the employees in your company will be signing up for, offer SSO integrations. ",{"data":151521,"content":151522,"nodeType":860},{},[151523],{"data":151524,"marks":151525,"value":151527,"nodeType":864},{},[151526],{"type":899},"When we looked at the apps we cover, only 30% of them offered SAML SSO integrations. ",{"data":151529,"content":151530,"nodeType":860},{},[151531,151535,151540],{"data":151532,"marks":151533,"value":151534,"nodeType":864},{},[],"Making things worse, of those few apps that ",{"data":151536,"marks":151537,"value":151539,"nodeType":864},{},[151538],{"type":2246},"did ",{"data":151541,"marks":151542,"value":151543,"nodeType":864},{},[],"offer SAML SSO as a feature, they offered it as a paid feature that you can only access at a high pricing tier, typically Enterprise or the highest pricing tier. Many more apps offer social logins (aka OIDC SSO), and while this is not quite as good as SAML, for most organizations this is a far better option compared to local passwords for each SaaS app!",{"data":151545,"content":151546,"nodeType":860},{},[151547],{"data":151548,"marks":151549,"value":151550,"nodeType":864},{},[],"You’ve probably heard mutterings about this before and it’s even got its own site, called SSO tax, which gives you a sense of the huge number of apps without SSO integrations. See a screenshot of the site below:",{"data":151552,"content":151556,"nodeType":996},{"target":151553},{"sys":151554},{"id":151555,"type":1001,"linkType":1002},"71LeJlkZLWAr2rMN7Izam3",[],{"data":151558,"content":151559,"nodeType":860},{},[151560,151564,151573],{"data":151561,"marks":151562,"value":151563,"nodeType":864},{},[],"At the moment, this means SAML SSO isn’t a practical option for most apps. We wrote much more on this ",{"data":151565,"content":151568,"nodeType":27604},{"target":151566},{"sys":151567},{"id":150275,"type":1001,"linkType":1002},[151569],{"data":151570,"marks":151571,"value":29669,"nodeType":864},{},[151572],{"type":1455},{"data":151574,"marks":151575,"value":150284,"nodeType":864},{},[],{"data":151577,"content":151578,"nodeType":860},{},[151579,151582,151587,151591,151600],{"data":151580,"marks":151581,"value":61820,"nodeType":864},{},[],{"data":151583,"marks":151584,"value":151586,"nodeType":864},{},[151585],{"type":899}," Encourage the other type of SSO — social logins",{"data":151588,"marks":151589,"value":151590,"nodeType":864},{},[],": It's also smart to make your policy towards OIDC SSO a.k.a. Social Logins (“login with Google” or “login with Microsoft”) clear. Our advice is you should prefer social logins over usernames and passwords wherever possible. Read more about that ",{"data":151592,"content":151595,"nodeType":27604},{"target":151593},{"sys":151594},{"id":141516,"type":1001,"linkType":1002},[151596],{"data":151597,"marks":151598,"value":29669,"nodeType":864},{},[151599],{"type":1455},{"data":151601,"marks":151602,"value":2924,"nodeType":864},{},[],{"data":151604,"content":151605,"nodeType":860},{},[151606,151610,151615],{"data":151607,"marks":151608,"value":151609,"nodeType":864},{},[],"3.",{"data":151611,"marks":151612,"value":151614,"nodeType":864},{},[151613],{"type":899}," Employee trainings and education: ",{"data":151616,"marks":151617,"value":151618,"nodeType":864},{},[],"Of course, you’ll want to (and typically, you’ll be required to) do regular security training for your employees.",{"data":151620,"content":151621,"nodeType":860},{},[151622,151626,151637,151641],{"data":151623,"marks":151624,"value":151625,"nodeType":864},{},[],"If nothing else, make sure employees understand ",{"data":151627,"content":151631,"nodeType":27604},{"target":151628},{"sys":151629},{"id":151630,"type":1001,"linkType":1002},"5Zy1Kj162pY69NT6001gAa",[151632],{"data":151633,"marks":151634,"value":151636,"nodeType":864},{},[151635],{"type":1455},"the value and impact of MFA",{"data":151638,"marks":151639,"value":1171,"nodeType":864},{},[151640],{"type":899},{"data":151642,"marks":151643,"value":151644,"nodeType":864},{},[],"and other identity access management tools.",{"data":151646,"content":151647,"nodeType":1009},{},[151648],{"data":151649,"marks":151650,"value":151651,"nodeType":864},{},[],"Doesn’t delegating my responsibility increase SaaS security risks?",{"data":151653,"content":151654,"nodeType":860},{},[151655],{"data":151656,"marks":151657,"value":151658,"nodeType":864},{},[],"While delegating security responsibilities is great and takes a huge load off your security team, you need to consider who you’re delegating it to. ",{"data":151660,"content":151661,"nodeType":860},{},[151662],{"data":151663,"marks":151664,"value":151665,"nodeType":864},{},[],"This is what’s sometimes understood as supply chain security or third party risk management. You need to trust the SaaS provider to uphold their end of the bargain and, more often than not, also the SaaS/cloud vendors they use (their sub-processors) as well.",{"data":151667,"content":151668,"nodeType":860},{},[151669],{"data":151670,"marks":151671,"value":151672,"nodeType":864},{},[],"This sounds a lot scarier than it is. Many SaaS providers do a great job - they provide easy-to-audit, externally-verified, policies through a framework such as SOC2, and most do regular penetration tests and have bug bounty programs, etc.",{"data":151674,"content":151675,"nodeType":860},{},[151676],{"data":151677,"marks":151678,"value":151679,"nodeType":864},{},[],"And, before you panic about having to do a full security audit of every one of those hundreds of SaaS providers, know that there are tools that can help with this, which we’ll talk more about at the end of this article.",{"data":151681,"content":151682,"nodeType":1009},{},[151683],{"data":151684,"marks":151685,"value":151686,"nodeType":864},{},[],"How to determine if you can live with the risk  ",{"data":151688,"content":151689,"nodeType":860},{},[151690],{"data":151691,"marks":151692,"value":151693,"nodeType":864},{},[],"Here are a few things you might consider when you assess third-party risk: ",{"data":151695,"content":151696,"nodeType":941},{},[151697,151721],{"data":151698,"content":151699,"nodeType":945},{},[151700,151708],{"data":151701,"content":151702,"nodeType":860},{},[151703],{"data":151704,"marks":151705,"value":151707,"nodeType":864},{},[151706],{"type":899},"The data going into these apps is simply too sensitive. ",{"data":151709,"content":151710,"nodeType":941},{},[151711],{"data":151712,"content":151713,"nodeType":945},{},[151714],{"data":151715,"content":151716,"nodeType":860},{},[151717],{"data":151718,"marks":151719,"value":151720,"nodeType":864},{},[],"Many organizations have very sensitive data, customer information or intellectual property (IP) that they simply aren’t willing to entrust to a third party. ",{"data":151722,"content":151723,"nodeType":945},{},[151724,151732],{"data":151725,"content":151726,"nodeType":860},{},[151727],{"data":151728,"marks":151729,"value":151731,"nodeType":864},{},[151730],{"type":899},"The app requests administrative access to sensitive systems ",{"data":151733,"content":151734,"nodeType":941},{},[151735],{"data":151736,"content":151737,"nodeType":945},{},[151738],{"data":151739,"content":151740,"nodeType":860},{},[151741],{"data":151742,"marks":151743,"value":151744,"nodeType":864},{},[],"You may not want to trust a third party with administrative access to critical IT systems",{"data":151746,"content":151747,"nodeType":860},{},[151748],{"data":151749,"marks":151750,"value":151751,"nodeType":864},{},[],"If the sensitive data in the app or the access the app has represents some significant (but not unacceptable) risk, you may consider:",{"data":151753,"content":151754,"nodeType":941},{},[151755],{"data":151756,"content":151757,"nodeType":945},{},[151758,151769],{"data":151759,"content":151760,"nodeType":860},{},[151761,151766],{"data":151762,"marks":151763,"value":151765,"nodeType":864},{},[151764],{"type":899},"The vendor has a string of repeated breaches or security incidents",{"data":151767,"marks":151768,"value":12252,"nodeType":864},{},[],{"data":151770,"content":151771,"nodeType":941},{},[151772],{"data":151773,"content":151774,"nodeType":945},{},[151775],{"data":151776,"content":151777,"nodeType":860},{},[151778],{"data":151779,"marks":151780,"value":151781,"nodeType":864},{},[],"This is troubling because it’s a fairly common pattern for attackers to breach apps in ways that don’t impact customer information, but then use the information they learn from these breaches to launch far more successful breaches in future and gain access to additional sensitive data. ",{"data":151783,"content":151784,"nodeType":860},{},[151785,151789,151796,151799,151806,151809,151816],{"data":151786,"marks":151787,"value":151788,"nodeType":864},{},[],"Consider the string of breaches at ",{"data":151790,"content":151791,"nodeType":883},{"uri":148648},[151792],{"data":151793,"marks":151794,"value":148654,"nodeType":864},{},[151795],{"type":1455},{"data":151797,"marks":151798,"value":3731,"nodeType":864},{},[],{"data":151800,"content":151801,"nodeType":883},{"uri":148660},[151802],{"data":151803,"marks":151804,"value":148666,"nodeType":864},{},[151805],{"type":1455},{"data":151807,"marks":151808,"value":3731,"nodeType":864},{},[],{"data":151810,"content":151811,"nodeType":883},{"uri":148672},[151812],{"data":151813,"marks":151814,"value":148678,"nodeType":864},{},[151815],{"type":1455},{"data":151817,"marks":151818,"value":148682,"nodeType":864},{},[],{"data":151820,"content":151821,"nodeType":941},{},[151822,151846,151870],{"data":151823,"content":151824,"nodeType":945},{},[151825,151833],{"data":151826,"content":151827,"nodeType":860},{},[151828],{"data":151829,"marks":151830,"value":151832,"nodeType":864},{},[151831],{"type":899},"The app doesn’t offer adequate security features. ",{"data":151834,"content":151835,"nodeType":941},{},[151836],{"data":151837,"content":151838,"nodeType":945},{},[151839],{"data":151840,"content":151841,"nodeType":860},{},[151842],{"data":151843,"marks":151844,"value":151845,"nodeType":864},{},[],"You want to see features like MFA, SSO (either social login through OIDC or, ideally, SAML), and bonus points for the ability to enforce these controls. This is especially important on platforms where the data is high-risk.",{"data":151847,"content":151848,"nodeType":945},{},[151849,151857],{"data":151850,"content":151851,"nodeType":860},{},[151852],{"data":151853,"marks":151854,"value":151856,"nodeType":864},{},[151855],{"type":899},"They operate in a sanctioned country ",{"data":151858,"content":151859,"nodeType":941},{},[151860],{"data":151861,"content":151862,"nodeType":945},{},[151863],{"data":151864,"content":151865,"nodeType":860},{},[151866],{"data":151867,"marks":151868,"value":151869,"nodeType":864},{},[],"Clearly SaaS providers operating from (or that have close ties with) sanctioned or politically-complicated countries represent additional risk.",{"data":151871,"content":151872,"nodeType":945},{},[151873,151881],{"data":151874,"content":151875,"nodeType":860},{},[151876],{"data":151877,"marks":151878,"value":151880,"nodeType":864},{},[151879],{"type":899},"The SaaS vendor may not have the resources to adequately protect your sensitive data. ",{"data":151882,"content":151883,"nodeType":941},{},[151884],{"data":151885,"content":151886,"nodeType":945},{},[151887],{"data":151888,"content":151889,"nodeType":860},{},[151890],{"data":151891,"marks":151892,"value":151893,"nodeType":864},{},[],"Also, question vendors that are so small that it is hard to imagine they can afford to spend significant resources on security. ",{"data":151895,"content":151896,"nodeType":860},{},[151897],{"data":151898,"marks":151899,"value":151900,"nodeType":864},{},[],"These are really common apps that integrate with your Google Workspace or Microsoft 365 - they add a feature or help streamline the employee’s workflow but aren’t a fully baked SaaS app with funding, a product and engineering team, or customer support.",{"data":151902,"content":151903,"nodeType":1009},{},[151904],{"data":151905,"marks":151906,"value":151907,"nodeType":864},{},[],"If you can’t establish trust with a SaaS provider…",{"data":151909,"content":151910,"nodeType":860},{},[151911],{"data":151912,"marks":151913,"value":151914,"nodeType":864},{},[],"While the hope is that you can establish enough trust with third-party SaaS providers to allow employees to use the app, there will be exceptions.",{"data":151916,"content":151917,"nodeType":1312},{},[151918],{"data":151919,"marks":151920,"value":151921,"nodeType":864},{},[],"Guide employees to secure alternatives early, before they invest too much time in a risky platform",{"data":151923,"content":151924,"nodeType":860},{},[151925],{"data":151926,"marks":151927,"value":151928,"nodeType":864},{},[],"Obviously, you can block the apps that you’ve deemed too risky for your company’s risk profile, which will reduce the attack surface. However, doing that in a vacuum, without working with the employees who are using (or testing) a SaaS application, can roadblock their work. ",{"data":151930,"content":151931,"nodeType":860},{},[151932],{"data":151933,"marks":151934,"value":151935,"nodeType":864},{},[],"While it solves your need for strong SaaS security, if you don’t provide employees with an alternative, more secure app to test, you’re burning all good will with the rest of the company. ",{"data":151937,"content":151938,"nodeType":860},{},[151939],{"data":151940,"marks":151941,"value":151942,"nodeType":864},{},[],"Worst case scenario, they’ll work around you to use the tool you removed by using their personal laptop or personal email to log in. ",{"data":151944,"content":151945,"nodeType":860},{},[151946],{"data":151947,"marks":151948,"value":151949,"nodeType":864},{},[],"The best path forward is to get into the SaaS adoption process early, as shown in this employee SaaS app adoption workflow: ",{"data":151951,"content":151955,"nodeType":996},{"target":151952},{"sys":151953},{"id":151954,"type":1001,"linkType":1002},"6HzSQ8wPVn9RfDSFWGaCh8",[],{"data":151957,"content":151958,"nodeType":860},{},[151959],{"data":151960,"marks":151961,"value":151962,"nodeType":864},{},[],"The goal is to catch those apps that are high risk, either because the data going into them (or that will be) is high risk or because the app can perform some high-risk action (like managing your inventory or sending emails to customers or your behalf). ",{"data":151964,"content":151965,"nodeType":860},{},[151966],{"data":151967,"marks":151968,"value":151969,"nodeType":864},{},[],"By getting in early, you can focus your efforts on these high-risk vendors and apps to make sure they can be trusted with their data. ",{"data":151971,"content":151972,"nodeType":860},{},[151973,151977,151986],{"data":151974,"marks":151975,"value":151976,"nodeType":864},{},[],"We’ve written more about this ",{"data":151978,"content":151981,"nodeType":27604},{"target":151979},{"sys":151980},{"id":149298,"type":1001,"linkType":1002},[151982],{"data":151983,"marks":151984,"value":29669,"nodeType":864},{},[151985],{"type":1455},{"data":151987,"marks":151988,"value":151989,"nodeType":864},{},[]," and it’s worth your time to read it, we promise. Blocking simply doesn’t work and it frustrates the team, so please consider this new way of securing SaaS. ",{"data":151991,"content":151992,"nodeType":1009},{},[151993],{"data":151994,"marks":151995,"value":151996,"nodeType":864},{},[],"Try a tool to automate SaaS account security improvements",{"data":151998,"content":151999,"nodeType":860},{},[152000],{"data":152001,"marks":152002,"value":152003,"nodeType":864},{},[],"Check out SaaS security tools that don’t only look at the SaaS provider or the SaaS platform itself, but which also focus on the SaaS account or user identity level. ",{"data":152005,"content":152006,"nodeType":860},{},[152007],{"data":152008,"marks":152009,"value":152010,"nodeType":864},{},[],"Once you have visibility into which apps employees are using, you can dig into whether they’re using security features like MFA or using strong passwords. If they're not, use Push to equip them to enable MFA on their own: ",{"data":152012,"content":152016,"nodeType":996},{"target":152013},{"sys":152014},{"id":152015,"type":1001,"linkType":1002},"22jQt6xKpBHthBFqYlzKD1",[],{"data":152018,"content":152019,"nodeType":860},{},[152020],{"data":152021,"marks":152022,"value":152023,"nodeType":864},{},[],"Modern SaaS security solutions like Push can not only give you visibility into that information, but automate the process of reaching out to employees to help them turn on security features or updating weak passwords in a few short clicks.",{"data":152025,"content":152026,"nodeType":1009},{},[152027],{"data":152028,"marks":152029,"value":152030,"nodeType":864},{},[],"Manage SaaS risk as scale without overburdening your team",{"data":152032,"content":152033,"nodeType":860},{},[152034],{"data":152035,"marks":152036,"value":152037,"nodeType":864},{},[],"\nWhen facing a list of hundreds of apps that employees are using in your business, doing due diligence feels like a daunting task. Push can help with this as well.",{"data":152039,"content":152040,"nodeType":860},{},[152041],{"data":152042,"marks":152043,"value":152044,"nodeType":864},{},[],"You can classify SaaS apps directly in the Push platform based on:",{"data":152046,"content":152047,"nodeType":941},{},[152048,152058],{"data":152049,"content":152050,"nodeType":945},{},[152051],{"data":152052,"content":152053,"nodeType":860},{},[152054],{"data":152055,"marks":152056,"value":152057,"nodeType":864},{},[],"the sensitivity of the data they contain",{"data":152059,"content":152060,"nodeType":945},{},[152061],{"data":152062,"content":152063,"nodeType":860},{},[152064],{"data":152065,"marks":152066,"value":152067,"nodeType":864},{},[],"the permissions they've been granted using the Sensitivity level field",{"data":152069,"content":152070,"nodeType":860},{},[152071],{"data":152072,"marks":152073,"value":152074,"nodeType":864},{},[],"Then use the Approval status option to capture your decision about an app. ",{"data":152076,"content":152080,"nodeType":996},{"target":152077},{"sys":152078},{"id":152079,"type":1001,"linkType":1002},"5rACOqYdUseU5rJqTSkaK5",[],{"data":152082,"content":152083,"nodeType":860},{},[152084,152088,152099],{"data":152085,"marks":152086,"value":152087,"nodeType":864},{},[],"This helps your team suss out the risk so you can make the right choice, without having to have discussions in side channels. ",{"data":152089,"content":152093,"nodeType":27604},{"target":152090},{"sys":152091},{"id":152092,"type":1001,"linkType":1002},"1BuDaKpiwwntLe4goObvgb",[152094],{"data":152095,"marks":152096,"value":152098,"nodeType":864},{},[152097],{"type":1455},"Read more about how this works",{"data":152100,"marks":152101,"value":2924,"nodeType":864},{},[],"Focus on account and identity security to reduce SaaS risks","You’ve probably locked down the known cloud services your company is using, but what about all those other SaaS apps people in the company are using? \n","2023-08-15T00:00:00.000Z","focus-on-account-security-to-reduce-saas-risks",{"items":152107},[152108,152110],{"sys":152109,"name":2729},{"id":2728},{"sys":152111,"name":297},{"id":2732},{"items":152113},[152114],{"fullName":140213,"firstName":140214,"jobTitle":140215,"profilePicture":152115},{"url":140217},"report-on-identity-based-attacks","blog/report-on-identity-based-attacks",{"json":152119},{"data":152120,"content":152121,"nodeType":856},{},[152122],{"data":152123,"content":152124,"nodeType":860},{},[152125],{"data":152126,"marks":152127,"value":152128,"nodeType":864},{},[],"Identities have quickly become the new perimeter, leading attackers to target identities as the primary way to access sensitive corporate data. A recent report found that 68% of companies say identity-related attacks directly impacted their business in 2023.","A new report on securing digital identities has some interesting takeaways to consider as we think about securing identities in the cloud. Here's our take.",{"id":152131,"publishedAt":152132},"3mqMCM9bqSDqpMvxttYOFx","2026-08-12T11:55:53.819Z",{"items":152134},[152135,152137],{"sys":152136,"name":297},{"id":2732},{"sys":152138,"name":6593},{"id":6592},{"items":152140},[152141,152143,152145,152147,152149,152151,152153,152155,152157,152159],{"sys":152142,"name":413,"slug":414,"tier":31},{"id":410},{"sys":152144,"name":545,"slug":546,"tier":31},{"id":542},{"sys":152146,"name":642,"slug":643,"tier":31},{"id":639},{"sys":152148,"name":297,"slug":298,"tier":31},{"id":294},{"sys":152150,"name":404,"slug":405,"tier":45},{"id":401},{"sys":152152,"name":502,"slug":503,"tier":45},{"id":499},{"sys":152154,"name":457,"slug":458,"tier":45},{"id":454},{"sys":152156,"name":589,"slug":590,"tier":45},{"id":586},{"sys":152158,"name":333,"slug":334,"tier":45},{"id":330},{"sys":152160,"name":324,"slug":325,"tier":45},{"id":321},"nQIPxCNVjDmloIu-mwrZ6tBh1Gz7Urr4FyGRwE_V2xg",{"id":152163,"title":140166,"authorsCollection":152164,"content":152168,"extension":228,"faqItemsCollection":152339,"faqTitle":59,"featured":6,"hashTags":59,"meta":152341,"metaTitle":152342,"ogImage":59,"postType":79438,"publishedDate":140168,"relatedBlogPostsCollection":152343,"slug":140169,"stem":152938,"subtitle":59,"summary":152939,"synopsis":140167,"sys":152950,"tagsCollection":152952,"topicsCollection":152956,"__hash__":152964},"blog/blog/product-release-september-2023.json",{"items":152165},[152166],{"fullName":79005,"firstName":79006,"jobTitle":79007,"socialLinks":59,"profilePicture":152167},{"url":79009},{"json":152169,"links":152309},{"data":152170,"content":152171,"nodeType":856},{},[152172,152178,152184,152204,152217,152222,152239,152245,152251,152256,152262,152275,152280,152297,152303],{"data":152173,"content":152174,"nodeType":860},{},[152175],{"data":152176,"marks":152177,"value":140016,"nodeType":864},{},[],{"data":152179,"content":152180,"nodeType":1312},{},[152181],{"data":152182,"marks":152183,"value":140023,"nodeType":864},{},[],{"data":152185,"content":152186,"nodeType":860},{},[152187,152190,152194,152197,152201],{"data":152188,"marks":152189,"value":140030,"nodeType":864},{},[],{"data":152191,"marks":152192,"value":65672,"nodeType":864},{},[152193],{"type":899},{"data":152195,"marks":152196,"value":140038,"nodeType":864},{},[],{"data":152198,"marks":152199,"value":140043,"nodeType":864},{},[152200],{"type":899},{"data":152202,"marks":152203,"value":140047,"nodeType":864},{},[],{"data":152205,"content":152206,"nodeType":860},{},[152207,152210,152214],{"data":152208,"marks":152209,"value":140054,"nodeType":864},{},[],{"data":152211,"marks":152212,"value":140059,"nodeType":864},{},[152213],{"type":899},{"data":152215,"marks":152216,"value":140047,"nodeType":864},{},[],{"data":152218,"content":152221,"nodeType":996},{"target":152219},{"sys":152220},{"id":140067,"type":1001,"linkType":1002},[],{"data":152223,"content":152224,"nodeType":860},{},[152225,152228,152236],{"data":152226,"marks":152227,"value":21,"nodeType":864},{},[],{"data":152229,"content":152232,"nodeType":27604},{"target":152230},{"sys":152231},{"id":140079,"type":1001,"linkType":1002},[152233],{"data":152234,"marks":152235,"value":30213,"nodeType":864},{},[],{"data":152237,"marks":152238,"value":21,"nodeType":864},{},[],{"data":152240,"content":152241,"nodeType":1312},{},[152242],{"data":152243,"marks":152244,"value":140093,"nodeType":864},{},[],{"data":152246,"content":152247,"nodeType":860},{},[152248],{"data":152249,"marks":152250,"value":140100,"nodeType":864},{},[],{"data":152252,"content":152255,"nodeType":996},{"target":152253},{"sys":152254},{"id":140105,"type":1001,"linkType":1002},[],{"data":152257,"content":152258,"nodeType":1312},{},[152259],{"data":152260,"marks":152261,"value":140113,"nodeType":864},{},[],{"data":152263,"content":152264,"nodeType":860},{},[152265,152268,152272],{"data":152266,"marks":152267,"value":140120,"nodeType":864},{},[],{"data":152269,"marks":152270,"value":140125,"nodeType":864},{},[152271],{"type":899},{"data":152273,"marks":152274,"value":140129,"nodeType":864},{},[],{"data":152276,"content":152279,"nodeType":996},{"target":152277},{"sys":152278},{"id":140134,"type":1001,"linkType":1002},[],{"data":152281,"content":152282,"nodeType":860},{},[152283,152286,152294],{"data":152284,"marks":152285,"value":21,"nodeType":864},{},[],{"data":152287,"content":152290,"nodeType":27604},{"target":152288},{"sys":152289},{"id":140146,"type":1001,"linkType":1002},[152291],{"data":152292,"marks":152293,"value":30213,"nodeType":864},{},[],{"data":152295,"marks":152296,"value":21,"nodeType":864},{},[],{"data":152298,"content":152299,"nodeType":860},{},[152300],{"data":152301,"marks":152302,"value":90277,"nodeType":864},{},[],{"data":152304,"content":152305,"nodeType":860},{},[152306],{"data":152307,"marks":152308,"value":21,"nodeType":864},{},[],{"entries":152310},{"inline":152311,"hyperlink":152312,"block":152323},[],[152313,152318],{"sys":152314,"__typename":79413,"title":152315,"slug":152316,"articleId":152317},{"id":140079},"Can I specify an owner for a SaaS app in the Push platform?","can-i-specify-an-owner-for-a-saas-app-in-the-push-platform",10097,{"sys":152319,"__typename":79413,"title":152320,"slug":152321,"articleId":152322},{"id":140146},"How do I ignore service accounts or other unlicensed accounts in Push?","how-do-i-ignore-service-accounts-or-other-unlicensed-accounts-in-push",10096,[152324,152329,152334],{"sys":152325,"__typename":1724,"title":152326,"caption":59,"layoutMode":59,"file":152327},{"id":140067},"Owner field gif - release notes - September 2023",{"url":152328,"width":139982,"height":137396},"https://images.ctfassets.net/y1cdw1ablpvd/GDBUZ8TrwZba05JtvzRco/c3aab8ae12b7b99c00b8917dfd708c43/app_owner_demo.gif",{"sys":152330,"__typename":1724,"title":152331,"caption":59,"layoutMode":59,"file":152332},{"id":140105},"App description gif - release notes - September 2023",{"url":152333,"width":139982,"height":137396},"https://images.ctfassets.net/y1cdw1ablpvd/iZuMyQb2Ew7zfknMWjPvL/10c396d74601f125d0ad18bdacb39ab3/app_descriptions_demo.gif",{"sys":152335,"__typename":1724,"title":152336,"caption":59,"layoutMode":59,"file":152337},{"id":140134},"Hide unlicensed employees gif - release notes - September 2023",{"url":152338,"width":139982,"height":137396},"https://images.ctfassets.net/y1cdw1ablpvd/601O76HygmvL800AhOJAQu/e33ee652396d6ed47e18f6be021d617c/hide_unlicensed_demo.gif",{"items":152340},[],{},"Push Security new product features for September 2023 ",{"items":152344},[152345,152597],{"__typename":2059,"sys":152346,"content":152348,"title":152585,"synopsis":152586,"hashTags":59,"publishedDate":152587,"slug":152588,"tagsCollection":152589,"authorsCollection":152593},{"id":152347},"7sWfgb5DRgKxkemGfySmOG",{"json":152349},{"data":152350,"content":152351,"nodeType":856},{},[152352,152359,152402,152408,152415,152421,152439,152445,152468,152473,152490,152496,152512,152528,152534,152552,152559,152566,152573,152579],{"data":152353,"content":152354,"nodeType":860},{},[152355],{"data":152356,"marks":152357,"value":117629,"nodeType":864},{},[152358],{"type":899},{"data":152360,"content":152361,"nodeType":941},{},[152362,152372,152382,152392],{"data":152363,"content":152364,"nodeType":945},{},[152365],{"data":152366,"content":152367,"nodeType":860},{},[152368],{"data":152369,"marks":152370,"value":152371,"nodeType":864},{},[],"Get notified about new SaaS immediately",{"data":152373,"content":152374,"nodeType":945},{},[152375],{"data":152376,"content":152377,"nodeType":860},{},[152378],{"data":152379,"marks":152380,"value":152381,"nodeType":864},{},[],"Jumpstart your risk reviews with app classification",{"data":152383,"content":152384,"nodeType":945},{},[152385],{"data":152386,"content":152387,"nodeType":860},{},[152388],{"data":152389,"marks":152390,"value":152391,"nodeType":864},{},[],"Learn about security findings and fixes right away",{"data":152393,"content":152394,"nodeType":945},{},[152395],{"data":152396,"content":152397,"nodeType":860},{},[152398],{"data":152399,"marks":152400,"value":152401,"nodeType":864},{},[],"Automatically ask end-users to remove dormant integrations",{"data":152403,"content":152404,"nodeType":1312},{},[152405],{"data":152406,"marks":152407,"value":152371,"nodeType":864},{},[],{"data":152409,"content":152410,"nodeType":860},{},[152411],{"data":152412,"marks":152413,"value":152414,"nodeType":864},{},[],"Know right away when employees sign up for a new SaaS app that hasn’t been seen in your environment before so you can review and take action sooner. Use ChatOps to notify your security team in Slack or Microsoft Teams when Push observes a new app.",{"data":152416,"content":152420,"nodeType":996},{"target":152417},{"sys":152418},{"id":152419,"type":1001,"linkType":1002},"276YlohrXIkLMI2qm03Cdt",[],{"data":152422,"content":152423,"nodeType":860},{},[152424,152427,152436],{"data":152425,"marks":152426,"value":21,"nodeType":864},{},[],{"data":152428,"content":152432,"nodeType":27604},{"target":152429},{"sys":152430},{"id":152431,"type":1001,"linkType":1002},"c5d84209-6d36-4b68-b37f-27083de98c75",[152433],{"data":152434,"marks":152435,"value":79249,"nodeType":864},{},[],{"data":152437,"marks":152438,"value":21,"nodeType":864},{},[],{"data":152440,"content":152441,"nodeType":1312},{},[152442],{"data":152443,"marks":152444,"value":152381,"nodeType":864},{},[],{"data":152446,"content":152447,"nodeType":860},{},[152448,152452,152456,152460,152464],{"data":152449,"marks":152450,"value":152451,"nodeType":864},{},[],"Now you can classify SaaS apps directly in the Push platform based on the sensitivity of the data they contain or the permissions they’ve been granted using the ",{"data":152453,"marks":152454,"value":74706,"nodeType":864},{},[152455],{"type":899},{"data":152457,"marks":152458,"value":152459,"nodeType":864},{},[]," field. Then use the ",{"data":152461,"marks":152462,"value":74698,"nodeType":864},{},[152463],{"type":899},{"data":152465,"marks":152466,"value":152467,"nodeType":864},{},[]," option to capture your decision about an app — is it in or out?",{"data":152469,"content":152472,"nodeType":996},{"target":152470},{"sys":152471},{"id":152079,"type":1001,"linkType":1002},[],{"data":152474,"content":152475,"nodeType":860},{},[152476,152479,152487],{"data":152477,"marks":152478,"value":21,"nodeType":864},{},[],{"data":152480,"content":152483,"nodeType":27604},{"target":152481},{"sys":152482},{"id":152092,"type":1001,"linkType":1002},[152484],{"data":152485,"marks":152486,"value":79249,"nodeType":864},{},[],{"data":152488,"marks":152489,"value":21,"nodeType":864},{},[],{"data":152491,"content":152492,"nodeType":1312},{},[152493],{"data":152494,"marks":152495,"value":152391,"nodeType":864},{},[],{"data":152497,"content":152498,"nodeType":860},{},[152499,152503,152508],{"data":152500,"marks":152501,"value":152502,"nodeType":864},{},[],"Enable the new ChatOps topic for ",{"data":152504,"marks":152505,"value":152507,"nodeType":864},{},[152506],{"type":899},"Security findings",{"data":152509,"marks":152510,"value":152511,"nodeType":864},{},[]," to notify your team when Push observes a new security issue — and when an employee resolves it 🎉",{"data":152513,"content":152514,"nodeType":860},{},[152515,152519,152524],{"data":152516,"marks":152517,"value":152518,"nodeType":864},{},[],"In the Push admin console, go to ",{"data":152520,"marks":152521,"value":152523,"nodeType":864},{},[152522],{"type":899},"ChatOps > Security team notifications",{"data":152525,"marks":152526,"value":152527,"nodeType":864},{},[]," and toggle on which security findings you want to get notified about.",{"data":152529,"content":152533,"nodeType":996},{"target":152530},{"sys":152531},{"id":152532,"type":1001,"linkType":1002},"4JvqgTyin52RcaDWQn6KOd",[],{"data":152535,"content":152536,"nodeType":860},{},[152537,152540,152549],{"data":152538,"marks":152539,"value":21,"nodeType":864},{},[],{"data":152541,"content":152545,"nodeType":27604},{"target":152542},{"sys":152543},{"id":152544,"type":1001,"linkType":1002},"3qpazt5rHzRGiJhArYva5k",[152546],{"data":152547,"marks":152548,"value":79249,"nodeType":864},{},[],{"data":152550,"marks":152551,"value":21,"nodeType":864},{},[],{"data":152553,"content":152554,"nodeType":1312},{},[152555],{"data":152556,"marks":152557,"value":152558,"nodeType":864},{},[],"Automatically ask users to remove dormant apps ",{"data":152560,"content":152561,"nodeType":860},{},[152562],{"data":152563,"marks":152564,"value":152565,"nodeType":864},{},[],"Tidying up is easier now. Use ChatOps to ask employees if they still need an integration that they haven’t used in 90 days. If they don’t need it, they can remove it directly via the chat message.",{"data":152567,"content":152568,"nodeType":860},{},[152569],{"data":152570,"marks":152571,"value":152572,"nodeType":864},{},[],"That’s one less risk you need to worry about.",{"data":152574,"content":152578,"nodeType":996},{"target":152575},{"sys":152576},{"id":152577,"type":1001,"linkType":1002},"4DAiff8oOGhyvYGBGDFEXa",[],{"data":152580,"content":152581,"nodeType":860},{},[152582],{"data":152583,"marks":152584,"value":21,"nodeType":864},{},[],"Product release: July 2023","Here’s what’s new on the Push platform for July 2023.","2023-07-31T00:00:00.000Z","product-release-july-2023",{"items":152590},[152591],{"sys":152592,"name":73498},{"id":73497},{"items":152594},[152595],{"fullName":79005,"firstName":79006,"jobTitle":79007,"profilePicture":152596},{"url":79009},{"__typename":2059,"sys":152598,"content":152600,"title":152926,"synopsis":152927,"hashTags":59,"publishedDate":152928,"slug":152929,"tagsCollection":152930,"authorsCollection":152934},{"id":152599},"TvLJcOLVztKAVVxKRwhuX",{"json":152601},{"nodeType":856,"data":152602,"content":152603},{},[152604,152611,152664,152667,152673,152703,152710,152716,152732,152738,152757,152763,152780,152787,152815,152821,152838,152844,152860,152866,152873,152903,152909],{"nodeType":1009,"data":152605,"content":152606},{},[152607],{"nodeType":864,"value":152608,"marks":152609,"data":152610},"Here's what’s new on the Push platform this month:",[],{},{"nodeType":941,"data":152612,"content":152613},{},[152614,152624,152634,152644,152654],{"nodeType":945,"data":152615,"content":152616},{},[152617],{"nodeType":860,"data":152618,"content":152619},{},[152620],{"nodeType":864,"value":152621,"marks":152622,"data":152623},"Remove problematic third-party integrations",[],{},{"nodeType":945,"data":152625,"content":152626},{},[152627],{"nodeType":860,"data":152628,"content":152629},{},[152630],{"nodeType":864,"value":152631,"marks":152632,"data":152633},"Immediately pinpoint security issues",[],{},{"nodeType":945,"data":152635,"content":152636},{},[152637],{"nodeType":860,"data":152638,"content":152639},{},[152640],{"nodeType":864,"value":152641,"marks":152642,"data":152643},"See who’s using a password manager (or not)",[],{},{"nodeType":945,"data":152645,"content":152646},{},[152647],{"nodeType":860,"data":152648,"content":152649},{},[152650],{"nodeType":864,"value":152651,"marks":152652,"data":152653},"Easily license new employees",[],{},{"nodeType":945,"data":152655,"content":152656},{},[152657],{"nodeType":860,"data":152658,"content":152659},{},[152660],{"nodeType":864,"value":152661,"marks":152662,"data":152663},"New Help Center launched",[],{},{"nodeType":1005,"data":152665,"content":152666},{},[],{"nodeType":1312,"data":152668,"content":152669},{},[152670],{"nodeType":864,"value":152621,"marks":152671,"data":152672},[],{},{"nodeType":860,"data":152674,"content":152675},{},[152676,152679,152687,152691,152700],{"nodeType":864,"value":79688,"marks":152677,"data":152678},[],{},{"nodeType":883,"data":152680,"content":152682},{"uri":152681},"https://pushsecurity.com/help/audience/administrators/docs/view-saas-apps-and-employee-activity#delete-third-party-integrations",[152683],{"nodeType":864,"value":152684,"marks":152685,"data":152686},"delete third-party integrations",[],{},{"nodeType":864,"value":152688,"marks":152689,"data":152690}," directly within the Push platform or ",[],{},{"nodeType":27604,"data":152692,"content":152695},{"target":152693},{"sys":152694},{"id":152431,"type":1001,"linkType":1002},[152696],{"nodeType":864,"value":152697,"marks":152698,"data":152699},"via ChatOps",[],{},{"nodeType":864,"value":2924,"marks":152701,"data":152702},[],{},{"nodeType":860,"data":152704,"content":152705},{},[152706],{"nodeType":864,"value":152707,"marks":152708,"data":152709},"Find a dormant, unapproved, or otherwise problematic integration? Remove it with a couple clicks because deleting is caring.",[],{},{"nodeType":996,"data":152711,"content":152715},{"target":152712},{"sys":152713},{"id":152714,"type":1001,"linkType":1002},"51TpD6V7z9yKUahovf9rrr",[],{"nodeType":860,"data":152717,"content":152718},{},[152719,152722,152729],{"nodeType":864,"value":21,"marks":152720,"data":152721},[],{},{"nodeType":883,"data":152723,"content":152724},{"uri":152681},[152725],{"nodeType":864,"value":79249,"marks":152726,"data":152728},[152727],{"type":899},{},{"nodeType":864,"value":21,"marks":152730,"data":152731},[],{},{"nodeType":1312,"data":152733,"content":152734},{},[152735],{"nodeType":864,"value":152631,"marks":152736,"data":152737},[],{},{"nodeType":860,"data":152739,"content":152740},{},[152741,152745,152753],{"nodeType":864,"value":152742,"marks":152743,"data":152744},"Identify security findings quickly on the redesigned ",[],{},{"nodeType":883,"data":152746,"content":152748},{"uri":152747},"https://pushsecurity.com/app/saas/",[152749],{"nodeType":864,"value":152750,"marks":152751,"data":152752},"SaaS page",[],{},{"nodeType":864,"value":152754,"marks":152755,"data":152756}," and drill down into the findings with quick filters. Just like on the account security and third-party integrations pages, you can also export the data to CSV or JSON format to take a closer look. ",[],{},{"nodeType":996,"data":152758,"content":152762},{"target":152759},{"sys":152760},{"id":152761,"type":1001,"linkType":1002},"1Sh8y0ujx1HIMAFqELcotE",[],{"nodeType":860,"data":152764,"content":152765},{},[152766,152769,152777],{"nodeType":864,"value":21,"marks":152767,"data":152768},[],{},{"nodeType":883,"data":152770,"content":152772},{"uri":152771},"https://pushsecurity.com/help/audience/administrators/docs/view-saas-apps-and-employee-activity#view-saas-usage-details",[152773],{"nodeType":864,"value":79249,"marks":152774,"data":152776},[152775],{"type":899},{},{"nodeType":864,"value":21,"marks":152778,"data":152779},[],{},{"nodeType":1312,"data":152781,"content":152782},{},[152783],{"nodeType":864,"value":152784,"marks":152785,"data":152786},"See who’s using a password manager — and who’s not",[],{},{"nodeType":860,"data":152788,"content":152789},{},[152790,152794,152802,152806,152811],{"nodeType":864,"value":152791,"marks":152792,"data":152793},"Try a new ",[],{},{"nodeType":883,"data":152795,"content":152797},{"uri":152796},"https://pushsecurity.com/app/settings/labs/",[152798],{"nodeType":864,"value":152799,"marks":152800,"data":152801},"Push Labs",[],{},{"nodeType":864,"value":152803,"marks":152804,"data":152805}," early-access feature to identify employees who are manually typing their passwords, and therefore probably not using a password manager. Go to ",[],{},{"nodeType":864,"value":152807,"marks":152808,"data":152810},"Settings > Labs",[152809],{"type":899},{},{"nodeType":864,"value":152812,"marks":152813,"data":152814}," in the Push admin console to enable the feature.",[],{},{"nodeType":996,"data":152816,"content":152820},{"target":152817},{"sys":152818},{"id":152819,"type":1001,"linkType":1002},"58qldhClKmGP47B5lxFPfA",[],{"nodeType":860,"data":152822,"content":152823},{},[152824,152827,152835],{"nodeType":864,"value":21,"marks":152825,"data":152826},[],{},{"nodeType":883,"data":152828,"content":152830},{"uri":152829},"https://app.arcade.software/share/vl4ojOl1u2x0ubthLhNY",[152831],{"nodeType":864,"value":79249,"marks":152832,"data":152834},[152833],{"type":899},{},{"nodeType":864,"value":21,"marks":152836,"data":152837},[],{},{"nodeType":1312,"data":152839,"content":152840},{},[152841],{"nodeType":864,"value":152651,"marks":152842,"data":152843},[],{},{"nodeType":860,"data":152845,"content":152846},{},[152847,152851,152856],{"nodeType":864,"value":152848,"marks":152849,"data":152850},"You can now check the ",[],{},{"nodeType":864,"value":152852,"marks":152853,"data":152855},"First seen",[152854],{"type":899},{},{"nodeType":864,"value":152857,"marks":152858,"data":152859}," column to identify employees who’ve recently joined your synced workspace so you can license them in Push.",[],{},{"nodeType":996,"data":152861,"content":152865},{"target":152862},{"sys":152863},{"id":152864,"type":1001,"linkType":1002},"2gpEGKbRFK8PLKPTfkDamu",[],{"nodeType":1312,"data":152867,"content":152868},{},[152869],{"nodeType":864,"value":152870,"marks":152871,"data":152872},"Push knowledge on demand",[],{},{"nodeType":860,"data":152874,"content":152875},{},[152876,152880,152887,152891,152899],{"nodeType":864,"value":152877,"marks":152878,"data":152879},"Search our new ",[],{},{"nodeType":883,"data":152881,"content":152883},{"uri":152882},"https://pushsecurity.com/help/audience/administrators",[152884],{"nodeType":864,"value":89531,"marks":152885,"data":152886},[],{},{"nodeType":864,"value":152888,"marks":152889,"data":152890}," to find answers to common configuration and troubleshooting questions, and to find setup instructions and details on key features of the Push platform. You can also find a ",[],{},{"nodeType":883,"data":152892,"content":152894},{"uri":152893},"https://pushsecurity.com/help/audience/employees/docs/what-is-push",[152895],{"nodeType":864,"value":152896,"marks":152897,"data":152898},"guide for employees",[],{},{"nodeType":864,"value":152900,"marks":152901,"data":152902}," with answers to end-user questions.",[],{},{"nodeType":996,"data":152904,"content":152908},{"target":152905},{"sys":152906},{"id":152907,"type":1001,"linkType":1002},"sob4Nr8xsSuIK1L9QFENj",[],{"nodeType":860,"data":152910,"content":152911},{},[152912,152915,152923],{"nodeType":864,"value":21,"marks":152913,"data":152914},[],{},{"nodeType":883,"data":152916,"content":152917},{"uri":152882},[152918],{"nodeType":864,"value":152919,"marks":152920,"data":152922},"Visit the Help Center",[152921],{"type":899},{},{"nodeType":864,"value":21,"marks":152924,"data":152925},[],{},"Product Release: June 2023","Here’s what’s new on the Push platform for June 2023.","2023-06-02T00:00:00.000Z","product-release-june-2023",{"items":152931},[152932],{"sys":152933,"name":73498},{"id":73497},{"items":152935},[152936],{"fullName":79005,"firstName":79006,"jobTitle":79007,"profilePicture":152937},{"url":79009},"blog/product-release-september-2023",{"json":152940},{"data":152941,"content":152942,"nodeType":856},{},[152943],{"data":152944,"content":152945,"nodeType":860},{},[152946],{"data":152947,"marks":152948,"value":152949,"nodeType":864},{},[],"Capture app owner and custom notes, quickly understand a newly added app, and hide accounts you don’t want to license.\n",{"id":140005,"publishedAt":152951},"2026-08-12T11:55:55.266Z",{"items":152953},[152954],{"sys":152955,"name":73498},{"id":73497},{"items":152957},[152958,152960,152962],{"sys":152959,"name":297,"slug":298,"tier":31},{"id":294},{"sys":152961,"name":545,"slug":546,"tier":31},{"id":542},{"sys":152963,"name":589,"slug":590,"tier":45},{"id":586},"oY47N9KIiqVCILWADW6wCNcojf0vhjwfPHNb8a6d5P8",{"id":152966,"title":152967,"authorsCollection":152968,"content":152972,"extension":228,"faqItemsCollection":153635,"faqTitle":59,"featured":6,"hashTags":59,"meta":153637,"metaTitle":153638,"ogImage":59,"postType":38987,"publishedDate":153639,"relatedBlogPostsCollection":153640,"slug":153642,"stem":153643,"subtitle":59,"summary":153644,"synopsis":153655,"sys":153656,"tagsCollection":153659,"topicsCollection":153665,"__hash__":153687},"blog/blog/what-is-credential-stuffing.json","Credential stuffing: The most common attack against SaaS identities ",{"items":152969},[152970],{"fullName":140213,"firstName":140214,"jobTitle":140215,"socialLinks":59,"profilePicture":152971},{"url":140217},{"json":152973,"links":153589},{"data":152974,"content":152975,"nodeType":856},{},[152976,152982,152989,152996,153003,153010,153017,153024,153030,153037,153044,153051,153057,153064,153071,153090,153106,153132,153139,153146,153153,153160,153167,153174,153181,153188,153212,153219,153232,153239,153246,153253,153260,153267,153273,153280,153377,153387,153393,153400,153407,153414,153421,153428,153435,153442,153449,153455,153462,153469,153476,153483,153490,153497,153540,153546,153578,153583],{"data":152977,"content":152978,"nodeType":1009},{},[152979],{"data":152980,"marks":152981,"value":126377,"nodeType":864},{},[],{"data":152983,"content":152984,"nodeType":860},{},[152985],{"data":152986,"marks":152987,"value":152988,"nodeType":864},{},[],"When it comes to protecting your data and third-party risk management, we often hear about supply chain attacks, which are all those attacks that target a trusted supplier used by many organizations. ",{"data":152990,"content":152991,"nodeType":860},{},[152992],{"data":152993,"marks":152994,"value":152995,"nodeType":864},{},[],"We hear about these attacks in the press because supply chain attacks have such a wide blast radius. They might start with a platform that many organizations use for business (Salesforce, for example). If that SaaS platform is compromised, every company’s data is compromised, including your own. ",{"data":152997,"content":152998,"nodeType":1312},{},[152999],{"data":153000,"marks":153001,"value":153002,"nodeType":864},{},[],"You have some control over this risk, but there are limitations",{"data":153004,"content":153005,"nodeType":860},{},[153006],{"data":153007,"marks":153008,"value":153009,"nodeType":864},{},[],"You can’t prevent supply chain attacks against your sub-processors or vendors, instead you’re stuck simply auditing the third parties you work with in order to verify they can be trusted enough that you’re comfortable using them and giving them access to your data and systems. ",{"data":153011,"content":153012,"nodeType":860},{},[153013],{"data":153014,"marks":153015,"value":153016,"nodeType":864},{},[],"Not the best, but great…this is the reality of doing security in the cloud. The good news is that supply chain attacks are pretty rare (at least today). What you do have control over (and in fact are responsible for) is the security of your organization’s identities in cloud applications. By doing this well you can prevent the most common attack against online applications.",{"data":153018,"content":153019,"nodeType":1009},{},[153020],{"data":153021,"marks":153022,"value":153023,"nodeType":864},{},[],"What is credential stuffing?",{"data":153025,"content":153029,"nodeType":996},{"target":153026},{"sys":153027},{"id":153028,"type":1001,"linkType":1002},"5D7DWdaDQ6KWgnOR8YCDgg",[],{"data":153031,"content":153032,"nodeType":860},{},[153033],{"data":153034,"marks":153035,"value":153036,"nodeType":864},{},[],"Credential stuffing attacks occur when attackers use tools that automate the process of taking a list of breached passwords / stolen credentials (from public password dumps) and retargeting those compromised credentials against different apps and user accounts. ",{"data":153038,"content":153039,"nodeType":860},{},[153040],{"data":153041,"marks":153042,"value":153043,"nodeType":864},{},[],"If you’re familiar with password spraying, credential stuffing is the more effective version. With credential stuffing, the attacker already has a list of stolen credentials and identities to target instead of having to resort to blindly spraying guessed usernames and passwords against multiple sites and user accounts and praying for the attack to hit a target and gain unauthorized access or attempt account takeover.",{"data":153045,"content":153046,"nodeType":1009},{},[153047],{"data":153048,"marks":153049,"value":153050,"nodeType":864},{},[],"How credential stuffing attacks work",{"data":153052,"content":153056,"nodeType":996},{"target":153053},{"sys":153054},{"id":153055,"type":1001,"linkType":1002},"o6eDG116P2tdWdq4oNllR",[],{"data":153058,"content":153059,"nodeType":860},{},[153060],{"data":153061,"marks":153062,"value":153063,"nodeType":864},{},[],"In the example for acme.com in the graphic above, we see how this credential stuffing attack plays out to get access to acme.com’s Mailchimp account because the user re-used their Mailchimp password on another (previously breached) app. At this point, attackers are able to start sending scam emails to acme.com’s customers from their domain, it looks completely legit because it is. ",{"data":153065,"content":153066,"nodeType":1009},{},[153067],{"data":153068,"marks":153069,"value":153070,"nodeType":864},{},[],"Prevalence of credential stuffing attacks",{"data":153072,"content":153073,"nodeType":860},{},[153074,153078,153087],{"data":153075,"marks":153076,"value":153077,"nodeType":864},{},[],"Microsoft’s Director of Identity Standards, Pamela Dingle said ",{"data":153079,"content":153081,"nodeType":883},{"uri":153080},"https://www.linkedin.com/pulse/navigating-ever-evolving-authentication-landscape-pamela-dingle/",[153082],{"data":153083,"marks":153084,"value":153086,"nodeType":864},{},[153085],{"type":1455},"in a recent article",{"data":153088,"marks":153089,"value":42109,"nodeType":864},{},[],{"data":153091,"content":153092,"nodeType":860},{},[153093,153097,153102],{"data":153094,"marks":153095,"value":153096,"nodeType":864},{},[],"“...as of October 2022, ",{"data":153098,"marks":153099,"value":153101,"nodeType":864},{},[153100],{"type":899},"Microsoft blocks 1,287 password attacks every second across our platform",{"data":153103,"marks":153104,"value":153105,"nodeType":864},{},[],"…aka credential stuffing: Passwords are hard to remember, so passengers reuse them. Once attackers crack a password on a low-security site, they replay the same password on your high-security login page.” Dingle cited Microsoft Azure AD authentication log data for her stat.",{"data":153107,"content":153108,"nodeType":860},{},[153109,153113,153120,153124,153129],{"data":153110,"marks":153111,"value":153112,"nodeType":864},{},[],"Auth0 ",{"data":153114,"content":153115,"nodeType":883},{"uri":102033},[153116],{"data":153117,"marks":153118,"value":148064,"nodeType":864},{},[153119],{"type":1455},{"data":153121,"marks":153122,"value":153123,"nodeType":864},{},[]," that ",{"data":153125,"marks":153126,"value":153128,"nodeType":864},{},[153127],{"type":899},"credential stuffing accounts for 34% of overall traffic/authentication events on their platform",{"data":153130,"marks":153131,"value":12252,"nodeType":864},{},[],{"data":153133,"content":153134,"nodeType":1312},{},[153135],{"data":153136,"marks":153137,"value":153138,"nodeType":864},{},[],"Credential stuffing attacks are rarely reported",{"data":153140,"content":153141,"nodeType":860},{},[153142],{"data":153143,"marks":153144,"value":153145,"nodeType":864},{},[],"These attacks are incredibly common, but it’s difficult to detect credential stuffing attacks. If you ask anyone working in incident response, they’ll confirm that credential stuffing attacks are often the entry point for attack. ",{"data":153147,"content":153148,"nodeType":860},{},[153149],{"data":153150,"marks":153151,"value":153152,"nodeType":864},{},[],"However, these credential stuffing attacks are often not reported as such because no organization who’s been victimized and experienced a data breach wants to admit the attack was as “basic” as a credential stuffing attack. Instead, they’d prefer to say they were a victim of an advanced nation-state level threat actor. ",{"data":153154,"content":153155,"nodeType":860},{},[153156],{"data":153157,"marks":153158,"value":153159,"nodeType":864},{},[],"The attacks that actually have a big impact on business are often the ones that target the low-hanging fruit as a starting point. And if you can automate those attacks, even better from the attacker’s point of view.",{"data":153161,"content":153162,"nodeType":860},{},[153163],{"data":153164,"marks":153165,"value":153166,"nodeType":864},{},[],"So, credential stuffing attacks are effective and incredibly common, but why is it more relevant now than ever?",{"data":153168,"content":153169,"nodeType":1009},{},[153170],{"data":153171,"marks":153172,"value":153173,"nodeType":864},{},[],"Employees creating identities means more opportunities for attackers",{"data":153175,"content":153176,"nodeType":860},{},[153177],{"data":153178,"marks":153179,"value":153180,"nodeType":864},{},[],"There’s been a massive shift in how organizations’ attack surfaces are growing and adapting, and that’s because employees are signing up for software to get their work done, and creating new identities as they go.",{"data":153182,"content":153183,"nodeType":860},{},[153184],{"data":153185,"marks":153186,"value":153187,"nodeType":864},{},[],"Don’t think it’s happening in your company? Just because you don’t see it, doesn’t mean it isn’t happening and you can have the most stringent policies possible, but employees will often find a way to work around them just to get access to the tools that make their jobs easier.",{"data":153189,"content":153190,"nodeType":1116},{},[153191],{"data":153192,"content":153193,"nodeType":860},{},[153194,153199,153209],{"data":153195,"marks":153196,"value":153198,"nodeType":864},{},[153197],{"type":899},"80% of workers admit to using SaaS applications at work ",{"data":153200,"content":153202,"nodeType":883},{"uri":153201},"https://track.g2.com/resources/shadow-it-statistics#:~:text=35%25%20of%20employees%20say%20they,collaboration%20tools%20into%20an%20organization",[153203],{"data":153204,"marks":153205,"value":153208,"nodeType":864},{},[153206,153207],{"type":1455},{"type":899},"without getting approval from IT",{"data":153210,"marks":153211,"value":21,"nodeType":864},{},[],{"data":153213,"content":153214,"nodeType":860},{},[153215],{"data":153216,"marks":153217,"value":153218,"nodeType":864},{},[],"The increase in employee-adopted apps has led to employees creating more accounts and identities, on more apps and without the guiding hand of security to make sure strong identity and access controls are in place. ",{"data":153220,"content":153221,"nodeType":860},{},[153222,153228],{"data":153223,"marks":153224,"value":153227,"nodeType":864},{},[153225,153226],{"type":899},{"type":2246},"Opportunistic attackers now have a huge, unmonitored attack surface to target using low effort/cost techniques that generate reliable results for them",{"data":153229,"marks":153230,"value":8618,"nodeType":864},{},[153231],{"type":2246},{"data":153233,"content":153234,"nodeType":1009},{},[153235],{"data":153236,"marks":153237,"value":153238,"nodeType":864},{},[],"Won’t SSO solve this? ",{"data":153240,"content":153241,"nodeType":860},{},[153242],{"data":153243,"marks":153244,"value":153245,"nodeType":864},{},[],"It helps, but it’s not available for most apps.",{"data":153247,"content":153248,"nodeType":860},{},[153249],{"data":153250,"marks":153251,"value":153252,"nodeType":864},{},[],"Many security teams are leaning on single sign-on (SSO) to address this issue. They’ll require that apps used in their company use SSO, specifically SAML (Security Assertion Markup Language) before they can be approved or used. This works really well for the apps that provide this functionality and it’s the gold standard for authentication. ",{"data":153254,"content":153255,"nodeType":860},{},[153256],{"data":153257,"marks":153258,"value":153259,"nodeType":864},{},[],"With SAML SSO, there’s just one account, just one password, and you can centrally deprovision accounts when employees leave the organization. You’re probably already paying for a SAML IdP (Identity Provider) like Google Directory or Azure AD. Many others are using tools like Okta.",{"data":153261,"content":153262,"nodeType":1312},{},[153263],{"data":153264,"marks":153265,"value":153266,"nodeType":864},{},[],"SSO limitations",{"data":153268,"content":153272,"nodeType":996},{"target":153269},{"sys":153270},{"id":153271,"type":1001,"linkType":1002},"5nXHrCukKQAz1aaQJ0bptB",[],{"data":153274,"content":153275,"nodeType":860},{},[153276],{"data":153277,"marks":153278,"value":153279,"nodeType":864},{},[],"There are a couple blockers to using SSO to solve all your identities and SaaS sprawl problems though:",{"data":153281,"content":153282,"nodeType":941},{},[153283,153316,153354],{"data":153284,"content":153285,"nodeType":945},{},[153286,153293],{"data":153287,"content":153288,"nodeType":860},{},[153289],{"data":153290,"marks":153291,"value":153292,"nodeType":864},{},[],"Employees can’t integrate their apps with SSO themselves",{"data":153294,"content":153295,"nodeType":941},{},[153296,153306],{"data":153297,"content":153298,"nodeType":945},{},[153299],{"data":153300,"content":153301,"nodeType":860},{},[153302],{"data":153303,"marks":153304,"value":153305,"nodeType":864},{},[],"SSO isn’t like multi factor authentication (MFA), employees can’t just turn it on. ",{"data":153307,"content":153308,"nodeType":945},{},[153309],{"data":153310,"content":153311,"nodeType":860},{},[153312],{"data":153313,"marks":153314,"value":153315,"nodeType":864},{},[],"Employees aren’t incentivized to get IT approval and work with them on getting their work apps integrated with SSO",{"data":153317,"content":153318,"nodeType":945},{},[153319,153326],{"data":153320,"content":153321,"nodeType":860},{},[153322],{"data":153323,"marks":153324,"value":153325,"nodeType":864},{},[],"SAML SSO won’t help you get visibility into which apps employees are using",{"data":153327,"content":153328,"nodeType":941},{},[153329,153344],{"data":153330,"content":153331,"nodeType":945},{},[153332],{"data":153333,"content":153334,"nodeType":860},{},[153335,153340],{"data":153336,"marks":153337,"value":153339,"nodeType":864},{},[153338],{"type":899},"SSO is not going to help you discover which apps employees are using",{"data":153341,"marks":153342,"value":153343,"nodeType":864},{},[]," - and that haven’t been integrated with SAML. ",{"data":153345,"content":153346,"nodeType":945},{},[153347],{"data":153348,"content":153349,"nodeType":860},{},[153350],{"data":153351,"marks":153352,"value":153353,"nodeType":864},{},[],"But, once you discover them and determine they support SAML, you should absolutely integrate them with your solution (if it makes sense to pay for the top-end license fees). ",{"data":153355,"content":153356,"nodeType":945},{},[153357,153364],{"data":153358,"content":153359,"nodeType":860},{},[153360],{"data":153361,"marks":153362,"value":153363,"nodeType":864},{},[],"SSO isn’t available for most of the apps employees are using",{"data":153365,"content":153366,"nodeType":941},{},[153367],{"data":153368,"content":153369,"nodeType":945},{},[153370],{"data":153371,"content":153372,"nodeType":860},{},[153373],{"data":153374,"marks":153375,"value":153376,"nodeType":864},{},[],"When we reviewed 500 of the most popular apps that Push supports, we found that: ",{"data":153378,"content":153379,"nodeType":1116},{},[153380],{"data":153381,"content":153382,"nodeType":860},{},[153383],{"data":153384,"marks":153385,"value":153386,"nodeType":864},{},[],"Only around 1 out of 3 of apps even claim to support SAML and, of those, very few make it available on anything less than their top enterprise tiers",{"data":153388,"content":153392,"nodeType":996},{"target":153389},{"sys":153390},{"id":153391,"type":1001,"linkType":1002},"56nd8Na4I0efwOf9pfmB8s",[],{"data":153394,"content":153395,"nodeType":1312},{},[153396],{"data":153397,"marks":153398,"value":153399,"nodeType":864},{},[],"New apps less likely to support SAML SSO than enterprise apps",{"data":153401,"content":153402,"nodeType":860},{},[153403],{"data":153404,"marks":153405,"value":153406,"nodeType":864},{},[],"We also noticed that the more modern, newer apps were less likely to offer SAML support than the larger, more established business apps. So if your strategy is to block access to any app that doesn’t offer SSO integrations, you’re going to have to block the majority of self-adopted apps your employees are using. This means employees will soon start trying to hide these newer apps from your security team.",{"data":153408,"content":153409,"nodeType":1009},{},[153410],{"data":153411,"marks":153412,"value":153413,"nodeType":864},{},[],"Prevent credential stuffing attacks",{"data":153415,"content":153416,"nodeType":860},{},[153417],{"data":153418,"marks":153419,"value":153420,"nodeType":864},{},[],"While most of us agree that going SAML and/or passwordless is the goal, we will still need to find out about these identities being created so we can get them protected behind modern authentication mechanisms. ",{"data":153422,"content":153423,"nodeType":860},{},[153424],{"data":153425,"marks":153426,"value":153427,"nodeType":864},{},[],"In the meantime, it’s not even going to be practical to do that as these methods lack broad support, whether you can discover them or not. So, we’re going to need a solution that covers all the not-(or not yet-) SSO identities as well. ",{"data":153429,"content":153430,"nodeType":860},{},[153431],{"data":153432,"marks":153433,"value":153434,"nodeType":864},{},[],"This isn’t the end of the world, since using strong, unique passwords, coupled with multi factor authentication (MFA), are very effective identity and access controls that ensure only legitimate users gain access to an identity.",{"data":153436,"content":153437,"nodeType":1312},{},[153438],{"data":153439,"marks":153440,"value":153441,"nodeType":864},{},[],"Implement sensible controls to prevent credential stuffing attacks",{"data":153443,"content":153444,"nodeType":860},{},[153445],{"data":153446,"marks":153447,"value":153448,"nodeType":864},{},[],"To stop these  attacks (and a whole host of other attacks like brute force attacks to boot) you will need to implement the following controls on all accounts (not just the ones in your IdP or managed identity platform):",{"data":153450,"content":153454,"nodeType":996},{"target":153451},{"sys":153452},{"id":153453,"type":1001,"linkType":1002},"JU64Zj7eiqS1s5OfWmZyo",[],{"data":153456,"content":153457,"nodeType":1312},{},[153458],{"data":153459,"marks":153460,"value":153461,"nodeType":864},{},[],"You need to know not just what apps employees are using, but also how they’re accessing them",{"data":153463,"content":153464,"nodeType":860},{},[153465],{"data":153466,"marks":153467,"value":153468,"nodeType":864},{},[],"It’s useful to note from the requirements that you must have visibility of cloud identities being created, the protocols they use and which app or IdP they exist on - not just which employee is accessing a SaaS website.",{"data":153470,"content":153471,"nodeType":860},{},[153472],{"data":153473,"marks":153474,"value":153475,"nodeType":864},{},[],"There’s only one place where we can get data about who is using which SaaS apps, as well as the ability to inspect passwords and check MFA status for each user…",{"data":153477,"content":153478,"nodeType":860},{},[153479],{"data":153480,"marks":153481,"value":153482,"nodeType":864},{},[],"…The employee’s browsers.",{"data":153484,"content":153485,"nodeType":1312},{},[153486],{"data":153487,"marks":153488,"value":153489,"nodeType":864},{},[],"Benefits of using the browser as a shadow identity and shadow IT discovery method",{"data":153491,"content":153492,"nodeType":860},{},[153493],{"data":153494,"marks":153495,"value":153496,"nodeType":864},{},[],"This is the reason we have chosen to build our solution using a browser extension. It allows us to:",{"data":153498,"content":153499,"nodeType":941},{},[153500,153510,153520,153530],{"data":153501,"content":153502,"nodeType":945},{},[153503],{"data":153504,"content":153505,"nodeType":860},{},[153506],{"data":153507,"marks":153508,"value":153509,"nodeType":864},{},[],"Directly observe each identity’s authentication mechanism (SAML, OICD, or local password),",{"data":153511,"content":153512,"nodeType":945},{},[153513],{"data":153514,"content":153515,"nodeType":860},{},[153516],{"data":153517,"marks":153518,"value":153519,"nodeType":864},{},[],"Enforce strong user credentials. When passwords are used, assess their strength and whether they are being shared or reused across multiple accounts, and ",{"data":153521,"content":153522,"nodeType":945},{},[153523],{"data":153524,"content":153525,"nodeType":860},{},[153526],{"data":153527,"marks":153528,"value":153529,"nodeType":864},{},[],"Check if each password has already shown up in breached credential dumps, and",{"data":153531,"content":153532,"nodeType":945},{},[153533],{"data":153534,"content":153535,"nodeType":860},{},[153536],{"data":153537,"marks":153538,"value":153539,"nodeType":864},{},[],"Allow security teams to fix any accounts that don’t meet their policies or expectations.",{"data":153541,"content":153542,"nodeType":1009},{},[153543],{"data":153544,"marks":153545,"value":32492,"nodeType":864},{},[],{"data":153547,"content":153548,"nodeType":860},{},[153549,153553,153562,153566,153574],{"data":153550,"marks":153551,"value":153552,"nodeType":864},{},[],"We’ve written in much more detail about why discovering employee identities and SaaS use through the browser makes the most sense in this very biased (but reasonable!) ",{"data":153554,"content":153557,"nodeType":27604},{"target":153555},{"sys":153556},{"id":141458,"type":1001,"linkType":1002},[153558],{"data":153559,"marks":153560,"value":79166,"nodeType":864},{},[153561],{"type":1455},{"data":153563,"marks":153564,"value":153565,"nodeType":864},{},[],". Give it a read and have a think about it. Hell, come tell us why we’re wrong on ",{"data":153567,"content":153569,"nodeType":883},{"uri":153568},"https://www.linkedin.com/company/30685750",[153570],{"data":153571,"marks":153572,"value":47670,"nodeType":864},{},[153573],{"type":1455},{"data":153575,"marks":153576,"value":153577,"nodeType":864},{},[],", we’d love to discuss the pros and cons of our approach in more detail.",{"data":153579,"content":153582,"nodeType":996},{"target":153580},{"sys":153581},{"id":92011,"type":1001,"linkType":1002},[],{"data":153584,"content":153585,"nodeType":860},{},[153586],{"data":153587,"marks":153588,"value":21,"nodeType":864},{},[],{"entries":153590},{"inline":153591,"hyperlink":153592,"block":153597},[],[153593],{"sys":153594,"__typename":2059,"title":153595,"slug":153596},{"id":141458},"Want to discover the full extent of your SaaS sprawl? Embrace browser extensions ","want-to-discover-the-full-extent-of-your-saas-sprawl-embrace-browser",[153598,153605,153612,153619,153627,153633],{"sys":153599,"__typename":1724,"title":153023,"caption":153600,"layoutMode":59,"file":153601},{"id":153028},"Credential stuffing, defined",{"url":153602,"width":153603,"height":153604},"https://images.ctfassets.net/y1cdw1ablpvd/2fRpR48CojRpuKC9szltbE/655d9755e42533589162646798f171cd/Screenshot_2023-09-12_at_1.29.25_PM.png",1754,982,{"sys":153606,"__typename":1724,"title":153607,"caption":153608,"layoutMode":140740,"file":153609},{"id":153055},"Supply chain attack timeline - PLG"," An example of a credential stuffing attack to compromise cloud identities",{"url":153610,"width":1736,"height":153611},"https://images.ctfassets.net/y1cdw1ablpvd/4dw9aikRRKmga5pVWBAXWU/0649644e0f0aaf29510738307546d5b1/image16.png",1104,{"sys":153613,"__typename":1724,"title":153266,"caption":153614,"layoutMode":59,"file":153615},{"id":153271},"SSO helps, but isn't a bulletproof solution",{"url":153616,"width":153617,"height":153618},"https://images.ctfassets.net/y1cdw1ablpvd/6G4XBWxaKdDRqEsWC3Pzjr/6aed882752f140cc0df5dbc092a378cb/image2.png",1758,986,{"sys":153620,"__typename":1724,"title":153621,"caption":153622,"layoutMode":140740,"file":153623},{"id":153391},"SSO only available for a small subset of apps","SSO is the gold standard, but a lack of universal support means we'll still need to deal with passwords for the foreseeable future.",{"url":153624,"width":153625,"height":153626},"https://images.ctfassets.net/y1cdw1ablpvd/7FDQf7atru96r1DRAjb52k/213136ebecccb073334878befc0c3dc8/image12.png",1790,1002,{"sys":153628,"__typename":1724,"title":153629,"caption":153630,"layoutMode":140740,"file":153631},{"id":153453},"Controls to prevent credential stuffing attacks - PLG","Controls to prevent credential stuffing attacks",{"url":153632,"width":1736,"height":100286},"https://images.ctfassets.net/y1cdw1ablpvd/7b0CDfnOLHjOAZgp9UMzlZ/8bdf95a1e66162f155c22db703f40048/image16.png",{"sys":153634,"__typename":1717,"type":80540,"ctaText":125792,"buttonLabel":125793,"buttonColour":1721,"buttonUrl":59},{"id":92011},{"items":153636},[],{},"Credential stuffing: the most common identities attack  ","2023-09-25T00:00:00.000Z",{"items":153641},[],"what-is-credential-stuffing","blog/what-is-credential-stuffing",{"json":153645},{"data":153646,"content":153647,"nodeType":856},{},[153648],{"data":153649,"content":153650,"nodeType":860},{},[153651],{"data":153652,"marks":153653,"value":153654,"nodeType":864},{},[],"Credential stuffing attacks occur when attackers use tools that automate the process of taking a list of breached passwords / stolen user credentials (from public password dumps) and retargeting those compromised credentials against different apps. ","Credential stuffing attacks are incredibly common, but they often go undetected. These attacks are often the entry point for attack. Learn how to prevent them.",{"id":153657,"publishedAt":153658},"7DtkTPaOVWOkprmz3f7RKG","2026-08-12T11:55:56.830Z",{"items":153660},[153661,153663],{"sys":153662,"name":6593},{"id":6592},{"sys":153664,"name":297},{"id":2732},{"items":153666},[153667,153669,153671,153673,153675,153677,153679,153681,153683,153685],{"sys":153668,"name":279,"slug":280,"tier":31},{"id":276},{"sys":153670,"name":413,"slug":414,"tier":31},{"id":410},{"sys":153672,"name":545,"slug":546,"tier":31},{"id":542},{"sys":153674,"name":297,"slug":298,"tier":31},{"id":294},{"sys":153676,"name":642,"slug":643,"tier":31},{"id":639},{"sys":153678,"name":333,"slug":334,"tier":45},{"id":330},{"sys":153680,"name":502,"slug":503,"tier":45},{"id":499},{"sys":153682,"name":404,"slug":405,"tier":45},{"id":401},{"sys":153684,"name":589,"slug":590,"tier":45},{"id":586},{"sys":153686,"name":457,"slug":458,"tier":45},{"id":454},"16lP4qvuA0BdXvcdXDd-jA8mpjyBUccz2J9QanRCX6I",{"id":153689,"title":141669,"authorsCollection":153690,"content":153694,"extension":228,"faqItemsCollection":154170,"faqTitle":59,"featured":6,"hashTags":59,"meta":154172,"metaTitle":154173,"ogImage":59,"postType":38987,"publishedDate":141671,"relatedBlogPostsCollection":154174,"slug":141672,"stem":155381,"subtitle":59,"summary":155382,"synopsis":141670,"sys":155393,"tagsCollection":155395,"topicsCollection":155401,"__hash__":155417},"blog/blog/what-are-shadow-identities.json",{"items":153691},[153692],{"fullName":141682,"firstName":141683,"jobTitle":141684,"socialLinks":59,"profilePicture":153693},{"url":141686},{"json":153695,"links":154132},{"data":153696,"content":153697,"nodeType":856},{},[153698,153704,153710,153716,153722,153728,153748,153758,153776,153782,153788,153801,153807,153813,153819,153825,153831,153837,153842,153848,153916,153922,153927,153933,153939,153956,153962,153968,153989,154007,154013,154019,154049,154054,154060,154078,154084,154090,154108,154114,154120,154126],{"data":153699,"content":153700,"nodeType":1009},{},[153701],{"data":153702,"marks":153703,"value":126377,"nodeType":864},{},[],{"data":153705,"content":153706,"nodeType":860},{},[153707],{"data":153708,"marks":153709,"value":141177,"nodeType":864},{},[],{"data":153711,"content":153712,"nodeType":860},{},[153713],{"data":153714,"marks":153715,"value":141184,"nodeType":864},{},[],{"data":153717,"content":153718,"nodeType":1312},{},[153719],{"data":153720,"marks":153721,"value":141191,"nodeType":864},{},[],{"data":153723,"content":153724,"nodeType":860},{},[153725],{"data":153726,"marks":153727,"value":141198,"nodeType":864},{},[],{"data":153729,"content":153730,"nodeType":860},{},[153731,153734,153738,153741,153745],{"data":153732,"marks":153733,"value":141205,"nodeType":864},{},[],{"data":153735,"marks":153736,"value":141210,"nodeType":864},{},[153737],{"type":2246},{"data":153739,"marks":153740,"value":141214,"nodeType":864},{},[],{"data":153742,"marks":153743,"value":141219,"nodeType":864},{},[153744],{"type":2246},{"data":153746,"marks":153747,"value":141223,"nodeType":864},{},[],{"data":153749,"content":153750,"nodeType":860},{},[153751,153755],{"data":153752,"marks":153753,"value":141231,"nodeType":864},{},[153754],{"type":2246},{"data":153756,"marks":153757,"value":141235,"nodeType":864},{},[],{"data":153759,"content":153760,"nodeType":860},{},[153761,153764,153773],{"data":153762,"marks":153763,"value":141242,"nodeType":864},{},[],{"data":153765,"content":153768,"nodeType":27604},{"target":153766},{"sys":153767},{"id":141247,"type":1001,"linkType":1002},[153769],{"data":153770,"marks":153771,"value":141253,"nodeType":864},{},[153772],{"type":1455},{"data":153774,"marks":153775,"value":141257,"nodeType":864},{},[],{"data":153777,"content":153778,"nodeType":860},{},[153779],{"data":153780,"marks":153781,"value":141264,"nodeType":864},{},[],{"data":153783,"content":153784,"nodeType":1009},{},[153785],{"data":153786,"marks":153787,"value":141271,"nodeType":864},{},[],{"data":153789,"content":153790,"nodeType":860},{},[153791,153794,153798],{"data":153792,"marks":153793,"value":141278,"nodeType":864},{},[],{"data":153795,"marks":153796,"value":1171,"nodeType":864},{},[153797],{"type":899},{"data":153799,"marks":153800,"value":141286,"nodeType":864},{},[],{"data":153802,"content":153803,"nodeType":860},{},[153804],{"data":153805,"marks":153806,"value":141293,"nodeType":864},{},[],{"data":153808,"content":153809,"nodeType":1312},{},[153810],{"data":153811,"marks":153812,"value":141300,"nodeType":864},{},[],{"data":153814,"content":153815,"nodeType":860},{},[153816],{"data":153817,"marks":153818,"value":141307,"nodeType":864},{},[],{"data":153820,"content":153821,"nodeType":860},{},[153822],{"data":153823,"marks":153824,"value":141314,"nodeType":864},{},[],{"data":153826,"content":153827,"nodeType":1009},{},[153828],{"data":153829,"marks":153830,"value":141321,"nodeType":864},{},[],{"data":153832,"content":153833,"nodeType":860},{},[153834],{"data":153835,"marks":153836,"value":141328,"nodeType":864},{},[],{"data":153838,"content":153841,"nodeType":996},{"target":153839},{"sys":153840},{"id":141333,"type":1001,"linkType":1002},[],{"data":153843,"content":153844,"nodeType":860},{},[153845],{"data":153846,"marks":153847,"value":141341,"nodeType":864},{},[],{"data":153849,"content":153850,"nodeType":941},{},[153851,153864,153877,153890,153903],{"data":153852,"content":153853,"nodeType":945},{},[153854],{"data":153855,"content":153856,"nodeType":860},{},[153857,153861],{"data":153858,"marks":153859,"value":141355,"nodeType":864},{},[153860],{"type":899},{"data":153862,"marks":153863,"value":141359,"nodeType":864},{},[],{"data":153865,"content":153866,"nodeType":945},{},[153867],{"data":153868,"content":153869,"nodeType":860},{},[153870,153874],{"data":153871,"marks":153872,"value":141370,"nodeType":864},{},[153873],{"type":899},{"data":153875,"marks":153876,"value":141374,"nodeType":864},{},[],{"data":153878,"content":153879,"nodeType":945},{},[153880],{"data":153881,"content":153882,"nodeType":860},{},[153883,153887],{"data":153884,"marks":153885,"value":141385,"nodeType":864},{},[153886],{"type":899},{"data":153888,"marks":153889,"value":141389,"nodeType":864},{},[],{"data":153891,"content":153892,"nodeType":945},{},[153893],{"data":153894,"content":153895,"nodeType":860},{},[153896,153900],{"data":153897,"marks":153898,"value":141400,"nodeType":864},{},[153899],{"type":899},{"data":153901,"marks":153902,"value":141404,"nodeType":864},{},[],{"data":153904,"content":153905,"nodeType":945},{},[153906],{"data":153907,"content":153908,"nodeType":860},{},[153909,153913],{"data":153910,"marks":153911,"value":141415,"nodeType":864},{},[153912],{"type":899},{"data":153914,"marks":153915,"value":141419,"nodeType":864},{},[],{"data":153917,"content":153918,"nodeType":1009},{},[153919],{"data":153920,"marks":153921,"value":141426,"nodeType":864},{},[],{"data":153923,"content":153926,"nodeType":996},{"target":153924},{"sys":153925},{"id":141431,"type":1001,"linkType":1002},[],{"data":153928,"content":153929,"nodeType":1312},{},[153930],{"data":153931,"marks":153932,"value":141439,"nodeType":864},{},[],{"data":153934,"content":153935,"nodeType":860},{},[153936],{"data":153937,"marks":153938,"value":141446,"nodeType":864},{},[],{"data":153940,"content":153941,"nodeType":860},{},[153942,153945,153953],{"data":153943,"marks":153944,"value":141453,"nodeType":864},{},[],{"data":153946,"content":153949,"nodeType":27604},{"target":153947},{"sys":153948},{"id":141458,"type":1001,"linkType":1002},[153950],{"data":153951,"marks":153952,"value":141463,"nodeType":864},{},[],{"data":153954,"marks":153955,"value":141467,"nodeType":864},{},[],{"data":153957,"content":153958,"nodeType":1312},{},[153959],{"data":153960,"marks":153961,"value":141474,"nodeType":864},{},[],{"data":153963,"content":153964,"nodeType":860},{},[153965],{"data":153966,"marks":153967,"value":141481,"nodeType":864},{},[],{"data":153969,"content":153970,"nodeType":941},{},[153971,153980],{"data":153972,"content":153973,"nodeType":945},{},[153974],{"data":153975,"content":153976,"nodeType":860},{},[153977],{"data":153978,"marks":153979,"value":141494,"nodeType":864},{},[],{"data":153981,"content":153982,"nodeType":945},{},[153983],{"data":153984,"content":153985,"nodeType":860},{},[153986],{"data":153987,"marks":153988,"value":141504,"nodeType":864},{},[],{"data":153990,"content":153991,"nodeType":860},{},[153992,153995,154004],{"data":153993,"marks":153994,"value":141511,"nodeType":864},{},[],{"data":153996,"content":153999,"nodeType":27604},{"target":153997},{"sys":153998},{"id":141516,"type":1001,"linkType":1002},[154000],{"data":154001,"marks":154002,"value":29669,"nodeType":864},{},[154003],{"type":1455},{"data":154005,"marks":154006,"value":141525,"nodeType":864},{},[],{"data":154008,"content":154009,"nodeType":1312},{},[154010],{"data":154011,"marks":154012,"value":141532,"nodeType":864},{},[],{"data":154014,"content":154015,"nodeType":860},{},[154016],{"data":154017,"marks":154018,"value":141539,"nodeType":864},{},[],{"data":154020,"content":154021,"nodeType":941},{},[154022,154031,154040],{"data":154023,"content":154024,"nodeType":945},{},[154025],{"data":154026,"content":154027,"nodeType":860},{},[154028],{"data":154029,"marks":154030,"value":141552,"nodeType":864},{},[],{"data":154032,"content":154033,"nodeType":945},{},[154034],{"data":154035,"content":154036,"nodeType":860},{},[154037],{"data":154038,"marks":154039,"value":141562,"nodeType":864},{},[],{"data":154041,"content":154042,"nodeType":945},{},[154043],{"data":154044,"content":154045,"nodeType":860},{},[154046],{"data":154047,"marks":154048,"value":141572,"nodeType":864},{},[],{"data":154050,"content":154053,"nodeType":996},{"target":154051},{"sys":154052},{"id":141577,"type":1001,"linkType":1002},[],{"data":154055,"content":154056,"nodeType":1312},{},[154057],{"data":154058,"marks":154059,"value":141585,"nodeType":864},{},[],{"data":154061,"content":154062,"nodeType":860},{},[154063,154066,154075],{"data":154064,"marks":154065,"value":141592,"nodeType":864},{},[],{"data":154067,"content":154070,"nodeType":27604},{"target":154068},{"sys":154069},{"id":141458,"type":1001,"linkType":1002},[154071],{"data":154072,"marks":154073,"value":141602,"nodeType":864},{},[154074],{"type":1455},{"data":154076,"marks":154077,"value":12285,"nodeType":864},{},[],{"data":154079,"content":154080,"nodeType":860},{},[154081],{"data":154082,"marks":154083,"value":141612,"nodeType":864},{},[],{"data":154085,"content":154086,"nodeType":1312},{},[154087],{"data":154088,"marks":154089,"value":141619,"nodeType":864},{},[],{"data":154091,"content":154092,"nodeType":860},{},[154093,154096,154105],{"data":154094,"marks":154095,"value":141626,"nodeType":864},{},[],{"data":154097,"content":154100,"nodeType":27604},{"target":154098},{"sys":154099},{"id":141631,"type":1001,"linkType":1002},[154101],{"data":154102,"marks":154103,"value":141637,"nodeType":864},{},[154104],{"type":1455},{"data":154106,"marks":154107,"value":141641,"nodeType":864},{},[],{"data":154109,"content":154110,"nodeType":1009},{},[154111],{"data":154112,"marks":154113,"value":32492,"nodeType":864},{},[],{"data":154115,"content":154116,"nodeType":860},{},[154117],{"data":154118,"marks":154119,"value":141654,"nodeType":864},{},[],{"data":154121,"content":154122,"nodeType":860},{},[154123],{"data":154124,"marks":154125,"value":141661,"nodeType":864},{},[],{"data":154127,"content":154128,"nodeType":860},{},[154129],{"data":154130,"marks":154131,"value":141668,"nodeType":864},{},[],{"entries":154133},{"inline":154134,"hyperlink":154135,"block":154146},[],[154136,154138,154140,154142],{"sys":154137,"__typename":2059,"title":152102,"slug":152105},{"id":141247},{"sys":154139,"__typename":2059,"title":153595,"slug":153596},{"id":141458},{"sys":154141,"__typename":2059,"title":150747,"slug":150748},{"id":141516},{"sys":154143,"__typename":2059,"title":154144,"slug":154145},{"id":141631},"How to kick off an incident response investigation for a compromised SaaS account","how-to-kick-off-an-incident-response-investigation-for-a-compromised-saas",[154147,154154,154162],{"sys":154148,"__typename":1724,"title":154149,"caption":154150,"layoutMode":59,"file":154151},{"id":141333},"Shadow identity risks","The risks of shadow identities",{"url":154152,"width":154153,"height":103752},"https://images.ctfassets.net/y1cdw1ablpvd/5xapR3DnQgRa58qpgKEkNN/57c124664fa57d8576f945e4be931707/image1.png",1590,{"sys":154155,"__typename":1724,"title":154156,"caption":154157,"layoutMode":59,"file":154158},{"id":141431},"Manage shadow identity risks","Guidance for managing the risks shadow identities present",{"url":154159,"width":154160,"height":154161},"https://images.ctfassets.net/y1cdw1ablpvd/3Cdux9BCTCgDMVVyBqGyXM/f72f4c7f0a05f19b094999a3db860cea/image2.png",1588,892,{"sys":154163,"__typename":1724,"title":154164,"caption":154165,"layoutMode":59,"file":154166},{"id":141577},"Password reuse chatops","In Push, admins can push out notifications to employees via Slack or Teams with easily understandable, non-technical instructions to improve the security of their account",{"url":154167,"width":154168,"height":154169},"https://images.ctfassets.net/y1cdw1ablpvd/1aMdatiFBkOodiOPMLIu3J/81b92634084bef4e02c75e00b6dcedf7/image3.png",1284,921,{"items":154171},[],{},"Manage the risk of shadow identities",{"items":154175},[154176,154934],{"__typename":2059,"sys":154177,"content":154178,"title":152102,"synopsis":152103,"hashTags":59,"publishedDate":152104,"slug":152105,"tagsCollection":154924,"authorsCollection":154930},{"id":141247},{"json":154179},{"data":154180,"content":154181,"nodeType":856},{},[154182,154188,154194,154199,154227,154233,154239,154255,154261,154267,154273,154289,154294,154300,154311,154317,154323,154329,154334,154355,154361,154367,154373,154379,154385,154391,154407,154414,154427,154433,154438,154456,154481,154494,154516,154522,154528,154534,154540,154546,154552,154558,154605,154611,154639,154675,154744,154750,154756,154762,154768,154774,154780,154786,154792,154797,154803,154809,154827,154833,154839,154845,154850,154856,154862,154868,154874,154895,154901,154906],{"data":154183,"content":154184,"nodeType":860},{},[154185],{"data":154186,"marks":154187,"value":151265,"nodeType":864},{},[],{"data":154189,"content":154190,"nodeType":860},{},[154191],{"data":154192,"marks":154193,"value":151272,"nodeType":864},{},[],{"data":154195,"content":154198,"nodeType":996},{"target":154196},{"sys":154197},{"id":148228,"type":1001,"linkType":1002},[],{"data":154200,"content":154201,"nodeType":860},{},[154202,154205,154213,154216,154224],{"data":154203,"marks":154204,"value":151284,"nodeType":864},{},[],{"data":154206,"content":154209,"nodeType":27604},{"target":154207},{"sys":154208},{"id":151289,"type":1001,"linkType":1002},[154210],{"data":154211,"marks":154212,"value":151294,"nodeType":864},{},[],{"data":154214,"marks":154215,"value":151298,"nodeType":864},{},[],{"data":154217,"content":154220,"nodeType":27604},{"target":154218},{"sys":154219},{"id":149551,"type":1001,"linkType":1002},[154221],{"data":154222,"marks":154223,"value":151307,"nodeType":864},{},[],{"data":154225,"marks":154226,"value":151311,"nodeType":864},{},[],{"data":154228,"content":154229,"nodeType":1009},{},[154230],{"data":154231,"marks":154232,"value":151318,"nodeType":864},{},[],{"data":154234,"content":154235,"nodeType":860},{},[154236],{"data":154237,"marks":154238,"value":151325,"nodeType":864},{},[],{"data":154240,"content":154241,"nodeType":860},{},[154242,154245,154252],{"data":154243,"marks":154244,"value":151332,"nodeType":864},{},[],{"data":154246,"content":154247,"nodeType":883},{"uri":148484},[154248],{"data":154249,"marks":154250,"value":151340,"nodeType":864},{},[154251],{"type":1455},{"data":154253,"marks":154254,"value":151344,"nodeType":864},{},[],{"data":154256,"content":154257,"nodeType":1312},{},[154258],{"data":154259,"marks":154260,"value":151351,"nodeType":864},{},[],{"data":154262,"content":154263,"nodeType":860},{},[154264],{"data":154265,"marks":154266,"value":151358,"nodeType":864},{},[],{"data":154268,"content":154269,"nodeType":860},{},[154270],{"data":154271,"marks":154272,"value":151365,"nodeType":864},{},[],{"data":154274,"content":154275,"nodeType":860},{},[154276,154279,154286],{"data":154277,"marks":154278,"value":151372,"nodeType":864},{},[],{"data":154280,"content":154281,"nodeType":883},{"uri":148484},[154282],{"data":154283,"marks":154284,"value":151380,"nodeType":864},{},[154285],{"type":1455},{"data":154287,"marks":154288,"value":151384,"nodeType":864},{},[],{"data":154290,"content":154293,"nodeType":996},{"target":154291},{"sys":154292},{"id":148506,"type":1001,"linkType":1002},[],{"data":154295,"content":154296,"nodeType":860},{},[154297],{"data":154298,"marks":154299,"value":151396,"nodeType":864},{},[],{"data":154301,"content":154302,"nodeType":860},{},[154303,154308],{"data":154304,"marks":154305,"value":151405,"nodeType":864},{},[154306,154307],{"type":2246},{"type":899},{"data":154309,"marks":154310,"value":151409,"nodeType":864},{},[],{"data":154312,"content":154313,"nodeType":860},{},[154314],{"data":154315,"marks":154316,"value":151416,"nodeType":864},{},[],{"data":154318,"content":154319,"nodeType":1009},{},[154320],{"data":154321,"marks":154322,"value":151423,"nodeType":864},{},[],{"data":154324,"content":154325,"nodeType":860},{},[154326],{"data":154327,"marks":154328,"value":151430,"nodeType":864},{},[],{"data":154330,"content":154333,"nodeType":996},{"target":154331},{"sys":154332},{"id":151435,"type":1001,"linkType":1002},[],{"data":154335,"content":154336,"nodeType":118765},{},[154337,154346],{"data":154338,"content":154339,"nodeType":945},{},[154340],{"data":154341,"content":154342,"nodeType":860},{},[154343],{"data":154344,"marks":154345,"value":151449,"nodeType":864},{},[],{"data":154347,"content":154348,"nodeType":945},{},[154349],{"data":154350,"content":154351,"nodeType":860},{},[154352],{"data":154353,"marks":154354,"value":151459,"nodeType":864},{},[],{"data":154356,"content":154357,"nodeType":1312},{},[154358],{"data":154359,"marks":154360,"value":151466,"nodeType":864},{},[],{"data":154362,"content":154363,"nodeType":860},{},[154364],{"data":154365,"marks":154366,"value":151473,"nodeType":864},{},[],{"data":154368,"content":154369,"nodeType":860},{},[154370],{"data":154371,"marks":154372,"value":151480,"nodeType":864},{},[],{"data":154374,"content":154375,"nodeType":860},{},[154376],{"data":154377,"marks":154378,"value":151487,"nodeType":864},{},[],{"data":154380,"content":154381,"nodeType":1312},{},[154382],{"data":154383,"marks":154384,"value":151494,"nodeType":864},{},[],{"data":154386,"content":154387,"nodeType":860},{},[154388],{"data":154389,"marks":154390,"value":151501,"nodeType":864},{},[],{"data":154392,"content":154393,"nodeType":118765},{},[154394],{"data":154395,"content":154396,"nodeType":945},{},[154397],{"data":154398,"content":154399,"nodeType":860},{},[154400,154404],{"data":154401,"marks":154402,"value":151515,"nodeType":864},{},[154403],{"type":899},{"data":154405,"marks":154406,"value":151519,"nodeType":864},{},[],{"data":154408,"content":154409,"nodeType":860},{},[154410],{"data":154411,"marks":154412,"value":151527,"nodeType":864},{},[154413],{"type":899},{"data":154415,"content":154416,"nodeType":860},{},[154417,154420,154424],{"data":154418,"marks":154419,"value":151534,"nodeType":864},{},[],{"data":154421,"marks":154422,"value":151539,"nodeType":864},{},[154423],{"type":2246},{"data":154425,"marks":154426,"value":151543,"nodeType":864},{},[],{"data":154428,"content":154429,"nodeType":860},{},[154430],{"data":154431,"marks":154432,"value":151550,"nodeType":864},{},[],{"data":154434,"content":154437,"nodeType":996},{"target":154435},{"sys":154436},{"id":151555,"type":1001,"linkType":1002},[],{"data":154439,"content":154440,"nodeType":860},{},[154441,154444,154453],{"data":154442,"marks":154443,"value":151563,"nodeType":864},{},[],{"data":154445,"content":154448,"nodeType":27604},{"target":154446},{"sys":154447},{"id":150275,"type":1001,"linkType":1002},[154449],{"data":154450,"marks":154451,"value":29669,"nodeType":864},{},[154452],{"type":1455},{"data":154454,"marks":154455,"value":150284,"nodeType":864},{},[],{"data":154457,"content":154458,"nodeType":860},{},[154459,154462,154466,154469,154478],{"data":154460,"marks":154461,"value":61820,"nodeType":864},{},[],{"data":154463,"marks":154464,"value":151586,"nodeType":864},{},[154465],{"type":899},{"data":154467,"marks":154468,"value":151590,"nodeType":864},{},[],{"data":154470,"content":154473,"nodeType":27604},{"target":154471},{"sys":154472},{"id":141516,"type":1001,"linkType":1002},[154474],{"data":154475,"marks":154476,"value":29669,"nodeType":864},{},[154477],{"type":1455},{"data":154479,"marks":154480,"value":2924,"nodeType":864},{},[],{"data":154482,"content":154483,"nodeType":860},{},[154484,154487,154491],{"data":154485,"marks":154486,"value":151609,"nodeType":864},{},[],{"data":154488,"marks":154489,"value":151614,"nodeType":864},{},[154490],{"type":899},{"data":154492,"marks":154493,"value":151618,"nodeType":864},{},[],{"data":154495,"content":154496,"nodeType":860},{},[154497,154500,154509,154513],{"data":154498,"marks":154499,"value":151625,"nodeType":864},{},[],{"data":154501,"content":154504,"nodeType":27604},{"target":154502},{"sys":154503},{"id":151630,"type":1001,"linkType":1002},[154505],{"data":154506,"marks":154507,"value":151636,"nodeType":864},{},[154508],{"type":1455},{"data":154510,"marks":154511,"value":1171,"nodeType":864},{},[154512],{"type":899},{"data":154514,"marks":154515,"value":151644,"nodeType":864},{},[],{"data":154517,"content":154518,"nodeType":1009},{},[154519],{"data":154520,"marks":154521,"value":151651,"nodeType":864},{},[],{"data":154523,"content":154524,"nodeType":860},{},[154525],{"data":154526,"marks":154527,"value":151658,"nodeType":864},{},[],{"data":154529,"content":154530,"nodeType":860},{},[154531],{"data":154532,"marks":154533,"value":151665,"nodeType":864},{},[],{"data":154535,"content":154536,"nodeType":860},{},[154537],{"data":154538,"marks":154539,"value":151672,"nodeType":864},{},[],{"data":154541,"content":154542,"nodeType":860},{},[154543],{"data":154544,"marks":154545,"value":151679,"nodeType":864},{},[],{"data":154547,"content":154548,"nodeType":1009},{},[154549],{"data":154550,"marks":154551,"value":151686,"nodeType":864},{},[],{"data":154553,"content":154554,"nodeType":860},{},[154555],{"data":154556,"marks":154557,"value":151693,"nodeType":864},{},[],{"data":154559,"content":154560,"nodeType":941},{},[154561,154583],{"data":154562,"content":154563,"nodeType":945},{},[154564,154571],{"data":154565,"content":154566,"nodeType":860},{},[154567],{"data":154568,"marks":154569,"value":151707,"nodeType":864},{},[154570],{"type":899},{"data":154572,"content":154573,"nodeType":941},{},[154574],{"data":154575,"content":154576,"nodeType":945},{},[154577],{"data":154578,"content":154579,"nodeType":860},{},[154580],{"data":154581,"marks":154582,"value":151720,"nodeType":864},{},[],{"data":154584,"content":154585,"nodeType":945},{},[154586,154593],{"data":154587,"content":154588,"nodeType":860},{},[154589],{"data":154590,"marks":154591,"value":151731,"nodeType":864},{},[154592],{"type":899},{"data":154594,"content":154595,"nodeType":941},{},[154596],{"data":154597,"content":154598,"nodeType":945},{},[154599],{"data":154600,"content":154601,"nodeType":860},{},[154602],{"data":154603,"marks":154604,"value":151744,"nodeType":864},{},[],{"data":154606,"content":154607,"nodeType":860},{},[154608],{"data":154609,"marks":154610,"value":151751,"nodeType":864},{},[],{"data":154612,"content":154613,"nodeType":941},{},[154614],{"data":154615,"content":154616,"nodeType":945},{},[154617,154627],{"data":154618,"content":154619,"nodeType":860},{},[154620,154624],{"data":154621,"marks":154622,"value":151765,"nodeType":864},{},[154623],{"type":899},{"data":154625,"marks":154626,"value":12252,"nodeType":864},{},[],{"data":154628,"content":154629,"nodeType":941},{},[154630],{"data":154631,"content":154632,"nodeType":945},{},[154633],{"data":154634,"content":154635,"nodeType":860},{},[154636],{"data":154637,"marks":154638,"value":151781,"nodeType":864},{},[],{"data":154640,"content":154641,"nodeType":860},{},[154642,154645,154652,154655,154662,154665,154672],{"data":154643,"marks":154644,"value":151788,"nodeType":864},{},[],{"data":154646,"content":154647,"nodeType":883},{"uri":148648},[154648],{"data":154649,"marks":154650,"value":148654,"nodeType":864},{},[154651],{"type":1455},{"data":154653,"marks":154654,"value":3731,"nodeType":864},{},[],{"data":154656,"content":154657,"nodeType":883},{"uri":148660},[154658],{"data":154659,"marks":154660,"value":148666,"nodeType":864},{},[154661],{"type":1455},{"data":154663,"marks":154664,"value":3731,"nodeType":864},{},[],{"data":154666,"content":154667,"nodeType":883},{"uri":148672},[154668],{"data":154669,"marks":154670,"value":148678,"nodeType":864},{},[154671],{"type":1455},{"data":154673,"marks":154674,"value":148682,"nodeType":864},{},[],{"data":154676,"content":154677,"nodeType":941},{},[154678,154700,154722],{"data":154679,"content":154680,"nodeType":945},{},[154681,154688],{"data":154682,"content":154683,"nodeType":860},{},[154684],{"data":154685,"marks":154686,"value":151832,"nodeType":864},{},[154687],{"type":899},{"data":154689,"content":154690,"nodeType":941},{},[154691],{"data":154692,"content":154693,"nodeType":945},{},[154694],{"data":154695,"content":154696,"nodeType":860},{},[154697],{"data":154698,"marks":154699,"value":151845,"nodeType":864},{},[],{"data":154701,"content":154702,"nodeType":945},{},[154703,154710],{"data":154704,"content":154705,"nodeType":860},{},[154706],{"data":154707,"marks":154708,"value":151856,"nodeType":864},{},[154709],{"type":899},{"data":154711,"content":154712,"nodeType":941},{},[154713],{"data":154714,"content":154715,"nodeType":945},{},[154716],{"data":154717,"content":154718,"nodeType":860},{},[154719],{"data":154720,"marks":154721,"value":151869,"nodeType":864},{},[],{"data":154723,"content":154724,"nodeType":945},{},[154725,154732],{"data":154726,"content":154727,"nodeType":860},{},[154728],{"data":154729,"marks":154730,"value":151880,"nodeType":864},{},[154731],{"type":899},{"data":154733,"content":154734,"nodeType":941},{},[154735],{"data":154736,"content":154737,"nodeType":945},{},[154738],{"data":154739,"content":154740,"nodeType":860},{},[154741],{"data":154742,"marks":154743,"value":151893,"nodeType":864},{},[],{"data":154745,"content":154746,"nodeType":860},{},[154747],{"data":154748,"marks":154749,"value":151900,"nodeType":864},{},[],{"data":154751,"content":154752,"nodeType":1009},{},[154753],{"data":154754,"marks":154755,"value":151907,"nodeType":864},{},[],{"data":154757,"content":154758,"nodeType":860},{},[154759],{"data":154760,"marks":154761,"value":151914,"nodeType":864},{},[],{"data":154763,"content":154764,"nodeType":1312},{},[154765],{"data":154766,"marks":154767,"value":151921,"nodeType":864},{},[],{"data":154769,"content":154770,"nodeType":860},{},[154771],{"data":154772,"marks":154773,"value":151928,"nodeType":864},{},[],{"data":154775,"content":154776,"nodeType":860},{},[154777],{"data":154778,"marks":154779,"value":151935,"nodeType":864},{},[],{"data":154781,"content":154782,"nodeType":860},{},[154783],{"data":154784,"marks":154785,"value":151942,"nodeType":864},{},[],{"data":154787,"content":154788,"nodeType":860},{},[154789],{"data":154790,"marks":154791,"value":151949,"nodeType":864},{},[],{"data":154793,"content":154796,"nodeType":996},{"target":154794},{"sys":154795},{"id":151954,"type":1001,"linkType":1002},[],{"data":154798,"content":154799,"nodeType":860},{},[154800],{"data":154801,"marks":154802,"value":151962,"nodeType":864},{},[],{"data":154804,"content":154805,"nodeType":860},{},[154806],{"data":154807,"marks":154808,"value":151969,"nodeType":864},{},[],{"data":154810,"content":154811,"nodeType":860},{},[154812,154815,154824],{"data":154813,"marks":154814,"value":151976,"nodeType":864},{},[],{"data":154816,"content":154819,"nodeType":27604},{"target":154817},{"sys":154818},{"id":149298,"type":1001,"linkType":1002},[154820],{"data":154821,"marks":154822,"value":29669,"nodeType":864},{},[154823],{"type":1455},{"data":154825,"marks":154826,"value":151989,"nodeType":864},{},[],{"data":154828,"content":154829,"nodeType":1009},{},[154830],{"data":154831,"marks":154832,"value":151996,"nodeType":864},{},[],{"data":154834,"content":154835,"nodeType":860},{},[154836],{"data":154837,"marks":154838,"value":152003,"nodeType":864},{},[],{"data":154840,"content":154841,"nodeType":860},{},[154842],{"data":154843,"marks":154844,"value":152010,"nodeType":864},{},[],{"data":154846,"content":154849,"nodeType":996},{"target":154847},{"sys":154848},{"id":152015,"type":1001,"linkType":1002},[],{"data":154851,"content":154852,"nodeType":860},{},[154853],{"data":154854,"marks":154855,"value":152023,"nodeType":864},{},[],{"data":154857,"content":154858,"nodeType":1009},{},[154859],{"data":154860,"marks":154861,"value":152030,"nodeType":864},{},[],{"data":154863,"content":154864,"nodeType":860},{},[154865],{"data":154866,"marks":154867,"value":152037,"nodeType":864},{},[],{"data":154869,"content":154870,"nodeType":860},{},[154871],{"data":154872,"marks":154873,"value":152044,"nodeType":864},{},[],{"data":154875,"content":154876,"nodeType":941},{},[154877,154886],{"data":154878,"content":154879,"nodeType":945},{},[154880],{"data":154881,"content":154882,"nodeType":860},{},[154883],{"data":154884,"marks":154885,"value":152057,"nodeType":864},{},[],{"data":154887,"content":154888,"nodeType":945},{},[154889],{"data":154890,"content":154891,"nodeType":860},{},[154892],{"data":154893,"marks":154894,"value":152067,"nodeType":864},{},[],{"data":154896,"content":154897,"nodeType":860},{},[154898],{"data":154899,"marks":154900,"value":152074,"nodeType":864},{},[],{"data":154902,"content":154905,"nodeType":996},{"target":154903},{"sys":154904},{"id":152079,"type":1001,"linkType":1002},[],{"data":154907,"content":154908,"nodeType":860},{},[154909,154912,154921],{"data":154910,"marks":154911,"value":152087,"nodeType":864},{},[],{"data":154913,"content":154916,"nodeType":27604},{"target":154914},{"sys":154915},{"id":152092,"type":1001,"linkType":1002},[154917],{"data":154918,"marks":154919,"value":152098,"nodeType":864},{},[154920],{"type":1455},{"data":154922,"marks":154923,"value":2924,"nodeType":864},{},[],{"items":154925},[154926,154928],{"sys":154927,"name":2729},{"id":2728},{"sys":154929,"name":297},{"id":2732},{"items":154931},[154932],{"fullName":140213,"firstName":140214,"jobTitle":140215,"profilePicture":154933},{"url":140217},{"__typename":2059,"sys":154935,"content":154937,"title":155367,"synopsis":155368,"hashTags":59,"publishedDate":155369,"slug":155370,"tagsCollection":155371,"authorsCollection":155377},{"id":154936},"PFohPDnjNsdWymehsCvV6",{"json":154938},{"data":154939,"content":154940,"nodeType":856},{},[154941,154947,154954,154961,154968,154975,154982,154989,154996,155003,155010,155017,155024,155030,155037,155044,155051,155058,155065,155072,155079,155086,155093,155100,155107,155114,155120,155127,155147,155154,155161,155168,155175,155182,155189,155196,155203,155210,155226,155242,155249,155256,155263,155270,155277,155284,155291,155298,155305,155312,155319,155326,155333,155340,155347],{"data":154942,"content":154943,"nodeType":1009},{},[154944],{"data":154945,"marks":154946,"value":126377,"nodeType":864},{},[],{"data":154948,"content":154949,"nodeType":860},{},[154950],{"data":154951,"marks":154952,"value":154953,"nodeType":864},{},[],"SaaS applications have made it incredibly easy for users to quickly sign up and adopt their tools independently. As a result, employees are signing up for the tools they need on their own, without IT approval.  This is a great thing as it allows businesses to embrace innovation and employees to move quickly and be more productive. But the cost of this digital transformation is the emergence of shadow IT. ",{"data":154955,"content":154956,"nodeType":860},{},[154957],{"data":154958,"marks":154959,"value":154960,"nodeType":864},{},[],"So, what exactly is shadow IT? ",{"data":154962,"content":154963,"nodeType":860},{},[154964],{"data":154965,"marks":154966,"value":154967,"nodeType":864},{},[],"In this article, we’ll define shadow IT and shadow SaaS and talk through some of the serious security risks associated with it and give some actionable guidance on how to manage both shadow IT and its risks. ",{"data":154969,"content":154970,"nodeType":860},{},[154971],{"data":154972,"marks":154973,"value":154974,"nodeType":864},{},[],"We’ll be focusing primarily on shadow SaaS, since this is a newer area that organizations need to address with new security methods, policies and tools. ",{"data":154976,"content":154977,"nodeType":1009},{},[154978],{"data":154979,"marks":154980,"value":154981,"nodeType":864},{},[],"What is shadow IT?",{"data":154983,"content":154984,"nodeType":860},{},[154985],{"data":154986,"marks":154987,"value":154988,"nodeType":864},{},[],"Shadow IT is the use of technology, software, applications, or devices within an organization that hasn’t been explicitly approved or given oversight from IT and/or security teams. Usually, individual employees or teams have adopted these tools to streamline processes, enhance productivity, or address specific needs.",{"data":154990,"content":154991,"nodeType":860},{},[154992],{"data":154993,"marks":154994,"value":154995,"nodeType":864},{},[],"This article specifically focuses on the SaaS applications portion of shadow IT, also known as “shadow SaaS.”",{"data":154997,"content":154998,"nodeType":1009},{},[154999],{"data":155000,"marks":155001,"value":155002,"nodeType":864},{},[],"What is shadow SaaS?",{"data":155004,"content":155005,"nodeType":860},{},[155006],{"data":155007,"marks":155008,"value":155009,"nodeType":864},{},[],"Shadow SaaS is a subset of shadow IT, specifically focused on — you guessed it — SaaS apps. Shadow SaaS are the SaaS and cloud applications used within an organization without the explicit knowledge or approval of the company’s IT department. ",{"data":155011,"content":155012,"nodeType":860},{},[155013],{"data":155014,"marks":155015,"value":155016,"nodeType":864},{},[],"These unmanaged services and apps are added to the company’s attack surface when employees or teams subscribe to and use SaaS applications on their own, bypassing official IT procurement and security processes. ",{"data":155018,"content":155019,"nodeType":1009},{},[155020],{"data":155021,"marks":155022,"value":155023,"nodeType":864},{},[],"What are the risks of shadow SaaS?",{"data":155025,"content":155029,"nodeType":996},{"target":155026},{"sys":155027},{"id":155028,"type":1001,"linkType":1002},"1WaBhoYHNKLEYTxjuCdhon",[],{"data":155031,"content":155032,"nodeType":1312},{},[155033],{"data":155034,"marks":155035,"value":155036,"nodeType":864},{},[],"Bugs and vulnerabilities ",{"data":155038,"content":155039,"nodeType":860},{},[155040],{"data":155041,"marks":155042,"value":155043,"nodeType":864},{},[],"The SaaS applications and cloud services that fall under shadow IT don’t always go through proper security testing and assessments. ",{"data":155045,"content":155046,"nodeType":860},{},[155047],{"data":155048,"marks":155049,"value":155050,"nodeType":864},{},[],"Many may be bootstrapped tools or apps that are only managed by very small teams and startups who are primarily focused on adding product features, not security features.",{"data":155052,"content":155053,"nodeType":860},{},[155054],{"data":155055,"marks":155056,"value":155057,"nodeType":864},{},[],"That means some bugs and vulnerabilities may exist that attackers can exploit to gain access to the sensitive data stored within the app or to gain a foothold into your business by moving laterally through your attack surface.  ",{"data":155059,"content":155060,"nodeType":860},{},[155061],{"data":155062,"marks":155063,"value":155064,"nodeType":864},{},[],"There’s always a risk of bugs and vulnerabilities, but the risk is higher when the vendor isn’t investing in security.",{"data":155066,"content":155067,"nodeType":1312},{},[155068],{"data":155069,"marks":155070,"value":155071,"nodeType":864},{},[],"Data loss and potential compliance violations ",{"data":155073,"content":155074,"nodeType":860},{},[155075],{"data":155076,"marks":155077,"value":155078,"nodeType":864},{},[],"The issue with shadow SaaS is that the security team has no knowledge that the platform or app is being used in the company, so they have no idea where company data is being stored. ",{"data":155080,"content":155081,"nodeType":860},{},[155082],{"data":155083,"marks":155084,"value":155085,"nodeType":864},{},[],"Without knowing which third-parties have access to company data, the security team aren’t aware what sensitive data could be exposed to attackers. Data leaks, supply chain, and third-party risks are the biggest security issues that result from shadow IT and shadow SaaS. ",{"data":155087,"content":155088,"nodeType":860},{},[155089],{"data":155090,"marks":155091,"value":155092,"nodeType":864},{},[],"When it comes to compliance,  you may find you’re not actually complying with data privacy regulations as well as you thought. More and more regulatory compliance standards are enforcing up-to-date SaaS application inventories along with their third-party supplier checklists these days.",{"data":155094,"content":155095,"nodeType":1312},{},[155096],{"data":155097,"marks":155098,"value":155099,"nodeType":864},{},[],"Lack of support",{"data":155101,"content":155102,"nodeType":860},{},[155103],{"data":155104,"marks":155105,"value":155106,"nodeType":864},{},[],"When the IT team doesn’t know which SaaS apps the team is using, they can’t provide support with the tool, when needed. That leaves employees feeling stranded and frustrated as they struggle to troubleshoot on their own. This may even lead to employees being blocked on projects they’re relying on the SaaS app to help with.",{"data":155108,"content":155109,"nodeType":1009},{},[155110],{"data":155111,"marks":155112,"value":155113,"nodeType":864},{},[],"How to manage shadow IT risks",{"data":155115,"content":155119,"nodeType":996},{"target":155116},{"sys":155117},{"id":155118,"type":1001,"linkType":1002},"4CSBmlPhd3rc74ohqIVX9N",[],{"data":155121,"content":155122,"nodeType":1312},{},[155123],{"data":155124,"marks":155125,"value":155126,"nodeType":864},{},[],"Visibility ",{"data":155128,"content":155129,"nodeType":860},{},[155130,155134,155143],{"data":155131,"marks":155132,"value":155133,"nodeType":864},{},[],"To properly secure your data and that of your customers, you need to have visibility into all the SaaS applications employees are using, including free trials and apps they’re just testing. We’ve written ",{"data":155135,"content":155137,"nodeType":883},{"uri":155136},"https://pushsecurity.com/blog/free-and-trial-saas-applications-are-even-riskier-than-paid-apps/",[155138],{"data":155139,"marks":155140,"value":155142,"nodeType":864},{},[155141],{"type":1455},"an article",{"data":155144,"marks":155145,"value":155146,"nodeType":864},{},[]," on how to manage the security challenges of freemium and trial apps that’s worth exploring further.",{"data":155148,"content":155149,"nodeType":860},{},[155150],{"data":155151,"marks":155152,"value":155153,"nodeType":864},{},[],"There are plenty of modern tools on the market that focus on discovering the SaaS applications and cloud services employees in your company are using. Most also have some level of risk-based data for the apps people are using, so you can make better security decisions about the shadow IT you uncover.",{"data":155155,"content":155156,"nodeType":1312},{},[155157],{"data":155158,"marks":155159,"value":155160,"nodeType":864},{},[],"Consolidate shadow IT and cloud-based applications",{"data":155162,"content":155163,"nodeType":860},{},[155164],{"data":155165,"marks":155166,"value":155167,"nodeType":864},{},[],"Once security and IT teams know about and have an accurate inventory of all the SaaS apps in use (those previously considered “shadow IT” or “shadow SaaS”), they can encourage teams to consolidate their SaaS tools. ",{"data":155169,"content":155170,"nodeType":860},{},[155171],{"data":155172,"marks":155173,"value":155174,"nodeType":864},{},[],"For IT and Security, consolidating apps is a huge win because they can focus on making sure that short-list of tools is secure enough for them to continue to use them.",{"data":155176,"content":155177,"nodeType":860},{},[155178],{"data":155179,"marks":155180,"value":155181,"nodeType":864},{},[],"For the rest of the company, working within the same tools can aid in collaboration, clear communication and status for ongoing projects.",{"data":155183,"content":155184,"nodeType":860},{},[155185],{"data":155186,"marks":155187,"value":155188,"nodeType":864},{},[],"And, of course, Finance will love spending less money on a sea of disparate tools and consolidating the spend on the SaaS applications that are regularly used by the wider team.",{"data":155190,"content":155191,"nodeType":1312},{},[155192],{"data":155193,"marks":155194,"value":155195,"nodeType":864},{},[],"Offer secure alternatives",{"data":155197,"content":155198,"nodeType":860},{},[155199],{"data":155200,"marks":155201,"value":155202,"nodeType":864},{},[],"To consolidate SaaS apps and rein in shadow IT, you’ll need to offer alternative solutions that will solve the problems employees have. Work with them to understand the use cases they’re solving with these apps, identify their requirements, and provide a few tools you’ve already vetted which still serve their needs but are more secure or have security features like SAML SSO so you can tuck them behind your existing SSO solution. ",{"data":155204,"content":155205,"nodeType":1312},{},[155206],{"data":155207,"marks":155208,"value":155209,"nodeType":864},{},[],"Safely embrace shadow IT",{"data":155211,"content":155212,"nodeType":860},{},[155213,155217,155222],{"data":155214,"marks":155215,"value":155216,"nodeType":864},{},[],"We’re not suggesting that security and information technology teams throw their hands up and say “shadow IT will happen and we can’t control it,” but we ",{"data":155218,"marks":155219,"value":155221,"nodeType":864},{},[155220],{"type":2246},"are ",{"data":155223,"marks":155224,"value":155225,"nodeType":864},{},[],"suggesting that they consider a mindset that balances the needs of the team and their own need to control the security of sensitive information and the organization. ",{"data":155227,"content":155228,"nodeType":860},{},[155229,155233,155238],{"data":155230,"marks":155231,"value":155232,"nodeType":864},{},[],"New technologies exist that can help you uncover shadow IT so you can get involved in the software adoption process early on. This will give you the advantage of working with employees to understand why they’re using the tool ",{"data":155234,"marks":155235,"value":155237,"nodeType":864},{},[155236],{"type":2246},"before they’ve fully adopted it",{"data":155239,"marks":155240,"value":155241,"nodeType":864},{},[]," and become dependent on it. This will also give you more time to risk assess the app once it’s clear that the employee or team needs it. ",{"data":155243,"content":155244,"nodeType":860},{},[155245],{"data":155246,"marks":155247,"value":155248,"nodeType":864},{},[],"Some modern SaaS security solutions also help you enable security features like multi-factor authentication (MFA) and guide employees to use strong, unique passwords or social logins (“Login with your Google account” or “Login with Microsoft 365 account”), at the account level. These small, but powerful SaaS account security actions raise the bar for attackers, making it much harder for them to gain a foothold into your systems via an employee’s SaaS account.",{"data":155250,"content":155251,"nodeType":1009},{},[155252],{"data":155253,"marks":155254,"value":155255,"nodeType":864},{},[],"This is a solvable problem",{"data":155257,"content":155258,"nodeType":860},{},[155259],{"data":155260,"marks":155261,"value":155262,"nodeType":864},{},[],"Shadow IT introduces security risks, sometimes serious security risks, but there’s no stopping it — even if Security goes the route of blocking access to SaaS apps that they haven’t yet approved or sanctioned employees will work around these security policies to gain access to the tools they need to do their jobs. ",{"data":155264,"content":155265,"nodeType":860},{},[155266],{"data":155267,"marks":155268,"value":155269,"nodeType":864},{},[],"The biggest reasons employees engage in this behavior is to streamline their work and, often, to collaborate with one another in a remote-work environment. Cloud apps enable these things really well, which is why they’re so popular.",{"data":155271,"content":155272,"nodeType":860},{},[155273],{"data":155274,"marks":155275,"value":155276,"nodeType":864},{},[],"But shadow IT doesn’t have to be a completely uncontrolled disaster, either. With visibility, security and IT teams can be a powerful ally for the business and a trusted partner for employees, rather than taking on the role of draconian authoritarian. Security teams no longer have to be the Department of No and, in fact, by changing this mindset, Security may find that they have more pull with business leaders within the company.",{"data":155278,"content":155279,"nodeType":860},{},[155280],{"data":155281,"marks":155282,"value":155283,"nodeType":864},{},[],"By working with employees, rather than against them, Security and IT become “enablers of the business,” which typically resonates with higher ups. If helping to streamline the cloud-based services the company uses doesn’t get them excited, saving the company money by consolidating tools certainly will.",{"data":155285,"content":155286,"nodeType":1312},{},[155287],{"data":155288,"marks":155289,"value":155290,"nodeType":864},{},[],"Shadow IT is a visibility problem, not a technology one ",{"data":155292,"content":155293,"nodeType":860},{},[155294],{"data":155295,"marks":155296,"value":155297,"nodeType":864},{},[],"The issue with shadow IT isn’t that it exists, it’s that these SaaS apps exist outside of the IT department and security team’s remit — they just don’t know about them. By discovering the apps employees are using, they can integrate these SaaS apps safely into the company’s SaaS estate, alongside all the other tools in the tech stack.",{"data":155299,"content":155300,"nodeType":1312},{},[155301],{"data":155302,"marks":155303,"value":155304,"nodeType":864},{},[],"Shift IT department and security team mindsets to make an impact",{"data":155306,"content":155307,"nodeType":860},{},[155308],{"data":155309,"marks":155310,"value":155311,"nodeType":864},{},[],"Security and IT need to be approachable and transparent with employees as the first step, rather than shaming them for their behavior. They’re not gleefully going behind the information technology team’s back for fun, they’re trying to get their work done quickly. ",{"data":155313,"content":155314,"nodeType":860},{},[155315],{"data":155316,"marks":155317,"value":155318,"nodeType":864},{},[],"Asking employees to shift from hiding these SaaS apps from you to being transparent that they’re using them requires a level of mutual trust and respect.  ",{"data":155320,"content":155321,"nodeType":1312},{},[155322],{"data":155323,"marks":155324,"value":155325,"nodeType":864},{},[],"Become a partner to improve security",{"data":155327,"content":155328,"nodeType":860},{},[155329],{"data":155330,"marks":155331,"value":155332,"nodeType":864},{},[],"You will, of course, still have some SaaS apps that are outright not approved because they’re too high-risk for the company’s security policies and, in that case, you’ll want to offer one of those safer alternatives that we mentioned above and offer that as a replacement to users who were using the risky, unsafe tool. ",{"data":155334,"content":155335,"nodeType":860},{},[155336],{"data":155337,"marks":155338,"value":155339,"nodeType":864},{},[],"This is much easier to do when you’re seen as a collaborative, friendly team that’s doing the best thing for the company than when you’re the enforcer of rules and policies, which restrict them at every turn. ",{"data":155341,"content":155342,"nodeType":860},{},[155343],{"data":155344,"marks":155345,"value":155346,"nodeType":864},{},[],"Building a strong relationship with employees (or repairing the relationship if you’ve previously been seen as the Department of No), takes work and a major shift in the security team’s mindset, but the ramifications are far reaching. By considering how employees feel about the security team and IT department’s decisions, both teams win. The end result should never be that employees make security decisions, however their needs for getting their jobs done needs to be considered as security measures are put in place.",{"data":155348,"content":155349,"nodeType":860},{},[155350,155354,155363],{"data":155351,"marks":155352,"value":155353,"nodeType":864},{},[],"The National Cyber Security Centre (NCSC) posted ",{"data":155355,"content":155357,"nodeType":883},{"uri":155356},"https://www.ncsc.gov.uk/guidance/shadow-it#:~:text=Avoid%20unnecessary%20lockdowns%20of%20enterprise%20IT",[155358],{"data":155359,"marks":155360,"value":155362,"nodeType":864},{},[155361],{"type":1455},"a great article",{"data":155364,"marks":155365,"value":155366,"nodeType":864},{},[]," on this topic if you’d like to explore further.","Understanding Shadow IT and Shadow SaaS: Definition, security risks, and how to manage it","We’ll define shadow IT, talk through the security risks associated with it and give some actionable guidance on how to manage it.\n","2023-08-30T00:00:00.000Z","understanding-shadow-it",{"items":155372},[155373,155375],{"sys":155374,"name":4904},{"id":4903},{"sys":155376,"name":2729},{"id":2728},{"items":155378},[155379],{"fullName":140213,"firstName":140214,"jobTitle":140215,"profilePicture":155380},{"url":140217},"blog/what-are-shadow-identities",{"json":155383},{"data":155384,"content":155385,"nodeType":856},{},[155386],{"data":155387,"content":155388,"nodeType":860},{},[155389],{"data":155390,"marks":155391,"value":155392,"nodeType":864},{},[],"In this article, we define shadow identities and shadow IDs and guide readers on how to find and secure them to reduce the risk.",{"id":141160,"publishedAt":155394},"2026-08-12T11:55:58.423Z",{"items":155396},[155397,155399],{"sys":155398,"name":4904},{"id":4903},{"sys":155400,"name":2729},{"id":2728},{"items":155402},[155403,155405,155407,155409,155411,155413,155415],{"sys":155404,"name":413,"slug":414,"tier":31},{"id":410},{"sys":155406,"name":545,"slug":546,"tier":31},{"id":542},{"sys":155408,"name":297,"slug":298,"tier":31},{"id":294},{"sys":155410,"name":589,"slug":590,"tier":45},{"id":586},{"sys":155412,"name":502,"slug":503,"tier":45},{"id":499},{"sys":155414,"name":457,"slug":458,"tier":45},{"id":454},{"sys":155416,"name":333,"slug":334,"tier":45},{"id":330},"W0DNcdoKq1DoquboiLc2tVUXcrtZpq51WPF1Dc7yGz8",{"id":155419,"title":136252,"authorsCollection":155420,"content":155425,"extension":228,"faqItemsCollection":156320,"faqTitle":59,"featured":6,"hashTags":59,"meta":156322,"metaTitle":156323,"ogImage":59,"postType":5740,"publishedDate":136253,"relatedBlogPostsCollection":156324,"slug":136254,"stem":157850,"subtitle":59,"summary":157851,"synopsis":135389,"sys":157862,"tagsCollection":157864,"topicsCollection":157870,"__hash__":157892},"blog/blog/nearly-invisible-attack-chain.json",{"items":155421},[155422],{"fullName":4949,"firstName":4950,"jobTitle":4951,"socialLinks":155423,"profilePicture":155424},[4953],{"url":4955},{"json":155426,"links":156184},{"data":155427,"content":155428,"nodeType":856},{},[155429,155435,155441,155469,155475,155481,155497,155503,155509,155515,155539,155545,155551,155564,155570,155576,155606,155612,155618,155624,155630,155636,155641,155647,155653,155659,155666,155672,155688,155694,155700,155706,155712,155718,155724,155730,155736,155742,155747,155753,155769,155775,155791,155796,155801,155806,155812,155818,155824,155829,155834,155840,155846,155852,155858,155864,155869,155885,155901,155907,155912,155917,155923,155929,155935,155941,155962,155967,155972,155978,155984,155990,156000,156005,156011,156016,156021,156027,156033,156039,156044,156049,156055,156061,156166,156172,156178],{"data":155430,"content":155431,"nodeType":860},{},[155432],{"data":155433,"marks":155434,"value":135389,"nodeType":864},{},[],{"data":155436,"content":155437,"nodeType":860},{},[155438],{"data":155439,"marks":155440,"value":135396,"nodeType":864},{},[],{"data":155442,"content":155443,"nodeType":860},{},[155444,155447,155454,155457,155466],{"data":155445,"marks":155446,"value":135403,"nodeType":864},{},[],{"data":155448,"content":155449,"nodeType":883},{"uri":6418},[155450],{"data":155451,"marks":155452,"value":5765,"nodeType":864},{},[155453],{"type":1455},{"data":155455,"marks":155456,"value":135414,"nodeType":864},{},[],{"data":155458,"content":155461,"nodeType":27604},{"target":155459},{"sys":155460},{"id":110390,"type":1001,"linkType":1002},[155462],{"data":155463,"marks":155464,"value":5236,"nodeType":864},{},[155465],{"type":1455},{"data":155467,"marks":155468,"value":12252,"nodeType":864},{},[],{"data":155470,"content":155471,"nodeType":860},{},[155472],{"data":155473,"marks":155474,"value":135433,"nodeType":864},{},[],{"data":155476,"content":155477,"nodeType":1009},{},[155478],{"data":155479,"marks":155480,"value":135440,"nodeType":864},{},[],{"data":155482,"content":155483,"nodeType":860},{},[155484,155487,155494],{"data":155485,"marks":155486,"value":72717,"nodeType":864},{},[],{"data":155488,"content":155489,"nodeType":883},{"uri":61891},[155490],{"data":155491,"marks":155492,"value":135454,"nodeType":864},{},[155493],{"type":1455},{"data":155495,"marks":155496,"value":135458,"nodeType":864},{},[],{"data":155498,"content":155499,"nodeType":860},{},[155500],{"data":155501,"marks":155502,"value":135465,"nodeType":864},{},[],{"data":155504,"content":155505,"nodeType":1009},{},[155506],{"data":155507,"marks":155508,"value":135472,"nodeType":864},{},[],{"data":155510,"content":155511,"nodeType":860},{},[155512],{"data":155513,"marks":155514,"value":135479,"nodeType":864},{},[],{"data":155516,"content":155517,"nodeType":860},{},[155518,155521,155528,155531,155536],{"data":155519,"marks":155520,"value":135486,"nodeType":864},{},[],{"data":155522,"content":155523,"nodeType":883},{"uri":101818},[155524],{"data":155525,"marks":155526,"value":101824,"nodeType":864},{},[155527],{"type":1455},{"data":155529,"marks":155530,"value":135497,"nodeType":864},{},[],{"data":155532,"marks":155533,"value":135503,"nodeType":864},{},[155534,155535],{"type":2246},{"type":899},{"data":155537,"marks":155538,"value":135507,"nodeType":864},{},[],{"data":155540,"content":155541,"nodeType":1009},{},[155542],{"data":155543,"marks":155544,"value":127630,"nodeType":864},{},[],{"data":155546,"content":155547,"nodeType":860},{},[155548],{"data":155549,"marks":155550,"value":135520,"nodeType":864},{},[],{"data":155552,"content":155553,"nodeType":860},{},[155554,155557,155561],{"data":155555,"marks":155556,"value":135527,"nodeType":864},{},[],{"data":155558,"marks":155559,"value":135532,"nodeType":864},{},[155560],{"type":1455},{"data":155562,"marks":155563,"value":135536,"nodeType":864},{},[],{"data":155565,"content":155566,"nodeType":860},{},[155567],{"data":155568,"marks":155569,"value":135543,"nodeType":864},{},[],{"data":155571,"content":155572,"nodeType":860},{},[155573],{"data":155574,"marks":155575,"value":135550,"nodeType":864},{},[],{"data":155577,"content":155578,"nodeType":118765},{},[155579,155588,155597],{"data":155580,"content":155581,"nodeType":945},{},[155582],{"data":155583,"content":155584,"nodeType":860},{},[155585],{"data":155586,"marks":155587,"value":135563,"nodeType":864},{},[],{"data":155589,"content":155590,"nodeType":945},{},[155591],{"data":155592,"content":155593,"nodeType":860},{},[155594],{"data":155595,"marks":155596,"value":135573,"nodeType":864},{},[],{"data":155598,"content":155599,"nodeType":945},{},[155600],{"data":155601,"content":155602,"nodeType":860},{},[155603],{"data":155604,"marks":155605,"value":135583,"nodeType":864},{},[],{"data":155607,"content":155608,"nodeType":1312},{},[155609],{"data":155610,"marks":155611,"value":135590,"nodeType":864},{},[],{"data":155613,"content":155614,"nodeType":860},{},[155615],{"data":155616,"marks":155617,"value":135597,"nodeType":864},{},[],{"data":155619,"content":155620,"nodeType":860},{},[155621],{"data":155622,"marks":155623,"value":135604,"nodeType":864},{},[],{"data":155625,"content":155626,"nodeType":860},{},[155627],{"data":155628,"marks":155629,"value":135611,"nodeType":864},{},[],{"data":155631,"content":155632,"nodeType":860},{},[155633],{"data":155634,"marks":155635,"value":135618,"nodeType":864},{},[],{"data":155637,"content":155640,"nodeType":996},{"target":155638},{"sys":155639},{"id":135623,"type":1001,"linkType":1002},[],{"data":155642,"content":155643,"nodeType":1312},{},[155644],{"data":155645,"marks":155646,"value":135631,"nodeType":864},{},[],{"data":155648,"content":155649,"nodeType":860},{},[155650],{"data":155651,"marks":155652,"value":135638,"nodeType":864},{},[],{"data":155654,"content":155655,"nodeType":860},{},[155656],{"data":155657,"marks":155658,"value":135645,"nodeType":864},{},[],{"data":155660,"content":155661,"nodeType":860},{},[155662],{"data":155663,"marks":155664,"value":135653,"nodeType":864},{},[155665],{"type":899},{"data":155667,"content":155668,"nodeType":1312},{},[155669],{"data":155670,"marks":155671,"value":135660,"nodeType":864},{},[],{"data":155673,"content":155674,"nodeType":860},{},[155675,155678,155685],{"data":155676,"marks":155677,"value":135667,"nodeType":864},{},[],{"data":155679,"content":155680,"nodeType":883},{"uri":135670},[155681],{"data":155682,"marks":155683,"value":135676,"nodeType":864},{},[155684],{"type":1455},{"data":155686,"marks":155687,"value":135680,"nodeType":864},{},[],{"data":155689,"content":155690,"nodeType":860},{},[155691],{"data":155692,"marks":155693,"value":135687,"nodeType":864},{},[],{"data":155695,"content":155696,"nodeType":860},{},[155697],{"data":155698,"marks":155699,"value":135694,"nodeType":864},{},[],{"data":155701,"content":155702,"nodeType":1009},{},[155703],{"data":155704,"marks":155705,"value":135701,"nodeType":864},{},[],{"data":155707,"content":155708,"nodeType":860},{},[155709],{"data":155710,"marks":155711,"value":135708,"nodeType":864},{},[],{"data":155713,"content":155714,"nodeType":860},{},[155715],{"data":155716,"marks":155717,"value":135715,"nodeType":864},{},[],{"data":155719,"content":155720,"nodeType":860},{},[155721],{"data":155722,"marks":155723,"value":135722,"nodeType":864},{},[],{"data":155725,"content":155726,"nodeType":860},{},[155727],{"data":155728,"marks":155729,"value":135729,"nodeType":864},{},[],{"data":155731,"content":155732,"nodeType":860},{},[155733],{"data":155734,"marks":155735,"value":135736,"nodeType":864},{},[],{"data":155737,"content":155738,"nodeType":860},{},[155739],{"data":155740,"marks":155741,"value":135743,"nodeType":864},{},[],{"data":155743,"content":155746,"nodeType":996},{"target":155744},{"sys":155745},{"id":135748,"type":1001,"linkType":1002},[],{"data":155748,"content":155749,"nodeType":1009},{},[155750],{"data":155751,"marks":155752,"value":135756,"nodeType":864},{},[],{"data":155754,"content":155755,"nodeType":860},{},[155756,155759,155766],{"data":155757,"marks":155758,"value":135763,"nodeType":864},{},[],{"data":155760,"content":155761,"nodeType":883},{"uri":96530},[155762],{"data":155763,"marks":155764,"value":135771,"nodeType":864},{},[155765],{"type":1455},{"data":155767,"marks":155768,"value":135775,"nodeType":864},{},[],{"data":155770,"content":155771,"nodeType":1312},{},[155772],{"data":155773,"marks":155774,"value":135782,"nodeType":864},{},[],{"data":155776,"content":155777,"nodeType":860},{},[155778,155781,155788],{"data":155779,"marks":155780,"value":135789,"nodeType":864},{},[],{"data":155782,"content":155783,"nodeType":883},{"uri":135792},[155784],{"data":155785,"marks":155786,"value":135792,"nodeType":864},{},[155787],{"type":1455},{"data":155789,"marks":155790,"value":135801,"nodeType":864},{},[],{"data":155792,"content":155795,"nodeType":996},{"target":155793},{"sys":155794},{"id":135806,"type":1001,"linkType":1002},[],{"data":155797,"content":155800,"nodeType":996},{"target":155798},{"sys":155799},{"id":135812,"type":1001,"linkType":1002},[],{"data":155802,"content":155805,"nodeType":996},{"target":155803},{"sys":155804},{"id":135818,"type":1001,"linkType":1002},[],{"data":155807,"content":155808,"nodeType":1312},{},[155809],{"data":155810,"marks":155811,"value":135826,"nodeType":864},{},[],{"data":155813,"content":155814,"nodeType":860},{},[155815],{"data":155816,"marks":155817,"value":135833,"nodeType":864},{},[],{"data":155819,"content":155820,"nodeType":860},{},[155821],{"data":155822,"marks":155823,"value":135840,"nodeType":864},{},[],{"data":155825,"content":155828,"nodeType":996},{"target":155826},{"sys":155827},{"id":135845,"type":1001,"linkType":1002},[],{"data":155830,"content":155833,"nodeType":996},{"target":155831},{"sys":155832},{"id":135851,"type":1001,"linkType":1002},[],{"data":155835,"content":155836,"nodeType":1009},{},[155837],{"data":155838,"marks":155839,"value":135859,"nodeType":864},{},[],{"data":155841,"content":155842,"nodeType":860},{},[155843],{"data":155844,"marks":155845,"value":135866,"nodeType":864},{},[],{"data":155847,"content":155848,"nodeType":860},{},[155849],{"data":155850,"marks":155851,"value":135873,"nodeType":864},{},[],{"data":155853,"content":155854,"nodeType":1312},{},[155855],{"data":155856,"marks":155857,"value":135880,"nodeType":864},{},[],{"data":155859,"content":155860,"nodeType":860},{},[155861],{"data":155862,"marks":155863,"value":135887,"nodeType":864},{},[],{"data":155865,"content":155868,"nodeType":996},{"target":155866},{"sys":155867},{"id":135892,"type":1001,"linkType":1002},[],{"data":155870,"content":155871,"nodeType":860},{},[155872,155875,155882],{"data":155873,"marks":155874,"value":135900,"nodeType":864},{},[],{"data":155876,"content":155877,"nodeType":883},{"uri":127950},[155878],{"data":155879,"marks":155880,"value":127956,"nodeType":864},{},[155881],{"type":1455},{"data":155883,"marks":155884,"value":135911,"nodeType":864},{},[],{"data":155886,"content":155887,"nodeType":860},{},[155888,155891,155898],{"data":155889,"marks":155890,"value":135918,"nodeType":864},{},[],{"data":155892,"content":155893,"nodeType":883},{"uri":96606},[155894],{"data":155895,"marks":155896,"value":135926,"nodeType":864},{},[155897],{"type":1455},{"data":155899,"marks":155900,"value":135930,"nodeType":864},{},[],{"data":155902,"content":155903,"nodeType":860},{},[155904],{"data":155905,"marks":155906,"value":135937,"nodeType":864},{},[],{"data":155908,"content":155911,"nodeType":996},{"target":155909},{"sys":155910},{"id":135942,"type":1001,"linkType":1002},[],{"data":155913,"content":155916,"nodeType":996},{"target":155914},{"sys":155915},{"id":135948,"type":1001,"linkType":1002},[],{"data":155918,"content":155919,"nodeType":860},{},[155920],{"data":155921,"marks":155922,"value":135956,"nodeType":864},{},[],{"data":155924,"content":155925,"nodeType":1312},{},[155926],{"data":155927,"marks":155928,"value":135963,"nodeType":864},{},[],{"data":155930,"content":155931,"nodeType":860},{},[155932],{"data":155933,"marks":155934,"value":135970,"nodeType":864},{},[],{"data":155936,"content":155937,"nodeType":860},{},[155938],{"data":155939,"marks":155940,"value":135977,"nodeType":864},{},[],{"data":155942,"content":155943,"nodeType":941},{},[155944,155953],{"data":155945,"content":155946,"nodeType":945},{},[155947],{"data":155948,"content":155949,"nodeType":860},{},[155950],{"data":155951,"marks":155952,"value":135990,"nodeType":864},{},[],{"data":155954,"content":155955,"nodeType":945},{},[155956],{"data":155957,"content":155958,"nodeType":860},{},[155959],{"data":155960,"marks":155961,"value":136000,"nodeType":864},{},[],{"data":155963,"content":155966,"nodeType":996},{"target":155964},{"sys":155965},{"id":136005,"type":1001,"linkType":1002},[],{"data":155968,"content":155971,"nodeType":996},{"target":155969},{"sys":155970},{"id":136011,"type":1001,"linkType":1002},[],{"data":155973,"content":155974,"nodeType":860},{},[155975],{"data":155976,"marks":155977,"value":136019,"nodeType":864},{},[],{"data":155979,"content":155980,"nodeType":860},{},[155981],{"data":155982,"marks":155983,"value":136026,"nodeType":864},{},[],{"data":155985,"content":155986,"nodeType":860},{},[155987],{"data":155988,"marks":155989,"value":136033,"nodeType":864},{},[],{"data":155991,"content":155992,"nodeType":860},{},[155993,155996],{"data":155994,"marks":155995,"value":136040,"nodeType":864},{},[],{"data":155997,"marks":155998,"value":8618,"nodeType":864},{},[155999],{"type":2246},{"data":156001,"content":156004,"nodeType":996},{"target":156002},{"sys":156003},{"id":136049,"type":1001,"linkType":1002},[],{"data":156006,"content":156007,"nodeType":860},{},[156008],{"data":156009,"marks":156010,"value":136057,"nodeType":864},{},[],{"data":156012,"content":156015,"nodeType":996},{"target":156013},{"sys":156014},{"id":136062,"type":1001,"linkType":1002},[],{"data":156017,"content":156020,"nodeType":996},{"target":156018},{"sys":156019},{"id":136068,"type":1001,"linkType":1002},[],{"data":156022,"content":156023,"nodeType":860},{},[156024],{"data":156025,"marks":156026,"value":136076,"nodeType":864},{},[],{"data":156028,"content":156029,"nodeType":1009},{},[156030],{"data":156031,"marks":156032,"value":136083,"nodeType":864},{},[],{"data":156034,"content":156035,"nodeType":860},{},[156036],{"data":156037,"marks":156038,"value":136090,"nodeType":864},{},[],{"data":156040,"content":156043,"nodeType":996},{"target":156041},{"sys":156042},{"id":136095,"type":1001,"linkType":1002},[],{"data":156045,"content":156048,"nodeType":996},{"target":156046},{"sys":156047},{"id":136101,"type":1001,"linkType":1002},[],{"data":156050,"content":156051,"nodeType":1009},{},[156052],{"data":156053,"marks":156054,"value":110587,"nodeType":864},{},[],{"data":156056,"content":156057,"nodeType":860},{},[156058],{"data":156059,"marks":156060,"value":136115,"nodeType":864},{},[],{"data":156062,"content":156063,"nodeType":941},{},[156064,156073,156082,156091,156100,156148,156157],{"data":156065,"content":156066,"nodeType":945},{},[156067],{"data":156068,"content":156069,"nodeType":860},{},[156070],{"data":156071,"marks":156072,"value":136128,"nodeType":864},{},[],{"data":156074,"content":156075,"nodeType":945},{},[156076],{"data":156077,"content":156078,"nodeType":860},{},[156079],{"data":156080,"marks":156081,"value":136138,"nodeType":864},{},[],{"data":156083,"content":156084,"nodeType":945},{},[156085],{"data":156086,"content":156087,"nodeType":860},{},[156088],{"data":156089,"marks":156090,"value":136148,"nodeType":864},{},[],{"data":156092,"content":156093,"nodeType":945},{},[156094],{"data":156095,"content":156096,"nodeType":860},{},[156097],{"data":156098,"marks":156099,"value":136158,"nodeType":864},{},[],{"data":156101,"content":156102,"nodeType":945},{},[156103,156109],{"data":156104,"content":156105,"nodeType":860},{},[156106],{"data":156107,"marks":156108,"value":136168,"nodeType":864},{},[],{"data":156110,"content":156111,"nodeType":941},{},[156112,156121,156130,156139],{"data":156113,"content":156114,"nodeType":945},{},[156115],{"data":156116,"content":156117,"nodeType":860},{},[156118],{"data":156119,"marks":156120,"value":136181,"nodeType":864},{},[],{"data":156122,"content":156123,"nodeType":945},{},[156124],{"data":156125,"content":156126,"nodeType":860},{},[156127],{"data":156128,"marks":156129,"value":136191,"nodeType":864},{},[],{"data":156131,"content":156132,"nodeType":945},{},[156133],{"data":156134,"content":156135,"nodeType":860},{},[156136],{"data":156137,"marks":156138,"value":136201,"nodeType":864},{},[],{"data":156140,"content":156141,"nodeType":945},{},[156142],{"data":156143,"content":156144,"nodeType":860},{},[156145],{"data":156146,"marks":156147,"value":136211,"nodeType":864},{},[],{"data":156149,"content":156150,"nodeType":945},{},[156151],{"data":156152,"content":156153,"nodeType":860},{},[156154],{"data":156155,"marks":156156,"value":136221,"nodeType":864},{},[],{"data":156158,"content":156159,"nodeType":945},{},[156160],{"data":156161,"content":156162,"nodeType":860},{},[156163],{"data":156164,"marks":156165,"value":136231,"nodeType":864},{},[],{"data":156167,"content":156168,"nodeType":1009},{},[156169],{"data":156170,"marks":156171,"value":32492,"nodeType":864},{},[],{"data":156173,"content":156174,"nodeType":860},{},[156175],{"data":156176,"marks":156177,"value":136244,"nodeType":864},{},[],{"data":156179,"content":156180,"nodeType":860},{},[156181],{"data":156182,"marks":156183,"value":136251,"nodeType":864},{},[],{"entries":156185},{"inline":156186,"hyperlink":156187,"block":156190},[],[156188],{"sys":156189,"__typename":2059,"title":5236,"slug":127996},{"id":110390},[156191,156198,156206,156214,156222,156229,156237,156245,156253,156261,156267,156275,156281,156289,156297,156304,156312],{"sys":156192,"__typename":1724,"title":156193,"caption":156194,"layoutMode":59,"file":156195},{"id":135623},"Azure audit logs","Azure audit logs showing a new user consent for a Zapier integration already in use by other users inside the organization",{"url":156196,"width":1736,"height":156197},"https://images.ctfassets.net/y1cdw1ablpvd/7KXqNa7LYhg9RpMODcCOUA/cf5cc3c63c3fb23bf4db4fc687c52fef/image11.png",188,{"sys":156199,"__typename":47726,"title":156200,"youTubeUrl":156201,"imagePlaceholder":156202},{"id":135748},"SaaS Attacks: Shadow workflows + Evil twin integration demo","https://youtu.be/g2EITjjJH1s",{"url":156203,"width":156204,"height":156205},"https://images.ctfassets.net/y1cdw1ablpvd/2XKFsSaDVmUREXzFIFvdgs/41ff444655d2f740bf4c637ebea0e998/Screenshot_2023-09-11_at_10.25.12_AM.png",2996,1616,{"sys":156207,"__typename":1724,"title":156208,"caption":156209,"layoutMode":59,"file":156210},{"id":135806},"Apps used in Microsoft","Listing apps installed for the user from myapps.microsoft.com ",{"url":156211,"width":156212,"height":156213},"https://images.ctfassets.net/y1cdw1ablpvd/66ISP7TGcsDns9BPvJEz0V/70b5da6883efde3122cabd3c0c1f1eab/image3.png",1205,860,{"sys":156215,"__typename":1724,"title":156216,"caption":156217,"layoutMode":59,"file":156218},{"id":135812},"Zapier to do","Listing granted permissions for Zapier-related apps (1/2)",{"url":156219,"width":156220,"height":156221},"https://images.ctfassets.net/y1cdw1ablpvd/7lJRrtsR1GuWBGGk3d5FJ2/387c9f8f178e9a8c10e60f5b2ebf026b/image7.png",1108,546,{"sys":156223,"__typename":1724,"title":156224,"caption":156225,"layoutMode":59,"file":156226},{"id":135818},"Zapier-related app permissions","Listing granted permissions for Zapier-related apps (2/2)",{"url":156227,"width":156228,"height":142611},"https://images.ctfassets.net/y1cdw1ablpvd/9KWSW4Dyy0hfMCa8NzUsP/8bacb7994fd4668fc181c1d4ac190002/image8.png",1729,{"sys":156230,"__typename":1724,"title":156231,"caption":156232,"layoutMode":59,"file":156233},{"id":135845},"Finding a Zapier integration","Listing app role assignments and finding a Zapier integration",{"url":156234,"width":156235,"height":156236},"https://images.ctfassets.net/y1cdw1ablpvd/lkccBtCqQj594UJeRoStz/f4dd2c2deda29907c0e5ab3ed506b375/image4.png",774,430,{"sys":156238,"__typename":1724,"title":156239,"caption":156240,"layoutMode":59,"file":156241},{"id":135851},"Zapier integration OAuth permissions","Listing OAuth permission grants for the Zapier integration to confirm permissions",{"url":156242,"width":156243,"height":156244},"https://images.ctfassets.net/y1cdw1ablpvd/4eZco97TV404HaHoAnYGSA/04e5e66ae37fa8ee52418d5533437386/image15.png",1219,395,{"sys":156246,"__typename":1724,"title":156247,"caption":156248,"layoutMode":59,"file":156249},{"id":135892},"Zapier login via SSO","Login to Zapier via SSO or social login",{"url":156250,"width":156251,"height":156252},"https://images.ctfassets.net/y1cdw1ablpvd/57LigpMizflfTbTcfrcRwM/e81063c2a092be712cc180f1af1ee909/image10.png",1244,736,{"sys":156254,"__typename":1724,"title":156255,"caption":156256,"layoutMode":59,"file":156257},{"id":135942},"User's Zapier workflows","The user’s existing workflows, or “Zaps” in Zapier terminology",{"url":156258,"width":156259,"height":156260},"https://images.ctfassets.net/y1cdw1ablpvd/1HD2bnkcnGnc5YQAHHrvIa/08b1a537a9f63d0fb600d837eee1df25/image14.png",1426,382,{"sys":156262,"__typename":1724,"title":156263,"caption":156264,"layoutMode":59,"file":156265},{"id":135948},"Zapier integrations","The user’s connected apps, showing Outlook and OneDrive have already been integrated",{"url":156266,"width":156228,"height":137389},"https://images.ctfassets.net/y1cdw1ablpvd/4RII43nqlcqFT4E7QuGOGT/ef85aa394465906185bc52985f4b28e8/image2.png",{"sys":156268,"__typename":1724,"title":156269,"caption":156270,"layoutMode":59,"file":156271},{"id":136005},"Connecting our accounts","We have connected the user’s Outlook and OneDrive, as well as our own Gmail and Google Drive for exfiltration",{"url":156272,"width":156273,"height":156274},"https://images.ctfassets.net/y1cdw1ablpvd/7gmTTPtcrhbPDrQD1BId55/26c7fd0a5d1391bd5ec627c73af587db/image16.png",854,419,{"sys":156276,"__typename":1724,"title":156277,"caption":156278,"layoutMode":59,"file":156279},{"id":136011},"Our shadow workflows","Shadow workflows we have created to monitor the target user’s emails and files",{"url":156280,"width":142656,"height":133253},"https://images.ctfassets.net/y1cdw1ablpvd/ggCqvwRtNLcvBVqvZMEF0/a9b0b60c80c835f6dca01c1fc408df08/image12.png",{"sys":156282,"__typename":1724,"title":156283,"caption":156284,"layoutMode":59,"file":156285},{"id":136049},"New sign-in events"," Interactive sign-in events caused by the new integrations with the new Zapier account",{"url":156286,"width":156287,"height":156288},"https://images.ctfassets.net/y1cdw1ablpvd/3W6qH6wxjm7fRRjuMeYtRD/779265dba840306f2002132abd24c060/image6.png",1256,148,{"sys":156290,"__typename":1724,"title":156291,"caption":156292,"layoutMode":59,"file":156293},{"id":136062},"What's shown in audit logs","Audit log showing the Zapier integration downloading a file - this is a result of the shadow workflow",{"url":156294,"width":156295,"height":156296},"https://images.ctfassets.net/y1cdw1ablpvd/ew0JDU7oER8cLZUxmyySV/cb39ead350b0704ac78b05c7c5445503/image9.png",569,535,{"sys":156298,"__typename":1724,"title":156299,"caption":156300,"layoutMode":59,"file":156301},{"id":136068},"Audit log showing file upload","Audit log showing the Zapier integration uploading a file - this is the result of the legitimate integration that forwards business expense emails",{"url":156302,"width":156295,"height":156303},"https://images.ctfassets.net/y1cdw1ablpvd/7uv04lFua20rYKyE9VsOv/a2893b9c5540e55732eb9acb62b79b0e/image5.png",609,{"sys":156305,"__typename":1724,"title":156306,"caption":156307,"layoutMode":59,"file":156308},{"id":136095},"Leaked doc in attacker's GDrive","Confidential document from OneDrive appears in Google Drive",{"url":156309,"width":156310,"height":156311},"https://images.ctfassets.net/y1cdw1ablpvd/5jwmXBmrQgA0fmHYn9CK4g/63a689ef0014f15f4cac05d47950e151/image13.png",1319,277,{"sys":156313,"__typename":1724,"title":156314,"caption":156315,"layoutMode":59,"file":156316},{"id":136101},"Leaked email to attacker's inbox","Confidential email from Outlook appears in GMail",{"url":156317,"width":156318,"height":156319},"https://images.ctfassets.net/y1cdw1ablpvd/7buoz26rTelsWCvn9H8eUq/af55d1b900b715e943b891535efac456/image1.png",1101,271,{"items":156321},[],{},"SaaS attack matrix: The shadow workflow’s evil twin",{"items":156325},[156326,156732,157407],{"__typename":2059,"sys":156327,"content":156328,"title":5236,"synopsis":127994,"hashTags":59,"publishedDate":127995,"slug":127996,"tagsCollection":156722,"authorsCollection":156728},{"id":110390},{"json":156329},{"data":156330,"content":156331,"nodeType":856},{},[156332,156348,156354,156360,156366,156382,156388,156404,156410,156416,156422,156428,156434,156440,156446,156462,156468,156474,156479,156485,156491,156497,156502,156507,156512,156518,156524,156529,156535,156541,156547,156552,156558,156564,156570,156576,156582,156587,156593,156599,156604,156610,156616,156621,156627,156633,156692,156698,156704,156710,156716],{"data":156333,"content":156334,"nodeType":860},{},[156335,156338,156345],{"data":156336,"marks":156337,"value":127552,"nodeType":864},{},[],{"data":156339,"content":156340,"nodeType":883},{"uri":6418},[156341],{"data":156342,"marks":156343,"value":5765,"nodeType":864},{},[156344],{"type":1455},{"data":156346,"marks":156347,"value":127563,"nodeType":864},{},[],{"data":156349,"content":156350,"nodeType":860},{},[156351],{"data":156352,"marks":156353,"value":127570,"nodeType":864},{},[],{"data":156355,"content":156356,"nodeType":860},{},[156357],{"data":156358,"marks":156359,"value":127577,"nodeType":864},{},[],{"data":156361,"content":156362,"nodeType":1009},{},[156363],{"data":156364,"marks":156365,"value":110106,"nodeType":864},{},[],{"data":156367,"content":156368,"nodeType":860},{},[156369,156372,156379],{"data":156370,"marks":156371,"value":21,"nodeType":864},{},[],{"data":156373,"content":156374,"nodeType":883},{"uri":101692},[156375],{"data":156376,"marks":156377,"value":110119,"nodeType":864},{},[156378],{"type":1455},{"data":156380,"marks":156381,"value":110123,"nodeType":864},{},[],{"data":156383,"content":156384,"nodeType":1009},{},[156385],{"data":156386,"marks":156387,"value":127606,"nodeType":864},{},[],{"data":156389,"content":156390,"nodeType":860},{},[156391,156394,156401],{"data":156392,"marks":156393,"value":21,"nodeType":864},{},[],{"data":156395,"content":156396,"nodeType":883},{"uri":88494},[156397],{"data":156398,"marks":156399,"value":5272,"nodeType":864},{},[156400],{"type":1455},{"data":156402,"marks":156403,"value":127623,"nodeType":864},{},[],{"data":156405,"content":156406,"nodeType":1009},{},[156407],{"data":156408,"marks":156409,"value":127630,"nodeType":864},{},[],{"data":156411,"content":156412,"nodeType":860},{},[156413],{"data":156414,"marks":156415,"value":127637,"nodeType":864},{},[],{"data":156417,"content":156418,"nodeType":860},{},[156419],{"data":156420,"marks":156421,"value":127644,"nodeType":864},{},[],{"data":156423,"content":156424,"nodeType":860},{},[156425],{"data":156426,"marks":156427,"value":127651,"nodeType":864},{},[],{"data":156429,"content":156430,"nodeType":860},{},[156431],{"data":156432,"marks":156433,"value":127658,"nodeType":864},{},[],{"data":156435,"content":156436,"nodeType":860},{},[156437],{"data":156438,"marks":156439,"value":127665,"nodeType":864},{},[],{"data":156441,"content":156442,"nodeType":1009},{},[156443],{"data":156444,"marks":156445,"value":127672,"nodeType":864},{},[],{"data":156447,"content":156448,"nodeType":860},{},[156449,156452,156459],{"data":156450,"marks":156451,"value":127679,"nodeType":864},{},[],{"data":156453,"content":156454,"nodeType":883},{"uri":127682},[156455],{"data":156456,"marks":156457,"value":127688,"nodeType":864},{},[156458],{"type":1455},{"data":156460,"marks":156461,"value":127692,"nodeType":864},{},[],{"data":156463,"content":156464,"nodeType":860},{},[156465],{"data":156466,"marks":156467,"value":127699,"nodeType":864},{},[],{"data":156469,"content":156470,"nodeType":860},{},[156471],{"data":156472,"marks":156473,"value":127706,"nodeType":864},{},[],{"data":156475,"content":156478,"nodeType":996},{"target":156476},{"sys":156477},{"id":127711,"type":1001,"linkType":1002},[],{"data":156480,"content":156481,"nodeType":860},{},[156482],{"data":156483,"marks":156484,"value":127719,"nodeType":864},{},[],{"data":156486,"content":156487,"nodeType":1312},{},[156488],{"data":156489,"marks":156490,"value":127726,"nodeType":864},{},[],{"data":156492,"content":156493,"nodeType":860},{},[156494],{"data":156495,"marks":156496,"value":127733,"nodeType":864},{},[],{"data":156498,"content":156501,"nodeType":996},{"target":156499},{"sys":156500},{"id":127738,"type":1001,"linkType":1002},[],{"data":156503,"content":156506,"nodeType":996},{"target":156504},{"sys":156505},{"id":127744,"type":1001,"linkType":1002},[],{"data":156508,"content":156511,"nodeType":996},{"target":156509},{"sys":156510},{"id":127750,"type":1001,"linkType":1002},[],{"data":156513,"content":156514,"nodeType":1312},{},[156515],{"data":156516,"marks":156517,"value":127758,"nodeType":864},{},[],{"data":156519,"content":156520,"nodeType":860},{},[156521],{"data":156522,"marks":156523,"value":127765,"nodeType":864},{},[],{"data":156525,"content":156528,"nodeType":996},{"target":156526},{"sys":156527},{"id":127770,"type":1001,"linkType":1002},[],{"data":156530,"content":156531,"nodeType":1312},{},[156532],{"data":156533,"marks":156534,"value":127778,"nodeType":864},{},[],{"data":156536,"content":156537,"nodeType":860},{},[156538],{"data":156539,"marks":156540,"value":127785,"nodeType":864},{},[],{"data":156542,"content":156543,"nodeType":860},{},[156544],{"data":156545,"marks":156546,"value":127792,"nodeType":864},{},[],{"data":156548,"content":156551,"nodeType":996},{"target":156549},{"sys":156550},{"id":127797,"type":1001,"linkType":1002},[],{"data":156553,"content":156554,"nodeType":860},{},[156555],{"data":156556,"marks":156557,"value":127805,"nodeType":864},{},[],{"data":156559,"content":156560,"nodeType":1009},{},[156561],{"data":156562,"marks":156563,"value":127812,"nodeType":864},{},[],{"data":156565,"content":156566,"nodeType":1312},{},[156567],{"data":156568,"marks":156569,"value":127819,"nodeType":864},{},[],{"data":156571,"content":156572,"nodeType":860},{},[156573],{"data":156574,"marks":156575,"value":127826,"nodeType":864},{},[],{"data":156577,"content":156578,"nodeType":860},{},[156579],{"data":156580,"marks":156581,"value":127833,"nodeType":864},{},[],{"data":156583,"content":156586,"nodeType":996},{"target":156584},{"sys":156585},{"id":127838,"type":1001,"linkType":1002},[],{"data":156588,"content":156589,"nodeType":1312},{},[156590],{"data":156591,"marks":156592,"value":127846,"nodeType":864},{},[],{"data":156594,"content":156595,"nodeType":860},{},[156596],{"data":156597,"marks":156598,"value":127853,"nodeType":864},{},[],{"data":156600,"content":156603,"nodeType":996},{"target":156601},{"sys":156602},{"id":127858,"type":1001,"linkType":1002},[],{"data":156605,"content":156606,"nodeType":860},{},[156607],{"data":156608,"marks":156609,"value":127866,"nodeType":864},{},[],{"data":156611,"content":156612,"nodeType":860},{},[156613],{"data":156614,"marks":156615,"value":127873,"nodeType":864},{},[],{"data":156617,"content":156620,"nodeType":996},{"target":156618},{"sys":156619},{"id":127878,"type":1001,"linkType":1002},[],{"data":156622,"content":156623,"nodeType":1009},{},[156624],{"data":156625,"marks":156626,"value":110587,"nodeType":864},{},[],{"data":156628,"content":156629,"nodeType":860},{},[156630],{"data":156631,"marks":156632,"value":127892,"nodeType":864},{},[],{"data":156634,"content":156635,"nodeType":941},{},[156636,156645,156654,156673],{"data":156637,"content":156638,"nodeType":945},{},[156639],{"data":156640,"content":156641,"nodeType":860},{},[156642],{"data":156643,"marks":156644,"value":127905,"nodeType":864},{},[],{"data":156646,"content":156647,"nodeType":945},{},[156648],{"data":156649,"content":156650,"nodeType":860},{},[156651],{"data":156652,"marks":156653,"value":127915,"nodeType":864},{},[],{"data":156655,"content":156656,"nodeType":945},{},[156657],{"data":156658,"content":156659,"nodeType":860},{},[156660,156663,156670],{"data":156661,"marks":156662,"value":127925,"nodeType":864},{},[],{"data":156664,"content":156665,"nodeType":883},{"uri":127928},[156666],{"data":156667,"marks":156668,"value":127934,"nodeType":864},{},[156669],{"type":1455},{"data":156671,"marks":156672,"value":21,"nodeType":864},{},[],{"data":156674,"content":156675,"nodeType":945},{},[156676],{"data":156677,"content":156678,"nodeType":860},{},[156679,156682,156689],{"data":156680,"marks":156681,"value":127947,"nodeType":864},{},[],{"data":156683,"content":156684,"nodeType":883},{"uri":127950},[156685],{"data":156686,"marks":156687,"value":127956,"nodeType":864},{},[156688],{"type":1455},{"data":156690,"marks":156691,"value":21,"nodeType":864},{},[],{"data":156693,"content":156694,"nodeType":860},{},[156695],{"data":156696,"marks":156697,"value":127966,"nodeType":864},{},[],{"data":156699,"content":156700,"nodeType":1312},{},[156701],{"data":156702,"marks":156703,"value":32492,"nodeType":864},{},[],{"data":156705,"content":156706,"nodeType":860},{},[156707],{"data":156708,"marks":156709,"value":127979,"nodeType":864},{},[],{"data":156711,"content":156712,"nodeType":860},{},[156713],{"data":156714,"marks":156715,"value":127986,"nodeType":864},{},[],{"data":156717,"content":156718,"nodeType":860},{},[156719],{"data":156720,"marks":156721,"value":127993,"nodeType":864},{},[],{"items":156723},[156724,156726],{"sys":156725,"name":6593},{"id":6592},{"sys":156727,"name":342},{"id":6596},{"items":156729},[156730],{"fullName":4949,"firstName":4950,"jobTitle":4951,"profilePicture":156731},{"url":4955},{"__typename":2059,"sys":156733,"content":156734,"title":102289,"synopsis":102290,"hashTags":59,"publishedDate":102291,"slug":102292,"tagsCollection":157397,"authorsCollection":157403},{"id":101509},{"json":156735},{"data":156736,"content":156737,"nodeType":856},{},[156738,156744,156750,156756,156762,156768,156774,156779,156795,156801,156837,156843,156849,156885,156901,156907,156913,156919,156935,156951,156957,156987,156993,157009,157015,157021,157047,157063,157069,157074,157080,157086,157092,157098,157104,157110,157116,157122,157128,157134,157140,157146,157159,157165,157221,157227,157233,157256,157269,157275,157281,157287,157313,157330,157336,157342,157348,157354,157370,157386,157391],{"data":156739,"content":156740,"nodeType":860},{},[156741],{"data":156742,"marks":156743,"value":101520,"nodeType":864},{},[],{"data":156745,"content":156746,"nodeType":860},{},[156747],{"data":156748,"marks":156749,"value":101527,"nodeType":864},{},[],{"data":156751,"content":156752,"nodeType":860},{},[156753],{"data":156754,"marks":156755,"value":101534,"nodeType":864},{},[],{"data":156757,"content":156758,"nodeType":860},{},[156759],{"data":156760,"marks":156761,"value":101541,"nodeType":864},{},[],{"data":156763,"content":156764,"nodeType":1009},{},[156765],{"data":156766,"marks":156767,"value":101548,"nodeType":864},{},[],{"data":156769,"content":156770,"nodeType":860},{},[156771],{"data":156772,"marks":156773,"value":101555,"nodeType":864},{},[],{"data":156775,"content":156778,"nodeType":996},{"target":156776},{"sys":156777},{"id":101560,"type":1001,"linkType":1002},[],{"data":156780,"content":156781,"nodeType":860},{},[156782,156785,156792],{"data":156783,"marks":156784,"value":101568,"nodeType":864},{},[],{"data":156786,"content":156787,"nodeType":883},{"uri":6418},[156788],{"data":156789,"marks":156790,"value":6423,"nodeType":864},{},[156791],{"type":1455},{"data":156793,"marks":156794,"value":2924,"nodeType":864},{},[],{"data":156796,"content":156797,"nodeType":860},{},[156798],{"data":156799,"marks":156800,"value":101585,"nodeType":864},{},[],{"data":156802,"content":156803,"nodeType":860},{},[156804,156807,156814,156817,156824,156827,156834],{"data":156805,"marks":156806,"value":101592,"nodeType":864},{},[],{"data":156808,"content":156809,"nodeType":883},{"uri":49829},[156810],{"data":156811,"marks":156812,"value":101600,"nodeType":864},{},[156813],{"type":1455},{"data":156815,"marks":156816,"value":902,"nodeType":864},{},[],{"data":156818,"content":156819,"nodeType":883},{"uri":101606},[156820],{"data":156821,"marks":156822,"value":101612,"nodeType":864},{},[156823],{"type":1455},{"data":156825,"marks":156826,"value":101616,"nodeType":864},{},[],{"data":156828,"content":156829,"nodeType":883},{"uri":96411},[156830],{"data":156831,"marks":156832,"value":101624,"nodeType":864},{},[156833],{"type":1455},{"data":156835,"marks":156836,"value":101628,"nodeType":864},{},[],{"data":156838,"content":156839,"nodeType":860},{},[156840],{"data":156841,"marks":156842,"value":101635,"nodeType":864},{},[],{"data":156844,"content":156845,"nodeType":1312},{},[156846],{"data":156847,"marks":156848,"value":101642,"nodeType":864},{},[],{"data":156850,"content":156851,"nodeType":860},{},[156852,156855,156862,156865,156872,156875,156882],{"data":156853,"marks":156854,"value":101649,"nodeType":864},{},[],{"data":156856,"content":156857,"nodeType":883},{"uri":87924},[156858],{"data":156859,"marks":156860,"value":87930,"nodeType":864},{},[156861],{"type":1455},{"data":156863,"marks":156864,"value":902,"nodeType":864},{},[],{"data":156866,"content":156867,"nodeType":883},{"uri":95797},[156868],{"data":156869,"marks":156870,"value":95802,"nodeType":864},{},[156871],{"type":1455},{"data":156873,"marks":156874,"value":101670,"nodeType":864},{},[],{"data":156876,"content":156877,"nodeType":883},{"uri":96459},[156878],{"data":156879,"marks":156880,"value":101678,"nodeType":864},{},[156881],{"type":1455},{"data":156883,"marks":156884,"value":101682,"nodeType":864},{},[],{"data":156886,"content":156887,"nodeType":860},{},[156888,156891,156898],{"data":156889,"marks":156890,"value":101689,"nodeType":864},{},[],{"data":156892,"content":156893,"nodeType":883},{"uri":101692},[156894],{"data":156895,"marks":156896,"value":101698,"nodeType":864},{},[156897],{"type":1455},{"data":156899,"marks":156900,"value":101702,"nodeType":864},{},[],{"data":156902,"content":156903,"nodeType":860},{},[156904],{"data":156905,"marks":156906,"value":101709,"nodeType":864},{},[],{"data":156908,"content":156909,"nodeType":860},{},[156910],{"data":156911,"marks":156912,"value":101716,"nodeType":864},{},[],{"data":156914,"content":156915,"nodeType":1312},{},[156916],{"data":156917,"marks":156918,"value":101723,"nodeType":864},{},[],{"data":156920,"content":156921,"nodeType":860},{},[156922,156925,156932],{"data":156923,"marks":156924,"value":101730,"nodeType":864},{},[],{"data":156926,"content":156927,"nodeType":883},{"uri":101733},[156928],{"data":156929,"marks":156930,"value":101739,"nodeType":864},{},[156931],{"type":1455},{"data":156933,"marks":156934,"value":101743,"nodeType":864},{},[],{"data":156936,"content":156937,"nodeType":860},{},[156938,156941,156948],{"data":156939,"marks":156940,"value":101750,"nodeType":864},{},[],{"data":156942,"content":156943,"nodeType":883},{"uri":61891},[156944],{"data":156945,"marks":156946,"value":61897,"nodeType":864},{},[156947],{"type":1455},{"data":156949,"marks":156950,"value":101761,"nodeType":864},{},[],{"data":156952,"content":156953,"nodeType":860},{},[156954],{"data":156955,"marks":156956,"value":101768,"nodeType":864},{},[],{"data":156958,"content":156959,"nodeType":941},{},[156960,156969,156978],{"data":156961,"content":156962,"nodeType":945},{},[156963],{"data":156964,"content":156965,"nodeType":860},{},[156966],{"data":156967,"marks":156968,"value":101781,"nodeType":864},{},[],{"data":156970,"content":156971,"nodeType":945},{},[156972],{"data":156973,"content":156974,"nodeType":860},{},[156975],{"data":156976,"marks":156977,"value":101791,"nodeType":864},{},[],{"data":156979,"content":156980,"nodeType":945},{},[156981],{"data":156982,"content":156983,"nodeType":860},{},[156984],{"data":156985,"marks":156986,"value":101801,"nodeType":864},{},[],{"data":156988,"content":156989,"nodeType":860},{},[156990],{"data":156991,"marks":156992,"value":101808,"nodeType":864},{},[],{"data":156994,"content":156995,"nodeType":860},{},[156996,156999,157006],{"data":156997,"marks":156998,"value":101815,"nodeType":864},{},[],{"data":157000,"content":157001,"nodeType":883},{"uri":101818},[157002],{"data":157003,"marks":157004,"value":101824,"nodeType":864},{},[157005],{"type":1455},{"data":157007,"marks":157008,"value":101828,"nodeType":864},{},[],{"data":157010,"content":157011,"nodeType":1312},{},[157012],{"data":157013,"marks":157014,"value":101835,"nodeType":864},{},[],{"data":157016,"content":157017,"nodeType":860},{},[157018],{"data":157019,"marks":157020,"value":101842,"nodeType":864},{},[],{"data":157022,"content":157023,"nodeType":860},{},[157024,157027,157034,157037,157044],{"data":157025,"marks":157026,"value":101849,"nodeType":864},{},[],{"data":157028,"content":157029,"nodeType":883},{"uri":101852},[157030],{"data":157031,"marks":157032,"value":101858,"nodeType":864},{},[157033],{"type":1455},{"data":157035,"marks":157036,"value":902,"nodeType":864},{},[],{"data":157038,"content":157039,"nodeType":883},{"uri":26784},[157040],{"data":157041,"marks":157042,"value":17706,"nodeType":864},{},[157043],{"type":1455},{"data":157045,"marks":157046,"value":101872,"nodeType":864},{},[],{"data":157048,"content":157049,"nodeType":860},{},[157050,157053,157060],{"data":157051,"marks":157052,"value":101879,"nodeType":864},{},[],{"data":157054,"content":157055,"nodeType":883},{"uri":101882},[157056],{"data":157057,"marks":157058,"value":101888,"nodeType":864},{},[157059],{"type":1455},{"data":157061,"marks":157062,"value":101892,"nodeType":864},{},[],{"data":157064,"content":157065,"nodeType":860},{},[157066],{"data":157067,"marks":157068,"value":101899,"nodeType":864},{},[],{"data":157070,"content":157073,"nodeType":996},{"target":157071},{"sys":157072},{"id":92011,"type":1001,"linkType":1002},[],{"data":157075,"content":157076,"nodeType":1009},{},[157077],{"data":157078,"marks":157079,"value":101911,"nodeType":864},{},[],{"data":157081,"content":157082,"nodeType":860},{},[157083],{"data":157084,"marks":157085,"value":101918,"nodeType":864},{},[],{"data":157087,"content":157088,"nodeType":860},{},[157089],{"data":157090,"marks":157091,"value":101925,"nodeType":864},{},[],{"data":157093,"content":157094,"nodeType":1312},{},[157095],{"data":157096,"marks":157097,"value":101932,"nodeType":864},{},[],{"data":157099,"content":157100,"nodeType":860},{},[157101],{"data":157102,"marks":157103,"value":101939,"nodeType":864},{},[],{"data":157105,"content":157106,"nodeType":860},{},[157107],{"data":157108,"marks":157109,"value":101946,"nodeType":864},{},[],{"data":157111,"content":157112,"nodeType":860},{},[157113],{"data":157114,"marks":157115,"value":101953,"nodeType":864},{},[],{"data":157117,"content":157118,"nodeType":1312},{},[157119],{"data":157120,"marks":157121,"value":101960,"nodeType":864},{},[],{"data":157123,"content":157124,"nodeType":860},{},[157125],{"data":157126,"marks":157127,"value":101967,"nodeType":864},{},[],{"data":157129,"content":157130,"nodeType":860},{},[157131],{"data":157132,"marks":157133,"value":101974,"nodeType":864},{},[],{"data":157135,"content":157136,"nodeType":860},{},[157137],{"data":157138,"marks":157139,"value":101981,"nodeType":864},{},[],{"data":157141,"content":157142,"nodeType":1009},{},[157143],{"data":157144,"marks":157145,"value":101988,"nodeType":864},{},[],{"data":157147,"content":157148,"nodeType":860},{},[157149,157152,157156],{"data":157150,"marks":157151,"value":101995,"nodeType":864},{},[],{"data":157153,"marks":157154,"value":102000,"nodeType":864},{},[157155],{"type":2246},{"data":157157,"marks":157158,"value":102004,"nodeType":864},{},[],{"data":157160,"content":157161,"nodeType":1312},{},[157162],{"data":157163,"marks":157164,"value":102011,"nodeType":864},{},[],{"data":157166,"content":157167,"nodeType":860},{},[157168,157171,157178,157181,157188,157191,157198,157201,157208,157211,157218],{"data":157169,"marks":157170,"value":102018,"nodeType":864},{},[],{"data":157172,"content":157173,"nodeType":883},{"uri":102021},[157174],{"data":157175,"marks":157176,"value":102027,"nodeType":864},{},[157177],{"type":1455},{"data":157179,"marks":157180,"value":902,"nodeType":864},{},[],{"data":157182,"content":157183,"nodeType":883},{"uri":102033},[157184],{"data":157185,"marks":157186,"value":102039,"nodeType":864},{},[157187],{"type":1455},{"data":157189,"marks":157190,"value":102043,"nodeType":864},{},[],{"data":157192,"content":157193,"nodeType":883},{"uri":102046},[157194],{"data":157195,"marks":157196,"value":102052,"nodeType":864},{},[157197],{"type":1455},{"data":157199,"marks":157200,"value":35735,"nodeType":864},{},[],{"data":157202,"content":157203,"nodeType":883},{"uri":8628},[157204],{"data":157205,"marks":157206,"value":102063,"nodeType":864},{},[157207],{"type":1455},{"data":157209,"marks":157210,"value":102067,"nodeType":864},{},[],{"data":157212,"content":157213,"nodeType":883},{"uri":102070},[157214],{"data":157215,"marks":157216,"value":102076,"nodeType":864},{},[157217],{"type":1455},{"data":157219,"marks":157220,"value":102080,"nodeType":864},{},[],{"data":157222,"content":157223,"nodeType":860},{},[157224],{"data":157225,"marks":157226,"value":102087,"nodeType":864},{},[],{"data":157228,"content":157229,"nodeType":1312},{},[157230],{"data":157231,"marks":157232,"value":102094,"nodeType":864},{},[],{"data":157234,"content":157235,"nodeType":860},{},[157236,157239,157243,157246,157253],{"data":157237,"marks":157238,"value":102101,"nodeType":864},{},[],{"data":157240,"marks":157241,"value":102106,"nodeType":864},{},[157242],{"type":1455},{"data":157244,"marks":157245,"value":102110,"nodeType":864},{},[],{"data":157247,"content":157248,"nodeType":883},{"uri":102113},[157249],{"data":157250,"marks":157251,"value":102119,"nodeType":864},{},[157252],{"type":1455},{"data":157254,"marks":157255,"value":102123,"nodeType":864},{},[],{"data":157257,"content":157258,"nodeType":860},{},[157259,157262,157266],{"data":157260,"marks":157261,"value":102130,"nodeType":864},{},[],{"data":157263,"marks":157264,"value":102135,"nodeType":864},{},[157265],{"type":2246},{"data":157267,"marks":157268,"value":2924,"nodeType":864},{},[],{"data":157270,"content":157271,"nodeType":860},{},[157272],{"data":157273,"marks":157274,"value":102145,"nodeType":864},{},[],{"data":157276,"content":157277,"nodeType":1312},{},[157278],{"data":157279,"marks":157280,"value":102152,"nodeType":864},{},[],{"data":157282,"content":157283,"nodeType":860},{},[157284],{"data":157285,"marks":157286,"value":102159,"nodeType":864},{},[],{"data":157288,"content":157289,"nodeType":860},{},[157290,157293,157300,157303,157310],{"data":157291,"marks":157292,"value":102166,"nodeType":864},{},[],{"data":157294,"content":157295,"nodeType":883},{"uri":102169},[157296],{"data":157297,"marks":157298,"value":102175,"nodeType":864},{},[157299],{"type":1455},{"data":157301,"marks":157302,"value":102179,"nodeType":864},{},[],{"data":157304,"content":157305,"nodeType":883},{"uri":102182},[157306],{"data":157307,"marks":157308,"value":102188,"nodeType":864},{},[157309],{"type":1455},{"data":157311,"marks":157312,"value":102192,"nodeType":864},{},[],{"data":157314,"content":157315,"nodeType":860},{},[157316,157319,157327],{"data":157317,"marks":157318,"value":102199,"nodeType":864},{},[],{"data":157320,"content":157321,"nodeType":883},{"uri":102202},[157322],{"data":157323,"marks":157324,"value":102209,"nodeType":864},{},[157325,157326],{"type":1455},{"type":2246},{"data":157328,"marks":157329,"value":21,"nodeType":864},{},[],{"data":157331,"content":157332,"nodeType":860},{},[157333],{"data":157334,"marks":157335,"value":102219,"nodeType":864},{},[],{"data":157337,"content":157338,"nodeType":1009},{},[157339],{"data":157340,"marks":157341,"value":102226,"nodeType":864},{},[],{"data":157343,"content":157344,"nodeType":860},{},[157345],{"data":157346,"marks":157347,"value":102233,"nodeType":864},{},[],{"data":157349,"content":157350,"nodeType":860},{},[157351],{"data":157352,"marks":157353,"value":102240,"nodeType":864},{},[],{"data":157355,"content":157356,"nodeType":860},{},[157357,157360,157367],{"data":157358,"marks":157359,"value":102247,"nodeType":864},{},[],{"data":157361,"content":157362,"nodeType":883},{"uri":102250},[157363],{"data":157364,"marks":157365,"value":102256,"nodeType":864},{},[157366],{"type":1455},{"data":157368,"marks":157369,"value":2924,"nodeType":864},{},[],{"data":157371,"content":157372,"nodeType":860},{},[157373,157376,157383],{"data":157374,"marks":157375,"value":102266,"nodeType":864},{},[],{"data":157377,"content":157378,"nodeType":883},{"uri":6418},[157379],{"data":157380,"marks":157381,"value":6423,"nodeType":864},{},[157382],{"type":1455},{"data":157384,"marks":157385,"value":96674,"nodeType":864},{},[],{"data":157387,"content":157390,"nodeType":996},{"target":157388},{"sys":157389},{"id":102281,"type":1001,"linkType":1002},[],{"data":157392,"content":157393,"nodeType":860},{},[157394],{"data":157395,"marks":157396,"value":21,"nodeType":864},{},[],{"items":157398},[157399,157401],{"sys":157400,"name":6593},{"id":6592},{"sys":157402,"name":342},{"id":6596},{"items":157404},[157405],{"fullName":38408,"firstName":38409,"jobTitle":38410,"profilePicture":157406},{"url":38412},{"__typename":2059,"sys":157408,"content":157409,"title":142583,"synopsis":157840,"hashTags":59,"publishedDate":157841,"slug":142584,"tagsCollection":157842,"authorsCollection":157846},{"id":142095},{"json":157410},{"data":157411,"content":157412,"nodeType":856},{},[157413,157420,157427,157434,157441,157448,157454,157461,157468,157475,157482,157488,157495,157501,157520,157527,157533,157551,157570,157589,157596,157603,157610,157617,157623,157629,157636,157643,157650,157657,157663,157670,157718,157724,157730,157748,157754,157761,157767,157774,157780,157787,157794,157800,157806,157812,157819,157826,157833],{"data":157414,"content":157415,"nodeType":860},{},[157416],{"data":157417,"marks":157418,"value":157419,"nodeType":864},{},[],"As an attacker, we have a wide range of persistence options available to us in a traditional account or endpoint compromise scenario. From discovering a user's password, to creating new backdoor accounts, to using one of an insane number of \"run keys\" to keep an implant running beyond reboot, or even moving laterally to other internal systems - an attacker has plenty of choice.",{"data":157421,"content":157422,"nodeType":860},{},[157423],{"data":157424,"marks":157425,"value":157426,"nodeType":864},{},[],"But how does this change in a SaaS-first world? In this post, we'll consider some of the new challenges and opportunities that are presented to an attacker who wants to maintain persistence in the new world order, so you can better investigate incidents and quickly defend against attacks. We'll cover a variety of techniques, including malicious mail rules, OAuth backdoor tricks and document sharing links to see how persistence can be maintained, even in the event of password changes and device wipes.",{"data":157428,"content":157429,"nodeType":1009},{},[157430],{"data":157431,"marks":157432,"value":157433,"nodeType":864},{},[],"So what’s changed?",{"data":157435,"content":157436,"nodeType":860},{},[157437],{"data":157438,"marks":157439,"value":157440,"nodeType":864},{},[],"In a traditional compromise scenario, a common example would be an endpoint compromised through phishing, which is used to deliver a malicious implant to establish a command and control channel with the endpoint. In order to maintain access, an attacker would likely use one or more endpoint persistence methods to ensure their implant is launched again post-reboot when the user turns their laptop off for the day. ",{"data":157442,"content":157443,"nodeType":860},{},[157444],{"data":157445,"marks":157446,"value":157447,"nodeType":864},{},[],"This would often become a foothold into the internal network of the compromised organization. The endpoint or user is the start, but an attacker may seek to move laterally to other endpoints and servers on the internal network, where security is often much lower than the external perimeter.",{"data":157449,"content":157453,"nodeType":996},{"target":157450},{"sys":157451},{"id":157452,"type":1001,"linkType":1002},"5aSsHI9aZjsZIIXcV3YDYk",[],{"data":157455,"content":157456,"nodeType":860},{},[157457],{"data":157458,"marks":157459,"value":157460,"nodeType":864},{},[],"In a SaaS-first world, this situation has begun to change somewhat. There are many companies now that have significantly reduced the size of their internal networks or are even fully in the cloud and do not have any internal network infrastructure. In this case, traditional lateral movement becomes much more difficult or impossible. Additionally, endpoints are becoming increasingly hard targets to compromise and incident response teams have matured and have gotten better at cleaning up endpoint compromises. ",{"data":157462,"content":157463,"nodeType":860},{},[157464],{"data":157465,"marks":157466,"value":157467,"nodeType":864},{},[],"The consequence of this is that attackers need to make the most use of the access they have during an endpoint or user compromise and maintain access where possible, even in the event of a password reset and full laptop wipe. Additionally, new SaaS-focused persistence options are now possible, which are also often resistant to password changes and endpoints wipes, so these are increasingly attractive options for an attacker. ",{"data":157469,"content":157470,"nodeType":860},{},[157471],{"data":157472,"marks":157473,"value":157474,"nodeType":864},{},[],"One other change is that persistence is less binary than it has been traditionally. Typically, persistence would often be on a per-user or per-endpoint basis. Either an attacker would have full control of a user account (e.g. knowing the password) or full control of an endpoint (e.g. an implant running on the endpoint). The main differentiation would be in whether endpoint-level access was administrative level control over the endpoint or an implant running as a low-privileged user account. However, in the SaaS-world persistence is much more asset dependent and thus less binary. It could be persistent access to email, or documents, or chat conversations or any number of other assets and capabilities.",{"data":157476,"content":157477,"nodeType":1312},{},[157478],{"data":157479,"marks":157480,"value":157481,"nodeType":864},{},[],"Mail rules",{"data":157483,"content":157487,"nodeType":996},{"target":157484},{"sys":157485},{"id":157486,"type":1001,"linkType":1002},"3bcLzOfZupSDatdzfFrJDQ",[],{"data":157489,"content":157490,"nodeType":860},{},[157491],{"data":157492,"marks":157493,"value":157494,"nodeType":864},{},[],"Mail rules are a handy feature found in most email clients. You might have used them to forward emails to your teammates while you’re off sipping Piña Coladas, or to move incoming email from that spammy colleague to the “don’t read” folder. However, they can also be used for a range of malicious activities, such as forwarding emails to an external address (e.g. password resets, invoices, “confidential” emails etc) or deleting emails (e.g. security alerts!). A good example of a real-world attack involving this technique was the 2020 SANS breach.\n",{"data":157496,"content":157500,"nodeType":996},{"target":157497},{"sys":157498},{"id":157499,"type":1001,"linkType":1002},"5RoIfopOGmTaORtG7fqYQo",[],{"data":157502,"content":157503,"nodeType":860},{},[157504,157508,157517],{"data":157505,"marks":157506,"value":157507,"nodeType":864},{},[],"If you want to read more about this technique, you can check out our ",{"data":157509,"content":157513,"nodeType":27604},{"target":157510},{"sys":157511},{"id":157512,"type":1001,"linkType":1002},"2zZ8kxP0t8Smi9b6hpT34k",[157514],{"data":157515,"marks":157516,"value":73177,"nodeType":864},{},[],{"data":157518,"marks":157519,"value":2924,"nodeType":864},{},[],{"data":157521,"content":157522,"nodeType":1312},{},[157523],{"data":157524,"marks":157525,"value":157526,"nodeType":864},{},[],"OAuth attack #1: Custom OAuth app integration",{"data":157528,"content":157532,"nodeType":996},{"target":157529},{"sys":157530},{"id":157531,"type":1001,"linkType":1002},"7suW3GZpDsu2RnopkUiA3L",[],{"data":157534,"content":157535,"nodeType":860},{},[157536,157540,157548],{"data":157537,"marks":157538,"value":157539,"nodeType":864},{},[],"OAuth apps can be used to request permanent access to a set of permissions on behalf of a user. This can be as simple as the ability to verify a user’s identity for a simple social login or it could be as permissive as having full control over email, document stores, wiki pages, admin capabilities, etc. You can read more details about this in our ",{"data":157541,"content":157544,"nodeType":27604},{"target":157542},{"sys":157543},{"id":137570,"type":1001,"linkType":1002},[157545],{"data":157546,"marks":157547,"value":73177,"nodeType":864},{},[],{"data":157549,"marks":157550,"value":12252,"nodeType":864},{},[],{"data":157552,"content":157553,"nodeType":860},{},[157554,157558,157566],{"data":157555,"marks":157556,"value":157557,"nodeType":864},{},[],"However, from an attacker’s perspective a custom OAuth app could be created with sensitive permissions and connected to a user’s account in order to maintain access to their data. In the event that an attacker has compromised a user’s account or endpoint, they could directly consent to their own malicious OAuth app on behalf of the user in order to gain persistence. This could also be achieved as part of a ",{"data":157559,"content":157562,"nodeType":27604},{"target":157560},{"sys":157561},{"id":137501,"type":1001,"linkType":1002},[157563],{"data":157564,"marks":157565,"value":32228,"nodeType":864},{},[],{"data":157567,"marks":157568,"value":157569,"nodeType":864},{},[]," attack to effectively compromise a user’s account and gain this persistence at the same time. In either case, this would enable continued access to the user’s data even if their password is changed and their endpoint fully wiped.   ",{"data":157571,"content":157572,"nodeType":860},{},[157573,157577,157585],{"data":157574,"marks":157575,"value":157576,"nodeType":864},{},[],"Attacks utilizing these types of techniques are becoming increasingly common and Microsoft even ",{"data":157578,"content":157580,"nodeType":883},{"uri":157579},"https://www.microsoft.com/en-us/security/blog/2022/09/22/malicious-OAuth-applications-used-to-compromise-email-servers-and-spread-spam/",[157581],{"data":157582,"marks":157583,"value":157584,"nodeType":864},{},[],"wrote about some real-world attacks",{"data":157586,"marks":157587,"value":157588,"nodeType":864},{},[]," they uncovered recently that involved the use of malicious OAuth apps.",{"data":157590,"content":157591,"nodeType":1312},{},[157592],{"data":157593,"marks":157594,"value":157595,"nodeType":864},{},[],"OAuth attack #2: SaaS platform integration",{"data":157597,"content":157598,"nodeType":860},{},[157599],{"data":157600,"marks":157601,"value":157602,"nodeType":864},{},[],"A similar approach to using a custom OAuth app is to make use of legitimate SaaS services that allow an attacker to make sensitive integrations as a more hide-in-plain-sight approach. For example, let’s take the popular SaaS platform Canva, a graphic design tool that is used to create social media graphics, presentations, posters, documents and other visual content, as an example. Canva, like many SaaS platforms, allows you to make integrations with document stores like OneDrive and Google Drive in order to easily import and export files between Canva and them. If an attacker is interested primarily in maintaining access to a user’s files, then they could make an integration with a platform like Canva and then use that to maintain access.",{"data":157604,"content":157605,"nodeType":860},{},[157606],{"data":157607,"marks":157608,"value":157609,"nodeType":864},{},[],"While this doesn’t provide any raw capabilities beyond a custom OAuth app, an attacker may be more likely to go undetected in this scenario. Discovering an integration with a completely unknown, unverified OAuth app that hasn’t been seen in use elsewhere in the organization, or anywhere at all, is suspicious. Finding an integration with a major SaaS platform, particularly if it is one in use by other users in the organization, is much less suspicious. Additionally, many of them will have verified ticks having been through Microsoft’s or Google’s own verification processes. The only downside for an attacker is having to find SaaS platforms that request the correct permissions and provide the functionality that the attacker is looking for, whereas a custom OAuth app could be used to request any permissions and code could be written to use those permissions however an attacker would like.",{"data":157611,"content":157612,"nodeType":860},{},[157613],{"data":157614,"marks":157615,"value":157616,"nodeType":864},{},[],"If a custom OAuth app is the equivalent of a custom implant on an endpoint, then using a legitimate SaaS platform integration is the equivalent of a more living-off-the-land approach, such as using TeamViewer, RDP or Powershell, etc.\n",{"data":157618,"content":157622,"nodeType":996},{"target":157619},{"sys":157620},{"id":157621,"type":1001,"linkType":1002},"53pL4O8zgfLBKqZbbcN3aI",[],{"data":157624,"content":157628,"nodeType":996},{"target":157625},{"sys":157626},{"id":157627,"type":1001,"linkType":1002},"6ovQnE1bu7tVCJr4OfzfhI",[],{"data":157630,"content":157631,"nodeType":1312},{},[157632],{"data":157633,"marks":157634,"value":157635,"nodeType":864},{},[],"OAuth attack #3: Legitimate desktop/mobile app impersonation",{"data":157637,"content":157638,"nodeType":860},{},[157639],{"data":157640,"marks":157641,"value":157642,"nodeType":864},{},[],"Ok, we promise this is the last OAuth variation example - but it’s another interesting way to abuse OAuth connections! Previously, we spoke of either connecting a custom OAuth app or using an OAuth integration via a legitimate SaaS platform. A custom OAuth app has the most flexibility for an attacker, but looks far more suspicious if discovered, whereas a legitimate SaaS platform looks much more….well, legitimate!",{"data":157644,"content":157645,"nodeType":860},{},[157646],{"data":157647,"marks":157648,"value":157649,"nodeType":864},{},[],"What if you could have both of those advantages in one? Well, that can be achieved, too! The reason SaaS platforms don’t have the same flexibility is because they keep their client IDs and secrets for their apps so the attacker can only use the OAuth app indirectly via the features provided by the SaaS platform. However, some OAuth connections are made using desktop or mobile apps that obviously can’t keep their OAuth app secrets secret from a user. While it is generally not possible for an attacker to make use of these in a consent phishing attack, due to not controlling the reply URLs, they can be used in a pure persistence scenario with an already compromised account. ",{"data":157651,"content":157652,"nodeType":860},{},[157653],{"data":157654,"marks":157655,"value":157656,"nodeType":864},{},[],"Let’s take Mozilla Thunderbird, a cross-platform email client, as an example. The client IDs and secrets for different OAuth apps are actually stored in the source code in this case: ",{"data":157658,"content":157662,"nodeType":996},{"target":157659},{"sys":157660},{"id":157661,"type":1001,"linkType":1002},"3Ed90clKC3GG4BcPfeV6Nm",[],{"data":157664,"content":157665,"nodeType":860},{},[157666],{"data":157667,"marks":157668,"value":157669,"nodeType":864},{},[],"As an attacker, this gives us multiple advantages. ",{"data":157671,"content":157672,"nodeType":941},{},[157673,157688,157703],{"data":157674,"content":157675,"nodeType":945},{},[157676],{"data":157677,"content":157678,"nodeType":860},{},[157679,157684],{"data":157680,"marks":157681,"value":157683,"nodeType":864},{},[157682],{"type":899},"App Impersonation",{"data":157685,"marks":157686,"value":157687,"nodeType":864},{},[]," - These are client IDs that will be seen in use legitimately by other users and we can impersonate them. In Thunderbird’s case, the Microsoft app isn’t actually a verified app but the Google one shows as verified. Whatever the case, it looks much less suspicious than a completely unknown app with no known business use case. ",{"data":157689,"content":157690,"nodeType":945},{},[157691],{"data":157692,"content":157693,"nodeType":860},{},[157694,157699],{"data":157695,"marks":157696,"value":157698,"nodeType":864},{},[157697],{"type":899},"Flexible Use",{"data":157700,"marks":157701,"value":157702,"nodeType":864},{},[]," - We have access to the client IDs and secrets, so we can do whatever we want with the OAuth integration, writing custom code to query APIs as we please. We are not limited to the functionality provided by Thunderbird itself.\n",{"data":157704,"content":157705,"nodeType":945},{},[157706],{"data":157707,"content":157708,"nodeType":860},{},[157709,157714],{"data":157710,"marks":157711,"value":157713,"nodeType":864},{},[157712],{"type":899},"Arbitrary Permission Granting",{"data":157715,"marks":157716,"value":157717,"nodeType":864},{},[]," - We aren’t actually limited to just the permissions that Thunderbird would normally request (e.g. email/calendar). Since we’re in control of the OAuth secrets, we can just request whatever scopes we want. For example, shown below is us using the Microsoft Thunderbird OAuth secrets to request permissions that also include access to all files, Sharepoint, AD access, etc. \n",{"data":157719,"content":157723,"nodeType":996},{"target":157720},{"sys":157721},{"id":157722,"type":1001,"linkType":1002},"22nQPPKCgUUEr7QPQBFHNS",[],{"data":157725,"content":157729,"nodeType":996},{"target":157726},{"sys":157727},{"id":157728,"type":1001,"linkType":1002},"5eIVlfPzpxuO7D41r7DPfe",[],{"data":157731,"content":157732,"nodeType":941},{},[157733],{"data":157734,"content":157735,"nodeType":945},{},[157736],{"data":157737,"content":157738,"nodeType":860},{},[157739,157744],{"data":157740,"marks":157741,"value":157743,"nodeType":864},{},[157742],{"type":899},"(Semi-)Bypass Google Restricted Scopes",{"data":157745,"marks":157746,"value":157747,"nodeType":864},{},[]," - When it comes to arbitrary permission granting, there is a caveat with Google in that some of the more sensitive scopes Google offer are only available to selected approved and verified apps. Therefore, we can’t necessarily just request access to any permission with Google. For example, if we modify Thunderbird to request access to Google Drive (a restricted scope) then we get the following: ",{"data":157749,"content":157753,"nodeType":996},{"target":157750},{"sys":157751},{"id":157752,"type":1001,"linkType":1002},"3HIcve3zqVFheiZ2tJILJl",[],{"data":157755,"content":157756,"nodeType":860},{},[157757],{"data":157758,"marks":157759,"value":157760,"nodeType":864},{},[],"Access to Gmail is also considered a restricted scope. However, obviously Thunderbird is an email client, so if it uses OAuth it’s going to want access to Gmail, right? Well, yes, the Thunderbird app ID is permitted access to Gmail data, so we can use it to gain that access and appear as a legitimate verified app, in addition to requesting any other non-restricted permissions we’re interested in: ",{"data":157762,"content":157766,"nodeType":996},{"target":157763},{"sys":157764},{"id":157765,"type":1001,"linkType":1002},"5SqY9Q2g7DpHhCGJVQDcgF",[],{"data":157768,"content":157769,"nodeType":1312},{},[157770],{"data":157771,"marks":157772,"value":157773,"nodeType":864},{},[],"Document-sharing links",{"data":157775,"content":157779,"nodeType":996},{"target":157776},{"sys":157777},{"id":157778,"type":1001,"linkType":1002},"2EEC98Ros0MdMX2gt4OGKe",[],{"data":157781,"content":157782,"nodeType":860},{},[157783],{"data":157784,"marks":157785,"value":157786,"nodeType":864},{},[],"Ok, no more OAuth, we promise! The final option we want to highlight is the (ab-)use of document-sharing links. Many organizations make use of OneDrive, Sharepoint and Google Drive for document editing, sharing and collaboration. However, it’s pretty common to want to share documents with people outside your organization sometimes too, right? That’s where document-sharing links come in. You can create a document sharing link to share with specific individuals in other Google/Azure organizations or you can create anonymous links that anyone with knowledge of the (unguessable randomized) link can access.",{"data":157788,"content":157789,"nodeType":860},{},[157790],{"data":157791,"marks":157792,"value":157793,"nodeType":864},{},[],"Very similar functionality is present in both OneDrive and Google Drive, but this same legitimate functionality can also be abused by attackers to maintain backdoor access to either select files or entire root folders. Sharing a root folder will cause future files to inherit those sharing permissions. This is a modern repeat of the age-old problem of access control list (ACL) management on internal file servers, only now internet-based attackers can potentially abuse this without needing VPN or similar access. ",{"data":157795,"content":157799,"nodeType":996},{"target":157796},{"sys":157797},{"id":157798,"type":1001,"linkType":1002},"4IUv2rbEMXrJUAdEYC9xxD",[],{"data":157801,"content":157805,"nodeType":996},{"target":157802},{"sys":157803},{"id":157804,"type":1001,"linkType":1002},"bMAt7XvLmIEIDwzZrAawU",[],{"data":157807,"content":157808,"nodeType":1312},{},[157809],{"data":157810,"marks":157811,"value":32492,"nodeType":864},{},[],{"data":157813,"content":157814,"nodeType":860},{},[157815],{"data":157816,"marks":157817,"value":157818,"nodeType":864},{},[],"We've demonstrated a few new persistence options attackers are using against organizations as they move to the cloud. While some existing persistence and lateral movement options are no longer working in these environments, attackers have been able to quickly adapt to new conditions to get at their targets.",{"data":157820,"content":157821,"nodeType":860},{},[157822],{"data":157823,"marks":157824,"value":157825,"nodeType":864},{},[],"Some of these attacks have already been seen in the wild and others may already be happening under the radar. In any case, being aware of how attackers will try to compromise SaaS-first organizations helps you prepare to defend and respond to these attacks. ",{"data":157827,"content":157828,"nodeType":860},{},[157829],{"data":157830,"marks":157831,"value":157832,"nodeType":864},{},[],"It’s extremely important for incident response teams to adapt to these changes, as a password reset and a device wipe is not sufficient to regain control of a user account, even when no lateral movement to internal systems has been performed.",{"data":157834,"content":157835,"nodeType":860},{},[157836],{"data":157837,"marks":157838,"value":157839,"nodeType":864},{},[],"New steps need to be added to IR playbooks in the event of user or device compromises to cover the revocation of OAuth permissions and refresh tokens, the auditing of mail rules and changes to document sharing configurations.","Attackers have loads of persistence options in an endpoint compromise scenario, but what changes in a SaaS-first world? We talk new attack methods in this post.","2022-11-29T00:00:00.000Z",{"items":157843},[157844],{"sys":157845,"name":6593},{"id":6592},{"items":157847},[157848],{"fullName":4949,"firstName":4950,"jobTitle":4951,"profilePicture":157849},{"url":4955},"blog/nearly-invisible-attack-chain",{"json":157852},{"data":157853,"content":157854,"nodeType":856},{},[157855],{"data":157856,"content":157857,"nodeType":860},{},[157858],{"data":157859,"marks":157860,"value":157861,"nodeType":864},{},[],"We’re going to demonstrate how combining two of our favorite new SaaS attack techniques - from our SaaS Attacks Matrix research - makes a simple, but very stealthy approach that maintains persistent access.",{"id":135378,"publishedAt":157863},"2026-08-12T11:55:59.906Z",{"items":157865},[157866,157868],{"sys":157867,"name":6593},{"id":6592},{"sys":157869,"name":342},{"id":6596},{"items":157871},[157872,157874,157876,157878,157880,157882,157884,157886,157888,157890],{"sys":157873,"name":279,"slug":280,"tier":31},{"id":276},{"sys":157875,"name":413,"slug":414,"tier":31},{"id":410},{"sys":157877,"name":545,"slug":546,"tier":31},{"id":542},{"sys":157879,"name":342,"slug":343,"tier":31},{"id":339},{"sys":157881,"name":484,"slug":485,"tier":45},{"id":481},{"sys":157883,"name":404,"slug":405,"tier":45},{"id":401},{"sys":157885,"name":571,"slug":572,"tier":45},{"id":568},{"sys":157887,"name":431,"slug":432,"tier":45},{"id":428},{"sys":157889,"name":368,"slug":369,"tier":45},{"id":365},{"sys":157891,"name":333,"slug":334,"tier":45},{"id":330},"dOWGpyVPlOdvk8MP541yXUYAhD19BxKwElFq8HzGBV4",{"id":157894,"title":157895,"authorsCollection":157896,"content":157900,"extension":228,"faqItemsCollection":158630,"faqTitle":59,"featured":6,"hashTags":59,"meta":158632,"metaTitle":158633,"ogImage":59,"postType":38987,"publishedDate":158634,"relatedBlogPostsCollection":158635,"slug":160251,"stem":160252,"subtitle":59,"summary":160253,"synopsis":160264,"sys":160265,"tagsCollection":160268,"topicsCollection":160274,"__hash__":160290},"blog/blog/the-risky-terrain-of-oauth-scopes-in-third-party.json","Under the radar: The risky terrain of OAuth scopes in third-party Integrations",{"items":157897},[157898],{"fullName":73848,"firstName":73849,"jobTitle":73850,"socialLinks":59,"profilePicture":157899},{"url":73852},{"json":157901,"links":158619},{"data":157902,"content":157903,"nodeType":856},{},[157904,157911,157918,157925,157933,157981,157988,157995,158002,158010,158102,158109,158116,158123,158130,158177,158184,158191,158199,158246,158253,158282,158289,158297,158389,158396,158403,158410,158418,158464,158471,158478,158485,158493,158534,158541,158548,158555,158574,158581,158588,158608,158613],{"data":157905,"content":157906,"nodeType":860},{},[157907],{"data":157908,"marks":157909,"value":157910,"nodeType":864},{},[],"While OAuth scopes are instrumental in providing seamless online user authentication, they also carry significant risk in terms of security breaches. This risk magnifies when exposed to malicious actors, who can exploit certain high-risk scopes such as Microsoft 365’s “MailboxSettings.ReadWrite”, and Google Workspace’s “gmail.settings.sharing” to carry out nefarious actions.",{"data":157912,"content":157913,"nodeType":860},{},[157914],{"data":157915,"marks":157916,"value":157917,"nodeType":864},{},[],"This article includes the most common high-risk scopes that may pose risk to your organization following the compromise of a third-party integration. Watch out for these common, dangerous scopes in your next risk assessment.",{"data":157919,"content":157920,"nodeType":1009},{},[157921],{"data":157922,"marks":157923,"value":157924,"nodeType":864},{},[],"Capability: Backdoor Mailbox",{"data":157926,"content":157927,"nodeType":860},{},[157928],{"data":157929,"marks":157930,"value":157932,"nodeType":864},{},[157931],{"type":2246},"Types of attacks: Business email compromise, account takeover via password reset email",{"data":157934,"content":157935,"nodeType":4845},{},[157936,157958],{"data":157937,"content":157938,"nodeType":4581},{},[157939,157949],{"data":157940,"content":157941,"nodeType":4569},{},[157942],{"data":157943,"content":157944,"nodeType":860},{},[157945],{"data":157946,"marks":157947,"value":157948,"nodeType":864},{},[],"Microsoft 365 / Azure",{"data":157950,"content":157951,"nodeType":4569},{},[157952],{"data":157953,"content":157954,"nodeType":860},{},[157955],{"data":157956,"marks":157957,"value":139601,"nodeType":864},{},[],{"data":157959,"content":157960,"nodeType":4581},{},[157961,157971],{"data":157962,"content":157963,"nodeType":4569},{},[157964],{"data":157965,"content":157966,"nodeType":860},{},[157967],{"data":157968,"marks":157969,"value":157970,"nodeType":864},{},[],"MailboxSettings.ReadWrite",{"data":157972,"content":157973,"nodeType":4569},{},[157974],{"data":157975,"content":157976,"nodeType":860},{},[157977],{"data":157978,"marks":157979,"value":157980,"nodeType":864},{},[],"https://www.googleapis.com/auth/gmail.settings.sharing",{"data":157982,"content":157983,"nodeType":860},{},[157984],{"data":157985,"marks":157986,"value":157987,"nodeType":864},{},[],"Scopes that allow you to alter sensitive mailbox settings, such as forwarding rules, can allow malicious actors to take over a user’s mailbox by moving, deleting, or forwarding mail externally. This type of attack is typically prevalent in business email compromise (BEC) scenarios where malicious actors intercepts sensitive communications, leading to invoice fraud as an example.",{"data":157989,"content":157990,"nodeType":860},{},[157991],{"data":157992,"marks":157993,"value":157994,"nodeType":864},{},[],"The malicious actor would also be able to forward password reset email requests and delete the email from the victim’s inbox to avoid detection, thereby gaining the ability to reset credentials and gain access to third-party SaaS applications while remaining undetected.",{"data":157996,"content":157997,"nodeType":1009},{},[157998],{"data":157999,"marks":158000,"value":158001,"nodeType":864},{},[],"Capability: Account Takeover, Privilege Escalation",{"data":158003,"content":158004,"nodeType":860},{},[158005],{"data":158006,"marks":158007,"value":158009,"nodeType":864},{},[158008],{"type":2246},"Types of attacks: account takeover via password reset, privilege escalation via group membership change",{"data":158011,"content":158012,"nodeType":4845},{},[158013,158034,158057,158080],{"data":158014,"content":158015,"nodeType":4581},{},[158016,158025],{"data":158017,"content":158018,"nodeType":4569},{},[158019],{"data":158020,"content":158021,"nodeType":860},{},[158022],{"data":158023,"marks":158024,"value":157948,"nodeType":864},{},[],{"data":158026,"content":158027,"nodeType":4569},{},[158028],{"data":158029,"content":158030,"nodeType":860},{},[158031],{"data":158032,"marks":158033,"value":139601,"nodeType":864},{},[],{"data":158035,"content":158036,"nodeType":4581},{},[158037,158047],{"data":158038,"content":158039,"nodeType":4569},{},[158040],{"data":158041,"content":158042,"nodeType":860},{},[158043],{"data":158044,"marks":158045,"value":158046,"nodeType":864},{},[],"Directory.ReadWrite.All",{"data":158048,"content":158049,"nodeType":4569},{},[158050],{"data":158051,"content":158052,"nodeType":860},{},[158053],{"data":158054,"marks":158055,"value":158056,"nodeType":864},{},[],"https://www.googleapis.com/auth/admin.directory.user.security",{"data":158058,"content":158059,"nodeType":4581},{},[158060,158070],{"data":158061,"content":158062,"nodeType":4569},{},[158063],{"data":158064,"content":158065,"nodeType":860},{},[158066],{"data":158067,"marks":158068,"value":158069,"nodeType":864},{},[],"User.ReadWrite.All",{"data":158071,"content":158072,"nodeType":4569},{},[158073],{"data":158074,"content":158075,"nodeType":860},{},[158076],{"data":158077,"marks":158078,"value":158079,"nodeType":864},{},[],"https://www.googleapis.com/auth/admin.directory.user",{"data":158081,"content":158082,"nodeType":4581},{},[158083,158092],{"data":158084,"content":158085,"nodeType":4569},{},[158086],{"data":158087,"content":158088,"nodeType":860},{},[158089],{"data":158090,"marks":158091,"value":21,"nodeType":864},{},[],{"data":158093,"content":158094,"nodeType":4569},{},[158095],{"data":158096,"content":158097,"nodeType":860},{},[158098],{"data":158099,"marks":158100,"value":158101,"nodeType":864},{},[],"https://www.googleapis.com/auth/admin.directory.group",{"data":158103,"content":158104,"nodeType":860},{},[158105],{"data":158106,"marks":158107,"value":158108,"nodeType":864},{},[],"The above scopes are typically used by applications that perform identity management within your cloud environment. “Directory.ReadWrite.All” for example, allows you to read and modify practically any aspect of objects within your directory. This includes group membership, password resets, and re-enabling previously disabled accounts. ",{"data":158110,"content":158111,"nodeType":860},{},[158112],{"data":158113,"marks":158114,"value":158115,"nodeType":864},{},[],"“User.ReadWrite.All” has similar privileges, albeit limited in scope to user accounts only. An attacker in a position to abuse such scopes would be able to take over accounts, escalate privileges by assigning the accounts to privileged groups, and remain under the radar by making use of previously disabled accounts.",{"data":158117,"content":158118,"nodeType":1009},{},[158119],{"data":158120,"marks":158121,"value":158122,"nodeType":864},{},[],"Capability: Email Access",{"data":158124,"content":158125,"nodeType":860},{},[158126],{"data":158127,"marks":158128,"value":157932,"nodeType":864},{},[158129],{"type":2246},{"data":158131,"content":158132,"nodeType":4845},{},[158133,158154],{"data":158134,"content":158135,"nodeType":4581},{},[158136,158145],{"data":158137,"content":158138,"nodeType":4569},{},[158139],{"data":158140,"content":158141,"nodeType":860},{},[158142],{"data":158143,"marks":158144,"value":157948,"nodeType":864},{},[],{"data":158146,"content":158147,"nodeType":4569},{},[158148],{"data":158149,"content":158150,"nodeType":860},{},[158151],{"data":158152,"marks":158153,"value":139601,"nodeType":864},{},[],{"data":158155,"content":158156,"nodeType":4581},{},[158157,158167],{"data":158158,"content":158159,"nodeType":4569},{},[158160],{"data":158161,"content":158162,"nodeType":860},{},[158163],{"data":158164,"marks":158165,"value":158166,"nodeType":864},{},[],"Mail.ReadWrite",{"data":158168,"content":158169,"nodeType":4569},{},[158170],{"data":158171,"content":158172,"nodeType":860},{},[158173],{"data":158174,"marks":158175,"value":158176,"nodeType":864},{},[],"https://mail.google.com/",{"data":158178,"content":158179,"nodeType":860},{},[158180],{"data":158181,"marks":158182,"value":158183,"nodeType":864},{},[],"Scopes that have direct access to mailboxes naturally provide risk in terms of a malicious actor’s ability to read sensitive information, and access to third-party SaaS applications’ password reset email requests, not unlike the ‘Backdoor Mailbox’ capability.",{"data":158185,"content":158186,"nodeType":1009},{},[158187],{"data":158188,"marks":158189,"value":158190,"nodeType":864},{},[],"Capability: Access as User",{"data":158192,"content":158193,"nodeType":860},{},[158194],{"data":158195,"marks":158196,"value":158198,"nodeType":864},{},[158197],{"type":2246},"Types of attacks: Gain access to resources available to the particular account",{"data":158200,"content":158201,"nodeType":4845},{},[158202,158223],{"data":158203,"content":158204,"nodeType":4581},{},[158205,158214],{"data":158206,"content":158207,"nodeType":4569},{},[158208],{"data":158209,"content":158210,"nodeType":860},{},[158211],{"data":158212,"marks":158213,"value":157948,"nodeType":864},{},[],{"data":158215,"content":158216,"nodeType":4569},{},[158217],{"data":158218,"content":158219,"nodeType":860},{},[158220],{"data":158221,"marks":158222,"value":139601,"nodeType":864},{},[],{"data":158224,"content":158225,"nodeType":4581},{},[158226,158236],{"data":158227,"content":158228,"nodeType":4569},{},[158229],{"data":158230,"content":158231,"nodeType":860},{},[158232],{"data":158233,"marks":158234,"value":158235,"nodeType":864},{},[],"Directory.AccessAsUser.All",{"data":158237,"content":158238,"nodeType":4569},{},[158239],{"data":158240,"content":158241,"nodeType":860},{},[158242],{"data":158243,"marks":158244,"value":158245,"nodeType":864},{},[],"https://www.googleapis.com/auth/cloud-platform",{"data":158247,"content":158248,"nodeType":860},{},[158249],{"data":158250,"marks":158251,"value":158252,"nodeType":864},{},[],"Scopes that provide “Access as User” privileges are typically used by applications that need to impersonate a user and their access permissions. This may not sound super risky at the surface level, but if you consider that a user may have access to shared resources across an organization, the risk starts to add up.",{"data":158254,"content":158255,"nodeType":860},{},[158256,158260,158267,158271,158278],{"data":158257,"marks":158258,"value":158259,"nodeType":864},{},[],"One example of the impact of such scopes is noted in Chris Moberly's incredibly informative ",{"data":158261,"content":158263,"nodeType":883},{"uri":158262},"https://initblog.com/2020/gcp-post-exploitation/",[158264],{"data":158265,"marks":158266,"value":79166,"nodeType":864},{},[],{"data":158268,"marks":158269,"value":158270,"nodeType":864},{},[]," where the “",{"data":158272,"content":158273,"nodeType":883},{"uri":158245},[158274],{"data":158275,"marks":158276,"value":158245,"nodeType":864},{},[158277],{"type":1455},{"data":158279,"marks":158280,"value":158281,"nodeType":864},{},[],"” scope is abused to authenticate to practically all API functions within Google Cloud, and in turn access the owner’s data.",{"data":158283,"content":158284,"nodeType":1009},{},[158285],{"data":158286,"marks":158287,"value":158288,"nodeType":864},{},[],"Capability: OneDrive / SharePoint /  Google Drive File Access",{"data":158290,"content":158291,"nodeType":860},{},[158292],{"data":158293,"marks":158294,"value":158296,"nodeType":864},{},[158295],{"type":2246},"Types of attacks: Gain access to all files stored within the OneDrive/SharePoint or Google Drive services",{"data":158298,"content":158299,"nodeType":4845},{},[158300,158321,158344,158367],{"data":158301,"content":158302,"nodeType":4581},{},[158303,158312],{"data":158304,"content":158305,"nodeType":4569},{},[158306],{"data":158307,"content":158308,"nodeType":860},{},[158309],{"data":158310,"marks":158311,"value":157948,"nodeType":864},{},[],{"data":158313,"content":158314,"nodeType":4569},{},[158315],{"data":158316,"content":158317,"nodeType":860},{},[158318],{"data":158319,"marks":158320,"value":139601,"nodeType":864},{},[],{"data":158322,"content":158323,"nodeType":4581},{},[158324,158334],{"data":158325,"content":158326,"nodeType":4569},{},[158327],{"data":158328,"content":158329,"nodeType":860},{},[158330],{"data":158331,"marks":158332,"value":158333,"nodeType":864},{},[],"Files.ReadWrite.All / Files.Read.All",{"data":158335,"content":158336,"nodeType":4569},{},[158337],{"data":158338,"content":158339,"nodeType":860},{},[158340],{"data":158341,"marks":158342,"value":158343,"nodeType":864},{},[],"https://www.googleapis.com/auth/drive",{"data":158345,"content":158346,"nodeType":4581},{},[158347,158357],{"data":158348,"content":158349,"nodeType":4569},{},[158350],{"data":158351,"content":158352,"nodeType":860},{},[158353],{"data":158354,"marks":158355,"value":158356,"nodeType":864},{},[],"Sites.ReadWrite.All / Sites.Read.All",{"data":158358,"content":158359,"nodeType":4569},{},[158360],{"data":158361,"content":158362,"nodeType":860},{},[158363],{"data":158364,"marks":158365,"value":158366,"nodeType":864},{},[],"https://www.googleapis.com/auth/drive.readonly",{"data":158368,"content":158369,"nodeType":4581},{},[158370,158379],{"data":158371,"content":158372,"nodeType":4569},{},[158373],{"data":158374,"content":158375,"nodeType":860},{},[158376],{"data":158377,"marks":158378,"value":90277,"nodeType":864},{},[],{"data":158380,"content":158381,"nodeType":4569},{},[158382],{"data":158383,"content":158384,"nodeType":860},{},[158385],{"data":158386,"marks":158387,"value":158388,"nodeType":864},{},[],"https://www.googleapis.com/auth/drive.file",{"data":158390,"content":158391,"nodeType":860},{},[158392],{"data":158393,"marks":158394,"value":158395,"nodeType":864},{},[],"OneDrive, SharePoint, and Google Drive are likely the services where some of the most sensitive content in your organization resides. Scopes that provide access to document stores should thus be treated as having access to critical information (think PII, trade secrets, acquisition deals).",{"data":158397,"content":158398,"nodeType":860},{},[158399],{"data":158400,"marks":158401,"value":158402,"nodeType":864},{},[],"Document theft would be possible with the read-only scopes. However, a malicious actor with ‘write’ permissions would be able to expand into another level of attacks which involves manipulating the content of documents. This could include altering banking details on invoices, or the inclusion of malicious code in macros embedded in the documents, leading to code execution and further compromise.",{"data":158404,"content":158405,"nodeType":1009},{},[158406],{"data":158407,"marks":158408,"value":158409,"nodeType":864},{},[],"Capability: Privilege Escalation, Persistence",{"data":158411,"content":158412,"nodeType":860},{},[158413],{"data":158414,"marks":158415,"value":158417,"nodeType":864},{},[158416],{"type":2246},"Types of attacks: Adding credentials, backdooring applications",{"data":158419,"content":158420,"nodeType":4845},{},[158421,158442],{"data":158422,"content":158423,"nodeType":4581},{},[158424,158433],{"data":158425,"content":158426,"nodeType":4569},{},[158427],{"data":158428,"content":158429,"nodeType":860},{},[158430],{"data":158431,"marks":158432,"value":157948,"nodeType":864},{},[],{"data":158434,"content":158435,"nodeType":4569},{},[158436],{"data":158437,"content":158438,"nodeType":860},{},[158439],{"data":158440,"marks":158441,"value":139601,"nodeType":864},{},[],{"data":158443,"content":158444,"nodeType":4581},{},[158445,158455],{"data":158446,"content":158447,"nodeType":4569},{},[158448],{"data":158449,"content":158450,"nodeType":860},{},[158451],{"data":158452,"marks":158453,"value":158454,"nodeType":864},{},[],"Application.ReadWrite.All",{"data":158456,"content":158457,"nodeType":4569},{},[158458],{"data":158459,"content":158460,"nodeType":860},{},[158461],{"data":158462,"marks":158463,"value":158245,"nodeType":864},{},[],{"data":158465,"content":158466,"nodeType":860},{},[158467],{"data":158468,"marks":158469,"value":158470,"nodeType":864},{},[],"The \"Application.ReadWrite.All\" scope could enable a malicious actor to add credentials to applications already present in your tenant, paving the way for privilege escalation.As an example, if a malicious actor compromises an application with this scope, they could add credentials to any other application in your tenant that has the \"Directory.ReadWrite.All\" scope, thereby gaining access to its data and privileges.",{"data":158472,"content":158473,"nodeType":860},{},[158474],{"data":158475,"marks":158476,"value":158477,"nodeType":864},{},[],"This naturally lends itself to a malicious actor gaining persistence via the addition of credentials to other applications. This would allow them to authenticate as these other applications within your Azure or Google tenants, and allow them to assume those applications’ privileges, too.",{"data":158479,"content":158480,"nodeType":1009},{},[158481],{"data":158482,"marks":158483,"value":158484,"nodeType":864},{},[],"Capability: Teams chat history / OneNote access",{"data":158486,"content":158487,"nodeType":860},{},[158488],{"data":158489,"marks":158490,"value":158492,"nodeType":864},{},[158491],{"type":2246},"Types of attacks: Gain access to users’ teams chat histories or OneNote notes",{"data":158494,"content":158495,"nodeType":4845},{},[158496,158508,158521],{"data":158497,"content":158498,"nodeType":4581},{},[158499],{"data":158500,"content":158501,"nodeType":4569},{},[158502],{"data":158503,"content":158504,"nodeType":860},{},[158505],{"data":158506,"marks":158507,"value":157948,"nodeType":864},{},[],{"data":158509,"content":158510,"nodeType":4581},{},[158511],{"data":158512,"content":158513,"nodeType":4569},{},[158514],{"data":158515,"content":158516,"nodeType":860},{},[158517],{"data":158518,"marks":158519,"value":158520,"nodeType":864},{},[],"Chat.ReadWrite / Chat.ReadWrite.All",{"data":158522,"content":158523,"nodeType":4581},{},[158524],{"data":158525,"content":158526,"nodeType":4569},{},[158527],{"data":158528,"content":158529,"nodeType":860},{},[158530],{"data":158531,"marks":158532,"value":158533,"nodeType":864},{},[],"Notes.ReadWrite.All",{"data":158535,"content":158536,"nodeType":860},{},[158537],{"data":158538,"marks":158539,"value":158540,"nodeType":864},{},[],"If a malicious actor were to gain access to your meeting notes or Teams chat histories, what would they find? Perhaps passwords shared between team members or confidential proprietary information? With the scopes designated with ‘All’, a malicious actor will be able to pull the Teams or notes history of all users within the organization.",{"data":158542,"content":158543,"nodeType":1009},{},[158544],{"data":158545,"marks":158546,"value":158547,"nodeType":864},{},[],"I found an integration we use that includes these dangerous scopes… now what?",{"data":158549,"content":158550,"nodeType":860},{},[158551],{"data":158552,"marks":158553,"value":158554,"nodeType":864},{},[],"While the scopes listed here are definitely some of the most dangerous when granted to third-party integrations, they will usually be paired with legitimate apps offering legitimate functionality. But then how do you determine which integrations need further scrutiny?",{"data":158556,"content":158557,"nodeType":860},{},[158558,158562,158571],{"data":158559,"marks":158560,"value":158561,"nodeType":864},{},[],"The biggest red flag you might come across would be an unrecognized or unapproved integration making use of these scopes, as it may be associated with attacks such as ",{"data":158563,"content":158566,"nodeType":27604},{"target":158564},{"sys":158565},{"id":137501,"type":1001,"linkType":1002},[158567],{"data":158568,"marks":158569,"value":32228,"nodeType":864},{},[158570],{"type":1455},{"data":158572,"marks":158573,"value":12252,"nodeType":864},{},[],{"data":158575,"content":158576,"nodeType":860},{},[158577],{"data":158578,"marks":158579,"value":158580,"nodeType":864},{},[],"Determining their legitimacy should be the number one priority. This would hopefully be done via your security team having performed due diligence and permissions review, and ascertaining whether the app has legitimate use within the business. As with the consent phishing example, a user may have granted a third-party app access to their mailbox or OneDrive files without fully grasping the implications of their actions.",{"data":158582,"content":158583,"nodeType":860},{},[158584],{"data":158585,"marks":158586,"value":158587,"nodeType":864},{},[],"Push provides visibility to the security team whenever a new third-party integration is detected by way of notifications via a designated Slack or Teams channel. This may help your security team stay on top of unsanctioned apps by providing the ability to remove integrations which may provide unnecessary risk to your organization.",{"data":158589,"content":158590,"nodeType":860},{},[158591,158595,158604],{"data":158592,"marks":158593,"value":158594,"nodeType":864},{},[],"\nIf you’re interested in further reading about how attackers can compromise your environment through SaaS apps, ",{"data":158596,"content":158599,"nodeType":27604},{"target":158597},{"sys":158598},{"id":137458,"type":1001,"linkType":1002},[158600],{"data":158601,"marks":158602,"value":138409,"nodeType":864},{},[158603],{"type":1455},{"data":158605,"marks":158606,"value":158607,"nodeType":864},{},[]," may shed some light on the topic. ",{"data":158609,"content":158612,"nodeType":996},{"target":158610},{"sys":158611},{"id":92011,"type":1001,"linkType":1002},[],{"data":158614,"content":158615,"nodeType":860},{},[158616],{"data":158617,"marks":158618,"value":21,"nodeType":864},{},[],{"entries":158620},{"inline":158621,"hyperlink":158622,"block":158627},[],[158623,158625],{"sys":158624,"__typename":2059,"title":139705,"slug":139708},{"id":137501},{"sys":158626,"__typename":2059,"title":138765,"slug":138767},{"id":137458},[158628],{"sys":158629,"__typename":1717,"type":80540,"ctaText":125792,"buttonLabel":125793,"buttonColour":1721,"buttonUrl":59},{"id":92011},{"items":158631},[],{},"Dangerous OAuth scopes in third-party Integrations","2023-09-06T00:00:00.000Z",{"items":158636},[158637,159777],{"__typename":2059,"sys":158638,"content":158639,"title":138765,"synopsis":137476,"hashTags":59,"publishedDate":138766,"slug":138767,"tagsCollection":159767,"authorsCollection":159773},{"id":137458},{"json":158640},{"data":158641,"content":158642,"nodeType":856},{},[158643,158649,158655,158661,158667,158685,158691,158696,158702,158708,158714,158742,158747,158753,158861,158867,158873,159107,159113,159119,159125,159151,159157,159163,159168,159174,159179,159185,159191,159197,159203,159209,159215,159221,159227,159232,159238,159251,159257,159263,159289,159295,159311,159317,159323,159329,159335,159366,159382,159430,159436,159442,159458,159474,159480,159506,159512,159518,159524,159530,159536,159542,159548,159564,159569,159575,159590,159596,159602,159607,159613,159619,159624,159630,159666,159672,159677,159683,159688,159694,159700,159726,159732,159738,159744,159750,159756,159761],{"data":158644,"content":158645,"nodeType":860},{},[158646],{"data":158647,"marks":158648,"value":137469,"nodeType":864},{},[],{"data":158650,"content":158651,"nodeType":860},{},[158652],{"data":158653,"marks":158654,"value":137476,"nodeType":864},{},[],{"data":158656,"content":158657,"nodeType":1009},{},[158658],{"data":158659,"marks":158660,"value":40403,"nodeType":864},{},[],{"data":158662,"content":158663,"nodeType":1312},{},[158664],{"data":158665,"marks":158666,"value":137489,"nodeType":864},{},[],{"data":158668,"content":158669,"nodeType":860},{},[158670,158673,158682],{"data":158671,"marks":158672,"value":137496,"nodeType":864},{},[],{"data":158674,"content":158677,"nodeType":27604},{"target":158675},{"sys":158676},{"id":137501,"type":1001,"linkType":1002},[158678],{"data":158679,"marks":158680,"value":137507,"nodeType":864},{},[158681],{"type":1455},{"data":158683,"marks":158684,"value":137511,"nodeType":864},{},[],{"data":158686,"content":158687,"nodeType":860},{},[158688],{"data":158689,"marks":158690,"value":137518,"nodeType":864},{},[],{"data":158692,"content":158695,"nodeType":996},{"target":158693},{"sys":158694},{"id":137523,"type":1001,"linkType":1002},[],{"data":158697,"content":158698,"nodeType":1312},{},[158699],{"data":158700,"marks":158701,"value":137531,"nodeType":864},{},[],{"data":158703,"content":158704,"nodeType":860},{},[158705],{"data":158706,"marks":158707,"value":137538,"nodeType":864},{},[],{"data":158709,"content":158710,"nodeType":860},{},[158711],{"data":158712,"marks":158713,"value":137545,"nodeType":864},{},[],{"data":158715,"content":158716,"nodeType":860},{},[158717,158720,158727,158730,158739],{"data":158718,"marks":158719,"value":137552,"nodeType":864},{},[],{"data":158721,"content":158722,"nodeType":883},{"uri":137555},[158723],{"data":158724,"marks":158725,"value":137561,"nodeType":864},{},[158726],{"type":1455},{"data":158728,"marks":158729,"value":137565,"nodeType":864},{},[],{"data":158731,"content":158734,"nodeType":27604},{"target":158732},{"sys":158733},{"id":137570,"type":1001,"linkType":1002},[158735],{"data":158736,"marks":158737,"value":137576,"nodeType":864},{},[158738],{"type":1455},{"data":158740,"marks":158741,"value":137580,"nodeType":864},{},[],{"data":158743,"content":158746,"nodeType":996},{"target":158744},{"sys":158745},{"id":137585,"type":1001,"linkType":1002},[],{"data":158748,"content":158749,"nodeType":860},{},[158750],{"data":158751,"marks":158752,"value":137593,"nodeType":864},{},[],{"data":158754,"content":158755,"nodeType":4845},{},[158756,158777,158798,158819,158840],{"data":158757,"content":158758,"nodeType":4581},{},[158759,158768],{"data":158760,"content":158761,"nodeType":4569},{},[158762],{"data":158763,"content":158764,"nodeType":860},{},[158765],{"data":158766,"marks":158767,"value":137609,"nodeType":864},{},[],{"data":158769,"content":158770,"nodeType":4569},{},[158771],{"data":158772,"content":158773,"nodeType":860},{},[158774],{"data":158775,"marks":158776,"value":137619,"nodeType":864},{},[],{"data":158778,"content":158779,"nodeType":4581},{},[158780,158789],{"data":158781,"content":158782,"nodeType":4569},{},[158783],{"data":158784,"content":158785,"nodeType":860},{},[158786],{"data":158787,"marks":158788,"value":137632,"nodeType":864},{},[],{"data":158790,"content":158791,"nodeType":4569},{},[158792],{"data":158793,"content":158794,"nodeType":860},{},[158795],{"data":158796,"marks":158797,"value":137642,"nodeType":864},{},[],{"data":158799,"content":158800,"nodeType":4581},{},[158801,158810],{"data":158802,"content":158803,"nodeType":4569},{},[158804],{"data":158805,"content":158806,"nodeType":860},{},[158807],{"data":158808,"marks":158809,"value":137655,"nodeType":864},{},[],{"data":158811,"content":158812,"nodeType":4569},{},[158813],{"data":158814,"content":158815,"nodeType":860},{},[158816],{"data":158817,"marks":158818,"value":137665,"nodeType":864},{},[],{"data":158820,"content":158821,"nodeType":4581},{},[158822,158831],{"data":158823,"content":158824,"nodeType":4569},{},[158825],{"data":158826,"content":158827,"nodeType":860},{},[158828],{"data":158829,"marks":158830,"value":137678,"nodeType":864},{},[],{"data":158832,"content":158833,"nodeType":4569},{},[158834],{"data":158835,"content":158836,"nodeType":860},{},[158837],{"data":158838,"marks":158839,"value":137688,"nodeType":864},{},[],{"data":158841,"content":158842,"nodeType":4581},{},[158843,158852],{"data":158844,"content":158845,"nodeType":4569},{},[158846],{"data":158847,"content":158848,"nodeType":860},{},[158849],{"data":158850,"marks":158851,"value":137701,"nodeType":864},{},[],{"data":158853,"content":158854,"nodeType":4569},{},[158855],{"data":158856,"content":158857,"nodeType":860},{},[158858],{"data":158859,"marks":158860,"value":137711,"nodeType":864},{},[],{"data":158862,"content":158863,"nodeType":860},{},[158864],{"data":158865,"marks":158866,"value":137718,"nodeType":864},{},[],{"data":158868,"content":158869,"nodeType":860},{},[158870],{"data":158871,"marks":158872,"value":137725,"nodeType":864},{},[],{"data":158874,"content":158875,"nodeType":4845},{},[158876,158897,158918,158939,158960,158981,159002,159023,159044,159065,159086],{"data":158877,"content":158878,"nodeType":4581},{},[158879,158888],{"data":158880,"content":158881,"nodeType":4569},{},[158882],{"data":158883,"content":158884,"nodeType":860},{},[158885],{"data":158886,"marks":158887,"value":137741,"nodeType":864},{},[],{"data":158889,"content":158890,"nodeType":4569},{},[158891],{"data":158892,"content":158893,"nodeType":860},{},[158894],{"data":158895,"marks":158896,"value":137751,"nodeType":864},{},[],{"data":158898,"content":158899,"nodeType":4581},{},[158900,158909],{"data":158901,"content":158902,"nodeType":4569},{},[158903],{"data":158904,"content":158905,"nodeType":860},{},[158906],{"data":158907,"marks":158908,"value":137764,"nodeType":864},{},[],{"data":158910,"content":158911,"nodeType":4569},{},[158912],{"data":158913,"content":158914,"nodeType":860},{},[158915],{"data":158916,"marks":158917,"value":137774,"nodeType":864},{},[],{"data":158919,"content":158920,"nodeType":4581},{},[158921,158930],{"data":158922,"content":158923,"nodeType":4569},{},[158924],{"data":158925,"content":158926,"nodeType":860},{},[158927],{"data":158928,"marks":158929,"value":137787,"nodeType":864},{},[],{"data":158931,"content":158932,"nodeType":4569},{},[158933],{"data":158934,"content":158935,"nodeType":860},{},[158936],{"data":158937,"marks":158938,"value":137797,"nodeType":864},{},[],{"data":158940,"content":158941,"nodeType":4581},{},[158942,158951],{"data":158943,"content":158944,"nodeType":4569},{},[158945],{"data":158946,"content":158947,"nodeType":860},{},[158948],{"data":158949,"marks":158950,"value":137810,"nodeType":864},{},[],{"data":158952,"content":158953,"nodeType":4569},{},[158954],{"data":158955,"content":158956,"nodeType":860},{},[158957],{"data":158958,"marks":158959,"value":137820,"nodeType":864},{},[],{"data":158961,"content":158962,"nodeType":4581},{},[158963,158972],{"data":158964,"content":158965,"nodeType":4569},{},[158966],{"data":158967,"content":158968,"nodeType":860},{},[158969],{"data":158970,"marks":158971,"value":137833,"nodeType":864},{},[],{"data":158973,"content":158974,"nodeType":4569},{},[158975],{"data":158976,"content":158977,"nodeType":860},{},[158978],{"data":158979,"marks":158980,"value":137843,"nodeType":864},{},[],{"data":158982,"content":158983,"nodeType":4581},{},[158984,158993],{"data":158985,"content":158986,"nodeType":4569},{},[158987],{"data":158988,"content":158989,"nodeType":860},{},[158990],{"data":158991,"marks":158992,"value":137856,"nodeType":864},{},[],{"data":158994,"content":158995,"nodeType":4569},{},[158996],{"data":158997,"content":158998,"nodeType":860},{},[158999],{"data":159000,"marks":159001,"value":137866,"nodeType":864},{},[],{"data":159003,"content":159004,"nodeType":4581},{},[159005,159014],{"data":159006,"content":159007,"nodeType":4569},{},[159008],{"data":159009,"content":159010,"nodeType":860},{},[159011],{"data":159012,"marks":159013,"value":137879,"nodeType":864},{},[],{"data":159015,"content":159016,"nodeType":4569},{},[159017],{"data":159018,"content":159019,"nodeType":860},{},[159020],{"data":159021,"marks":159022,"value":137889,"nodeType":864},{},[],{"data":159024,"content":159025,"nodeType":4581},{},[159026,159035],{"data":159027,"content":159028,"nodeType":4569},{},[159029],{"data":159030,"content":159031,"nodeType":860},{},[159032],{"data":159033,"marks":159034,"value":137902,"nodeType":864},{},[],{"data":159036,"content":159037,"nodeType":4569},{},[159038],{"data":159039,"content":159040,"nodeType":860},{},[159041],{"data":159042,"marks":159043,"value":137912,"nodeType":864},{},[],{"data":159045,"content":159046,"nodeType":4581},{},[159047,159056],{"data":159048,"content":159049,"nodeType":4569},{},[159050],{"data":159051,"content":159052,"nodeType":860},{},[159053],{"data":159054,"marks":159055,"value":137925,"nodeType":864},{},[],{"data":159057,"content":159058,"nodeType":4569},{},[159059],{"data":159060,"content":159061,"nodeType":860},{},[159062],{"data":159063,"marks":159064,"value":137935,"nodeType":864},{},[],{"data":159066,"content":159067,"nodeType":4581},{},[159068,159077],{"data":159069,"content":159070,"nodeType":4569},{},[159071],{"data":159072,"content":159073,"nodeType":860},{},[159074],{"data":159075,"marks":159076,"value":137948,"nodeType":864},{},[],{"data":159078,"content":159079,"nodeType":4569},{},[159080],{"data":159081,"content":159082,"nodeType":860},{},[159083],{"data":159084,"marks":159085,"value":137958,"nodeType":864},{},[],{"data":159087,"content":159088,"nodeType":4581},{},[159089,159098],{"data":159090,"content":159091,"nodeType":4569},{},[159092],{"data":159093,"content":159094,"nodeType":860},{},[159095],{"data":159096,"marks":159097,"value":137971,"nodeType":864},{},[],{"data":159099,"content":159100,"nodeType":4569},{},[159101],{"data":159102,"content":159103,"nodeType":860},{},[159104],{"data":159105,"marks":159106,"value":137981,"nodeType":864},{},[],{"data":159108,"content":159109,"nodeType":860},{},[159110],{"data":159111,"marks":159112,"value":137988,"nodeType":864},{},[],{"data":159114,"content":159115,"nodeType":1009},{},[159116],{"data":159117,"marks":159118,"value":137995,"nodeType":864},{},[],{"data":159120,"content":159121,"nodeType":1312},{},[159122],{"data":159123,"marks":159124,"value":137489,"nodeType":864},{},[],{"data":159126,"content":159127,"nodeType":860},{},[159128,159131,159138,159141,159148],{"data":159129,"marks":159130,"value":138008,"nodeType":864},{},[],{"data":159132,"content":159133,"nodeType":883},{"uri":138011},[159134],{"data":159135,"marks":159136,"value":138017,"nodeType":864},{},[159137],{"type":1455},{"data":159139,"marks":159140,"value":138021,"nodeType":864},{},[],{"data":159142,"content":159143,"nodeType":883},{"uri":138024},[159144],{"data":159145,"marks":159146,"value":138030,"nodeType":864},{},[159147],{"type":1455},{"data":159149,"marks":159150,"value":138034,"nodeType":864},{},[],{"data":159152,"content":159153,"nodeType":860},{},[159154],{"data":159155,"marks":159156,"value":138041,"nodeType":864},{},[],{"data":159158,"content":159159,"nodeType":860},{},[159160],{"data":159161,"marks":159162,"value":138048,"nodeType":864},{},[],{"data":159164,"content":159167,"nodeType":996},{"target":159165},{"sys":159166},{"id":138053,"type":1001,"linkType":1002},[],{"data":159169,"content":159170,"nodeType":860},{},[159171],{"data":159172,"marks":159173,"value":138061,"nodeType":864},{},[],{"data":159175,"content":159178,"nodeType":996},{"target":159176},{"sys":159177},{"id":138066,"type":1001,"linkType":1002},[],{"data":159180,"content":159181,"nodeType":860},{},[159182],{"data":159183,"marks":159184,"value":138074,"nodeType":864},{},[],{"data":159186,"content":159187,"nodeType":860},{},[159188],{"data":159189,"marks":159190,"value":138081,"nodeType":864},{},[],{"data":159192,"content":159193,"nodeType":1312},{},[159194],{"data":159195,"marks":159196,"value":137531,"nodeType":864},{},[],{"data":159198,"content":159199,"nodeType":860},{},[159200],{"data":159201,"marks":159202,"value":138094,"nodeType":864},{},[],{"data":159204,"content":159205,"nodeType":1009},{},[159206],{"data":159207,"marks":159208,"value":138101,"nodeType":864},{},[],{"data":159210,"content":159211,"nodeType":1312},{},[159212],{"data":159213,"marks":159214,"value":137489,"nodeType":864},{},[],{"data":159216,"content":159217,"nodeType":860},{},[159218],{"data":159219,"marks":159220,"value":138114,"nodeType":864},{},[],{"data":159222,"content":159223,"nodeType":860},{},[159224],{"data":159225,"marks":159226,"value":138121,"nodeType":864},{},[],{"data":159228,"content":159231,"nodeType":996},{"target":159229},{"sys":159230},{"id":138126,"type":1001,"linkType":1002},[],{"data":159233,"content":159234,"nodeType":860},{},[159235],{"data":159236,"marks":159237,"value":138134,"nodeType":864},{},[],{"data":159239,"content":159240,"nodeType":860},{},[159241,159244,159248],{"data":159242,"marks":159243,"value":138141,"nodeType":864},{},[],{"data":159245,"marks":159246,"value":138146,"nodeType":864},{},[159247],{"type":2246},{"data":159249,"marks":159250,"value":138150,"nodeType":864},{},[],{"data":159252,"content":159253,"nodeType":1312},{},[159254],{"data":159255,"marks":159256,"value":137531,"nodeType":864},{},[],{"data":159258,"content":159259,"nodeType":860},{},[159260],{"data":159261,"marks":159262,"value":138163,"nodeType":864},{},[],{"data":159264,"content":159265,"nodeType":860},{},[159266,159269,159276,159279,159286],{"data":159267,"marks":159268,"value":138170,"nodeType":864},{},[],{"data":159270,"content":159271,"nodeType":883},{"uri":138173},[159272],{"data":159273,"marks":159274,"value":79166,"nodeType":864},{},[159275],{"type":1455},{"data":159277,"marks":159278,"value":138182,"nodeType":864},{},[],{"data":159280,"content":159281,"nodeType":883},{"uri":138185},[159282],{"data":159283,"marks":159284,"value":138191,"nodeType":864},{},[159285],{"type":1455},{"data":159287,"marks":159288,"value":138195,"nodeType":864},{},[],{"data":159290,"content":159291,"nodeType":860},{},[159292],{"data":159293,"marks":159294,"value":138202,"nodeType":864},{},[],{"data":159296,"content":159297,"nodeType":860},{},[159298,159301,159308],{"data":159299,"marks":159300,"value":138209,"nodeType":864},{},[],{"data":159302,"content":159303,"nodeType":883},{"uri":138212},[159304],{"data":159305,"marks":159306,"value":138218,"nodeType":864},{},[159307],{"type":1455},{"data":159309,"marks":159310,"value":138222,"nodeType":864},{},[],{"data":159312,"content":159313,"nodeType":860},{},[159314],{"data":159315,"marks":159316,"value":138229,"nodeType":864},{},[],{"data":159318,"content":159319,"nodeType":860},{},[159320],{"data":159321,"marks":159322,"value":138236,"nodeType":864},{},[],{"data":159324,"content":159325,"nodeType":1009},{},[159326],{"data":159327,"marks":159328,"value":138243,"nodeType":864},{},[],{"data":159330,"content":159331,"nodeType":1312},{},[159332],{"data":159333,"marks":159334,"value":137489,"nodeType":864},{},[],{"data":159336,"content":159337,"nodeType":860},{},[159338,159342,159350,159354,159362],{"data":159339,"marks":159340,"value":138257,"nodeType":864},{},[159341],{"type":2246},{"data":159343,"content":159344,"nodeType":883},{"uri":138260},[159345],{"data":159346,"marks":159347,"value":138267,"nodeType":864},{},[159348,159349],{"type":1455},{"type":2246},{"data":159351,"marks":159352,"value":138272,"nodeType":864},{},[159353],{"type":2246},{"data":159355,"content":159356,"nodeType":883},{"uri":138275},[159357],{"data":159358,"marks":159359,"value":138282,"nodeType":864},{},[159360,159361],{"type":1455},{"type":2246},{"data":159363,"marks":159364,"value":138287,"nodeType":864},{},[159365],{"type":2246},{"data":159367,"content":159368,"nodeType":860},{},[159369,159372,159379],{"data":159370,"marks":159371,"value":138294,"nodeType":864},{},[],{"data":159373,"content":159374,"nodeType":883},{"uri":138297},[159375],{"data":159376,"marks":159377,"value":138303,"nodeType":864},{},[159378],{"type":1455},{"data":159380,"marks":159381,"value":138307,"nodeType":864},{},[],{"data":159383,"content":159384,"nodeType":118765},{},[159385,159394,159403,159412,159421],{"data":159386,"content":159387,"nodeType":945},{},[159388],{"data":159389,"content":159390,"nodeType":860},{},[159391],{"data":159392,"marks":159393,"value":138320,"nodeType":864},{},[],{"data":159395,"content":159396,"nodeType":945},{},[159397],{"data":159398,"content":159399,"nodeType":860},{},[159400],{"data":159401,"marks":159402,"value":138330,"nodeType":864},{},[],{"data":159404,"content":159405,"nodeType":945},{},[159406],{"data":159407,"content":159408,"nodeType":860},{},[159409],{"data":159410,"marks":159411,"value":138340,"nodeType":864},{},[],{"data":159413,"content":159414,"nodeType":945},{},[159415],{"data":159416,"content":159417,"nodeType":860},{},[159418],{"data":159419,"marks":159420,"value":138350,"nodeType":864},{},[],{"data":159422,"content":159423,"nodeType":945},{},[159424],{"data":159425,"content":159426,"nodeType":860},{},[159427],{"data":159428,"marks":159429,"value":138360,"nodeType":864},{},[],{"data":159431,"content":159432,"nodeType":860},{},[159433],{"data":159434,"marks":159435,"value":138367,"nodeType":864},{},[],{"data":159437,"content":159438,"nodeType":860},{},[159439],{"data":159440,"marks":159441,"value":138374,"nodeType":864},{},[],{"data":159443,"content":159444,"nodeType":860},{},[159445,159448,159455],{"data":159446,"marks":159447,"value":138381,"nodeType":864},{},[],{"data":159449,"content":159450,"nodeType":883},{"uri":138384},[159451],{"data":159452,"marks":159453,"value":138390,"nodeType":864},{},[159454],{"type":1455},{"data":159456,"marks":159457,"value":138394,"nodeType":864},{},[],{"data":159459,"content":159460,"nodeType":860},{},[159461,159464,159471],{"data":159462,"marks":159463,"value":138401,"nodeType":864},{},[],{"data":159465,"content":159466,"nodeType":883},{"uri":138297},[159467],{"data":159468,"marks":159469,"value":138409,"nodeType":864},{},[159470],{"type":1455},{"data":159472,"marks":159473,"value":138413,"nodeType":864},{},[],{"data":159475,"content":159476,"nodeType":860},{},[159477],{"data":159478,"marks":159479,"value":138420,"nodeType":864},{},[],{"data":159481,"content":159482,"nodeType":860},{},[159483,159486,159493,159496,159503],{"data":159484,"marks":159485,"value":138427,"nodeType":864},{},[],{"data":159487,"content":159488,"nodeType":883},{"uri":138430},[159489],{"data":159490,"marks":159491,"value":138436,"nodeType":864},{},[159492],{"type":1455},{"data":159494,"marks":159495,"value":138440,"nodeType":864},{},[],{"data":159497,"content":159498,"nodeType":883},{"uri":138443},[159499],{"data":159500,"marks":159501,"value":138449,"nodeType":864},{},[159502],{"type":1455},{"data":159504,"marks":159505,"value":138453,"nodeType":864},{},[],{"data":159507,"content":159508,"nodeType":1312},{},[159509],{"data":159510,"marks":159511,"value":137531,"nodeType":864},{},[],{"data":159513,"content":159514,"nodeType":860},{},[159515],{"data":159516,"marks":159517,"value":138466,"nodeType":864},{},[],{"data":159519,"content":159520,"nodeType":860},{},[159521],{"data":159522,"marks":159523,"value":138473,"nodeType":864},{},[],{"data":159525,"content":159526,"nodeType":860},{},[159527],{"data":159528,"marks":159529,"value":138480,"nodeType":864},{},[],{"data":159531,"content":159532,"nodeType":1009},{},[159533],{"data":159534,"marks":159535,"value":138487,"nodeType":864},{},[],{"data":159537,"content":159538,"nodeType":860},{},[159539],{"data":159540,"marks":159541,"value":138494,"nodeType":864},{},[],{"data":159543,"content":159544,"nodeType":1312},{},[159545],{"data":159546,"marks":159547,"value":138501,"nodeType":864},{},[],{"data":159549,"content":159550,"nodeType":860},{},[159551,159554,159561],{"data":159552,"marks":159553,"value":138508,"nodeType":864},{},[],{"data":159555,"content":159556,"nodeType":883},{"uri":138511},[159557],{"data":159558,"marks":159559,"value":138517,"nodeType":864},{},[159560],{"type":1455},{"data":159562,"marks":159563,"value":138521,"nodeType":864},{},[],{"data":159565,"content":159568,"nodeType":996},{"target":159566},{"sys":159567},{"id":138526,"type":1001,"linkType":1002},[],{"data":159570,"content":159571,"nodeType":860},{},[159572],{"data":159573,"marks":159574,"value":138534,"nodeType":864},{},[],{"data":159576,"content":159577,"nodeType":860},{},[159578,159581,159587],{"data":159579,"marks":159580,"value":138541,"nodeType":864},{},[],{"data":159582,"content":159583,"nodeType":883},{"uri":138544},[159584],{"data":159585,"marks":159586,"value":138549,"nodeType":864},{},[],{"data":159588,"marks":159589,"value":138553,"nodeType":864},{},[],{"data":159591,"content":159592,"nodeType":1312},{},[159593],{"data":159594,"marks":159595,"value":138560,"nodeType":864},{},[],{"data":159597,"content":159598,"nodeType":860},{},[159599],{"data":159600,"marks":159601,"value":138567,"nodeType":864},{},[],{"data":159603,"content":159606,"nodeType":996},{"target":159604},{"sys":159605},{"id":138572,"type":1001,"linkType":1002},[],{"data":159608,"content":159609,"nodeType":1312},{},[159610],{"data":159611,"marks":159612,"value":138580,"nodeType":864},{},[],{"data":159614,"content":159615,"nodeType":860},{},[159616],{"data":159617,"marks":159618,"value":138587,"nodeType":864},{},[],{"data":159620,"content":159623,"nodeType":996},{"target":159621},{"sys":159622},{"id":138592,"type":1001,"linkType":1002},[],{"data":159625,"content":159626,"nodeType":1312},{},[159627],{"data":159628,"marks":159629,"value":138600,"nodeType":864},{},[],{"data":159631,"content":159632,"nodeType":860},{},[159633,159636,159643,159646,159653,159656,159663],{"data":159634,"marks":159635,"value":138607,"nodeType":864},{},[],{"data":159637,"content":159638,"nodeType":883},{"uri":138610},[159639],{"data":159640,"marks":159641,"value":138616,"nodeType":864},{},[159642],{"type":1455},{"data":159644,"marks":159645,"value":138620,"nodeType":864},{},[],{"data":159647,"content":159648,"nodeType":883},{"uri":138623},[159649],{"data":159650,"marks":159651,"value":138629,"nodeType":864},{},[159652],{"type":1455},{"data":159654,"marks":159655,"value":138633,"nodeType":864},{},[],{"data":159657,"content":159658,"nodeType":883},{"uri":138636},[159659],{"data":159660,"marks":159661,"value":138642,"nodeType":864},{},[159662],{"type":1455},{"data":159664,"marks":159665,"value":138646,"nodeType":864},{},[],{"data":159667,"content":159668,"nodeType":860},{},[159669],{"data":159670,"marks":159671,"value":138653,"nodeType":864},{},[],{"data":159673,"content":159676,"nodeType":996},{"target":159674},{"sys":159675},{"id":138658,"type":1001,"linkType":1002},[],{"data":159678,"content":159679,"nodeType":860},{},[159680],{"data":159681,"marks":159682,"value":138666,"nodeType":864},{},[],{"data":159684,"content":159687,"nodeType":996},{"target":159685},{"sys":159686},{"id":138671,"type":1001,"linkType":1002},[],{"data":159689,"content":159690,"nodeType":1312},{},[159691],{"data":159692,"marks":159693,"value":138679,"nodeType":864},{},[],{"data":159695,"content":159696,"nodeType":860},{},[159697],{"data":159698,"marks":159699,"value":138686,"nodeType":864},{},[],{"data":159701,"content":159702,"nodeType":860},{},[159703,159706,159713,159716,159723],{"data":159704,"marks":159705,"value":138693,"nodeType":864},{},[],{"data":159707,"content":159708,"nodeType":883},{"uri":138696},[159709],{"data":159710,"marks":159711,"value":138702,"nodeType":864},{},[159712],{"type":1455},{"data":159714,"marks":159715,"value":138706,"nodeType":864},{},[],{"data":159717,"content":159718,"nodeType":883},{"uri":138709},[159719],{"data":159720,"marks":159721,"value":138715,"nodeType":864},{},[159722],{"type":1455},{"data":159724,"marks":159725,"value":138719,"nodeType":864},{},[],{"data":159727,"content":159728,"nodeType":1009},{},[159729],{"data":159730,"marks":159731,"value":32492,"nodeType":864},{},[],{"data":159733,"content":159734,"nodeType":860},{},[159735],{"data":159736,"marks":159737,"value":138732,"nodeType":864},{},[],{"data":159739,"content":159740,"nodeType":860},{},[159741],{"data":159742,"marks":159743,"value":138739,"nodeType":864},{},[],{"data":159745,"content":159746,"nodeType":860},{},[159747],{"data":159748,"marks":159749,"value":138746,"nodeType":864},{},[],{"data":159751,"content":159752,"nodeType":860},{},[159753],{"data":159754,"marks":159755,"value":138753,"nodeType":864},{},[],{"data":159757,"content":159760,"nodeType":996},{"target":159758},{"sys":159759},{"id":102281,"type":1001,"linkType":1002},[],{"data":159762,"content":159763,"nodeType":860},{},[159764],{"data":159765,"marks":159766,"value":21,"nodeType":864},{},[],{"items":159768},[159769,159771],{"sys":159770,"name":6593},{"id":6592},{"sys":159772,"name":342},{"id":6596},{"items":159774},[159775],{"fullName":73848,"firstName":73849,"jobTitle":73850,"profilePicture":159776},{"url":73852},{"__typename":2059,"sys":159778,"content":159780,"title":160237,"synopsis":160238,"hashTags":59,"publishedDate":160239,"slug":160240,"tagsCollection":160241,"authorsCollection":160247},{"id":159779},"3cvobsSnd6xjB6tHhWt4bX",{"json":159781},{"data":159782,"content":159783,"nodeType":856},{},[159784,159791,159798,159805,159838,159845,159853,159886,159906,159913,159919,159925,159933,159940,159946,159952,159959,159966,159973,159992,159998,160005,160025,160032,160038,160045,160052,160059,160078,160085,160092,160099,160105,160112,160118,160125,160131,160138,160157,160165,160172,160179,160186,160192,160210,160217,160223,160230],{"data":159785,"content":159786,"nodeType":860},{},[159787],{"data":159788,"marks":159789,"value":159790,"nodeType":864},{},[],"An employee has added a new app-to-app (aka OAuth) integration to your Azure tenant or Google Workspace but you’re unsure of what it is or what risk it poses to your organization. We’ll cover a few techniques to help you assess the risk in this article.",{"data":159792,"content":159793,"nodeType":1312},{},[159794],{"data":159795,"marks":159796,"value":126377,"nodeType":864},{},[159797],{"type":899},{"data":159799,"content":159800,"nodeType":860},{},[159801],{"data":159802,"marks":159803,"value":159804,"nodeType":864},{},[]," There are a few key questions to keep in mind when evaluating an OAuth integration:",{"data":159806,"content":159807,"nodeType":941},{},[159808,159818,159828],{"data":159809,"content":159810,"nodeType":945},{},[159811],{"data":159812,"content":159813,"nodeType":860},{},[159814],{"data":159815,"marks":159816,"value":159817,"nodeType":864},{},[],"Is the source (usually the app vendor) trustworthy?",{"data":159819,"content":159820,"nodeType":945},{},[159821],{"data":159822,"content":159823,"nodeType":860},{},[159824],{"data":159825,"marks":159826,"value":159827,"nodeType":864},{},[],"What can it do if it is not trustworthy? Does it have access to your data? How much access? Does it request more permissions that it should need to function?",{"data":159829,"content":159830,"nodeType":945},{},[159831],{"data":159832,"content":159833,"nodeType":860},{},[159834],{"data":159835,"marks":159836,"value":159837,"nodeType":864},{},[],"What does it actually do (i.e. what do the logs indicate)? Which teams or individuals will be using it and for what purposes?",{"data":159839,"content":159840,"nodeType":860},{},[159841],{"data":159842,"marks":159843,"value":159844,"nodeType":864},{},[],"There are a variety of data sources that can be considered for each of these primary questions, which we’ll break down in this next section:. ",{"data":159846,"content":159847,"nodeType":1312},{},[159848],{"data":159849,"marks":159850,"value":159852,"nodeType":864},{},[159851],{"type":899},"Name and Verification Status",{"data":159854,"content":159855,"nodeType":860},{},[159856,159860,159869,159873,159882],{"data":159857,"marks":159858,"value":159859,"nodeType":864},{},[],"Every OAuth integration has a name and both Microsoft and Google verification processes that allow OAuth integrations to be verified as belonging to a particular company. Microsoft has a ",{"data":159861,"content":159863,"nodeType":883},{"uri":159862},"https://learn.microsoft.com/en-us/azure/active-directory/develop/publisher-verification-overview",[159864],{"data":159865,"marks":159866,"value":159868,"nodeType":864},{},[159867],{"type":1455},"publisher verification process ",{"data":159870,"marks":159871,"value":159872,"nodeType":864},{},[],"that’s dependent on its Microsoft Cloud Partner Program, whereas Google has a ",{"data":159874,"content":159876,"nodeType":883},{"uri":159875},"https://support.google.com/cloud/answer/9110914?hl=en#zippy=%2Csteps-to-prepare-for-verification",[159877],{"data":159878,"marks":159879,"value":159881,"nodeType":864},{},[159880],{"type":1455},"brand verification process",{"data":159883,"marks":159884,"value":159885,"nodeType":864},{},[]," that also has different levels of requirements depending on the level of data access requested.",{"data":159887,"content":159888,"nodeType":860},{},[159889,159893,159902],{"data":159890,"marks":159891,"value":159892,"nodeType":864},{},[],"While being verified does not mean an integration poses no risk – in fact, there ",{"data":159894,"content":159896,"nodeType":883},{"uri":159895},"https://msrc.microsoft.com/blog/2023/01/threat-actor-consent-phishing-campaign-abusing-the-verified-publisher-process/",[159897],{"data":159898,"marks":159899,"value":159901,"nodeType":864},{},[159900],{"type":1455},"have been malicious phishing campaigns using verified publishers",{"data":159903,"marks":159904,"value":159905,"nodeType":864},{},[]," – it at least provides some extra assurance around what the integration actually is. This is especially true with Google integrations where access to restricted scopes has been granted.",{"data":159907,"content":159908,"nodeType":860},{},[159909],{"data":159910,"marks":159911,"value":159912,"nodeType":864},{},[],"For example, consider the Slack OAuth integration for Google Workspace. The name and icon make it very clear what the integration is claiming to be and the verification status shows that Google has verified this data - so you can quickly ensure the vendor is who they say they are, accept them as a third-party vendor, and move on to more traditional risk assessments. You can start to address questions like, “Should Slack be used within the organization?”  Does Slack as a company meet required security and compliance standards?” “Is an OAuth integration required or should it be used purely as a web or desktop app?,” and so on.   ",{"data":159914,"content":159918,"nodeType":996},{"target":159915},{"sys":159916},{"id":159917,"type":1001,"linkType":1002},"aYslILzQ1kwQUHy7Cw7lR",[],{"data":159920,"content":159924,"nodeType":996},{"target":159921},{"sys":159922},{"id":159923,"type":1001,"linkType":1002},"OmghmgRgSrdtMW9kgHaoa",[],{"data":159926,"content":159927,"nodeType":1312},{},[159928],{"data":159929,"marks":159930,"value":159932,"nodeType":864},{},[159931],{"type":899},"Reply URLs and Approved Domains",{"data":159934,"content":159935,"nodeType":860},{},[159936],{"data":159937,"marks":159938,"value":159939,"nodeType":864},{},[],"Some integrations may be unverified or have very generic or confusing names that give little indication as to who is actually behind the integration. For example, consider the following Microsoft OAuth integration:",{"data":159941,"content":159945,"nodeType":996},{"target":159942},{"sys":159943},{"id":159944,"type":1001,"linkType":1002},"2smtwpUnKZElj4tmZUcobg",[],{"data":159947,"content":159951,"nodeType":996},{"target":159948},{"sys":159949},{"id":159950,"type":1001,"linkType":1002},"23Dg0elnnY1j0dHP3GICJc",[],{"data":159953,"content":159954,"nodeType":860},{},[159955],{"data":159956,"marks":159957,"value":159958,"nodeType":864},{},[],"This integration says that it’s Trello, the well known SaaS platform. However, it’s unverified, so how do we actually know it is really Trello and not a malicious app masquerading as Trello? Reply URLs (Microsoft) and approved domains (Google) are other interesting sources of data about an integration as they give authorized callback URLs. ",{"data":159960,"content":159961,"nodeType":860},{},[159962],{"data":159963,"marks":159964,"value":159965,"nodeType":864},{},[],"During a common code-based flow for an OAuth consent, once the user has authorized the request, a redirect needs to be made back to a domain/URL that is controlled by the OAuth app vendor to pass the code back to the app. Then the app can use the code to get a token that can be used to act on behalf of the user. ",{"data":159967,"content":159968,"nodeType":860},{},[159969],{"data":159970,"marks":159971,"value":159972,"nodeType":864},{},[],"If any domain or URL could be used then there would be nothing stopping an attacker from impersonating legitimate OAuth apps and having the details passed back to a domain they control. This is much less of an issue with code-based flows, since the attacker would need access to the app secrets as well. However, with implicit flows that pass the token back directly, that would mean an impersonation attack would be possible and implicit flows are still somewhat common. To guard against this, the app owner has to specify exactly which domains or URLs are permitted for sending codes and tokens to. ",{"data":159974,"content":159975,"nodeType":860},{},[159976,159980,159988],{"data":159977,"marks":159978,"value":159979,"nodeType":864},{},[],"For Microsoft, this is one of the many fields returned from Graph API if you ",{"data":159981,"content":159983,"nodeType":883},{"uri":159982},"https://learn.microsoft.com/en-us/graph/api/serviceprincipal-get?view=graph-rest-1.0&tabs=http",[159984],{"data":159985,"marks":159986,"value":159987,"nodeType":864},{},[],"enumerate the service principals for apps installed",{"data":159989,"marks":159990,"value":159991,"nodeType":864},{},[]," on your tenant. ",{"data":159993,"content":159997,"nodeType":996},{"target":159994},{"sys":159995},{"id":159996,"type":1001,"linkType":1002},"115UEpFqDESlZJ0F5TqMjj",[],{"data":159999,"content":160000,"nodeType":860},{},[160001],{"data":160002,"marks":160003,"value":160004,"nodeType":864},{},[],"In this case, the app has only one authorized reply URL, which points to trello.com. This means that authorization tokens can only be sent to this URL. So, for the integration to be used (or abused) the developer (or attacker) would need control of that domain. In this example, you’d have some assurance that this integration is legitimately associated with Trello. However, there are no guarantees. It’s possible for an attacker to put a range of domains in a malicious integration they control and they only need control of one domain to make use of it. So if attackerdomain.com was also present, then trello.com could just be an effort by an attacker to make their integration appear more legitimate. Therefore, you need to consider all domains present as a whole, as the presence of one known legitimate domain isn’t enough on its own if other domains might be questionable. ",{"data":160006,"content":160007,"nodeType":860},{},[160008,160012,160021],{"data":160009,"marks":160010,"value":160011,"nodeType":864},{},[],"One caveat here is that this is much less of an issue when it comes to Google apps that have been through Google brand verification. Part of the verification process involves ",{"data":160013,"content":160015,"nodeType":883},{"uri":160014},"https://developers.google.com/identity/protocols/oauth2/production-readiness/brand-verification#authorized-domains",[160016],{"data":160017,"marks":160018,"value":160020,"nodeType":864},{},[160019],{"type":1455},"ensuring that the vendor owns the domains",{"data":160022,"marks":160023,"value":160024,"nodeType":864},{},[]," (approved domains) registered in any callbacks. Therefore, if it’s a Google verified app then you don’t have to worry about legitimate domains being impersonated by an attacker to give a fake sense of legitimacy. ",{"data":160026,"content":160027,"nodeType":860},{},[160028],{"data":160029,"marks":160030,"value":160031,"nodeType":864},{},[],"It used to be possible to query the approved domains for a Google app via an undocumented API, however, this recently stopped returning this information. However, there are still other details returned by the API that can be of use during an investigation. See an example for Slack below, but you can replace the project ID in the URL with any app project ID:",{"data":160033,"content":160037,"nodeType":996},{"target":160034},{"sys":160035},{"id":160036,"type":1001,"linkType":1002},"4kw9ZSZaGhbmvrp3wlaJgW",[],{"data":160039,"content":160040,"nodeType":1312},{},[160041],{"data":160042,"marks":160043,"value":21894,"nodeType":864},{},[160044],{"type":899},{"data":160046,"content":160047,"nodeType":860},{},[160048],{"data":160049,"marks":160050,"value":160051,"nodeType":864},{},[],"Both Google and Microsoft provide a very large number of permissions to give fine-grained control of what level of data access an OAuth integration has. This can be everything from a simple social login to access to high-risk data assets, like document stores and email inboxes, as well as administrative functionality. ",{"data":160053,"content":160054,"nodeType":860},{},[160055],{"data":160056,"marks":160057,"value":160058,"nodeType":864},{},[],"It’s worth noting a few differences between how Microsoft and Google handle these permissions. While both have a very large number of fine-grained permissions for users to delegate, Microsoft also has the concept of App Roles, which administrative users can consent to as well. These are often similarly named to delegated permissions, except they give access to data for all users rather than just for the user granting consent. ",{"data":160060,"content":160061,"nodeType":860},{},[160062,160066,160075],{"data":160063,"marks":160064,"value":160065,"nodeType":864},{},[],"For example, an ordinary user might be able to consent to grant access to their exchange email inbox using a delegated permission, but an app could also request access to an app role to allow access to all users’ email inboxes and an administrative user could consent to that using the same consent screen. Google does have similar capabilities but they are managed separately ",{"data":160067,"content":160069,"nodeType":883},{"uri":160068},"https://support.google.com/a/answer/162106?hl=en",[160070],{"data":160071,"marks":160072,"value":160074,"nodeType":864},{},[160073],{"type":1455},"using domain-wide delegation",{"data":160076,"marks":160077,"value":12252,"nodeType":864},{},[],{"data":160079,"content":160080,"nodeType":860},{},[160081],{"data":160082,"marks":160083,"value":160084,"nodeType":864},{},[],"Another important difference to consider here is that, as mentioned in the section above about verification, Google has different verification requirements depending on the data access requested. Microsoft allows even unverified apps to request access to any data, whereas Google designates some of the most sensitive data sources (such as Google Drive and Gmail) as being sensitive and requiring an app to not just be verified but to have undergone a much more stringent manual security review, including third-party security testing. ",{"data":160086,"content":160087,"nodeType":860},{},[160088],{"data":160089,"marks":160090,"value":160091,"nodeType":864},{},[],"Even without good reason to trust an OAuth integration, if the permissions it requests are extremely low risk then arguably it isn’t much of an issue. On the other hand, organizations with a need for a particularly stringent level of security may not be comfortable sharing high risk permissions with even fairly established SaaS vendors. Consequently, one of the most important data sources for evaluating the risk of an OAuth integration is to look at the permissions it exposes. ",{"data":160093,"content":160094,"nodeType":860},{},[160095],{"data":160096,"marks":160097,"value":160098,"nodeType":864},{},[],"An important factor to consider is that permissions are not necessarily fixed to be the same for every user. If more than one employee makes use of the same SaaS integration, it’s possible they may grant different permissions depending on what the integration does and how they enabled it. For example, let’s consider the Slack integration we saw before:",{"data":160100,"content":160104,"nodeType":996},{"target":160101},{"sys":160102},{"id":160103,"type":1001,"linkType":1002},"37l3selHqmcY8PKCLZEiKN",[],{"data":160106,"content":160107,"nodeType":860},{},[160108],{"data":160109,"marks":160110,"value":160111,"nodeType":864},{},[],"In this particular example, we have 15 users who have granted access to three different very low risk permissions concerning their basic account information, which typically are the minimum required in order to enable a simple social login. However, additional permissions have been granted for some other users:",{"data":160113,"content":160117,"nodeType":996},{"target":160114},{"sys":160115},{"id":160116,"type":1001,"linkType":1002},"3pJ0G2yfMnM7fNpP3IMs3a",[],{"data":160119,"content":160120,"nodeType":860},{},[160121],{"data":160122,"marks":160123,"value":160124,"nodeType":864},{},[],"It seems 15 users have also allowed access to their Google calendars and 5 users have also allowed full access to their Google Drive. This is due to different employees adding different Slack apps to enable calendar and file integration. For example, a standard social login to Slack using a Google account won’t even present the user with a consent screen because it only requests the most basic scopes. However, add a sensitive Slack app integration, like the one for Google Drive, and the user will receive a consent screen that looks like this, which is where this difference between users comes from:",{"data":160126,"content":160130,"nodeType":996},{"target":160127},{"sys":160128},{"id":160129,"type":1001,"linkType":1002},"fjM0oY0viy3p9OAxdrmtT",[],{"data":160132,"content":160133,"nodeType":860},{},[160134],{"data":160135,"marks":160136,"value":160137,"nodeType":864},{},[],"Even if Slack is an officially used SaaS provider for an organization though, perhaps enabling complete Google Drive access to a third party would be seen as a compliance risk too far, in which case, you could revoke the file permissions to reduce risk, if desired. ",{"data":160139,"content":160140,"nodeType":860},{},[160141,160145,160153],{"data":160142,"marks":160143,"value":160144,"nodeType":864},{},[],"In cases of untrusted OAuth integrations or those that are difficult to verify, the overall risk still remains very low if innocuous permissions like those required for social logins are the only permissions granted. In fact, the majority of OAuth integrations we see at Push do not request anything other than social login permissions. If you want to know more about social login risk then check our previous article ",{"data":160146,"content":160149,"nodeType":27604},{"target":160147},{"sys":160148},{"id":141516,"type":1001,"linkType":1002},[160150],{"data":160151,"marks":160152,"value":29669,"nodeType":864},{},[],{"data":160154,"marks":160155,"value":160156,"nodeType":864},{},[],". However, much more careful attention should be paid once you see unknown integrations with high- risk permissions, such as full access to file stores.",{"data":160158,"content":160159,"nodeType":1312},{},[160160],{"data":160161,"marks":160162,"value":160164,"nodeType":864},{},[160163],{"type":899},"Activity Logs",{"data":160166,"content":160167,"nodeType":860},{},[160168],{"data":160169,"marks":160170,"value":160171,"nodeType":864},{},[],"It’s one thing to know what an integration can access in principle, due to its permissions, but it’s another to know what it’s actually doing. In one case, an integration may have requested permissions in order to access a user’s entire file store, but it may only use that functionality when specifically directed to as a result of a user attempting to share a file or some other trigger activity.",{"data":160173,"content":160174,"nodeType":860},{},[160175],{"data":160176,"marks":160177,"value":160178,"nodeType":864},{},[],"That isn’t to say there is no risk, certainly if the vendor is compromised and the tokens stolen then an attacker could arbitrarily access any files they like. However, if an integration constantly accesses all users files and syncs them in their entirety then that is clearly a very different risk profile to observe. Additionally, the ability to determine what an integration has actually done in an incident response scenario is invaluable.  ",{"data":160180,"content":160181,"nodeType":860},{},[160182],{"data":160183,"marks":160184,"value":160185,"nodeType":864},{},[],"Microsoft and Google offer different options here, which aren’t always available by default. Google provides API call visibility for OAuth integrations, which gives extremely detailed visibility of what an OAuth integration is doing and when. Here you can see the Slack integration using its Google Drive permissions to look for notifications for file changes, while the Thunderbird email integration is accessing some gmail related label data:",{"data":160187,"content":160191,"nodeType":996},{"target":160188},{"sys":160189},{"id":160190,"type":1001,"linkType":1002},"UqbMx5UzEimig5uvUvag7",[],{"data":160193,"content":160194,"nodeType":860},{},[160195,160199,160206],{"data":160196,"marks":160197,"value":160198,"nodeType":864},{},[],"The key caveat with Google is that it’s not available on all plans. You can see ",{"data":160200,"content":160202,"nodeType":883},{"uri":160201},"https://support.google.com/a/answer/6124308?hl=en",[160203],{"data":160204,"marks":160205,"value":29669,"nodeType":864},{},[],{"data":160207,"marks":160208,"value":160209,"nodeType":864},{},[]," that it's only available using Enterprise, Education and Cloud Identity Premium licenses. ",{"data":160211,"content":160212,"nodeType":860},{},[160213],{"data":160214,"marks":160215,"value":160216,"nodeType":864},{},[],"For Microsoft, rather than separate OAuth API call data, detailed audit data available as part of Microsoft Purview often gives context that can be traced back to OAuth integrations when that was the source. For example, here you can see the Mozilla Thunderbird OAuth integration being used to download a file from OneDrive. This is the same event you would get if a file was downloaded from a web interface, but in this case you can see in the AppAccessContext that it specifies a ClientAppId, which refers to the OAuth integration performing the action. This means you can track all activity specifically back to individual OAuth integrations separately from activity performed by a user within web interfaces - a very useful capability!",{"data":160218,"content":160222,"nodeType":996},{"target":160219},{"sys":160220},{"id":160221,"type":1001,"linkType":1002},"38oqwAXkDrQSJzP1ByECLF",[],{"data":160224,"content":160225,"nodeType":1312},{},[160226],{"data":160227,"marks":160228,"value":32492,"nodeType":864},{},[160229],{"type":899},{"data":160231,"content":160232,"nodeType":860},{},[160233],{"data":160234,"marks":160235,"value":160236,"nodeType":864},{},[],"In this article, we have seen a range of ways that OAuth integrations for both Microsoft and Google can be investigated in order to gain a better understanding of their risk profile, as well as investigating what they actually do in an incident response scenario. While there are no hard and fast rules for when an integration should be considered safe or dangerous, hopefully this gives some idea as to how to perform a risk assessment to make a call depending on your organization’s risk tolerance level. ","An investigation guide for assessing app-to-app OAuth integration risk","An employee has added a new integration to your Azure tenant or Google Workspace. How do you assess risk? We’ll cover a few techniques in this article.","2023-03-15T00:00:00.000Z","an-investigation-guide-for-assessing-app-to-app-oauth-integration-risk",{"items":160242},[160243,160245],{"sys":160244,"name":342},{"id":6596},{"sys":160246,"name":2729},{"id":2728},{"items":160248},[160249],{"fullName":4949,"firstName":4950,"jobTitle":4951,"profilePicture":160250},{"url":4955},"the-risky-terrain-of-oauth-scopes-in-third-party","blog/the-risky-terrain-of-oauth-scopes-in-third-party",{"json":160254},{"data":160255,"content":160256,"nodeType":856},{},[160257],{"data":160258,"content":160259,"nodeType":860},{},[160260],{"data":160261,"marks":160262,"value":160263,"nodeType":864},{},[],"While OAuth scopes provide seamless online user authentication, they also carry significant risk. This article explores these common, dangerous scopes so you can keep an eye out for them during your next risk assessment.\n","While OAuth scopes provide seamless online user authentication, they also carry significant risk. Watch out for these common, dangerous scopes.\n",{"id":160266,"publishedAt":160267},"7D24HwiebYpKv6FRe1ouwv","2026-08-12T11:56:01.538Z",{"items":160269},[160270,160272],{"sys":160271,"name":2729},{"id":2728},{"sys":160273,"name":342},{"id":6596},{"items":160275},[160276,160278,160280,160282,160284,160286,160288],{"sys":160277,"name":545,"slug":546,"tier":31},{"id":542},{"sys":160279,"name":413,"slug":414,"tier":31},{"id":410},{"sys":160281,"name":342,"slug":343,"tier":31},{"id":339},{"sys":160283,"name":484,"slug":485,"tier":45},{"id":481},{"sys":160285,"name":633,"slug":634,"tier":45},{"id":630},{"sys":160287,"name":368,"slug":369,"tier":45},{"id":365},{"sys":160289,"name":404,"slug":405,"tier":45},{"id":401},"Hv7q1XTbEcBgLekpQwc22uCbbTTpSGOb5Hnz5njcKKI",{"id":160292,"title":155367,"authorsCollection":160293,"content":160297,"extension":228,"faqItemsCollection":160680,"faqTitle":59,"featured":6,"hashTags":59,"meta":160682,"metaTitle":160683,"ogImage":59,"postType":38987,"publishedDate":155369,"relatedBlogPostsCollection":160684,"slug":155370,"stem":161699,"subtitle":59,"summary":161700,"synopsis":155368,"sys":161717,"tagsCollection":161719,"topicsCollection":161725,"__hash__":161737},"blog/blog/understanding-shadow-it.json",{"items":160294},[160295],{"fullName":140213,"firstName":140214,"jobTitle":140215,"socialLinks":59,"profilePicture":160296},{"url":140217},{"json":160298,"links":160663},{"data":160299,"content":160300,"nodeType":856},{},[160301,160307,160313,160319,160325,160331,160337,160343,160349,160355,160361,160367,160373,160378,160384,160390,160396,160402,160408,160414,160420,160426,160432,160438,160444,160450,160455,160461,160477,160483,160489,160495,160501,160507,160513,160519,160525,160531,160544,160557,160563,160569,160575,160581,160587,160593,160599,160605,160611,160617,160623,160629,160635,160641,160647],{"data":160302,"content":160303,"nodeType":1009},{},[160304],{"data":160305,"marks":160306,"value":126377,"nodeType":864},{},[],{"data":160308,"content":160309,"nodeType":860},{},[160310],{"data":160311,"marks":160312,"value":154953,"nodeType":864},{},[],{"data":160314,"content":160315,"nodeType":860},{},[160316],{"data":160317,"marks":160318,"value":154960,"nodeType":864},{},[],{"data":160320,"content":160321,"nodeType":860},{},[160322],{"data":160323,"marks":160324,"value":154967,"nodeType":864},{},[],{"data":160326,"content":160327,"nodeType":860},{},[160328],{"data":160329,"marks":160330,"value":154974,"nodeType":864},{},[],{"data":160332,"content":160333,"nodeType":1009},{},[160334],{"data":160335,"marks":160336,"value":154981,"nodeType":864},{},[],{"data":160338,"content":160339,"nodeType":860},{},[160340],{"data":160341,"marks":160342,"value":154988,"nodeType":864},{},[],{"data":160344,"content":160345,"nodeType":860},{},[160346],{"data":160347,"marks":160348,"value":154995,"nodeType":864},{},[],{"data":160350,"content":160351,"nodeType":1009},{},[160352],{"data":160353,"marks":160354,"value":155002,"nodeType":864},{},[],{"data":160356,"content":160357,"nodeType":860},{},[160358],{"data":160359,"marks":160360,"value":155009,"nodeType":864},{},[],{"data":160362,"content":160363,"nodeType":860},{},[160364],{"data":160365,"marks":160366,"value":155016,"nodeType":864},{},[],{"data":160368,"content":160369,"nodeType":1009},{},[160370],{"data":160371,"marks":160372,"value":155023,"nodeType":864},{},[],{"data":160374,"content":160377,"nodeType":996},{"target":160375},{"sys":160376},{"id":155028,"type":1001,"linkType":1002},[],{"data":160379,"content":160380,"nodeType":1312},{},[160381],{"data":160382,"marks":160383,"value":155036,"nodeType":864},{},[],{"data":160385,"content":160386,"nodeType":860},{},[160387],{"data":160388,"marks":160389,"value":155043,"nodeType":864},{},[],{"data":160391,"content":160392,"nodeType":860},{},[160393],{"data":160394,"marks":160395,"value":155050,"nodeType":864},{},[],{"data":160397,"content":160398,"nodeType":860},{},[160399],{"data":160400,"marks":160401,"value":155057,"nodeType":864},{},[],{"data":160403,"content":160404,"nodeType":860},{},[160405],{"data":160406,"marks":160407,"value":155064,"nodeType":864},{},[],{"data":160409,"content":160410,"nodeType":1312},{},[160411],{"data":160412,"marks":160413,"value":155071,"nodeType":864},{},[],{"data":160415,"content":160416,"nodeType":860},{},[160417],{"data":160418,"marks":160419,"value":155078,"nodeType":864},{},[],{"data":160421,"content":160422,"nodeType":860},{},[160423],{"data":160424,"marks":160425,"value":155085,"nodeType":864},{},[],{"data":160427,"content":160428,"nodeType":860},{},[160429],{"data":160430,"marks":160431,"value":155092,"nodeType":864},{},[],{"data":160433,"content":160434,"nodeType":1312},{},[160435],{"data":160436,"marks":160437,"value":155099,"nodeType":864},{},[],{"data":160439,"content":160440,"nodeType":860},{},[160441],{"data":160442,"marks":160443,"value":155106,"nodeType":864},{},[],{"data":160445,"content":160446,"nodeType":1009},{},[160447],{"data":160448,"marks":160449,"value":155113,"nodeType":864},{},[],{"data":160451,"content":160454,"nodeType":996},{"target":160452},{"sys":160453},{"id":155118,"type":1001,"linkType":1002},[],{"data":160456,"content":160457,"nodeType":1312},{},[160458],{"data":160459,"marks":160460,"value":155126,"nodeType":864},{},[],{"data":160462,"content":160463,"nodeType":860},{},[160464,160467,160474],{"data":160465,"marks":160466,"value":155133,"nodeType":864},{},[],{"data":160468,"content":160469,"nodeType":883},{"uri":155136},[160470],{"data":160471,"marks":160472,"value":155142,"nodeType":864},{},[160473],{"type":1455},{"data":160475,"marks":160476,"value":155146,"nodeType":864},{},[],{"data":160478,"content":160479,"nodeType":860},{},[160480],{"data":160481,"marks":160482,"value":155153,"nodeType":864},{},[],{"data":160484,"content":160485,"nodeType":1312},{},[160486],{"data":160487,"marks":160488,"value":155160,"nodeType":864},{},[],{"data":160490,"content":160491,"nodeType":860},{},[160492],{"data":160493,"marks":160494,"value":155167,"nodeType":864},{},[],{"data":160496,"content":160497,"nodeType":860},{},[160498],{"data":160499,"marks":160500,"value":155174,"nodeType":864},{},[],{"data":160502,"content":160503,"nodeType":860},{},[160504],{"data":160505,"marks":160506,"value":155181,"nodeType":864},{},[],{"data":160508,"content":160509,"nodeType":860},{},[160510],{"data":160511,"marks":160512,"value":155188,"nodeType":864},{},[],{"data":160514,"content":160515,"nodeType":1312},{},[160516],{"data":160517,"marks":160518,"value":155195,"nodeType":864},{},[],{"data":160520,"content":160521,"nodeType":860},{},[160522],{"data":160523,"marks":160524,"value":155202,"nodeType":864},{},[],{"data":160526,"content":160527,"nodeType":1312},{},[160528],{"data":160529,"marks":160530,"value":155209,"nodeType":864},{},[],{"data":160532,"content":160533,"nodeType":860},{},[160534,160537,160541],{"data":160535,"marks":160536,"value":155216,"nodeType":864},{},[],{"data":160538,"marks":160539,"value":155221,"nodeType":864},{},[160540],{"type":2246},{"data":160542,"marks":160543,"value":155225,"nodeType":864},{},[],{"data":160545,"content":160546,"nodeType":860},{},[160547,160550,160554],{"data":160548,"marks":160549,"value":155232,"nodeType":864},{},[],{"data":160551,"marks":160552,"value":155237,"nodeType":864},{},[160553],{"type":2246},{"data":160555,"marks":160556,"value":155241,"nodeType":864},{},[],{"data":160558,"content":160559,"nodeType":860},{},[160560],{"data":160561,"marks":160562,"value":155248,"nodeType":864},{},[],{"data":160564,"content":160565,"nodeType":1009},{},[160566],{"data":160567,"marks":160568,"value":155255,"nodeType":864},{},[],{"data":160570,"content":160571,"nodeType":860},{},[160572],{"data":160573,"marks":160574,"value":155262,"nodeType":864},{},[],{"data":160576,"content":160577,"nodeType":860},{},[160578],{"data":160579,"marks":160580,"value":155269,"nodeType":864},{},[],{"data":160582,"content":160583,"nodeType":860},{},[160584],{"data":160585,"marks":160586,"value":155276,"nodeType":864},{},[],{"data":160588,"content":160589,"nodeType":860},{},[160590],{"data":160591,"marks":160592,"value":155283,"nodeType":864},{},[],{"data":160594,"content":160595,"nodeType":1312},{},[160596],{"data":160597,"marks":160598,"value":155290,"nodeType":864},{},[],{"data":160600,"content":160601,"nodeType":860},{},[160602],{"data":160603,"marks":160604,"value":155297,"nodeType":864},{},[],{"data":160606,"content":160607,"nodeType":1312},{},[160608],{"data":160609,"marks":160610,"value":155304,"nodeType":864},{},[],{"data":160612,"content":160613,"nodeType":860},{},[160614],{"data":160615,"marks":160616,"value":155311,"nodeType":864},{},[],{"data":160618,"content":160619,"nodeType":860},{},[160620],{"data":160621,"marks":160622,"value":155318,"nodeType":864},{},[],{"data":160624,"content":160625,"nodeType":1312},{},[160626],{"data":160627,"marks":160628,"value":155325,"nodeType":864},{},[],{"data":160630,"content":160631,"nodeType":860},{},[160632],{"data":160633,"marks":160634,"value":155332,"nodeType":864},{},[],{"data":160636,"content":160637,"nodeType":860},{},[160638],{"data":160639,"marks":160640,"value":155339,"nodeType":864},{},[],{"data":160642,"content":160643,"nodeType":860},{},[160644],{"data":160645,"marks":160646,"value":155346,"nodeType":864},{},[],{"data":160648,"content":160649,"nodeType":860},{},[160650,160653,160660],{"data":160651,"marks":160652,"value":155353,"nodeType":864},{},[],{"data":160654,"content":160655,"nodeType":883},{"uri":155356},[160656],{"data":160657,"marks":160658,"value":155362,"nodeType":864},{},[160659],{"type":1455},{"data":160661,"marks":160662,"value":155366,"nodeType":864},{},[],{"entries":160664},{"hyperlink":160665,"inline":160666,"block":160667},[],[],[160668,160675],{"sys":160669,"__typename":1724,"title":160670,"caption":59,"layoutMode":59,"file":160671},{"id":155028},"Risks of Shadow IT",{"url":160672,"width":160673,"height":160674},"https://images.ctfassets.net/y1cdw1ablpvd/3WlIBBrP9U8eDeTAwWfL3L/fbc2e7e0392831aae6ff392ac4b85507/Screenshot_2023-08-30_at_9.24.03_AM.png",1584,888,{"sys":160676,"__typename":1724,"title":160677,"caption":59,"layoutMode":59,"file":160678},{"id":155118},"How to manage shadow IT risk",{"url":160679,"width":154160,"height":121030},"https://images.ctfassets.net/y1cdw1ablpvd/6FSkByMYm70r9KLtBBe4n/20c82e55c1b219ffcd80cb79c265a881/Screenshot_2023-08-30_at_9.23.46_AM.png",{"items":160681},[],{},"Understanding Shadow IT and Shadow SaaS",{"items":160685},[160686,161357],{"__typename":2059,"sys":160687,"content":160688,"title":150039,"synopsis":150040,"hashTags":59,"publishedDate":150041,"slug":150042,"tagsCollection":161347,"authorsCollection":161353},{"id":149298},{"json":160689},{"data":160690,"content":160691,"nodeType":856},{},[160692,160698,160704,160710,160718,160724,160729,160735,160740,160746,160752,160758,160764,160770,160776,160782,160788,160794,160807,160813,160819,160824,160830,160836,160849,160866,160872,160878,160884,160890,160896,160902,160920,160926,160932,160938,160944,160950,160956,160962,160968,160981,161011,161019,161025,161031,161037,161043,161064,161070,161076,161082,161088,161094,161100,161106,161112,161117,161123,161129,161135,161145,161151,161157,161163,161168,161174,161180,161186,161207,161213,161219,161225,161238,161244,161250,161256,161313,161318,161324,161330,161336,161341],{"data":160693,"content":160694,"nodeType":860},{},[160695],{"data":160696,"marks":160697,"value":149309,"nodeType":864},{},[],{"data":160699,"content":160700,"nodeType":860},{},[160701],{"data":160702,"marks":160703,"value":147851,"nodeType":864},{},[],{"data":160705,"content":160706,"nodeType":860},{},[160707],{"data":160708,"marks":160709,"value":149322,"nodeType":864},{},[],{"data":160711,"content":160712,"nodeType":860},{},[160713],{"data":160714,"marks":160715,"value":149331,"nodeType":864},{},[160716,160717],{"type":899},{"type":2246},{"data":160719,"content":160720,"nodeType":860},{},[160721],{"data":160722,"marks":160723,"value":149338,"nodeType":864},{},[],{"data":160725,"content":160728,"nodeType":996},{"target":160726},{"sys":160727},{"id":147969,"type":1001,"linkType":1002},[],{"data":160730,"content":160731,"nodeType":860},{},[160732],{"data":160733,"marks":160734,"value":149350,"nodeType":864},{},[],{"data":160736,"content":160739,"nodeType":996},{"target":160737},{"sys":160738},{"id":148119,"type":1001,"linkType":1002},[],{"data":160741,"content":160742,"nodeType":860},{},[160743],{"data":160744,"marks":160745,"value":149362,"nodeType":864},{},[],{"data":160747,"content":160748,"nodeType":1009},{},[160749],{"data":160750,"marks":160751,"value":149369,"nodeType":864},{},[],{"data":160753,"content":160754,"nodeType":860},{},[160755],{"data":160756,"marks":160757,"value":149376,"nodeType":864},{},[],{"data":160759,"content":160760,"nodeType":860},{},[160761],{"data":160762,"marks":160763,"value":149383,"nodeType":864},{},[],{"data":160765,"content":160766,"nodeType":1009},{},[160767],{"data":160768,"marks":160769,"value":149390,"nodeType":864},{},[],{"data":160771,"content":160772,"nodeType":1312},{},[160773],{"data":160774,"marks":160775,"value":148209,"nodeType":864},{},[],{"data":160777,"content":160778,"nodeType":860},{},[160779],{"data":160780,"marks":160781,"value":149403,"nodeType":864},{},[],{"data":160783,"content":160784,"nodeType":1312},{},[160785],{"data":160786,"marks":160787,"value":589,"nodeType":864},{},[],{"data":160789,"content":160790,"nodeType":860},{},[160791],{"data":160792,"marks":160793,"value":149416,"nodeType":864},{},[],{"data":160795,"content":160796,"nodeType":860},{},[160797,160800,160804],{"data":160798,"marks":160799,"value":149423,"nodeType":864},{},[],{"data":160801,"marks":160802,"value":149428,"nodeType":864},{},[160803],{"type":2246},{"data":160805,"marks":160806,"value":8618,"nodeType":864},{},[],{"data":160808,"content":160809,"nodeType":1312},{},[160810],{"data":160811,"marks":160812,"value":149438,"nodeType":864},{},[],{"data":160814,"content":160815,"nodeType":860},{},[160816],{"data":160817,"marks":160818,"value":149445,"nodeType":864},{},[],{"data":160820,"content":160823,"nodeType":996},{"target":160821},{"sys":160822},{"id":148228,"type":1001,"linkType":1002},[],{"data":160825,"content":160826,"nodeType":1312},{},[160827],{"data":160828,"marks":160829,"value":148236,"nodeType":864},{},[],{"data":160831,"content":160832,"nodeType":860},{},[160833],{"data":160834,"marks":160835,"value":148243,"nodeType":864},{},[],{"data":160837,"content":160838,"nodeType":860},{},[160839,160842,160846],{"data":160840,"marks":160841,"value":149469,"nodeType":864},{},[],{"data":160843,"marks":160844,"value":149474,"nodeType":864},{},[160845],{"type":2246},{"data":160847,"marks":160848,"value":149478,"nodeType":864},{},[],{"data":160850,"content":160851,"nodeType":860},{},[160852,160857,160861],{"data":160853,"marks":160854,"value":149487,"nodeType":864},{},[160855,160856],{"type":899},{"type":2246},{"data":160858,"marks":160859,"value":149492,"nodeType":864},{},[160860],{"type":2246},{"data":160862,"marks":160863,"value":8618,"nodeType":864},{},[160864,160865],{"type":899},{"type":2246},{"data":160867,"content":160868,"nodeType":860},{},[160869],{"data":160870,"marks":160871,"value":149504,"nodeType":864},{},[],{"data":160873,"content":160874,"nodeType":1312},{},[160875],{"data":160876,"marks":160877,"value":149511,"nodeType":864},{},[],{"data":160879,"content":160880,"nodeType":860},{},[160881],{"data":160882,"marks":160883,"value":149518,"nodeType":864},{},[],{"data":160885,"content":160886,"nodeType":1312},{},[160887],{"data":160888,"marks":160889,"value":149525,"nodeType":864},{},[],{"data":160891,"content":160892,"nodeType":860},{},[160893],{"data":160894,"marks":160895,"value":149532,"nodeType":864},{},[],{"data":160897,"content":160898,"nodeType":860},{},[160899],{"data":160900,"marks":160901,"value":149539,"nodeType":864},{},[],{"data":160903,"content":160904,"nodeType":860},{},[160905,160908,160917],{"data":160906,"marks":160907,"value":149546,"nodeType":864},{},[],{"data":160909,"content":160912,"nodeType":27604},{"target":160910},{"sys":160911},{"id":149551,"type":1001,"linkType":1002},[160913],{"data":160914,"marks":160915,"value":29669,"nodeType":864},{},[160916],{"type":1455},{"data":160918,"marks":160919,"value":12252,"nodeType":864},{},[],{"data":160921,"content":160922,"nodeType":860},{},[160923],{"data":160924,"marks":160925,"value":149566,"nodeType":864},{},[],{"data":160927,"content":160928,"nodeType":860},{},[160929],{"data":160930,"marks":160931,"value":149573,"nodeType":864},{},[],{"data":160933,"content":160934,"nodeType":1009},{},[160935],{"data":160936,"marks":160937,"value":149580,"nodeType":864},{},[],{"data":160939,"content":160940,"nodeType":1312},{},[160941],{"data":160942,"marks":160943,"value":149587,"nodeType":864},{},[],{"data":160945,"content":160946,"nodeType":860},{},[160947],{"data":160948,"marks":160949,"value":149594,"nodeType":864},{},[],{"data":160951,"content":160952,"nodeType":860},{},[160953],{"data":160954,"marks":160955,"value":149601,"nodeType":864},{},[],{"data":160957,"content":160958,"nodeType":1312},{},[160959],{"data":160960,"marks":160961,"value":149608,"nodeType":864},{},[],{"data":160963,"content":160964,"nodeType":860},{},[160965],{"data":160966,"marks":160967,"value":149615,"nodeType":864},{},[],{"data":160969,"content":160970,"nodeType":860},{},[160971,160974,160978],{"data":160972,"marks":160973,"value":149622,"nodeType":864},{},[],{"data":160975,"marks":160976,"value":148331,"nodeType":864},{},[160977],{"type":2246},{"data":160979,"marks":160980,"value":148335,"nodeType":864},{},[],{"data":160982,"content":160983,"nodeType":941},{},[160984,160993,161002],{"data":160985,"content":160986,"nodeType":945},{},[160987],{"data":160988,"content":160989,"nodeType":860},{},[160990],{"data":160991,"marks":160992,"value":148348,"nodeType":864},{},[],{"data":160994,"content":160995,"nodeType":945},{},[160996],{"data":160997,"content":160998,"nodeType":860},{},[160999],{"data":161000,"marks":161001,"value":148358,"nodeType":864},{},[],{"data":161003,"content":161004,"nodeType":945},{},[161005],{"data":161006,"content":161007,"nodeType":860},{},[161008],{"data":161009,"marks":161010,"value":148368,"nodeType":864},{},[],{"data":161012,"content":161013,"nodeType":860},{},[161014],{"data":161015,"marks":161016,"value":149668,"nodeType":864},{},[161017,161018],{"type":899},{"type":2246},{"data":161020,"content":161021,"nodeType":860},{},[161022],{"data":161023,"marks":161024,"value":148384,"nodeType":864},{},[],{"data":161026,"content":161027,"nodeType":1312},{},[161028],{"data":161029,"marks":161030,"value":149681,"nodeType":864},{},[],{"data":161032,"content":161033,"nodeType":860},{},[161034],{"data":161035,"marks":161036,"value":149688,"nodeType":864},{},[],{"data":161038,"content":161039,"nodeType":860},{},[161040],{"data":161041,"marks":161042,"value":149695,"nodeType":864},{},[],{"data":161044,"content":161045,"nodeType":941},{},[161046,161055],{"data":161047,"content":161048,"nodeType":945},{},[161049],{"data":161050,"content":161051,"nodeType":860},{},[161052],{"data":161053,"marks":161054,"value":149708,"nodeType":864},{},[],{"data":161056,"content":161057,"nodeType":945},{},[161058],{"data":161059,"content":161060,"nodeType":860},{},[161061],{"data":161062,"marks":161063,"value":149718,"nodeType":864},{},[],{"data":161065,"content":161066,"nodeType":860},{},[161067],{"data":161068,"marks":161069,"value":149725,"nodeType":864},{},[],{"data":161071,"content":161072,"nodeType":1312},{},[161073],{"data":161074,"marks":161075,"value":149732,"nodeType":864},{},[],{"data":161077,"content":161078,"nodeType":860},{},[161079],{"data":161080,"marks":161081,"value":149739,"nodeType":864},{},[],{"data":161083,"content":161084,"nodeType":860},{},[161085],{"data":161086,"marks":161087,"value":149746,"nodeType":864},{},[],{"data":161089,"content":161090,"nodeType":1009},{},[161091],{"data":161092,"marks":161093,"value":149753,"nodeType":864},{},[],{"data":161095,"content":161096,"nodeType":1312},{},[161097],{"data":161098,"marks":161099,"value":149760,"nodeType":864},{},[],{"data":161101,"content":161102,"nodeType":860},{},[161103],{"data":161104,"marks":161105,"value":149767,"nodeType":864},{},[],{"data":161107,"content":161108,"nodeType":860},{},[161109],{"data":161110,"marks":161111,"value":149774,"nodeType":864},{},[],{"data":161113,"content":161116,"nodeType":996},{"target":161114},{"sys":161115},{"id":148431,"type":1001,"linkType":1002},[],{"data":161118,"content":161119,"nodeType":1312},{},[161120],{"data":161121,"marks":161122,"value":149786,"nodeType":864},{},[],{"data":161124,"content":161125,"nodeType":860},{},[161126],{"data":161127,"marks":161128,"value":149793,"nodeType":864},{},[],{"data":161130,"content":161131,"nodeType":860},{},[161132],{"data":161133,"marks":161134,"value":149800,"nodeType":864},{},[],{"data":161136,"content":161137,"nodeType":860},{},[161138,161141],{"data":161139,"marks":161140,"value":149807,"nodeType":864},{},[],{"data":161142,"marks":161143,"value":149812,"nodeType":864},{},[161144],{"type":2246},{"data":161146,"content":161147,"nodeType":1312},{},[161148],{"data":161149,"marks":161150,"value":149819,"nodeType":864},{},[],{"data":161152,"content":161153,"nodeType":860},{},[161154],{"data":161155,"marks":161156,"value":149826,"nodeType":864},{},[],{"data":161158,"content":161159,"nodeType":860},{},[161160],{"data":161161,"marks":161162,"value":149833,"nodeType":864},{},[],{"data":161164,"content":161167,"nodeType":996},{"target":161165},{"sys":161166},{"id":140590,"type":1001,"linkType":1002},[],{"data":161169,"content":161170,"nodeType":1312},{},[161171],{"data":161172,"marks":161173,"value":149845,"nodeType":864},{},[],{"data":161175,"content":161176,"nodeType":860},{},[161177],{"data":161178,"marks":161179,"value":149852,"nodeType":864},{},[],{"data":161181,"content":161182,"nodeType":860},{},[161183],{"data":161184,"marks":161185,"value":149859,"nodeType":864},{},[],{"data":161187,"content":161188,"nodeType":941},{},[161189,161198],{"data":161190,"content":161191,"nodeType":945},{},[161192],{"data":161193,"content":161194,"nodeType":860},{},[161195],{"data":161196,"marks":161197,"value":149872,"nodeType":864},{},[],{"data":161199,"content":161200,"nodeType":945},{},[161201],{"data":161202,"content":161203,"nodeType":860},{},[161204],{"data":161205,"marks":161206,"value":149882,"nodeType":864},{},[],{"data":161208,"content":161209,"nodeType":1312},{},[161210],{"data":161211,"marks":161212,"value":149889,"nodeType":864},{},[],{"data":161214,"content":161215,"nodeType":860},{},[161216],{"data":161217,"marks":161218,"value":149896,"nodeType":864},{},[],{"data":161220,"content":161221,"nodeType":860},{},[161222],{"data":161223,"marks":161224,"value":149903,"nodeType":864},{},[],{"data":161226,"content":161227,"nodeType":860},{},[161228,161231,161235],{"data":161229,"marks":161230,"value":149910,"nodeType":864},{},[],{"data":161232,"marks":161233,"value":112585,"nodeType":864},{},[161234],{"type":899},{"data":161236,"marks":161237,"value":149918,"nodeType":864},{},[],{"data":161239,"content":161240,"nodeType":1312},{},[161241],{"data":161242,"marks":161243,"value":149925,"nodeType":864},{},[],{"data":161245,"content":161246,"nodeType":860},{},[161247],{"data":161248,"marks":161249,"value":149932,"nodeType":864},{},[],{"data":161251,"content":161252,"nodeType":860},{},[161253],{"data":161254,"marks":161255,"value":149939,"nodeType":864},{},[],{"data":161257,"content":161258,"nodeType":941},{},[161259,161268,161277,161286,161295,161304],{"data":161260,"content":161261,"nodeType":945},{},[161262],{"data":161263,"content":161264,"nodeType":860},{},[161265],{"data":161266,"marks":161267,"value":140618,"nodeType":864},{},[],{"data":161269,"content":161270,"nodeType":945},{},[161271],{"data":161272,"content":161273,"nodeType":860},{},[161274],{"data":161275,"marks":161276,"value":149961,"nodeType":864},{},[],{"data":161278,"content":161279,"nodeType":945},{},[161280],{"data":161281,"content":161282,"nodeType":860},{},[161283],{"data":161284,"marks":161285,"value":140638,"nodeType":864},{},[],{"data":161287,"content":161288,"nodeType":945},{},[161289],{"data":161290,"content":161291,"nodeType":860},{},[161292],{"data":161293,"marks":161294,"value":149980,"nodeType":864},{},[],{"data":161296,"content":161297,"nodeType":945},{},[161298],{"data":161299,"content":161300,"nodeType":860},{},[161301],{"data":161302,"marks":161303,"value":140658,"nodeType":864},{},[],{"data":161305,"content":161306,"nodeType":945},{},[161307],{"data":161308,"content":161309,"nodeType":860},{},[161310],{"data":161311,"marks":161312,"value":149999,"nodeType":864},{},[],{"data":161314,"content":161317,"nodeType":996},{"target":161315},{"sys":161316},{"id":150004,"type":1001,"linkType":1002},[],{"data":161319,"content":161320,"nodeType":860},{},[161321],{"data":161322,"marks":161323,"value":150012,"nodeType":864},{},[],{"data":161325,"content":161326,"nodeType":1312},{},[161327],{"data":161328,"marks":161329,"value":150019,"nodeType":864},{},[],{"data":161331,"content":161332,"nodeType":860},{},[161333],{"data":161334,"marks":161335,"value":150026,"nodeType":864},{},[],{"data":161337,"content":161340,"nodeType":996},{"target":161338},{"sys":161339},{"id":150031,"type":1001,"linkType":1002},[],{"data":161342,"content":161343,"nodeType":860},{},[161344],{"data":161345,"marks":161346,"value":21,"nodeType":864},{},[],{"items":161348},[161349,161351],{"sys":161350,"name":4904},{"id":4903},{"sys":161352,"name":2729},{"id":2728},{"items":161354},[161355],{"fullName":150052,"firstName":150052,"jobTitle":59,"profilePicture":161356},{"url":150054},{"__typename":2059,"sys":161358,"content":161360,"title":161685,"synopsis":161686,"hashTags":59,"publishedDate":161687,"slug":161688,"tagsCollection":161689,"authorsCollection":161695},{"id":161359},"4LOMe7ez5adQtwbPireIBc",{"json":161361},{"data":161362,"content":161363,"nodeType":856},{},[161364,161371,161390,161397,161404,161411,161418,161425,161432,161439,161446,161453,161460,161467,161474,161490,161497,161504,161511,161518,161525,161532,161550,161557,161564,161571,161577,161584,161592,161625,161633,161666],{"data":161365,"content":161366,"nodeType":860},{},[161367],{"data":161368,"marks":161369,"value":161370,"nodeType":864},{},[],"As part of your larger cloud security strategy, you’ve likely been asked to focus on how to secure SaaS apps used in your company. The first step to securing SaaS is getting a real sense of what platforms employees are actually using, beyond those that you already know about. Since SaaS is so easy for employees to adopt and start using without any input from IT and security, they’re likely using hundreds of SaaS apps that aren’t even on your radar. The first step in securing something is getting full visibility into what you even need to secure in the first place. ",{"data":161372,"content":161373,"nodeType":860},{},[161374,161378,161386],{"data":161375,"marks":161376,"value":161377,"nodeType":864},{},[],"To help guide folks through how you might do SaaS discovery on your own, we wrote an ",{"data":161379,"content":161382,"nodeType":27604},{"target":161380},{"sys":161381},{"id":149551,"type":1001,"linkType":1002},[161383],{"data":161384,"marks":161385,"value":118412,"nodeType":864},{},[],{"data":161387,"marks":161388,"value":161389,"nodeType":864},{},[]," about how to manually find what apps employees are using. In it, we explored how to analyze data that you already have on hand to find the unknown apps (shadow IT) used within your business. That’s a pretty significant manual effort, though, and most security teams don’t have the resources to do it. Plus, while these manual attempts can chip away at the SaaS discovery process, none are great at giving you a comprehensive view of SaaS use, nor do they keep up with the constant influx of apps employees are signing up for daily. ",{"data":161391,"content":161392,"nodeType":860},{},[161393],{"data":161394,"marks":161395,"value":161396,"nodeType":864},{},[],"To get truly broad coverage of what SaaS employees are using, you need a large dataset of SaaS apps, the domains associated with them, and this dataset must constantly be updated and expanded to include new apps that are launched every day. ",{"data":161398,"content":161399,"nodeType":860},{},[161400],{"data":161401,"marks":161402,"value":161403,"nodeType":864},{},[],"Unless you can find such a dataset, you must create it. And creating a constantly updated dataset is no small undertaking. That’s why there are so many off-the-shelf solutions and tools that focus solely on SaaS discovery these days. Many say that they are full-scale SaaS security platforms, but what that means isn’t always clear, even after reading product marketing materials. If you were to look at a venn diagram of “SaaS security platforms,” you’d have a giant mess of interlocking circles, with some shared activities amongst all (or most) tools and then vastly different features from that core functionality.",{"data":161405,"content":161406,"nodeType":860},{},[161407],{"data":161408,"marks":161409,"value":161410,"nodeType":864},{},[],"How “good” they are at SaaS discovery really depends on what data they’re using, what they have access to within your environment, the quality of their proprietary datasets (breadth, depth, and timeliness of that data), and how they work with your existing data and tools. To help navigate this mess, we’re sharing some pros and cons of the categories of commercial tools on the market.",{"data":161412,"content":161413,"nodeType":860},{},[161414],{"data":161415,"marks":161416,"value":161417,"nodeType":864},{},[],"To determine which solution you need, you need to consider your tech stack, your specific needs, your risk tolerance, and your short and long term objectives. In this article, we’ll break down some major use cases and match them up with what solutions make the most sense to address them.",{"data":161419,"content":161420,"nodeType":1312},{},[161421],{"data":161422,"marks":161423,"value":161424,"nodeType":864},{},[],"You’re a large enterprise interested in securing core SaaS platforms",{"data":161426,"content":161427,"nodeType":860},{},[161428],{"data":161429,"marks":161430,"value":161431,"nodeType":864},{},[],"\nWorking to only secure 20 or so core applications that have already been sanctioned by the security team? A cloud security posture management (CSPM) or SaaS security posture management (SSPM) solution might be the answer you’re looking for, particularly if you’re on the highest tier license for those apps. ",{"data":161433,"content":161434,"nodeType":860},{},[161435],{"data":161436,"marks":161437,"value":161438,"nodeType":864},{},[],"You can make the most of these tools during in-depth investigations or threat hunting exercises. Leverage them to enforce custom SaaS or cloud app policies as well. The caveat with this one is that you’ll need a fairly sophisticated security team to manage, customize, and run SSPM and CSPM tools.",{"data":161440,"content":161441,"nodeType":860},{},[161442],{"data":161443,"marks":161444,"value":161445,"nodeType":864},{},[],"An ideal environment for these solutions is one that has a full SOC capability so that you extend your existing security monitoring and threat hunting coverage into these core SaaS platforms. You’ll be able to secure a small handful of your business critical applications as long as they’re large and well-established platforms. ",{"data":161447,"content":161448,"nodeType":860},{},[161449],{"data":161450,"marks":161451,"value":161452,"nodeType":864},{},[],"The reason you’ll need top-level licenses and well-established SaaS platforms to make these solutions work is because they rely on API data from those SaaS platforms. Those mature APIs provide necessary information about those core apps that CSPMs and SSPMs use to provide security insights you need to manage the risks. Unfortunately, they won’t cover the dozens of smaller SaaS apps most organizations use, and are normally only available on top license tiers.",{"data":161454,"content":161455,"nodeType":1312},{},[161456],{"data":161457,"marks":161458,"value":161459,"nodeType":864},{},[],"You’re a more traditional, on-prem enterprise interested in blocking unsanctioned SaaS",{"data":161461,"content":161462,"nodeType":860},{},[161463],{"data":161464,"marks":161465,"value":161466,"nodeType":864},{},[],"If your environment is traditional on-site internal networks and you have mature gateway monitoring technology in place already, a cloud access security broker (CASB) may be your best path to securing cloud apps. CASBs work best if you have no employees working from home or on the road or you’re forcing employees to only access work platforms and internet browsers through your corporate VPN.",{"data":161468,"content":161469,"nodeType":860},{},[161470],{"data":161471,"marks":161472,"value":161473,"nodeType":864},{},[],"CASBs typically pull network data such as DNS, SASE, VPN, proxy, and firewall logs. They may also require that you install an agent on each employees’ devices if you want coverage when they are out of the office. ",{"data":161475,"content":161476,"nodeType":860},{},[161477,161481,161486],{"data":161478,"marks":161479,"value":161480,"nodeType":864},{},[],"With those data sources, they provide good aggregate information about SaaS platforms that are accessed. What they ",{"data":161482,"marks":161483,"value":161485,"nodeType":864},{},[161484],{"type":2246},"can’t do well",{"data":161487,"marks":161488,"value":161489,"nodeType":864},{},[]," is provide any insight into how the SaaS app is being used, by which employees (you typically get IP addresses not user names), and for what purpose - as an example, they are typically not able to tell the difference between opening a SaaS product’s homepage, or actually logging into the application - so you are going to have a fairly large number of false positives. ",{"data":161491,"content":161492,"nodeType":860},{},[161493],{"data":161494,"marks":161495,"value":161496,"nodeType":864},{},[],"A CASB also really makes sense if you’re forced into complying with strict regulatory requirements to block everything until you’re able to do an in-depth due diligence process on each app. If your goal (or need) is to block access to unknown, unvetted, or unsanctioned SaaS at the network level with no exceptions, a CASB might be for you.",{"data":161498,"content":161499,"nodeType":1312},{},[161500],{"data":161501,"marks":161502,"value":161503,"nodeType":864},{},[],"You’re a cloud-native company who wants to enable SaaS without introducing too much risk",{"data":161505,"content":161506,"nodeType":860},{},[161507],{"data":161508,"marks":161509,"value":161510,"nodeType":864},{},[],"For cloud-native companies that need better coverage, and are looking for more nuanced controls than network-level blocking, a solution that discovers and secures SaaS through the browser is the way to go. Since employees access SaaS through their browser, it’s a logical step to collect data about who is using what apps through a browser extension. ",{"data":161512,"content":161513,"nodeType":860},{},[161514],{"data":161515,"marks":161516,"value":161517,"nodeType":864},{},[],"The browser approach lets you do true SaaS discovery - so you can find what employees are actually using (not just accessing) and then go about securing those apps. You also don’t need to do much in terms of managing a browser-based solution once it’s set up. It simply runs in the background and surfaces employee SaaS use data into a dashboard. ",{"data":161519,"content":161520,"nodeType":860},{},[161521],{"data":161522,"marks":161523,"value":161524,"nodeType":864},{},[],"By combining browser-level data and robust security APIs from those core business platforms that SSPMs typically tap into, you can get broad visibility of SaaS use in your company for those large in number, but less mature, more up-and-coming apps, and the depth of security data you need for those few core apps that most employees are using. ",{"data":161526,"content":161527,"nodeType":860},{},[161528],{"data":161529,"marks":161530,"value":161531,"nodeType":864},{},[],"The other key benefit of a browser-based approach for SaaS discovery is that you can get incredibly powerful data about who is using the app, how they’re using it, if they’re using security features such as MFA, if they’re reusing passwords across multiple apps, if they’re sharing passwords, when they’ve used it last, and so on. That data is critical when it comes to securing SaaS because the devil truly is in the details. ",{"data":161533,"content":161534,"nodeType":860},{},[161535,161539,161547],{"data":161536,"marks":161537,"value":161538,"nodeType":864},{},[],"If we’ve piqued your interest and you’re curious to see what we can discover about SaaS in your business, ",{"data":161540,"content":161542,"nodeType":883},{"uri":161541},"https://login.pushsecurity.com/",[161543],{"data":161544,"marks":161545,"value":161546,"nodeType":864},{},[],"try the free browser extension",{"data":161548,"marks":161549,"value":12252,"nodeType":864},{},[],{"data":161551,"content":161552,"nodeType":1312},{},[161553],{"data":161554,"marks":161555,"value":161556,"nodeType":864},{},[],"Consider their data sources  ",{"data":161558,"content":161559,"nodeType":860},{},[161560],{"data":161561,"marks":161562,"value":161563,"nodeType":864},{},[],"The critical thing to understand when you’re evaluating if a solution will work for you would be understanding what their data sources are, what weaknesses those data sources inherently have, and what aligns best with your goals. We’ve tried to surface some of that information within the use cases in this article.",{"data":161565,"content":161566,"nodeType":860},{},[161567],{"data":161568,"marks":161569,"value":161570,"nodeType":864},{},[],"So if you’re looking at an EDR that says they can discover SaaS usage, they’ll likely be leveraging endpoint data to detect SaaS use. If you’re looking at CASBs that integrate with your proxy, they’re probably looking at network level data – you get the idea.  ",{"data":161572,"content":161573,"nodeType":1312},{},[161574],{"data":161575,"marks":161576,"value":32492,"nodeType":864},{},[],{"data":161578,"content":161579,"nodeType":860},{},[161580],{"data":161581,"marks":161582,"value":161583,"nodeType":864},{},[],"To wrap this up, we’re going to summarize some key points and provide some questions to ask yourself, your team, or even the vendor of the solution you’re evaluating, as you consider what combination of efforts or what tool is right for you. ",{"data":161585,"content":161586,"nodeType":860},{},[161587],{"data":161588,"marks":161589,"value":161591,"nodeType":864},{},[161590],{"type":899},"Does this solution provide SaaS discovery?",{"data":161593,"content":161594,"nodeType":941},{},[161595,161605,161615],{"data":161596,"content":161597,"nodeType":945},{},[161598],{"data":161599,"content":161600,"nodeType":860},{},[161601],{"data":161602,"marks":161603,"value":161604,"nodeType":864},{},[],"Will this tool find what SaaS apps employees are using, including those you don’t already know about? If so, how? ",{"data":161606,"content":161607,"nodeType":945},{},[161608],{"data":161609,"content":161610,"nodeType":860},{},[161611],{"data":161612,"marks":161613,"value":161614,"nodeType":864},{},[],"Will the tool be able to differentiate between a user visiting a SaaS website, and actually logging into the app? How will it determine who the user is?",{"data":161616,"content":161617,"nodeType":945},{},[161618],{"data":161619,"content":161620,"nodeType":860},{},[161621],{"data":161622,"marks":161623,"value":161624,"nodeType":864},{},[],"If the tool doesn’t provide you with SaaS discovery (finding Shadow IT and the apps employees are using that aren’t on your radar), how will you deal with those apps employees are using without your knowledge?",{"data":161626,"content":161627,"nodeType":860},{},[161628],{"data":161629,"marks":161630,"value":161632,"nodeType":864},{},[161631],{"type":899},"Does the tool provide enough context so you can manage SaaS risk?",{"data":161634,"content":161635,"nodeType":941},{},[161636,161646,161656],{"data":161637,"content":161638,"nodeType":945},{},[161639],{"data":161640,"content":161641,"nodeType":860},{},[161642],{"data":161643,"marks":161644,"value":161645,"nodeType":864},{},[],"Are you getting context about how your users are using apps (are they logging in with social logins or passwords, do they have MFA enabled, are they admins on the app, etc.), or is it only providing generic information about the app?",{"data":161647,"content":161648,"nodeType":945},{},[161649],{"data":161650,"content":161651,"nodeType":860},{},[161652],{"data":161653,"marks":161654,"value":161655,"nodeType":864},{},[],"How will you engage employees that already rely on these SaaS platforms, or want to adopt new apps, can you handle that though email or in-person - or do you need something more scalable?",{"data":161657,"content":161658,"nodeType":945},{},[161659],{"data":161660,"content":161661,"nodeType":860},{},[161662],{"data":161663,"marks":161664,"value":161665,"nodeType":864},{},[],"Do you need the ability to apply progressive controls, or simply need the ability to block apps entirely?",{"data":161667,"content":161668,"nodeType":860},{},[161669,161673,161681],{"data":161670,"marks":161671,"value":161672,"nodeType":864},{},[],"\nIf you aren’t sure about these questions, why not consider what a ",{"data":161674,"content":161676,"nodeType":883},{"uri":161675},"/product",[161677],{"data":161678,"marks":161679,"value":161680,"nodeType":864},{},[],"user-powered security approach",{"data":161682,"marks":161683,"value":161684,"nodeType":864},{},[]," might look like for your organization.","How to find the right SaaS security solution for your organization ","In this guide, we’ll break down some major SaaS use cases and match them up with solutions that can address them, covering pros and cons for each.\n","2022-07-25T00:00:00.000Z","how-to-find-the-right-saas-security-solution-for-your-organization",{"items":161690},[161691,161693],{"sys":161692,"name":4904},{"id":4903},{"sys":161694,"name":2729},{"id":2728},{"items":161696},[161697],{"fullName":38408,"firstName":38409,"jobTitle":38410,"profilePicture":161698},{"url":38412},"blog/understanding-shadow-it",{"json":161701},{"data":161702,"content":161703,"nodeType":856},{},[161704,161711],{"data":161705,"content":161706,"nodeType":860},{},[161707],{"data":161708,"marks":161709,"value":161710,"nodeType":864},{},[],"In this article, we’ll define shadow IT and shadow SaaS, talk through the serious security risks associated with them and give actionable guidance on how to manage the risks.",{"data":161712,"content":161713,"nodeType":860},{},[161714],{"data":161715,"marks":161716,"value":90277,"nodeType":864},{},[],{"id":154936,"publishedAt":161718},"2026-08-12T11:57:18.606Z",{"items":161720},[161721,161723],{"sys":161722,"name":4904},{"id":4903},{"sys":161724,"name":2729},{"id":2728},{"items":161726},[161727,161729,161731,161733,161735],{"sys":161728,"name":545,"slug":546,"tier":31},{"id":542},{"sys":161730,"name":297,"slug":298,"tier":31},{"id":294},{"sys":161732,"name":589,"slug":590,"tier":45},{"id":586},{"sys":161734,"name":633,"slug":634,"tier":45},{"id":630},{"sys":161736,"name":457,"slug":458,"tier":45},{"id":454},"kDItqX-cVC34XVwrlBQvuxrHbT4n8U5TrxzaTkCRuP8",{"id":161739,"title":5236,"authorsCollection":161740,"content":161745,"extension":228,"faqItemsCollection":162210,"faqTitle":59,"featured":6,"hashTags":59,"meta":162212,"metaTitle":162213,"ogImage":59,"postType":5740,"publishedDate":127995,"relatedBlogPostsCollection":162214,"slug":127996,"stem":164044,"subtitle":59,"summary":164045,"synopsis":127994,"sys":164056,"tagsCollection":164058,"topicsCollection":164064,"__hash__":164082},"blog/blog/samljacking-a-poisoned-tenant.json",{"items":161741},[161742],{"fullName":4949,"firstName":4950,"jobTitle":4951,"socialLinks":161743,"profilePicture":161744},[4953],{"url":4955},{"json":161746,"links":162139},{"data":161747,"content":161748,"nodeType":856},{},[161749,161765,161771,161777,161783,161799,161805,161821,161827,161833,161839,161845,161851,161857,161863,161879,161885,161891,161896,161902,161908,161914,161919,161924,161929,161935,161941,161946,161952,161958,161964,161969,161975,161981,161987,161993,161999,162004,162010,162016,162021,162027,162033,162038,162044,162050,162109,162115,162121,162127,162133],{"data":161750,"content":161751,"nodeType":860},{},[161752,161755,161762],{"data":161753,"marks":161754,"value":127552,"nodeType":864},{},[],{"data":161756,"content":161757,"nodeType":883},{"uri":6418},[161758],{"data":161759,"marks":161760,"value":5765,"nodeType":864},{},[161761],{"type":1455},{"data":161763,"marks":161764,"value":127563,"nodeType":864},{},[],{"data":161766,"content":161767,"nodeType":860},{},[161768],{"data":161769,"marks":161770,"value":127570,"nodeType":864},{},[],{"data":161772,"content":161773,"nodeType":860},{},[161774],{"data":161775,"marks":161776,"value":127577,"nodeType":864},{},[],{"data":161778,"content":161779,"nodeType":1009},{},[161780],{"data":161781,"marks":161782,"value":110106,"nodeType":864},{},[],{"data":161784,"content":161785,"nodeType":860},{},[161786,161789,161796],{"data":161787,"marks":161788,"value":21,"nodeType":864},{},[],{"data":161790,"content":161791,"nodeType":883},{"uri":101692},[161792],{"data":161793,"marks":161794,"value":110119,"nodeType":864},{},[161795],{"type":1455},{"data":161797,"marks":161798,"value":110123,"nodeType":864},{},[],{"data":161800,"content":161801,"nodeType":1009},{},[161802],{"data":161803,"marks":161804,"value":127606,"nodeType":864},{},[],{"data":161806,"content":161807,"nodeType":860},{},[161808,161811,161818],{"data":161809,"marks":161810,"value":21,"nodeType":864},{},[],{"data":161812,"content":161813,"nodeType":883},{"uri":88494},[161814],{"data":161815,"marks":161816,"value":5272,"nodeType":864},{},[161817],{"type":1455},{"data":161819,"marks":161820,"value":127623,"nodeType":864},{},[],{"data":161822,"content":161823,"nodeType":1009},{},[161824],{"data":161825,"marks":161826,"value":127630,"nodeType":864},{},[],{"data":161828,"content":161829,"nodeType":860},{},[161830],{"data":161831,"marks":161832,"value":127637,"nodeType":864},{},[],{"data":161834,"content":161835,"nodeType":860},{},[161836],{"data":161837,"marks":161838,"value":127644,"nodeType":864},{},[],{"data":161840,"content":161841,"nodeType":860},{},[161842],{"data":161843,"marks":161844,"value":127651,"nodeType":864},{},[],{"data":161846,"content":161847,"nodeType":860},{},[161848],{"data":161849,"marks":161850,"value":127658,"nodeType":864},{},[],{"data":161852,"content":161853,"nodeType":860},{},[161854],{"data":161855,"marks":161856,"value":127665,"nodeType":864},{},[],{"data":161858,"content":161859,"nodeType":1009},{},[161860],{"data":161861,"marks":161862,"value":127672,"nodeType":864},{},[],{"data":161864,"content":161865,"nodeType":860},{},[161866,161869,161876],{"data":161867,"marks":161868,"value":127679,"nodeType":864},{},[],{"data":161870,"content":161871,"nodeType":883},{"uri":127682},[161872],{"data":161873,"marks":161874,"value":127688,"nodeType":864},{},[161875],{"type":1455},{"data":161877,"marks":161878,"value":127692,"nodeType":864},{},[],{"data":161880,"content":161881,"nodeType":860},{},[161882],{"data":161883,"marks":161884,"value":127699,"nodeType":864},{},[],{"data":161886,"content":161887,"nodeType":860},{},[161888],{"data":161889,"marks":161890,"value":127706,"nodeType":864},{},[],{"data":161892,"content":161895,"nodeType":996},{"target":161893},{"sys":161894},{"id":127711,"type":1001,"linkType":1002},[],{"data":161897,"content":161898,"nodeType":860},{},[161899],{"data":161900,"marks":161901,"value":127719,"nodeType":864},{},[],{"data":161903,"content":161904,"nodeType":1312},{},[161905],{"data":161906,"marks":161907,"value":127726,"nodeType":864},{},[],{"data":161909,"content":161910,"nodeType":860},{},[161911],{"data":161912,"marks":161913,"value":127733,"nodeType":864},{},[],{"data":161915,"content":161918,"nodeType":996},{"target":161916},{"sys":161917},{"id":127738,"type":1001,"linkType":1002},[],{"data":161920,"content":161923,"nodeType":996},{"target":161921},{"sys":161922},{"id":127744,"type":1001,"linkType":1002},[],{"data":161925,"content":161928,"nodeType":996},{"target":161926},{"sys":161927},{"id":127750,"type":1001,"linkType":1002},[],{"data":161930,"content":161931,"nodeType":1312},{},[161932],{"data":161933,"marks":161934,"value":127758,"nodeType":864},{},[],{"data":161936,"content":161937,"nodeType":860},{},[161938],{"data":161939,"marks":161940,"value":127765,"nodeType":864},{},[],{"data":161942,"content":161945,"nodeType":996},{"target":161943},{"sys":161944},{"id":127770,"type":1001,"linkType":1002},[],{"data":161947,"content":161948,"nodeType":1312},{},[161949],{"data":161950,"marks":161951,"value":127778,"nodeType":864},{},[],{"data":161953,"content":161954,"nodeType":860},{},[161955],{"data":161956,"marks":161957,"value":127785,"nodeType":864},{},[],{"data":161959,"content":161960,"nodeType":860},{},[161961],{"data":161962,"marks":161963,"value":127792,"nodeType":864},{},[],{"data":161965,"content":161968,"nodeType":996},{"target":161966},{"sys":161967},{"id":127797,"type":1001,"linkType":1002},[],{"data":161970,"content":161971,"nodeType":860},{},[161972],{"data":161973,"marks":161974,"value":127805,"nodeType":864},{},[],{"data":161976,"content":161977,"nodeType":1009},{},[161978],{"data":161979,"marks":161980,"value":127812,"nodeType":864},{},[],{"data":161982,"content":161983,"nodeType":1312},{},[161984],{"data":161985,"marks":161986,"value":127819,"nodeType":864},{},[],{"data":161988,"content":161989,"nodeType":860},{},[161990],{"data":161991,"marks":161992,"value":127826,"nodeType":864},{},[],{"data":161994,"content":161995,"nodeType":860},{},[161996],{"data":161997,"marks":161998,"value":127833,"nodeType":864},{},[],{"data":162000,"content":162003,"nodeType":996},{"target":162001},{"sys":162002},{"id":127838,"type":1001,"linkType":1002},[],{"data":162005,"content":162006,"nodeType":1312},{},[162007],{"data":162008,"marks":162009,"value":127846,"nodeType":864},{},[],{"data":162011,"content":162012,"nodeType":860},{},[162013],{"data":162014,"marks":162015,"value":127853,"nodeType":864},{},[],{"data":162017,"content":162020,"nodeType":996},{"target":162018},{"sys":162019},{"id":127858,"type":1001,"linkType":1002},[],{"data":162022,"content":162023,"nodeType":860},{},[162024],{"data":162025,"marks":162026,"value":127866,"nodeType":864},{},[],{"data":162028,"content":162029,"nodeType":860},{},[162030],{"data":162031,"marks":162032,"value":127873,"nodeType":864},{},[],{"data":162034,"content":162037,"nodeType":996},{"target":162035},{"sys":162036},{"id":127878,"type":1001,"linkType":1002},[],{"data":162039,"content":162040,"nodeType":1009},{},[162041],{"data":162042,"marks":162043,"value":110587,"nodeType":864},{},[],{"data":162045,"content":162046,"nodeType":860},{},[162047],{"data":162048,"marks":162049,"value":127892,"nodeType":864},{},[],{"data":162051,"content":162052,"nodeType":941},{},[162053,162062,162071,162090],{"data":162054,"content":162055,"nodeType":945},{},[162056],{"data":162057,"content":162058,"nodeType":860},{},[162059],{"data":162060,"marks":162061,"value":127905,"nodeType":864},{},[],{"data":162063,"content":162064,"nodeType":945},{},[162065],{"data":162066,"content":162067,"nodeType":860},{},[162068],{"data":162069,"marks":162070,"value":127915,"nodeType":864},{},[],{"data":162072,"content":162073,"nodeType":945},{},[162074],{"data":162075,"content":162076,"nodeType":860},{},[162077,162080,162087],{"data":162078,"marks":162079,"value":127925,"nodeType":864},{},[],{"data":162081,"content":162082,"nodeType":883},{"uri":127928},[162083],{"data":162084,"marks":162085,"value":127934,"nodeType":864},{},[162086],{"type":1455},{"data":162088,"marks":162089,"value":21,"nodeType":864},{},[],{"data":162091,"content":162092,"nodeType":945},{},[162093],{"data":162094,"content":162095,"nodeType":860},{},[162096,162099,162106],{"data":162097,"marks":162098,"value":127947,"nodeType":864},{},[],{"data":162100,"content":162101,"nodeType":883},{"uri":127950},[162102],{"data":162103,"marks":162104,"value":127956,"nodeType":864},{},[162105],{"type":1455},{"data":162107,"marks":162108,"value":21,"nodeType":864},{},[],{"data":162110,"content":162111,"nodeType":860},{},[162112],{"data":162113,"marks":162114,"value":127966,"nodeType":864},{},[],{"data":162116,"content":162117,"nodeType":1312},{},[162118],{"data":162119,"marks":162120,"value":32492,"nodeType":864},{},[],{"data":162122,"content":162123,"nodeType":860},{},[162124],{"data":162125,"marks":162126,"value":127979,"nodeType":864},{},[],{"data":162128,"content":162129,"nodeType":860},{},[162130],{"data":162131,"marks":162132,"value":127986,"nodeType":864},{},[],{"data":162134,"content":162135,"nodeType":860},{},[162136],{"data":162137,"marks":162138,"value":127993,"nodeType":864},{},[],{"entries":162140},{"hyperlink":162141,"inline":162142,"block":162143},[],[],[162144,162152,162160,162167,162173,162181,162189,162196,162203],{"sys":162145,"__typename":47726,"title":162146,"youTubeUrl":162147,"imagePlaceholder":162148},{"id":127711}," SAMLjacking a poisoned tenant demo","https://youtu.be/4gAeSxbycXU",{"url":162149,"width":162150,"height":162151},"https://images.ctfassets.net/y1cdw1ablpvd/4FbsSA4V25lkk95JLiezSx/600a821e26d50927a1467ee8075445eb/Screenshot_2023-08-17_at_12.20.11_PM.png",1976,992,{"sys":162153,"__typename":1724,"title":162154,"caption":162155,"layoutMode":59,"file":162156},{"id":127738},"Nuclino team invite","Sharing link method of inviting new users  ",{"url":162157,"width":162158,"height":162159},"https://images.ctfassets.net/y1cdw1ablpvd/10AKFD5hMvE2PYWZ3LaulV/f323a8614df7a1c4f65f4207a5acc6a6/image8.png",1158,656,{"sys":162161,"__typename":1724,"title":162162,"caption":162163,"layoutMode":59,"file":162164},{"id":127744},"Nuclino email invite"," Email invite method of inviting new users",{"url":162165,"width":162166,"height":153611},"https://images.ctfassets.net/y1cdw1ablpvd/hqwOoJ3oacQLReve31WOU/ac949d7c0c440fba6e5bc382afce3e62/image3.png",1152,{"sys":162168,"__typename":1724,"title":162169,"caption":162170,"layoutMode":59,"file":162171},{"id":127750},"Nuclino legit email invite","Example legit email a target user will receive from Nuclino when invited to join a workspace",{"url":162172,"width":1736,"height":140735},"https://images.ctfassets.net/y1cdw1ablpvd/2jPY0vvPllYE7A5mkZqQSc/9eb51364f71b9f4b0e1011214df7c4ac/image2.png",{"sys":162174,"__typename":1724,"title":162175,"caption":162176,"layoutMode":59,"file":162177},{"id":127770},"Nuclino account creation poisoned tenant","Account creation process the target user is prompted with on joining the workspace",{"url":162178,"width":162179,"height":162180},"https://images.ctfassets.net/y1cdw1ablpvd/2mOASAKuRVDJBG9Kxj49gT/63cc74501f0b68a093a179fe9181b40c/image7.png",507,599,{"sys":162182,"__typename":1724,"title":162183,"caption":162184,"layoutMode":59,"file":162185},{"id":127797},"Nuclino custom SAML settings","Custom SAML server settings pointing to a malicious SAML server",{"url":162186,"width":162187,"height":162188},"https://images.ctfassets.net/y1cdw1ablpvd/6ruhgorFea9H78bVp94Ux/558f3d93c65410580607f16048520820/image1.png",1524,828,{"sys":162190,"__typename":1724,"title":162191,"caption":162192,"layoutMode":59,"file":162193},{"id":127838},"Nuclino legit SSO linking email","SSO linking email sent by Nuclino to existing users",{"url":162194,"width":162195,"height":55424},"https://images.ctfassets.net/y1cdw1ablpvd/5joyiKTydkVP0754d1qlgi/5d036ae41c778f4d0f4f38bb539f91e4/image5.png",1516,{"sys":162197,"__typename":1724,"title":162198,"caption":162198,"layoutMode":59,"file":162199},{"id":127858},"Workspace login page post SSO configuration",{"url":162200,"width":162201,"height":162202},"https://images.ctfassets.net/y1cdw1ablpvd/1z3d7ItA95c1zDcXC4ufQa/d76037c7502ae405443c9824408f3ed2/image4.png",403,462,{"sys":162204,"__typename":1724,"title":162205,"caption":162205,"layoutMode":59,"file":162206},{"id":127878},"Fake Google SSO login page the target user is redirected to",{"url":162207,"width":162208,"height":162209},"https://images.ctfassets.net/y1cdw1ablpvd/OqmMgyW9UVuvu6NI31mYQ/22b2de1e4ab8d4a48a6b239ce00186dd/image6.png",673,895,{"items":162211},[],{},"SaaS Attack: How to SAMLjack a poisoned tenant",{"items":162215},[162216,162891,163662],{"__typename":2059,"sys":162217,"content":162218,"title":102289,"synopsis":102290,"hashTags":59,"publishedDate":102291,"slug":102292,"tagsCollection":162881,"authorsCollection":162887},{"id":101509},{"json":162219},{"data":162220,"content":162221,"nodeType":856},{},[162222,162228,162234,162240,162246,162252,162258,162263,162279,162285,162321,162327,162333,162369,162385,162391,162397,162403,162419,162435,162441,162471,162477,162493,162499,162505,162531,162547,162553,162558,162564,162570,162576,162582,162588,162594,162600,162606,162612,162618,162624,162630,162643,162649,162705,162711,162717,162740,162753,162759,162765,162771,162797,162814,162820,162826,162832,162838,162854,162870,162875],{"data":162223,"content":162224,"nodeType":860},{},[162225],{"data":162226,"marks":162227,"value":101520,"nodeType":864},{},[],{"data":162229,"content":162230,"nodeType":860},{},[162231],{"data":162232,"marks":162233,"value":101527,"nodeType":864},{},[],{"data":162235,"content":162236,"nodeType":860},{},[162237],{"data":162238,"marks":162239,"value":101534,"nodeType":864},{},[],{"data":162241,"content":162242,"nodeType":860},{},[162243],{"data":162244,"marks":162245,"value":101541,"nodeType":864},{},[],{"data":162247,"content":162248,"nodeType":1009},{},[162249],{"data":162250,"marks":162251,"value":101548,"nodeType":864},{},[],{"data":162253,"content":162254,"nodeType":860},{},[162255],{"data":162256,"marks":162257,"value":101555,"nodeType":864},{},[],{"data":162259,"content":162262,"nodeType":996},{"target":162260},{"sys":162261},{"id":101560,"type":1001,"linkType":1002},[],{"data":162264,"content":162265,"nodeType":860},{},[162266,162269,162276],{"data":162267,"marks":162268,"value":101568,"nodeType":864},{},[],{"data":162270,"content":162271,"nodeType":883},{"uri":6418},[162272],{"data":162273,"marks":162274,"value":6423,"nodeType":864},{},[162275],{"type":1455},{"data":162277,"marks":162278,"value":2924,"nodeType":864},{},[],{"data":162280,"content":162281,"nodeType":860},{},[162282],{"data":162283,"marks":162284,"value":101585,"nodeType":864},{},[],{"data":162286,"content":162287,"nodeType":860},{},[162288,162291,162298,162301,162308,162311,162318],{"data":162289,"marks":162290,"value":101592,"nodeType":864},{},[],{"data":162292,"content":162293,"nodeType":883},{"uri":49829},[162294],{"data":162295,"marks":162296,"value":101600,"nodeType":864},{},[162297],{"type":1455},{"data":162299,"marks":162300,"value":902,"nodeType":864},{},[],{"data":162302,"content":162303,"nodeType":883},{"uri":101606},[162304],{"data":162305,"marks":162306,"value":101612,"nodeType":864},{},[162307],{"type":1455},{"data":162309,"marks":162310,"value":101616,"nodeType":864},{},[],{"data":162312,"content":162313,"nodeType":883},{"uri":96411},[162314],{"data":162315,"marks":162316,"value":101624,"nodeType":864},{},[162317],{"type":1455},{"data":162319,"marks":162320,"value":101628,"nodeType":864},{},[],{"data":162322,"content":162323,"nodeType":860},{},[162324],{"data":162325,"marks":162326,"value":101635,"nodeType":864},{},[],{"data":162328,"content":162329,"nodeType":1312},{},[162330],{"data":162331,"marks":162332,"value":101642,"nodeType":864},{},[],{"data":162334,"content":162335,"nodeType":860},{},[162336,162339,162346,162349,162356,162359,162366],{"data":162337,"marks":162338,"value":101649,"nodeType":864},{},[],{"data":162340,"content":162341,"nodeType":883},{"uri":87924},[162342],{"data":162343,"marks":162344,"value":87930,"nodeType":864},{},[162345],{"type":1455},{"data":162347,"marks":162348,"value":902,"nodeType":864},{},[],{"data":162350,"content":162351,"nodeType":883},{"uri":95797},[162352],{"data":162353,"marks":162354,"value":95802,"nodeType":864},{},[162355],{"type":1455},{"data":162357,"marks":162358,"value":101670,"nodeType":864},{},[],{"data":162360,"content":162361,"nodeType":883},{"uri":96459},[162362],{"data":162363,"marks":162364,"value":101678,"nodeType":864},{},[162365],{"type":1455},{"data":162367,"marks":162368,"value":101682,"nodeType":864},{},[],{"data":162370,"content":162371,"nodeType":860},{},[162372,162375,162382],{"data":162373,"marks":162374,"value":101689,"nodeType":864},{},[],{"data":162376,"content":162377,"nodeType":883},{"uri":101692},[162378],{"data":162379,"marks":162380,"value":101698,"nodeType":864},{},[162381],{"type":1455},{"data":162383,"marks":162384,"value":101702,"nodeType":864},{},[],{"data":162386,"content":162387,"nodeType":860},{},[162388],{"data":162389,"marks":162390,"value":101709,"nodeType":864},{},[],{"data":162392,"content":162393,"nodeType":860},{},[162394],{"data":162395,"marks":162396,"value":101716,"nodeType":864},{},[],{"data":162398,"content":162399,"nodeType":1312},{},[162400],{"data":162401,"marks":162402,"value":101723,"nodeType":864},{},[],{"data":162404,"content":162405,"nodeType":860},{},[162406,162409,162416],{"data":162407,"marks":162408,"value":101730,"nodeType":864},{},[],{"data":162410,"content":162411,"nodeType":883},{"uri":101733},[162412],{"data":162413,"marks":162414,"value":101739,"nodeType":864},{},[162415],{"type":1455},{"data":162417,"marks":162418,"value":101743,"nodeType":864},{},[],{"data":162420,"content":162421,"nodeType":860},{},[162422,162425,162432],{"data":162423,"marks":162424,"value":101750,"nodeType":864},{},[],{"data":162426,"content":162427,"nodeType":883},{"uri":61891},[162428],{"data":162429,"marks":162430,"value":61897,"nodeType":864},{},[162431],{"type":1455},{"data":162433,"marks":162434,"value":101761,"nodeType":864},{},[],{"data":162436,"content":162437,"nodeType":860},{},[162438],{"data":162439,"marks":162440,"value":101768,"nodeType":864},{},[],{"data":162442,"content":162443,"nodeType":941},{},[162444,162453,162462],{"data":162445,"content":162446,"nodeType":945},{},[162447],{"data":162448,"content":162449,"nodeType":860},{},[162450],{"data":162451,"marks":162452,"value":101781,"nodeType":864},{},[],{"data":162454,"content":162455,"nodeType":945},{},[162456],{"data":162457,"content":162458,"nodeType":860},{},[162459],{"data":162460,"marks":162461,"value":101791,"nodeType":864},{},[],{"data":162463,"content":162464,"nodeType":945},{},[162465],{"data":162466,"content":162467,"nodeType":860},{},[162468],{"data":162469,"marks":162470,"value":101801,"nodeType":864},{},[],{"data":162472,"content":162473,"nodeType":860},{},[162474],{"data":162475,"marks":162476,"value":101808,"nodeType":864},{},[],{"data":162478,"content":162479,"nodeType":860},{},[162480,162483,162490],{"data":162481,"marks":162482,"value":101815,"nodeType":864},{},[],{"data":162484,"content":162485,"nodeType":883},{"uri":101818},[162486],{"data":162487,"marks":162488,"value":101824,"nodeType":864},{},[162489],{"type":1455},{"data":162491,"marks":162492,"value":101828,"nodeType":864},{},[],{"data":162494,"content":162495,"nodeType":1312},{},[162496],{"data":162497,"marks":162498,"value":101835,"nodeType":864},{},[],{"data":162500,"content":162501,"nodeType":860},{},[162502],{"data":162503,"marks":162504,"value":101842,"nodeType":864},{},[],{"data":162506,"content":162507,"nodeType":860},{},[162508,162511,162518,162521,162528],{"data":162509,"marks":162510,"value":101849,"nodeType":864},{},[],{"data":162512,"content":162513,"nodeType":883},{"uri":101852},[162514],{"data":162515,"marks":162516,"value":101858,"nodeType":864},{},[162517],{"type":1455},{"data":162519,"marks":162520,"value":902,"nodeType":864},{},[],{"data":162522,"content":162523,"nodeType":883},{"uri":26784},[162524],{"data":162525,"marks":162526,"value":17706,"nodeType":864},{},[162527],{"type":1455},{"data":162529,"marks":162530,"value":101872,"nodeType":864},{},[],{"data":162532,"content":162533,"nodeType":860},{},[162534,162537,162544],{"data":162535,"marks":162536,"value":101879,"nodeType":864},{},[],{"data":162538,"content":162539,"nodeType":883},{"uri":101882},[162540],{"data":162541,"marks":162542,"value":101888,"nodeType":864},{},[162543],{"type":1455},{"data":162545,"marks":162546,"value":101892,"nodeType":864},{},[],{"data":162548,"content":162549,"nodeType":860},{},[162550],{"data":162551,"marks":162552,"value":101899,"nodeType":864},{},[],{"data":162554,"content":162557,"nodeType":996},{"target":162555},{"sys":162556},{"id":92011,"type":1001,"linkType":1002},[],{"data":162559,"content":162560,"nodeType":1009},{},[162561],{"data":162562,"marks":162563,"value":101911,"nodeType":864},{},[],{"data":162565,"content":162566,"nodeType":860},{},[162567],{"data":162568,"marks":162569,"value":101918,"nodeType":864},{},[],{"data":162571,"content":162572,"nodeType":860},{},[162573],{"data":162574,"marks":162575,"value":101925,"nodeType":864},{},[],{"data":162577,"content":162578,"nodeType":1312},{},[162579],{"data":162580,"marks":162581,"value":101932,"nodeType":864},{},[],{"data":162583,"content":162584,"nodeType":860},{},[162585],{"data":162586,"marks":162587,"value":101939,"nodeType":864},{},[],{"data":162589,"content":162590,"nodeType":860},{},[162591],{"data":162592,"marks":162593,"value":101946,"nodeType":864},{},[],{"data":162595,"content":162596,"nodeType":860},{},[162597],{"data":162598,"marks":162599,"value":101953,"nodeType":864},{},[],{"data":162601,"content":162602,"nodeType":1312},{},[162603],{"data":162604,"marks":162605,"value":101960,"nodeType":864},{},[],{"data":162607,"content":162608,"nodeType":860},{},[162609],{"data":162610,"marks":162611,"value":101967,"nodeType":864},{},[],{"data":162613,"content":162614,"nodeType":860},{},[162615],{"data":162616,"marks":162617,"value":101974,"nodeType":864},{},[],{"data":162619,"content":162620,"nodeType":860},{},[162621],{"data":162622,"marks":162623,"value":101981,"nodeType":864},{},[],{"data":162625,"content":162626,"nodeType":1009},{},[162627],{"data":162628,"marks":162629,"value":101988,"nodeType":864},{},[],{"data":162631,"content":162632,"nodeType":860},{},[162633,162636,162640],{"data":162634,"marks":162635,"value":101995,"nodeType":864},{},[],{"data":162637,"marks":162638,"value":102000,"nodeType":864},{},[162639],{"type":2246},{"data":162641,"marks":162642,"value":102004,"nodeType":864},{},[],{"data":162644,"content":162645,"nodeType":1312},{},[162646],{"data":162647,"marks":162648,"value":102011,"nodeType":864},{},[],{"data":162650,"content":162651,"nodeType":860},{},[162652,162655,162662,162665,162672,162675,162682,162685,162692,162695,162702],{"data":162653,"marks":162654,"value":102018,"nodeType":864},{},[],{"data":162656,"content":162657,"nodeType":883},{"uri":102021},[162658],{"data":162659,"marks":162660,"value":102027,"nodeType":864},{},[162661],{"type":1455},{"data":162663,"marks":162664,"value":902,"nodeType":864},{},[],{"data":162666,"content":162667,"nodeType":883},{"uri":102033},[162668],{"data":162669,"marks":162670,"value":102039,"nodeType":864},{},[162671],{"type":1455},{"data":162673,"marks":162674,"value":102043,"nodeType":864},{},[],{"data":162676,"content":162677,"nodeType":883},{"uri":102046},[162678],{"data":162679,"marks":162680,"value":102052,"nodeType":864},{},[162681],{"type":1455},{"data":162683,"marks":162684,"value":35735,"nodeType":864},{},[],{"data":162686,"content":162687,"nodeType":883},{"uri":8628},[162688],{"data":162689,"marks":162690,"value":102063,"nodeType":864},{},[162691],{"type":1455},{"data":162693,"marks":162694,"value":102067,"nodeType":864},{},[],{"data":162696,"content":162697,"nodeType":883},{"uri":102070},[162698],{"data":162699,"marks":162700,"value":102076,"nodeType":864},{},[162701],{"type":1455},{"data":162703,"marks":162704,"value":102080,"nodeType":864},{},[],{"data":162706,"content":162707,"nodeType":860},{},[162708],{"data":162709,"marks":162710,"value":102087,"nodeType":864},{},[],{"data":162712,"content":162713,"nodeType":1312},{},[162714],{"data":162715,"marks":162716,"value":102094,"nodeType":864},{},[],{"data":162718,"content":162719,"nodeType":860},{},[162720,162723,162727,162730,162737],{"data":162721,"marks":162722,"value":102101,"nodeType":864},{},[],{"data":162724,"marks":162725,"value":102106,"nodeType":864},{},[162726],{"type":1455},{"data":162728,"marks":162729,"value":102110,"nodeType":864},{},[],{"data":162731,"content":162732,"nodeType":883},{"uri":102113},[162733],{"data":162734,"marks":162735,"value":102119,"nodeType":864},{},[162736],{"type":1455},{"data":162738,"marks":162739,"value":102123,"nodeType":864},{},[],{"data":162741,"content":162742,"nodeType":860},{},[162743,162746,162750],{"data":162744,"marks":162745,"value":102130,"nodeType":864},{},[],{"data":162747,"marks":162748,"value":102135,"nodeType":864},{},[162749],{"type":2246},{"data":162751,"marks":162752,"value":2924,"nodeType":864},{},[],{"data":162754,"content":162755,"nodeType":860},{},[162756],{"data":162757,"marks":162758,"value":102145,"nodeType":864},{},[],{"data":162760,"content":162761,"nodeType":1312},{},[162762],{"data":162763,"marks":162764,"value":102152,"nodeType":864},{},[],{"data":162766,"content":162767,"nodeType":860},{},[162768],{"data":162769,"marks":162770,"value":102159,"nodeType":864},{},[],{"data":162772,"content":162773,"nodeType":860},{},[162774,162777,162784,162787,162794],{"data":162775,"marks":162776,"value":102166,"nodeType":864},{},[],{"data":162778,"content":162779,"nodeType":883},{"uri":102169},[162780],{"data":162781,"marks":162782,"value":102175,"nodeType":864},{},[162783],{"type":1455},{"data":162785,"marks":162786,"value":102179,"nodeType":864},{},[],{"data":162788,"content":162789,"nodeType":883},{"uri":102182},[162790],{"data":162791,"marks":162792,"value":102188,"nodeType":864},{},[162793],{"type":1455},{"data":162795,"marks":162796,"value":102192,"nodeType":864},{},[],{"data":162798,"content":162799,"nodeType":860},{},[162800,162803,162811],{"data":162801,"marks":162802,"value":102199,"nodeType":864},{},[],{"data":162804,"content":162805,"nodeType":883},{"uri":102202},[162806],{"data":162807,"marks":162808,"value":102209,"nodeType":864},{},[162809,162810],{"type":1455},{"type":2246},{"data":162812,"marks":162813,"value":21,"nodeType":864},{},[],{"data":162815,"content":162816,"nodeType":860},{},[162817],{"data":162818,"marks":162819,"value":102219,"nodeType":864},{},[],{"data":162821,"content":162822,"nodeType":1009},{},[162823],{"data":162824,"marks":162825,"value":102226,"nodeType":864},{},[],{"data":162827,"content":162828,"nodeType":860},{},[162829],{"data":162830,"marks":162831,"value":102233,"nodeType":864},{},[],{"data":162833,"content":162834,"nodeType":860},{},[162835],{"data":162836,"marks":162837,"value":102240,"nodeType":864},{},[],{"data":162839,"content":162840,"nodeType":860},{},[162841,162844,162851],{"data":162842,"marks":162843,"value":102247,"nodeType":864},{},[],{"data":162845,"content":162846,"nodeType":883},{"uri":102250},[162847],{"data":162848,"marks":162849,"value":102256,"nodeType":864},{},[162850],{"type":1455},{"data":162852,"marks":162853,"value":2924,"nodeType":864},{},[],{"data":162855,"content":162856,"nodeType":860},{},[162857,162860,162867],{"data":162858,"marks":162859,"value":102266,"nodeType":864},{},[],{"data":162861,"content":162862,"nodeType":883},{"uri":6418},[162863],{"data":162864,"marks":162865,"value":6423,"nodeType":864},{},[162866],{"type":1455},{"data":162868,"marks":162869,"value":96674,"nodeType":864},{},[],{"data":162871,"content":162874,"nodeType":996},{"target":162872},{"sys":162873},{"id":102281,"type":1001,"linkType":1002},[],{"data":162876,"content":162877,"nodeType":860},{},[162878],{"data":162879,"marks":162880,"value":21,"nodeType":864},{},[],{"items":162882},[162883,162885],{"sys":162884,"name":6593},{"id":6592},{"sys":162886,"name":342},{"id":6596},{"items":162888},[162889],{"fullName":38408,"firstName":38409,"jobTitle":38410,"profilePicture":162890},{"url":38412},{"__typename":2059,"sys":162892,"content":162893,"title":136252,"synopsis":135389,"hashTags":59,"publishedDate":136253,"slug":136254,"tagsCollection":163652,"authorsCollection":163658},{"id":135378},{"json":162894},{"data":162895,"content":162896,"nodeType":856},{},[162897,162903,162909,162937,162943,162949,162965,162971,162977,162983,163007,163013,163019,163032,163038,163044,163074,163080,163086,163092,163098,163104,163109,163115,163121,163127,163134,163140,163156,163162,163168,163174,163180,163186,163192,163198,163204,163210,163215,163221,163237,163243,163259,163264,163269,163274,163280,163286,163292,163297,163302,163308,163314,163320,163326,163332,163337,163353,163369,163375,163380,163385,163391,163397,163403,163409,163430,163435,163440,163446,163452,163458,163468,163473,163479,163484,163489,163495,163501,163507,163512,163517,163523,163529,163634,163640,163646],{"data":162898,"content":162899,"nodeType":860},{},[162900],{"data":162901,"marks":162902,"value":135389,"nodeType":864},{},[],{"data":162904,"content":162905,"nodeType":860},{},[162906],{"data":162907,"marks":162908,"value":135396,"nodeType":864},{},[],{"data":162910,"content":162911,"nodeType":860},{},[162912,162915,162922,162925,162934],{"data":162913,"marks":162914,"value":135403,"nodeType":864},{},[],{"data":162916,"content":162917,"nodeType":883},{"uri":6418},[162918],{"data":162919,"marks":162920,"value":5765,"nodeType":864},{},[162921],{"type":1455},{"data":162923,"marks":162924,"value":135414,"nodeType":864},{},[],{"data":162926,"content":162929,"nodeType":27604},{"target":162927},{"sys":162928},{"id":110390,"type":1001,"linkType":1002},[162930],{"data":162931,"marks":162932,"value":5236,"nodeType":864},{},[162933],{"type":1455},{"data":162935,"marks":162936,"value":12252,"nodeType":864},{},[],{"data":162938,"content":162939,"nodeType":860},{},[162940],{"data":162941,"marks":162942,"value":135433,"nodeType":864},{},[],{"data":162944,"content":162945,"nodeType":1009},{},[162946],{"data":162947,"marks":162948,"value":135440,"nodeType":864},{},[],{"data":162950,"content":162951,"nodeType":860},{},[162952,162955,162962],{"data":162953,"marks":162954,"value":72717,"nodeType":864},{},[],{"data":162956,"content":162957,"nodeType":883},{"uri":61891},[162958],{"data":162959,"marks":162960,"value":135454,"nodeType":864},{},[162961],{"type":1455},{"data":162963,"marks":162964,"value":135458,"nodeType":864},{},[],{"data":162966,"content":162967,"nodeType":860},{},[162968],{"data":162969,"marks":162970,"value":135465,"nodeType":864},{},[],{"data":162972,"content":162973,"nodeType":1009},{},[162974],{"data":162975,"marks":162976,"value":135472,"nodeType":864},{},[],{"data":162978,"content":162979,"nodeType":860},{},[162980],{"data":162981,"marks":162982,"value":135479,"nodeType":864},{},[],{"data":162984,"content":162985,"nodeType":860},{},[162986,162989,162996,162999,163004],{"data":162987,"marks":162988,"value":135486,"nodeType":864},{},[],{"data":162990,"content":162991,"nodeType":883},{"uri":101818},[162992],{"data":162993,"marks":162994,"value":101824,"nodeType":864},{},[162995],{"type":1455},{"data":162997,"marks":162998,"value":135497,"nodeType":864},{},[],{"data":163000,"marks":163001,"value":135503,"nodeType":864},{},[163002,163003],{"type":2246},{"type":899},{"data":163005,"marks":163006,"value":135507,"nodeType":864},{},[],{"data":163008,"content":163009,"nodeType":1009},{},[163010],{"data":163011,"marks":163012,"value":127630,"nodeType":864},{},[],{"data":163014,"content":163015,"nodeType":860},{},[163016],{"data":163017,"marks":163018,"value":135520,"nodeType":864},{},[],{"data":163020,"content":163021,"nodeType":860},{},[163022,163025,163029],{"data":163023,"marks":163024,"value":135527,"nodeType":864},{},[],{"data":163026,"marks":163027,"value":135532,"nodeType":864},{},[163028],{"type":1455},{"data":163030,"marks":163031,"value":135536,"nodeType":864},{},[],{"data":163033,"content":163034,"nodeType":860},{},[163035],{"data":163036,"marks":163037,"value":135543,"nodeType":864},{},[],{"data":163039,"content":163040,"nodeType":860},{},[163041],{"data":163042,"marks":163043,"value":135550,"nodeType":864},{},[],{"data":163045,"content":163046,"nodeType":118765},{},[163047,163056,163065],{"data":163048,"content":163049,"nodeType":945},{},[163050],{"data":163051,"content":163052,"nodeType":860},{},[163053],{"data":163054,"marks":163055,"value":135563,"nodeType":864},{},[],{"data":163057,"content":163058,"nodeType":945},{},[163059],{"data":163060,"content":163061,"nodeType":860},{},[163062],{"data":163063,"marks":163064,"value":135573,"nodeType":864},{},[],{"data":163066,"content":163067,"nodeType":945},{},[163068],{"data":163069,"content":163070,"nodeType":860},{},[163071],{"data":163072,"marks":163073,"value":135583,"nodeType":864},{},[],{"data":163075,"content":163076,"nodeType":1312},{},[163077],{"data":163078,"marks":163079,"value":135590,"nodeType":864},{},[],{"data":163081,"content":163082,"nodeType":860},{},[163083],{"data":163084,"marks":163085,"value":135597,"nodeType":864},{},[],{"data":163087,"content":163088,"nodeType":860},{},[163089],{"data":163090,"marks":163091,"value":135604,"nodeType":864},{},[],{"data":163093,"content":163094,"nodeType":860},{},[163095],{"data":163096,"marks":163097,"value":135611,"nodeType":864},{},[],{"data":163099,"content":163100,"nodeType":860},{},[163101],{"data":163102,"marks":163103,"value":135618,"nodeType":864},{},[],{"data":163105,"content":163108,"nodeType":996},{"target":163106},{"sys":163107},{"id":135623,"type":1001,"linkType":1002},[],{"data":163110,"content":163111,"nodeType":1312},{},[163112],{"data":163113,"marks":163114,"value":135631,"nodeType":864},{},[],{"data":163116,"content":163117,"nodeType":860},{},[163118],{"data":163119,"marks":163120,"value":135638,"nodeType":864},{},[],{"data":163122,"content":163123,"nodeType":860},{},[163124],{"data":163125,"marks":163126,"value":135645,"nodeType":864},{},[],{"data":163128,"content":163129,"nodeType":860},{},[163130],{"data":163131,"marks":163132,"value":135653,"nodeType":864},{},[163133],{"type":899},{"data":163135,"content":163136,"nodeType":1312},{},[163137],{"data":163138,"marks":163139,"value":135660,"nodeType":864},{},[],{"data":163141,"content":163142,"nodeType":860},{},[163143,163146,163153],{"data":163144,"marks":163145,"value":135667,"nodeType":864},{},[],{"data":163147,"content":163148,"nodeType":883},{"uri":135670},[163149],{"data":163150,"marks":163151,"value":135676,"nodeType":864},{},[163152],{"type":1455},{"data":163154,"marks":163155,"value":135680,"nodeType":864},{},[],{"data":163157,"content":163158,"nodeType":860},{},[163159],{"data":163160,"marks":163161,"value":135687,"nodeType":864},{},[],{"data":163163,"content":163164,"nodeType":860},{},[163165],{"data":163166,"marks":163167,"value":135694,"nodeType":864},{},[],{"data":163169,"content":163170,"nodeType":1009},{},[163171],{"data":163172,"marks":163173,"value":135701,"nodeType":864},{},[],{"data":163175,"content":163176,"nodeType":860},{},[163177],{"data":163178,"marks":163179,"value":135708,"nodeType":864},{},[],{"data":163181,"content":163182,"nodeType":860},{},[163183],{"data":163184,"marks":163185,"value":135715,"nodeType":864},{},[],{"data":163187,"content":163188,"nodeType":860},{},[163189],{"data":163190,"marks":163191,"value":135722,"nodeType":864},{},[],{"data":163193,"content":163194,"nodeType":860},{},[163195],{"data":163196,"marks":163197,"value":135729,"nodeType":864},{},[],{"data":163199,"content":163200,"nodeType":860},{},[163201],{"data":163202,"marks":163203,"value":135736,"nodeType":864},{},[],{"data":163205,"content":163206,"nodeType":860},{},[163207],{"data":163208,"marks":163209,"value":135743,"nodeType":864},{},[],{"data":163211,"content":163214,"nodeType":996},{"target":163212},{"sys":163213},{"id":135748,"type":1001,"linkType":1002},[],{"data":163216,"content":163217,"nodeType":1009},{},[163218],{"data":163219,"marks":163220,"value":135756,"nodeType":864},{},[],{"data":163222,"content":163223,"nodeType":860},{},[163224,163227,163234],{"data":163225,"marks":163226,"value":135763,"nodeType":864},{},[],{"data":163228,"content":163229,"nodeType":883},{"uri":96530},[163230],{"data":163231,"marks":163232,"value":135771,"nodeType":864},{},[163233],{"type":1455},{"data":163235,"marks":163236,"value":135775,"nodeType":864},{},[],{"data":163238,"content":163239,"nodeType":1312},{},[163240],{"data":163241,"marks":163242,"value":135782,"nodeType":864},{},[],{"data":163244,"content":163245,"nodeType":860},{},[163246,163249,163256],{"data":163247,"marks":163248,"value":135789,"nodeType":864},{},[],{"data":163250,"content":163251,"nodeType":883},{"uri":135792},[163252],{"data":163253,"marks":163254,"value":135792,"nodeType":864},{},[163255],{"type":1455},{"data":163257,"marks":163258,"value":135801,"nodeType":864},{},[],{"data":163260,"content":163263,"nodeType":996},{"target":163261},{"sys":163262},{"id":135806,"type":1001,"linkType":1002},[],{"data":163265,"content":163268,"nodeType":996},{"target":163266},{"sys":163267},{"id":135812,"type":1001,"linkType":1002},[],{"data":163270,"content":163273,"nodeType":996},{"target":163271},{"sys":163272},{"id":135818,"type":1001,"linkType":1002},[],{"data":163275,"content":163276,"nodeType":1312},{},[163277],{"data":163278,"marks":163279,"value":135826,"nodeType":864},{},[],{"data":163281,"content":163282,"nodeType":860},{},[163283],{"data":163284,"marks":163285,"value":135833,"nodeType":864},{},[],{"data":163287,"content":163288,"nodeType":860},{},[163289],{"data":163290,"marks":163291,"value":135840,"nodeType":864},{},[],{"data":163293,"content":163296,"nodeType":996},{"target":163294},{"sys":163295},{"id":135845,"type":1001,"linkType":1002},[],{"data":163298,"content":163301,"nodeType":996},{"target":163299},{"sys":163300},{"id":135851,"type":1001,"linkType":1002},[],{"data":163303,"content":163304,"nodeType":1009},{},[163305],{"data":163306,"marks":163307,"value":135859,"nodeType":864},{},[],{"data":163309,"content":163310,"nodeType":860},{},[163311],{"data":163312,"marks":163313,"value":135866,"nodeType":864},{},[],{"data":163315,"content":163316,"nodeType":860},{},[163317],{"data":163318,"marks":163319,"value":135873,"nodeType":864},{},[],{"data":163321,"content":163322,"nodeType":1312},{},[163323],{"data":163324,"marks":163325,"value":135880,"nodeType":864},{},[],{"data":163327,"content":163328,"nodeType":860},{},[163329],{"data":163330,"marks":163331,"value":135887,"nodeType":864},{},[],{"data":163333,"content":163336,"nodeType":996},{"target":163334},{"sys":163335},{"id":135892,"type":1001,"linkType":1002},[],{"data":163338,"content":163339,"nodeType":860},{},[163340,163343,163350],{"data":163341,"marks":163342,"value":135900,"nodeType":864},{},[],{"data":163344,"content":163345,"nodeType":883},{"uri":127950},[163346],{"data":163347,"marks":163348,"value":127956,"nodeType":864},{},[163349],{"type":1455},{"data":163351,"marks":163352,"value":135911,"nodeType":864},{},[],{"data":163354,"content":163355,"nodeType":860},{},[163356,163359,163366],{"data":163357,"marks":163358,"value":135918,"nodeType":864},{},[],{"data":163360,"content":163361,"nodeType":883},{"uri":96606},[163362],{"data":163363,"marks":163364,"value":135926,"nodeType":864},{},[163365],{"type":1455},{"data":163367,"marks":163368,"value":135930,"nodeType":864},{},[],{"data":163370,"content":163371,"nodeType":860},{},[163372],{"data":163373,"marks":163374,"value":135937,"nodeType":864},{},[],{"data":163376,"content":163379,"nodeType":996},{"target":163377},{"sys":163378},{"id":135942,"type":1001,"linkType":1002},[],{"data":163381,"content":163384,"nodeType":996},{"target":163382},{"sys":163383},{"id":135948,"type":1001,"linkType":1002},[],{"data":163386,"content":163387,"nodeType":860},{},[163388],{"data":163389,"marks":163390,"value":135956,"nodeType":864},{},[],{"data":163392,"content":163393,"nodeType":1312},{},[163394],{"data":163395,"marks":163396,"value":135963,"nodeType":864},{},[],{"data":163398,"content":163399,"nodeType":860},{},[163400],{"data":163401,"marks":163402,"value":135970,"nodeType":864},{},[],{"data":163404,"content":163405,"nodeType":860},{},[163406],{"data":163407,"marks":163408,"value":135977,"nodeType":864},{},[],{"data":163410,"content":163411,"nodeType":941},{},[163412,163421],{"data":163413,"content":163414,"nodeType":945},{},[163415],{"data":163416,"content":163417,"nodeType":860},{},[163418],{"data":163419,"marks":163420,"value":135990,"nodeType":864},{},[],{"data":163422,"content":163423,"nodeType":945},{},[163424],{"data":163425,"content":163426,"nodeType":860},{},[163427],{"data":163428,"marks":163429,"value":136000,"nodeType":864},{},[],{"data":163431,"content":163434,"nodeType":996},{"target":163432},{"sys":163433},{"id":136005,"type":1001,"linkType":1002},[],{"data":163436,"content":163439,"nodeType":996},{"target":163437},{"sys":163438},{"id":136011,"type":1001,"linkType":1002},[],{"data":163441,"content":163442,"nodeType":860},{},[163443],{"data":163444,"marks":163445,"value":136019,"nodeType":864},{},[],{"data":163447,"content":163448,"nodeType":860},{},[163449],{"data":163450,"marks":163451,"value":136026,"nodeType":864},{},[],{"data":163453,"content":163454,"nodeType":860},{},[163455],{"data":163456,"marks":163457,"value":136033,"nodeType":864},{},[],{"data":163459,"content":163460,"nodeType":860},{},[163461,163464],{"data":163462,"marks":163463,"value":136040,"nodeType":864},{},[],{"data":163465,"marks":163466,"value":8618,"nodeType":864},{},[163467],{"type":2246},{"data":163469,"content":163472,"nodeType":996},{"target":163470},{"sys":163471},{"id":136049,"type":1001,"linkType":1002},[],{"data":163474,"content":163475,"nodeType":860},{},[163476],{"data":163477,"marks":163478,"value":136057,"nodeType":864},{},[],{"data":163480,"content":163483,"nodeType":996},{"target":163481},{"sys":163482},{"id":136062,"type":1001,"linkType":1002},[],{"data":163485,"content":163488,"nodeType":996},{"target":163486},{"sys":163487},{"id":136068,"type":1001,"linkType":1002},[],{"data":163490,"content":163491,"nodeType":860},{},[163492],{"data":163493,"marks":163494,"value":136076,"nodeType":864},{},[],{"data":163496,"content":163497,"nodeType":1009},{},[163498],{"data":163499,"marks":163500,"value":136083,"nodeType":864},{},[],{"data":163502,"content":163503,"nodeType":860},{},[163504],{"data":163505,"marks":163506,"value":136090,"nodeType":864},{},[],{"data":163508,"content":163511,"nodeType":996},{"target":163509},{"sys":163510},{"id":136095,"type":1001,"linkType":1002},[],{"data":163513,"content":163516,"nodeType":996},{"target":163514},{"sys":163515},{"id":136101,"type":1001,"linkType":1002},[],{"data":163518,"content":163519,"nodeType":1009},{},[163520],{"data":163521,"marks":163522,"value":110587,"nodeType":864},{},[],{"data":163524,"content":163525,"nodeType":860},{},[163526],{"data":163527,"marks":163528,"value":136115,"nodeType":864},{},[],{"data":163530,"content":163531,"nodeType":941},{},[163532,163541,163550,163559,163568,163616,163625],{"data":163533,"content":163534,"nodeType":945},{},[163535],{"data":163536,"content":163537,"nodeType":860},{},[163538],{"data":163539,"marks":163540,"value":136128,"nodeType":864},{},[],{"data":163542,"content":163543,"nodeType":945},{},[163544],{"data":163545,"content":163546,"nodeType":860},{},[163547],{"data":163548,"marks":163549,"value":136138,"nodeType":864},{},[],{"data":163551,"content":163552,"nodeType":945},{},[163553],{"data":163554,"content":163555,"nodeType":860},{},[163556],{"data":163557,"marks":163558,"value":136148,"nodeType":864},{},[],{"data":163560,"content":163561,"nodeType":945},{},[163562],{"data":163563,"content":163564,"nodeType":860},{},[163565],{"data":163566,"marks":163567,"value":136158,"nodeType":864},{},[],{"data":163569,"content":163570,"nodeType":945},{},[163571,163577],{"data":163572,"content":163573,"nodeType":860},{},[163574],{"data":163575,"marks":163576,"value":136168,"nodeType":864},{},[],{"data":163578,"content":163579,"nodeType":941},{},[163580,163589,163598,163607],{"data":163581,"content":163582,"nodeType":945},{},[163583],{"data":163584,"content":163585,"nodeType":860},{},[163586],{"data":163587,"marks":163588,"value":136181,"nodeType":864},{},[],{"data":163590,"content":163591,"nodeType":945},{},[163592],{"data":163593,"content":163594,"nodeType":860},{},[163595],{"data":163596,"marks":163597,"value":136191,"nodeType":864},{},[],{"data":163599,"content":163600,"nodeType":945},{},[163601],{"data":163602,"content":163603,"nodeType":860},{},[163604],{"data":163605,"marks":163606,"value":136201,"nodeType":864},{},[],{"data":163608,"content":163609,"nodeType":945},{},[163610],{"data":163611,"content":163612,"nodeType":860},{},[163613],{"data":163614,"marks":163615,"value":136211,"nodeType":864},{},[],{"data":163617,"content":163618,"nodeType":945},{},[163619],{"data":163620,"content":163621,"nodeType":860},{},[163622],{"data":163623,"marks":163624,"value":136221,"nodeType":864},{},[],{"data":163626,"content":163627,"nodeType":945},{},[163628],{"data":163629,"content":163630,"nodeType":860},{},[163631],{"data":163632,"marks":163633,"value":136231,"nodeType":864},{},[],{"data":163635,"content":163636,"nodeType":1009},{},[163637],{"data":163638,"marks":163639,"value":32492,"nodeType":864},{},[],{"data":163641,"content":163642,"nodeType":860},{},[163643],{"data":163644,"marks":163645,"value":136244,"nodeType":864},{},[],{"data":163647,"content":163648,"nodeType":860},{},[163649],{"data":163650,"marks":163651,"value":136251,"nodeType":864},{},[],{"items":163653},[163654,163656],{"sys":163655,"name":6593},{"id":6592},{"sys":163657,"name":342},{"id":6596},{"items":163659},[163660],{"fullName":4949,"firstName":4950,"jobTitle":4951,"profilePicture":163661},{"url":4955},{"__typename":2059,"sys":163663,"content":163664,"title":142583,"synopsis":157840,"hashTags":59,"publishedDate":157841,"slug":142584,"tagsCollection":164036,"authorsCollection":164040},{"id":142095},{"json":163665},{"data":163666,"content":163667,"nodeType":856},{},[163668,163674,163680,163686,163692,163698,163703,163709,163715,163721,163727,163732,163738,163743,163760,163766,163771,163788,163805,163820,163826,163832,163838,163844,163849,163854,163860,163866,163872,163878,163883,163889,163931,163936,163941,163957,163962,163968,163973,163979,163984,163990,163996,164001,164006,164012,164018,164024,164030],{"data":163669,"content":163670,"nodeType":860},{},[163671],{"data":163672,"marks":163673,"value":157419,"nodeType":864},{},[],{"data":163675,"content":163676,"nodeType":860},{},[163677],{"data":163678,"marks":163679,"value":157426,"nodeType":864},{},[],{"data":163681,"content":163682,"nodeType":1009},{},[163683],{"data":163684,"marks":163685,"value":157433,"nodeType":864},{},[],{"data":163687,"content":163688,"nodeType":860},{},[163689],{"data":163690,"marks":163691,"value":157440,"nodeType":864},{},[],{"data":163693,"content":163694,"nodeType":860},{},[163695],{"data":163696,"marks":163697,"value":157447,"nodeType":864},{},[],{"data":163699,"content":163702,"nodeType":996},{"target":163700},{"sys":163701},{"id":157452,"type":1001,"linkType":1002},[],{"data":163704,"content":163705,"nodeType":860},{},[163706],{"data":163707,"marks":163708,"value":157460,"nodeType":864},{},[],{"data":163710,"content":163711,"nodeType":860},{},[163712],{"data":163713,"marks":163714,"value":157467,"nodeType":864},{},[],{"data":163716,"content":163717,"nodeType":860},{},[163718],{"data":163719,"marks":163720,"value":157474,"nodeType":864},{},[],{"data":163722,"content":163723,"nodeType":1312},{},[163724],{"data":163725,"marks":163726,"value":157481,"nodeType":864},{},[],{"data":163728,"content":163731,"nodeType":996},{"target":163729},{"sys":163730},{"id":157486,"type":1001,"linkType":1002},[],{"data":163733,"content":163734,"nodeType":860},{},[163735],{"data":163736,"marks":163737,"value":157494,"nodeType":864},{},[],{"data":163739,"content":163742,"nodeType":996},{"target":163740},{"sys":163741},{"id":157499,"type":1001,"linkType":1002},[],{"data":163744,"content":163745,"nodeType":860},{},[163746,163749,163757],{"data":163747,"marks":163748,"value":157507,"nodeType":864},{},[],{"data":163750,"content":163753,"nodeType":27604},{"target":163751},{"sys":163752},{"id":157512,"type":1001,"linkType":1002},[163754],{"data":163755,"marks":163756,"value":73177,"nodeType":864},{},[],{"data":163758,"marks":163759,"value":2924,"nodeType":864},{},[],{"data":163761,"content":163762,"nodeType":1312},{},[163763],{"data":163764,"marks":163765,"value":157526,"nodeType":864},{},[],{"data":163767,"content":163770,"nodeType":996},{"target":163768},{"sys":163769},{"id":157531,"type":1001,"linkType":1002},[],{"data":163772,"content":163773,"nodeType":860},{},[163774,163777,163785],{"data":163775,"marks":163776,"value":157539,"nodeType":864},{},[],{"data":163778,"content":163781,"nodeType":27604},{"target":163779},{"sys":163780},{"id":137570,"type":1001,"linkType":1002},[163782],{"data":163783,"marks":163784,"value":73177,"nodeType":864},{},[],{"data":163786,"marks":163787,"value":12252,"nodeType":864},{},[],{"data":163789,"content":163790,"nodeType":860},{},[163791,163794,163802],{"data":163792,"marks":163793,"value":157557,"nodeType":864},{},[],{"data":163795,"content":163798,"nodeType":27604},{"target":163796},{"sys":163797},{"id":137501,"type":1001,"linkType":1002},[163799],{"data":163800,"marks":163801,"value":32228,"nodeType":864},{},[],{"data":163803,"marks":163804,"value":157569,"nodeType":864},{},[],{"data":163806,"content":163807,"nodeType":860},{},[163808,163811,163817],{"data":163809,"marks":163810,"value":157576,"nodeType":864},{},[],{"data":163812,"content":163813,"nodeType":883},{"uri":157579},[163814],{"data":163815,"marks":163816,"value":157584,"nodeType":864},{},[],{"data":163818,"marks":163819,"value":157588,"nodeType":864},{},[],{"data":163821,"content":163822,"nodeType":1312},{},[163823],{"data":163824,"marks":163825,"value":157595,"nodeType":864},{},[],{"data":163827,"content":163828,"nodeType":860},{},[163829],{"data":163830,"marks":163831,"value":157602,"nodeType":864},{},[],{"data":163833,"content":163834,"nodeType":860},{},[163835],{"data":163836,"marks":163837,"value":157609,"nodeType":864},{},[],{"data":163839,"content":163840,"nodeType":860},{},[163841],{"data":163842,"marks":163843,"value":157616,"nodeType":864},{},[],{"data":163845,"content":163848,"nodeType":996},{"target":163846},{"sys":163847},{"id":157621,"type":1001,"linkType":1002},[],{"data":163850,"content":163853,"nodeType":996},{"target":163851},{"sys":163852},{"id":157627,"type":1001,"linkType":1002},[],{"data":163855,"content":163856,"nodeType":1312},{},[163857],{"data":163858,"marks":163859,"value":157635,"nodeType":864},{},[],{"data":163861,"content":163862,"nodeType":860},{},[163863],{"data":163864,"marks":163865,"value":157642,"nodeType":864},{},[],{"data":163867,"content":163868,"nodeType":860},{},[163869],{"data":163870,"marks":163871,"value":157649,"nodeType":864},{},[],{"data":163873,"content":163874,"nodeType":860},{},[163875],{"data":163876,"marks":163877,"value":157656,"nodeType":864},{},[],{"data":163879,"content":163882,"nodeType":996},{"target":163880},{"sys":163881},{"id":157661,"type":1001,"linkType":1002},[],{"data":163884,"content":163885,"nodeType":860},{},[163886],{"data":163887,"marks":163888,"value":157669,"nodeType":864},{},[],{"data":163890,"content":163891,"nodeType":941},{},[163892,163905,163918],{"data":163893,"content":163894,"nodeType":945},{},[163895],{"data":163896,"content":163897,"nodeType":860},{},[163898,163902],{"data":163899,"marks":163900,"value":157683,"nodeType":864},{},[163901],{"type":899},{"data":163903,"marks":163904,"value":157687,"nodeType":864},{},[],{"data":163906,"content":163907,"nodeType":945},{},[163908],{"data":163909,"content":163910,"nodeType":860},{},[163911,163915],{"data":163912,"marks":163913,"value":157698,"nodeType":864},{},[163914],{"type":899},{"data":163916,"marks":163917,"value":157702,"nodeType":864},{},[],{"data":163919,"content":163920,"nodeType":945},{},[163921],{"data":163922,"content":163923,"nodeType":860},{},[163924,163928],{"data":163925,"marks":163926,"value":157713,"nodeType":864},{},[163927],{"type":899},{"data":163929,"marks":163930,"value":157717,"nodeType":864},{},[],{"data":163932,"content":163935,"nodeType":996},{"target":163933},{"sys":163934},{"id":157722,"type":1001,"linkType":1002},[],{"data":163937,"content":163940,"nodeType":996},{"target":163938},{"sys":163939},{"id":157728,"type":1001,"linkType":1002},[],{"data":163942,"content":163943,"nodeType":941},{},[163944],{"data":163945,"content":163946,"nodeType":945},{},[163947],{"data":163948,"content":163949,"nodeType":860},{},[163950,163954],{"data":163951,"marks":163952,"value":157743,"nodeType":864},{},[163953],{"type":899},{"data":163955,"marks":163956,"value":157747,"nodeType":864},{},[],{"data":163958,"content":163961,"nodeType":996},{"target":163959},{"sys":163960},{"id":157752,"type":1001,"linkType":1002},[],{"data":163963,"content":163964,"nodeType":860},{},[163965],{"data":163966,"marks":163967,"value":157760,"nodeType":864},{},[],{"data":163969,"content":163972,"nodeType":996},{"target":163970},{"sys":163971},{"id":157765,"type":1001,"linkType":1002},[],{"data":163974,"content":163975,"nodeType":1312},{},[163976],{"data":163977,"marks":163978,"value":157773,"nodeType":864},{},[],{"data":163980,"content":163983,"nodeType":996},{"target":163981},{"sys":163982},{"id":157778,"type":1001,"linkType":1002},[],{"data":163985,"content":163986,"nodeType":860},{},[163987],{"data":163988,"marks":163989,"value":157786,"nodeType":864},{},[],{"data":163991,"content":163992,"nodeType":860},{},[163993],{"data":163994,"marks":163995,"value":157793,"nodeType":864},{},[],{"data":163997,"content":164000,"nodeType":996},{"target":163998},{"sys":163999},{"id":157798,"type":1001,"linkType":1002},[],{"data":164002,"content":164005,"nodeType":996},{"target":164003},{"sys":164004},{"id":157804,"type":1001,"linkType":1002},[],{"data":164007,"content":164008,"nodeType":1312},{},[164009],{"data":164010,"marks":164011,"value":32492,"nodeType":864},{},[],{"data":164013,"content":164014,"nodeType":860},{},[164015],{"data":164016,"marks":164017,"value":157818,"nodeType":864},{},[],{"data":164019,"content":164020,"nodeType":860},{},[164021],{"data":164022,"marks":164023,"value":157825,"nodeType":864},{},[],{"data":164025,"content":164026,"nodeType":860},{},[164027],{"data":164028,"marks":164029,"value":157832,"nodeType":864},{},[],{"data":164031,"content":164032,"nodeType":860},{},[164033],{"data":164034,"marks":164035,"value":157839,"nodeType":864},{},[],{"items":164037},[164038],{"sys":164039,"name":6593},{"id":6592},{"items":164041},[164042],{"fullName":4949,"firstName":4950,"jobTitle":4951,"profilePicture":164043},{"url":4955},"blog/samljacking-a-poisoned-tenant",{"json":164046},{"data":164047,"content":164048,"nodeType":856},{},[164049],{"data":164050,"content":164051,"nodeType":860},{},[164052],{"data":164053,"marks":164054,"value":164055,"nodeType":864},{},[],"In this article, we’re going to demo combining two of our favorite new SaaS attack techniques to make a simple, but effective attack chain.",{"id":110390,"publishedAt":164057},"2026-08-12T11:56:03.038Z",{"items":164059},[164060,164062],{"sys":164061,"name":6593},{"id":6592},{"sys":164063,"name":342},{"id":6596},{"items":164065},[164066,164068,164070,164072,164074,164076,164078,164080],{"sys":164067,"name":279,"slug":280,"tier":31},{"id":276},{"sys":164069,"name":413,"slug":414,"tier":31},{"id":410},{"sys":164071,"name":545,"slug":546,"tier":31},{"id":542},{"sys":164073,"name":519,"slug":520,"tier":31},{"id":516},{"sys":164075,"name":324,"slug":325,"tier":45},{"id":321},{"sys":164077,"name":404,"slug":405,"tier":45},{"id":401},{"sys":164079,"name":607,"slug":608,"tier":45},{"id":604},{"sys":164081,"name":431,"slug":432,"tier":45},{"id":428},"5kzAmVR_ms60Me_ds0cIdRFmYd20kB0R62YCfmkH1m0",{"id":164084,"title":152102,"authorsCollection":164085,"content":164089,"extension":228,"faqItemsCollection":164912,"faqTitle":59,"featured":6,"hashTags":59,"meta":164914,"metaTitle":164915,"ogImage":59,"postType":38987,"publishedDate":152104,"relatedBlogPostsCollection":164916,"slug":152105,"stem":166218,"subtitle":59,"summary":166219,"synopsis":152103,"sys":166230,"tagsCollection":166232,"topicsCollection":166238,"__hash__":166254},"blog/blog/focus-on-account-security-to-reduce-saas-risks.json",{"items":164086},[164087],{"fullName":140213,"firstName":140214,"jobTitle":140215,"socialLinks":59,"profilePicture":164088},{"url":140217},{"json":164090,"links":164835},{"data":164091,"content":164092,"nodeType":856},{},[164093,164099,164105,164110,164138,164144,164150,164166,164172,164178,164184,164200,164205,164211,164222,164228,164234,164240,164245,164266,164272,164278,164284,164290,164296,164302,164318,164325,164338,164344,164349,164367,164392,164405,164427,164433,164439,164445,164451,164457,164463,164469,164516,164522,164550,164586,164655,164661,164667,164673,164679,164685,164691,164697,164703,164708,164714,164720,164738,164744,164750,164756,164761,164767,164773,164779,164785,164806,164812,164817],{"data":164094,"content":164095,"nodeType":860},{},[164096],{"data":164097,"marks":164098,"value":151265,"nodeType":864},{},[],{"data":164100,"content":164101,"nodeType":860},{},[164102],{"data":164103,"marks":164104,"value":151272,"nodeType":864},{},[],{"data":164106,"content":164109,"nodeType":996},{"target":164107},{"sys":164108},{"id":148228,"type":1001,"linkType":1002},[],{"data":164111,"content":164112,"nodeType":860},{},[164113,164116,164124,164127,164135],{"data":164114,"marks":164115,"value":151284,"nodeType":864},{},[],{"data":164117,"content":164120,"nodeType":27604},{"target":164118},{"sys":164119},{"id":151289,"type":1001,"linkType":1002},[164121],{"data":164122,"marks":164123,"value":151294,"nodeType":864},{},[],{"data":164125,"marks":164126,"value":151298,"nodeType":864},{},[],{"data":164128,"content":164131,"nodeType":27604},{"target":164129},{"sys":164130},{"id":149551,"type":1001,"linkType":1002},[164132],{"data":164133,"marks":164134,"value":151307,"nodeType":864},{},[],{"data":164136,"marks":164137,"value":151311,"nodeType":864},{},[],{"data":164139,"content":164140,"nodeType":1009},{},[164141],{"data":164142,"marks":164143,"value":151318,"nodeType":864},{},[],{"data":164145,"content":164146,"nodeType":860},{},[164147],{"data":164148,"marks":164149,"value":151325,"nodeType":864},{},[],{"data":164151,"content":164152,"nodeType":860},{},[164153,164156,164163],{"data":164154,"marks":164155,"value":151332,"nodeType":864},{},[],{"data":164157,"content":164158,"nodeType":883},{"uri":148484},[164159],{"data":164160,"marks":164161,"value":151340,"nodeType":864},{},[164162],{"type":1455},{"data":164164,"marks":164165,"value":151344,"nodeType":864},{},[],{"data":164167,"content":164168,"nodeType":1312},{},[164169],{"data":164170,"marks":164171,"value":151351,"nodeType":864},{},[],{"data":164173,"content":164174,"nodeType":860},{},[164175],{"data":164176,"marks":164177,"value":151358,"nodeType":864},{},[],{"data":164179,"content":164180,"nodeType":860},{},[164181],{"data":164182,"marks":164183,"value":151365,"nodeType":864},{},[],{"data":164185,"content":164186,"nodeType":860},{},[164187,164190,164197],{"data":164188,"marks":164189,"value":151372,"nodeType":864},{},[],{"data":164191,"content":164192,"nodeType":883},{"uri":148484},[164193],{"data":164194,"marks":164195,"value":151380,"nodeType":864},{},[164196],{"type":1455},{"data":164198,"marks":164199,"value":151384,"nodeType":864},{},[],{"data":164201,"content":164204,"nodeType":996},{"target":164202},{"sys":164203},{"id":148506,"type":1001,"linkType":1002},[],{"data":164206,"content":164207,"nodeType":860},{},[164208],{"data":164209,"marks":164210,"value":151396,"nodeType":864},{},[],{"data":164212,"content":164213,"nodeType":860},{},[164214,164219],{"data":164215,"marks":164216,"value":151405,"nodeType":864},{},[164217,164218],{"type":2246},{"type":899},{"data":164220,"marks":164221,"value":151409,"nodeType":864},{},[],{"data":164223,"content":164224,"nodeType":860},{},[164225],{"data":164226,"marks":164227,"value":151416,"nodeType":864},{},[],{"data":164229,"content":164230,"nodeType":1009},{},[164231],{"data":164232,"marks":164233,"value":151423,"nodeType":864},{},[],{"data":164235,"content":164236,"nodeType":860},{},[164237],{"data":164238,"marks":164239,"value":151430,"nodeType":864},{},[],{"data":164241,"content":164244,"nodeType":996},{"target":164242},{"sys":164243},{"id":151435,"type":1001,"linkType":1002},[],{"data":164246,"content":164247,"nodeType":118765},{},[164248,164257],{"data":164249,"content":164250,"nodeType":945},{},[164251],{"data":164252,"content":164253,"nodeType":860},{},[164254],{"data":164255,"marks":164256,"value":151449,"nodeType":864},{},[],{"data":164258,"content":164259,"nodeType":945},{},[164260],{"data":164261,"content":164262,"nodeType":860},{},[164263],{"data":164264,"marks":164265,"value":151459,"nodeType":864},{},[],{"data":164267,"content":164268,"nodeType":1312},{},[164269],{"data":164270,"marks":164271,"value":151466,"nodeType":864},{},[],{"data":164273,"content":164274,"nodeType":860},{},[164275],{"data":164276,"marks":164277,"value":151473,"nodeType":864},{},[],{"data":164279,"content":164280,"nodeType":860},{},[164281],{"data":164282,"marks":164283,"value":151480,"nodeType":864},{},[],{"data":164285,"content":164286,"nodeType":860},{},[164287],{"data":164288,"marks":164289,"value":151487,"nodeType":864},{},[],{"data":164291,"content":164292,"nodeType":1312},{},[164293],{"data":164294,"marks":164295,"value":151494,"nodeType":864},{},[],{"data":164297,"content":164298,"nodeType":860},{},[164299],{"data":164300,"marks":164301,"value":151501,"nodeType":864},{},[],{"data":164303,"content":164304,"nodeType":118765},{},[164305],{"data":164306,"content":164307,"nodeType":945},{},[164308],{"data":164309,"content":164310,"nodeType":860},{},[164311,164315],{"data":164312,"marks":164313,"value":151515,"nodeType":864},{},[164314],{"type":899},{"data":164316,"marks":164317,"value":151519,"nodeType":864},{},[],{"data":164319,"content":164320,"nodeType":860},{},[164321],{"data":164322,"marks":164323,"value":151527,"nodeType":864},{},[164324],{"type":899},{"data":164326,"content":164327,"nodeType":860},{},[164328,164331,164335],{"data":164329,"marks":164330,"value":151534,"nodeType":864},{},[],{"data":164332,"marks":164333,"value":151539,"nodeType":864},{},[164334],{"type":2246},{"data":164336,"marks":164337,"value":151543,"nodeType":864},{},[],{"data":164339,"content":164340,"nodeType":860},{},[164341],{"data":164342,"marks":164343,"value":151550,"nodeType":864},{},[],{"data":164345,"content":164348,"nodeType":996},{"target":164346},{"sys":164347},{"id":151555,"type":1001,"linkType":1002},[],{"data":164350,"content":164351,"nodeType":860},{},[164352,164355,164364],{"data":164353,"marks":164354,"value":151563,"nodeType":864},{},[],{"data":164356,"content":164359,"nodeType":27604},{"target":164357},{"sys":164358},{"id":150275,"type":1001,"linkType":1002},[164360],{"data":164361,"marks":164362,"value":29669,"nodeType":864},{},[164363],{"type":1455},{"data":164365,"marks":164366,"value":150284,"nodeType":864},{},[],{"data":164368,"content":164369,"nodeType":860},{},[164370,164373,164377,164380,164389],{"data":164371,"marks":164372,"value":61820,"nodeType":864},{},[],{"data":164374,"marks":164375,"value":151586,"nodeType":864},{},[164376],{"type":899},{"data":164378,"marks":164379,"value":151590,"nodeType":864},{},[],{"data":164381,"content":164384,"nodeType":27604},{"target":164382},{"sys":164383},{"id":141516,"type":1001,"linkType":1002},[164385],{"data":164386,"marks":164387,"value":29669,"nodeType":864},{},[164388],{"type":1455},{"data":164390,"marks":164391,"value":2924,"nodeType":864},{},[],{"data":164393,"content":164394,"nodeType":860},{},[164395,164398,164402],{"data":164396,"marks":164397,"value":151609,"nodeType":864},{},[],{"data":164399,"marks":164400,"value":151614,"nodeType":864},{},[164401],{"type":899},{"data":164403,"marks":164404,"value":151618,"nodeType":864},{},[],{"data":164406,"content":164407,"nodeType":860},{},[164408,164411,164420,164424],{"data":164409,"marks":164410,"value":151625,"nodeType":864},{},[],{"data":164412,"content":164415,"nodeType":27604},{"target":164413},{"sys":164414},{"id":151630,"type":1001,"linkType":1002},[164416],{"data":164417,"marks":164418,"value":151636,"nodeType":864},{},[164419],{"type":1455},{"data":164421,"marks":164422,"value":1171,"nodeType":864},{},[164423],{"type":899},{"data":164425,"marks":164426,"value":151644,"nodeType":864},{},[],{"data":164428,"content":164429,"nodeType":1009},{},[164430],{"data":164431,"marks":164432,"value":151651,"nodeType":864},{},[],{"data":164434,"content":164435,"nodeType":860},{},[164436],{"data":164437,"marks":164438,"value":151658,"nodeType":864},{},[],{"data":164440,"content":164441,"nodeType":860},{},[164442],{"data":164443,"marks":164444,"value":151665,"nodeType":864},{},[],{"data":164446,"content":164447,"nodeType":860},{},[164448],{"data":164449,"marks":164450,"value":151672,"nodeType":864},{},[],{"data":164452,"content":164453,"nodeType":860},{},[164454],{"data":164455,"marks":164456,"value":151679,"nodeType":864},{},[],{"data":164458,"content":164459,"nodeType":1009},{},[164460],{"data":164461,"marks":164462,"value":151686,"nodeType":864},{},[],{"data":164464,"content":164465,"nodeType":860},{},[164466],{"data":164467,"marks":164468,"value":151693,"nodeType":864},{},[],{"data":164470,"content":164471,"nodeType":941},{},[164472,164494],{"data":164473,"content":164474,"nodeType":945},{},[164475,164482],{"data":164476,"content":164477,"nodeType":860},{},[164478],{"data":164479,"marks":164480,"value":151707,"nodeType":864},{},[164481],{"type":899},{"data":164483,"content":164484,"nodeType":941},{},[164485],{"data":164486,"content":164487,"nodeType":945},{},[164488],{"data":164489,"content":164490,"nodeType":860},{},[164491],{"data":164492,"marks":164493,"value":151720,"nodeType":864},{},[],{"data":164495,"content":164496,"nodeType":945},{},[164497,164504],{"data":164498,"content":164499,"nodeType":860},{},[164500],{"data":164501,"marks":164502,"value":151731,"nodeType":864},{},[164503],{"type":899},{"data":164505,"content":164506,"nodeType":941},{},[164507],{"data":164508,"content":164509,"nodeType":945},{},[164510],{"data":164511,"content":164512,"nodeType":860},{},[164513],{"data":164514,"marks":164515,"value":151744,"nodeType":864},{},[],{"data":164517,"content":164518,"nodeType":860},{},[164519],{"data":164520,"marks":164521,"value":151751,"nodeType":864},{},[],{"data":164523,"content":164524,"nodeType":941},{},[164525],{"data":164526,"content":164527,"nodeType":945},{},[164528,164538],{"data":164529,"content":164530,"nodeType":860},{},[164531,164535],{"data":164532,"marks":164533,"value":151765,"nodeType":864},{},[164534],{"type":899},{"data":164536,"marks":164537,"value":12252,"nodeType":864},{},[],{"data":164539,"content":164540,"nodeType":941},{},[164541],{"data":164542,"content":164543,"nodeType":945},{},[164544],{"data":164545,"content":164546,"nodeType":860},{},[164547],{"data":164548,"marks":164549,"value":151781,"nodeType":864},{},[],{"data":164551,"content":164552,"nodeType":860},{},[164553,164556,164563,164566,164573,164576,164583],{"data":164554,"marks":164555,"value":151788,"nodeType":864},{},[],{"data":164557,"content":164558,"nodeType":883},{"uri":148648},[164559],{"data":164560,"marks":164561,"value":148654,"nodeType":864},{},[164562],{"type":1455},{"data":164564,"marks":164565,"value":3731,"nodeType":864},{},[],{"data":164567,"content":164568,"nodeType":883},{"uri":148660},[164569],{"data":164570,"marks":164571,"value":148666,"nodeType":864},{},[164572],{"type":1455},{"data":164574,"marks":164575,"value":3731,"nodeType":864},{},[],{"data":164577,"content":164578,"nodeType":883},{"uri":148672},[164579],{"data":164580,"marks":164581,"value":148678,"nodeType":864},{},[164582],{"type":1455},{"data":164584,"marks":164585,"value":148682,"nodeType":864},{},[],{"data":164587,"content":164588,"nodeType":941},{},[164589,164611,164633],{"data":164590,"content":164591,"nodeType":945},{},[164592,164599],{"data":164593,"content":164594,"nodeType":860},{},[164595],{"data":164596,"marks":164597,"value":151832,"nodeType":864},{},[164598],{"type":899},{"data":164600,"content":164601,"nodeType":941},{},[164602],{"data":164603,"content":164604,"nodeType":945},{},[164605],{"data":164606,"content":164607,"nodeType":860},{},[164608],{"data":164609,"marks":164610,"value":151845,"nodeType":864},{},[],{"data":164612,"content":164613,"nodeType":945},{},[164614,164621],{"data":164615,"content":164616,"nodeType":860},{},[164617],{"data":164618,"marks":164619,"value":151856,"nodeType":864},{},[164620],{"type":899},{"data":164622,"content":164623,"nodeType":941},{},[164624],{"data":164625,"content":164626,"nodeType":945},{},[164627],{"data":164628,"content":164629,"nodeType":860},{},[164630],{"data":164631,"marks":164632,"value":151869,"nodeType":864},{},[],{"data":164634,"content":164635,"nodeType":945},{},[164636,164643],{"data":164637,"content":164638,"nodeType":860},{},[164639],{"data":164640,"marks":164641,"value":151880,"nodeType":864},{},[164642],{"type":899},{"data":164644,"content":164645,"nodeType":941},{},[164646],{"data":164647,"content":164648,"nodeType":945},{},[164649],{"data":164650,"content":164651,"nodeType":860},{},[164652],{"data":164653,"marks":164654,"value":151893,"nodeType":864},{},[],{"data":164656,"content":164657,"nodeType":860},{},[164658],{"data":164659,"marks":164660,"value":151900,"nodeType":864},{},[],{"data":164662,"content":164663,"nodeType":1009},{},[164664],{"data":164665,"marks":164666,"value":151907,"nodeType":864},{},[],{"data":164668,"content":164669,"nodeType":860},{},[164670],{"data":164671,"marks":164672,"value":151914,"nodeType":864},{},[],{"data":164674,"content":164675,"nodeType":1312},{},[164676],{"data":164677,"marks":164678,"value":151921,"nodeType":864},{},[],{"data":164680,"content":164681,"nodeType":860},{},[164682],{"data":164683,"marks":164684,"value":151928,"nodeType":864},{},[],{"data":164686,"content":164687,"nodeType":860},{},[164688],{"data":164689,"marks":164690,"value":151935,"nodeType":864},{},[],{"data":164692,"content":164693,"nodeType":860},{},[164694],{"data":164695,"marks":164696,"value":151942,"nodeType":864},{},[],{"data":164698,"content":164699,"nodeType":860},{},[164700],{"data":164701,"marks":164702,"value":151949,"nodeType":864},{},[],{"data":164704,"content":164707,"nodeType":996},{"target":164705},{"sys":164706},{"id":151954,"type":1001,"linkType":1002},[],{"data":164709,"content":164710,"nodeType":860},{},[164711],{"data":164712,"marks":164713,"value":151962,"nodeType":864},{},[],{"data":164715,"content":164716,"nodeType":860},{},[164717],{"data":164718,"marks":164719,"value":151969,"nodeType":864},{},[],{"data":164721,"content":164722,"nodeType":860},{},[164723,164726,164735],{"data":164724,"marks":164725,"value":151976,"nodeType":864},{},[],{"data":164727,"content":164730,"nodeType":27604},{"target":164728},{"sys":164729},{"id":149298,"type":1001,"linkType":1002},[164731],{"data":164732,"marks":164733,"value":29669,"nodeType":864},{},[164734],{"type":1455},{"data":164736,"marks":164737,"value":151989,"nodeType":864},{},[],{"data":164739,"content":164740,"nodeType":1009},{},[164741],{"data":164742,"marks":164743,"value":151996,"nodeType":864},{},[],{"data":164745,"content":164746,"nodeType":860},{},[164747],{"data":164748,"marks":164749,"value":152003,"nodeType":864},{},[],{"data":164751,"content":164752,"nodeType":860},{},[164753],{"data":164754,"marks":164755,"value":152010,"nodeType":864},{},[],{"data":164757,"content":164760,"nodeType":996},{"target":164758},{"sys":164759},{"id":152015,"type":1001,"linkType":1002},[],{"data":164762,"content":164763,"nodeType":860},{},[164764],{"data":164765,"marks":164766,"value":152023,"nodeType":864},{},[],{"data":164768,"content":164769,"nodeType":1009},{},[164770],{"data":164771,"marks":164772,"value":152030,"nodeType":864},{},[],{"data":164774,"content":164775,"nodeType":860},{},[164776],{"data":164777,"marks":164778,"value":152037,"nodeType":864},{},[],{"data":164780,"content":164781,"nodeType":860},{},[164782],{"data":164783,"marks":164784,"value":152044,"nodeType":864},{},[],{"data":164786,"content":164787,"nodeType":941},{},[164788,164797],{"data":164789,"content":164790,"nodeType":945},{},[164791],{"data":164792,"content":164793,"nodeType":860},{},[164794],{"data":164795,"marks":164796,"value":152057,"nodeType":864},{},[],{"data":164798,"content":164799,"nodeType":945},{},[164800],{"data":164801,"content":164802,"nodeType":860},{},[164803],{"data":164804,"marks":164805,"value":152067,"nodeType":864},{},[],{"data":164807,"content":164808,"nodeType":860},{},[164809],{"data":164810,"marks":164811,"value":152074,"nodeType":864},{},[],{"data":164813,"content":164816,"nodeType":996},{"target":164814},{"sys":164815},{"id":152079,"type":1001,"linkType":1002},[],{"data":164818,"content":164819,"nodeType":860},{},[164820,164823,164832],{"data":164821,"marks":164822,"value":152087,"nodeType":864},{},[],{"data":164824,"content":164827,"nodeType":27604},{"target":164825},{"sys":164826},{"id":152092,"type":1001,"linkType":1002},[164828],{"data":164829,"marks":164830,"value":152098,"nodeType":864},{},[164831],{"type":1455},{"data":164833,"marks":164834,"value":2924,"nodeType":864},{},[],{"entries":164836},{"inline":164837,"hyperlink":164838,"block":164862},[],[164839,164843,164847,164849,164851,164855,164857],{"sys":164840,"__typename":2059,"title":164841,"slug":164842},{"id":151289},"5 steps to manage the risk of unsanctioned SaaS ","manage-saas-risks-without-hindering-employees",{"sys":164844,"__typename":2059,"title":164845,"slug":164846},{"id":149551},"How to roll-your-own SaaS discovery","rolling-your-own-saas-discovery",{"sys":164848,"__typename":2059,"title":150743,"slug":150744},{"id":150275},{"sys":164850,"__typename":2059,"title":150747,"slug":150748},{"id":141516},{"sys":164852,"__typename":2059,"title":164853,"slug":164854},{"id":151630},"Multi-Factor Authentication is the top security control for most small and medium-sized businesses","multi-factor-authentication-is-the-top-security-control-for-most-small-and",{"sys":164856,"__typename":2059,"title":150039,"slug":150042},{"id":149298},{"sys":164858,"__typename":79413,"title":164859,"slug":164860,"articleId":164861},{"id":152092},"Guide to reviewing and classifying apps","guide-to-reviewing-and-classifying-saas-apps",10094,[164863,164870,164877,164884,164892,164900,164906],{"sys":164864,"__typename":1724,"title":164865,"caption":164865,"layoutMode":140740,"file":164866},{"id":148228},"SaaS sprawl",{"url":164867,"width":164868,"height":164869},"https://images.ctfassets.net/y1cdw1ablpvd/1KIj9P7eQ7UfOWgnUmTWUU/5f9d7369dd1ce148227db632aa1fabc7/image1.png",1731,658,{"sys":164871,"__typename":1724,"title":164872,"caption":164873,"layoutMode":140740,"file":164874},{"id":148506},"Shared responsibility model NCSC","Source: https://www.ncsc.gov.uk/collection/cloud/understanding-cloud-services/cloud-security-shared-responsibility-model",{"url":164875,"width":164876,"height":162151},"https://images.ctfassets.net/y1cdw1ablpvd/2QR4exoDHiiI32zLx7MBOL/d169ba9438f1782aba60c5c35413706d/image7.png",1662,{"sys":164878,"__typename":1724,"title":164879,"caption":59,"layoutMode":140740,"file":164880},{"id":151435},"Customer responsibility for SaaS apps PLG",{"url":164881,"width":164882,"height":164883},"https://images.ctfassets.net/y1cdw1ablpvd/6jaP9nk2U89Y1TidafgXLB/9c3af2cd634ea0621b3e2ac05739582d/image7.png",1980,1214,{"sys":164885,"__typename":1724,"title":164886,"caption":164887,"layoutMode":59,"file":164888},{"id":151555},"SSO wall of shame","SSO.tax Wall of Shame",{"url":164889,"width":164890,"height":164891},"https://images.ctfassets.net/y1cdw1ablpvd/3V6zIEftBcNhvLnRHCZEb0/320db8a02da82df16a77371f8636174f/Screenshot_2023-07-12_at_12.59.37_PM.png",1916,1544,{"sys":164893,"__typename":1724,"title":164894,"caption":164895,"layoutMode":140740,"file":164896},{"id":151954},"Risk assessment timeline PLG","When security can make the most impact on assessing employee-adopted SaaS apps",{"url":164897,"width":164898,"height":164899},"https://images.ctfassets.net/y1cdw1ablpvd/5Vxv5h3OpO3DXpsil5GBUa/d1ca5df575cb5e9cfc612b8b757411ff/image15.png",2000,1118,{"sys":164901,"__typename":1724,"title":164902,"caption":59,"layoutMode":59,"file":164903},{"id":152015},"MFA Enabled",{"url":164904,"width":147807,"height":164905},"https://images.ctfassets.net/y1cdw1ablpvd/19qsMqEzIfT7c10xHlpXuS/c8372c9218ad6c55fac3901c0712786f/Image_block_5__3_.png",1163,{"sys":164907,"__typename":1724,"title":164908,"caption":59,"layoutMode":59,"file":164909},{"id":152079},"App classification gif - release notes - July 2023",{"url":164910,"width":139982,"height":164911},"https://images.ctfassets.net/y1cdw1ablpvd/2luen73d2HKKnInShkTQHk/0410498d5b5a7bd7541426a2f46f817f/app_classification_demo_new.gif",509,{"items":164913},[],{},"Reduce SaaS risks by focusing on account security",{"items":164917},[164918,165547],{"__typename":2059,"sys":164919,"content":164920,"title":164841,"synopsis":165535,"hashTags":59,"publishedDate":165536,"slug":164842,"tagsCollection":165537,"authorsCollection":165543},{"id":151289},{"json":164921},{"data":164922,"content":164923,"nodeType":856},{},[164924,164936,164943,164950,164957,164964,164992,164999,165018,165025,165045,165052,165058,165196,165203,165210,165217,165269,165276,165295,165302,165309,165316,165323,165330,165337,165344,165351,165358,165365,165372,165379,165403,165410,165417,165424,165431,165438,165445,165452,165459,165466,165473,165480,165487,165494,165501,165508,165511,165518,165521,165528],{"data":164925,"content":164926,"nodeType":860},{},[164927,164931],{"data":164928,"marks":164929,"value":164930,"nodeType":864},{},[],"SaaS is exploding and making employees more productive than ever. If your security strategy relies on simply blocking all SaaS that hasn’t been sanctioned by your security team, you’re also blocking your coworkers from all the productivity gains that SaaS brings to the table. Not only that, but blocking through official channels doesn’t effectively stop employees from accessing the SaaS apps they want to use – you just can’t see it because they may have turned off the endpoint agent you’re using to manage SaaS policies, bypass the proxy, or change proxy settings. And now you’ve got a “Shadow IT problem!” *",{"data":164932,"marks":164933,"value":164935,"nodeType":864},{},[164934],{"type":2246},"Dread ensues*",{"data":164937,"content":164938,"nodeType":860},{},[164939],{"data":164940,"marks":164941,"value":164942,"nodeType":864},{},[],"Some folks even choose to block or turn off app stores to limit SaaS adoption by employees. The issue with this is that you’re blocking them from using productivity tools they want to do their work. You think you’re preventing risk (though we know employees find ways to adopt and use SaaS regardless of your controls), but you’re also restricting employees from being productive, flexible, and, frankly, you’re ticking them off. These kinds of actions widen the divide between security and the rest of the company, which is never a good thing. ",{"data":164944,"content":164945,"nodeType":860},{},[164946],{"data":164947,"marks":164948,"value":164949,"nodeType":864},{},[],"Stay cool, stay calm, we’ve got this. To manage SaaS, you need some sense of control over what employees are using and how they’re using it, right? By working with employees and doing the legwork to understand their needs, you can start to repair relationships there, which makes your job much easier in the long run.",{"data":164951,"content":164952,"nodeType":860},{},[164953],{"data":164954,"marks":164955,"value":164956,"nodeType":864},{},[],"However, before we go down the path of understanding how employees are using SaaS, you first need to know which apps they’re using.",{"data":164958,"content":164959,"nodeType":1009},{},[164960],{"data":164961,"marks":164962,"value":164963,"nodeType":864},{},[],"How do I find the SaaS apps employees are actually using?",{"data":164965,"content":164966,"nodeType":860},{},[164967,164971,164976,164980,164988],{"data":164968,"marks":164969,"value":164970,"nodeType":864},{},[],"You can discover the apps employees are using in a couple ways: 1) manually, using the data you already have access to or, 2) using a pre-existing tool (oh hey, we have one you can ",{"data":164972,"marks":164973,"value":164975,"nodeType":864},{},[164974],{"type":1455},"use for free",{"data":164977,"marks":164978,"value":164979,"nodeType":864},{},[],"). We wrote a ",{"data":164981,"content":164983,"nodeType":883},{"uri":164982},"https://pushsecurity.com/blog/rolling-your-own-saas-discovery/",[164984],{"data":164985,"marks":164986,"value":38987,"nodeType":864},{},[164987],{"type":1455},{"data":164989,"marks":164990,"value":164991,"nodeType":864},{},[]," about how you might do the manual approach for SaaS discovery, though fair warning… this manual effort isn’t for the faint of heart.",{"data":164993,"content":164994,"nodeType":860},{},[164995],{"data":164996,"marks":164997,"value":164998,"nodeType":864},{},[],"For the purposes of this guide, we’re going to assume you’ve taken care of the SaaS discovery process already and you’re now facing a list of SaaS - potentially a very large one - you didn’t know employees were using. ",{"data":165000,"content":165001,"nodeType":860},{},[165002,165006,165014],{"data":165003,"marks":165004,"value":165005,"nodeType":864},{},[],"If you haven’t discovered the unknown SaaS in your organization, we suggest you ",{"data":165007,"content":165009,"nodeType":883},{"uri":165008},"https://login.pushsecurity.com/u/signup",[165010],{"data":165011,"marks":165012,"value":165013,"nodeType":864},{},[],"sign up",{"data":165015,"marks":165016,"value":165017,"nodeType":864},{},[],", let us do the heavy lifting for you to discover SaaS, then use that list as a starting point for this next phase of the process…",{"data":165019,"content":165020,"nodeType":1009},{},[165021],{"data":165022,"marks":165023,"value":165024,"nodeType":864},{},[],"I’ve found some SaaS apps I didn’t know about. Now what?",{"data":165026,"content":165027,"nodeType":860},{},[165028,165032,165041],{"data":165029,"marks":165030,"value":165031,"nodeType":864},{},[],"You’ve found the apps (hooray!), so now you’re on the hook to figure out what risks those apps might pose to the company (wasn’t ignorance bliss?). Does it help to know that most organizations find a large list of unknown apps so you’re not alone? A ",{"data":165033,"content":165035,"nodeType":883},{"uri":165034},"https://track.g2.com/resources/shadow-it-statistics",[165036],{"data":165037,"marks":165038,"value":165040,"nodeType":864},{},[165039],{"type":1455},"report",{"data":165042,"marks":165043,"value":165044,"nodeType":864},{},[]," from G2 Crowd stated that the average company has 975 unknown cloud services and that 67% of teams have introduced their own collaboration tools into an organization.",{"data":165046,"content":165047,"nodeType":860},{},[165048],{"data":165049,"marks":165050,"value":165051,"nodeType":864},{},[],"Even though you’re not alone, you still need to protect employee and company data from unnecessary third-party risk. Here’s a quick rundown of what you need to do next to get a handle on SaaS without restricting its use.",{"data":165053,"content":165057,"nodeType":996},{"target":165054},{"sys":165055},{"id":165056,"type":1001,"linkType":1002},"TgFACpcpdooMuPLPXvlk4",[],{"data":165059,"content":165060,"nodeType":118765},{},[165061,165119,165134,165149,165164],{"data":165062,"content":165063,"nodeType":945},{},[165064,165076],{"data":165065,"content":165066,"nodeType":860},{},[165067,165072],{"data":165068,"marks":165069,"value":165071,"nodeType":864},{},[165070],{"type":899},"Ensure basic account security controls are in place across all SaaS. ",{"data":165073,"marks":165074,"value":165075,"nodeType":864},{},[],"To get at this information, you’ll need either a tool (we got you!) or you’ll need to go directly to employees to get necessary information about how they’re accessing and using SaaS. You’ll need to know:",{"data":165077,"content":165078,"nodeType":118765},{},[165079,165089,165099,165109],{"data":165080,"content":165081,"nodeType":945},{},[165082],{"data":165083,"content":165084,"nodeType":860},{},[165085],{"data":165086,"marks":165087,"value":165088,"nodeType":864},{},[],"Are employees using multi-factor authentication (MFA) or two-factor authentication (2FA) where available? ",{"data":165090,"content":165091,"nodeType":945},{},[165092],{"data":165093,"content":165094,"nodeType":860},{},[165095],{"data":165096,"marks":165097,"value":165098,"nodeType":864},{},[],"What about strong passwords and password policies? ",{"data":165100,"content":165101,"nodeType":945},{},[165102],{"data":165103,"content":165104,"nodeType":860},{},[165105],{"data":165106,"marks":165107,"value":165108,"nodeType":864},{},[],"Are they sharing passwords across multiple apps? ",{"data":165110,"content":165111,"nodeType":945},{},[165112],{"data":165113,"content":165114,"nodeType":860},{},[165115],{"data":165116,"marks":165117,"value":165118,"nodeType":864},{},[],"Are they sharing login credentials as a team - some teams will do this to stay on a free or trial tier by only having a “single” user. ",{"data":165120,"content":165121,"nodeType":945},{},[165122],{"data":165123,"content":165124,"nodeType":860},{},[165125,165130],{"data":165126,"marks":165127,"value":165129,"nodeType":864},{},[165128],{"type":899},"Try to identify SaaS that is no longer needed/used and remove it. ",{"data":165131,"marks":165132,"value":165133,"nodeType":864},{},[],"You won't believe how quickly you build up SaaS baggage as users move to the newest hottest thing.",{"data":165135,"content":165136,"nodeType":945},{},[165137],{"data":165138,"content":165139,"nodeType":860},{},[165140,165145],{"data":165141,"marks":165142,"value":165144,"nodeType":864},{},[165143],{"type":899},"Identify apps that are used to create and store data you care about. ",{"data":165146,"marks":165147,"value":165148,"nodeType":864},{},[],"Then prioritize them for some additional scrutiny.",{"data":165150,"content":165151,"nodeType":945},{},[165152],{"data":165153,"content":165154,"nodeType":860},{},[165155,165160],{"data":165156,"marks":165157,"value":165159,"nodeType":864},{},[165158],{"type":899},"Identify apps that integrate with those core apps. ",{"data":165161,"marks":165162,"value":165163,"nodeType":864},{},[],"They’re also processing that same data you care about. These are usually called OAuth applications or third-party integrations like apps and bots that add functionality and features to the core app.",{"data":165165,"content":165166,"nodeType":945},{},[165167,165183],{"data":165168,"content":165169,"nodeType":860},{},[165170,165174,165179],{"data":165171,"marks":165172,"value":165173,"nodeType":864},{},[],"Where your additional scrutiny identifies risks you can't live with, ",{"data":165175,"marks":165176,"value":165178,"nodeType":864},{},[165177],{"type":899},"stop new users adopting those apps (by giving them a better alternative)",{"data":165180,"marks":165181,"value":165182,"nodeType":864},{},[]," and migrate existing users over to that alternative, approved app. ",{"data":165184,"content":165185,"nodeType":118765},{},[165186],{"data":165187,"content":165188,"nodeType":945},{},[165189],{"data":165190,"content":165191,"nodeType":860},{},[165192],{"data":165193,"marks":165194,"value":165195,"nodeType":864},{},[],"To do this, you’ll need to look for secure alternatives to the SaaS employees are using that you have deemed too risky. This is important, albeit time-consuming. Offering an alternative sweetens the process for using more secure platforms before you outright block the bad ones. It also lets your colleagues know you’re considering their needs and not just restricting their work.",{"data":165197,"content":165198,"nodeType":860},{},[165199],{"data":165200,"marks":165201,"value":165202,"nodeType":864},{},[],"Beyond just the security of the technology itself, you need to ensure employees are doing their part in using the app securely. ",{"data":165204,"content":165205,"nodeType":1009},{},[165206],{"data":165207,"marks":165208,"value":165209,"nodeType":864},{},[],"How to prioritize which apps require additional scrutiny",{"data":165211,"content":165212,"nodeType":860},{},[165213],{"data":165214,"marks":165215,"value":165216,"nodeType":864},{},[],"There’s no right or wrong approach for how to prioritize the apps you find during the discovery process, but we’ve found that most our customers prioritize apps based on if the app is:",{"data":165218,"content":165219,"nodeType":941},{},[165220,165230,165240,165259],{"data":165221,"content":165222,"nodeType":945},{},[165223],{"data":165224,"content":165225,"nodeType":860},{},[165226],{"data":165227,"marks":165228,"value":165229,"nodeType":864},{},[],"used by many people in the company, and",{"data":165231,"content":165232,"nodeType":945},{},[165233],{"data":165234,"content":165235,"nodeType":860},{},[165236],{"data":165237,"marks":165238,"value":165239,"nodeType":864},{},[],"requesting access to highly sensitive data to work or integrating with SaaS that have data you don’t want exposed. This might be a cloud drive containing all sorts of documents, a CRM that uses customer data inputs, a billing platform, an app that’s used for signing legal documents, an HR platform, etc.",{"data":165241,"content":165242,"nodeType":945},{},[165243],{"data":165244,"content":165245,"nodeType":860},{},[165246,165250,165255],{"data":165247,"marks":165248,"value":165249,"nodeType":864},{},[],"one you’ve never heard of before. Larger SaaS apps built for businesses (Salesforce, Microsoft, Google, etc.) are ",{"data":165251,"marks":165252,"value":165254,"nodeType":864},{},[165253],{"type":2246},"more likely",{"data":165256,"marks":165257,"value":165258,"nodeType":864},{},[]," to be secure than some of the smaller, newer SaaS apps who haven’t gone through the same levels of security reviews before going to market. ",{"data":165260,"content":165261,"nodeType":945},{},[165262],{"data":165263,"content":165264,"nodeType":860},{},[165265],{"data":165266,"marks":165267,"value":165268,"nodeType":864},{},[],"used by high profile employees or employees with access to very sensitive corporate information (C-level executives, finance, legal, HR, etc.). ",{"data":165270,"content":165271,"nodeType":860},{},[165272],{"data":165273,"marks":165274,"value":165275,"nodeType":864},{},[],"For example, if you have a whole team using a single app that you’ve never heard of, add that app to the top of your priorities list for investigation. It’s likely business critical and serving a need for that team, so taking it away won’t be a good idea if you’re trying to build bridges between security and employees. Plus, more users probably means more data is stored within the app. Those users might also have integrated a lot of third-party apps or bots (OAuth) to that core application. ",{"data":165277,"content":165278,"nodeType":860},{},[165279,165283,165291],{"data":165280,"marks":165281,"value":165282,"nodeType":864},{},[],"Once you’ve determined which apps need investigation and prioritized them, head over to the National Cyber Security Centre’s ",{"data":165284,"content":165286,"nodeType":883},{"uri":165285},"https://www.ncsc.gov.uk/collection/cloud/the-cloud-security-principles/lightweight-approach-to-cloud-security",[165287],{"data":165288,"marks":165289,"value":165290,"nodeType":864},{},[],"lightweight approach to cloud security",{"data":165292,"marks":165293,"value":165294,"nodeType":864},{},[]," article. They offer some great guidance for how to reasonably access the risk of a SaaS app with limited time and resources. ",{"data":165296,"content":165297,"nodeType":860},{},[165298],{"data":165299,"marks":165300,"value":165301,"nodeType":864},{},[],"A big missing piece most companies have in their SaaS security strategy, though, is that they’re not working with employees to understand how they’re using SaaS. Before you roll your eyes, hear us out…",{"data":165303,"content":165304,"nodeType":1009},{},[165305],{"data":165306,"marks":165307,"value":165308,"nodeType":864},{},[],"Secure SaaS by working with employees",{"data":165310,"content":165311,"nodeType":860},{},[165312],{"data":165313,"marks":165314,"value":165315,"nodeType":864},{},[],"Remember, employees are the owners of SaaS in your company - they’ve adopted and used SaaS tools in your environment, so they know better than anyone else how they’re using it, if they’re still using it, what the additional integrations in the app offer, and what it does for them. You, as their security lead, know how to determine if they’re logging in securely, if the data the app is requesting access to is an acceptable risk, if they’ve enabled built-in common sense security features like 2FA/MFA, and if the third-party integrations they’ve added are too high risk or requesting excessive permissions.",{"data":165317,"content":165318,"nodeType":860},{},[165319],{"data":165320,"marks":165321,"value":165322,"nodeType":864},{},[],"By working with employees, you can get the full picture of SaaS use within the company and understand what your colleagues need and coach them to improve the security of how they’re accessing and using the tools they prefer. The problem is that it’s really difficult to do manually in a real world environment because it’s just so time-consuming to reach out to each employee and ask a series of questions to get the context you need. ",{"data":165324,"content":165325,"nodeType":860},{},[165326],{"data":165327,"marks":165328,"value":165329,"nodeType":864},{},[],"If an entire team is using an app you weren’t aware of, you can talk to the technical owner or administrator of the app to understand how they’re using it. What doesn’t work at scale with manual outreach, however, is understanding how securely employees are logging in and accessing SaaS. ",{"data":165331,"content":165332,"nodeType":860},{},[165333],{"data":165334,"marks":165335,"value":165336,"nodeType":864},{},[],"You can automate this process with the right tool, using things like ChatOps and browser notifications, and just sit back and watch as employees improve their own security over time. This is particularly useful when it comes to some of the security hygiene basics, like using strong passwords and enabling MFA, which make a significant impact on overall security posture for very little effort.",{"data":165338,"content":165339,"nodeType":1009},{},[165340],{"data":165341,"marks":165342,"value":165343,"nodeType":864},{},[],"What will I gain from working with employees?",{"data":165345,"content":165346,"nodeType":860},{},[165347],{"data":165348,"marks":165349,"value":165350,"nodeType":864},{},[],"Now that you know that working directly with employees to secure SaaS isn’t a pipe dream, nor does it have to be a manual effort or a one-off security campaign, what impact should you expect from these efforts? And how do you measure that impact?",{"data":165352,"content":165353,"nodeType":860},{},[165354],{"data":165355,"marks":165356,"value":165357,"nodeType":864},{},[],"Here are some of the most obvious wins…",{"data":165359,"content":165360,"nodeType":1312},{},[165361],{"data":165362,"marks":165363,"value":165364,"nodeType":864},{},[],"Reduce your attack surface",{"data":165366,"content":165367,"nodeType":860},{},[165368],{"data":165369,"marks":165370,"value":165371,"nodeType":864},{},[],"Say you discover your marketing team is using Trello to manage projects, while the sales team is using Asana. Once you have this information, you can talk to the heads of each department to see if they’ll agree on a single solution. ",{"data":165373,"content":165374,"nodeType":860},{},[165375],{"data":165376,"marks":165377,"value":165378,"nodeType":864},{},[],"Without management, you’re likely to wind up using multiple (often dozens) of chat, project management, calendar-sharing apps and so on within your company. The issue with this is that it opens you up to unnecessary risk, with your data being held on the systems of hundreds of third parties outside of your traditional perimeter. By connecting users to each other and consolidating the SaaS apps in your company, you can dramatically reduce your attack surface. ",{"data":165380,"content":165381,"nodeType":860},{},[165382,165386,165395,165399],{"data":165383,"marks":165384,"value":165385,"nodeType":864},{},[],"Similarly, removing dormant apps and accounts can have a huge impact. In a ",{"data":165387,"content":165389,"nodeType":883},{"uri":165388},"https://productiv.com/blog/less-than-half-of-company-saas-applications-are-regularly-used-by-employees/",[165390],{"data":165391,"marks":165392,"value":165394,"nodeType":864},{},[165393],{"type":1455},"recent report",{"data":165396,"marks":165397,"value":1171,"nodeType":864},{},[165398],{"type":1455},{"data":165400,"marks":165401,"value":165402,"nodeType":864},{},[],"by Productiv, they found that on average only 45% of the apps an organization or its employees have an account with are regularly engaged with. That means that potentially half of your SaaS attack surface is totally unnecessary.",{"data":165404,"content":165405,"nodeType":860},{},[165406],{"data":165407,"marks":165408,"value":165409,"nodeType":864},{},[],"Working with employees to find out what apps they are using (and which they are no longer) will allow you to eliminate attacker opportunities to access your data or steal employee account credentials.  ",{"data":165411,"content":165412,"nodeType":1312},{},[165413],{"data":165414,"marks":165415,"value":165416,"nodeType":864},{},[],"Reduce supply chain risk",{"data":165418,"content":165419,"nodeType":860},{},[165420],{"data":165421,"marks":165422,"value":165423,"nodeType":864},{},[],"Every third-party SaaS app that your employees use is a supplier and therefore contributes to your overall supply chain risk exposure. Traditionally all technology and software providers will have been reviewed by security teams to ensure that they do not present excessive risk to your organization. However, the explosion in SaaS use has made this more challenging; 1) Most organizations have a large number of SaaS suppliers and its growing, 2) SaaS suppliers are now responsible for more aspects of security than on-prem software suppliers ever were (such as infrastructure security) so there is more to review and assure. ",{"data":165425,"content":165426,"nodeType":860},{},[165427],{"data":165428,"marks":165429,"value":165430,"nodeType":864},{},[],"Every time a duplicate or dormant SaaS app is removed, you’re removing a supplier whose security practices and posture need assuring. This saves your security team bags of time and reduces your overall cyber risk exposure. ",{"data":165432,"content":165433,"nodeType":860},{},[165434],{"data":165435,"marks":165436,"value":165437,"nodeType":864},{},[],"However, for the third-parties you need to continue to work with, you’ll want to perform due diligence to make sure you aren’t exposing yourself to the risk of a supply chain attack. ",{"data":165439,"content":165440,"nodeType":860},{},[165441],{"data":165442,"marks":165443,"value":165444,"nodeType":864},{},[],"Before you can trust a SaaS vendor with your data, you have to be assured the vendor is committed to maintaining an appropriate security standard and has the resources and capabilities to deliver against it. And you need to know how the vendor will secure your data when it is in transit, use and at rest. Understand how the vendor secures their network, monitors for malicious activity, what they’ll do in the event of an incident, and whether they have an adequate business continuity and disaster recovery plan. ",{"data":165446,"content":165447,"nodeType":860},{},[165448],{"data":165449,"marks":165450,"value":165451,"nodeType":864},{},[],"To speed up the due diligence process, you might rely on the vendor providing certification of a recognized standard, such as ISO27001, which demonstrates a solid security baseline.",{"data":165453,"content":165454,"nodeType":1312},{},[165455],{"data":165456,"marks":165457,"value":165458,"nodeType":864},{},[],"Establish security as a business enabler",{"data":165460,"content":165461,"nodeType":860},{},[165462],{"data":165463,"marks":165464,"value":165465,"nodeType":864},{},[],"One thing to note, if you’re removing an app, it’s always a good idea to notify the employee(s) using it and suggest secure alternatives. Security teams are often seen as a blocker to be avoided and worked around. During that conversation, you can ask them what they were using the app for and then do some research to offer an alternative option that isn’t as risky to the company. ",{"data":165467,"content":165468,"nodeType":860},{},[165469],{"data":165470,"marks":165471,"value":165472,"nodeType":864},{},[],"Being able to recommend useful tools that can help your colleagues with their jobs (as opposed to just saying no or blocking unsanctioned apps) is  the difference between being seen as a business enabler rather than a business blocker. Once your security team is known for promoting innovative new technology as well as managing risk, employee engagement will increase. ",{"data":165474,"content":165475,"nodeType":1312},{},[165476],{"data":165477,"marks":165478,"value":165479,"nodeType":864},{},[],"Greater productivity and competitiveness",{"data":165481,"content":165482,"nodeType":860},{},[165483],{"data":165484,"marks":165485,"value":165486,"nodeType":864},{},[],"SaaS has empowered employees to self-adopt the tools that will help them do their jobs better. This is something that should be harnessed, not resisted. A more productive workforce creates a more competitive company. Security’s job is to manage the risks it introduces to a level that the business can accept, not to eliminate those risks altogether. ",{"data":165488,"content":165489,"nodeType":860},{},[165490],{"data":165491,"marks":165492,"value":165493,"nodeType":864},{},[],"Balancing productivity returns with cyber risk requires employees and security to work together to understand the trade-off and make the best decision for the whole organization. If you can facilitate this collaboration to make better decisions, faster as to what technology and tools your organization can safely take advantage of, then your organization will be more competitive and more successful.  ",{"data":165495,"content":165496,"nodeType":1009},{},[165497],{"data":165498,"marks":165499,"value":165500,"nodeType":864},{},[],"You can secure SaaS without pissing off employees",{"data":165502,"content":165503,"nodeType":860},{},[165504],{"data":165505,"marks":165506,"value":165507,"nodeType":864},{},[],"We’ll end this blog with a single key takeaway: ",{"data":165509,"content":165510,"nodeType":1005},{},[],{"data":165512,"content":165513,"nodeType":860},{},[165514],{"data":165515,"marks":165516,"value":165517,"nodeType":864},{},[],"To keep employees happy and productive while still securing corporate data, you need to work with them to understand what they need and point them at the most secure SaaS alternative. ",{"data":165519,"content":165520,"nodeType":1005},{},[],{"data":165522,"content":165523,"nodeType":860},{},[165524],{"data":165525,"marks":165526,"value":165527,"nodeType":864},{},[],"One of the big wins that’s really hard to measure or quantify is that by working with employees, you position yourself as a business enabler. The more you know about the tools employees are choosing to use, the more you understand their needs and desires so that you can find a balanced solution.",{"data":165529,"content":165530,"nodeType":860},{},[165531],{"data":165532,"marks":165533,"value":165534,"nodeType":864},{},[],"We would never recommend that you just open the gates to SaaS and leave employees to sign up with wild abandon, but strictly locking down SaaS clearly doesn’t work. With more SaaS apps coming to market daily, the only approach that can scale and keep up with employees’ needs for productivity and flexibility is one that makes them part of the conversation. You’ve got to work with the SaaS users and empathize with their needs. Only then can you really create a cloud security strategy that’s going to work in the real world. With new tools that can do the heavy lifting for you, a user-powered approach finally makes sense. You got this.","Learn some lightweight ways to manage the risks SaaS introduces without relying on restrictive policies that block employees from using their preferred tools.","2022-08-11T00:00:00.000Z",{"items":165538},[165539,165541],{"sys":165540,"name":4904},{"id":4903},{"sys":165542,"name":2729},{"id":2728},{"items":165544},[165545],{"fullName":38408,"firstName":38409,"jobTitle":38410,"profilePicture":165546},{"url":38412},{"__typename":2059,"sys":165548,"content":165549,"title":150039,"synopsis":150040,"hashTags":59,"publishedDate":150041,"slug":150042,"tagsCollection":166208,"authorsCollection":166214},{"id":149298},{"json":165550},{"data":165551,"content":165552,"nodeType":856},{},[165553,165559,165565,165571,165579,165585,165590,165596,165601,165607,165613,165619,165625,165631,165637,165643,165649,165655,165668,165674,165680,165685,165691,165697,165710,165727,165733,165739,165745,165751,165757,165763,165781,165787,165793,165799,165805,165811,165817,165823,165829,165842,165872,165880,165886,165892,165898,165904,165925,165931,165937,165943,165949,165955,165961,165967,165973,165978,165984,165990,165996,166006,166012,166018,166024,166029,166035,166041,166047,166068,166074,166080,166086,166099,166105,166111,166117,166174,166179,166185,166191,166197,166202],{"data":165554,"content":165555,"nodeType":860},{},[165556],{"data":165557,"marks":165558,"value":149309,"nodeType":864},{},[],{"data":165560,"content":165561,"nodeType":860},{},[165562],{"data":165563,"marks":165564,"value":147851,"nodeType":864},{},[],{"data":165566,"content":165567,"nodeType":860},{},[165568],{"data":165569,"marks":165570,"value":149322,"nodeType":864},{},[],{"data":165572,"content":165573,"nodeType":860},{},[165574],{"data":165575,"marks":165576,"value":149331,"nodeType":864},{},[165577,165578],{"type":899},{"type":2246},{"data":165580,"content":165581,"nodeType":860},{},[165582],{"data":165583,"marks":165584,"value":149338,"nodeType":864},{},[],{"data":165586,"content":165589,"nodeType":996},{"target":165587},{"sys":165588},{"id":147969,"type":1001,"linkType":1002},[],{"data":165591,"content":165592,"nodeType":860},{},[165593],{"data":165594,"marks":165595,"value":149350,"nodeType":864},{},[],{"data":165597,"content":165600,"nodeType":996},{"target":165598},{"sys":165599},{"id":148119,"type":1001,"linkType":1002},[],{"data":165602,"content":165603,"nodeType":860},{},[165604],{"data":165605,"marks":165606,"value":149362,"nodeType":864},{},[],{"data":165608,"content":165609,"nodeType":1009},{},[165610],{"data":165611,"marks":165612,"value":149369,"nodeType":864},{},[],{"data":165614,"content":165615,"nodeType":860},{},[165616],{"data":165617,"marks":165618,"value":149376,"nodeType":864},{},[],{"data":165620,"content":165621,"nodeType":860},{},[165622],{"data":165623,"marks":165624,"value":149383,"nodeType":864},{},[],{"data":165626,"content":165627,"nodeType":1009},{},[165628],{"data":165629,"marks":165630,"value":149390,"nodeType":864},{},[],{"data":165632,"content":165633,"nodeType":1312},{},[165634],{"data":165635,"marks":165636,"value":148209,"nodeType":864},{},[],{"data":165638,"content":165639,"nodeType":860},{},[165640],{"data":165641,"marks":165642,"value":149403,"nodeType":864},{},[],{"data":165644,"content":165645,"nodeType":1312},{},[165646],{"data":165647,"marks":165648,"value":589,"nodeType":864},{},[],{"data":165650,"content":165651,"nodeType":860},{},[165652],{"data":165653,"marks":165654,"value":149416,"nodeType":864},{},[],{"data":165656,"content":165657,"nodeType":860},{},[165658,165661,165665],{"data":165659,"marks":165660,"value":149423,"nodeType":864},{},[],{"data":165662,"marks":165663,"value":149428,"nodeType":864},{},[165664],{"type":2246},{"data":165666,"marks":165667,"value":8618,"nodeType":864},{},[],{"data":165669,"content":165670,"nodeType":1312},{},[165671],{"data":165672,"marks":165673,"value":149438,"nodeType":864},{},[],{"data":165675,"content":165676,"nodeType":860},{},[165677],{"data":165678,"marks":165679,"value":149445,"nodeType":864},{},[],{"data":165681,"content":165684,"nodeType":996},{"target":165682},{"sys":165683},{"id":148228,"type":1001,"linkType":1002},[],{"data":165686,"content":165687,"nodeType":1312},{},[165688],{"data":165689,"marks":165690,"value":148236,"nodeType":864},{},[],{"data":165692,"content":165693,"nodeType":860},{},[165694],{"data":165695,"marks":165696,"value":148243,"nodeType":864},{},[],{"data":165698,"content":165699,"nodeType":860},{},[165700,165703,165707],{"data":165701,"marks":165702,"value":149469,"nodeType":864},{},[],{"data":165704,"marks":165705,"value":149474,"nodeType":864},{},[165706],{"type":2246},{"data":165708,"marks":165709,"value":149478,"nodeType":864},{},[],{"data":165711,"content":165712,"nodeType":860},{},[165713,165718,165722],{"data":165714,"marks":165715,"value":149487,"nodeType":864},{},[165716,165717],{"type":899},{"type":2246},{"data":165719,"marks":165720,"value":149492,"nodeType":864},{},[165721],{"type":2246},{"data":165723,"marks":165724,"value":8618,"nodeType":864},{},[165725,165726],{"type":899},{"type":2246},{"data":165728,"content":165729,"nodeType":860},{},[165730],{"data":165731,"marks":165732,"value":149504,"nodeType":864},{},[],{"data":165734,"content":165735,"nodeType":1312},{},[165736],{"data":165737,"marks":165738,"value":149511,"nodeType":864},{},[],{"data":165740,"content":165741,"nodeType":860},{},[165742],{"data":165743,"marks":165744,"value":149518,"nodeType":864},{},[],{"data":165746,"content":165747,"nodeType":1312},{},[165748],{"data":165749,"marks":165750,"value":149525,"nodeType":864},{},[],{"data":165752,"content":165753,"nodeType":860},{},[165754],{"data":165755,"marks":165756,"value":149532,"nodeType":864},{},[],{"data":165758,"content":165759,"nodeType":860},{},[165760],{"data":165761,"marks":165762,"value":149539,"nodeType":864},{},[],{"data":165764,"content":165765,"nodeType":860},{},[165766,165769,165778],{"data":165767,"marks":165768,"value":149546,"nodeType":864},{},[],{"data":165770,"content":165773,"nodeType":27604},{"target":165771},{"sys":165772},{"id":149551,"type":1001,"linkType":1002},[165774],{"data":165775,"marks":165776,"value":29669,"nodeType":864},{},[165777],{"type":1455},{"data":165779,"marks":165780,"value":12252,"nodeType":864},{},[],{"data":165782,"content":165783,"nodeType":860},{},[165784],{"data":165785,"marks":165786,"value":149566,"nodeType":864},{},[],{"data":165788,"content":165789,"nodeType":860},{},[165790],{"data":165791,"marks":165792,"value":149573,"nodeType":864},{},[],{"data":165794,"content":165795,"nodeType":1009},{},[165796],{"data":165797,"marks":165798,"value":149580,"nodeType":864},{},[],{"data":165800,"content":165801,"nodeType":1312},{},[165802],{"data":165803,"marks":165804,"value":149587,"nodeType":864},{},[],{"data":165806,"content":165807,"nodeType":860},{},[165808],{"data":165809,"marks":165810,"value":149594,"nodeType":864},{},[],{"data":165812,"content":165813,"nodeType":860},{},[165814],{"data":165815,"marks":165816,"value":149601,"nodeType":864},{},[],{"data":165818,"content":165819,"nodeType":1312},{},[165820],{"data":165821,"marks":165822,"value":149608,"nodeType":864},{},[],{"data":165824,"content":165825,"nodeType":860},{},[165826],{"data":165827,"marks":165828,"value":149615,"nodeType":864},{},[],{"data":165830,"content":165831,"nodeType":860},{},[165832,165835,165839],{"data":165833,"marks":165834,"value":149622,"nodeType":864},{},[],{"data":165836,"marks":165837,"value":148331,"nodeType":864},{},[165838],{"type":2246},{"data":165840,"marks":165841,"value":148335,"nodeType":864},{},[],{"data":165843,"content":165844,"nodeType":941},{},[165845,165854,165863],{"data":165846,"content":165847,"nodeType":945},{},[165848],{"data":165849,"content":165850,"nodeType":860},{},[165851],{"data":165852,"marks":165853,"value":148348,"nodeType":864},{},[],{"data":165855,"content":165856,"nodeType":945},{},[165857],{"data":165858,"content":165859,"nodeType":860},{},[165860],{"data":165861,"marks":165862,"value":148358,"nodeType":864},{},[],{"data":165864,"content":165865,"nodeType":945},{},[165866],{"data":165867,"content":165868,"nodeType":860},{},[165869],{"data":165870,"marks":165871,"value":148368,"nodeType":864},{},[],{"data":165873,"content":165874,"nodeType":860},{},[165875],{"data":165876,"marks":165877,"value":149668,"nodeType":864},{},[165878,165879],{"type":899},{"type":2246},{"data":165881,"content":165882,"nodeType":860},{},[165883],{"data":165884,"marks":165885,"value":148384,"nodeType":864},{},[],{"data":165887,"content":165888,"nodeType":1312},{},[165889],{"data":165890,"marks":165891,"value":149681,"nodeType":864},{},[],{"data":165893,"content":165894,"nodeType":860},{},[165895],{"data":165896,"marks":165897,"value":149688,"nodeType":864},{},[],{"data":165899,"content":165900,"nodeType":860},{},[165901],{"data":165902,"marks":165903,"value":149695,"nodeType":864},{},[],{"data":165905,"content":165906,"nodeType":941},{},[165907,165916],{"data":165908,"content":165909,"nodeType":945},{},[165910],{"data":165911,"content":165912,"nodeType":860},{},[165913],{"data":165914,"marks":165915,"value":149708,"nodeType":864},{},[],{"data":165917,"content":165918,"nodeType":945},{},[165919],{"data":165920,"content":165921,"nodeType":860},{},[165922],{"data":165923,"marks":165924,"value":149718,"nodeType":864},{},[],{"data":165926,"content":165927,"nodeType":860},{},[165928],{"data":165929,"marks":165930,"value":149725,"nodeType":864},{},[],{"data":165932,"content":165933,"nodeType":1312},{},[165934],{"data":165935,"marks":165936,"value":149732,"nodeType":864},{},[],{"data":165938,"content":165939,"nodeType":860},{},[165940],{"data":165941,"marks":165942,"value":149739,"nodeType":864},{},[],{"data":165944,"content":165945,"nodeType":860},{},[165946],{"data":165947,"marks":165948,"value":149746,"nodeType":864},{},[],{"data":165950,"content":165951,"nodeType":1009},{},[165952],{"data":165953,"marks":165954,"value":149753,"nodeType":864},{},[],{"data":165956,"content":165957,"nodeType":1312},{},[165958],{"data":165959,"marks":165960,"value":149760,"nodeType":864},{},[],{"data":165962,"content":165963,"nodeType":860},{},[165964],{"data":165965,"marks":165966,"value":149767,"nodeType":864},{},[],{"data":165968,"content":165969,"nodeType":860},{},[165970],{"data":165971,"marks":165972,"value":149774,"nodeType":864},{},[],{"data":165974,"content":165977,"nodeType":996},{"target":165975},{"sys":165976},{"id":148431,"type":1001,"linkType":1002},[],{"data":165979,"content":165980,"nodeType":1312},{},[165981],{"data":165982,"marks":165983,"value":149786,"nodeType":864},{},[],{"data":165985,"content":165986,"nodeType":860},{},[165987],{"data":165988,"marks":165989,"value":149793,"nodeType":864},{},[],{"data":165991,"content":165992,"nodeType":860},{},[165993],{"data":165994,"marks":165995,"value":149800,"nodeType":864},{},[],{"data":165997,"content":165998,"nodeType":860},{},[165999,166002],{"data":166000,"marks":166001,"value":149807,"nodeType":864},{},[],{"data":166003,"marks":166004,"value":149812,"nodeType":864},{},[166005],{"type":2246},{"data":166007,"content":166008,"nodeType":1312},{},[166009],{"data":166010,"marks":166011,"value":149819,"nodeType":864},{},[],{"data":166013,"content":166014,"nodeType":860},{},[166015],{"data":166016,"marks":166017,"value":149826,"nodeType":864},{},[],{"data":166019,"content":166020,"nodeType":860},{},[166021],{"data":166022,"marks":166023,"value":149833,"nodeType":864},{},[],{"data":166025,"content":166028,"nodeType":996},{"target":166026},{"sys":166027},{"id":140590,"type":1001,"linkType":1002},[],{"data":166030,"content":166031,"nodeType":1312},{},[166032],{"data":166033,"marks":166034,"value":149845,"nodeType":864},{},[],{"data":166036,"content":166037,"nodeType":860},{},[166038],{"data":166039,"marks":166040,"value":149852,"nodeType":864},{},[],{"data":166042,"content":166043,"nodeType":860},{},[166044],{"data":166045,"marks":166046,"value":149859,"nodeType":864},{},[],{"data":166048,"content":166049,"nodeType":941},{},[166050,166059],{"data":166051,"content":166052,"nodeType":945},{},[166053],{"data":166054,"content":166055,"nodeType":860},{},[166056],{"data":166057,"marks":166058,"value":149872,"nodeType":864},{},[],{"data":166060,"content":166061,"nodeType":945},{},[166062],{"data":166063,"content":166064,"nodeType":860},{},[166065],{"data":166066,"marks":166067,"value":149882,"nodeType":864},{},[],{"data":166069,"content":166070,"nodeType":1312},{},[166071],{"data":166072,"marks":166073,"value":149889,"nodeType":864},{},[],{"data":166075,"content":166076,"nodeType":860},{},[166077],{"data":166078,"marks":166079,"value":149896,"nodeType":864},{},[],{"data":166081,"content":166082,"nodeType":860},{},[166083],{"data":166084,"marks":166085,"value":149903,"nodeType":864},{},[],{"data":166087,"content":166088,"nodeType":860},{},[166089,166092,166096],{"data":166090,"marks":166091,"value":149910,"nodeType":864},{},[],{"data":166093,"marks":166094,"value":112585,"nodeType":864},{},[166095],{"type":899},{"data":166097,"marks":166098,"value":149918,"nodeType":864},{},[],{"data":166100,"content":166101,"nodeType":1312},{},[166102],{"data":166103,"marks":166104,"value":149925,"nodeType":864},{},[],{"data":166106,"content":166107,"nodeType":860},{},[166108],{"data":166109,"marks":166110,"value":149932,"nodeType":864},{},[],{"data":166112,"content":166113,"nodeType":860},{},[166114],{"data":166115,"marks":166116,"value":149939,"nodeType":864},{},[],{"data":166118,"content":166119,"nodeType":941},{},[166120,166129,166138,166147,166156,166165],{"data":166121,"content":166122,"nodeType":945},{},[166123],{"data":166124,"content":166125,"nodeType":860},{},[166126],{"data":166127,"marks":166128,"value":140618,"nodeType":864},{},[],{"data":166130,"content":166131,"nodeType":945},{},[166132],{"data":166133,"content":166134,"nodeType":860},{},[166135],{"data":166136,"marks":166137,"value":149961,"nodeType":864},{},[],{"data":166139,"content":166140,"nodeType":945},{},[166141],{"data":166142,"content":166143,"nodeType":860},{},[166144],{"data":166145,"marks":166146,"value":140638,"nodeType":864},{},[],{"data":166148,"content":166149,"nodeType":945},{},[166150],{"data":166151,"content":166152,"nodeType":860},{},[166153],{"data":166154,"marks":166155,"value":149980,"nodeType":864},{},[],{"data":166157,"content":166158,"nodeType":945},{},[166159],{"data":166160,"content":166161,"nodeType":860},{},[166162],{"data":166163,"marks":166164,"value":140658,"nodeType":864},{},[],{"data":166166,"content":166167,"nodeType":945},{},[166168],{"data":166169,"content":166170,"nodeType":860},{},[166171],{"data":166172,"marks":166173,"value":149999,"nodeType":864},{},[],{"data":166175,"content":166178,"nodeType":996},{"target":166176},{"sys":166177},{"id":150004,"type":1001,"linkType":1002},[],{"data":166180,"content":166181,"nodeType":860},{},[166182],{"data":166183,"marks":166184,"value":150012,"nodeType":864},{},[],{"data":166186,"content":166187,"nodeType":1312},{},[166188],{"data":166189,"marks":166190,"value":150019,"nodeType":864},{},[],{"data":166192,"content":166193,"nodeType":860},{},[166194],{"data":166195,"marks":166196,"value":150026,"nodeType":864},{},[],{"data":166198,"content":166201,"nodeType":996},{"target":166199},{"sys":166200},{"id":150031,"type":1001,"linkType":1002},[],{"data":166203,"content":166204,"nodeType":860},{},[166205],{"data":166206,"marks":166207,"value":21,"nodeType":864},{},[],{"items":166209},[166210,166212],{"sys":166211,"name":4904},{"id":4903},{"sys":166213,"name":2729},{"id":2728},{"items":166215},[166216],{"fullName":150052,"firstName":150052,"jobTitle":59,"profilePicture":166217},{"url":150054},"blog/focus-on-account-security-to-reduce-saas-risks",{"json":166220},{"data":166221,"content":166222,"nodeType":856},{},[166223],{"data":166224,"content":166225,"nodeType":860},{},[166226],{"data":166227,"marks":166228,"value":166229,"nodeType":864},{},[],"You’ve probably locked down the known cloud services your company is using, but what about all those other SaaS apps people in the company are using? ",{"id":141247,"publishedAt":166231},"2026-08-12T11:56:04.581Z",{"items":166233},[166234,166236],{"sys":166235,"name":2729},{"id":2728},{"sys":166237,"name":297},{"id":2732},{"items":166239},[166240,166242,166244,166246,166248,166250,166252],{"sys":166241,"name":413,"slug":414,"tier":31},{"id":410},{"sys":166243,"name":545,"slug":546,"tier":31},{"id":542},{"sys":166245,"name":297,"slug":298,"tier":31},{"id":294},{"sys":166247,"name":502,"slug":503,"tier":45},{"id":499},{"sys":166249,"name":457,"slug":458,"tier":45},{"id":454},{"sys":166251,"name":589,"slug":590,"tier":45},{"id":586},{"sys":166253,"name":633,"slug":634,"tier":45},{"id":630},"XDTu9oP5cFwACZUMkqeuKDgeKCrygtgUEkLJfbaV4V0",{"id":166256,"title":166257,"authorsCollection":166258,"content":166262,"extension":228,"faqItemsCollection":166990,"faqTitle":59,"featured":6,"hashTags":59,"meta":166992,"metaTitle":166993,"ogImage":59,"postType":38987,"publishedDate":166994,"relatedBlogPostsCollection":166995,"slug":168119,"stem":168120,"subtitle":59,"summary":168121,"synopsis":168131,"sys":168132,"tagsCollection":168135,"topicsCollection":168141,"__hash__":168157},"blog/blog/what-is-saas-security.json","SaaS Security: what is it & how to manage the risk",{"items":166259},[166260],{"fullName":140213,"firstName":140214,"jobTitle":140215,"socialLinks":59,"profilePicture":166261},{"url":140217},{"json":166263,"links":166962},{"data":166264,"content":166265,"nodeType":856},{},[166266,166273,166280,166287,166294,166301,166308,166315,166338,166345,166352,166359,166366,166373,166380,166401,166408,166415,166433,166438,166445,166452,166457,166464,166471,166478,166485,166492,166523,166530,166536,166543,166550,166569,166576,166583,166598,166605,166620,166627,166634,166641,166648,166655,166790,166797,166804,166811,166844,166851,166858,166865,166879,166884,166891,166898,166941,166948,166955],{"data":166267,"content":166268,"nodeType":860},{},[166269],{"data":166270,"marks":166271,"value":166272,"nodeType":864},{},[],"SaaS security is a common phrase, but what does it mean? There are several categories of security products that do bits of “SaaS security,” but the phrase means different things to everyone, and there’s a lot of jargon to demystify in this space.",{"data":166274,"content":166275,"nodeType":860},{},[166276],{"data":166277,"marks":166278,"value":166279,"nodeType":864},{},[],"A quick Google search for “SaaS security” pulls in all types of security solutions and platforms, including those under these categories: cloud access security brokers (CASB), SaaS security posture management (SSPM), cloud security posture management (CSPM), and a few others.",{"data":166281,"content":166282,"nodeType":860},{},[166283],{"data":166284,"marks":166285,"value":166286,"nodeType":864},{},[],"When you’re on the hook to secure SaaS use in your company, it can be hard to even know where to start and where to focus. We hope this article helps you get some clarity about where you should focus and how to manage the risk in a sustainable way with your limited resources.",{"data":166288,"content":166289,"nodeType":860},{},[166290],{"data":166291,"marks":166292,"value":166293,"nodeType":864},{},[],"Let’s start with a quick, high-level definition.",{"data":166295,"content":166296,"nodeType":1009},{},[166297],{"data":166298,"marks":166299,"value":166300,"nodeType":864},{},[],"What is SaaS security?",{"data":166302,"content":166303,"nodeType":860},{},[166304],{"data":166305,"marks":166306,"value":166307,"nodeType":864},{},[],"SaaS Security is focused on securing sensitive data that’s stored in or integrated with the SaaS applications the company and its employees use.",{"data":166309,"content":166310,"nodeType":860},{},[166311],{"data":166312,"marks":166313,"value":166314,"nodeType":864},{},[],"When it comes to managing the risk SaaS security introduces, people are really talking about two things: ",{"data":166316,"content":166317,"nodeType":118765},{},[166318,166328],{"data":166319,"content":166320,"nodeType":945},{},[166321],{"data":166322,"content":166323,"nodeType":860},{},[166324],{"data":166325,"marks":166326,"value":166327,"nodeType":864},{},[],"Managing supply chain risk - Do you trust the vendors of the applications you’re using?",{"data":166329,"content":166330,"nodeType":945},{},[166331],{"data":166332,"content":166333,"nodeType":860},{},[166334],{"data":166335,"marks":166336,"value":166337,"nodeType":864},{},[],"SaaS account security and access controls - Are you using those applications securely?",{"data":166339,"content":166340,"nodeType":1009},{},[166341],{"data":166342,"marks":166343,"value":166344,"nodeType":864},{},[],"Where should I focus my efforts?",{"data":166346,"content":166347,"nodeType":860},{},[166348],{"data":166349,"marks":166350,"value":166351,"nodeType":864},{},[],"We hear about the supply chain side of SaaS security more often than the account security aspect, likely because supply chain attacks have a much wider blast radius and are therefore the attacks that are getting detected and disclosed to the press. ",{"data":166353,"content":166354,"nodeType":860},{},[166355],{"data":166356,"marks":166357,"value":166358,"nodeType":864},{},[],"These are the far-reaching attacks that might start with a platform that many organizations use for business (Salesforce, for example). If that SaaS platform is compromised, every company’s data is compromised, including your own. These things aren’t something you can directly prevent from happening. ",{"data":166360,"content":166361,"nodeType":860},{},[166362],{"data":166363,"marks":166364,"value":166365,"nodeType":864},{},[],"SaaS account security, however, is something you have control of and you can lock down.",{"data":166367,"content":166368,"nodeType":1312},{},[166369],{"data":166370,"marks":166371,"value":166372,"nodeType":864},{},[],"Focus on SaaS security at the account level, but don’t ignore supply chain risk",{"data":166374,"content":166375,"nodeType":860},{},[166376],{"data":166377,"marks":166378,"value":166379,"nodeType":864},{},[],"As a security leader, you need to deal with both halves of SaaS security. On the supply chain side, you need to investigate whether you trust the SaaS providers themselves and the security measures they use to look after your data. The SaaS vendor is best suited to manage the risk of their own app itself, but you do need to do due diligence on the supplier to ensure they’re doing enough to comply with your organization’s risk tolerance level. ",{"data":166381,"content":166382,"nodeType":860},{},[166383,166387,166397],{"data":166384,"marks":166385,"value":166386,"nodeType":864},{},[],"The bit you have direct control over, however, is the account security aspect of SaaS security. That’s a great area to focus on when it comes to SaaS security. You can enforce strong access controls and security basics like making sure employees use multi-factor authentication (MFA) and strong, unique passwords - or, better yet, ",{"data":166388,"content":166391,"nodeType":27604},{"target":166389},{"sys":166390},{"id":141516,"type":1001,"linkType":1002},[166392],{"data":166393,"marks":166394,"value":166396,"nodeType":864},{},[166395],{"type":1455},"social logins",{"data":166398,"marks":166399,"value":166400,"nodeType":864},{},[]," - to access their SaaS applications.",{"data":166402,"content":166403,"nodeType":860},{},[166404],{"data":166405,"marks":166406,"value":166407,"nodeType":864},{},[],"Let’s break down how a SaaS security program could work in your organization. Keep in mind, this may be closely tied to your cloud security program, but they’re two unique areas to focus on if you’re a SaaS-native or hybrid company that’s moving away from centralized infrastructure to the cloud and SaaS applications.",{"data":166409,"content":166410,"nodeType":1009},{},[166411],{"data":166412,"marks":166413,"value":166414,"nodeType":864},{},[],"How do I build a SaaS security program in my organization?",{"data":166416,"content":166417,"nodeType":860},{},[166418,166422,166429],{"data":166419,"marks":166420,"value":166421,"nodeType":864},{},[],"\nThe National Cyber Security Centre produced a ",{"data":166423,"content":166424,"nodeType":883},{"uri":148484},[166425],{"data":166426,"marks":166427,"value":141253,"nodeType":864},{},[166428],{"type":1455},{"data":166430,"marks":166431,"value":166432,"nodeType":864},{},[]," that does a great job of demonstrating the split between the SaaS provider’s responsibility when it comes to securing their app and the sensitive data put into it by their customers and the responsibility of the “customer” (you).  ",{"data":166434,"content":166437,"nodeType":996},{"target":166435},{"sys":166436},{"id":151435,"type":1001,"linkType":1002},[],{"data":166439,"content":166440,"nodeType":860},{},[166441],{"data":166442,"marks":166443,"value":166444,"nodeType":864},{},[],"We’ve highlighted in purple the areas we’re focused on in this article. Let’s save on-prem, IaaS and PaaS for another article.",{"data":166446,"content":166447,"nodeType":860},{},[166448],{"data":166449,"marks":166450,"value":166451,"nodeType":864},{},[],"\nThis bears repeating - What the model above shows is that you as the customer are responsible for security at the SaaS account level and you must also configure the application securely. When it comes to SaaS applications, however, your configuration options are usually very basic, especially compared to larger cloud platforms.  ",{"data":166453,"content":166456,"nodeType":996},{"target":166454},{"sys":166455},{"id":148744,"type":1001,"linkType":1002},[],{"data":166458,"content":166459,"nodeType":860},{},[166460],{"data":166461,"marks":166462,"value":166463,"nodeType":864},{},[],"A successful SaaS security program must address both these questions. ",{"data":166465,"content":166466,"nodeType":860},{},[166467],{"data":166468,"marks":166469,"value":166470,"nodeType":864},{},[],"We can’t spend all our time doing risk assessments and due diligence exercises on our supply chain while dropping the ball on account security. ",{"data":166472,"content":166473,"nodeType":860},{},[166474],{"data":166475,"marks":166476,"value":166477,"nodeType":864},{},[],"Similarly, we can’t just focus on making sure all accounts have MFA in place when the vendor is leaving the back door open.",{"data":166479,"content":166480,"nodeType":1312},{},[166481],{"data":166482,"marks":166483,"value":166484,"nodeType":864},{},[],"Make the biggest impact by securing SaaS accounts and identities ",{"data":166486,"content":166487,"nodeType":860},{},[166488],{"data":166489,"marks":166490,"value":166491,"nodeType":864},{},[],"For the vast majority of SaaS applications in the organization, your responsibility will be:",{"data":166493,"content":166494,"nodeType":941},{},[166495,166504,166514],{"data":166496,"content":166497,"nodeType":945},{},[166498],{"data":166499,"content":166500,"nodeType":860},{},[166501],{"data":166502,"marks":166503,"value":148564,"nodeType":864},{},[],{"data":166505,"content":166506,"nodeType":945},{},[166507],{"data":166508,"content":166509,"nodeType":860},{},[166510],{"data":166511,"marks":166512,"value":166513,"nodeType":864},{},[],"Ensuring employees are using strong passwords, especially if MFA and/or SSO aren’t available.",{"data":166515,"content":166516,"nodeType":945},{},[166517],{"data":166518,"content":166519,"nodeType":860},{},[166520],{"data":166521,"marks":166522,"value":148584,"nodeType":864},{},[],{"data":166524,"content":166525,"nodeType":1312},{},[166526],{"data":166527,"marks":166528,"value":166529,"nodeType":864},{},[],"Customer responsibility for apps employees have adopted",{"data":166531,"content":166535,"nodeType":996},{"target":166532},{"sys":166533},{"id":166534,"type":1001,"linkType":1002},"2T7DtBRBBITb4Wy8unQHZV",[],{"data":166537,"content":166538,"nodeType":860},{},[166539],{"data":166540,"marks":166541,"value":166542,"nodeType":864},{},[],"While most organizations think of the supply chain aspect (“Should we be using this app?”) as the majority of the problem, or at least the first problem to solve - account security is ultimately at the heart of the problem.",{"data":166544,"content":166545,"nodeType":860},{},[166546],{"data":166547,"marks":166548,"value":166549,"nodeType":864},{},[],"A developer or support engineer with a weak password or missing MFA is all it takes for them to get phished, kicking off a string of attacks. ",{"data":166551,"content":166552,"nodeType":860},{},[166553,166557,166566],{"data":166554,"marks":166555,"value":166556,"nodeType":864},{},[],"The mistake many security professionals make, is that they focus their efforts only on securing the critical apps that are known to the organization. However, it is possible to compromise what would be considered as a non-critical SaaS application and use that to move laterally to the critical ones. See our research project discussing the various ",{"data":166558,"content":166561,"nodeType":27604},{"target":166559},{"sys":166560},{"id":101509,"type":1001,"linkType":1002},[166562],{"data":166563,"marks":166564,"value":166565,"nodeType":864},{},[],"SaaS attacks",{"data":166567,"marks":166568,"value":2924,"nodeType":864},{},[],{"data":166570,"content":166571,"nodeType":860},{},[166572],{"data":166573,"marks":166574,"value":166575,"nodeType":864},{},[],"Luckily, unlike the complex SaaS application supply chain risk audits, account security issues are straightforward to fix. ",{"data":166577,"content":166578,"nodeType":1009},{},[166579],{"data":166580,"marks":166581,"value":166582,"nodeType":864},{},[],"Right, but how do I also manage supply chain risk?",{"data":166584,"content":166585,"nodeType":860},{},[166586,166590,166595],{"data":166587,"marks":166588,"value":166589,"nodeType":864},{},[],"Security due diligence or app risk assessments are typically how you answer the question - ",{"data":166591,"marks":166592,"value":166594,"nodeType":864},{},[166593],{"type":2246},"Should we use this app?",{"data":166596,"marks":166597,"value":8618,"nodeType":864},{},[],{"data":166599,"content":166600,"nodeType":860},{},[166601],{"data":166602,"marks":166603,"value":166604,"nodeType":864},{},[],"These are standard processes for most organizations as part of a software procurement process.",{"data":166606,"content":166607,"nodeType":860},{},[166608,166612,166617],{"data":166609,"marks":166610,"value":166611,"nodeType":864},{},[],"However, security no longer fully controls software adoption - ",{"data":166613,"marks":166614,"value":166616,"nodeType":864},{},[166615],{"type":899},"employees are self-adopting the tools they want without oversight",{"data":166618,"marks":166619,"value":2924,"nodeType":864},{},[],{"data":166621,"content":166622,"nodeType":860},{},[166623],{"data":166624,"marks":166625,"value":166626,"nodeType":864},{},[],"So, you need to work to find serious security risks as soon as possible once the self-adoption process begins (normally by the first employee creating an account on the app).",{"data":166628,"content":166629,"nodeType":860},{},[166630],{"data":166631,"marks":166632,"value":166633,"nodeType":864},{},[],"Ultimately, how much you care about any of the above comes down to the risk of the data in the application (is there sensitive customer data in it?) or the level of access you grant this application into the rest of your infrastructure (often through integrations with other SaaS apps). ",{"data":166635,"content":166636,"nodeType":860},{},[166637],{"data":166638,"marks":166639,"value":166640,"nodeType":864},{},[],"Therefore, a useful first step is to understand the sensitivity of the data and access granted to the app (or that will likely be granted by employees in future to make the app work as expected). This will help you prioritize reviews.",{"data":166642,"content":166643,"nodeType":1312},{},[166644],{"data":166645,"marks":166646,"value":166647,"nodeType":864},{},[],"Tips for SaaS app and SaaS provider risk assessments",{"data":166649,"content":166650,"nodeType":860},{},[166651],{"data":166652,"marks":166653,"value":166654,"nodeType":864},{},[],"The security relevant areas of this risk assessment can typically be broken into:",{"data":166656,"content":166657,"nodeType":941},{},[166658,166695,166762],{"data":166659,"content":166660,"nodeType":945},{},[166661,166672],{"data":166662,"content":166663,"nodeType":860},{},[166664,166669],{"data":166665,"marks":166666,"value":166668,"nodeType":864},{},[166667],{"type":899},"Product risk",{"data":166670,"marks":166671,"value":8618,"nodeType":864},{},[],{"data":166673,"content":166674,"nodeType":941},{},[166675,166685],{"data":166676,"content":166677,"nodeType":945},{},[166678],{"data":166679,"content":166680,"nodeType":860},{},[166681],{"data":166682,"marks":166683,"value":166684,"nodeType":864},{},[],"Does the product have the necessary security features (MFA, SSO, etc.) to protect our data, and ",{"data":166686,"content":166687,"nodeType":945},{},[166688],{"data":166689,"content":166690,"nodeType":860},{},[166691],{"data":166692,"marks":166693,"value":166694,"nodeType":864},{},[],"Has the product security been technically verified (e.g. through a third party penetration test)?",{"data":166696,"content":166697,"nodeType":945},{},[166698,166709],{"data":166699,"content":166700,"nodeType":860},{},[166701,166706],{"data":166702,"marks":166703,"value":166705,"nodeType":864},{},[166704],{"type":899},"Vendor risk",{"data":166707,"marks":166708,"value":8618,"nodeType":864},{},[],{"data":166710,"content":166711,"nodeType":941},{},[166712,166722,166732,166742,166752],{"data":166713,"content":166714,"nodeType":945},{},[166715],{"data":166716,"content":166717,"nodeType":860},{},[166718],{"data":166719,"marks":166720,"value":166721,"nodeType":864},{},[],"Does the vendor have the resources to secure the product? ",{"data":166723,"content":166724,"nodeType":945},{},[166725],{"data":166726,"content":166727,"nodeType":860},{},[166728],{"data":166729,"marks":166730,"value":166731,"nodeType":864},{},[],"Have they invested in a security team and implemented appropriate security processes?",{"data":166733,"content":166734,"nodeType":945},{},[166735],{"data":166736,"content":166737,"nodeType":860},{},[166738],{"data":166739,"marks":166740,"value":166741,"nodeType":864},{},[],"Have those processes been independently audited (e.g. SOC2)? ",{"data":166743,"content":166744,"nodeType":945},{},[166745],{"data":166746,"content":166747,"nodeType":860},{},[166748],{"data":166749,"marks":166750,"value":166751,"nodeType":864},{},[],"Does the vendor operate in a high risk region?",{"data":166753,"content":166754,"nodeType":945},{},[166755],{"data":166756,"content":166757,"nodeType":860},{},[166758],{"data":166759,"marks":166760,"value":166761,"nodeType":864},{},[],"Does the vendor have a history of repeated security incidents?",{"data":166763,"content":166764,"nodeType":945},{},[166765,166777],{"data":166766,"content":166767,"nodeType":860},{},[166768,166773],{"data":166769,"marks":166770,"value":166772,"nodeType":864},{},[166771],{"type":899},"Vendor sub processors",{"data":166774,"marks":166775,"value":166776,"nodeType":864},{},[]," - the majority of SaaS applications are built on other *-as-a-Service platforms. These vendors are also part of your supply chain. Just because you don’t directly use a tool or app doesn’t mean you’re not affected when they’re popped. ",{"data":166778,"content":166779,"nodeType":941},{},[166780],{"data":166781,"content":166782,"nodeType":945},{},[166783],{"data":166784,"content":166785,"nodeType":860},{},[166786],{"data":166787,"marks":166788,"value":166789,"nodeType":864},{},[],"Realistically, you’re probably not going to be able to go very deep here, but when you’re wondering whether you’re affected by a breach in the news, you may want to know whether your vendors are using the affected SaaS app. ",{"data":166791,"content":166792,"nodeType":1312},{},[166793],{"data":166794,"marks":166795,"value":166796,"nodeType":864},{},[],"How to quickly assess security risks of employee-adopted SaaS applications",{"data":166798,"content":166799,"nodeType":860},{},[166800],{"data":166801,"marks":166802,"value":166803,"nodeType":864},{},[],"For employee-adopted SaaS platforms (those neither you nor the IT team had a hand in procuring and officially adopting on behalf of the company) you’re typically stuck doing your usual software procurement tasks after the app is adopted.",{"data":166805,"content":166806,"nodeType":860},{},[166807],{"data":166808,"marks":166809,"value":166810,"nodeType":864},{},[],"These include things like: ",{"data":166812,"content":166813,"nodeType":941},{},[166814,166824,166834],{"data":166815,"content":166816,"nodeType":945},{},[166817],{"data":166818,"content":166819,"nodeType":860},{},[166820],{"data":166821,"marks":166822,"value":166823,"nodeType":864},{},[],"legal agreements (terms and conditions, master service agreements etc.)",{"data":166825,"content":166826,"nodeType":945},{},[166827],{"data":166828,"content":166829,"nodeType":860},{},[166830],{"data":166831,"marks":166832,"value":166833,"nodeType":864},{},[],"spend (through licensing cost etc.)",{"data":166835,"content":166836,"nodeType":945},{},[166837],{"data":166838,"content":166839,"nodeType":860},{},[166840],{"data":166841,"marks":166842,"value":166843,"nodeType":864},{},[],"uptime and availability (SLAs etc.) ",{"data":166845,"content":166846,"nodeType":860},{},[166847],{"data":166848,"marks":166849,"value":166850,"nodeType":864},{},[],"Often, this comes up once employees need to upgrade to a paid account or higher license tier, or once it makes financial sense to commit to longer term agreements. ",{"data":166852,"content":166853,"nodeType":860},{},[166854],{"data":166855,"marks":166856,"value":166857,"nodeType":864},{},[],"For that reason, I recommend you keep the security risk assessment focused on the direct security aspects initially, so you reduce the work required to determine if there’s a security reason to stop employees from using this app right now.",{"data":166859,"content":166860,"nodeType":1009},{},[166861],{"data":166862,"marks":166863,"value":166864,"nodeType":864},{},[],"Managing SaaS account security for employee-adopted SaaS",{"data":166866,"content":166867,"nodeType":860},{},[166868,166872,166876],{"data":166869,"marks":166870,"value":166871,"nodeType":864},{},[],"Shifting the focus back to SaaS user account security, the very first step before you can even begin securing these accounts is to get visibility into all the apps your employees have adopted on their own. There are a few tools on the market to help with this. We’re obviously biased, but we feel that detecting SaaS use within the employees’ browser - where they’re accessing the app in the first place - is the most sensible and offers accurate visibility without a load of noisy false-positives. Read more about how we do this ",{"data":166873,"marks":166874,"value":29669,"nodeType":864},{},[166875],{"type":1455},{"data":166877,"marks":166878,"value":2924,"nodeType":864},{},[],{"data":166880,"content":166883,"nodeType":996},{"target":166881},{"sys":166882},{"id":92011,"type":1001,"linkType":1002},[],{"data":166885,"content":166886,"nodeType":1312},{},[166887],{"data":166888,"marks":166889,"value":166890,"nodeType":864},{},[],"I’ve got visibility, now what?",{"data":166892,"content":166893,"nodeType":860},{},[166894],{"data":166895,"marks":166896,"value":166897,"nodeType":864},{},[],"Once you’ve found the accounts, you’ll want to ensure that you’re:",{"data":166899,"content":166900,"nodeType":941},{},[166901,166911,166921,166931],{"data":166902,"content":166903,"nodeType":945},{},[166904],{"data":166905,"content":166906,"nodeType":860},{},[166907],{"data":166908,"marks":166909,"value":166910,"nodeType":864},{},[],"Enabling MFA for all accounts",{"data":166912,"content":166913,"nodeType":945},{},[166914],{"data":166915,"content":166916,"nodeType":860},{},[166917],{"data":166918,"marks":166919,"value":166920,"nodeType":864},{},[],"Encouraging employees to use strong passwords (ideally through a password manager)",{"data":166922,"content":166923,"nodeType":945},{},[166924],{"data":166925,"content":166926,"nodeType":860},{},[166927],{"data":166928,"marks":166929,"value":166930,"nodeType":864},{},[],"Using SSO, where possible and practical",{"data":166932,"content":166933,"nodeType":945},{},[166934],{"data":166935,"content":166936,"nodeType":860},{},[166937],{"data":166938,"marks":166939,"value":166940,"nodeType":864},{},[],"Reviewing access delegated to third-parties (through e.g. OAuth integrations) ",{"data":166942,"content":166943,"nodeType":860},{},[166944],{"data":166945,"marks":166946,"value":166947,"nodeType":864},{},[],"These tasks are tricky to do at scale, where you’re likely to find hundreds of SaaS apps you didn’t know about. Most SaaS security solutions - those focused on security rather than just keeping an up-to-date inventory - will provide some insight into how employees are logging into SaaS apps and whether they’re using MFA and strong passwords.\n\nWhen you’re looking for a solution, this is the kind of actionable data you’re going to want if you want to make a real impact on SaaS security. ",{"data":166949,"content":166950,"nodeType":1009},{},[166951],{"data":166952,"marks":166953,"value":166954,"nodeType":864},{},[],"Choose the solution that works best for your company and team",{"data":166956,"content":166957,"nodeType":860},{},[166958],{"data":166959,"marks":166960,"value":166961,"nodeType":864},{},[],"The increase in employee-adopted apps has led to employees creating more accounts, on more apps. Without the guiding hand of security to make sure strong identity and access controls are in place, you’ll need a SaaS security solution that can give you that level of visibility so you can take action. Manage SaaS risks by leveraging a SaaS security platform that offers you not just visibility, but can also provide security relevant information about the SaaS app and the SaaS provider to help you quickly perform due diligence so you can keep up.",{"entries":166963},{"inline":166964,"hyperlink":166965,"block":166970},[],[166966,166968],{"sys":166967,"__typename":2059,"title":150747,"slug":150748},{"id":141516},{"sys":166969,"__typename":2059,"title":102289,"slug":102292},{"id":101509},[166971,166974,166980,166988],{"sys":166972,"__typename":1724,"title":164879,"caption":59,"layoutMode":140740,"file":166973},{"id":151435},{"url":164881,"width":164882,"height":164883},{"sys":166975,"__typename":1724,"title":166976,"caption":166976,"layoutMode":140740,"file":166977},{"id":148744},"Two parts of SaaS security",{"url":166978,"width":1736,"height":166979},"https://images.ctfassets.net/y1cdw1ablpvd/2dRhaTc75s2mHGYmreOZDS/8d0c2dddbabfeaddd99f3f9aa781e718/image3.png",806,{"sys":166981,"__typename":1724,"title":166982,"caption":166983,"layoutMode":140740,"file":166984},{"id":166534},"Shared responsibility model - customer responsibilities - PLG","The security controls customers are responsible for",{"url":166985,"width":166986,"height":166987},"https://images.ctfassets.net/y1cdw1ablpvd/5NHny8Lh0CQjkK3N6WEbAM/ae9ee10605795c547d25177061b42391/image6.png",1966,1096,{"sys":166989,"__typename":1717,"type":80540,"ctaText":125792,"buttonLabel":125793,"buttonColour":1721,"buttonUrl":59},{"id":92011},{"items":166991},[],{},"SaaS security — what is it and how to manage the risk","2023-08-03T00:00:00.000Z",{"items":166996},[166997,167579],{"__typename":2059,"sys":166998,"content":167000,"title":167565,"synopsis":167566,"hashTags":59,"publishedDate":167567,"slug":167568,"tagsCollection":167569,"authorsCollection":167575},{"id":166999},"RColcmPkti04JQrda9WOp",{"json":167001},{"data":167002,"content":167003,"nodeType":856},{},[167004,167011,167018,167025,167042,167049,167054,167061,167068,167075,167082,167100,167107,167112,167119,167126,167149,167156,167163,167170,167177,167182,167189,167196,167205,167213,167220,167227,167234,167241,167248,167260,167267,167274,167281,167306,167339,167355,167366,167373,167380,167383,167390,167397,167404,167411,167418,167425,167432,167439,167446,167453,167460,167467,167474,167481,167488,167503,167522,167529,167536,167559],{"data":167005,"content":167006,"nodeType":860},{},[167007],{"data":167008,"marks":167009,"value":167010,"nodeType":864},{},[],"The way we’ve adopted software in our businesses has shifted dramatically over the years due to the rise of the product-led growth (PLG) movement. ",{"data":167012,"content":167013,"nodeType":1009},{},[167014],{"data":167015,"marks":167016,"value":167017,"nodeType":864},{},[],"What is PLG and how does it lead SaaS sprawl?",{"data":167019,"content":167020,"nodeType":860},{},[167021],{"data":167022,"marks":167023,"value":167024,"nodeType":864},{},[],"In PLG, SaaS providers offer free trials and free versions to entice employees to sign up and immediately start using and testing their SaaS applications. SaaS vendors know they can close deals quicker if they can prove the value of their tool with their users - your employees - and “become sticky” with those users. ",{"data":167026,"content":167027,"nodeType":860},{},[167028,167032,167038],{"data":167029,"marks":167030,"value":167031,"nodeType":864},{},[],"If vendors can make their cloud apps useful enough for employees to rely on them, ",{"data":167033,"marks":167034,"value":167037,"nodeType":864},{},[167035,167036],{"type":2246},{"type":899},"it’s much harder for IT and security teams to swoop in and force a move to a more secure or similar SaaS application",{"data":167039,"marks":167040,"value":167041,"nodeType":864},{},[]," that another team in the company is already using. ",{"data":167043,"content":167044,"nodeType":860},{},[167045],{"data":167046,"marks":167047,"value":167048,"nodeType":864},{},[],"This isn’t malicious, mind you - it’s just that vendors know that SaaS security audits and due diligence can extend their sales cycles and complicate their deals. Their quickest win is to get in with your employee and turn them into their champion within your company. Here’s a quick visual for how software onboarding typically flows in this PLG-ruled world:",{"data":167050,"content":167053,"nodeType":996},{"target":167051},{"sys":167052},{"id":148119,"type":1001,"linkType":1002},[],{"data":167055,"content":167056,"nodeType":860},{},[167057],{"data":167058,"marks":167059,"value":167060,"nodeType":864},{},[],"Because of this shift to adoption or free trials as the first step of a “software onboarding process,” Security and IT are left with huge visibility gaps, with shadow SaaS and shadow IT growing exponentially with each employee sign up. Those shadow apps are what we’re talking about when we discuss SaaS sprawl and the risks these unmonitored accounts introduce.",{"data":167062,"content":167063,"nodeType":1009},{},[167064],{"data":167065,"marks":167066,"value":167067,"nodeType":864},{},[],"The impact on SaaS security",{"data":167069,"content":167070,"nodeType":860},{},[167071],{"data":167072,"marks":167073,"value":167074,"nodeType":864},{},[],"This Saas provider shift toward pushing employees to sign up for SaaS apps without your oversight has already been happening and it’ll continue to grow in the years to come. That’s because PLG works! It’s helping SaaS vendors grow their businesses exponentially and more and more SaaS providers are going to start following suit.",{"data":167076,"content":167077,"nodeType":1009},{},[167078],{"data":167079,"marks":167080,"value":167081,"nodeType":864},{},[],"How big of a problem is this, really?",{"data":167083,"content":167084,"nodeType":860},{},[167085,167089,167096],{"data":167086,"marks":167087,"value":167088,"nodeType":864},{},[],"Back in 2015, Forrester ",{"data":167090,"content":167091,"nodeType":883},{"uri":148058},[167092],{"data":167093,"marks":167094,"value":148064,"nodeType":864},{},[167095],{"type":1455},{"data":167097,"marks":167098,"value":167099,"nodeType":864},{},[]," that 75% of B2B buyers prefer a no-sales-rep buying process. Product-led growth (PLG) is now the norm for SaaS companies, with around 60% of SaaS companies using this model now.  ",{"data":167101,"content":167102,"nodeType":860},{},[167103],{"data":167104,"marks":167105,"value":167106,"nodeType":864},{},[],"Here are just a few examples of common business SaaS applications sold via the PLG model, which you’ll definitely recognize. One thing you’ll quickly notice is that most of these apps are built for sales, marketing, and customer support:",{"data":167108,"content":167111,"nodeType":996},{"target":167109},{"sys":167110},{"id":148073,"type":1001,"linkType":1002},[],{"data":167113,"content":167114,"nodeType":1009},{},[167115],{"data":167116,"marks":167117,"value":167118,"nodeType":864},{},[],"SaaS sprawl: A massive increase in the number of SaaS applications businesses use ",{"data":167120,"content":167121,"nodeType":860},{},[167122],{"data":167123,"marks":167124,"value":167125,"nodeType":864},{},[],"Adding to the shadow SaaS and SaaS sprawl storm, the sheer number of apps in use has increased dramatically over the years, and will continue to do so. There are a couple reasons for this: ",{"data":167127,"content":167128,"nodeType":118765},{},[167129,167139],{"data":167130,"content":167131,"nodeType":945},{},[167132],{"data":167133,"content":167134,"nodeType":860},{},[167135],{"data":167136,"marks":167137,"value":167138,"nodeType":864},{},[],"The big old monolithic on-prem software is being replaced not by a single SaaS app, but an ecosystem of specialized apps. ",{"data":167140,"content":167141,"nodeType":945},{},[167142],{"data":167143,"content":167144,"nodeType":860},{},[167145],{"data":167146,"marks":167147,"value":167148,"nodeType":864},{},[],"Since apps are virtually zero-maintenance these days, the operating cost of running multiple apps is almost the same as running one giant on-prem or SaaS platform. This further multiplies the number of apps and vendors used in your business.",{"data":167150,"content":167151,"nodeType":1009},{},[167152],{"data":167153,"marks":167154,"value":167155,"nodeType":864},{},[],"Security SaaS applications don’t use PLG ",{"data":167157,"content":167158,"nodeType":860},{},[167159],{"data":167160,"marks":167161,"value":167162,"nodeType":864},{},[],"IT & security folks are usually ahead of the curve when it comes to technology shifts, but in this case many might have missed the scale or speed of the change. ",{"data":167164,"content":167165,"nodeType":860},{},[167166],{"data":167167,"marks":167168,"value":167169,"nodeType":864},{},[],"That’s because IT and security tools are among the least product-led of any sector. Most of our industry’s tools require heavy integrations, complicated setup, agent deployments, and so on. ",{"data":167171,"content":167172,"nodeType":860},{},[167173],{"data":167174,"marks":167175,"value":167176,"nodeType":864},{},[],"Note the difference between these common SaaS platforms for security and the ones for the rest of the company above:",{"data":167178,"content":167181,"nodeType":996},{"target":167179},{"sys":167180},{"id":148139,"type":1001,"linkType":1002},[],{"data":167183,"content":167184,"nodeType":860},{},[167185],{"data":167186,"marks":167187,"value":167188,"nodeType":864},{},[],"Notice how all those “Sign up now” buttons have morphed into “Get a demo” buttons? This is the “old-school” way of procuring software. You work with sales and get a live demo with the sales rep, rather than signing up and trying it for yourself. Then you do still have to do your due diligence and work directly with the vendor to vet whether they’ll responsibly protect your corporate and/or customer data, that they’re SOC2 compliant, and so on.",{"data":167190,"content":167191,"nodeType":860},{},[167192],{"data":167193,"marks":167194,"value":167195,"nodeType":864},{},[],"Unfortunately, few security companies are making products as easy to set up and use as new tools for marketing, sales, finance, development, engineering design, legal, HR, and basically every other sector.",{"data":167197,"content":167198,"nodeType":860},{},[167199],{"data":167200,"marks":167201,"value":167204,"nodeType":864},{},[167202,167203],{"type":899},{"type":2246},"This leads to a misconception that self-adopted apps are rare and don’t contain sensitive data. ",{"data":167206,"content":167207,"nodeType":860},{},[167208],{"data":167209,"marks":167210,"value":21,"nodeType":864},{},[167211,167212],{"type":899},{"type":2246},{"data":167214,"content":167215,"nodeType":1009},{},[167216],{"data":167217,"marks":167218,"value":167219,"nodeType":864},{},[],"Free trials interact with real, live corporate data",{"data":167221,"content":167222,"nodeType":860},{},[167223],{"data":167224,"marks":167225,"value":167226,"nodeType":864},{},[],"It’s not just the paid, fully-adopted apps that introduce third-party, supply-chain and SaaS application security risks to your organization. Even those free trials before an app is officially “adopted” can pose a significant security risk. ",{"data":167228,"content":167229,"nodeType":860},{},[167230],{"data":167231,"marks":167232,"value":167233,"nodeType":864},{},[],"For PLG to work, users need to experience meaningful value during that initial experience. To do that, users/your employees almost always need to connect the app to your live environment where it interacts with real data. ",{"data":167235,"content":167236,"nodeType":1009},{},[167237],{"data":167238,"marks":167239,"value":167240,"nodeType":864},{},[],"Security and IT only see a few of the apps employees are testing and signing up for",{"data":167242,"content":167243,"nodeType":860},{},[167244],{"data":167245,"marks":167246,"value":167247,"nodeType":864},{},[],"To make matters worse, only a small subset of those apps ever get submitted to finance or any official app-onboarding process. Typically, this happens when an employee outgrows the free or trial tier and needs to upgrade to a paid account. ",{"data":167249,"content":167250,"nodeType":860},{},[167251,167257],{"data":167252,"marks":167253,"value":167256,"nodeType":864},{},[167254,167255],{"type":2246},{"type":899},"The freemium and trial versions of apps are unlikely to ever be presented to IT and security.",{"data":167258,"marks":167259,"value":8618,"nodeType":864},{},[],{"data":167261,"content":167262,"nodeType":860},{},[167263],{"data":167264,"marks":167265,"value":167266,"nodeType":864},{},[],"Most agree that only about 2-5% of folks on freemium/free tiers become paying customers. With conversions from free to paid happening only at a very very low rate, it’s very likely that a lot of your employees are using a lot of free tier apps for at least some significant timeframe.",{"data":167268,"content":167269,"nodeType":860},{},[167270],{"data":167271,"marks":167272,"value":167273,"nodeType":864},{},[],"As mentioned earlier, real live data is often still input into those free apps. So, if you’re relying on finance records to tell you which apps employees are using, you’re going to miss all those free apps, which may never reach finance. And those free apps present just as much risk as the paid apps, more if you consider that you have no visibility into the majority of them. ",{"data":167275,"content":167276,"nodeType":1009},{},[167277],{"data":167278,"marks":167279,"value":167280,"nodeType":864},{},[],"Losing direct visibility into SaaS apps means Security is getting in too late",{"data":167282,"content":167283,"nodeType":860},{},[167284,167288,167293,167297,167302],{"data":167285,"marks":167286,"value":167287,"nodeType":864},{},[],"Though security teams have lost ",{"data":167289,"marks":167290,"value":167292,"nodeType":864},{},[167291],{"type":2246},"direct visibility",{"data":167294,"marks":167295,"value":167296,"nodeType":864},{},[],", they’ve not lost ",{"data":167298,"marks":167299,"value":167301,"nodeType":864},{},[167300],{"type":2246},"complete visibility.",{"data":167303,"marks":167304,"value":167305,"nodeType":864},{},[]," Many are finding out about at least a fraction of these apps, though things like:",{"data":167307,"content":167308,"nodeType":941},{},[167309,167319,167329],{"data":167310,"content":167311,"nodeType":945},{},[167312],{"data":167313,"content":167314,"nodeType":860},{},[167315],{"data":167316,"marks":167317,"value":167318,"nodeType":864},{},[],"Pulling expense reports once employees need to move from a free to paid tier of an app",{"data":167320,"content":167321,"nodeType":945},{},[167322],{"data":167323,"content":167324,"nodeType":860},{},[167325],{"data":167326,"marks":167327,"value":167328,"nodeType":864},{},[],"Scanning employee email inboxes for key phrases like, “Thanks for signing up for [app]”",{"data":167330,"content":167331,"nodeType":945},{},[167332],{"data":167333,"content":167334,"nodeType":860},{},[167335],{"data":167336,"marks":167337,"value":167338,"nodeType":864},{},[],"And, unfortunately, when something has already gone wrong and they’re asked to respond to an incident on a SaaS platform",{"data":167340,"content":167341,"nodeType":860},{},[167342,167345,167351],{"data":167343,"marks":167344,"value":149469,"nodeType":864},{},[],{"data":167346,"marks":167347,"value":167350,"nodeType":864},{},[167348,167349],{"type":2246},{"type":899},"security is getting visibility too late to be of much value",{"data":167352,"marks":167353,"value":167354,"nodeType":864},{},[],". As I mentioned earlier, once a team has been using an app (even on a free tier) for a year, it’s a huge challenge for Security to convince them to move to a more secure app or to consolidate apps when they find multiple teams using very similar apps. ",{"data":167356,"content":167357,"nodeType":860},{},[167358,167363],{"data":167359,"marks":167360,"value":167362,"nodeType":864},{},[167361],{"type":2246},"This intervention needs to happen very early - long before finance is involved - in order to make a positive impact.",{"data":167364,"marks":167365,"value":8618,"nodeType":864},{},[],{"data":167367,"content":167368,"nodeType":860},{},[167369],{"data":167370,"marks":167371,"value":167372,"nodeType":864},{},[],"Incident Response is necessary, of course, when a SaaS account is breached, but cannot recover the lost data after a successful attack. ",{"data":167374,"content":167375,"nodeType":860},{},[167376],{"data":167377,"marks":167378,"value":167379,"nodeType":864},{},[],"All of this obviously poses a problem from an IT and security standpoint. Don’t sound the alarms yet, though, there’s a way to regain some control over your corporate data without having to play bad cop with your entire company.",{"data":167381,"content":167382,"nodeType":1005},{},[],{"data":167384,"content":167385,"nodeType":1009},{},[167386],{"data":167387,"marks":167388,"value":167389,"nodeType":864},{},[],"First steps to reclaiming control",{"data":167391,"content":167392,"nodeType":860},{},[167393],{"data":167394,"marks":167395,"value":167396,"nodeType":864},{},[],"This is a very high-level take on where to start when it comes to SaaS sprawl and security and building out a strong SaaS and cloud security program. But, it’s a start!",{"data":167398,"content":167399,"nodeType":1312},{},[167400],{"data":167401,"marks":167402,"value":167403,"nodeType":864},{},[],"1. Shift your perspective ",{"data":167405,"content":167406,"nodeType":860},{},[167407],{"data":167408,"marks":167409,"value":167410,"nodeType":864},{},[],"To regain visibility and control, you need to work with employees, rather than focusing on blocking them from their favorite tools.",{"data":167412,"content":167413,"nodeType":860},{},[167414],{"data":167415,"marks":167416,"value":167417,"nodeType":864},{},[],"You can rein this in, but you must shift from the old way of thinking - you can no longer be the “Department of No” and have to shift to becoming the “Department of Yes, Unless….”",{"data":167419,"content":167420,"nodeType":1312},{},[167421],{"data":167422,"marks":167423,"value":167424,"nodeType":864},{},[],"2. Get in early",{"data":167426,"content":167427,"nodeType":860},{},[167428],{"data":167429,"marks":167430,"value":167431,"nodeType":864},{},[],"Do yourself a favor and buy yourself time to do due diligence on the multiple SaaS applications employees sign up for on their own. ",{"data":167433,"content":167434,"nodeType":860},{},[167435],{"data":167436,"marks":167437,"value":167438,"nodeType":864},{},[],"Getting involved before an employee or team are fully reliant on an app is the best way to make a positive impact on your SaaS security posture.",{"data":167440,"content":167441,"nodeType":860},{},[167442],{"data":167443,"marks":167444,"value":167445,"nodeType":864},{},[],"To do this, you need…",{"data":167447,"content":167448,"nodeType":1312},{},[167449],{"data":167450,"marks":167451,"value":167452,"nodeType":864},{},[],"3. Get real-time visibility into the SaaS and cloud apps your employees are signing up for",{"data":167454,"content":167455,"nodeType":860},{},[167456],{"data":167457,"marks":167458,"value":167459,"nodeType":864},{},[],"This can be a noisy mess, but it doesn’t have to be. Look for solutions with options that work with your existing workflow. Tools that send a ChatOps message to security whenever an employee signs up for a new app is a great start.",{"data":167461,"content":167462,"nodeType":860},{},[167463],{"data":167464,"marks":167465,"value":167466,"nodeType":864},{},[],"To cut through the noise, rely on a SaaS security solution that also provides security-relevant information that tells you when you should dig into an app further or when an app only poses minimal risk and can be ignored.",{"data":167468,"content":167469,"nodeType":1312},{},[167470],{"data":167471,"marks":167472,"value":167473,"nodeType":864},{},[],"4. Find and fix account security issues at the same time",{"data":167475,"content":167476,"nodeType":860},{},[167477],{"data":167478,"marks":167479,"value":167480,"nodeType":864},{},[],"We suggest you focus on account security issues since this is where the attacks are happening - at the account level. ",{"data":167482,"content":167483,"nodeType":860},{},[167484],{"data":167485,"marks":167486,"value":167487,"nodeType":864},{},[],"Getting SaaS visibility is crucial, but it’s not useful if the data leads to false positives. Tracking down cloud apps that aren’t actually in use is a massive waste of your time.",{"data":167489,"content":167490,"nodeType":860},{},[167491,167495,167499],{"data":167492,"marks":167493,"value":167494,"nodeType":864},{},[],"To get the most accurate visibility into shadow SaaS, consider a browser extension. Why, yes, we ",{"data":167496,"marks":167497,"value":155221,"nodeType":864},{},[167498],{"type":2246},{"data":167500,"marks":167501,"value":167502,"nodeType":864},{},[],"biased! But we built our product on top of a combo of API data and browser data because that’s where employees are accessing and signing up for their SaaS and cloud apps. ",{"data":167504,"content":167505,"nodeType":860},{},[167506,167510,167518],{"data":167507,"marks":167508,"value":167509,"nodeType":864},{},[],"We dig into this SaaS discovery data source topic in much more detail ",{"data":167511,"content":167513,"nodeType":883},{"uri":167512},"https://pushsecurity.com/blog/want-to-discover-the-full-extent-of-your-saas-sprawl-embrace-browser/",[167514],{"data":167515,"marks":167516,"value":29669,"nodeType":864},{},[167517],{"type":1455},{"data":167519,"marks":167520,"value":167521,"nodeType":864},{},[],", so that’s worth a read when you’re ready to start prioritizing SaaS security and evaluating solutions. ",{"data":167523,"content":167524,"nodeType":1312},{},[167525],{"data":167526,"marks":167527,"value":167528,"nodeType":864},{},[],"5. Work with employees to reduce the burden on your security team ",{"data":167530,"content":167531,"nodeType":860},{},[167532],{"data":167533,"marks":167534,"value":167535,"nodeType":864},{},[],"No, you don’t want employees making security decisions, but you will need to find a way to help them secure the SaaS accounts they have at a user-level.",{"data":167537,"content":167538,"nodeType":941},{},[167539,167549],{"data":167540,"content":167541,"nodeType":945},{},[167542],{"data":167543,"content":167544,"nodeType":860},{},[167545],{"data":167546,"marks":167547,"value":167548,"nodeType":864},{},[],"To keep up with the scale of SaaS adoption and SaaS sprawl in your attack surface, which will continue to grow weekly, you’ll need to automate the information-gathering part of the process. ",{"data":167550,"content":167551,"nodeType":945},{},[167552],{"data":167553,"content":167554,"nodeType":860},{},[167555],{"data":167556,"marks":167557,"value":167558,"nodeType":864},{},[],"When possible, equip employees to self-remediate issues and complete tasks (like signing up for MFA in the app) that your team would otherwise have to do. ",{"data":167560,"content":167561,"nodeType":860},{},[167562],{"data":167563,"marks":167564,"value":21,"nodeType":864},{},[],"Free and trial SaaS applications are even riskier than paid apps","Free and trial SaaS accounts are often invisible to security teams and still interact with real, live corporate data.","2023-07-11T00:00:00.000Z","free-and-trial-saas-applications-are-even-riskier-than-paid-apps",{"items":167570},[167571,167573],{"sys":167572,"name":2729},{"id":2728},{"sys":167574,"name":4904},{"id":4903},{"items":167576},[167577],{"fullName":140213,"firstName":140214,"jobTitle":140215,"profilePicture":167578},{"url":140217},{"__typename":2059,"sys":167580,"content":167581,"title":164841,"synopsis":165535,"hashTags":59,"publishedDate":165536,"slug":164842,"tagsCollection":168109,"authorsCollection":168115},{"id":151289},{"json":167582},{"data":167583,"content":167584,"nodeType":856},{},[167585,167595,167601,167607,167613,167619,167642,167648,167663,167669,167685,167691,167696,167818,167824,167830,167836,167882,167888,167903,167909,167915,167921,167927,167933,167939,167945,167951,167957,167963,167969,167975,167995,168001,168007,168013,168019,168025,168031,168037,168043,168049,168055,168061,168067,168073,168079,168085,168088,168094,168097,168103],{"data":167586,"content":167587,"nodeType":860},{},[167588,167591],{"data":167589,"marks":167590,"value":164930,"nodeType":864},{},[],{"data":167592,"marks":167593,"value":164935,"nodeType":864},{},[167594],{"type":2246},{"data":167596,"content":167597,"nodeType":860},{},[167598],{"data":167599,"marks":167600,"value":164942,"nodeType":864},{},[],{"data":167602,"content":167603,"nodeType":860},{},[167604],{"data":167605,"marks":167606,"value":164949,"nodeType":864},{},[],{"data":167608,"content":167609,"nodeType":860},{},[167610],{"data":167611,"marks":167612,"value":164956,"nodeType":864},{},[],{"data":167614,"content":167615,"nodeType":1009},{},[167616],{"data":167617,"marks":167618,"value":164963,"nodeType":864},{},[],{"data":167620,"content":167621,"nodeType":860},{},[167622,167625,167629,167632,167639],{"data":167623,"marks":167624,"value":164970,"nodeType":864},{},[],{"data":167626,"marks":167627,"value":164975,"nodeType":864},{},[167628],{"type":1455},{"data":167630,"marks":167631,"value":164979,"nodeType":864},{},[],{"data":167633,"content":167634,"nodeType":883},{"uri":164982},[167635],{"data":167636,"marks":167637,"value":38987,"nodeType":864},{},[167638],{"type":1455},{"data":167640,"marks":167641,"value":164991,"nodeType":864},{},[],{"data":167643,"content":167644,"nodeType":860},{},[167645],{"data":167646,"marks":167647,"value":164998,"nodeType":864},{},[],{"data":167649,"content":167650,"nodeType":860},{},[167651,167654,167660],{"data":167652,"marks":167653,"value":165005,"nodeType":864},{},[],{"data":167655,"content":167656,"nodeType":883},{"uri":165008},[167657],{"data":167658,"marks":167659,"value":165013,"nodeType":864},{},[],{"data":167661,"marks":167662,"value":165017,"nodeType":864},{},[],{"data":167664,"content":167665,"nodeType":1009},{},[167666],{"data":167667,"marks":167668,"value":165024,"nodeType":864},{},[],{"data":167670,"content":167671,"nodeType":860},{},[167672,167675,167682],{"data":167673,"marks":167674,"value":165031,"nodeType":864},{},[],{"data":167676,"content":167677,"nodeType":883},{"uri":165034},[167678],{"data":167679,"marks":167680,"value":165040,"nodeType":864},{},[167681],{"type":1455},{"data":167683,"marks":167684,"value":165044,"nodeType":864},{},[],{"data":167686,"content":167687,"nodeType":860},{},[167688],{"data":167689,"marks":167690,"value":165051,"nodeType":864},{},[],{"data":167692,"content":167695,"nodeType":996},{"target":167693},{"sys":167694},{"id":165056,"type":1001,"linkType":1002},[],{"data":167697,"content":167698,"nodeType":118765},{},[167699,167751,167764,167777,167790],{"data":167700,"content":167701,"nodeType":945},{},[167702,167712],{"data":167703,"content":167704,"nodeType":860},{},[167705,167709],{"data":167706,"marks":167707,"value":165071,"nodeType":864},{},[167708],{"type":899},{"data":167710,"marks":167711,"value":165075,"nodeType":864},{},[],{"data":167713,"content":167714,"nodeType":118765},{},[167715,167724,167733,167742],{"data":167716,"content":167717,"nodeType":945},{},[167718],{"data":167719,"content":167720,"nodeType":860},{},[167721],{"data":167722,"marks":167723,"value":165088,"nodeType":864},{},[],{"data":167725,"content":167726,"nodeType":945},{},[167727],{"data":167728,"content":167729,"nodeType":860},{},[167730],{"data":167731,"marks":167732,"value":165098,"nodeType":864},{},[],{"data":167734,"content":167735,"nodeType":945},{},[167736],{"data":167737,"content":167738,"nodeType":860},{},[167739],{"data":167740,"marks":167741,"value":165108,"nodeType":864},{},[],{"data":167743,"content":167744,"nodeType":945},{},[167745],{"data":167746,"content":167747,"nodeType":860},{},[167748],{"data":167749,"marks":167750,"value":165118,"nodeType":864},{},[],{"data":167752,"content":167753,"nodeType":945},{},[167754],{"data":167755,"content":167756,"nodeType":860},{},[167757,167761],{"data":167758,"marks":167759,"value":165129,"nodeType":864},{},[167760],{"type":899},{"data":167762,"marks":167763,"value":165133,"nodeType":864},{},[],{"data":167765,"content":167766,"nodeType":945},{},[167767],{"data":167768,"content":167769,"nodeType":860},{},[167770,167774],{"data":167771,"marks":167772,"value":165144,"nodeType":864},{},[167773],{"type":899},{"data":167775,"marks":167776,"value":165148,"nodeType":864},{},[],{"data":167778,"content":167779,"nodeType":945},{},[167780],{"data":167781,"content":167782,"nodeType":860},{},[167783,167787],{"data":167784,"marks":167785,"value":165159,"nodeType":864},{},[167786],{"type":899},{"data":167788,"marks":167789,"value":165163,"nodeType":864},{},[],{"data":167791,"content":167792,"nodeType":945},{},[167793,167806],{"data":167794,"content":167795,"nodeType":860},{},[167796,167799,167803],{"data":167797,"marks":167798,"value":165173,"nodeType":864},{},[],{"data":167800,"marks":167801,"value":165178,"nodeType":864},{},[167802],{"type":899},{"data":167804,"marks":167805,"value":165182,"nodeType":864},{},[],{"data":167807,"content":167808,"nodeType":118765},{},[167809],{"data":167810,"content":167811,"nodeType":945},{},[167812],{"data":167813,"content":167814,"nodeType":860},{},[167815],{"data":167816,"marks":167817,"value":165195,"nodeType":864},{},[],{"data":167819,"content":167820,"nodeType":860},{},[167821],{"data":167822,"marks":167823,"value":165202,"nodeType":864},{},[],{"data":167825,"content":167826,"nodeType":1009},{},[167827],{"data":167828,"marks":167829,"value":165209,"nodeType":864},{},[],{"data":167831,"content":167832,"nodeType":860},{},[167833],{"data":167834,"marks":167835,"value":165216,"nodeType":864},{},[],{"data":167837,"content":167838,"nodeType":941},{},[167839,167848,167857,167873],{"data":167840,"content":167841,"nodeType":945},{},[167842],{"data":167843,"content":167844,"nodeType":860},{},[167845],{"data":167846,"marks":167847,"value":165229,"nodeType":864},{},[],{"data":167849,"content":167850,"nodeType":945},{},[167851],{"data":167852,"content":167853,"nodeType":860},{},[167854],{"data":167855,"marks":167856,"value":165239,"nodeType":864},{},[],{"data":167858,"content":167859,"nodeType":945},{},[167860],{"data":167861,"content":167862,"nodeType":860},{},[167863,167866,167870],{"data":167864,"marks":167865,"value":165249,"nodeType":864},{},[],{"data":167867,"marks":167868,"value":165254,"nodeType":864},{},[167869],{"type":2246},{"data":167871,"marks":167872,"value":165258,"nodeType":864},{},[],{"data":167874,"content":167875,"nodeType":945},{},[167876],{"data":167877,"content":167878,"nodeType":860},{},[167879],{"data":167880,"marks":167881,"value":165268,"nodeType":864},{},[],{"data":167883,"content":167884,"nodeType":860},{},[167885],{"data":167886,"marks":167887,"value":165275,"nodeType":864},{},[],{"data":167889,"content":167890,"nodeType":860},{},[167891,167894,167900],{"data":167892,"marks":167893,"value":165282,"nodeType":864},{},[],{"data":167895,"content":167896,"nodeType":883},{"uri":165285},[167897],{"data":167898,"marks":167899,"value":165290,"nodeType":864},{},[],{"data":167901,"marks":167902,"value":165294,"nodeType":864},{},[],{"data":167904,"content":167905,"nodeType":860},{},[167906],{"data":167907,"marks":167908,"value":165301,"nodeType":864},{},[],{"data":167910,"content":167911,"nodeType":1009},{},[167912],{"data":167913,"marks":167914,"value":165308,"nodeType":864},{},[],{"data":167916,"content":167917,"nodeType":860},{},[167918],{"data":167919,"marks":167920,"value":165315,"nodeType":864},{},[],{"data":167922,"content":167923,"nodeType":860},{},[167924],{"data":167925,"marks":167926,"value":165322,"nodeType":864},{},[],{"data":167928,"content":167929,"nodeType":860},{},[167930],{"data":167931,"marks":167932,"value":165329,"nodeType":864},{},[],{"data":167934,"content":167935,"nodeType":860},{},[167936],{"data":167937,"marks":167938,"value":165336,"nodeType":864},{},[],{"data":167940,"content":167941,"nodeType":1009},{},[167942],{"data":167943,"marks":167944,"value":165343,"nodeType":864},{},[],{"data":167946,"content":167947,"nodeType":860},{},[167948],{"data":167949,"marks":167950,"value":165350,"nodeType":864},{},[],{"data":167952,"content":167953,"nodeType":860},{},[167954],{"data":167955,"marks":167956,"value":165357,"nodeType":864},{},[],{"data":167958,"content":167959,"nodeType":1312},{},[167960],{"data":167961,"marks":167962,"value":165364,"nodeType":864},{},[],{"data":167964,"content":167965,"nodeType":860},{},[167966],{"data":167967,"marks":167968,"value":165371,"nodeType":864},{},[],{"data":167970,"content":167971,"nodeType":860},{},[167972],{"data":167973,"marks":167974,"value":165378,"nodeType":864},{},[],{"data":167976,"content":167977,"nodeType":860},{},[167978,167981,167988,167992],{"data":167979,"marks":167980,"value":165385,"nodeType":864},{},[],{"data":167982,"content":167983,"nodeType":883},{"uri":165388},[167984],{"data":167985,"marks":167986,"value":165394,"nodeType":864},{},[167987],{"type":1455},{"data":167989,"marks":167990,"value":1171,"nodeType":864},{},[167991],{"type":1455},{"data":167993,"marks":167994,"value":165402,"nodeType":864},{},[],{"data":167996,"content":167997,"nodeType":860},{},[167998],{"data":167999,"marks":168000,"value":165409,"nodeType":864},{},[],{"data":168002,"content":168003,"nodeType":1312},{},[168004],{"data":168005,"marks":168006,"value":165416,"nodeType":864},{},[],{"data":168008,"content":168009,"nodeType":860},{},[168010],{"data":168011,"marks":168012,"value":165423,"nodeType":864},{},[],{"data":168014,"content":168015,"nodeType":860},{},[168016],{"data":168017,"marks":168018,"value":165430,"nodeType":864},{},[],{"data":168020,"content":168021,"nodeType":860},{},[168022],{"data":168023,"marks":168024,"value":165437,"nodeType":864},{},[],{"data":168026,"content":168027,"nodeType":860},{},[168028],{"data":168029,"marks":168030,"value":165444,"nodeType":864},{},[],{"data":168032,"content":168033,"nodeType":860},{},[168034],{"data":168035,"marks":168036,"value":165451,"nodeType":864},{},[],{"data":168038,"content":168039,"nodeType":1312},{},[168040],{"data":168041,"marks":168042,"value":165458,"nodeType":864},{},[],{"data":168044,"content":168045,"nodeType":860},{},[168046],{"data":168047,"marks":168048,"value":165465,"nodeType":864},{},[],{"data":168050,"content":168051,"nodeType":860},{},[168052],{"data":168053,"marks":168054,"value":165472,"nodeType":864},{},[],{"data":168056,"content":168057,"nodeType":1312},{},[168058],{"data":168059,"marks":168060,"value":165479,"nodeType":864},{},[],{"data":168062,"content":168063,"nodeType":860},{},[168064],{"data":168065,"marks":168066,"value":165486,"nodeType":864},{},[],{"data":168068,"content":168069,"nodeType":860},{},[168070],{"data":168071,"marks":168072,"value":165493,"nodeType":864},{},[],{"data":168074,"content":168075,"nodeType":1009},{},[168076],{"data":168077,"marks":168078,"value":165500,"nodeType":864},{},[],{"data":168080,"content":168081,"nodeType":860},{},[168082],{"data":168083,"marks":168084,"value":165507,"nodeType":864},{},[],{"data":168086,"content":168087,"nodeType":1005},{},[],{"data":168089,"content":168090,"nodeType":860},{},[168091],{"data":168092,"marks":168093,"value":165517,"nodeType":864},{},[],{"data":168095,"content":168096,"nodeType":1005},{},[],{"data":168098,"content":168099,"nodeType":860},{},[168100],{"data":168101,"marks":168102,"value":165527,"nodeType":864},{},[],{"data":168104,"content":168105,"nodeType":860},{},[168106],{"data":168107,"marks":168108,"value":165534,"nodeType":864},{},[],{"items":168110},[168111,168113],{"sys":168112,"name":4904},{"id":4903},{"sys":168114,"name":2729},{"id":2728},{"items":168116},[168117],{"fullName":38408,"firstName":38409,"jobTitle":38410,"profilePicture":168118},{"url":38412},"what-is-saas-security","blog/what-is-saas-security",{"json":168122},{"data":168123,"content":168124,"nodeType":856},{},[168125],{"data":168126,"content":168127,"nodeType":860},{},[168128],{"data":168129,"marks":168130,"value":166307,"nodeType":864},{},[],"We'll quickly define SaaS security and help you better understand how to manage the risk SaaS applications introduce to your business",{"id":168133,"publishedAt":168134},"5lCSAF777tY9gHUL363UwZ","2026-08-12T11:56:06.221Z",{"items":168136},[168137,168139],{"sys":168138,"name":2729},{"id":2728},{"sys":168140,"name":297},{"id":2732},{"items":168142},[168143,168145,168147,168149,168151,168153,168155],{"sys":168144,"name":413,"slug":414,"tier":31},{"id":410},{"sys":168146,"name":545,"slug":546,"tier":31},{"id":542},{"sys":168148,"name":297,"slug":298,"tier":31},{"id":294},{"sys":168150,"name":589,"slug":590,"tier":45},{"id":586},{"sys":168152,"name":633,"slug":634,"tier":45},{"id":630},{"sys":168154,"name":457,"slug":458,"tier":45},{"id":454},{"sys":168156,"name":502,"slug":503,"tier":45},{"id":499},"nbltWOVheo2Z2gZXM2QAn937qz5l9FymwvbfBwHDbx8",{"id":168159,"title":152585,"authorsCollection":168160,"content":168164,"extension":228,"faqItemsCollection":168414,"faqTitle":59,"featured":6,"hashTags":59,"meta":168416,"metaTitle":168417,"ogImage":59,"postType":79438,"publishedDate":152587,"relatedBlogPostsCollection":168418,"slug":152588,"stem":169235,"subtitle":59,"summary":169236,"synopsis":152586,"sys":169247,"tagsCollection":169249,"topicsCollection":169253,"__hash__":169263},"blog/blog/product-release-july-2023.json",{"items":168161},[168162],{"fullName":79005,"firstName":79006,"jobTitle":79007,"socialLinks":59,"profilePicture":168163},{"url":79009},{"json":168165,"links":168379},{"data":168166,"content":168167,"nodeType":856},{},[168168,168175,168214,168220,168226,168231,168248,168254,168274,168279,168296,168302,168315,168328,168333,168350,168356,168362,168368,168373],{"data":168169,"content":168170,"nodeType":860},{},[168171],{"data":168172,"marks":168173,"value":117629,"nodeType":864},{},[168174],{"type":899},{"data":168176,"content":168177,"nodeType":941},{},[168178,168187,168196,168205],{"data":168179,"content":168180,"nodeType":945},{},[168181],{"data":168182,"content":168183,"nodeType":860},{},[168184],{"data":168185,"marks":168186,"value":152371,"nodeType":864},{},[],{"data":168188,"content":168189,"nodeType":945},{},[168190],{"data":168191,"content":168192,"nodeType":860},{},[168193],{"data":168194,"marks":168195,"value":152381,"nodeType":864},{},[],{"data":168197,"content":168198,"nodeType":945},{},[168199],{"data":168200,"content":168201,"nodeType":860},{},[168202],{"data":168203,"marks":168204,"value":152391,"nodeType":864},{},[],{"data":168206,"content":168207,"nodeType":945},{},[168208],{"data":168209,"content":168210,"nodeType":860},{},[168211],{"data":168212,"marks":168213,"value":152401,"nodeType":864},{},[],{"data":168215,"content":168216,"nodeType":1312},{},[168217],{"data":168218,"marks":168219,"value":152371,"nodeType":864},{},[],{"data":168221,"content":168222,"nodeType":860},{},[168223],{"data":168224,"marks":168225,"value":152414,"nodeType":864},{},[],{"data":168227,"content":168230,"nodeType":996},{"target":168228},{"sys":168229},{"id":152419,"type":1001,"linkType":1002},[],{"data":168232,"content":168233,"nodeType":860},{},[168234,168237,168245],{"data":168235,"marks":168236,"value":21,"nodeType":864},{},[],{"data":168238,"content":168241,"nodeType":27604},{"target":168239},{"sys":168240},{"id":152431,"type":1001,"linkType":1002},[168242],{"data":168243,"marks":168244,"value":79249,"nodeType":864},{},[],{"data":168246,"marks":168247,"value":21,"nodeType":864},{},[],{"data":168249,"content":168250,"nodeType":1312},{},[168251],{"data":168252,"marks":168253,"value":152381,"nodeType":864},{},[],{"data":168255,"content":168256,"nodeType":860},{},[168257,168260,168264,168267,168271],{"data":168258,"marks":168259,"value":152451,"nodeType":864},{},[],{"data":168261,"marks":168262,"value":74706,"nodeType":864},{},[168263],{"type":899},{"data":168265,"marks":168266,"value":152459,"nodeType":864},{},[],{"data":168268,"marks":168269,"value":74698,"nodeType":864},{},[168270],{"type":899},{"data":168272,"marks":168273,"value":152467,"nodeType":864},{},[],{"data":168275,"content":168278,"nodeType":996},{"target":168276},{"sys":168277},{"id":152079,"type":1001,"linkType":1002},[],{"data":168280,"content":168281,"nodeType":860},{},[168282,168285,168293],{"data":168283,"marks":168284,"value":21,"nodeType":864},{},[],{"data":168286,"content":168289,"nodeType":27604},{"target":168287},{"sys":168288},{"id":152092,"type":1001,"linkType":1002},[168290],{"data":168291,"marks":168292,"value":79249,"nodeType":864},{},[],{"data":168294,"marks":168295,"value":21,"nodeType":864},{},[],{"data":168297,"content":168298,"nodeType":1312},{},[168299],{"data":168300,"marks":168301,"value":152391,"nodeType":864},{},[],{"data":168303,"content":168304,"nodeType":860},{},[168305,168308,168312],{"data":168306,"marks":168307,"value":152502,"nodeType":864},{},[],{"data":168309,"marks":168310,"value":152507,"nodeType":864},{},[168311],{"type":899},{"data":168313,"marks":168314,"value":152511,"nodeType":864},{},[],{"data":168316,"content":168317,"nodeType":860},{},[168318,168321,168325],{"data":168319,"marks":168320,"value":152518,"nodeType":864},{},[],{"data":168322,"marks":168323,"value":152523,"nodeType":864},{},[168324],{"type":899},{"data":168326,"marks":168327,"value":152527,"nodeType":864},{},[],{"data":168329,"content":168332,"nodeType":996},{"target":168330},{"sys":168331},{"id":152532,"type":1001,"linkType":1002},[],{"data":168334,"content":168335,"nodeType":860},{},[168336,168339,168347],{"data":168337,"marks":168338,"value":21,"nodeType":864},{},[],{"data":168340,"content":168343,"nodeType":27604},{"target":168341},{"sys":168342},{"id":152544,"type":1001,"linkType":1002},[168344],{"data":168345,"marks":168346,"value":79249,"nodeType":864},{},[],{"data":168348,"marks":168349,"value":21,"nodeType":864},{},[],{"data":168351,"content":168352,"nodeType":1312},{},[168353],{"data":168354,"marks":168355,"value":152558,"nodeType":864},{},[],{"data":168357,"content":168358,"nodeType":860},{},[168359],{"data":168360,"marks":168361,"value":152565,"nodeType":864},{},[],{"data":168363,"content":168364,"nodeType":860},{},[168365],{"data":168366,"marks":168367,"value":152572,"nodeType":864},{},[],{"data":168369,"content":168372,"nodeType":996},{"target":168370},{"sys":168371},{"id":152577,"type":1001,"linkType":1002},[],{"data":168374,"content":168375,"nodeType":860},{},[168376],{"data":168377,"marks":168378,"value":21,"nodeType":864},{},[],{"entries":168380},{"inline":168381,"hyperlink":168382,"block":168395},[],[168383,168388,168390],{"sys":168384,"__typename":79413,"title":168385,"slug":168386,"articleId":168387},{"id":152431},"ChatOps topic guide: App discovery","chatops-topic-guide-saas-notifications",10059,{"sys":168389,"__typename":79413,"title":164859,"slug":164860,"articleId":164861},{"id":152092},{"sys":168391,"__typename":79413,"title":168392,"slug":168393,"articleId":168394},{"id":152544},"ChatOps topic guide: Security findings","chatops-topic-guide-security-findings",10093,[168396,168401,168404,168409],{"sys":168397,"__typename":1724,"title":168398,"caption":59,"layoutMode":59,"file":168399},{"id":152419},"New SaaS ChatOps gif - release notes - July 2023",{"url":168400,"width":139982,"height":164911},"https://images.ctfassets.net/y1cdw1ablpvd/6yLgKYpdXyFAKyZdSYDr9x/5dc78a007bfa29ae6a9fe86bdc680ba9/saas_discovery_topic_demo_small.gif",{"sys":168402,"__typename":1724,"title":164908,"caption":59,"layoutMode":59,"file":168403},{"id":152079},{"url":164910,"width":139982,"height":164911},{"sys":168405,"__typename":1724,"title":168406,"caption":59,"layoutMode":59,"file":168407},{"id":152532},"Security findings ChatOps gif - release notes - July 2023",{"url":168408,"width":139982,"height":164911},"https://images.ctfassets.net/y1cdw1ablpvd/357PUa97HGTzwsVHO8o5Zf/e67dc8f369eb07a192cef4db8aab05d9/security_findings_topic_demo.gif",{"sys":168410,"__typename":1724,"title":168411,"caption":59,"layoutMode":59,"file":168412},{"id":152577},"Unused integration ChatOps gif - release notes - July 2023",{"url":168413,"width":139982,"height":164911},"https://images.ctfassets.net/y1cdw1ablpvd/3Ccv1rnUc7zzjEx6DTTMA5/1c39bb37d3d94304780b188687d65058/unused_integration_chat_demo.gif",{"items":168415},[],{},"Push Security new product features for July 2023 ",{"items":168419},[168420,168716],{"__typename":2059,"sys":168421,"content":168422,"title":152926,"synopsis":152927,"hashTags":59,"publishedDate":152928,"slug":152929,"tagsCollection":168708,"authorsCollection":168712},{"id":152599},{"json":168423},{"nodeType":856,"data":168424,"content":168425},{},[168426,168432,168480,168483,168489,168515,168521,168526,168542,168548,168563,168568,168584,168590,168612,168617,168633,168639,168652,168657,168663,168687,168692],{"nodeType":1009,"data":168427,"content":168428},{},[168429],{"nodeType":864,"value":152608,"marks":168430,"data":168431},[],{},{"nodeType":941,"data":168433,"content":168434},{},[168435,168444,168453,168462,168471],{"nodeType":945,"data":168436,"content":168437},{},[168438],{"nodeType":860,"data":168439,"content":168440},{},[168441],{"nodeType":864,"value":152621,"marks":168442,"data":168443},[],{},{"nodeType":945,"data":168445,"content":168446},{},[168447],{"nodeType":860,"data":168448,"content":168449},{},[168450],{"nodeType":864,"value":152631,"marks":168451,"data":168452},[],{},{"nodeType":945,"data":168454,"content":168455},{},[168456],{"nodeType":860,"data":168457,"content":168458},{},[168459],{"nodeType":864,"value":152641,"marks":168460,"data":168461},[],{},{"nodeType":945,"data":168463,"content":168464},{},[168465],{"nodeType":860,"data":168466,"content":168467},{},[168468],{"nodeType":864,"value":152651,"marks":168469,"data":168470},[],{},{"nodeType":945,"data":168472,"content":168473},{},[168474],{"nodeType":860,"data":168475,"content":168476},{},[168477],{"nodeType":864,"value":152661,"marks":168478,"data":168479},[],{},{"nodeType":1005,"data":168481,"content":168482},{},[],{"nodeType":1312,"data":168484,"content":168485},{},[168486],{"nodeType":864,"value":152621,"marks":168487,"data":168488},[],{},{"nodeType":860,"data":168490,"content":168491},{},[168492,168495,168501,168504,168512],{"nodeType":864,"value":79688,"marks":168493,"data":168494},[],{},{"nodeType":883,"data":168496,"content":168497},{"uri":152681},[168498],{"nodeType":864,"value":152684,"marks":168499,"data":168500},[],{},{"nodeType":864,"value":152688,"marks":168502,"data":168503},[],{},{"nodeType":27604,"data":168505,"content":168508},{"target":168506},{"sys":168507},{"id":152431,"type":1001,"linkType":1002},[168509],{"nodeType":864,"value":152697,"marks":168510,"data":168511},[],{},{"nodeType":864,"value":2924,"marks":168513,"data":168514},[],{},{"nodeType":860,"data":168516,"content":168517},{},[168518],{"nodeType":864,"value":152707,"marks":168519,"data":168520},[],{},{"nodeType":996,"data":168522,"content":168525},{"target":168523},{"sys":168524},{"id":152714,"type":1001,"linkType":1002},[],{"nodeType":860,"data":168527,"content":168528},{},[168529,168532,168539],{"nodeType":864,"value":21,"marks":168530,"data":168531},[],{},{"nodeType":883,"data":168533,"content":168534},{"uri":152681},[168535],{"nodeType":864,"value":79249,"marks":168536,"data":168538},[168537],{"type":899},{},{"nodeType":864,"value":21,"marks":168540,"data":168541},[],{},{"nodeType":1312,"data":168543,"content":168544},{},[168545],{"nodeType":864,"value":152631,"marks":168546,"data":168547},[],{},{"nodeType":860,"data":168549,"content":168550},{},[168551,168554,168560],{"nodeType":864,"value":152742,"marks":168552,"data":168553},[],{},{"nodeType":883,"data":168555,"content":168556},{"uri":152747},[168557],{"nodeType":864,"value":152750,"marks":168558,"data":168559},[],{},{"nodeType":864,"value":152754,"marks":168561,"data":168562},[],{},{"nodeType":996,"data":168564,"content":168567},{"target":168565},{"sys":168566},{"id":152761,"type":1001,"linkType":1002},[],{"nodeType":860,"data":168569,"content":168570},{},[168571,168574,168581],{"nodeType":864,"value":21,"marks":168572,"data":168573},[],{},{"nodeType":883,"data":168575,"content":168576},{"uri":152771},[168577],{"nodeType":864,"value":79249,"marks":168578,"data":168580},[168579],{"type":899},{},{"nodeType":864,"value":21,"marks":168582,"data":168583},[],{},{"nodeType":1312,"data":168585,"content":168586},{},[168587],{"nodeType":864,"value":152784,"marks":168588,"data":168589},[],{},{"nodeType":860,"data":168591,"content":168592},{},[168593,168596,168602,168605,168609],{"nodeType":864,"value":152791,"marks":168594,"data":168595},[],{},{"nodeType":883,"data":168597,"content":168598},{"uri":152796},[168599],{"nodeType":864,"value":152799,"marks":168600,"data":168601},[],{},{"nodeType":864,"value":152803,"marks":168603,"data":168604},[],{},{"nodeType":864,"value":152807,"marks":168606,"data":168608},[168607],{"type":899},{},{"nodeType":864,"value":152812,"marks":168610,"data":168611},[],{},{"nodeType":996,"data":168613,"content":168616},{"target":168614},{"sys":168615},{"id":152819,"type":1001,"linkType":1002},[],{"nodeType":860,"data":168618,"content":168619},{},[168620,168623,168630],{"nodeType":864,"value":21,"marks":168621,"data":168622},[],{},{"nodeType":883,"data":168624,"content":168625},{"uri":152829},[168626],{"nodeType":864,"value":79249,"marks":168627,"data":168629},[168628],{"type":899},{},{"nodeType":864,"value":21,"marks":168631,"data":168632},[],{},{"nodeType":1312,"data":168634,"content":168635},{},[168636],{"nodeType":864,"value":152651,"marks":168637,"data":168638},[],{},{"nodeType":860,"data":168640,"content":168641},{},[168642,168645,168649],{"nodeType":864,"value":152848,"marks":168643,"data":168644},[],{},{"nodeType":864,"value":152852,"marks":168646,"data":168648},[168647],{"type":899},{},{"nodeType":864,"value":152857,"marks":168650,"data":168651},[],{},{"nodeType":996,"data":168653,"content":168656},{"target":168654},{"sys":168655},{"id":152864,"type":1001,"linkType":1002},[],{"nodeType":1312,"data":168658,"content":168659},{},[168660],{"nodeType":864,"value":152870,"marks":168661,"data":168662},[],{},{"nodeType":860,"data":168664,"content":168665},{},[168666,168669,168675,168678,168684],{"nodeType":864,"value":152877,"marks":168667,"data":168668},[],{},{"nodeType":883,"data":168670,"content":168671},{"uri":152882},[168672],{"nodeType":864,"value":89531,"marks":168673,"data":168674},[],{},{"nodeType":864,"value":152888,"marks":168676,"data":168677},[],{},{"nodeType":883,"data":168679,"content":168680},{"uri":152893},[168681],{"nodeType":864,"value":152896,"marks":168682,"data":168683},[],{},{"nodeType":864,"value":152900,"marks":168685,"data":168686},[],{},{"nodeType":996,"data":168688,"content":168691},{"target":168689},{"sys":168690},{"id":152907,"type":1001,"linkType":1002},[],{"nodeType":860,"data":168693,"content":168694},{},[168695,168698,168705],{"nodeType":864,"value":21,"marks":168696,"data":168697},[],{},{"nodeType":883,"data":168699,"content":168700},{"uri":152882},[168701],{"nodeType":864,"value":152919,"marks":168702,"data":168704},[168703],{"type":899},{},{"nodeType":864,"value":21,"marks":168706,"data":168707},[],{},{"items":168709},[168710],{"sys":168711,"name":73498},{"id":73497},{"items":168713},[168714],{"fullName":79005,"firstName":79006,"jobTitle":79007,"profilePicture":168715},{"url":79009},{"__typename":2059,"sys":168717,"content":168719,"title":169223,"synopsis":169224,"hashTags":59,"publishedDate":169225,"slug":169226,"tagsCollection":169227,"authorsCollection":169231},{"id":168718},"1XpZhWMXj1jERhAudRkJyt",{"json":168720},{"data":168721,"content":168722,"nodeType":856},{},[168723,168729,168782,168801,168808,168842,168850,168878,168884,168902,168908,168924,168958,168964,168980,168987,168994,169022,169041,169061,169068,169105,169131,169137,169144,169168,169183,169189,169196],{"data":168724,"content":168725,"nodeType":1312},{},[168726],{"data":168727,"marks":168728,"value":117629,"nodeType":864},{},[],{"data":168730,"content":168731,"nodeType":941},{},[168732,168742,168752,168762,168772],{"data":168733,"content":168734,"nodeType":945},{},[168735],{"data":168736,"content":168737,"nodeType":860},{},[168738],{"data":168739,"marks":168740,"value":168741,"nodeType":864},{},[],"Just-in-time password guidance with inline browser prompts",{"data":168743,"content":168744,"nodeType":945},{},[168745],{"data":168746,"content":168747,"nodeType":860},{},[168748],{"data":168749,"marks":168750,"value":168751,"nodeType":864},{},[],"Identify dormant third-party integrations",{"data":168753,"content":168754,"nodeType":945},{},[168755],{"data":168756,"content":168757,"nodeType":860},{},[168758],{"data":168759,"marks":168760,"value":168761,"nodeType":864},{},[],"Expanded visibility into MFA usage for apps",{"data":168763,"content":168764,"nodeType":945},{},[168765],{"data":168766,"content":168767,"nodeType":860},{},[168768],{"data":168769,"marks":168770,"value":168771,"nodeType":864},{},[],"Find passwords exposed in a data breach and make a custom restricted list",{"data":168773,"content":168774,"nodeType":945},{},[168775],{"data":168776,"content":168777,"nodeType":860},{},[168778],{"data":168779,"marks":168780,"value":168781,"nodeType":864},{},[],"Improved account security page",{"data":168783,"content":168784,"nodeType":860},{},[168785,168789,168797],{"data":168786,"marks":168787,"value":168788,"nodeType":864},{},[],"Want to share your input on our product roadmap? ",{"data":168790,"content":168792,"nodeType":883},{"uri":168791},"https://meetings.hubspot.com/joe-stanulis/push-demo",[168793],{"data":168794,"marks":168795,"value":168796,"nodeType":864},{},[],"Set up a call",{"data":168798,"marks":168799,"value":168800,"nodeType":864},{},[]," with our team — we’d love to hear from you.",{"data":168802,"content":168803,"nodeType":1312},{},[168804],{"data":168805,"marks":168806,"value":168807,"nodeType":864},{},[],"Catch weak passwords before they happen with new Push Labs feature",{"data":168809,"content":168810,"nodeType":860},{},[168811,168814,168821,168825,168830,168834,168838],{"data":168812,"marks":168813,"value":21,"nodeType":864},{},[],{"data":168815,"content":168817,"nodeType":883},{"uri":168816},"https://pushsecurity.com/help/10078#start",[168818],{"data":168819,"marks":168820,"value":152799,"nodeType":864},{},[],{"data":168822,"marks":168823,"value":168824,"nodeType":864},{},[]," is a ",{"data":168826,"marks":168827,"value":168829,"nodeType":864},{},[168828],{"type":899},"new early-access program",{"data":168831,"marks":168832,"value":168833,"nodeType":864},{},[]," that allows you to try features before they roll out to everyone. With ",{"data":168835,"marks":168836,"value":120869,"nodeType":864},{},[168837],{"type":899},{"data":168839,"marks":168840,"value":168841,"nodeType":864},{},[],", the first Labs feature, you can enable tooltip messages that will appear in the employee’s browser when they sign up for new SaaS apps with a weak or reused password, or when they log into existing ones. ",{"data":168843,"content":168844,"nodeType":860},{},[168845],{"data":168846,"marks":168847,"value":168849,"nodeType":864},{},[168848],{"type":899},"By providing just-in-time guidance, inline prompts encourage employees to practice better password hygiene without adding to your team’s workload.",{"data":168851,"content":168852,"nodeType":860},{},[168853,168857,168865,168869,168874],{"data":168854,"marks":168855,"value":168856,"nodeType":864},{},[],"You can enable inline browser prompts by logging into the ",{"data":168858,"content":168860,"nodeType":883},{"uri":168859},"https://pushsecurity.com/app/employees/",[168861],{"data":168862,"marks":168863,"value":168864,"nodeType":864},{},[],"Push admin console",{"data":168866,"marks":168867,"value":168868,"nodeType":864},{},[]," and going to ",{"data":168870,"marks":168871,"value":168873,"nodeType":864},{},[168872],{"type":899},"Settings > Push Labs",{"data":168875,"marks":168876,"value":168877,"nodeType":864},{},[]," and then toggle on the new feature.",{"data":168879,"content":168883,"nodeType":996},{"target":168880},{"sys":168881},{"id":168882,"type":1001,"linkType":1002},"2cMY8EPS5XqpKniYr9dFaP",[],{"data":168885,"content":168886,"nodeType":860},{},[168887,168891,168899],{"data":168888,"marks":168889,"value":168890,"nodeType":864},{},[],"We’d love to hear your feedback! Get in touch at ",{"data":168892,"content":168894,"nodeType":883},{"uri":168893},"mailto:support@pushsecurity.com",[168895],{"data":168896,"marks":168897,"value":168898,"nodeType":864},{},[],"support@pushsecurity.com",{"data":168900,"marks":168901,"value":1774,"nodeType":864},{},[],{"data":168903,"content":168904,"nodeType":1312},{},[168905],{"data":168906,"marks":168907,"value":168751,"nodeType":864},{},[],{"data":168909,"content":168910,"nodeType":860},{},[168911,168915,168920],{"data":168912,"marks":168913,"value":168914,"nodeType":864},{},[],"You can now see when a third-party integration that’s connected with your Microsoft 365 or Google Workspace tenant ",{"data":168916,"marks":168917,"value":168919,"nodeType":864},{},[168918],{"type":899},"was last used",{"data":168921,"marks":168922,"value":168923,"nodeType":864},{},[]," for each of your users. ",{"data":168925,"content":168926,"nodeType":860},{},[168927,168931,168936,168940,168945,168949,168954],{"data":168928,"marks":168929,"value":168930,"nodeType":864},{},[],"Go to ",{"data":168932,"marks":168933,"value":168935,"nodeType":864},{},[168934],{"type":899},"Explore > Third-party integrations",{"data":168937,"marks":168938,"value":168939,"nodeType":864},{},[]," and then select the integration. In the integration details pane, select ",{"data":168941,"marks":168942,"value":168944,"nodeType":864},{},[168943],{"type":899},"Consented by",{"data":168946,"marks":168947,"value":168948,"nodeType":864},{},[]," and then review the ",{"data":168950,"marks":168951,"value":168953,"nodeType":864},{},[168952],{"type":899},"Last used",{"data":168955,"marks":168956,"value":168957,"nodeType":864},{},[]," column.",{"data":168959,"content":168963,"nodeType":996},{"target":168960},{"sys":168961},{"id":168962,"type":1001,"linkType":1002},"Twl7krB2vBxtGMzfcCVnS",[],{"data":168965,"content":168966,"nodeType":860},{},[168967,168971,168976],{"data":168968,"marks":168969,"value":168970,"nodeType":864},{},[],"With this data, you can more easily ",{"data":168972,"marks":168973,"value":168975,"nodeType":864},{},[168974],{"type":899},"find dormant integrations",{"data":168977,"marks":168978,"value":168979,"nodeType":864},{},[]," that can be removed without impacting your employees so that you can reduce your SaaS attack surface. ",{"data":168981,"content":168982,"nodeType":860},{},[168983],{"data":168984,"marks":168985,"value":168986,"nodeType":864},{},[],"This information is also just generally helpful as you discover which integrations are being actively used in your organization.",{"data":168988,"content":168989,"nodeType":1312},{},[168990],{"data":168991,"marks":168992,"value":168993,"nodeType":864},{},[],"Expanded visibility into whether employees are using MFA",{"data":168995,"content":168996,"nodeType":860},{},[168997,169001,169009,169013,169018],{"data":168998,"marks":168999,"value":169000,"nodeType":864},{},[],"Push already provides visibility into whether employees are ",{"data":169002,"content":169004,"nodeType":883},{"uri":169003},"https://pushsecurity.com/lp/automated-mfa-deployment",[169005],{"data":169006,"marks":169007,"value":169008,"nodeType":864},{},[],"using MFA",{"data":169010,"marks":169011,"value":169012,"nodeType":864},{},[]," for your primary work platform (Google Workspace or Microsoft 365). We’re now ",{"data":169014,"marks":169015,"value":169017,"nodeType":864},{},[169016],{"type":899},"expanding that capability to other SaaS apps",{"data":169019,"marks":169020,"value":169021,"nodeType":864},{},[],". This new capability is provided by our browser extension and can be used to detect MFA usage whether or not the SaaS platform provides an API, allowing us to expand our coverage to virtually any SaaS app.",{"data":169023,"content":169024,"nodeType":860},{},[169025,169029,169038],{"data":169026,"marks":169027,"value":169028,"nodeType":864},{},[],"You can see MFA usage data on the ",{"data":169030,"content":169032,"nodeType":883},{"uri":169031},"https://pushsecurity.com/app/feature/account-security/",[169033],{"data":169034,"marks":169035,"value":169037,"nodeType":864},{},[169036],{"type":899},"Account security",{"data":169039,"marks":169040,"value":79298,"nodeType":864},{},[],{"data":169042,"content":169043,"nodeType":860},{},[169044,169048,169057],{"data":169045,"marks":169046,"value":169047,"nodeType":864},{},[],"Check the ",{"data":169049,"content":169051,"nodeType":883},{"uri":169050},"https://pushsecurity.com/integration/supported/",[169052],{"data":169053,"marks":169054,"value":169056,"nodeType":864},{},[169055],{"type":899},"Supported SaaS",{"data":169058,"marks":169059,"value":169060,"nodeType":864},{},[]," page to see where the Push browser extension offers MFA detection. We’re starting with support for high-value apps first, such as administrator tools, and expanding from there. ",{"data":169062,"content":169063,"nodeType":1312},{},[169064],{"data":169065,"marks":169066,"value":169067,"nodeType":864},{},[],"Find passwords exposed in a data breach and enhance password hygiene checks with a custom restricted words list",{"data":169069,"content":169070,"nodeType":860},{},[169071,169075,169083,169087,169092,169096,169102],{"data":169072,"marks":169073,"value":169074,"nodeType":864},{},[],"Push now connects to the ",{"data":169076,"content":169078,"nodeType":883},{"uri":169077},"https://haveibeenpwned.com/",[169079],{"data":169080,"marks":169081,"value":169082,"nodeType":864},{},[],"Have I Been Pwned",{"data":169084,"marks":169085,"value":169086,"nodeType":864},{},[]," API to ",{"data":169088,"marks":169089,"value":169091,"nodeType":864},{},[169090],{"type":899},"check whether employee passwords match those exposed in data breaches",{"data":169093,"marks":169094,"value":169095,"nodeType":864},{},[],". If a match is found, Push can send a ChatOps message to the employee to ask them to change their password. Learn more about how it works in this ",{"data":169097,"content":169098,"nodeType":883},{"uri":51201},[169099],{"data":169100,"marks":169101,"value":43908,"nodeType":864},{},[],{"data":169103,"marks":169104,"value":1774,"nodeType":864},{},[],{"data":169106,"content":169107,"nodeType":860},{},[169108,169112,169117,169121,169128],{"data":169109,"marks":169110,"value":169111,"nodeType":864},{},[],"To further customize what counts as a weak password, you can also ",{"data":169113,"marks":169114,"value":169116,"nodeType":864},{},[169115],{"type":899},"configure a custom list of terms that Push will look for when completing password hygiene checks",{"data":169118,"marks":169119,"value":169120,"nodeType":864},{},[]," — such as company or team names, or other commonly used words at your organization that would be easy to guess. Learn more about creating a custom restricted words list in this ",{"data":169122,"content":169124,"nodeType":883},{"uri":169123},"https://pushsecurity.com/help/10067#start",[169125],{"data":169126,"marks":169127,"value":43908,"nodeType":864},{},[],{"data":169129,"marks":169130,"value":2924,"nodeType":864},{},[],{"data":169132,"content":169136,"nodeType":996},{"target":169133},{"sys":169134},{"id":169135,"type":1001,"linkType":1002},"69CBBeqe8csX49JSBPfMtn",[],{"data":169138,"content":169139,"nodeType":1312},{},[169140],{"data":169141,"marks":169142,"value":169143,"nodeType":864},{},[],"Better at-a-glance reporting for employee account security",{"data":169145,"content":169146,"nodeType":860},{},[169147,169151,169156,169164],{"data":169148,"marks":169149,"value":169150,"nodeType":864},{},[],"Check out the ",{"data":169152,"marks":169153,"value":169155,"nodeType":864},{},[169154],{"type":899},"new ",{"data":169157,"content":169158,"nodeType":883},{"uri":169031},[169159],{"data":169160,"marks":169161,"value":169163,"nodeType":864},{},[169162],{"type":899},"Account security page",{"data":169165,"marks":169166,"value":169167,"nodeType":864},{},[]," in the Push admin console to see an overview of MFA adoption and password security findings for your employees. The account security page combines the data previously available on the multi-factor authentication and password security pages in the admin console.",{"data":169169,"content":169170,"nodeType":860},{},[169171,169175,169180],{"data":169172,"marks":169173,"value":169174,"nodeType":864},{},[],"Click on an employee to see an improved presentation of Push’s security findings that puts account security issues into a ",{"data":169176,"marks":169177,"value":169179,"nodeType":864},{},[169178],{"type":899},"single efficient view",{"data":169181,"marks":169182,"value":2924,"nodeType":864},{},[],{"data":169184,"content":169188,"nodeType":996},{"target":169185},{"sys":169186},{"id":169187,"type":1001,"linkType":1002},"1cS37JXDDmIgrsqU0fMfZp",[],{"data":169190,"content":169191,"nodeType":1312},{},[169192],{"data":169193,"marks":169194,"value":169195,"nodeType":864},{},[],"Keep up with Push on our status page",{"data":169197,"content":169198,"nodeType":860},{},[169199,169203,169211,169215,169220],{"data":169200,"marks":169201,"value":169202,"nodeType":864},{},[],"Learn about scheduled maintenance or other time-sensitive events on the Push platform by ",{"data":169204,"content":169206,"nodeType":883},{"uri":169205},"https://status.pushsecurity.com/",[169207],{"data":169208,"marks":169209,"value":169210,"nodeType":864},{},[],"subscribing to our status page",{"data":169212,"marks":169213,"value":169214,"nodeType":864},{},[],". You can choose to receive notifications via email or directly in Slack by clicking ",{"data":169216,"marks":169217,"value":169219,"nodeType":864},{},[169218],{"type":899},"Subscribe to updates",{"data":169221,"marks":169222,"value":2924,"nodeType":864},{},[],"Product Release: March 2023","Here’s what’s new on the Push platform for March 2023.","2023-03-22T00:00:00.000Z","product-release-march-2023",{"items":169228},[169229],{"sys":169230,"name":73498},{"id":73497},{"items":169232},[169233],{"fullName":79005,"firstName":79006,"jobTitle":79007,"profilePicture":169234},{"url":79009},"blog/product-release-july-2023",{"json":169237},{"data":169238,"content":169239,"nodeType":856},{},[169240],{"data":169241,"content":169242,"nodeType":860},{},[169243],{"data":169244,"marks":169245,"value":169246,"nodeType":864},{},[],"Get notified about new SaaS immediately, jumpstart your risk reviews with app classification, learn about security findings via ChatOps, and ask end-users to remove dormant integrations.",{"id":152347,"publishedAt":169248},"2026-08-12T11:56:07.622Z",{"items":169250},[169251],{"sys":169252,"name":73498},{"id":73497},{"items":169254},[169255,169257,169259,169261],{"sys":169256,"name":545,"slug":546,"tier":31},{"id":542},{"sys":169258,"name":297,"slug":298,"tier":31},{"id":294},{"sys":169260,"name":589,"slug":590,"tier":45},{"id":586},{"sys":169262,"name":633,"slug":634,"tier":45},{"id":630},"OmCvsDpJb4k1EmDTNMawoQw561o92oevt20UHIAl-lc",{"id":169265,"title":102289,"authorsCollection":169266,"content":169271,"extension":228,"faqItemsCollection":169949,"faqTitle":59,"featured":6,"hashTags":59,"meta":169951,"metaTitle":169952,"ogImage":59,"postType":5740,"publishedDate":102291,"relatedBlogPostsCollection":169953,"slug":102292,"stem":173815,"subtitle":59,"summary":173816,"synopsis":102290,"sys":173826,"tagsCollection":173828,"topicsCollection":173834,"__hash__":173864},"blog/blog/saas-attack-techniques.json",{"items":169267},[169268],{"fullName":38408,"firstName":38409,"jobTitle":38410,"socialLinks":169269,"profilePicture":169270},[38494],{"url":38412},{"json":169272,"links":169934},{"data":169273,"content":169274,"nodeType":856},{},[169275,169281,169287,169293,169299,169305,169311,169316,169332,169338,169374,169380,169386,169422,169438,169444,169450,169456,169472,169488,169494,169524,169530,169546,169552,169558,169584,169600,169606,169611,169617,169623,169629,169635,169641,169647,169653,169659,169665,169671,169677,169683,169696,169702,169758,169764,169770,169793,169806,169812,169818,169824,169850,169867,169873,169879,169885,169891,169907,169923,169928],{"data":169276,"content":169277,"nodeType":860},{},[169278],{"data":169279,"marks":169280,"value":101520,"nodeType":864},{},[],{"data":169282,"content":169283,"nodeType":860},{},[169284],{"data":169285,"marks":169286,"value":101527,"nodeType":864},{},[],{"data":169288,"content":169289,"nodeType":860},{},[169290],{"data":169291,"marks":169292,"value":101534,"nodeType":864},{},[],{"data":169294,"content":169295,"nodeType":860},{},[169296],{"data":169297,"marks":169298,"value":101541,"nodeType":864},{},[],{"data":169300,"content":169301,"nodeType":1009},{},[169302],{"data":169303,"marks":169304,"value":101548,"nodeType":864},{},[],{"data":169306,"content":169307,"nodeType":860},{},[169308],{"data":169309,"marks":169310,"value":101555,"nodeType":864},{},[],{"data":169312,"content":169315,"nodeType":996},{"target":169313},{"sys":169314},{"id":101560,"type":1001,"linkType":1002},[],{"data":169317,"content":169318,"nodeType":860},{},[169319,169322,169329],{"data":169320,"marks":169321,"value":101568,"nodeType":864},{},[],{"data":169323,"content":169324,"nodeType":883},{"uri":6418},[169325],{"data":169326,"marks":169327,"value":6423,"nodeType":864},{},[169328],{"type":1455},{"data":169330,"marks":169331,"value":2924,"nodeType":864},{},[],{"data":169333,"content":169334,"nodeType":860},{},[169335],{"data":169336,"marks":169337,"value":101585,"nodeType":864},{},[],{"data":169339,"content":169340,"nodeType":860},{},[169341,169344,169351,169354,169361,169364,169371],{"data":169342,"marks":169343,"value":101592,"nodeType":864},{},[],{"data":169345,"content":169346,"nodeType":883},{"uri":49829},[169347],{"data":169348,"marks":169349,"value":101600,"nodeType":864},{},[169350],{"type":1455},{"data":169352,"marks":169353,"value":902,"nodeType":864},{},[],{"data":169355,"content":169356,"nodeType":883},{"uri":101606},[169357],{"data":169358,"marks":169359,"value":101612,"nodeType":864},{},[169360],{"type":1455},{"data":169362,"marks":169363,"value":101616,"nodeType":864},{},[],{"data":169365,"content":169366,"nodeType":883},{"uri":96411},[169367],{"data":169368,"marks":169369,"value":101624,"nodeType":864},{},[169370],{"type":1455},{"data":169372,"marks":169373,"value":101628,"nodeType":864},{},[],{"data":169375,"content":169376,"nodeType":860},{},[169377],{"data":169378,"marks":169379,"value":101635,"nodeType":864},{},[],{"data":169381,"content":169382,"nodeType":1312},{},[169383],{"data":169384,"marks":169385,"value":101642,"nodeType":864},{},[],{"data":169387,"content":169388,"nodeType":860},{},[169389,169392,169399,169402,169409,169412,169419],{"data":169390,"marks":169391,"value":101649,"nodeType":864},{},[],{"data":169393,"content":169394,"nodeType":883},{"uri":87924},[169395],{"data":169396,"marks":169397,"value":87930,"nodeType":864},{},[169398],{"type":1455},{"data":169400,"marks":169401,"value":902,"nodeType":864},{},[],{"data":169403,"content":169404,"nodeType":883},{"uri":95797},[169405],{"data":169406,"marks":169407,"value":95802,"nodeType":864},{},[169408],{"type":1455},{"data":169410,"marks":169411,"value":101670,"nodeType":864},{},[],{"data":169413,"content":169414,"nodeType":883},{"uri":96459},[169415],{"data":169416,"marks":169417,"value":101678,"nodeType":864},{},[169418],{"type":1455},{"data":169420,"marks":169421,"value":101682,"nodeType":864},{},[],{"data":169423,"content":169424,"nodeType":860},{},[169425,169428,169435],{"data":169426,"marks":169427,"value":101689,"nodeType":864},{},[],{"data":169429,"content":169430,"nodeType":883},{"uri":101692},[169431],{"data":169432,"marks":169433,"value":101698,"nodeType":864},{},[169434],{"type":1455},{"data":169436,"marks":169437,"value":101702,"nodeType":864},{},[],{"data":169439,"content":169440,"nodeType":860},{},[169441],{"data":169442,"marks":169443,"value":101709,"nodeType":864},{},[],{"data":169445,"content":169446,"nodeType":860},{},[169447],{"data":169448,"marks":169449,"value":101716,"nodeType":864},{},[],{"data":169451,"content":169452,"nodeType":1312},{},[169453],{"data":169454,"marks":169455,"value":101723,"nodeType":864},{},[],{"data":169457,"content":169458,"nodeType":860},{},[169459,169462,169469],{"data":169460,"marks":169461,"value":101730,"nodeType":864},{},[],{"data":169463,"content":169464,"nodeType":883},{"uri":101733},[169465],{"data":169466,"marks":169467,"value":101739,"nodeType":864},{},[169468],{"type":1455},{"data":169470,"marks":169471,"value":101743,"nodeType":864},{},[],{"data":169473,"content":169474,"nodeType":860},{},[169475,169478,169485],{"data":169476,"marks":169477,"value":101750,"nodeType":864},{},[],{"data":169479,"content":169480,"nodeType":883},{"uri":61891},[169481],{"data":169482,"marks":169483,"value":61897,"nodeType":864},{},[169484],{"type":1455},{"data":169486,"marks":169487,"value":101761,"nodeType":864},{},[],{"data":169489,"content":169490,"nodeType":860},{},[169491],{"data":169492,"marks":169493,"value":101768,"nodeType":864},{},[],{"data":169495,"content":169496,"nodeType":941},{},[169497,169506,169515],{"data":169498,"content":169499,"nodeType":945},{},[169500],{"data":169501,"content":169502,"nodeType":860},{},[169503],{"data":169504,"marks":169505,"value":101781,"nodeType":864},{},[],{"data":169507,"content":169508,"nodeType":945},{},[169509],{"data":169510,"content":169511,"nodeType":860},{},[169512],{"data":169513,"marks":169514,"value":101791,"nodeType":864},{},[],{"data":169516,"content":169517,"nodeType":945},{},[169518],{"data":169519,"content":169520,"nodeType":860},{},[169521],{"data":169522,"marks":169523,"value":101801,"nodeType":864},{},[],{"data":169525,"content":169526,"nodeType":860},{},[169527],{"data":169528,"marks":169529,"value":101808,"nodeType":864},{},[],{"data":169531,"content":169532,"nodeType":860},{},[169533,169536,169543],{"data":169534,"marks":169535,"value":101815,"nodeType":864},{},[],{"data":169537,"content":169538,"nodeType":883},{"uri":101818},[169539],{"data":169540,"marks":169541,"value":101824,"nodeType":864},{},[169542],{"type":1455},{"data":169544,"marks":169545,"value":101828,"nodeType":864},{},[],{"data":169547,"content":169548,"nodeType":1312},{},[169549],{"data":169550,"marks":169551,"value":101835,"nodeType":864},{},[],{"data":169553,"content":169554,"nodeType":860},{},[169555],{"data":169556,"marks":169557,"value":101842,"nodeType":864},{},[],{"data":169559,"content":169560,"nodeType":860},{},[169561,169564,169571,169574,169581],{"data":169562,"marks":169563,"value":101849,"nodeType":864},{},[],{"data":169565,"content":169566,"nodeType":883},{"uri":101852},[169567],{"data":169568,"marks":169569,"value":101858,"nodeType":864},{},[169570],{"type":1455},{"data":169572,"marks":169573,"value":902,"nodeType":864},{},[],{"data":169575,"content":169576,"nodeType":883},{"uri":26784},[169577],{"data":169578,"marks":169579,"value":17706,"nodeType":864},{},[169580],{"type":1455},{"data":169582,"marks":169583,"value":101872,"nodeType":864},{},[],{"data":169585,"content":169586,"nodeType":860},{},[169587,169590,169597],{"data":169588,"marks":169589,"value":101879,"nodeType":864},{},[],{"data":169591,"content":169592,"nodeType":883},{"uri":101882},[169593],{"data":169594,"marks":169595,"value":101888,"nodeType":864},{},[169596],{"type":1455},{"data":169598,"marks":169599,"value":101892,"nodeType":864},{},[],{"data":169601,"content":169602,"nodeType":860},{},[169603],{"data":169604,"marks":169605,"value":101899,"nodeType":864},{},[],{"data":169607,"content":169610,"nodeType":996},{"target":169608},{"sys":169609},{"id":92011,"type":1001,"linkType":1002},[],{"data":169612,"content":169613,"nodeType":1009},{},[169614],{"data":169615,"marks":169616,"value":101911,"nodeType":864},{},[],{"data":169618,"content":169619,"nodeType":860},{},[169620],{"data":169621,"marks":169622,"value":101918,"nodeType":864},{},[],{"data":169624,"content":169625,"nodeType":860},{},[169626],{"data":169627,"marks":169628,"value":101925,"nodeType":864},{},[],{"data":169630,"content":169631,"nodeType":1312},{},[169632],{"data":169633,"marks":169634,"value":101932,"nodeType":864},{},[],{"data":169636,"content":169637,"nodeType":860},{},[169638],{"data":169639,"marks":169640,"value":101939,"nodeType":864},{},[],{"data":169642,"content":169643,"nodeType":860},{},[169644],{"data":169645,"marks":169646,"value":101946,"nodeType":864},{},[],{"data":169648,"content":169649,"nodeType":860},{},[169650],{"data":169651,"marks":169652,"value":101953,"nodeType":864},{},[],{"data":169654,"content":169655,"nodeType":1312},{},[169656],{"data":169657,"marks":169658,"value":101960,"nodeType":864},{},[],{"data":169660,"content":169661,"nodeType":860},{},[169662],{"data":169663,"marks":169664,"value":101967,"nodeType":864},{},[],{"data":169666,"content":169667,"nodeType":860},{},[169668],{"data":169669,"marks":169670,"value":101974,"nodeType":864},{},[],{"data":169672,"content":169673,"nodeType":860},{},[169674],{"data":169675,"marks":169676,"value":101981,"nodeType":864},{},[],{"data":169678,"content":169679,"nodeType":1009},{},[169680],{"data":169681,"marks":169682,"value":101988,"nodeType":864},{},[],{"data":169684,"content":169685,"nodeType":860},{},[169686,169689,169693],{"data":169687,"marks":169688,"value":101995,"nodeType":864},{},[],{"data":169690,"marks":169691,"value":102000,"nodeType":864},{},[169692],{"type":2246},{"data":169694,"marks":169695,"value":102004,"nodeType":864},{},[],{"data":169697,"content":169698,"nodeType":1312},{},[169699],{"data":169700,"marks":169701,"value":102011,"nodeType":864},{},[],{"data":169703,"content":169704,"nodeType":860},{},[169705,169708,169715,169718,169725,169728,169735,169738,169745,169748,169755],{"data":169706,"marks":169707,"value":102018,"nodeType":864},{},[],{"data":169709,"content":169710,"nodeType":883},{"uri":102021},[169711],{"data":169712,"marks":169713,"value":102027,"nodeType":864},{},[169714],{"type":1455},{"data":169716,"marks":169717,"value":902,"nodeType":864},{},[],{"data":169719,"content":169720,"nodeType":883},{"uri":102033},[169721],{"data":169722,"marks":169723,"value":102039,"nodeType":864},{},[169724],{"type":1455},{"data":169726,"marks":169727,"value":102043,"nodeType":864},{},[],{"data":169729,"content":169730,"nodeType":883},{"uri":102046},[169731],{"data":169732,"marks":169733,"value":102052,"nodeType":864},{},[169734],{"type":1455},{"data":169736,"marks":169737,"value":35735,"nodeType":864},{},[],{"data":169739,"content":169740,"nodeType":883},{"uri":8628},[169741],{"data":169742,"marks":169743,"value":102063,"nodeType":864},{},[169744],{"type":1455},{"data":169746,"marks":169747,"value":102067,"nodeType":864},{},[],{"data":169749,"content":169750,"nodeType":883},{"uri":102070},[169751],{"data":169752,"marks":169753,"value":102076,"nodeType":864},{},[169754],{"type":1455},{"data":169756,"marks":169757,"value":102080,"nodeType":864},{},[],{"data":169759,"content":169760,"nodeType":860},{},[169761],{"data":169762,"marks":169763,"value":102087,"nodeType":864},{},[],{"data":169765,"content":169766,"nodeType":1312},{},[169767],{"data":169768,"marks":169769,"value":102094,"nodeType":864},{},[],{"data":169771,"content":169772,"nodeType":860},{},[169773,169776,169780,169783,169790],{"data":169774,"marks":169775,"value":102101,"nodeType":864},{},[],{"data":169777,"marks":169778,"value":102106,"nodeType":864},{},[169779],{"type":1455},{"data":169781,"marks":169782,"value":102110,"nodeType":864},{},[],{"data":169784,"content":169785,"nodeType":883},{"uri":102113},[169786],{"data":169787,"marks":169788,"value":102119,"nodeType":864},{},[169789],{"type":1455},{"data":169791,"marks":169792,"value":102123,"nodeType":864},{},[],{"data":169794,"content":169795,"nodeType":860},{},[169796,169799,169803],{"data":169797,"marks":169798,"value":102130,"nodeType":864},{},[],{"data":169800,"marks":169801,"value":102135,"nodeType":864},{},[169802],{"type":2246},{"data":169804,"marks":169805,"value":2924,"nodeType":864},{},[],{"data":169807,"content":169808,"nodeType":860},{},[169809],{"data":169810,"marks":169811,"value":102145,"nodeType":864},{},[],{"data":169813,"content":169814,"nodeType":1312},{},[169815],{"data":169816,"marks":169817,"value":102152,"nodeType":864},{},[],{"data":169819,"content":169820,"nodeType":860},{},[169821],{"data":169822,"marks":169823,"value":102159,"nodeType":864},{},[],{"data":169825,"content":169826,"nodeType":860},{},[169827,169830,169837,169840,169847],{"data":169828,"marks":169829,"value":102166,"nodeType":864},{},[],{"data":169831,"content":169832,"nodeType":883},{"uri":102169},[169833],{"data":169834,"marks":169835,"value":102175,"nodeType":864},{},[169836],{"type":1455},{"data":169838,"marks":169839,"value":102179,"nodeType":864},{},[],{"data":169841,"content":169842,"nodeType":883},{"uri":102182},[169843],{"data":169844,"marks":169845,"value":102188,"nodeType":864},{},[169846],{"type":1455},{"data":169848,"marks":169849,"value":102192,"nodeType":864},{},[],{"data":169851,"content":169852,"nodeType":860},{},[169853,169856,169864],{"data":169854,"marks":169855,"value":102199,"nodeType":864},{},[],{"data":169857,"content":169858,"nodeType":883},{"uri":102202},[169859],{"data":169860,"marks":169861,"value":102209,"nodeType":864},{},[169862,169863],{"type":1455},{"type":2246},{"data":169865,"marks":169866,"value":21,"nodeType":864},{},[],{"data":169868,"content":169869,"nodeType":860},{},[169870],{"data":169871,"marks":169872,"value":102219,"nodeType":864},{},[],{"data":169874,"content":169875,"nodeType":1009},{},[169876],{"data":169877,"marks":169878,"value":102226,"nodeType":864},{},[],{"data":169880,"content":169881,"nodeType":860},{},[169882],{"data":169883,"marks":169884,"value":102233,"nodeType":864},{},[],{"data":169886,"content":169887,"nodeType":860},{},[169888],{"data":169889,"marks":169890,"value":102240,"nodeType":864},{},[],{"data":169892,"content":169893,"nodeType":860},{},[169894,169897,169904],{"data":169895,"marks":169896,"value":102247,"nodeType":864},{},[],{"data":169898,"content":169899,"nodeType":883},{"uri":102250},[169900],{"data":169901,"marks":169902,"value":102256,"nodeType":864},{},[169903],{"type":1455},{"data":169905,"marks":169906,"value":2924,"nodeType":864},{},[],{"data":169908,"content":169909,"nodeType":860},{},[169910,169913,169920],{"data":169911,"marks":169912,"value":102266,"nodeType":864},{},[],{"data":169914,"content":169915,"nodeType":883},{"uri":6418},[169916],{"data":169917,"marks":169918,"value":6423,"nodeType":864},{},[169919],{"type":1455},{"data":169921,"marks":169922,"value":96674,"nodeType":864},{},[],{"data":169924,"content":169927,"nodeType":996},{"target":169925},{"sys":169926},{"id":102281,"type":1001,"linkType":1002},[],{"data":169929,"content":169930,"nodeType":860},{},[169931],{"data":169932,"marks":169933,"value":21,"nodeType":864},{},[],{"entries":169935},{"hyperlink":169936,"inline":169937,"block":169938},[],[],[169939,169945,169947],{"sys":169940,"__typename":1724,"title":5765,"caption":169941,"layoutMode":140740,"file":169942},{"id":101560},"SaaS attack matrix demonstrated networkless attacks that bypass EDR and network detection",{"url":169943,"width":169944,"height":140735},"https://images.ctfassets.net/y1cdw1ablpvd/3UQoGrBeM5nF6Hya80S92f/541273f45d41a07363dff5523d284cdf/Screenshot_2024-06-05_at_09.56.39.png",2278,{"sys":169946,"__typename":1717,"type":80540,"ctaText":125792,"buttonLabel":125793,"buttonColour":1721,"buttonUrl":59},{"id":92011},{"sys":169948,"__typename":1717,"type":47670,"ctaText":132414,"buttonLabel":132415,"buttonColour":66936,"buttonUrl":59},{"id":102281},{"items":169950},[],{},"SaaS attack techniques",{"items":169954},[169955,170726,171132],{"__typename":2059,"sys":169956,"content":169957,"title":136252,"synopsis":135389,"hashTags":59,"publishedDate":136253,"slug":136254,"tagsCollection":170716,"authorsCollection":170722},{"id":135378},{"json":169958},{"data":169959,"content":169960,"nodeType":856},{},[169961,169967,169973,170001,170007,170013,170029,170035,170041,170047,170071,170077,170083,170096,170102,170108,170138,170144,170150,170156,170162,170168,170173,170179,170185,170191,170198,170204,170220,170226,170232,170238,170244,170250,170256,170262,170268,170274,170279,170285,170301,170307,170323,170328,170333,170338,170344,170350,170356,170361,170366,170372,170378,170384,170390,170396,170401,170417,170433,170439,170444,170449,170455,170461,170467,170473,170494,170499,170504,170510,170516,170522,170532,170537,170543,170548,170553,170559,170565,170571,170576,170581,170587,170593,170698,170704,170710],{"data":169962,"content":169963,"nodeType":860},{},[169964],{"data":169965,"marks":169966,"value":135389,"nodeType":864},{},[],{"data":169968,"content":169969,"nodeType":860},{},[169970],{"data":169971,"marks":169972,"value":135396,"nodeType":864},{},[],{"data":169974,"content":169975,"nodeType":860},{},[169976,169979,169986,169989,169998],{"data":169977,"marks":169978,"value":135403,"nodeType":864},{},[],{"data":169980,"content":169981,"nodeType":883},{"uri":6418},[169982],{"data":169983,"marks":169984,"value":5765,"nodeType":864},{},[169985],{"type":1455},{"data":169987,"marks":169988,"value":135414,"nodeType":864},{},[],{"data":169990,"content":169993,"nodeType":27604},{"target":169991},{"sys":169992},{"id":110390,"type":1001,"linkType":1002},[169994],{"data":169995,"marks":169996,"value":5236,"nodeType":864},{},[169997],{"type":1455},{"data":169999,"marks":170000,"value":12252,"nodeType":864},{},[],{"data":170002,"content":170003,"nodeType":860},{},[170004],{"data":170005,"marks":170006,"value":135433,"nodeType":864},{},[],{"data":170008,"content":170009,"nodeType":1009},{},[170010],{"data":170011,"marks":170012,"value":135440,"nodeType":864},{},[],{"data":170014,"content":170015,"nodeType":860},{},[170016,170019,170026],{"data":170017,"marks":170018,"value":72717,"nodeType":864},{},[],{"data":170020,"content":170021,"nodeType":883},{"uri":61891},[170022],{"data":170023,"marks":170024,"value":135454,"nodeType":864},{},[170025],{"type":1455},{"data":170027,"marks":170028,"value":135458,"nodeType":864},{},[],{"data":170030,"content":170031,"nodeType":860},{},[170032],{"data":170033,"marks":170034,"value":135465,"nodeType":864},{},[],{"data":170036,"content":170037,"nodeType":1009},{},[170038],{"data":170039,"marks":170040,"value":135472,"nodeType":864},{},[],{"data":170042,"content":170043,"nodeType":860},{},[170044],{"data":170045,"marks":170046,"value":135479,"nodeType":864},{},[],{"data":170048,"content":170049,"nodeType":860},{},[170050,170053,170060,170063,170068],{"data":170051,"marks":170052,"value":135486,"nodeType":864},{},[],{"data":170054,"content":170055,"nodeType":883},{"uri":101818},[170056],{"data":170057,"marks":170058,"value":101824,"nodeType":864},{},[170059],{"type":1455},{"data":170061,"marks":170062,"value":135497,"nodeType":864},{},[],{"data":170064,"marks":170065,"value":135503,"nodeType":864},{},[170066,170067],{"type":2246},{"type":899},{"data":170069,"marks":170070,"value":135507,"nodeType":864},{},[],{"data":170072,"content":170073,"nodeType":1009},{},[170074],{"data":170075,"marks":170076,"value":127630,"nodeType":864},{},[],{"data":170078,"content":170079,"nodeType":860},{},[170080],{"data":170081,"marks":170082,"value":135520,"nodeType":864},{},[],{"data":170084,"content":170085,"nodeType":860},{},[170086,170089,170093],{"data":170087,"marks":170088,"value":135527,"nodeType":864},{},[],{"data":170090,"marks":170091,"value":135532,"nodeType":864},{},[170092],{"type":1455},{"data":170094,"marks":170095,"value":135536,"nodeType":864},{},[],{"data":170097,"content":170098,"nodeType":860},{},[170099],{"data":170100,"marks":170101,"value":135543,"nodeType":864},{},[],{"data":170103,"content":170104,"nodeType":860},{},[170105],{"data":170106,"marks":170107,"value":135550,"nodeType":864},{},[],{"data":170109,"content":170110,"nodeType":118765},{},[170111,170120,170129],{"data":170112,"content":170113,"nodeType":945},{},[170114],{"data":170115,"content":170116,"nodeType":860},{},[170117],{"data":170118,"marks":170119,"value":135563,"nodeType":864},{},[],{"data":170121,"content":170122,"nodeType":945},{},[170123],{"data":170124,"content":170125,"nodeType":860},{},[170126],{"data":170127,"marks":170128,"value":135573,"nodeType":864},{},[],{"data":170130,"content":170131,"nodeType":945},{},[170132],{"data":170133,"content":170134,"nodeType":860},{},[170135],{"data":170136,"marks":170137,"value":135583,"nodeType":864},{},[],{"data":170139,"content":170140,"nodeType":1312},{},[170141],{"data":170142,"marks":170143,"value":135590,"nodeType":864},{},[],{"data":170145,"content":170146,"nodeType":860},{},[170147],{"data":170148,"marks":170149,"value":135597,"nodeType":864},{},[],{"data":170151,"content":170152,"nodeType":860},{},[170153],{"data":170154,"marks":170155,"value":135604,"nodeType":864},{},[],{"data":170157,"content":170158,"nodeType":860},{},[170159],{"data":170160,"marks":170161,"value":135611,"nodeType":864},{},[],{"data":170163,"content":170164,"nodeType":860},{},[170165],{"data":170166,"marks":170167,"value":135618,"nodeType":864},{},[],{"data":170169,"content":170172,"nodeType":996},{"target":170170},{"sys":170171},{"id":135623,"type":1001,"linkType":1002},[],{"data":170174,"content":170175,"nodeType":1312},{},[170176],{"data":170177,"marks":170178,"value":135631,"nodeType":864},{},[],{"data":170180,"content":170181,"nodeType":860},{},[170182],{"data":170183,"marks":170184,"value":135638,"nodeType":864},{},[],{"data":170186,"content":170187,"nodeType":860},{},[170188],{"data":170189,"marks":170190,"value":135645,"nodeType":864},{},[],{"data":170192,"content":170193,"nodeType":860},{},[170194],{"data":170195,"marks":170196,"value":135653,"nodeType":864},{},[170197],{"type":899},{"data":170199,"content":170200,"nodeType":1312},{},[170201],{"data":170202,"marks":170203,"value":135660,"nodeType":864},{},[],{"data":170205,"content":170206,"nodeType":860},{},[170207,170210,170217],{"data":170208,"marks":170209,"value":135667,"nodeType":864},{},[],{"data":170211,"content":170212,"nodeType":883},{"uri":135670},[170213],{"data":170214,"marks":170215,"value":135676,"nodeType":864},{},[170216],{"type":1455},{"data":170218,"marks":170219,"value":135680,"nodeType":864},{},[],{"data":170221,"content":170222,"nodeType":860},{},[170223],{"data":170224,"marks":170225,"value":135687,"nodeType":864},{},[],{"data":170227,"content":170228,"nodeType":860},{},[170229],{"data":170230,"marks":170231,"value":135694,"nodeType":864},{},[],{"data":170233,"content":170234,"nodeType":1009},{},[170235],{"data":170236,"marks":170237,"value":135701,"nodeType":864},{},[],{"data":170239,"content":170240,"nodeType":860},{},[170241],{"data":170242,"marks":170243,"value":135708,"nodeType":864},{},[],{"data":170245,"content":170246,"nodeType":860},{},[170247],{"data":170248,"marks":170249,"value":135715,"nodeType":864},{},[],{"data":170251,"content":170252,"nodeType":860},{},[170253],{"data":170254,"marks":170255,"value":135722,"nodeType":864},{},[],{"data":170257,"content":170258,"nodeType":860},{},[170259],{"data":170260,"marks":170261,"value":135729,"nodeType":864},{},[],{"data":170263,"content":170264,"nodeType":860},{},[170265],{"data":170266,"marks":170267,"value":135736,"nodeType":864},{},[],{"data":170269,"content":170270,"nodeType":860},{},[170271],{"data":170272,"marks":170273,"value":135743,"nodeType":864},{},[],{"data":170275,"content":170278,"nodeType":996},{"target":170276},{"sys":170277},{"id":135748,"type":1001,"linkType":1002},[],{"data":170280,"content":170281,"nodeType":1009},{},[170282],{"data":170283,"marks":170284,"value":135756,"nodeType":864},{},[],{"data":170286,"content":170287,"nodeType":860},{},[170288,170291,170298],{"data":170289,"marks":170290,"value":135763,"nodeType":864},{},[],{"data":170292,"content":170293,"nodeType":883},{"uri":96530},[170294],{"data":170295,"marks":170296,"value":135771,"nodeType":864},{},[170297],{"type":1455},{"data":170299,"marks":170300,"value":135775,"nodeType":864},{},[],{"data":170302,"content":170303,"nodeType":1312},{},[170304],{"data":170305,"marks":170306,"value":135782,"nodeType":864},{},[],{"data":170308,"content":170309,"nodeType":860},{},[170310,170313,170320],{"data":170311,"marks":170312,"value":135789,"nodeType":864},{},[],{"data":170314,"content":170315,"nodeType":883},{"uri":135792},[170316],{"data":170317,"marks":170318,"value":135792,"nodeType":864},{},[170319],{"type":1455},{"data":170321,"marks":170322,"value":135801,"nodeType":864},{},[],{"data":170324,"content":170327,"nodeType":996},{"target":170325},{"sys":170326},{"id":135806,"type":1001,"linkType":1002},[],{"data":170329,"content":170332,"nodeType":996},{"target":170330},{"sys":170331},{"id":135812,"type":1001,"linkType":1002},[],{"data":170334,"content":170337,"nodeType":996},{"target":170335},{"sys":170336},{"id":135818,"type":1001,"linkType":1002},[],{"data":170339,"content":170340,"nodeType":1312},{},[170341],{"data":170342,"marks":170343,"value":135826,"nodeType":864},{},[],{"data":170345,"content":170346,"nodeType":860},{},[170347],{"data":170348,"marks":170349,"value":135833,"nodeType":864},{},[],{"data":170351,"content":170352,"nodeType":860},{},[170353],{"data":170354,"marks":170355,"value":135840,"nodeType":864},{},[],{"data":170357,"content":170360,"nodeType":996},{"target":170358},{"sys":170359},{"id":135845,"type":1001,"linkType":1002},[],{"data":170362,"content":170365,"nodeType":996},{"target":170363},{"sys":170364},{"id":135851,"type":1001,"linkType":1002},[],{"data":170367,"content":170368,"nodeType":1009},{},[170369],{"data":170370,"marks":170371,"value":135859,"nodeType":864},{},[],{"data":170373,"content":170374,"nodeType":860},{},[170375],{"data":170376,"marks":170377,"value":135866,"nodeType":864},{},[],{"data":170379,"content":170380,"nodeType":860},{},[170381],{"data":170382,"marks":170383,"value":135873,"nodeType":864},{},[],{"data":170385,"content":170386,"nodeType":1312},{},[170387],{"data":170388,"marks":170389,"value":135880,"nodeType":864},{},[],{"data":170391,"content":170392,"nodeType":860},{},[170393],{"data":170394,"marks":170395,"value":135887,"nodeType":864},{},[],{"data":170397,"content":170400,"nodeType":996},{"target":170398},{"sys":170399},{"id":135892,"type":1001,"linkType":1002},[],{"data":170402,"content":170403,"nodeType":860},{},[170404,170407,170414],{"data":170405,"marks":170406,"value":135900,"nodeType":864},{},[],{"data":170408,"content":170409,"nodeType":883},{"uri":127950},[170410],{"data":170411,"marks":170412,"value":127956,"nodeType":864},{},[170413],{"type":1455},{"data":170415,"marks":170416,"value":135911,"nodeType":864},{},[],{"data":170418,"content":170419,"nodeType":860},{},[170420,170423,170430],{"data":170421,"marks":170422,"value":135918,"nodeType":864},{},[],{"data":170424,"content":170425,"nodeType":883},{"uri":96606},[170426],{"data":170427,"marks":170428,"value":135926,"nodeType":864},{},[170429],{"type":1455},{"data":170431,"marks":170432,"value":135930,"nodeType":864},{},[],{"data":170434,"content":170435,"nodeType":860},{},[170436],{"data":170437,"marks":170438,"value":135937,"nodeType":864},{},[],{"data":170440,"content":170443,"nodeType":996},{"target":170441},{"sys":170442},{"id":135942,"type":1001,"linkType":1002},[],{"data":170445,"content":170448,"nodeType":996},{"target":170446},{"sys":170447},{"id":135948,"type":1001,"linkType":1002},[],{"data":170450,"content":170451,"nodeType":860},{},[170452],{"data":170453,"marks":170454,"value":135956,"nodeType":864},{},[],{"data":170456,"content":170457,"nodeType":1312},{},[170458],{"data":170459,"marks":170460,"value":135963,"nodeType":864},{},[],{"data":170462,"content":170463,"nodeType":860},{},[170464],{"data":170465,"marks":170466,"value":135970,"nodeType":864},{},[],{"data":170468,"content":170469,"nodeType":860},{},[170470],{"data":170471,"marks":170472,"value":135977,"nodeType":864},{},[],{"data":170474,"content":170475,"nodeType":941},{},[170476,170485],{"data":170477,"content":170478,"nodeType":945},{},[170479],{"data":170480,"content":170481,"nodeType":860},{},[170482],{"data":170483,"marks":170484,"value":135990,"nodeType":864},{},[],{"data":170486,"content":170487,"nodeType":945},{},[170488],{"data":170489,"content":170490,"nodeType":860},{},[170491],{"data":170492,"marks":170493,"value":136000,"nodeType":864},{},[],{"data":170495,"content":170498,"nodeType":996},{"target":170496},{"sys":170497},{"id":136005,"type":1001,"linkType":1002},[],{"data":170500,"content":170503,"nodeType":996},{"target":170501},{"sys":170502},{"id":136011,"type":1001,"linkType":1002},[],{"data":170505,"content":170506,"nodeType":860},{},[170507],{"data":170508,"marks":170509,"value":136019,"nodeType":864},{},[],{"data":170511,"content":170512,"nodeType":860},{},[170513],{"data":170514,"marks":170515,"value":136026,"nodeType":864},{},[],{"data":170517,"content":170518,"nodeType":860},{},[170519],{"data":170520,"marks":170521,"value":136033,"nodeType":864},{},[],{"data":170523,"content":170524,"nodeType":860},{},[170525,170528],{"data":170526,"marks":170527,"value":136040,"nodeType":864},{},[],{"data":170529,"marks":170530,"value":8618,"nodeType":864},{},[170531],{"type":2246},{"data":170533,"content":170536,"nodeType":996},{"target":170534},{"sys":170535},{"id":136049,"type":1001,"linkType":1002},[],{"data":170538,"content":170539,"nodeType":860},{},[170540],{"data":170541,"marks":170542,"value":136057,"nodeType":864},{},[],{"data":170544,"content":170547,"nodeType":996},{"target":170545},{"sys":170546},{"id":136062,"type":1001,"linkType":1002},[],{"data":170549,"content":170552,"nodeType":996},{"target":170550},{"sys":170551},{"id":136068,"type":1001,"linkType":1002},[],{"data":170554,"content":170555,"nodeType":860},{},[170556],{"data":170557,"marks":170558,"value":136076,"nodeType":864},{},[],{"data":170560,"content":170561,"nodeType":1009},{},[170562],{"data":170563,"marks":170564,"value":136083,"nodeType":864},{},[],{"data":170566,"content":170567,"nodeType":860},{},[170568],{"data":170569,"marks":170570,"value":136090,"nodeType":864},{},[],{"data":170572,"content":170575,"nodeType":996},{"target":170573},{"sys":170574},{"id":136095,"type":1001,"linkType":1002},[],{"data":170577,"content":170580,"nodeType":996},{"target":170578},{"sys":170579},{"id":136101,"type":1001,"linkType":1002},[],{"data":170582,"content":170583,"nodeType":1009},{},[170584],{"data":170585,"marks":170586,"value":110587,"nodeType":864},{},[],{"data":170588,"content":170589,"nodeType":860},{},[170590],{"data":170591,"marks":170592,"value":136115,"nodeType":864},{},[],{"data":170594,"content":170595,"nodeType":941},{},[170596,170605,170614,170623,170632,170680,170689],{"data":170597,"content":170598,"nodeType":945},{},[170599],{"data":170600,"content":170601,"nodeType":860},{},[170602],{"data":170603,"marks":170604,"value":136128,"nodeType":864},{},[],{"data":170606,"content":170607,"nodeType":945},{},[170608],{"data":170609,"content":170610,"nodeType":860},{},[170611],{"data":170612,"marks":170613,"value":136138,"nodeType":864},{},[],{"data":170615,"content":170616,"nodeType":945},{},[170617],{"data":170618,"content":170619,"nodeType":860},{},[170620],{"data":170621,"marks":170622,"value":136148,"nodeType":864},{},[],{"data":170624,"content":170625,"nodeType":945},{},[170626],{"data":170627,"content":170628,"nodeType":860},{},[170629],{"data":170630,"marks":170631,"value":136158,"nodeType":864},{},[],{"data":170633,"content":170634,"nodeType":945},{},[170635,170641],{"data":170636,"content":170637,"nodeType":860},{},[170638],{"data":170639,"marks":170640,"value":136168,"nodeType":864},{},[],{"data":170642,"content":170643,"nodeType":941},{},[170644,170653,170662,170671],{"data":170645,"content":170646,"nodeType":945},{},[170647],{"data":170648,"content":170649,"nodeType":860},{},[170650],{"data":170651,"marks":170652,"value":136181,"nodeType":864},{},[],{"data":170654,"content":170655,"nodeType":945},{},[170656],{"data":170657,"content":170658,"nodeType":860},{},[170659],{"data":170660,"marks":170661,"value":136191,"nodeType":864},{},[],{"data":170663,"content":170664,"nodeType":945},{},[170665],{"data":170666,"content":170667,"nodeType":860},{},[170668],{"data":170669,"marks":170670,"value":136201,"nodeType":864},{},[],{"data":170672,"content":170673,"nodeType":945},{},[170674],{"data":170675,"content":170676,"nodeType":860},{},[170677],{"data":170678,"marks":170679,"value":136211,"nodeType":864},{},[],{"data":170681,"content":170682,"nodeType":945},{},[170683],{"data":170684,"content":170685,"nodeType":860},{},[170686],{"data":170687,"marks":170688,"value":136221,"nodeType":864},{},[],{"data":170690,"content":170691,"nodeType":945},{},[170692],{"data":170693,"content":170694,"nodeType":860},{},[170695],{"data":170696,"marks":170697,"value":136231,"nodeType":864},{},[],{"data":170699,"content":170700,"nodeType":1009},{},[170701],{"data":170702,"marks":170703,"value":32492,"nodeType":864},{},[],{"data":170705,"content":170706,"nodeType":860},{},[170707],{"data":170708,"marks":170709,"value":136244,"nodeType":864},{},[],{"data":170711,"content":170712,"nodeType":860},{},[170713],{"data":170714,"marks":170715,"value":136251,"nodeType":864},{},[],{"items":170717},[170718,170720],{"sys":170719,"name":6593},{"id":6592},{"sys":170721,"name":342},{"id":6596},{"items":170723},[170724],{"fullName":4949,"firstName":4950,"jobTitle":4951,"profilePicture":170725},{"url":4955},{"__typename":2059,"sys":170727,"content":170728,"title":5236,"synopsis":127994,"hashTags":59,"publishedDate":127995,"slug":127996,"tagsCollection":171122,"authorsCollection":171128},{"id":110390},{"json":170729},{"data":170730,"content":170731,"nodeType":856},{},[170732,170748,170754,170760,170766,170782,170788,170804,170810,170816,170822,170828,170834,170840,170846,170862,170868,170874,170879,170885,170891,170897,170902,170907,170912,170918,170924,170929,170935,170941,170947,170952,170958,170964,170970,170976,170982,170987,170993,170999,171004,171010,171016,171021,171027,171033,171092,171098,171104,171110,171116],{"data":170733,"content":170734,"nodeType":860},{},[170735,170738,170745],{"data":170736,"marks":170737,"value":127552,"nodeType":864},{},[],{"data":170739,"content":170740,"nodeType":883},{"uri":6418},[170741],{"data":170742,"marks":170743,"value":5765,"nodeType":864},{},[170744],{"type":1455},{"data":170746,"marks":170747,"value":127563,"nodeType":864},{},[],{"data":170749,"content":170750,"nodeType":860},{},[170751],{"data":170752,"marks":170753,"value":127570,"nodeType":864},{},[],{"data":170755,"content":170756,"nodeType":860},{},[170757],{"data":170758,"marks":170759,"value":127577,"nodeType":864},{},[],{"data":170761,"content":170762,"nodeType":1009},{},[170763],{"data":170764,"marks":170765,"value":110106,"nodeType":864},{},[],{"data":170767,"content":170768,"nodeType":860},{},[170769,170772,170779],{"data":170770,"marks":170771,"value":21,"nodeType":864},{},[],{"data":170773,"content":170774,"nodeType":883},{"uri":101692},[170775],{"data":170776,"marks":170777,"value":110119,"nodeType":864},{},[170778],{"type":1455},{"data":170780,"marks":170781,"value":110123,"nodeType":864},{},[],{"data":170783,"content":170784,"nodeType":1009},{},[170785],{"data":170786,"marks":170787,"value":127606,"nodeType":864},{},[],{"data":170789,"content":170790,"nodeType":860},{},[170791,170794,170801],{"data":170792,"marks":170793,"value":21,"nodeType":864},{},[],{"data":170795,"content":170796,"nodeType":883},{"uri":88494},[170797],{"data":170798,"marks":170799,"value":5272,"nodeType":864},{},[170800],{"type":1455},{"data":170802,"marks":170803,"value":127623,"nodeType":864},{},[],{"data":170805,"content":170806,"nodeType":1009},{},[170807],{"data":170808,"marks":170809,"value":127630,"nodeType":864},{},[],{"data":170811,"content":170812,"nodeType":860},{},[170813],{"data":170814,"marks":170815,"value":127637,"nodeType":864},{},[],{"data":170817,"content":170818,"nodeType":860},{},[170819],{"data":170820,"marks":170821,"value":127644,"nodeType":864},{},[],{"data":170823,"content":170824,"nodeType":860},{},[170825],{"data":170826,"marks":170827,"value":127651,"nodeType":864},{},[],{"data":170829,"content":170830,"nodeType":860},{},[170831],{"data":170832,"marks":170833,"value":127658,"nodeType":864},{},[],{"data":170835,"content":170836,"nodeType":860},{},[170837],{"data":170838,"marks":170839,"value":127665,"nodeType":864},{},[],{"data":170841,"content":170842,"nodeType":1009},{},[170843],{"data":170844,"marks":170845,"value":127672,"nodeType":864},{},[],{"data":170847,"content":170848,"nodeType":860},{},[170849,170852,170859],{"data":170850,"marks":170851,"value":127679,"nodeType":864},{},[],{"data":170853,"content":170854,"nodeType":883},{"uri":127682},[170855],{"data":170856,"marks":170857,"value":127688,"nodeType":864},{},[170858],{"type":1455},{"data":170860,"marks":170861,"value":127692,"nodeType":864},{},[],{"data":170863,"content":170864,"nodeType":860},{},[170865],{"data":170866,"marks":170867,"value":127699,"nodeType":864},{},[],{"data":170869,"content":170870,"nodeType":860},{},[170871],{"data":170872,"marks":170873,"value":127706,"nodeType":864},{},[],{"data":170875,"content":170878,"nodeType":996},{"target":170876},{"sys":170877},{"id":127711,"type":1001,"linkType":1002},[],{"data":170880,"content":170881,"nodeType":860},{},[170882],{"data":170883,"marks":170884,"value":127719,"nodeType":864},{},[],{"data":170886,"content":170887,"nodeType":1312},{},[170888],{"data":170889,"marks":170890,"value":127726,"nodeType":864},{},[],{"data":170892,"content":170893,"nodeType":860},{},[170894],{"data":170895,"marks":170896,"value":127733,"nodeType":864},{},[],{"data":170898,"content":170901,"nodeType":996},{"target":170899},{"sys":170900},{"id":127738,"type":1001,"linkType":1002},[],{"data":170903,"content":170906,"nodeType":996},{"target":170904},{"sys":170905},{"id":127744,"type":1001,"linkType":1002},[],{"data":170908,"content":170911,"nodeType":996},{"target":170909},{"sys":170910},{"id":127750,"type":1001,"linkType":1002},[],{"data":170913,"content":170914,"nodeType":1312},{},[170915],{"data":170916,"marks":170917,"value":127758,"nodeType":864},{},[],{"data":170919,"content":170920,"nodeType":860},{},[170921],{"data":170922,"marks":170923,"value":127765,"nodeType":864},{},[],{"data":170925,"content":170928,"nodeType":996},{"target":170926},{"sys":170927},{"id":127770,"type":1001,"linkType":1002},[],{"data":170930,"content":170931,"nodeType":1312},{},[170932],{"data":170933,"marks":170934,"value":127778,"nodeType":864},{},[],{"data":170936,"content":170937,"nodeType":860},{},[170938],{"data":170939,"marks":170940,"value":127785,"nodeType":864},{},[],{"data":170942,"content":170943,"nodeType":860},{},[170944],{"data":170945,"marks":170946,"value":127792,"nodeType":864},{},[],{"data":170948,"content":170951,"nodeType":996},{"target":170949},{"sys":170950},{"id":127797,"type":1001,"linkType":1002},[],{"data":170953,"content":170954,"nodeType":860},{},[170955],{"data":170956,"marks":170957,"value":127805,"nodeType":864},{},[],{"data":170959,"content":170960,"nodeType":1009},{},[170961],{"data":170962,"marks":170963,"value":127812,"nodeType":864},{},[],{"data":170965,"content":170966,"nodeType":1312},{},[170967],{"data":170968,"marks":170969,"value":127819,"nodeType":864},{},[],{"data":170971,"content":170972,"nodeType":860},{},[170973],{"data":170974,"marks":170975,"value":127826,"nodeType":864},{},[],{"data":170977,"content":170978,"nodeType":860},{},[170979],{"data":170980,"marks":170981,"value":127833,"nodeType":864},{},[],{"data":170983,"content":170986,"nodeType":996},{"target":170984},{"sys":170985},{"id":127838,"type":1001,"linkType":1002},[],{"data":170988,"content":170989,"nodeType":1312},{},[170990],{"data":170991,"marks":170992,"value":127846,"nodeType":864},{},[],{"data":170994,"content":170995,"nodeType":860},{},[170996],{"data":170997,"marks":170998,"value":127853,"nodeType":864},{},[],{"data":171000,"content":171003,"nodeType":996},{"target":171001},{"sys":171002},{"id":127858,"type":1001,"linkType":1002},[],{"data":171005,"content":171006,"nodeType":860},{},[171007],{"data":171008,"marks":171009,"value":127866,"nodeType":864},{},[],{"data":171011,"content":171012,"nodeType":860},{},[171013],{"data":171014,"marks":171015,"value":127873,"nodeType":864},{},[],{"data":171017,"content":171020,"nodeType":996},{"target":171018},{"sys":171019},{"id":127878,"type":1001,"linkType":1002},[],{"data":171022,"content":171023,"nodeType":1009},{},[171024],{"data":171025,"marks":171026,"value":110587,"nodeType":864},{},[],{"data":171028,"content":171029,"nodeType":860},{},[171030],{"data":171031,"marks":171032,"value":127892,"nodeType":864},{},[],{"data":171034,"content":171035,"nodeType":941},{},[171036,171045,171054,171073],{"data":171037,"content":171038,"nodeType":945},{},[171039],{"data":171040,"content":171041,"nodeType":860},{},[171042],{"data":171043,"marks":171044,"value":127905,"nodeType":864},{},[],{"data":171046,"content":171047,"nodeType":945},{},[171048],{"data":171049,"content":171050,"nodeType":860},{},[171051],{"data":171052,"marks":171053,"value":127915,"nodeType":864},{},[],{"data":171055,"content":171056,"nodeType":945},{},[171057],{"data":171058,"content":171059,"nodeType":860},{},[171060,171063,171070],{"data":171061,"marks":171062,"value":127925,"nodeType":864},{},[],{"data":171064,"content":171065,"nodeType":883},{"uri":127928},[171066],{"data":171067,"marks":171068,"value":127934,"nodeType":864},{},[171069],{"type":1455},{"data":171071,"marks":171072,"value":21,"nodeType":864},{},[],{"data":171074,"content":171075,"nodeType":945},{},[171076],{"data":171077,"content":171078,"nodeType":860},{},[171079,171082,171089],{"data":171080,"marks":171081,"value":127947,"nodeType":864},{},[],{"data":171083,"content":171084,"nodeType":883},{"uri":127950},[171085],{"data":171086,"marks":171087,"value":127956,"nodeType":864},{},[171088],{"type":1455},{"data":171090,"marks":171091,"value":21,"nodeType":864},{},[],{"data":171093,"content":171094,"nodeType":860},{},[171095],{"data":171096,"marks":171097,"value":127966,"nodeType":864},{},[],{"data":171099,"content":171100,"nodeType":1312},{},[171101],{"data":171102,"marks":171103,"value":32492,"nodeType":864},{},[],{"data":171105,"content":171106,"nodeType":860},{},[171107],{"data":171108,"marks":171109,"value":127979,"nodeType":864},{},[],{"data":171111,"content":171112,"nodeType":860},{},[171113],{"data":171114,"marks":171115,"value":127986,"nodeType":864},{},[],{"data":171117,"content":171118,"nodeType":860},{},[171119],{"data":171120,"marks":171121,"value":127993,"nodeType":864},{},[],{"items":171123},[171124,171126],{"sys":171125,"name":6593},{"id":6592},{"sys":171127,"name":342},{"id":6596},{"items":171129},[171130],{"fullName":4949,"firstName":4950,"jobTitle":4951,"profilePicture":171131},{"url":4955},{"__typename":2059,"sys":171133,"content":171134,"title":106703,"synopsis":106704,"hashTags":59,"publishedDate":106705,"slug":106706,"tagsCollection":173805,"authorsCollection":173811},{"id":95225},{"json":171135},{"data":171136,"content":171137,"nodeType":856},{},[171138,171144,171170,171176,171181,171187,171203,171224,171230,171236,171256,171269,171275,171285,171291,171294,171300,171306,171319,171329,171338,171364,171367,171373,171389,171395,171402,171487,171493,171609,171615,171716,171722,171728,171888,171894,171900,171975,171978,171984,171990,171996,172053,172059,172089,172095,172134,172140,172146,172365,172371,172378,172384,172387,172393,172399,172405,172453,172459,172498,172504,172534,172540,172546,172706,172712,172719,172725,172732,172738,172745,172751,172754,172760,172766,172772,172829,172835,172865,172871,172901,172907,172913,173014,173017,173023,173029,173035,173092,173098,173128,173134,173164,173170,173176,173340,173343,173349,173355,173361,173427,173433,173463,173469,173499,173505,173511,173730,173733,173739,173745,173751,173757,173760,173766,173772,173778,173781,173787,173793,173799],{"data":171139,"content":171140,"nodeType":1009},{},[171141],{"data":171142,"marks":171143,"value":103774,"nodeType":864},{},[],{"data":171145,"content":171146,"nodeType":860},{},[171147,171150,171157,171160,171167],{"data":171148,"marks":171149,"value":103781,"nodeType":864},{},[],{"data":171151,"content":171152,"nodeType":883},{"uri":103784},[171153],{"data":171154,"marks":171155,"value":103790,"nodeType":864},{},[171156],{"type":1455},{"data":171158,"marks":171159,"value":103794,"nodeType":864},{},[],{"data":171161,"content":171162,"nodeType":883},{"uri":103797},[171163],{"data":171164,"marks":171165,"value":103803,"nodeType":864},{},[171166],{"type":1455},{"data":171168,"marks":171169,"value":2924,"nodeType":864},{},[],{"data":171171,"content":171172,"nodeType":860},{},[171173],{"data":171174,"marks":171175,"value":103813,"nodeType":864},{},[],{"data":171177,"content":171180,"nodeType":996},{"target":171178},{"sys":171179},{"id":103818,"type":1001,"linkType":1002},[],{"data":171182,"content":171183,"nodeType":860},{},[171184],{"data":171185,"marks":171186,"value":103826,"nodeType":864},{},[],{"data":171188,"content":171189,"nodeType":860},{},[171190,171193,171200],{"data":171191,"marks":171192,"value":103833,"nodeType":864},{},[],{"data":171194,"content":171195,"nodeType":883},{"uri":103836},[171196],{"data":171197,"marks":171198,"value":103842,"nodeType":864},{},[171199],{"type":1455},{"data":171201,"marks":171202,"value":103846,"nodeType":864},{},[],{"data":171204,"content":171205,"nodeType":941},{},[171206,171215],{"data":171207,"content":171208,"nodeType":945},{},[171209],{"data":171210,"content":171211,"nodeType":860},{},[171212],{"data":171213,"marks":171214,"value":103859,"nodeType":864},{},[],{"data":171216,"content":171217,"nodeType":945},{},[171218],{"data":171219,"content":171220,"nodeType":860},{},[171221],{"data":171222,"marks":171223,"value":103869,"nodeType":864},{},[],{"data":171225,"content":171226,"nodeType":860},{},[171227],{"data":171228,"marks":171229,"value":103876,"nodeType":864},{},[],{"data":171231,"content":171232,"nodeType":1312},{},[171233],{"data":171234,"marks":171235,"value":103883,"nodeType":864},{},[],{"data":171237,"content":171238,"nodeType":860},{},[171239,171242,171246,171249,171253],{"data":171240,"marks":171241,"value":103890,"nodeType":864},{},[],{"data":171243,"marks":171244,"value":103895,"nodeType":864},{},[171245],{"type":899},{"data":171247,"marks":171248,"value":103899,"nodeType":864},{},[],{"data":171250,"marks":171251,"value":103904,"nodeType":864},{},[171252],{"type":2246},{"data":171254,"marks":171255,"value":8618,"nodeType":864},{},[],{"data":171257,"content":171258,"nodeType":860},{},[171259,171262,171266],{"data":171260,"marks":171261,"value":103914,"nodeType":864},{},[],{"data":171263,"marks":171264,"value":103919,"nodeType":864},{},[171265],{"type":899},{"data":171267,"marks":171268,"value":103923,"nodeType":864},{},[],{"data":171270,"content":171271,"nodeType":860},{},[171272],{"data":171273,"marks":171274,"value":103930,"nodeType":864},{},[],{"data":171276,"content":171277,"nodeType":860},{},[171278,171281],{"data":171279,"marks":171280,"value":103937,"nodeType":864},{},[],{"data":171282,"marks":171283,"value":103942,"nodeType":864},{},[171284],{"type":899},{"data":171286,"content":171287,"nodeType":860},{},[171288],{"data":171289,"marks":171290,"value":103949,"nodeType":864},{},[],{"data":171292,"content":171293,"nodeType":1005},{},[],{"data":171295,"content":171296,"nodeType":1009},{},[171297],{"data":171298,"marks":171299,"value":103959,"nodeType":864},{},[],{"data":171301,"content":171302,"nodeType":860},{},[171303],{"data":171304,"marks":171305,"value":103966,"nodeType":864},{},[],{"data":171307,"content":171308,"nodeType":860},{},[171309,171312,171316],{"data":171310,"marks":171311,"value":103973,"nodeType":864},{},[],{"data":171313,"marks":171314,"value":103978,"nodeType":864},{},[171315],{"type":2246},{"data":171317,"marks":171318,"value":103982,"nodeType":864},{},[],{"data":171320,"content":171321,"nodeType":860},{},[171322,171325],{"data":171323,"marks":171324,"value":103989,"nodeType":864},{},[],{"data":171326,"marks":171327,"value":103994,"nodeType":864},{},[171328],{"type":899},{"data":171330,"content":171331,"nodeType":860},{},[171332,171335],{"data":171333,"marks":171334,"value":104001,"nodeType":864},{},[],{"data":171336,"marks":171337,"value":104005,"nodeType":864},{},[],{"data":171339,"content":171340,"nodeType":860},{},[171341,171344,171351,171354,171361],{"data":171342,"marks":171343,"value":104012,"nodeType":864},{},[],{"data":171345,"content":171346,"nodeType":883},{"uri":5243},[171347],{"data":171348,"marks":171349,"value":5248,"nodeType":864},{},[171350],{"type":1455},{"data":171352,"marks":171353,"value":104023,"nodeType":864},{},[],{"data":171355,"content":171356,"nodeType":883},{"uri":104026},[171357],{"data":171358,"marks":171359,"value":104032,"nodeType":864},{},[171360],{"type":1455},{"data":171362,"marks":171363,"value":1774,"nodeType":864},{},[],{"data":171365,"content":171366,"nodeType":1005},{},[],{"data":171368,"content":171369,"nodeType":1009},{},[171370],{"data":171371,"marks":171372,"value":104045,"nodeType":864},{},[],{"data":171374,"content":171375,"nodeType":860},{},[171376,171379,171386],{"data":171377,"marks":171378,"value":104052,"nodeType":864},{},[],{"data":171380,"content":171381,"nodeType":883},{"uri":18533},[171382],{"data":171383,"marks":171384,"value":104060,"nodeType":864},{},[171385],{"type":1455},{"data":171387,"marks":171388,"value":12252,"nodeType":864},{},[],{"data":171390,"content":171391,"nodeType":1312},{},[171392],{"data":171393,"marks":171394,"value":104070,"nodeType":864},{},[],{"data":171396,"content":171397,"nodeType":860},{},[171398],{"data":171399,"marks":171400,"value":104078,"nodeType":864},{},[171401],{"type":2246},{"data":171403,"content":171404,"nodeType":941},{},[171405,171414,171433,171442,171451,171460,171469,171478],{"data":171406,"content":171407,"nodeType":945},{},[171408],{"data":171409,"content":171410,"nodeType":860},{},[171411],{"data":171412,"marks":171413,"value":104091,"nodeType":864},{},[],{"data":171415,"content":171416,"nodeType":945},{},[171417],{"data":171418,"content":171419,"nodeType":860},{},[171420,171423,171430],{"data":171421,"marks":171422,"value":104101,"nodeType":864},{},[],{"data":171424,"content":171425,"nodeType":883},{"uri":81682},[171426],{"data":171427,"marks":171428,"value":104109,"nodeType":864},{},[171429],{"type":1455},{"data":171431,"marks":171432,"value":104113,"nodeType":864},{},[],{"data":171434,"content":171435,"nodeType":945},{},[171436],{"data":171437,"content":171438,"nodeType":860},{},[171439],{"data":171440,"marks":171441,"value":104123,"nodeType":864},{},[],{"data":171443,"content":171444,"nodeType":945},{},[171445],{"data":171446,"content":171447,"nodeType":860},{},[171448],{"data":171449,"marks":171450,"value":34354,"nodeType":864},{},[],{"data":171452,"content":171453,"nodeType":945},{},[171454],{"data":171455,"content":171456,"nodeType":860},{},[171457],{"data":171458,"marks":171459,"value":34364,"nodeType":864},{},[],{"data":171461,"content":171462,"nodeType":945},{},[171463],{"data":171464,"content":171465,"nodeType":860},{},[171466],{"data":171467,"marks":171468,"value":34374,"nodeType":864},{},[],{"data":171470,"content":171471,"nodeType":945},{},[171472],{"data":171473,"content":171474,"nodeType":860},{},[171475],{"data":171476,"marks":171477,"value":104160,"nodeType":864},{},[],{"data":171479,"content":171480,"nodeType":945},{},[171481],{"data":171482,"content":171483,"nodeType":860},{},[171484],{"data":171485,"marks":171486,"value":104170,"nodeType":864},{},[],{"data":171488,"content":171489,"nodeType":1312},{},[171490],{"data":171491,"marks":171492,"value":104177,"nodeType":864},{},[],{"data":171494,"content":171495,"nodeType":941},{},[171496,171512,171538,171561,171577,171593],{"data":171497,"content":171498,"nodeType":945},{},[171499],{"data":171500,"content":171501,"nodeType":860},{},[171502,171505,171509],{"data":171503,"marks":171504,"value":104190,"nodeType":864},{},[],{"data":171506,"marks":171507,"value":104195,"nodeType":864},{},[171508],{"type":899},{"data":171510,"marks":171511,"value":104199,"nodeType":864},{},[],{"data":171513,"content":171514,"nodeType":945},{},[171515],{"data":171516,"content":171517,"nodeType":860},{},[171518,171521,171525,171528,171535],{"data":171519,"marks":171520,"value":104209,"nodeType":864},{},[],{"data":171522,"marks":171523,"value":104214,"nodeType":864},{},[171524],{"type":899},{"data":171526,"marks":171527,"value":104218,"nodeType":864},{},[],{"data":171529,"content":171530,"nodeType":883},{"uri":34109},[171531],{"data":171532,"marks":171533,"value":34115,"nodeType":864},{},[171534],{"type":1455},{"data":171536,"marks":171537,"value":34119,"nodeType":864},{},[],{"data":171539,"content":171540,"nodeType":945},{},[171541],{"data":171542,"content":171543,"nodeType":860},{},[171544,171547,171551,171554,171558],{"data":171545,"marks":171546,"value":104238,"nodeType":864},{},[],{"data":171548,"marks":171549,"value":104243,"nodeType":864},{},[171550],{"type":899},{"data":171552,"marks":171553,"value":104247,"nodeType":864},{},[],{"data":171555,"marks":171556,"value":104252,"nodeType":864},{},[171557],{"type":899},{"data":171559,"marks":171560,"value":104256,"nodeType":864},{},[],{"data":171562,"content":171563,"nodeType":945},{},[171564],{"data":171565,"content":171566,"nodeType":860},{},[171567,171570,171574],{"data":171568,"marks":171569,"value":104266,"nodeType":864},{},[],{"data":171571,"marks":171572,"value":104271,"nodeType":864},{},[171573],{"type":899},{"data":171575,"marks":171576,"value":104275,"nodeType":864},{},[],{"data":171578,"content":171579,"nodeType":945},{},[171580],{"data":171581,"content":171582,"nodeType":860},{},[171583,171586,171590],{"data":171584,"marks":171585,"value":104285,"nodeType":864},{},[],{"data":171587,"marks":171588,"value":104290,"nodeType":864},{},[171589],{"type":899},{"data":171591,"marks":171592,"value":104294,"nodeType":864},{},[],{"data":171594,"content":171595,"nodeType":945},{},[171596],{"data":171597,"content":171598,"nodeType":860},{},[171599,171602,171606],{"data":171600,"marks":171601,"value":104304,"nodeType":864},{},[],{"data":171603,"marks":171604,"value":104309,"nodeType":864},{},[171605],{"type":899},{"data":171607,"marks":171608,"value":104313,"nodeType":864},{},[],{"data":171610,"content":171611,"nodeType":1312},{},[171612],{"data":171613,"marks":171614,"value":104320,"nodeType":864},{},[],{"data":171616,"content":171617,"nodeType":941},{},[171618,171634,171670,171693],{"data":171619,"content":171620,"nodeType":945},{},[171621],{"data":171622,"content":171623,"nodeType":860},{},[171624,171627,171631],{"data":171625,"marks":171626,"value":104333,"nodeType":864},{},[],{"data":171628,"marks":171629,"value":104338,"nodeType":864},{},[171630],{"type":899},{"data":171632,"marks":171633,"value":104342,"nodeType":864},{},[],{"data":171635,"content":171636,"nodeType":945},{},[171637],{"data":171638,"content":171639,"nodeType":860},{},[171640,171643,171650,171653,171657,171660,171667],{"data":171641,"marks":171642,"value":104352,"nodeType":864},{},[],{"data":171644,"content":171645,"nodeType":883},{"uri":104355},[171646],{"data":171647,"marks":171648,"value":17706,"nodeType":864},{},[171649],{"type":1455},{"data":171651,"marks":171652,"value":3731,"nodeType":864},{},[],{"data":171654,"marks":171655,"value":104368,"nodeType":864},{},[171656],{"type":899},{"data":171658,"marks":171659,"value":104372,"nodeType":864},{},[],{"data":171661,"content":171662,"nodeType":883},{"uri":87669},[171663],{"data":171664,"marks":171665,"value":104380,"nodeType":864},{},[171666],{"type":1455},{"data":171668,"marks":171669,"value":35977,"nodeType":864},{},[],{"data":171671,"content":171672,"nodeType":945},{},[171673],{"data":171674,"content":171675,"nodeType":860},{},[171676,171680,171683,171690],{"data":171677,"marks":171678,"value":104394,"nodeType":864},{},[171679],{"type":899},{"data":171681,"marks":171682,"value":104398,"nodeType":864},{},[],{"data":171684,"content":171685,"nodeType":883},{"uri":34519},[171686],{"data":171687,"marks":171688,"value":104406,"nodeType":864},{},[171689],{"type":1455},{"data":171691,"marks":171692,"value":104410,"nodeType":864},{},[],{"data":171694,"content":171695,"nodeType":945},{},[171696],{"data":171697,"content":171698,"nodeType":860},{},[171699,171702,171706,171709,171713],{"data":171700,"marks":171701,"value":104420,"nodeType":864},{},[],{"data":171703,"marks":171704,"value":104425,"nodeType":864},{},[171705],{"type":899},{"data":171707,"marks":171708,"value":104429,"nodeType":864},{},[],{"data":171710,"marks":171711,"value":104434,"nodeType":864},{},[171712],{"type":899},{"data":171714,"marks":171715,"value":104438,"nodeType":864},{},[],{"data":171717,"content":171718,"nodeType":1312},{},[171719],{"data":171720,"marks":171721,"value":104445,"nodeType":864},{},[],{"data":171723,"content":171724,"nodeType":860},{},[171725],{"data":171726,"marks":171727,"value":104452,"nodeType":864},{},[],{"data":171729,"content":171730,"nodeType":4845},{},[171731,171770,171829],{"data":171732,"content":171733,"nodeType":4581},{},[171734,171743,171752,171761],{"data":171735,"content":171736,"nodeType":7282},{},[171737],{"data":171738,"content":171739,"nodeType":860},{},[171740],{"data":171741,"marks":171742,"value":104468,"nodeType":864},{},[],{"data":171744,"content":171745,"nodeType":7282},{},[171746],{"data":171747,"content":171748,"nodeType":860},{},[171749],{"data":171750,"marks":171751,"value":104478,"nodeType":864},{},[],{"data":171753,"content":171754,"nodeType":7282},{},[171755],{"data":171756,"content":171757,"nodeType":860},{},[171758],{"data":171759,"marks":171760,"value":104488,"nodeType":864},{},[],{"data":171762,"content":171763,"nodeType":7282},{},[171764],{"data":171765,"content":171766,"nodeType":860},{},[171767],{"data":171768,"marks":171769,"value":104498,"nodeType":864},{},[],{"data":171771,"content":171772,"nodeType":4581},{},[171773,171792,171811,171820],{"data":171774,"content":171775,"nodeType":4569},{},[171776],{"data":171777,"content":171778,"nodeType":860},{},[171779,171782,171789],{"data":171780,"marks":171781,"value":21,"nodeType":864},{},[],{"data":171783,"content":171784,"nodeType":883},{"uri":26784},[171785],{"data":171786,"marks":171787,"value":104518,"nodeType":864},{},[171788],{"type":1455},{"data":171790,"marks":171791,"value":21,"nodeType":864},{},[],{"data":171793,"content":171794,"nodeType":4569},{},[171795],{"data":171796,"content":171797,"nodeType":860},{},[171798,171801,171808],{"data":171799,"marks":171800,"value":21,"nodeType":864},{},[],{"data":171802,"content":171803,"nodeType":883},{"uri":104355},[171804],{"data":171805,"marks":171806,"value":395,"nodeType":864},{},[171807],{"type":1455},{"data":171809,"marks":171810,"value":21,"nodeType":864},{},[],{"data":171812,"content":171813,"nodeType":4569},{},[171814],{"data":171815,"content":171816,"nodeType":860},{},[171817],{"data":171818,"marks":171819,"value":104550,"nodeType":864},{},[],{"data":171821,"content":171822,"nodeType":4569},{},[171823],{"data":171824,"content":171825,"nodeType":860},{},[171826],{"data":171827,"marks":171828,"value":104560,"nodeType":864},{},[],{"data":171830,"content":171831,"nodeType":4581},{},[171832,171851,171870,171879],{"data":171833,"content":171834,"nodeType":4569},{},[171835],{"data":171836,"content":171837,"nodeType":860},{},[171838,171841,171848],{"data":171839,"marks":171840,"value":21,"nodeType":864},{},[],{"data":171842,"content":171843,"nodeType":883},{"uri":42040},[171844],{"data":171845,"marks":171846,"value":104580,"nodeType":864},{},[171847],{"type":1455},{"data":171849,"marks":171850,"value":21,"nodeType":864},{},[],{"data":171852,"content":171853,"nodeType":4569},{},[171854],{"data":171855,"content":171856,"nodeType":860},{},[171857,171860,171867],{"data":171858,"marks":171859,"value":21,"nodeType":864},{},[],{"data":171861,"content":171862,"nodeType":883},{"uri":104595},[171863],{"data":171864,"marks":171865,"value":96158,"nodeType":864},{},[171866],{"type":1455},{"data":171868,"marks":171869,"value":21,"nodeType":864},{},[],{"data":171871,"content":171872,"nodeType":4569},{},[171873],{"data":171874,"content":171875,"nodeType":860},{},[171876],{"data":171877,"marks":171878,"value":104613,"nodeType":864},{},[],{"data":171880,"content":171881,"nodeType":4569},{},[171882],{"data":171883,"content":171884,"nodeType":860},{},[171885],{"data":171886,"marks":171887,"value":104623,"nodeType":864},{},[],{"data":171889,"content":171890,"nodeType":1312},{},[171891],{"data":171892,"marks":171893,"value":104630,"nodeType":864},{},[],{"data":171895,"content":171896,"nodeType":860},{},[171897],{"data":171898,"marks":171899,"value":104637,"nodeType":864},{},[],{"data":171901,"content":171902,"nodeType":941},{},[171903,171912,171921,171930,171939,171948,171957,171966],{"data":171904,"content":171905,"nodeType":945},{},[171906],{"data":171907,"content":171908,"nodeType":860},{},[171909],{"data":171910,"marks":171911,"value":104650,"nodeType":864},{},[],{"data":171913,"content":171914,"nodeType":945},{},[171915],{"data":171916,"content":171917,"nodeType":860},{},[171918],{"data":171919,"marks":171920,"value":104660,"nodeType":864},{},[],{"data":171922,"content":171923,"nodeType":945},{},[171924],{"data":171925,"content":171926,"nodeType":860},{},[171927],{"data":171928,"marks":171929,"value":104670,"nodeType":864},{},[],{"data":171931,"content":171932,"nodeType":945},{},[171933],{"data":171934,"content":171935,"nodeType":860},{},[171936],{"data":171937,"marks":171938,"value":104680,"nodeType":864},{},[],{"data":171940,"content":171941,"nodeType":945},{},[171942],{"data":171943,"content":171944,"nodeType":860},{},[171945],{"data":171946,"marks":171947,"value":104690,"nodeType":864},{},[],{"data":171949,"content":171950,"nodeType":945},{},[171951],{"data":171952,"content":171953,"nodeType":860},{},[171954],{"data":171955,"marks":171956,"value":104700,"nodeType":864},{},[],{"data":171958,"content":171959,"nodeType":945},{},[171960],{"data":171961,"content":171962,"nodeType":860},{},[171963],{"data":171964,"marks":171965,"value":104710,"nodeType":864},{},[],{"data":171967,"content":171968,"nodeType":945},{},[171969],{"data":171970,"content":171971,"nodeType":860},{},[171972],{"data":171973,"marks":171974,"value":104720,"nodeType":864},{},[],{"data":171976,"content":171977,"nodeType":1005},{},[],{"data":171979,"content":171980,"nodeType":1009},{},[171981],{"data":171982,"marks":171983,"value":104730,"nodeType":864},{},[],{"data":171985,"content":171986,"nodeType":860},{},[171987],{"data":171988,"marks":171989,"value":104737,"nodeType":864},{},[],{"data":171991,"content":171992,"nodeType":1312},{},[171993],{"data":171994,"marks":171995,"value":104744,"nodeType":864},{},[],{"data":171997,"content":171998,"nodeType":941},{},[171999,172008,172017,172026,172035,172044],{"data":172000,"content":172001,"nodeType":945},{},[172002],{"data":172003,"content":172004,"nodeType":860},{},[172005],{"data":172006,"marks":172007,"value":104757,"nodeType":864},{},[],{"data":172009,"content":172010,"nodeType":945},{},[172011],{"data":172012,"content":172013,"nodeType":860},{},[172014],{"data":172015,"marks":172016,"value":104767,"nodeType":864},{},[],{"data":172018,"content":172019,"nodeType":945},{},[172020],{"data":172021,"content":172022,"nodeType":860},{},[172023],{"data":172024,"marks":172025,"value":104777,"nodeType":864},{},[],{"data":172027,"content":172028,"nodeType":945},{},[172029],{"data":172030,"content":172031,"nodeType":860},{},[172032],{"data":172033,"marks":172034,"value":104787,"nodeType":864},{},[],{"data":172036,"content":172037,"nodeType":945},{},[172038],{"data":172039,"content":172040,"nodeType":860},{},[172041],{"data":172042,"marks":172043,"value":104797,"nodeType":864},{},[],{"data":172045,"content":172046,"nodeType":945},{},[172047],{"data":172048,"content":172049,"nodeType":860},{},[172050],{"data":172051,"marks":172052,"value":104807,"nodeType":864},{},[],{"data":172054,"content":172055,"nodeType":1312},{},[172056],{"data":172057,"marks":172058,"value":104814,"nodeType":864},{},[],{"data":172060,"content":172061,"nodeType":941},{},[172062,172071,172080],{"data":172063,"content":172064,"nodeType":945},{},[172065],{"data":172066,"content":172067,"nodeType":860},{},[172068],{"data":172069,"marks":172070,"value":104827,"nodeType":864},{},[],{"data":172072,"content":172073,"nodeType":945},{},[172074],{"data":172075,"content":172076,"nodeType":860},{},[172077],{"data":172078,"marks":172079,"value":104837,"nodeType":864},{},[],{"data":172081,"content":172082,"nodeType":945},{},[172083],{"data":172084,"content":172085,"nodeType":860},{},[172086],{"data":172087,"marks":172088,"value":104847,"nodeType":864},{},[],{"data":172090,"content":172091,"nodeType":1312},{},[172092],{"data":172093,"marks":172094,"value":104854,"nodeType":864},{},[],{"data":172096,"content":172097,"nodeType":941},{},[172098,172107,172116,172125],{"data":172099,"content":172100,"nodeType":945},{},[172101],{"data":172102,"content":172103,"nodeType":860},{},[172104],{"data":172105,"marks":172106,"value":104867,"nodeType":864},{},[],{"data":172108,"content":172109,"nodeType":945},{},[172110],{"data":172111,"content":172112,"nodeType":860},{},[172113],{"data":172114,"marks":172115,"value":104877,"nodeType":864},{},[],{"data":172117,"content":172118,"nodeType":945},{},[172119],{"data":172120,"content":172121,"nodeType":860},{},[172122],{"data":172123,"marks":172124,"value":104887,"nodeType":864},{},[],{"data":172126,"content":172127,"nodeType":945},{},[172128],{"data":172129,"content":172130,"nodeType":860},{},[172131],{"data":172132,"marks":172133,"value":104897,"nodeType":864},{},[],{"data":172135,"content":172136,"nodeType":1312},{},[172137],{"data":172138,"marks":172139,"value":104445,"nodeType":864},{},[],{"data":172141,"content":172142,"nodeType":860},{},[172143],{"data":172144,"marks":172145,"value":104452,"nodeType":864},{},[],{"data":172147,"content":172148,"nodeType":4845},{},[172149,172188,172247,172306],{"data":172150,"content":172151,"nodeType":4581},{},[172152,172161,172170,172179],{"data":172153,"content":172154,"nodeType":7282},{},[172155],{"data":172156,"content":172157,"nodeType":860},{},[172158],{"data":172159,"marks":172160,"value":104468,"nodeType":864},{},[],{"data":172162,"content":172163,"nodeType":7282},{},[172164],{"data":172165,"content":172166,"nodeType":860},{},[172167],{"data":172168,"marks":172169,"value":104934,"nodeType":864},{},[],{"data":172171,"content":172172,"nodeType":7282},{},[172173],{"data":172174,"content":172175,"nodeType":860},{},[172176],{"data":172177,"marks":172178,"value":104488,"nodeType":864},{},[],{"data":172180,"content":172181,"nodeType":7282},{},[172182],{"data":172183,"content":172184,"nodeType":860},{},[172185],{"data":172186,"marks":172187,"value":104498,"nodeType":864},{},[],{"data":172189,"content":172190,"nodeType":4581},{},[172191,172210,172229,172238],{"data":172192,"content":172193,"nodeType":4569},{},[172194],{"data":172195,"content":172196,"nodeType":860},{},[172197,172200,172207],{"data":172198,"marks":172199,"value":21,"nodeType":864},{},[],{"data":172201,"content":172202,"nodeType":883},{"uri":87924},[172203],{"data":172204,"marks":172205,"value":104972,"nodeType":864},{},[172206],{"type":1455},{"data":172208,"marks":172209,"value":21,"nodeType":864},{},[],{"data":172211,"content":172212,"nodeType":4569},{},[172213],{"data":172214,"content":172215,"nodeType":860},{},[172216,172219,172226],{"data":172217,"marks":172218,"value":21,"nodeType":864},{},[],{"data":172220,"content":172221,"nodeType":883},{"uri":104987},[172222],{"data":172223,"marks":172224,"value":333,"nodeType":864},{},[172225],{"type":1455},{"data":172227,"marks":172228,"value":21,"nodeType":864},{},[],{"data":172230,"content":172231,"nodeType":4569},{},[172232],{"data":172233,"content":172234,"nodeType":860},{},[172235],{"data":172236,"marks":172237,"value":105005,"nodeType":864},{},[],{"data":172239,"content":172240,"nodeType":4569},{},[172241],{"data":172242,"content":172243,"nodeType":860},{},[172244],{"data":172245,"marks":172246,"value":105015,"nodeType":864},{},[],{"data":172248,"content":172249,"nodeType":4581},{},[172250,172269,172288,172297],{"data":172251,"content":172252,"nodeType":4569},{},[172253],{"data":172254,"content":172255,"nodeType":860},{},[172256,172259,172266],{"data":172257,"marks":172258,"value":21,"nodeType":864},{},[],{"data":172260,"content":172261,"nodeType":883},{"uri":96375},[172262],{"data":172263,"marks":172264,"value":105035,"nodeType":864},{},[172265],{"type":1455},{"data":172267,"marks":172268,"value":21,"nodeType":864},{},[],{"data":172270,"content":172271,"nodeType":4569},{},[172272],{"data":172273,"content":172274,"nodeType":860},{},[172275,172278,172285],{"data":172276,"marks":172277,"value":21,"nodeType":864},{},[],{"data":172279,"content":172280,"nodeType":883},{"uri":105050},[172281],{"data":172282,"marks":172283,"value":96381,"nodeType":864},{},[172284],{"type":1455},{"data":172286,"marks":172287,"value":21,"nodeType":864},{},[],{"data":172289,"content":172290,"nodeType":4569},{},[172291],{"data":172292,"content":172293,"nodeType":860},{},[172294],{"data":172295,"marks":172296,"value":105068,"nodeType":864},{},[],{"data":172298,"content":172299,"nodeType":4569},{},[172300],{"data":172301,"content":172302,"nodeType":860},{},[172303],{"data":172304,"marks":172305,"value":105078,"nodeType":864},{},[],{"data":172307,"content":172308,"nodeType":4581},{},[172309,172328,172347,172356],{"data":172310,"content":172311,"nodeType":4569},{},[172312],{"data":172313,"content":172314,"nodeType":860},{},[172315,172318,172325],{"data":172316,"marks":172317,"value":21,"nodeType":864},{},[],{"data":172319,"content":172320,"nodeType":883},{"uri":96606},[172321],{"data":172322,"marks":172323,"value":105098,"nodeType":864},{},[172324],{"type":1455},{"data":172326,"marks":172327,"value":21,"nodeType":864},{},[],{"data":172329,"content":172330,"nodeType":4569},{},[172331],{"data":172332,"content":172333,"nodeType":860},{},[172334,172337,172344],{"data":172335,"marks":172336,"value":21,"nodeType":864},{},[],{"data":172338,"content":172339,"nodeType":883},{"uri":105113},[172340],{"data":172341,"marks":172342,"value":105119,"nodeType":864},{},[172343],{"type":1455},{"data":172345,"marks":172346,"value":21,"nodeType":864},{},[],{"data":172348,"content":172349,"nodeType":4569},{},[172350],{"data":172351,"content":172352,"nodeType":860},{},[172353],{"data":172354,"marks":172355,"value":105132,"nodeType":864},{},[],{"data":172357,"content":172358,"nodeType":4569},{},[172359],{"data":172360,"content":172361,"nodeType":860},{},[172362],{"data":172363,"marks":172364,"value":105142,"nodeType":864},{},[],{"data":172366,"content":172367,"nodeType":1312},{},[172368],{"data":172369,"marks":172370,"value":104630,"nodeType":864},{},[],{"data":172372,"content":172373,"nodeType":860},{},[172374],{"data":172375,"marks":172376,"value":105156,"nodeType":864},{},[172377],{"type":899},{"data":172379,"content":172380,"nodeType":860},{},[172381],{"data":172382,"marks":172383,"value":105163,"nodeType":864},{},[],{"data":172385,"content":172386,"nodeType":1005},{},[],{"data":172388,"content":172389,"nodeType":1009},{},[172390],{"data":172391,"marks":172392,"value":105173,"nodeType":864},{},[],{"data":172394,"content":172395,"nodeType":860},{},[172396],{"data":172397,"marks":172398,"value":105180,"nodeType":864},{},[],{"data":172400,"content":172401,"nodeType":1312},{},[172402],{"data":172403,"marks":172404,"value":105187,"nodeType":864},{},[],{"data":172406,"content":172407,"nodeType":941},{},[172408,172417,172426,172435,172444],{"data":172409,"content":172410,"nodeType":945},{},[172411],{"data":172412,"content":172413,"nodeType":860},{},[172414],{"data":172415,"marks":172416,"value":105200,"nodeType":864},{},[],{"data":172418,"content":172419,"nodeType":945},{},[172420],{"data":172421,"content":172422,"nodeType":860},{},[172423],{"data":172424,"marks":172425,"value":105210,"nodeType":864},{},[],{"data":172427,"content":172428,"nodeType":945},{},[172429],{"data":172430,"content":172431,"nodeType":860},{},[172432],{"data":172433,"marks":172434,"value":105220,"nodeType":864},{},[],{"data":172436,"content":172437,"nodeType":945},{},[172438],{"data":172439,"content":172440,"nodeType":860},{},[172441],{"data":172442,"marks":172443,"value":105230,"nodeType":864},{},[],{"data":172445,"content":172446,"nodeType":945},{},[172447],{"data":172448,"content":172449,"nodeType":860},{},[172450],{"data":172451,"marks":172452,"value":105240,"nodeType":864},{},[],{"data":172454,"content":172455,"nodeType":1312},{},[172456],{"data":172457,"marks":172458,"value":105247,"nodeType":864},{},[],{"data":172460,"content":172461,"nodeType":941},{},[172462,172471,172480,172489],{"data":172463,"content":172464,"nodeType":945},{},[172465],{"data":172466,"content":172467,"nodeType":860},{},[172468],{"data":172469,"marks":172470,"value":105260,"nodeType":864},{},[],{"data":172472,"content":172473,"nodeType":945},{},[172474],{"data":172475,"content":172476,"nodeType":860},{},[172477],{"data":172478,"marks":172479,"value":105270,"nodeType":864},{},[],{"data":172481,"content":172482,"nodeType":945},{},[172483],{"data":172484,"content":172485,"nodeType":860},{},[172486],{"data":172487,"marks":172488,"value":105280,"nodeType":864},{},[],{"data":172490,"content":172491,"nodeType":945},{},[172492],{"data":172493,"content":172494,"nodeType":860},{},[172495],{"data":172496,"marks":172497,"value":105290,"nodeType":864},{},[],{"data":172499,"content":172500,"nodeType":1312},{},[172501],{"data":172502,"marks":172503,"value":105297,"nodeType":864},{},[],{"data":172505,"content":172506,"nodeType":941},{},[172507,172516,172525],{"data":172508,"content":172509,"nodeType":945},{},[172510],{"data":172511,"content":172512,"nodeType":860},{},[172513],{"data":172514,"marks":172515,"value":105310,"nodeType":864},{},[],{"data":172517,"content":172518,"nodeType":945},{},[172519],{"data":172520,"content":172521,"nodeType":860},{},[172522],{"data":172523,"marks":172524,"value":105320,"nodeType":864},{},[],{"data":172526,"content":172527,"nodeType":945},{},[172528],{"data":172529,"content":172530,"nodeType":860},{},[172531],{"data":172532,"marks":172533,"value":105330,"nodeType":864},{},[],{"data":172535,"content":172536,"nodeType":1312},{},[172537],{"data":172538,"marks":172539,"value":104445,"nodeType":864},{},[],{"data":172541,"content":172542,"nodeType":860},{},[172543],{"data":172544,"marks":172545,"value":104452,"nodeType":864},{},[],{"data":172547,"content":172548,"nodeType":4845},{},[172549,172588,172647],{"data":172550,"content":172551,"nodeType":4581},{},[172552,172561,172570,172579],{"data":172553,"content":172554,"nodeType":7282},{},[172555],{"data":172556,"content":172557,"nodeType":860},{},[172558],{"data":172559,"marks":172560,"value":104468,"nodeType":864},{},[],{"data":172562,"content":172563,"nodeType":7282},{},[172564],{"data":172565,"content":172566,"nodeType":860},{},[172567],{"data":172568,"marks":172569,"value":104934,"nodeType":864},{},[],{"data":172571,"content":172572,"nodeType":7282},{},[172573],{"data":172574,"content":172575,"nodeType":860},{},[172576],{"data":172577,"marks":172578,"value":104488,"nodeType":864},{},[],{"data":172580,"content":172581,"nodeType":7282},{},[172582],{"data":172583,"content":172584,"nodeType":860},{},[172585],{"data":172586,"marks":172587,"value":104498,"nodeType":864},{},[],{"data":172589,"content":172590,"nodeType":4581},{},[172591,172610,172629,172638],{"data":172592,"content":172593,"nodeType":4569},{},[172594],{"data":172595,"content":172596,"nodeType":860},{},[172597,172600,172607],{"data":172598,"marks":172599,"value":21,"nodeType":864},{},[],{"data":172601,"content":172602,"nodeType":883},{"uri":87924},[172603],{"data":172604,"marks":172605,"value":104972,"nodeType":864},{},[172606],{"type":1455},{"data":172608,"marks":172609,"value":21,"nodeType":864},{},[],{"data":172611,"content":172612,"nodeType":4569},{},[172613],{"data":172614,"content":172615,"nodeType":860},{},[172616,172619,172626],{"data":172617,"marks":172618,"value":21,"nodeType":864},{},[],{"data":172620,"content":172621,"nodeType":883},{"uri":104987},[172622],{"data":172623,"marks":172624,"value":333,"nodeType":864},{},[172625],{"type":1455},{"data":172627,"marks":172628,"value":21,"nodeType":864},{},[],{"data":172630,"content":172631,"nodeType":4569},{},[172632],{"data":172633,"content":172634,"nodeType":860},{},[172635],{"data":172636,"marks":172637,"value":105005,"nodeType":864},{},[],{"data":172639,"content":172640,"nodeType":4569},{},[172641],{"data":172642,"content":172643,"nodeType":860},{},[172644],{"data":172645,"marks":172646,"value":105015,"nodeType":864},{},[],{"data":172648,"content":172649,"nodeType":4581},{},[172650,172669,172688,172697],{"data":172651,"content":172652,"nodeType":4569},{},[172653],{"data":172654,"content":172655,"nodeType":860},{},[172656,172659,172666],{"data":172657,"marks":172658,"value":21,"nodeType":864},{},[],{"data":172660,"content":172661,"nodeType":883},{"uri":105458},[172662],{"data":172663,"marks":172664,"value":105464,"nodeType":864},{},[172665],{"type":1455},{"data":172667,"marks":172668,"value":21,"nodeType":864},{},[],{"data":172670,"content":172671,"nodeType":4569},{},[172672],{"data":172673,"content":172674,"nodeType":860},{},[172675,172678,172685],{"data":172676,"marks":172677,"value":21,"nodeType":864},{},[],{"data":172679,"content":172680,"nodeType":883},{"uri":105479},[172681],{"data":172682,"marks":172683,"value":105485,"nodeType":864},{},[172684],{"type":1455},{"data":172686,"marks":172687,"value":21,"nodeType":864},{},[],{"data":172689,"content":172690,"nodeType":4569},{},[172691],{"data":172692,"content":172693,"nodeType":860},{},[172694],{"data":172695,"marks":172696,"value":105498,"nodeType":864},{},[],{"data":172698,"content":172699,"nodeType":4569},{},[172700],{"data":172701,"content":172702,"nodeType":860},{},[172703],{"data":172704,"marks":172705,"value":105508,"nodeType":864},{},[],{"data":172707,"content":172708,"nodeType":1312},{},[172709],{"data":172710,"marks":172711,"value":104630,"nodeType":864},{},[],{"data":172713,"content":172714,"nodeType":860},{},[172715],{"data":172716,"marks":172717,"value":105522,"nodeType":864},{},[172718],{"type":899},{"data":172720,"content":172721,"nodeType":860},{},[172722],{"data":172723,"marks":172724,"value":105529,"nodeType":864},{},[],{"data":172726,"content":172727,"nodeType":860},{},[172728],{"data":172729,"marks":172730,"value":105537,"nodeType":864},{},[172731],{"type":899},{"data":172733,"content":172734,"nodeType":860},{},[172735],{"data":172736,"marks":172737,"value":105544,"nodeType":864},{},[],{"data":172739,"content":172740,"nodeType":860},{},[172741],{"data":172742,"marks":172743,"value":105552,"nodeType":864},{},[172744],{"type":899},{"data":172746,"content":172747,"nodeType":860},{},[172748],{"data":172749,"marks":172750,"value":105559,"nodeType":864},{},[],{"data":172752,"content":172753,"nodeType":1005},{},[],{"data":172755,"content":172756,"nodeType":1009},{},[172757],{"data":172758,"marks":172759,"value":105569,"nodeType":864},{},[],{"data":172761,"content":172762,"nodeType":860},{},[172763],{"data":172764,"marks":172765,"value":105576,"nodeType":864},{},[],{"data":172767,"content":172768,"nodeType":1312},{},[172769],{"data":172770,"marks":172771,"value":105583,"nodeType":864},{},[],{"data":172773,"content":172774,"nodeType":941},{},[172775,172784,172793,172802,172811,172820],{"data":172776,"content":172777,"nodeType":945},{},[172778],{"data":172779,"content":172780,"nodeType":860},{},[172781],{"data":172782,"marks":172783,"value":105596,"nodeType":864},{},[],{"data":172785,"content":172786,"nodeType":945},{},[172787],{"data":172788,"content":172789,"nodeType":860},{},[172790],{"data":172791,"marks":172792,"value":105606,"nodeType":864},{},[],{"data":172794,"content":172795,"nodeType":945},{},[172796],{"data":172797,"content":172798,"nodeType":860},{},[172799],{"data":172800,"marks":172801,"value":105616,"nodeType":864},{},[],{"data":172803,"content":172804,"nodeType":945},{},[172805],{"data":172806,"content":172807,"nodeType":860},{},[172808],{"data":172809,"marks":172810,"value":105626,"nodeType":864},{},[],{"data":172812,"content":172813,"nodeType":945},{},[172814],{"data":172815,"content":172816,"nodeType":860},{},[172817],{"data":172818,"marks":172819,"value":105636,"nodeType":864},{},[],{"data":172821,"content":172822,"nodeType":945},{},[172823],{"data":172824,"content":172825,"nodeType":860},{},[172826],{"data":172827,"marks":172828,"value":105646,"nodeType":864},{},[],{"data":172830,"content":172831,"nodeType":1312},{},[172832],{"data":172833,"marks":172834,"value":105653,"nodeType":864},{},[],{"data":172836,"content":172837,"nodeType":941},{},[172838,172847,172856],{"data":172839,"content":172840,"nodeType":945},{},[172841],{"data":172842,"content":172843,"nodeType":860},{},[172844],{"data":172845,"marks":172846,"value":105666,"nodeType":864},{},[],{"data":172848,"content":172849,"nodeType":945},{},[172850],{"data":172851,"content":172852,"nodeType":860},{},[172853],{"data":172854,"marks":172855,"value":105676,"nodeType":864},{},[],{"data":172857,"content":172858,"nodeType":945},{},[172859],{"data":172860,"content":172861,"nodeType":860},{},[172862],{"data":172863,"marks":172864,"value":105686,"nodeType":864},{},[],{"data":172866,"content":172867,"nodeType":1312},{},[172868],{"data":172869,"marks":172870,"value":105693,"nodeType":864},{},[],{"data":172872,"content":172873,"nodeType":941},{},[172874,172883,172892],{"data":172875,"content":172876,"nodeType":945},{},[172877],{"data":172878,"content":172879,"nodeType":860},{},[172880],{"data":172881,"marks":172882,"value":105706,"nodeType":864},{},[],{"data":172884,"content":172885,"nodeType":945},{},[172886],{"data":172887,"content":172888,"nodeType":860},{},[172889],{"data":172890,"marks":172891,"value":105716,"nodeType":864},{},[],{"data":172893,"content":172894,"nodeType":945},{},[172895],{"data":172896,"content":172897,"nodeType":860},{},[172898],{"data":172899,"marks":172900,"value":105726,"nodeType":864},{},[],{"data":172902,"content":172903,"nodeType":1312},{},[172904],{"data":172905,"marks":172906,"value":104445,"nodeType":864},{},[],{"data":172908,"content":172909,"nodeType":860},{},[172910],{"data":172911,"marks":172912,"value":104452,"nodeType":864},{},[],{"data":172914,"content":172915,"nodeType":4845},{},[172916,172955],{"data":172917,"content":172918,"nodeType":4581},{},[172919,172928,172937,172946],{"data":172920,"content":172921,"nodeType":7282},{},[172922],{"data":172923,"content":172924,"nodeType":860},{},[172925],{"data":172926,"marks":172927,"value":104468,"nodeType":864},{},[],{"data":172929,"content":172930,"nodeType":7282},{},[172931],{"data":172932,"content":172933,"nodeType":860},{},[172934],{"data":172935,"marks":172936,"value":104934,"nodeType":864},{},[],{"data":172938,"content":172939,"nodeType":7282},{},[172940],{"data":172941,"content":172942,"nodeType":860},{},[172943],{"data":172944,"marks":172945,"value":104488,"nodeType":864},{},[],{"data":172947,"content":172948,"nodeType":7282},{},[172949],{"data":172950,"content":172951,"nodeType":860},{},[172952],{"data":172953,"marks":172954,"value":104498,"nodeType":864},{},[],{"data":172956,"content":172957,"nodeType":4581},{},[172958,172977,172996,173005],{"data":172959,"content":172960,"nodeType":4569},{},[172961],{"data":172962,"content":172963,"nodeType":860},{},[172964,172967,172974],{"data":172965,"marks":172966,"value":21,"nodeType":864},{},[],{"data":172968,"content":172969,"nodeType":883},{"uri":26938},[172970],{"data":172971,"marks":172972,"value":105800,"nodeType":864},{},[172973],{"type":1455},{"data":172975,"marks":172976,"value":21,"nodeType":864},{},[],{"data":172978,"content":172979,"nodeType":4569},{},[172980],{"data":172981,"content":172982,"nodeType":860},{},[172983,172986,172993],{"data":172984,"marks":172985,"value":21,"nodeType":864},{},[],{"data":172987,"content":172988,"nodeType":883},{"uri":105815},[172989],{"data":172990,"marks":172991,"value":105821,"nodeType":864},{},[172992],{"type":1455},{"data":172994,"marks":172995,"value":21,"nodeType":864},{},[],{"data":172997,"content":172998,"nodeType":4569},{},[172999],{"data":173000,"content":173001,"nodeType":860},{},[173002],{"data":173003,"marks":173004,"value":105834,"nodeType":864},{},[],{"data":173006,"content":173007,"nodeType":4569},{},[173008],{"data":173009,"content":173010,"nodeType":860},{},[173011],{"data":173012,"marks":173013,"value":105844,"nodeType":864},{},[],{"data":173015,"content":173016,"nodeType":1005},{},[],{"data":173018,"content":173019,"nodeType":1009},{},[173020],{"data":173021,"marks":173022,"value":105854,"nodeType":864},{},[],{"data":173024,"content":173025,"nodeType":860},{},[173026],{"data":173027,"marks":173028,"value":105861,"nodeType":864},{},[],{"data":173030,"content":173031,"nodeType":1312},{},[173032],{"data":173033,"marks":173034,"value":105868,"nodeType":864},{},[],{"data":173036,"content":173037,"nodeType":941},{},[173038,173047,173056,173065,173074,173083],{"data":173039,"content":173040,"nodeType":945},{},[173041],{"data":173042,"content":173043,"nodeType":860},{},[173044],{"data":173045,"marks":173046,"value":105881,"nodeType":864},{},[],{"data":173048,"content":173049,"nodeType":945},{},[173050],{"data":173051,"content":173052,"nodeType":860},{},[173053],{"data":173054,"marks":173055,"value":105891,"nodeType":864},{},[],{"data":173057,"content":173058,"nodeType":945},{},[173059],{"data":173060,"content":173061,"nodeType":860},{},[173062],{"data":173063,"marks":173064,"value":105901,"nodeType":864},{},[],{"data":173066,"content":173067,"nodeType":945},{},[173068],{"data":173069,"content":173070,"nodeType":860},{},[173071],{"data":173072,"marks":173073,"value":105911,"nodeType":864},{},[],{"data":173075,"content":173076,"nodeType":945},{},[173077],{"data":173078,"content":173079,"nodeType":860},{},[173080],{"data":173081,"marks":173082,"value":105921,"nodeType":864},{},[],{"data":173084,"content":173085,"nodeType":945},{},[173086],{"data":173087,"content":173088,"nodeType":860},{},[173089],{"data":173090,"marks":173091,"value":105931,"nodeType":864},{},[],{"data":173093,"content":173094,"nodeType":1312},{},[173095],{"data":173096,"marks":173097,"value":105938,"nodeType":864},{},[],{"data":173099,"content":173100,"nodeType":941},{},[173101,173110,173119],{"data":173102,"content":173103,"nodeType":945},{},[173104],{"data":173105,"content":173106,"nodeType":860},{},[173107],{"data":173108,"marks":173109,"value":105951,"nodeType":864},{},[],{"data":173111,"content":173112,"nodeType":945},{},[173113],{"data":173114,"content":173115,"nodeType":860},{},[173116],{"data":173117,"marks":173118,"value":105961,"nodeType":864},{},[],{"data":173120,"content":173121,"nodeType":945},{},[173122],{"data":173123,"content":173124,"nodeType":860},{},[173125],{"data":173126,"marks":173127,"value":105971,"nodeType":864},{},[],{"data":173129,"content":173130,"nodeType":1312},{},[173131],{"data":173132,"marks":173133,"value":105978,"nodeType":864},{},[],{"data":173135,"content":173136,"nodeType":941},{},[173137,173146,173155],{"data":173138,"content":173139,"nodeType":945},{},[173140],{"data":173141,"content":173142,"nodeType":860},{},[173143],{"data":173144,"marks":173145,"value":105991,"nodeType":864},{},[],{"data":173147,"content":173148,"nodeType":945},{},[173149],{"data":173150,"content":173151,"nodeType":860},{},[173152],{"data":173153,"marks":173154,"value":106001,"nodeType":864},{},[],{"data":173156,"content":173157,"nodeType":945},{},[173158],{"data":173159,"content":173160,"nodeType":860},{},[173161],{"data":173162,"marks":173163,"value":106011,"nodeType":864},{},[],{"data":173165,"content":173166,"nodeType":1312},{},[173167],{"data":173168,"marks":173169,"value":104445,"nodeType":864},{},[],{"data":173171,"content":173172,"nodeType":860},{},[173173],{"data":173174,"marks":173175,"value":104452,"nodeType":864},{},[],{"data":173177,"content":173178,"nodeType":4845},{},[173179,173218,173279],{"data":173180,"content":173181,"nodeType":4581},{},[173182,173191,173200,173209],{"data":173183,"content":173184,"nodeType":7282},{},[173185],{"data":173186,"content":173187,"nodeType":860},{},[173188],{"data":173189,"marks":173190,"value":104468,"nodeType":864},{},[],{"data":173192,"content":173193,"nodeType":7282},{},[173194],{"data":173195,"content":173196,"nodeType":860},{},[173197],{"data":173198,"marks":173199,"value":104934,"nodeType":864},{},[],{"data":173201,"content":173202,"nodeType":7282},{},[173203],{"data":173204,"content":173205,"nodeType":860},{},[173206],{"data":173207,"marks":173208,"value":104488,"nodeType":864},{},[],{"data":173210,"content":173211,"nodeType":7282},{},[173212],{"data":173213,"content":173214,"nodeType":860},{},[173215],{"data":173216,"marks":173217,"value":104498,"nodeType":864},{},[],{"data":173219,"content":173220,"nodeType":4581},{},[173221,173241,173261,173270],{"data":173222,"content":173223,"nodeType":4569},{},[173224],{"data":173225,"content":173226,"nodeType":860},{},[173227,173231,173238],{"data":173228,"marks":173229,"value":21,"nodeType":864},{},[173230],{"type":1455},{"data":173232,"content":173233,"nodeType":883},{"uri":42012},[173234],{"data":173235,"marks":173236,"value":106086,"nodeType":864},{},[173237],{"type":1455},{"data":173239,"marks":173240,"value":21,"nodeType":864},{},[],{"data":173242,"content":173243,"nodeType":4569},{},[173244],{"data":173245,"content":173246,"nodeType":860},{},[173247,173251,173258],{"data":173248,"marks":173249,"value":21,"nodeType":864},{},[173250],{"type":1455},{"data":173252,"content":173253,"nodeType":883},{"uri":106102},[173254],{"data":173255,"marks":173256,"value":106108,"nodeType":864},{},[173257],{"type":1455},{"data":173259,"marks":173260,"value":21,"nodeType":864},{},[],{"data":173262,"content":173263,"nodeType":4569},{},[173264],{"data":173265,"content":173266,"nodeType":860},{},[173267],{"data":173268,"marks":173269,"value":105005,"nodeType":864},{},[],{"data":173271,"content":173272,"nodeType":4569},{},[173273],{"data":173274,"content":173275,"nodeType":860},{},[173276],{"data":173277,"marks":173278,"value":106130,"nodeType":864},{},[],{"data":173280,"content":173281,"nodeType":4581},{},[173282,173301,173322,173331],{"data":173283,"content":173284,"nodeType":4569},{},[173285],{"data":173286,"content":173287,"nodeType":860},{},[173288,173291,173298],{"data":173289,"marks":173290,"value":21,"nodeType":864},{},[],{"data":173292,"content":173293,"nodeType":883},{"uri":106145},[173294],{"data":173295,"marks":173296,"value":106151,"nodeType":864},{},[173297],{"type":1455},{"data":173299,"marks":173300,"value":21,"nodeType":864},{},[],{"data":173302,"content":173303,"nodeType":4569},{},[173304],{"data":173305,"content":173306,"nodeType":860},{},[173307,173311,173318],{"data":173308,"marks":173309,"value":21,"nodeType":864},{},[173310],{"type":1455},{"data":173312,"content":173313,"nodeType":883},{"uri":106167},[173314],{"data":173315,"marks":173316,"value":106173,"nodeType":864},{},[173317],{"type":1455},{"data":173319,"marks":173320,"value":21,"nodeType":864},{},[173321],{"type":1455},{"data":173323,"content":173324,"nodeType":4569},{},[173325],{"data":173326,"content":173327,"nodeType":860},{},[173328],{"data":173329,"marks":173330,"value":106187,"nodeType":864},{},[],{"data":173332,"content":173333,"nodeType":4569},{},[173334],{"data":173335,"content":173336,"nodeType":860},{},[173337],{"data":173338,"marks":173339,"value":106197,"nodeType":864},{},[],{"data":173341,"content":173342,"nodeType":1005},{},[],{"data":173344,"content":173345,"nodeType":1009},{},[173346],{"data":173347,"marks":173348,"value":106207,"nodeType":864},{},[],{"data":173350,"content":173351,"nodeType":860},{},[173352],{"data":173353,"marks":173354,"value":106214,"nodeType":864},{},[],{"data":173356,"content":173357,"nodeType":1312},{},[173358],{"data":173359,"marks":173360,"value":106221,"nodeType":864},{},[],{"data":173362,"content":173363,"nodeType":941},{},[173364,173373,173382,173391,173400,173409,173418],{"data":173365,"content":173366,"nodeType":945},{},[173367],{"data":173368,"content":173369,"nodeType":860},{},[173370],{"data":173371,"marks":173372,"value":106234,"nodeType":864},{},[],{"data":173374,"content":173375,"nodeType":945},{},[173376],{"data":173377,"content":173378,"nodeType":860},{},[173379],{"data":173380,"marks":173381,"value":106244,"nodeType":864},{},[],{"data":173383,"content":173384,"nodeType":945},{},[173385],{"data":173386,"content":173387,"nodeType":860},{},[173388],{"data":173389,"marks":173390,"value":106254,"nodeType":864},{},[],{"data":173392,"content":173393,"nodeType":945},{},[173394],{"data":173395,"content":173396,"nodeType":860},{},[173397],{"data":173398,"marks":173399,"value":106264,"nodeType":864},{},[],{"data":173401,"content":173402,"nodeType":945},{},[173403],{"data":173404,"content":173405,"nodeType":860},{},[173406],{"data":173407,"marks":173408,"value":106274,"nodeType":864},{},[],{"data":173410,"content":173411,"nodeType":945},{},[173412],{"data":173413,"content":173414,"nodeType":860},{},[173415],{"data":173416,"marks":173417,"value":106284,"nodeType":864},{},[],{"data":173419,"content":173420,"nodeType":945},{},[173421],{"data":173422,"content":173423,"nodeType":860},{},[173424],{"data":173425,"marks":173426,"value":106294,"nodeType":864},{},[],{"data":173428,"content":173429,"nodeType":1312},{},[173430],{"data":173431,"marks":173432,"value":106301,"nodeType":864},{},[],{"data":173434,"content":173435,"nodeType":941},{},[173436,173445,173454],{"data":173437,"content":173438,"nodeType":945},{},[173439],{"data":173440,"content":173441,"nodeType":860},{},[173442],{"data":173443,"marks":173444,"value":106314,"nodeType":864},{},[],{"data":173446,"content":173447,"nodeType":945},{},[173448],{"data":173449,"content":173450,"nodeType":860},{},[173451],{"data":173452,"marks":173453,"value":106324,"nodeType":864},{},[],{"data":173455,"content":173456,"nodeType":945},{},[173457],{"data":173458,"content":173459,"nodeType":860},{},[173460],{"data":173461,"marks":173462,"value":106334,"nodeType":864},{},[],{"data":173464,"content":173465,"nodeType":1312},{},[173466],{"data":173467,"marks":173468,"value":106341,"nodeType":864},{},[],{"data":173470,"content":173471,"nodeType":941},{},[173472,173481,173490],{"data":173473,"content":173474,"nodeType":945},{},[173475],{"data":173476,"content":173477,"nodeType":860},{},[173478],{"data":173479,"marks":173480,"value":106354,"nodeType":864},{},[],{"data":173482,"content":173483,"nodeType":945},{},[173484],{"data":173485,"content":173486,"nodeType":860},{},[173487],{"data":173488,"marks":173489,"value":106364,"nodeType":864},{},[],{"data":173491,"content":173492,"nodeType":945},{},[173493],{"data":173494,"content":173495,"nodeType":860},{},[173496],{"data":173497,"marks":173498,"value":106374,"nodeType":864},{},[],{"data":173500,"content":173501,"nodeType":1312},{},[173502],{"data":173503,"marks":173504,"value":104445,"nodeType":864},{},[],{"data":173506,"content":173507,"nodeType":860},{},[173508],{"data":173509,"marks":173510,"value":104452,"nodeType":864},{},[],{"data":173512,"content":173513,"nodeType":4845},{},[173514,173553,173612,173671],{"data":173515,"content":173516,"nodeType":4581},{},[173517,173526,173535,173544],{"data":173518,"content":173519,"nodeType":7282},{},[173520],{"data":173521,"content":173522,"nodeType":860},{},[173523],{"data":173524,"marks":173525,"value":104468,"nodeType":864},{},[],{"data":173527,"content":173528,"nodeType":7282},{},[173529],{"data":173530,"content":173531,"nodeType":860},{},[173532],{"data":173533,"marks":173534,"value":104934,"nodeType":864},{},[],{"data":173536,"content":173537,"nodeType":7282},{},[173538],{"data":173539,"content":173540,"nodeType":860},{},[173541],{"data":173542,"marks":173543,"value":104488,"nodeType":864},{},[],{"data":173545,"content":173546,"nodeType":7282},{},[173547],{"data":173548,"content":173549,"nodeType":860},{},[173550],{"data":173551,"marks":173552,"value":104498,"nodeType":864},{},[],{"data":173554,"content":173555,"nodeType":4581},{},[173556,173575,173594,173603],{"data":173557,"content":173558,"nodeType":4569},{},[173559],{"data":173560,"content":173561,"nodeType":860},{},[173562,173565,173572],{"data":173563,"marks":173564,"value":21,"nodeType":864},{},[],{"data":173566,"content":173567,"nodeType":883},{"uri":96606},[173568],{"data":173569,"marks":173570,"value":105098,"nodeType":864},{},[173571],{"type":1455},{"data":173573,"marks":173574,"value":21,"nodeType":864},{},[],{"data":173576,"content":173577,"nodeType":4569},{},[173578],{"data":173579,"content":173580,"nodeType":860},{},[173581,173584,173591],{"data":173582,"marks":173583,"value":21,"nodeType":864},{},[],{"data":173585,"content":173586,"nodeType":883},{"uri":105113},[173587],{"data":173588,"marks":173589,"value":105119,"nodeType":864},{},[173590],{"type":1455},{"data":173592,"marks":173593,"value":21,"nodeType":864},{},[],{"data":173595,"content":173596,"nodeType":4569},{},[173597],{"data":173598,"content":173599,"nodeType":860},{},[173600],{"data":173601,"marks":173602,"value":106479,"nodeType":864},{},[],{"data":173604,"content":173605,"nodeType":4569},{},[173606],{"data":173607,"content":173608,"nodeType":860},{},[173609],{"data":173610,"marks":173611,"value":105142,"nodeType":864},{},[],{"data":173613,"content":173614,"nodeType":4581},{},[173615,173634,173653,173662],{"data":173616,"content":173617,"nodeType":4569},{},[173618],{"data":173619,"content":173620,"nodeType":860},{},[173621,173624,173631],{"data":173622,"marks":173623,"value":21,"nodeType":864},{},[],{"data":173625,"content":173626,"nodeType":883},{"uri":36086},[173627],{"data":173628,"marks":173629,"value":106508,"nodeType":864},{},[173630],{"type":1455},{"data":173632,"marks":173633,"value":21,"nodeType":864},{},[],{"data":173635,"content":173636,"nodeType":4569},{},[173637],{"data":173638,"content":173639,"nodeType":860},{},[173640,173643,173650],{"data":173641,"marks":173642,"value":21,"nodeType":864},{},[],{"data":173644,"content":173645,"nodeType":883},{"uri":106523},[173646],{"data":173647,"marks":173648,"value":96392,"nodeType":864},{},[173649],{"type":1455},{"data":173651,"marks":173652,"value":21,"nodeType":864},{},[],{"data":173654,"content":173655,"nodeType":4569},{},[173656],{"data":173657,"content":173658,"nodeType":860},{},[173659],{"data":173660,"marks":173661,"value":106541,"nodeType":864},{},[],{"data":173663,"content":173664,"nodeType":4569},{},[173665],{"data":173666,"content":173667,"nodeType":860},{},[173668],{"data":173669,"marks":173670,"value":106551,"nodeType":864},{},[],{"data":173672,"content":173673,"nodeType":4581},{},[173674,173693,173712,173721],{"data":173675,"content":173676,"nodeType":4569},{},[173677],{"data":173678,"content":173679,"nodeType":860},{},[173680,173683,173690],{"data":173681,"marks":173682,"value":21,"nodeType":864},{},[],{"data":173684,"content":173685,"nodeType":883},{"uri":106566},[173686],{"data":173687,"marks":173688,"value":106572,"nodeType":864},{},[173689],{"type":1455},{"data":173691,"marks":173692,"value":21,"nodeType":864},{},[],{"data":173694,"content":173695,"nodeType":4569},{},[173696],{"data":173697,"content":173698,"nodeType":860},{},[173699,173702,173709],{"data":173700,"marks":173701,"value":21,"nodeType":864},{},[],{"data":173703,"content":173704,"nodeType":883},{"uri":106587},[173705],{"data":173706,"marks":173707,"value":106593,"nodeType":864},{},[173708],{"type":1455},{"data":173710,"marks":173711,"value":21,"nodeType":864},{},[],{"data":173713,"content":173714,"nodeType":4569},{},[173715],{"data":173716,"content":173717,"nodeType":860},{},[173718],{"data":173719,"marks":173720,"value":106606,"nodeType":864},{},[],{"data":173722,"content":173723,"nodeType":4569},{},[173724],{"data":173725,"content":173726,"nodeType":860},{},[173727],{"data":173728,"marks":173729,"value":106616,"nodeType":864},{},[],{"data":173731,"content":173732,"nodeType":1005},{},[],{"data":173734,"content":173735,"nodeType":1009},{},[173736],{"data":173737,"marks":173738,"value":106626,"nodeType":864},{},[],{"data":173740,"content":173741,"nodeType":1312},{},[173742],{"data":173743,"marks":173744,"value":106633,"nodeType":864},{},[],{"data":173746,"content":173747,"nodeType":860},{},[173748],{"data":173749,"marks":173750,"value":106640,"nodeType":864},{},[],{"data":173752,"content":173753,"nodeType":860},{},[173754],{"data":173755,"marks":173756,"value":106647,"nodeType":864},{},[],{"data":173758,"content":173759,"nodeType":1005},{},[],{"data":173761,"content":173762,"nodeType":1312},{},[173763],{"data":173764,"marks":173765,"value":106657,"nodeType":864},{},[],{"data":173767,"content":173768,"nodeType":860},{},[173769],{"data":173770,"marks":173771,"value":106664,"nodeType":864},{},[],{"data":173773,"content":173774,"nodeType":860},{},[173775],{"data":173776,"marks":173777,"value":106671,"nodeType":864},{},[],{"data":173779,"content":173780,"nodeType":1005},{},[],{"data":173782,"content":173783,"nodeType":1312},{},[173784],{"data":173785,"marks":173786,"value":106681,"nodeType":864},{},[],{"data":173788,"content":173789,"nodeType":860},{},[173790],{"data":173791,"marks":173792,"value":106688,"nodeType":864},{},[],{"data":173794,"content":173795,"nodeType":860},{},[173796],{"data":173797,"marks":173798,"value":106695,"nodeType":864},{},[],{"data":173800,"content":173801,"nodeType":860},{},[173802],{"data":173803,"marks":173804,"value":106702,"nodeType":864},{},[],{"items":173806},[173807,173809],{"sys":173808,"name":6593},{"id":6592},{"sys":173810,"name":342},{"id":6596},{"items":173812},[173813],{"fullName":2736,"firstName":2737,"jobTitle":2738,"profilePicture":173814},{"url":2740},"blog/saas-attack-techniques",{"json":173817},{"data":173818,"content":173819,"nodeType":856},{},[173820],{"data":173821,"content":173822,"nodeType":860},{},[173823],{"data":173824,"marks":173825,"value":102290,"nodeType":864},{},[],{"id":101509,"publishedAt":173827},"2026-08-12T11:56:09.096Z",{"items":173829},[173830,173832],{"sys":173831,"name":6593},{"id":6592},{"sys":173833,"name":342},{"id":6596},{"items":173835},[173836,173838,173840,173842,173844,173846,173848,173850,173852,173854,173856,173858,173860,173862],{"sys":173837,"name":279,"slug":280,"tier":31},{"id":276},{"sys":173839,"name":413,"slug":414,"tier":31},{"id":410},{"sys":173841,"name":545,"slug":546,"tier":31},{"id":542},{"sys":173843,"name":642,"slug":643,"tier":31},{"id":639},{"sys":173845,"name":342,"slug":343,"tier":31},{"id":339},{"sys":173847,"name":404,"slug":405,"tier":45},{"id":401},{"sys":173849,"name":484,"slug":485,"tier":45},{"id":481},{"sys":173851,"name":324,"slug":325,"tier":45},{"id":321},{"sys":173853,"name":333,"slug":334,"tier":45},{"id":330},{"sys":173855,"name":395,"slug":396,"tier":45},{"id":392},{"sys":173857,"name":607,"slug":608,"tier":45},{"id":604},{"sys":173859,"name":431,"slug":432,"tier":45},{"id":428},{"sys":173861,"name":377,"slug":378,"tier":45},{"id":374},{"sys":173863,"name":475,"slug":476,"tier":45},{"id":472},"0szC1VTC1eFfVaNqA8iSM9qG0Z5QA_j3akEjwUCQQ5M",{"id":173866,"title":167565,"authorsCollection":173867,"content":173871,"extension":228,"faqItemsCollection":174391,"faqTitle":59,"featured":6,"hashTags":59,"meta":174393,"metaTitle":174394,"ogImage":59,"postType":9326,"publishedDate":167567,"relatedBlogPostsCollection":174395,"slug":167568,"stem":177867,"subtitle":59,"summary":177868,"synopsis":167566,"sys":177879,"tagsCollection":177881,"topicsCollection":177887,"__hash__":177901},"blog/blog/free-and-trial-saas-applications-are-even-riskier-than-paid-apps.json",{"items":173868},[173869],{"fullName":140213,"firstName":140214,"jobTitle":140215,"socialLinks":59,"profilePicture":173870},{"url":140217},{"json":173872,"links":174365},{"data":173873,"content":173874,"nodeType":856},{},[173875,173881,173887,173893,173907,173913,173918,173924,173930,173936,173942,173958,173964,173969,173975,173981,174002,174008,174014,174020,174026,174031,174037,174043,174051,174059,174065,174071,174077,174083,174089,174100,174106,174112,174118,174138,174168,174182,174192,174198,174204,174207,174213,174219,174225,174231,174237,174243,174249,174255,174261,174267,174273,174279,174285,174291,174297,174310,174326,174332,174338,174359],{"data":173876,"content":173877,"nodeType":860},{},[173878],{"data":173879,"marks":173880,"value":167010,"nodeType":864},{},[],{"data":173882,"content":173883,"nodeType":1009},{},[173884],{"data":173885,"marks":173886,"value":167017,"nodeType":864},{},[],{"data":173888,"content":173889,"nodeType":860},{},[173890],{"data":173891,"marks":173892,"value":167024,"nodeType":864},{},[],{"data":173894,"content":173895,"nodeType":860},{},[173896,173899,173904],{"data":173897,"marks":173898,"value":167031,"nodeType":864},{},[],{"data":173900,"marks":173901,"value":167037,"nodeType":864},{},[173902,173903],{"type":2246},{"type":899},{"data":173905,"marks":173906,"value":167041,"nodeType":864},{},[],{"data":173908,"content":173909,"nodeType":860},{},[173910],{"data":173911,"marks":173912,"value":167048,"nodeType":864},{},[],{"data":173914,"content":173917,"nodeType":996},{"target":173915},{"sys":173916},{"id":148119,"type":1001,"linkType":1002},[],{"data":173919,"content":173920,"nodeType":860},{},[173921],{"data":173922,"marks":173923,"value":167060,"nodeType":864},{},[],{"data":173925,"content":173926,"nodeType":1009},{},[173927],{"data":173928,"marks":173929,"value":167067,"nodeType":864},{},[],{"data":173931,"content":173932,"nodeType":860},{},[173933],{"data":173934,"marks":173935,"value":167074,"nodeType":864},{},[],{"data":173937,"content":173938,"nodeType":1009},{},[173939],{"data":173940,"marks":173941,"value":167081,"nodeType":864},{},[],{"data":173943,"content":173944,"nodeType":860},{},[173945,173948,173955],{"data":173946,"marks":173947,"value":167088,"nodeType":864},{},[],{"data":173949,"content":173950,"nodeType":883},{"uri":148058},[173951],{"data":173952,"marks":173953,"value":148064,"nodeType":864},{},[173954],{"type":1455},{"data":173956,"marks":173957,"value":167099,"nodeType":864},{},[],{"data":173959,"content":173960,"nodeType":860},{},[173961],{"data":173962,"marks":173963,"value":167106,"nodeType":864},{},[],{"data":173965,"content":173968,"nodeType":996},{"target":173966},{"sys":173967},{"id":148073,"type":1001,"linkType":1002},[],{"data":173970,"content":173971,"nodeType":1009},{},[173972],{"data":173973,"marks":173974,"value":167118,"nodeType":864},{},[],{"data":173976,"content":173977,"nodeType":860},{},[173978],{"data":173979,"marks":173980,"value":167125,"nodeType":864},{},[],{"data":173982,"content":173983,"nodeType":118765},{},[173984,173993],{"data":173985,"content":173986,"nodeType":945},{},[173987],{"data":173988,"content":173989,"nodeType":860},{},[173990],{"data":173991,"marks":173992,"value":167138,"nodeType":864},{},[],{"data":173994,"content":173995,"nodeType":945},{},[173996],{"data":173997,"content":173998,"nodeType":860},{},[173999],{"data":174000,"marks":174001,"value":167148,"nodeType":864},{},[],{"data":174003,"content":174004,"nodeType":1009},{},[174005],{"data":174006,"marks":174007,"value":167155,"nodeType":864},{},[],{"data":174009,"content":174010,"nodeType":860},{},[174011],{"data":174012,"marks":174013,"value":167162,"nodeType":864},{},[],{"data":174015,"content":174016,"nodeType":860},{},[174017],{"data":174018,"marks":174019,"value":167169,"nodeType":864},{},[],{"data":174021,"content":174022,"nodeType":860},{},[174023],{"data":174024,"marks":174025,"value":167176,"nodeType":864},{},[],{"data":174027,"content":174030,"nodeType":996},{"target":174028},{"sys":174029},{"id":148139,"type":1001,"linkType":1002},[],{"data":174032,"content":174033,"nodeType":860},{},[174034],{"data":174035,"marks":174036,"value":167188,"nodeType":864},{},[],{"data":174038,"content":174039,"nodeType":860},{},[174040],{"data":174041,"marks":174042,"value":167195,"nodeType":864},{},[],{"data":174044,"content":174045,"nodeType":860},{},[174046],{"data":174047,"marks":174048,"value":167204,"nodeType":864},{},[174049,174050],{"type":899},{"type":2246},{"data":174052,"content":174053,"nodeType":860},{},[174054],{"data":174055,"marks":174056,"value":21,"nodeType":864},{},[174057,174058],{"type":899},{"type":2246},{"data":174060,"content":174061,"nodeType":1009},{},[174062],{"data":174063,"marks":174064,"value":167219,"nodeType":864},{},[],{"data":174066,"content":174067,"nodeType":860},{},[174068],{"data":174069,"marks":174070,"value":167226,"nodeType":864},{},[],{"data":174072,"content":174073,"nodeType":860},{},[174074],{"data":174075,"marks":174076,"value":167233,"nodeType":864},{},[],{"data":174078,"content":174079,"nodeType":1009},{},[174080],{"data":174081,"marks":174082,"value":167240,"nodeType":864},{},[],{"data":174084,"content":174085,"nodeType":860},{},[174086],{"data":174087,"marks":174088,"value":167247,"nodeType":864},{},[],{"data":174090,"content":174091,"nodeType":860},{},[174092,174097],{"data":174093,"marks":174094,"value":167256,"nodeType":864},{},[174095,174096],{"type":2246},{"type":899},{"data":174098,"marks":174099,"value":8618,"nodeType":864},{},[],{"data":174101,"content":174102,"nodeType":860},{},[174103],{"data":174104,"marks":174105,"value":167266,"nodeType":864},{},[],{"data":174107,"content":174108,"nodeType":860},{},[174109],{"data":174110,"marks":174111,"value":167273,"nodeType":864},{},[],{"data":174113,"content":174114,"nodeType":1009},{},[174115],{"data":174116,"marks":174117,"value":167280,"nodeType":864},{},[],{"data":174119,"content":174120,"nodeType":860},{},[174121,174124,174128,174131,174135],{"data":174122,"marks":174123,"value":167287,"nodeType":864},{},[],{"data":174125,"marks":174126,"value":167292,"nodeType":864},{},[174127],{"type":2246},{"data":174129,"marks":174130,"value":167296,"nodeType":864},{},[],{"data":174132,"marks":174133,"value":167301,"nodeType":864},{},[174134],{"type":2246},{"data":174136,"marks":174137,"value":167305,"nodeType":864},{},[],{"data":174139,"content":174140,"nodeType":941},{},[174141,174150,174159],{"data":174142,"content":174143,"nodeType":945},{},[174144],{"data":174145,"content":174146,"nodeType":860},{},[174147],{"data":174148,"marks":174149,"value":167318,"nodeType":864},{},[],{"data":174151,"content":174152,"nodeType":945},{},[174153],{"data":174154,"content":174155,"nodeType":860},{},[174156],{"data":174157,"marks":174158,"value":167328,"nodeType":864},{},[],{"data":174160,"content":174161,"nodeType":945},{},[174162],{"data":174163,"content":174164,"nodeType":860},{},[174165],{"data":174166,"marks":174167,"value":167338,"nodeType":864},{},[],{"data":174169,"content":174170,"nodeType":860},{},[174171,174174,174179],{"data":174172,"marks":174173,"value":149469,"nodeType":864},{},[],{"data":174175,"marks":174176,"value":167350,"nodeType":864},{},[174177,174178],{"type":2246},{"type":899},{"data":174180,"marks":174181,"value":167354,"nodeType":864},{},[],{"data":174183,"content":174184,"nodeType":860},{},[174185,174189],{"data":174186,"marks":174187,"value":167362,"nodeType":864},{},[174188],{"type":2246},{"data":174190,"marks":174191,"value":8618,"nodeType":864},{},[],{"data":174193,"content":174194,"nodeType":860},{},[174195],{"data":174196,"marks":174197,"value":167372,"nodeType":864},{},[],{"data":174199,"content":174200,"nodeType":860},{},[174201],{"data":174202,"marks":174203,"value":167379,"nodeType":864},{},[],{"data":174205,"content":174206,"nodeType":1005},{},[],{"data":174208,"content":174209,"nodeType":1009},{},[174210],{"data":174211,"marks":174212,"value":167389,"nodeType":864},{},[],{"data":174214,"content":174215,"nodeType":860},{},[174216],{"data":174217,"marks":174218,"value":167396,"nodeType":864},{},[],{"data":174220,"content":174221,"nodeType":1312},{},[174222],{"data":174223,"marks":174224,"value":167403,"nodeType":864},{},[],{"data":174226,"content":174227,"nodeType":860},{},[174228],{"data":174229,"marks":174230,"value":167410,"nodeType":864},{},[],{"data":174232,"content":174233,"nodeType":860},{},[174234],{"data":174235,"marks":174236,"value":167417,"nodeType":864},{},[],{"data":174238,"content":174239,"nodeType":1312},{},[174240],{"data":174241,"marks":174242,"value":167424,"nodeType":864},{},[],{"data":174244,"content":174245,"nodeType":860},{},[174246],{"data":174247,"marks":174248,"value":167431,"nodeType":864},{},[],{"data":174250,"content":174251,"nodeType":860},{},[174252],{"data":174253,"marks":174254,"value":167438,"nodeType":864},{},[],{"data":174256,"content":174257,"nodeType":860},{},[174258],{"data":174259,"marks":174260,"value":167445,"nodeType":864},{},[],{"data":174262,"content":174263,"nodeType":1312},{},[174264],{"data":174265,"marks":174266,"value":167452,"nodeType":864},{},[],{"data":174268,"content":174269,"nodeType":860},{},[174270],{"data":174271,"marks":174272,"value":167459,"nodeType":864},{},[],{"data":174274,"content":174275,"nodeType":860},{},[174276],{"data":174277,"marks":174278,"value":167466,"nodeType":864},{},[],{"data":174280,"content":174281,"nodeType":1312},{},[174282],{"data":174283,"marks":174284,"value":167473,"nodeType":864},{},[],{"data":174286,"content":174287,"nodeType":860},{},[174288],{"data":174289,"marks":174290,"value":167480,"nodeType":864},{},[],{"data":174292,"content":174293,"nodeType":860},{},[174294],{"data":174295,"marks":174296,"value":167487,"nodeType":864},{},[],{"data":174298,"content":174299,"nodeType":860},{},[174300,174303,174307],{"data":174301,"marks":174302,"value":167494,"nodeType":864},{},[],{"data":174304,"marks":174305,"value":155221,"nodeType":864},{},[174306],{"type":2246},{"data":174308,"marks":174309,"value":167502,"nodeType":864},{},[],{"data":174311,"content":174312,"nodeType":860},{},[174313,174316,174323],{"data":174314,"marks":174315,"value":167509,"nodeType":864},{},[],{"data":174317,"content":174318,"nodeType":883},{"uri":167512},[174319],{"data":174320,"marks":174321,"value":29669,"nodeType":864},{},[174322],{"type":1455},{"data":174324,"marks":174325,"value":167521,"nodeType":864},{},[],{"data":174327,"content":174328,"nodeType":1312},{},[174329],{"data":174330,"marks":174331,"value":167528,"nodeType":864},{},[],{"data":174333,"content":174334,"nodeType":860},{},[174335],{"data":174336,"marks":174337,"value":167535,"nodeType":864},{},[],{"data":174339,"content":174340,"nodeType":941},{},[174341,174350],{"data":174342,"content":174343,"nodeType":945},{},[174344],{"data":174345,"content":174346,"nodeType":860},{},[174347],{"data":174348,"marks":174349,"value":167548,"nodeType":864},{},[],{"data":174351,"content":174352,"nodeType":945},{},[174353],{"data":174354,"content":174355,"nodeType":860},{},[174356],{"data":174357,"marks":174358,"value":167558,"nodeType":864},{},[],{"data":174360,"content":174361,"nodeType":860},{},[174362],{"data":174363,"marks":174364,"value":21,"nodeType":864},{},[],{"entries":174366},{"hyperlink":174367,"inline":174368,"block":174369},[],[],[174370,174378,174384],{"sys":174371,"__typename":1724,"title":174372,"caption":174373,"layoutMode":59,"file":174374},{"id":148119},"New way of procuring software due to PLG","The new way of procuring software due to PLG",{"url":174375,"width":174376,"height":174377},"https://images.ctfassets.net/y1cdw1ablpvd/1bwMESg7gXQ5XsSYJax69u/664c3d2a124535c98c68e6d20432ce02/image__32_.png",1412,634,{"sys":174379,"__typename":1724,"title":174380,"caption":174381,"layoutMode":140740,"file":174382},{"id":148073},"PLG apps ","all those highlighted buttons are pure PLG, thanks Wes!",{"url":174383,"width":1736,"height":142634},"https://images.ctfassets.net/y1cdw1ablpvd/MV2eQBx7w1P93Iy1bUKVZ/c4145800c0d7bd807a355c776b830cc0/image9.png",{"sys":174385,"__typename":1724,"title":174386,"caption":174387,"layoutMode":140740,"file":174388},{"id":148139},"Security apps aren't PLG","Security apps definitely aren't PLG",{"url":174389,"width":174390,"height":118518},"https://images.ctfassets.net/y1cdw1ablpvd/5YlsuwLiMkAh8cGII7XKMK/0c3399eb63990cb92dd813bdd2ba0b52/image6.png",1864,{"items":174392},[],{},"SaaS security risks: Free and trial apps riskier than paid",{"items":174396},[174397,175665,177196],{"__typename":2059,"sys":174398,"content":174399,"title":149282,"synopsis":149283,"hashTags":59,"publishedDate":149284,"slug":149285,"tagsCollection":175655,"authorsCollection":175661},{"id":147827},{"json":174400},{"data":174401,"content":174402,"nodeType":856},{},[174403,174409,174415,174421,174427,174433,174439,174445,174451,174490,174496,174502,174508,174514,174520,174525,174531,174537,174543,174550,174556,174562,174568,174574,174580,174586,174592,174608,174613,174619,174625,174635,174642,174648,174653,174659,174665,174670,174676,174684,174697,174718,174724,174730,174736,174742,174747,174753,174759,174765,174771,174777,174783,174799,174805,174811,174817,174823,174836,174866,174874,174880,174886,174892,174898,174904,174910,174916,174921,174927,174933,174939,174945,174951,174957,174973,174979,174984,174990,175011,175017,175023,175053,175059,175065,175071,175077,175089,175095,175155,175161,175167,175188,175193,175199,175205,175211,175241,175247,175588,175594,175610,175616,175624,175637,175643,175649],{"data":174404,"content":174405,"nodeType":1009},{},[174406],{"data":174407,"marks":174408,"value":126377,"nodeType":864},{},[],{"data":174410,"content":174411,"nodeType":860},{},[174412],{"data":174413,"marks":174414,"value":147844,"nodeType":864},{},[],{"data":174416,"content":174417,"nodeType":860},{},[174418],{"data":174419,"marks":174420,"value":147851,"nodeType":864},{},[],{"data":174422,"content":174423,"nodeType":860},{},[174424],{"data":174425,"marks":174426,"value":147858,"nodeType":864},{},[],{"data":174428,"content":174429,"nodeType":860},{},[174430],{"data":174431,"marks":174432,"value":147865,"nodeType":864},{},[],{"data":174434,"content":174435,"nodeType":860},{},[174436],{"data":174437,"marks":174438,"value":147872,"nodeType":864},{},[],{"data":174440,"content":174441,"nodeType":860},{},[174442],{"data":174443,"marks":174444,"value":147879,"nodeType":864},{},[],{"data":174446,"content":174447,"nodeType":860},{},[174448],{"data":174449,"marks":174450,"value":147886,"nodeType":864},{},[],{"data":174452,"content":174453,"nodeType":941},{},[174454,174463,174472,174481],{"data":174455,"content":174456,"nodeType":945},{},[174457],{"data":174458,"content":174459,"nodeType":860},{},[174460],{"data":174461,"marks":174462,"value":147899,"nodeType":864},{},[],{"data":174464,"content":174465,"nodeType":945},{},[174466],{"data":174467,"content":174468,"nodeType":860},{},[174469],{"data":174470,"marks":174471,"value":147909,"nodeType":864},{},[],{"data":174473,"content":174474,"nodeType":945},{},[174475],{"data":174476,"content":174477,"nodeType":860},{},[174478],{"data":174479,"marks":174480,"value":147919,"nodeType":864},{},[],{"data":174482,"content":174483,"nodeType":945},{},[174484],{"data":174485,"content":174486,"nodeType":860},{},[174487],{"data":174488,"marks":174489,"value":147929,"nodeType":864},{},[],{"data":174491,"content":174492,"nodeType":860},{},[174493],{"data":174494,"marks":174495,"value":147936,"nodeType":864},{},[],{"data":174497,"content":174498,"nodeType":860},{},[174499],{"data":174500,"marks":174501,"value":147943,"nodeType":864},{},[],{"data":174503,"content":174504,"nodeType":1009},{},[174505],{"data":174506,"marks":174507,"value":147950,"nodeType":864},{},[],{"data":174509,"content":174510,"nodeType":1312},{},[174511],{"data":174512,"marks":174513,"value":147957,"nodeType":864},{},[],{"data":174515,"content":174516,"nodeType":860},{},[174517],{"data":174518,"marks":174519,"value":147964,"nodeType":864},{},[],{"data":174521,"content":174524,"nodeType":996},{"target":174522},{"sys":174523},{"id":147969,"type":1001,"linkType":1002},[],{"data":174526,"content":174527,"nodeType":860},{},[174528],{"data":174529,"marks":174530,"value":147977,"nodeType":864},{},[],{"data":174532,"content":174533,"nodeType":860},{},[174534],{"data":174535,"marks":174536,"value":147984,"nodeType":864},{},[],{"data":174538,"content":174539,"nodeType":860},{},[174540],{"data":174541,"marks":174542,"value":147991,"nodeType":864},{},[],{"data":174544,"content":174545,"nodeType":860},{},[174546],{"data":174547,"marks":174548,"value":147999,"nodeType":864},{},[174549],{"type":2246},{"data":174551,"content":174552,"nodeType":1312},{},[174553],{"data":174554,"marks":174555,"value":148006,"nodeType":864},{},[],{"data":174557,"content":174558,"nodeType":860},{},[174559],{"data":174560,"marks":174561,"value":148013,"nodeType":864},{},[],{"data":174563,"content":174564,"nodeType":860},{},[174565],{"data":174566,"marks":174567,"value":148020,"nodeType":864},{},[],{"data":174569,"content":174570,"nodeType":860},{},[174571],{"data":174572,"marks":174573,"value":148027,"nodeType":864},{},[],{"data":174575,"content":174576,"nodeType":860},{},[174577],{"data":174578,"marks":174579,"value":148034,"nodeType":864},{},[],{"data":174581,"content":174582,"nodeType":1312},{},[174583],{"data":174584,"marks":174585,"value":148041,"nodeType":864},{},[],{"data":174587,"content":174588,"nodeType":860},{},[174589],{"data":174590,"marks":174591,"value":148048,"nodeType":864},{},[],{"data":174593,"content":174594,"nodeType":860},{},[174595,174598,174605],{"data":174596,"marks":174597,"value":148055,"nodeType":864},{},[],{"data":174599,"content":174600,"nodeType":883},{"uri":148058},[174601],{"data":174602,"marks":174603,"value":148064,"nodeType":864},{},[174604],{"type":1455},{"data":174606,"marks":174607,"value":148068,"nodeType":864},{},[],{"data":174609,"content":174612,"nodeType":996},{"target":174610},{"sys":174611},{"id":148073,"type":1001,"linkType":1002},[],{"data":174614,"content":174615,"nodeType":860},{},[174616],{"data":174617,"marks":174618,"value":148081,"nodeType":864},{},[],{"data":174620,"content":174621,"nodeType":860},{},[174622],{"data":174623,"marks":174624,"value":148088,"nodeType":864},{},[],{"data":174626,"content":174627,"nodeType":860},{},[174628,174631],{"data":174629,"marks":174630,"value":148095,"nodeType":864},{},[],{"data":174632,"marks":174633,"value":1171,"nodeType":864},{},[174634],{"type":899},{"data":174636,"content":174637,"nodeType":860},{},[174638],{"data":174639,"marks":174640,"value":148107,"nodeType":864},{},[174641],{"type":899},{"data":174643,"content":174644,"nodeType":860},{},[174645],{"data":174646,"marks":174647,"value":148114,"nodeType":864},{},[],{"data":174649,"content":174652,"nodeType":996},{"target":174650},{"sys":174651},{"id":148119,"type":1001,"linkType":1002},[],{"data":174654,"content":174655,"nodeType":1312},{},[174656],{"data":174657,"marks":174658,"value":148127,"nodeType":864},{},[],{"data":174660,"content":174661,"nodeType":860},{},[174662],{"data":174663,"marks":174664,"value":148134,"nodeType":864},{},[],{"data":174666,"content":174669,"nodeType":996},{"target":174667},{"sys":174668},{"id":148139,"type":1001,"linkType":1002},[],{"data":174671,"content":174672,"nodeType":860},{},[174673],{"data":174674,"marks":174675,"value":148147,"nodeType":864},{},[],{"data":174677,"content":174678,"nodeType":860},{},[174679],{"data":174680,"marks":174681,"value":148156,"nodeType":864},{},[174682,174683],{"type":2246},{"type":899},{"data":174685,"content":174686,"nodeType":860},{},[174687,174690,174694],{"data":174688,"marks":174689,"value":148163,"nodeType":864},{},[],{"data":174691,"marks":174692,"value":148168,"nodeType":864},{},[174693],{"type":899},{"data":174695,"marks":174696,"value":148172,"nodeType":864},{},[],{"data":174698,"content":174699,"nodeType":118765},{},[174700,174709],{"data":174701,"content":174702,"nodeType":945},{},[174703],{"data":174704,"content":174705,"nodeType":860},{},[174706],{"data":174707,"marks":174708,"value":148185,"nodeType":864},{},[],{"data":174710,"content":174711,"nodeType":945},{},[174712],{"data":174713,"content":174714,"nodeType":860},{},[174715],{"data":174716,"marks":174717,"value":148195,"nodeType":864},{},[],{"data":174719,"content":174720,"nodeType":1009},{},[174721],{"data":174722,"marks":174723,"value":148202,"nodeType":864},{},[],{"data":174725,"content":174726,"nodeType":1312},{},[174727],{"data":174728,"marks":174729,"value":148209,"nodeType":864},{},[],{"data":174731,"content":174732,"nodeType":860},{},[174733],{"data":174734,"marks":174735,"value":148216,"nodeType":864},{},[],{"data":174737,"content":174738,"nodeType":860},{},[174739],{"data":174740,"marks":174741,"value":148223,"nodeType":864},{},[],{"data":174743,"content":174746,"nodeType":996},{"target":174744},{"sys":174745},{"id":148228,"type":1001,"linkType":1002},[],{"data":174748,"content":174749,"nodeType":1312},{},[174750],{"data":174751,"marks":174752,"value":148236,"nodeType":864},{},[],{"data":174754,"content":174755,"nodeType":860},{},[174756],{"data":174757,"marks":174758,"value":148243,"nodeType":864},{},[],{"data":174760,"content":174761,"nodeType":860},{},[174762],{"data":174763,"marks":174764,"value":148250,"nodeType":864},{},[],{"data":174766,"content":174767,"nodeType":860},{},[174768],{"data":174769,"marks":174770,"value":148257,"nodeType":864},{},[],{"data":174772,"content":174773,"nodeType":860},{},[174774],{"data":174775,"marks":174776,"value":148264,"nodeType":864},{},[],{"data":174778,"content":174779,"nodeType":1312},{},[174780],{"data":174781,"marks":174782,"value":148271,"nodeType":864},{},[],{"data":174784,"content":174785,"nodeType":860},{},[174786,174789,174796],{"data":174787,"marks":174788,"value":148278,"nodeType":864},{},[],{"data":174790,"content":174791,"nodeType":883},{"uri":148281},[174792],{"data":174793,"marks":174794,"value":148287,"nodeType":864},{},[174795],{"type":1455},{"data":174797,"marks":174798,"value":148291,"nodeType":864},{},[],{"data":174800,"content":174801,"nodeType":860},{},[174802],{"data":174803,"marks":174804,"value":148298,"nodeType":864},{},[],{"data":174806,"content":174807,"nodeType":1312},{},[174808],{"data":174809,"marks":174810,"value":148305,"nodeType":864},{},[],{"data":174812,"content":174813,"nodeType":860},{},[174814],{"data":174815,"marks":174816,"value":148312,"nodeType":864},{},[],{"data":174818,"content":174819,"nodeType":860},{},[174820],{"data":174821,"marks":174822,"value":148319,"nodeType":864},{},[],{"data":174824,"content":174825,"nodeType":860},{},[174826,174829,174833],{"data":174827,"marks":174828,"value":148326,"nodeType":864},{},[],{"data":174830,"marks":174831,"value":148331,"nodeType":864},{},[174832],{"type":2246},{"data":174834,"marks":174835,"value":148335,"nodeType":864},{},[],{"data":174837,"content":174838,"nodeType":941},{},[174839,174848,174857],{"data":174840,"content":174841,"nodeType":945},{},[174842],{"data":174843,"content":174844,"nodeType":860},{},[174845],{"data":174846,"marks":174847,"value":148348,"nodeType":864},{},[],{"data":174849,"content":174850,"nodeType":945},{},[174851],{"data":174852,"content":174853,"nodeType":860},{},[174854],{"data":174855,"marks":174856,"value":148358,"nodeType":864},{},[],{"data":174858,"content":174859,"nodeType":945},{},[174860],{"data":174861,"content":174862,"nodeType":860},{},[174863],{"data":174864,"marks":174865,"value":148368,"nodeType":864},{},[],{"data":174867,"content":174868,"nodeType":860},{},[174869],{"data":174870,"marks":174871,"value":148377,"nodeType":864},{},[174872,174873],{"type":2246},{"type":899},{"data":174875,"content":174876,"nodeType":860},{},[174877],{"data":174878,"marks":174879,"value":148384,"nodeType":864},{},[],{"data":174881,"content":174882,"nodeType":1312},{},[174883],{"data":174884,"marks":174885,"value":148391,"nodeType":864},{},[],{"data":174887,"content":174888,"nodeType":860},{},[174889],{"data":174890,"marks":174891,"value":148398,"nodeType":864},{},[],{"data":174893,"content":174894,"nodeType":860},{},[174895],{"data":174896,"marks":174897,"value":148405,"nodeType":864},{},[],{"data":174899,"content":174900,"nodeType":1312},{},[174901],{"data":174902,"marks":174903,"value":148412,"nodeType":864},{},[],{"data":174905,"content":174906,"nodeType":860},{},[174907],{"data":174908,"marks":174909,"value":148419,"nodeType":864},{},[],{"data":174911,"content":174912,"nodeType":860},{},[174913],{"data":174914,"marks":174915,"value":148426,"nodeType":864},{},[],{"data":174917,"content":174920,"nodeType":996},{"target":174918},{"sys":174919},{"id":148431,"type":1001,"linkType":1002},[],{"data":174922,"content":174923,"nodeType":860},{},[174924],{"data":174925,"marks":174926,"value":148439,"nodeType":864},{},[],{"data":174928,"content":174929,"nodeType":860},{},[174930],{"data":174931,"marks":174932,"value":148446,"nodeType":864},{},[],{"data":174934,"content":174935,"nodeType":860},{},[174936],{"data":174937,"marks":174938,"value":148453,"nodeType":864},{},[],{"data":174940,"content":174941,"nodeType":1009},{},[174942],{"data":174943,"marks":174944,"value":148460,"nodeType":864},{},[],{"data":174946,"content":174947,"nodeType":860},{},[174948],{"data":174949,"marks":174950,"value":148467,"nodeType":864},{},[],{"data":174952,"content":174953,"nodeType":1312},{},[174954],{"data":174955,"marks":174956,"value":148474,"nodeType":864},{},[],{"data":174958,"content":174959,"nodeType":860},{},[174960,174963,174970],{"data":174961,"marks":174962,"value":148481,"nodeType":864},{},[],{"data":174964,"content":174965,"nodeType":883},{"uri":148484},[174966],{"data":174967,"marks":174968,"value":148490,"nodeType":864},{},[174969],{"type":1455},{"data":174971,"marks":174972,"value":148494,"nodeType":864},{},[],{"data":174974,"content":174975,"nodeType":860},{},[174976],{"data":174977,"marks":174978,"value":148501,"nodeType":864},{},[],{"data":174980,"content":174983,"nodeType":996},{"target":174981},{"sys":174982},{"id":148506,"type":1001,"linkType":1002},[],{"data":174985,"content":174986,"nodeType":860},{},[174987],{"data":174988,"marks":174989,"value":148514,"nodeType":864},{},[],{"data":174991,"content":174992,"nodeType":118765},{},[174993,175002],{"data":174994,"content":174995,"nodeType":945},{},[174996],{"data":174997,"content":174998,"nodeType":860},{},[174999],{"data":175000,"marks":175001,"value":148527,"nodeType":864},{},[],{"data":175003,"content":175004,"nodeType":945},{},[175005],{"data":175006,"content":175007,"nodeType":860},{},[175008],{"data":175009,"marks":175010,"value":148537,"nodeType":864},{},[],{"data":175012,"content":175013,"nodeType":860},{},[175014],{"data":175015,"marks":175016,"value":148544,"nodeType":864},{},[],{"data":175018,"content":175019,"nodeType":860},{},[175020],{"data":175021,"marks":175022,"value":148551,"nodeType":864},{},[],{"data":175024,"content":175025,"nodeType":941},{},[175026,175035,175044],{"data":175027,"content":175028,"nodeType":945},{},[175029],{"data":175030,"content":175031,"nodeType":860},{},[175032],{"data":175033,"marks":175034,"value":148564,"nodeType":864},{},[],{"data":175036,"content":175037,"nodeType":945},{},[175038],{"data":175039,"content":175040,"nodeType":860},{},[175041],{"data":175042,"marks":175043,"value":148574,"nodeType":864},{},[],{"data":175045,"content":175046,"nodeType":945},{},[175047],{"data":175048,"content":175049,"nodeType":860},{},[175050],{"data":175051,"marks":175052,"value":148584,"nodeType":864},{},[],{"data":175054,"content":175055,"nodeType":860},{},[175056],{"data":175057,"marks":175058,"value":148591,"nodeType":864},{},[],{"data":175060,"content":175061,"nodeType":860},{},[175062],{"data":175063,"marks":175064,"value":148598,"nodeType":864},{},[],{"data":175066,"content":175067,"nodeType":860},{},[175068],{"data":175069,"marks":175070,"value":148605,"nodeType":864},{},[],{"data":175072,"content":175073,"nodeType":860},{},[175074],{"data":175075,"marks":175076,"value":148612,"nodeType":864},{},[],{"data":175078,"content":175079,"nodeType":941},{},[175080],{"data":175081,"content":175082,"nodeType":945},{},[175083],{"data":175084,"content":175085,"nodeType":860},{},[175086],{"data":175087,"marks":175088,"value":148625,"nodeType":864},{},[],{"data":175090,"content":175091,"nodeType":860},{},[175092],{"data":175093,"marks":175094,"value":148632,"nodeType":864},{},[],{"data":175096,"content":175097,"nodeType":941},{},[175098,175137,175146],{"data":175099,"content":175100,"nodeType":945},{},[175101],{"data":175102,"content":175103,"nodeType":860},{},[175104,175107,175114,175117,175124,175127,175134],{"data":175105,"marks":175106,"value":148645,"nodeType":864},{},[],{"data":175108,"content":175109,"nodeType":883},{"uri":148648},[175110],{"data":175111,"marks":175112,"value":148654,"nodeType":864},{},[175113],{"type":1455},{"data":175115,"marks":175116,"value":3731,"nodeType":864},{},[],{"data":175118,"content":175119,"nodeType":883},{"uri":148660},[175120],{"data":175121,"marks":175122,"value":148666,"nodeType":864},{},[175123],{"type":1455},{"data":175125,"marks":175126,"value":3731,"nodeType":864},{},[],{"data":175128,"content":175129,"nodeType":883},{"uri":148672},[175130],{"data":175131,"marks":175132,"value":148678,"nodeType":864},{},[175133],{"type":1455},{"data":175135,"marks":175136,"value":148682,"nodeType":864},{},[],{"data":175138,"content":175139,"nodeType":945},{},[175140],{"data":175141,"content":175142,"nodeType":860},{},[175143],{"data":175144,"marks":175145,"value":148692,"nodeType":864},{},[],{"data":175147,"content":175148,"nodeType":945},{},[175149],{"data":175150,"content":175151,"nodeType":860},{},[175152],{"data":175153,"marks":175154,"value":148702,"nodeType":864},{},[],{"data":175156,"content":175157,"nodeType":1312},{},[175158],{"data":175159,"marks":175160,"value":148709,"nodeType":864},{},[],{"data":175162,"content":175163,"nodeType":860},{},[175164],{"data":175165,"marks":175166,"value":148716,"nodeType":864},{},[],{"data":175168,"content":175169,"nodeType":118765},{},[175170,175179],{"data":175171,"content":175172,"nodeType":945},{},[175173],{"data":175174,"content":175175,"nodeType":860},{},[175176],{"data":175177,"marks":175178,"value":148729,"nodeType":864},{},[],{"data":175180,"content":175181,"nodeType":945},{},[175182],{"data":175183,"content":175184,"nodeType":860},{},[175185],{"data":175186,"marks":175187,"value":148739,"nodeType":864},{},[],{"data":175189,"content":175192,"nodeType":996},{"target":175190},{"sys":175191},{"id":148744,"type":1001,"linkType":1002},[],{"data":175194,"content":175195,"nodeType":860},{},[175196],{"data":175197,"marks":175198,"value":148752,"nodeType":864},{},[],{"data":175200,"content":175201,"nodeType":1009},{},[175202],{"data":175203,"marks":175204,"value":148759,"nodeType":864},{},[],{"data":175206,"content":175207,"nodeType":860},{},[175208],{"data":175209,"marks":175210,"value":148766,"nodeType":864},{},[],{"data":175212,"content":175213,"nodeType":941},{},[175214,175223,175232],{"data":175215,"content":175216,"nodeType":945},{},[175217],{"data":175218,"content":175219,"nodeType":860},{},[175220],{"data":175221,"marks":175222,"value":148779,"nodeType":864},{},[],{"data":175224,"content":175225,"nodeType":945},{},[175226],{"data":175227,"content":175228,"nodeType":860},{},[175229],{"data":175230,"marks":175231,"value":148789,"nodeType":864},{},[],{"data":175233,"content":175234,"nodeType":945},{},[175235],{"data":175236,"content":175237,"nodeType":860},{},[175238],{"data":175239,"marks":175240,"value":148799,"nodeType":864},{},[],{"data":175242,"content":175243,"nodeType":860},{},[175244],{"data":175245,"marks":175246,"value":148806,"nodeType":864},{},[],{"data":175248,"content":175249,"nodeType":4845},{},[175250,175273,175341,175390,175428,175535],{"data":175251,"content":175252,"nodeType":4581},{},[175253,175263],{"data":175254,"content":175255,"nodeType":4569},{},[175256],{"data":175257,"content":175258,"nodeType":860},{},[175259],{"data":175260,"marks":175261,"value":148823,"nodeType":864},{},[175262],{"type":899},{"data":175264,"content":175265,"nodeType":4569},{},[175266],{"data":175267,"content":175268,"nodeType":860},{},[175269],{"data":175270,"marks":175271,"value":148834,"nodeType":864},{},[175272],{"type":899},{"data":175274,"content":175275,"nodeType":4581},{},[175276,175285],{"data":175277,"content":175278,"nodeType":4569},{},[175279],{"data":175280,"content":175281,"nodeType":860},{},[175282],{"data":175283,"marks":175284,"value":148847,"nodeType":864},{},[],{"data":175286,"content":175287,"nodeType":4569},{},[175288,175311],{"data":175289,"content":175290,"nodeType":860},{},[175291,175294,175301,175304,175308],{"data":175292,"marks":175293,"value":21,"nodeType":864},{},[],{"data":175295,"content":175296,"nodeType":883},{"uri":148859},[175297],{"data":175298,"marks":175299,"value":148865,"nodeType":864},{},[175300],{"type":1455},{"data":175302,"marks":175303,"value":148869,"nodeType":864},{},[],{"data":175305,"marks":175306,"value":148874,"nodeType":864},{},[175307],{"type":899},{"data":175309,"marks":175310,"value":148878,"nodeType":864},{},[],{"data":175312,"content":175313,"nodeType":860},{},[175314,175317,175324,175327,175331,175334,175338],{"data":175315,"marks":175316,"value":148885,"nodeType":864},{},[],{"data":175318,"content":175319,"nodeType":883},{"uri":148888},[175320],{"data":175321,"marks":175322,"value":148894,"nodeType":864},{},[175323],{"type":1455},{"data":175325,"marks":175326,"value":148898,"nodeType":864},{},[],{"data":175328,"marks":175329,"value":148903,"nodeType":864},{},[175330],{"type":899},{"data":175332,"marks":175333,"value":148907,"nodeType":864},{},[],{"data":175335,"marks":175336,"value":148678,"nodeType":864},{},[175337],{"type":899},{"data":175339,"marks":175340,"value":148915,"nodeType":864},{},[],{"data":175342,"content":175343,"nodeType":4581},{},[175344,175353],{"data":175345,"content":175346,"nodeType":4569},{},[175347],{"data":175348,"content":175349,"nodeType":860},{},[175350],{"data":175351,"marks":175352,"value":148928,"nodeType":864},{},[],{"data":175354,"content":175355,"nodeType":4569},{},[175356],{"data":175357,"content":175358,"nodeType":860},{},[175359,175363,175366,175373,175376,175380,175383,175387],{"data":175360,"marks":175361,"value":148666,"nodeType":864},{},[175362],{"type":899},{"data":175364,"marks":175365,"value":148942,"nodeType":864},{},[],{"data":175367,"content":175368,"nodeType":883},{"uri":148945},[175369],{"data":175370,"marks":175371,"value":148951,"nodeType":864},{},[175372],{"type":1455},{"data":175374,"marks":175375,"value":148955,"nodeType":864},{},[],{"data":175377,"marks":175378,"value":148960,"nodeType":864},{},[175379],{"type":899},{"data":175381,"marks":175382,"value":148964,"nodeType":864},{},[],{"data":175384,"marks":175385,"value":148903,"nodeType":864},{},[175386],{"type":899},{"data":175388,"marks":175389,"value":148972,"nodeType":864},{},[],{"data":175391,"content":175392,"nodeType":4581},{},[175393,175402],{"data":175394,"content":175395,"nodeType":4569},{},[175396],{"data":175397,"content":175398,"nodeType":860},{},[175399],{"data":175400,"marks":175401,"value":148985,"nodeType":864},{},[],{"data":175403,"content":175404,"nodeType":4569},{},[175405],{"data":175406,"content":175407,"nodeType":860},{},[175408,175411,175415,175418,175425],{"data":175409,"marks":175410,"value":148995,"nodeType":864},{},[],{"data":175412,"marks":175413,"value":148666,"nodeType":864},{},[175414],{"type":899},{"data":175416,"marks":175417,"value":149003,"nodeType":864},{},[],{"data":175419,"content":175420,"nodeType":883},{"uri":149006},[175421],{"data":175422,"marks":175423,"value":149012,"nodeType":864},{},[175424],{"type":1455},{"data":175426,"marks":175427,"value":21,"nodeType":864},{},[],{"data":175429,"content":175430,"nodeType":4581},{},[175431,175440],{"data":175432,"content":175433,"nodeType":4569},{},[175434],{"data":175435,"content":175436,"nodeType":860},{},[175437],{"data":175438,"marks":175439,"value":149028,"nodeType":864},{},[],{"data":175441,"content":175442,"nodeType":4569},{},[175443,175477,175500,175513,175529],{"data":175444,"content":175445,"nodeType":860},{},[175446,175450,175453,175457,175460,175467,175470,175474],{"data":175447,"marks":175448,"value":148678,"nodeType":864},{},[175449],{"type":899},{"data":175451,"marks":175452,"value":149042,"nodeType":864},{},[],{"data":175454,"marks":175455,"value":148666,"nodeType":864},{},[175456],{"type":899},{"data":175458,"marks":175459,"value":149050,"nodeType":864},{},[],{"data":175461,"content":175462,"nodeType":883},{"uri":149053},[175463],{"data":175464,"marks":175465,"value":149059,"nodeType":864},{},[175466],{"type":1455},{"data":175468,"marks":175469,"value":149063,"nodeType":864},{},[],{"data":175471,"marks":175472,"value":149068,"nodeType":864},{},[175473],{"type":899},{"data":175475,"marks":175476,"value":149072,"nodeType":864},{},[],{"data":175478,"content":175479,"nodeType":860},{},[175480,175483,175487,175490,175497],{"data":175481,"marks":175482,"value":149079,"nodeType":864},{},[],{"data":175484,"marks":175485,"value":148678,"nodeType":864},{},[175486],{"type":899},{"data":175488,"marks":175489,"value":1171,"nodeType":864},{},[],{"data":175491,"content":175492,"nodeType":883},{"uri":149089},[175493],{"data":175494,"marks":175495,"value":149095,"nodeType":864},{},[175496],{"type":1455},{"data":175498,"marks":175499,"value":149099,"nodeType":864},{},[],{"data":175501,"content":175502,"nodeType":860},{},[175503,175506,175510],{"data":175504,"marks":175505,"value":149106,"nodeType":864},{},[],{"data":175507,"marks":175508,"value":1171,"nodeType":864},{},[175509],{"type":899},{"data":175511,"marks":175512,"value":149114,"nodeType":864},{},[],{"data":175514,"content":175515,"nodeType":860},{},[175516,175519,175526],{"data":175517,"marks":175518,"value":149121,"nodeType":864},{},[],{"data":175520,"content":175521,"nodeType":883},{"uri":149124},[175522],{"data":175523,"marks":175524,"value":149130,"nodeType":864},{},[175525],{"type":1455},{"data":175527,"marks":175528,"value":12252,"nodeType":864},{},[],{"data":175530,"content":175531,"nodeType":860},{},[175532],{"data":175533,"marks":175534,"value":149140,"nodeType":864},{},[],{"data":175536,"content":175537,"nodeType":4581},{},[175538,175547],{"data":175539,"content":175540,"nodeType":4569},{},[175541],{"data":175542,"content":175543,"nodeType":860},{},[175544],{"data":175545,"marks":175546,"value":149153,"nodeType":864},{},[],{"data":175548,"content":175549,"nodeType":4569},{},[175550],{"data":175551,"content":175552,"nodeType":860},{},[175553,175556,175563,175566,175570,175573,175585],{"data":175554,"marks":175555,"value":149163,"nodeType":864},{},[],{"data":175557,"content":175558,"nodeType":883},{"uri":149166},[175559],{"data":175560,"marks":175561,"value":149172,"nodeType":864},{},[175562],{"type":1455},{"data":175564,"marks":175565,"value":149176,"nodeType":864},{},[],{"data":175567,"marks":175568,"value":148666,"nodeType":864},{},[175569],{"type":899},{"data":175571,"marks":175572,"value":902,"nodeType":864},{},[],{"data":175574,"content":175575,"nodeType":883},{"uri":149186},[175576,175581],{"data":175577,"marks":175578,"value":149193,"nodeType":864},{},[175579,175580],{"type":1455},{"type":899},{"data":175582,"marks":175583,"value":149198,"nodeType":864},{},[175584],{"type":1455},{"data":175586,"marks":175587,"value":149202,"nodeType":864},{},[],{"data":175589,"content":175590,"nodeType":860},{},[175591],{"data":175592,"marks":175593,"value":149209,"nodeType":864},{},[],{"data":175595,"content":175596,"nodeType":860},{},[175597,175600,175607],{"data":175598,"marks":175599,"value":149216,"nodeType":864},{},[],{"data":175601,"content":175602,"nodeType":883},{"uri":149219},[175603],{"data":175604,"marks":175605,"value":148654,"nodeType":864},{},[175606],{"type":1455},{"data":175608,"marks":175609,"value":149228,"nodeType":864},{},[],{"data":175611,"content":175612,"nodeType":860},{},[175613],{"data":175614,"marks":175615,"value":149235,"nodeType":864},{},[],{"data":175617,"content":175618,"nodeType":860},{},[175619],{"data":175620,"marks":175621,"value":149244,"nodeType":864},{},[175622,175623],{"type":899},{"type":2246},{"data":175625,"content":175626,"nodeType":860},{},[175627,175630,175634],{"data":175628,"marks":175629,"value":149251,"nodeType":864},{},[],{"data":175631,"marks":175632,"value":149256,"nodeType":864},{},[175633],{"type":2246},{"data":175635,"marks":175636,"value":149260,"nodeType":864},{},[],{"data":175638,"content":175639,"nodeType":1009},{},[175640],{"data":175641,"marks":175642,"value":149267,"nodeType":864},{},[],{"data":175644,"content":175645,"nodeType":860},{},[175646],{"data":175647,"marks":175648,"value":149274,"nodeType":864},{},[],{"data":175650,"content":175651,"nodeType":860},{},[175652],{"data":175653,"marks":175654,"value":149281,"nodeType":864},{},[],{"items":175656},[175657,175659],{"sys":175658,"name":6593},{"id":6592},{"sys":175660,"name":4904},{"id":4903},{"items":175662},[175663],{"fullName":38408,"firstName":38409,"jobTitle":38410,"profilePicture":175664},{"url":38412},{"__typename":2059,"sys":175666,"content":175667,"title":150743,"synopsis":177184,"hashTags":59,"publishedDate":177185,"slug":150744,"tagsCollection":177186,"authorsCollection":177192},{"id":150275},{"json":175668},{"data":175669,"content":175670,"nodeType":856},{},[175671,175677,175697,175703,175710,175721,175728,175735,175778,175785,175792,175797,175804,175811,175818,175823,175846,175853,175860,175867,175874,175880,175982,175989,175996,176003,176016,176023,176030,176037,176044,176050,176057,176064,176071,176076,176084,176091,176098,176105,176112,176119,176126,176132,176139,176146,176153,176160,176165,176172,176211,176216,176223,176246,176253,176276,176283,176290,176297,176304,176311,176421,176426,176433,176442,176449,176456,176463,176470,176477,176484,176489,176496,176503,176521,176528,176535,176542,176547,176554,176561,176567,176599,176606,176613,176620,176627,176634,176641,176648,176655,176662,176669,176712,176719,176725,176746,176753,176760,176767,176774,176781,176788,176795,176802,176809,176816,176823,176830,176837,176878,176884,176891,176907,176923,176930,176937,176944,176951,176958,176964,176971,176978,176985,176991,176998,177005,177010,177017,177023,177030,177036,177045,177051,177058,177115,177120,177127,177134,177139,177146,177153,177160,177166,177177],{"data":175672,"content":175673,"nodeType":1009},{},[175674],{"data":175675,"marks":175676,"value":126377,"nodeType":864},{},[],{"data":175678,"content":175679,"nodeType":860},{},[175680,175684,175693],{"data":175681,"marks":175682,"value":175683,"nodeType":864},{},[],"Here’s hoping you’ve read my previous blog: ",{"data":175685,"content":175688,"nodeType":27604},{"target":175686},{"sys":175687},{"id":147827,"type":1001,"linkType":1002},[175689],{"data":175690,"marks":175691,"value":149282,"nodeType":864},{},[175692],{"type":2246},{"data":175694,"marks":175695,"value":175696,"nodeType":864},{},[],"If you haven’t, the key takeaway of that piece is that SaaS vendors have changed how software is adopted into a business. Now, the majority of SaaS vendors build their products on a product-led growth model - which simply means they want users (your employees) to self-adopt their apps, start using them (and integrating with your data to do so), and become a useful tool for the employee. ",{"data":175698,"content":175699,"nodeType":860},{},[175700],{"data":175701,"marks":175702,"value":140790,"nodeType":864},{},[],{"data":175704,"content":175705,"nodeType":860},{},[175706],{"data":175707,"marks":175708,"value":175709,"nodeType":864},{},[],"This self-adoption has turned the product-adoption process on its head - leaving security and IT teams blind to which apps sensitive company data is flowing into. ",{"data":175711,"content":175712,"nodeType":860},{},[175713,175718],{"data":175714,"marks":175715,"value":175717,"nodeType":864},{},[175716],{"type":899},"How do you make sure your data stays secure in this new software-adoption flow?",{"data":175719,"marks":175720,"value":8618,"nodeType":864},{},[],{"data":175722,"content":175723,"nodeType":860},{},[175724],{"data":175725,"marks":175726,"value":175727,"nodeType":864},{},[],"In this book, we’ll offer some practical guidance on how to manage supply chain risk without slowing down the business.",{"data":175729,"content":175730,"nodeType":860},{},[175731],{"data":175732,"marks":175733,"value":175734,"nodeType":864},{},[],"We’ll cover how to:",{"data":175736,"content":175737,"nodeType":941},{},[175738,175748,175758,175768],{"data":175739,"content":175740,"nodeType":945},{},[175741],{"data":175742,"content":175743,"nodeType":860},{},[175744],{"data":175745,"marks":175746,"value":175747,"nodeType":864},{},[],"Split SaaS risk into supply chain risk and account compromise risk so you can tackle them in parallel.",{"data":175749,"content":175750,"nodeType":945},{},[175751],{"data":175752,"content":175753,"nodeType":860},{},[175754],{"data":175755,"marks":175756,"value":175757,"nodeType":864},{},[],"Tap into the SaaS self adoption process in real time so you can manage supply chain risk without being a blocker. ",{"data":175759,"content":175760,"nodeType":945},{},[175761],{"data":175762,"content":175763,"nodeType":860},{},[175764],{"data":175765,"marks":175766,"value":175767,"nodeType":864},{},[],"How to prioritize account security controls and prevent the most common SaaS attacks.",{"data":175769,"content":175770,"nodeType":945},{},[175771],{"data":175772,"content":175773,"nodeType":860},{},[175774],{"data":175775,"marks":175776,"value":175777,"nodeType":864},{},[],"Better choose a SaaS security product by looking at the data these tools are built on.",{"data":175779,"content":175780,"nodeType":1009},{},[175781],{"data":175782,"marks":175783,"value":175784,"nodeType":864},{},[],"\nThe two halves of SaaS Security",{"data":175786,"content":175787,"nodeType":860},{},[175788],{"data":175789,"marks":175790,"value":175791,"nodeType":864},{},[],"It’s useful to consider the shared-responsibility model to understand the two main parts of SaaS security. Consider the following diagram that shows the customer’s responsibility in various as-a-Service models:",{"data":175793,"content":175796,"nodeType":996},{"target":175794},{"sys":175795},{"id":148506,"type":1001,"linkType":1002},[],{"data":175798,"content":175799,"nodeType":860},{},[175800],{"data":175801,"marks":175802,"value":175803,"nodeType":864},{},[],"In this SaaS model, we’re delegating a lot of responsibility for security to the vendor. That’s great because it takes the load off of us - the customer - and the vendor is better placed to secure their software. However, this requires far greater trust in the vendor.",{"data":175805,"content":175806,"nodeType":860},{},[175807],{"data":175808,"marks":175809,"value":175810,"nodeType":864},{},[],"While we’re offloading a lot to the SaaS vendor, we aren’t offloading everything. You still need to take care of your responsibilities, limited as they are!",{"data":175812,"content":175813,"nodeType":860},{},[175814],{"data":175815,"marks":175816,"value":175817,"nodeType":864},{},[],"This gets us to the two halves of SaaS security:",{"data":175819,"content":175822,"nodeType":996},{"target":175820},{"sys":175821},{"id":148744,"type":1001,"linkType":1002},[],{"data":175824,"content":175825,"nodeType":941},{},[175826,175836],{"data":175827,"content":175828,"nodeType":945},{},[175829],{"data":175830,"content":175831,"nodeType":860},{},[175832],{"data":175833,"marks":175834,"value":175835,"nodeType":864},{},[],"Supply chain risk - can you trust the product, the vendor, and the vendor’s sub processors to secure your data and the access you grant them to your systems?",{"data":175837,"content":175838,"nodeType":945},{},[175839],{"data":175840,"content":175841,"nodeType":860},{},[175842],{"data":175843,"marks":175844,"value":175845,"nodeType":864},{},[],"Customer responsibility - how can you make sure you’re using the product securely? You’ll need to focus here specifically on account security and application configuration.",{"data":175847,"content":175848,"nodeType":860},{},[175849],{"data":175850,"marks":175851,"value":175852,"nodeType":864},{},[],"Let’s look at each of these in turn.",{"data":175854,"content":175855,"nodeType":1009},{},[175856],{"data":175857,"marks":175858,"value":175859,"nodeType":864},{},[],"Manage supply-chain risk",{"data":175861,"content":175862,"nodeType":860},{},[175863],{"data":175864,"marks":175865,"value":175866,"nodeType":864},{},[],"Security due diligence or app risk assessments are typically how you answer the question “should we use this app?” These are standard processes for most organizations as part of a software procurement process.",{"data":175868,"content":175869,"nodeType":860},{},[175870],{"data":175871,"marks":175872,"value":175873,"nodeType":864},{},[],"However, security no longer controls the cadence of software adoption - employees are self-adopting the tools they want without oversight - so we must work to find serious risks as soon as possible once the self-adoption process begins (normally by the first employee creating an account on the app).",{"data":175875,"content":175876,"nodeType":860},{},[175877],{"data":175878,"marks":175879,"value":166654,"nodeType":864},{},[],{"data":175881,"content":175882,"nodeType":941},{},[175883,175914,175972],{"data":175884,"content":175885,"nodeType":945},{},[175886,175893],{"data":175887,"content":175888,"nodeType":860},{},[175889],{"data":175890,"marks":175891,"value":175892,"nodeType":864},{},[],"Product risk ",{"data":175894,"content":175895,"nodeType":941},{},[175896,175905],{"data":175897,"content":175898,"nodeType":945},{},[175899],{"data":175900,"content":175901,"nodeType":860},{},[175902],{"data":175903,"marks":175904,"value":166684,"nodeType":864},{},[],{"data":175906,"content":175907,"nodeType":945},{},[175908],{"data":175909,"content":175910,"nodeType":860},{},[175911],{"data":175912,"marks":175913,"value":166694,"nodeType":864},{},[],{"data":175915,"content":175916,"nodeType":945},{},[175917,175924],{"data":175918,"content":175919,"nodeType":860},{},[175920],{"data":175921,"marks":175922,"value":175923,"nodeType":864},{},[],"Vendor risk ",{"data":175925,"content":175926,"nodeType":941},{},[175927,175936,175945,175954,175963],{"data":175928,"content":175929,"nodeType":945},{},[175930],{"data":175931,"content":175932,"nodeType":860},{},[175933],{"data":175934,"marks":175935,"value":166721,"nodeType":864},{},[],{"data":175937,"content":175938,"nodeType":945},{},[175939],{"data":175940,"content":175941,"nodeType":860},{},[175942],{"data":175943,"marks":175944,"value":166731,"nodeType":864},{},[],{"data":175946,"content":175947,"nodeType":945},{},[175948],{"data":175949,"content":175950,"nodeType":860},{},[175951],{"data":175952,"marks":175953,"value":166741,"nodeType":864},{},[],{"data":175955,"content":175956,"nodeType":945},{},[175957],{"data":175958,"content":175959,"nodeType":860},{},[175960],{"data":175961,"marks":175962,"value":166751,"nodeType":864},{},[],{"data":175964,"content":175965,"nodeType":945},{},[175966],{"data":175967,"content":175968,"nodeType":860},{},[175969],{"data":175970,"marks":175971,"value":166761,"nodeType":864},{},[],{"data":175973,"content":175974,"nodeType":945},{},[175975],{"data":175976,"content":175977,"nodeType":860},{},[175978],{"data":175979,"marks":175980,"value":175981,"nodeType":864},{},[],"Vendor sub processors - the majority of SaaS applications are build on other *-as-a-Service platforms. These vendors are also part of your supply chain. Just because you don’t directly use a tool or app doesn’t mean you’re not affected when they’re popped. Realistically, you’re probably not going to be able to go very deep here, but when you’re wondering whether you’re affected by a breach in the news, you may want to know whether your vendors are using the affected SaaS app. ",{"data":175983,"content":175984,"nodeType":860},{},[175985],{"data":175986,"marks":175987,"value":175988,"nodeType":864},{},[],"Ultimately, how much you care about any of the above comes down to the risk of the data in the application or the level of access you grant this application into the rest of your infrastructure (often through integrations with other SaaS apps). ",{"data":175990,"content":175991,"nodeType":860},{},[175992],{"data":175993,"marks":175994,"value":175995,"nodeType":864},{},[],"Therefore, a useful first step to knowing where to prioritize your time is to understand the sensitivity of the data and access granted to the app (or that will likely be granted by employees in future to make the app work as expected).",{"data":175997,"content":175998,"nodeType":860},{},[175999],{"data":176000,"marks":176001,"value":176002,"nodeType":864},{},[],"For self-adopted SaaS apps, aspects that are typically very important for software procurement like legal agreements (terms and conditions, master service agreements etc.), spend (through licensing cost etc.), and uptime and availability (SLAs etc.) are typically dealt with after the app has been adopted. Often, this comes up once employees need to upgrade to a paid account or higher license tier, or once it makes financial sense to commit to longer term agreements. ",{"data":176004,"content":176005,"nodeType":860},{},[176006,176010],{"data":176007,"marks":176008,"value":176009,"nodeType":864},{},[],"For that reason, ",{"data":176011,"marks":176012,"value":176015,"nodeType":864},{},[176013,176014],{"type":899},{"type":2246},"I recommend you keep the security risk assessment focused on the direct security aspects initially so you reduce the work required to ask “is there a security reason to stop our employees from using this app right now?”",{"data":176017,"content":176018,"nodeType":860},{},[176019],{"data":176020,"marks":176021,"value":176022,"nodeType":864},{},[],"All of the above is relatively straightforward advice, but there are some very practical non-obvious lessons learned from others who've walked this path already that are worth highlighting, so let’s jump into those.",{"data":176024,"content":176025,"nodeType":1312},{},[176026],{"data":176027,"marks":176028,"value":176029,"nodeType":864},{},[],"Focus on the new stuff first",{"data":176031,"content":176032,"nodeType":860},{},[176033],{"data":176034,"marks":176035,"value":176036,"nodeType":864},{},[],"It’s both technically, and politically, very difficult to migrate users away from apps, especially when users have invested significant time into setting up an app and love how it works. It’s hard to spend the goodwill you’ve built up on something like this unless there really is a truly unacceptable risk or compliance issue.",{"data":176038,"content":176039,"nodeType":860},{},[176040],{"data":176041,"marks":176042,"value":176043,"nodeType":864},{},[],"There is an exception to this - if you get in before employees have sunk too much time and effort into an app they are far more open to input and steering. This is why we recommend that you focus your risk assessment efforts on new apps and integrations, rather than spending the majority of your time working through the backlog of already-adopted work apps.",{"data":176045,"content":176049,"nodeType":996},{"target":176046},{"sys":176047},{"id":176048,"type":1001,"linkType":1002},"49tL50Pga47pnhp1WMHfPY",[],{"data":176051,"content":176052,"nodeType":860},{},[176053],{"data":176054,"marks":176055,"value":176056,"nodeType":864},{},[],"If you focus on apps that are still in the testing phases, it's much easier to steer the course towards lower-risk alternatives or pump the brakes when there really is significant risk to the business.",{"data":176058,"content":176059,"nodeType":1009},{},[176060],{"data":176061,"marks":176062,"value":176063,"nodeType":864},{},[],"Buy yourself time",{"data":176065,"content":176066,"nodeType":860},{},[176067],{"data":176068,"marks":176069,"value":176070,"nodeType":864},{},[],"Remember, even the newest apps will only be new for a brief time. Once employees have invested significant time into an app (learning how it works, putting data into it, etc) they will be resistant to considering alternatives and will push to accept risks rather and make exceptions to policies rather than moving to an alternative app. This is just natural, but it does mean that there is a clock running for you and your team as soon as an employee creates an account on a new SaaS app.",{"data":176072,"content":176075,"nodeType":996},{"target":176073},{"sys":176074},{"id":151954,"type":1001,"linkType":1002},[],{"data":176077,"content":176078,"nodeType":860},{},[176079],{"data":176080,"marks":176081,"value":176083,"nodeType":864},{},[176082],{"type":899},"Your goal is to give your security team as much time to assess the app before the employee decides for sure they want to use it for work. ",{"data":176085,"content":176086,"nodeType":860},{},[176087],{"data":176088,"marks":176089,"value":176090,"nodeType":864},{},[],"It’s far less useful if you discover an app once the team is talking to finance about upgrading to a paid subscription. At that point, so much time and effort has been invested that it’s very difficult to motivate employees/teams to move to a lower-risk app. In this scenario, you’ll be stuck in a “let’s do as much as we can to secure this” mode, which isn’t ideal.",{"data":176092,"content":176093,"nodeType":860},{},[176094],{"data":176095,"marks":176096,"value":176097,"nodeType":864},{},[],"The way to give the security team as much time as possible is to reduce the delta between an employee signing up for an account and the IT and security teams finding out about it. You need a way to find out about new apps being adopted in real-time or within hours, rather than days or weeks. The tools to do this exist, but more on how you should choose the right tool in the “importance of choosing the right data source” section.",{"data":176099,"content":176100,"nodeType":1312},{},[176101],{"data":176102,"marks":176103,"value":176104,"nodeType":864},{},[],"You need accurate data to take action",{"data":176106,"content":176107,"nodeType":860},{},[176108],{"data":176109,"marks":176110,"value":176111,"nodeType":864},{},[],"To discover SaaS apps and simply inventory which apps are being used for reporting purposes, you won’t need perfect accuracy and you’ll be able to live with some false positives.",{"data":176113,"content":176114,"nodeType":860},{},[176115],{"data":176116,"marks":176117,"value":176118,"nodeType":864},{},[],"Most security teams start out just by getting visibility of what SaaS is being used across their business. Then you know what you’re dealing with. The downside is that you’ll want to use this data to spin off a risk assessment process. If you are kicking off risk assessments based on false positives, that’s just pure wasted effort.",{"data":176120,"content":176121,"nodeType":860},{},[176122],{"data":176123,"marks":176124,"value":176125,"nodeType":864},{},[],"You will likely also want to get in touch with the employee that adopted the app, for example to understand their intended use-case and the data that might be going into the app. Employees will also notice quickly if the security team can’t tell the difference between accessing an app website or using an app and get annoyed with the interruptions from your team.",{"data":176127,"content":176131,"nodeType":996},{"target":176128},{"sys":176129},{"id":176130,"type":1001,"linkType":1002},"5winuguRBMaNKNnkDakMWv",[],{"data":176133,"content":176134,"nodeType":860},{},[176135],{"data":176136,"marks":176137,"value":176138,"nodeType":864},{},[],"Many tools will use things like scanning employee email inboxes or network-level data to “discover employee SaaS use,” but this leads to a frustrating rate of false positives for your team. If the security team needs to first confirm if a data point is a false-positive through some unspecified process, then that seriously increases the work needed to take action. ",{"data":176140,"content":176141,"nodeType":860},{},[176142],{"data":176143,"marks":176144,"value":176145,"nodeType":864},{},[],"At the risk of sounding like a broken record, accurate data is the thing that turns this problem from something that’s impossible to something which is manageable, even at scale.",{"data":176147,"content":176148,"nodeType":1009},{},[176149],{"data":176150,"marks":176151,"value":176152,"nodeType":864},{},[],"Customer responsibility for self-adopted SaaS",{"data":176154,"content":176155,"nodeType":860},{},[176156],{"data":176157,"marks":176158,"value":176159,"nodeType":864},{},[],"As a reminder, I’m referring in this section to your responsibility as a customer (highlighted in purple) in terms of NCSC’s shared-responsibility model shown below:",{"data":176161,"content":176164,"nodeType":996},{"target":176162},{"sys":176163},{"id":151435,"type":1001,"linkType":1002},[],{"data":176166,"content":176167,"nodeType":860},{},[176168],{"data":176169,"marks":176170,"value":176171,"nodeType":864},{},[],"Let’s start with the bulk of the work, which for self-adopted SaaS is account security. This includes all the usual suspects like ensuring that, you’re:",{"data":176173,"content":176174,"nodeType":941},{},[176175,176184,176193,176202],{"data":176176,"content":176177,"nodeType":945},{},[176178],{"data":176179,"content":176180,"nodeType":860},{},[176181],{"data":176182,"marks":176183,"value":166910,"nodeType":864},{},[],{"data":176185,"content":176186,"nodeType":945},{},[176187],{"data":176188,"content":176189,"nodeType":860},{},[176190],{"data":176191,"marks":176192,"value":166920,"nodeType":864},{},[],{"data":176194,"content":176195,"nodeType":945},{},[176196],{"data":176197,"content":176198,"nodeType":860},{},[176199],{"data":176200,"marks":176201,"value":166930,"nodeType":864},{},[],{"data":176203,"content":176204,"nodeType":945},{},[176205],{"data":176206,"content":176207,"nodeType":860},{},[176208],{"data":176209,"marks":176210,"value":166940,"nodeType":864},{},[],{"data":176212,"content":176215,"nodeType":996},{"target":176213},{"sys":176214},{"id":166534,"type":1001,"linkType":1002},[],{"data":176217,"content":176218,"nodeType":860},{},[176219],{"data":176220,"marks":176221,"value":176222,"nodeType":864},{},[],"In contrast to SaaS apps like Office 365 or Salesforce that are extraordinarily configurable and often have teams managing and securing them, there’s some mixed news when it comes to self-adopted SaaS apps. The bad news is that many of these apps provide virtually no security features or configurable settings that can be hardened. The good news is that this means there is now very little work to do here. When they exist, configuration settings are typically around:",{"data":176224,"content":176225,"nodeType":941},{},[176226,176236],{"data":176227,"content":176228,"nodeType":945},{},[176229],{"data":176230,"content":176231,"nodeType":860},{},[176232],{"data":176233,"marks":176234,"value":176235,"nodeType":864},{},[],"Forcing the above controls for all users (e.g. force MFA)",{"data":176237,"content":176238,"nodeType":945},{},[176239],{"data":176240,"content":176241,"nodeType":860},{},[176242],{"data":176243,"marks":176244,"value":176245,"nodeType":864},{},[],"Configuring external or public-sharing settings",{"data":176247,"content":176248,"nodeType":860},{},[176249],{"data":176250,"marks":176251,"value":176252,"nodeType":864},{},[],"Finally, though not mentioned explicitly in the NCSC’s version of the shared-responsibility model, it’s worth remembering that things go wrong even if all the above is in place. That’s where security monitoring comes in. In practice, though, few self-adopted SaaS apps offer audit trails or similar options that can be integrated with SIEM infrastructure. However, you can monitor things like:",{"data":176254,"content":176255,"nodeType":941},{},[176256,176266],{"data":176257,"content":176258,"nodeType":945},{},[176259],{"data":176260,"content":176261,"nodeType":860},{},[176262],{"data":176263,"marks":176264,"value":176265,"nodeType":864},{},[],"Breached passwords in passwords dumps (think haveibeenpwned.com)",{"data":176267,"content":176268,"nodeType":945},{},[176269],{"data":176270,"content":176271,"nodeType":860},{},[176272],{"data":176273,"marks":176274,"value":176275,"nodeType":864},{},[],"Typical post-exploitation or persistence techniques (e.g. OAuth integrations or API keys being created, forwarding rules, etc.)",{"data":176277,"content":176278,"nodeType":860},{},[176279],{"data":176280,"marks":176281,"value":176282,"nodeType":864},{},[],"These are the controls that fall into that “easy to understand, easy to recommend, but pretty hard to do at scale” category. Very few organizations have account security controls in place across the bulk of SaaS apps, and especially the apps that were self-adopted. The reality is that most companies still don’t even know about those self-adopted apps. So where should we start?",{"data":176284,"content":176285,"nodeType":860},{},[176286],{"data":176287,"marks":176288,"value":176289,"nodeType":864},{},[],"I think the most sane approach is to avoid speculation and focus on the techniques that are actually being used to attack SaaS apps today. I’ll cut to the chase - it’s credential stuffing we need to prevent. ",{"data":176291,"content":176292,"nodeType":1312},{},[176293],{"data":176294,"marks":176295,"value":176296,"nodeType":864},{},[],"Start with preventing credential stuffing",{"data":176298,"content":176299,"nodeType":860},{},[176300],{"data":176301,"marks":176302,"value":176303,"nodeType":864},{},[],"The most common attack against SaaS today is credential stuffing – where attackers use tools that automate the process of taking a list of breached passwords (from public password dumps or traded on underground crime marketplaces) and retargeting those credentials against different apps. ",{"data":176305,"content":176306,"nodeType":860},{},[176307],{"data":176308,"marks":176309,"value":176310,"nodeType":864},{},[],"Slightly more sophisticated attackers might even try expanding their targets by using marketing and advertising services to match private accounts to work accounts in case employees re-used similar passwords. In the example for acme.com in the graphic below, we see how this plays out to get access to a company’s MailChimp. At this point, attackers are able to start sending scam emails to your customers from your domain in emails that look completely legit. This type of attack where compromised SaaS apps are used to send customers malicious emails are something we’ve seen play out a few times recently:",{"data":176312,"content":176313,"nodeType":941},{},[176314,176336,176357,176379,176400],{"data":176315,"content":176316,"nodeType":945},{},[176317],{"data":176318,"content":176319,"nodeType":860},{},[176320,176324,176333],{"data":176321,"marks":176322,"value":176323,"nodeType":864},{},[],"In this ",{"data":176325,"content":176327,"nodeType":883},{"uri":176326},"https://www.bleepingcomputer.com/news/security/chipotle-s-marketing-account-hacked-to-send-phishing-emails/",[176328],{"data":176329,"marks":176330,"value":176332,"nodeType":864},{},[176331],{"type":1455},"Chipotle attack",{"data":176334,"marks":176335,"value":21,"nodeType":864},{},[],{"data":176337,"content":176338,"nodeType":945},{},[176339],{"data":176340,"content":176341,"nodeType":860},{},[176342,176345,176354],{"data":176343,"marks":176344,"value":176323,"nodeType":864},{},[],{"data":176346,"content":176348,"nodeType":883},{"uri":176347},"https://www.bleepingcomputer.com/news/security/doordash-discloses-new-data-breach-tied-to-twilio-hackers/",[176349],{"data":176350,"marks":176351,"value":176353,"nodeType":864},{},[176352],{"type":1455},"DoorDash attack",{"data":176355,"marks":176356,"value":21,"nodeType":864},{},[],{"data":176358,"content":176359,"nodeType":945},{},[176360],{"data":176361,"content":176362,"nodeType":860},{},[176363,176367,176376],{"data":176364,"marks":176365,"value":176366,"nodeType":864},{},[],"In this",{"data":176368,"content":176370,"nodeType":883},{"uri":176369},"https://www.bleepingcomputer.com/news/security/namecheaps-email-hacked-to-send-metamask-dhl-phishing-emails/",[176371],{"data":176372,"marks":176373,"value":176375,"nodeType":864},{},[176374],{"type":1455}," attack against domain registrar NameCheap",{"data":176377,"marks":176378,"value":21,"nodeType":864},{},[],{"data":176380,"content":176381,"nodeType":945},{},[176382],{"data":176383,"content":176384,"nodeType":860},{},[176385,176388,176397],{"data":176386,"marks":176387,"value":176323,"nodeType":864},{},[],{"data":176389,"content":176391,"nodeType":883},{"uri":176390},"https://www.bleepingcomputer.com/news/security/hacked-sendgrid-accounts-used-in-phishing-attacks-to-steal-logins/",[176392],{"data":176393,"marks":176394,"value":176396,"nodeType":864},{},[176395],{"type":1455},"SendGrid attack",{"data":176398,"marks":176399,"value":21,"nodeType":864},{},[],{"data":176401,"content":176402,"nodeType":945},{},[176403],{"data":176404,"content":176405,"nodeType":860},{},[176406,176409,176418],{"data":176407,"marks":176408,"value":176323,"nodeType":864},{},[],{"data":176410,"content":176412,"nodeType":883},{"uri":176411},"https://www.bleepingcomputer.com/news/security/mailchimp-discloses-new-breach-after-employees-got-hacked/",[176413],{"data":176414,"marks":176415,"value":176417,"nodeType":864},{},[176416],{"type":1455},"MailChimp attack",{"data":176419,"marks":176420,"value":21,"nodeType":864},{},[],{"data":176422,"content":176425,"nodeType":996},{"target":176423},{"sys":176424},{"id":153055,"type":1001,"linkType":1002},[],{"data":176427,"content":176428,"nodeType":860},{},[176429],{"data":176430,"marks":176431,"value":176432,"nodeType":864},{},[],"PLG and the increase in employee-adopted apps has led to employees creating more accounts, on more apps and without the guiding hand of security to make sure strong identity and access controls are in place. ",{"data":176434,"content":176435,"nodeType":860},{},[176436],{"data":176437,"marks":176438,"value":176441,"nodeType":864},{},[176439,176440],{"type":899},{"type":2246},"Opportunistic attackers now have a huge, unmonitored attack surface to target using low effort/cost techniques that generate reliable results for them. ",{"data":176443,"content":176444,"nodeType":1312},{},[176445],{"data":176446,"marks":176447,"value":176448,"nodeType":864},{},[],"Why SSO is not the answer to our SaaS account security prayers",{"data":176450,"content":176451,"nodeType":860},{},[176452],{"data":176453,"marks":176454,"value":176455,"nodeType":864},{},[],"Many security teams are leaning on SSO to address this issue. They’ll require that apps used in their company use SSO, specifically SAML (Security Assertion Markup Language) before they can be approved or used. This works really, really well for the apps that provide this functionality. It’s the gold standard for authentication. ",{"data":176457,"content":176458,"nodeType":860},{},[176459],{"data":176460,"marks":176461,"value":176462,"nodeType":864},{},[],"With SAML SSO, there’s just one account, just one password, and you can centrally deprovision accounts when employees leave the organization. In fact, you’re probably already paying for a SAML IdP (Identity Provider) like Google Directory or Azure AD. Many others are using tools like Okta.   ",{"data":176464,"content":176465,"nodeType":860},{},[176466],{"data":176467,"marks":176468,"value":176469,"nodeType":864},{},[],"There’s one obvious point we need to make here: SSO isn’t going to help you discover which apps employees are using. But, once you discover them and determine they support SAML, you can integrate them with your solution.",{"data":176471,"content":176472,"nodeType":860},{},[176473],{"data":176474,"marks":176475,"value":176476,"nodeType":864},{},[],"But here lies the problem…when we reviewed 500 of the most popular apps that Push supports, we found that: ",{"data":176478,"content":176479,"nodeType":1312},{},[176480],{"data":176481,"marks":176482,"value":176483,"nodeType":864},{},[],"Only around 30% of apps offer SSO and, of those, very few make it available on their lower-priced tiers.",{"data":176485,"content":176488,"nodeType":996},{"target":176486},{"sys":176487},{"id":153391,"type":1001,"linkType":1002},[],{"data":176490,"content":176491,"nodeType":860},{},[176492],{"data":176493,"marks":176494,"value":176495,"nodeType":864},{},[],"We also noticed that the more modern, newer apps were less likely to offer SAML support than the larger, more established business apps. So if your strategy is to block access to any app that doesn’t offer SSO integrations, you’re going to have to block the majority of self-adopted apps your employees are using. ",{"data":176497,"content":176498,"nodeType":860},{},[176499],{"data":176500,"marks":176501,"value":176502,"nodeType":864},{},[],"There are some other complications and nuances around SAML. Sometimes the SAML integration will only cover one tenant or instance and not the entire app. In this case, every time you find a new workspace or instance, you need to integrate it again. Worse, you can often only integrate one workspace or instance with your SAML IdP. ",{"data":176504,"content":176505,"nodeType":860},{},[176506,176510,176517],{"data":176507,"marks":176508,"value":176509,"nodeType":864},{},[],"Then there’s the ethically dubious issue of “",{"data":176511,"content":176512,"nodeType":883},{"uri":29107},[176513],{"data":176514,"marks":176515,"value":34583,"nodeType":864},{},[176516],{"type":1455},{"data":176518,"marks":176519,"value":176520,"nodeType":864},{},[],"” where vendors that do offer SSO reserve it only for their enterprise tiers designed for organizations buying huge volumes of licenses, which makes this impractical for many if not most of us.",{"data":176522,"content":176523,"nodeType":1312},{},[176524],{"data":176525,"marks":176526,"value":176527,"nodeType":864},{},[],"A game plan for preventing credential stuffing",{"data":176529,"content":176530,"nodeType":860},{},[176531],{"data":176532,"marks":176533,"value":176534,"nodeType":864},{},[],"I like the idea of going passwordless as much as the next security person, but that’s not practical for many apps right now. So we’re going to rely on passwords as well, at least for the foreseeable future. Strong, unique passwords, coupled with MFA, are very effective identity and access controls, so it’s not the end of the world.",{"data":176536,"content":176537,"nodeType":860},{},[176538],{"data":176539,"marks":176540,"value":176541,"nodeType":864},{},[],"To prevent credential stuffing attacks (and a whole host of other attacks to boot) you will need to implement the following controls:",{"data":176543,"content":176546,"nodeType":996},{"target":176544},{"sys":176545},{"id":153453,"type":1001,"linkType":1002},[],{"data":176548,"content":176549,"nodeType":860},{},[176550],{"data":176551,"marks":176552,"value":176553,"nodeType":864},{},[],"It’s useful to note from the requirements that you must be in a position to discover SaaS apps being onboarded, but also discover how these apps are accessed.",{"data":176555,"content":176556,"nodeType":860},{},[176557],{"data":176558,"marks":176559,"value":176560,"nodeType":864},{},[],"There’s only one place where we can get data about who is using which SaaS apps, as well as the ability to inspect passwords and check MFA status for each user. And that’s in the employee’s browsers.",{"data":176562,"content":176563,"nodeType":860},{},[176564],{"data":176565,"marks":176566,"value":153496,"nodeType":864},{},[],{"data":176568,"content":176569,"nodeType":941},{},[176570,176580,176590],{"data":176571,"content":176572,"nodeType":945},{},[176573],{"data":176574,"content":176575,"nodeType":860},{},[176576],{"data":176577,"marks":176578,"value":176579,"nodeType":864},{},[],"Observe username and password logins, ",{"data":176581,"content":176582,"nodeType":945},{},[176583],{"data":176584,"content":176585,"nodeType":860},{},[176586],{"data":176587,"marks":176588,"value":176589,"nodeType":864},{},[],"Assess their strength and whether they are being shared or reused, and ",{"data":176591,"content":176592,"nodeType":945},{},[176593],{"data":176594,"content":176595,"nodeType":860},{},[176596],{"data":176597,"marks":176598,"value":153539,"nodeType":864},{},[],{"data":176600,"content":176601,"nodeType":860},{},[176602],{"data":176603,"marks":176604,"value":176605,"nodeType":864},{},[],"More on that in a moment, but first, the last piece of advice:",{"data":176607,"content":176608,"nodeType":1009},{},[176609],{"data":176610,"marks":176611,"value":176612,"nodeType":864},{},[],"Tackle risk assessment and account security in parallel",{"data":176614,"content":176615,"nodeType":860},{},[176616],{"data":176617,"marks":176618,"value":176619,"nodeType":864},{},[],"Quite often when I talk to security leaders, they’re fixated on supply chain risk and the risk of account compromise is an afterthought. This is understandable - these are the attacks that are widely reported, and require high-level decision making, so this feels like the natural first step. They’re aware that employees are using unvetted apps, but they don’t feel like they’re in a position to secure the employee account until they have identified and vetted all the apps in use. ",{"data":176621,"content":176622,"nodeType":860},{},[176623],{"data":176624,"marks":176625,"value":176626,"nodeType":864},{},[],"It seems logical to want to approve apps first and then secure the accounts. It might make sense if you are starting from zero, however, when organizations get visibility of SaaS apps in use, they usually see hundreds on the list that employees are already using. In this case, waiting to get through the entire backlog of app risk assessment first is counter productive. Regardless of whether an app is approved yet, if it’s in use there is the risk of an attacker compromising a weak employee account with a credential stuffing attack, which is arguably a greater risk than a SaaS vendor being compromised in a supply chain attack. That’s because attacks against employee SaaS accounts are more common, just reported less often than supply chain attacks.",{"data":176628,"content":176629,"nodeType":860},{},[176630],{"data":176631,"marks":176632,"value":176633,"nodeType":864},{},[],"The best way to bring down as much SaaS risk as quickly as possible is to tackle both streams independently and in parallel. But to do this, you need the right tools.  ",{"data":176635,"content":176636,"nodeType":860},{},[176637],{"data":176638,"marks":176639,"value":176640,"nodeType":864},{},[],"Push collects usage data from the same place we collect account security data so we can also identify password and MFA data about the employee’s SaaS account. We don’t require you to integrate Push with each app you discover. Instead, usage and security data are collected at the same time we’re discovering the app because we’re using a browser extension. The extension gives us relevant security context so you can address both risks together. On that note, let’s dig into the data that SaaS security tools use.",{"data":176642,"content":176643,"nodeType":1009},{},[176644],{"data":176645,"marks":176646,"value":176647,"nodeType":864},{},[],"Choose the right data source",{"data":176649,"content":176650,"nodeType":860},{},[176651],{"data":176652,"marks":176653,"value":176654,"nodeType":864},{},[],"Since we’ve moved from a world in which we as security teams got visibility through process (IT or procurement) to a world where we rely on technology to give us that visibility (for e.g. self-adopted apps) - we’re going to need tooling, and that’s where things get complicated.",{"data":176656,"content":176657,"nodeType":860},{},[176658],{"data":176659,"marks":176660,"value":176661,"nodeType":864},{},[],"The list of SaaS security product categories and tools is growing almost weekly, from Cloud Access Security Broker (CASBs), Security Service Edge (SSEs), SaaS Security Posture Management (SSPMs) and any number of other new buzzwords. The only thing growing faster is the promises they make, so it’s no surprise that it’s very difficult to identify solutions that can actually deliver what’s required.",{"data":176663,"content":176664,"nodeType":860},{},[176665],{"data":176666,"marks":176667,"value":176668,"nodeType":864},{},[],"One critical factor to consider when choosing tooling is the data that these tools build on. The requirements we’ve identified for doing SaaS security in the previous section are that we need to be able to:",{"data":176670,"content":176671,"nodeType":941},{},[176672,176682,176692,176702],{"data":176673,"content":176674,"nodeType":945},{},[176675],{"data":176676,"content":176677,"nodeType":860},{},[176678],{"data":176679,"marks":176680,"value":176681,"nodeType":864},{},[],"Discover new SaaS apps being adopted (and self-adopted).",{"data":176683,"content":176684,"nodeType":945},{},[176685],{"data":176686,"content":176687,"nodeType":860},{},[176688],{"data":176689,"marks":176690,"value":176691,"nodeType":864},{},[],"Keep a low rate of false positives, in other words we need to be able to tell the difference between, for example, accessing a SaaS app website or actually login into the app.",{"data":176693,"content":176694,"nodeType":945},{},[176695],{"data":176696,"content":176697,"nodeType":860},{},[176698],{"data":176699,"marks":176700,"value":176701,"nodeType":864},{},[],"Get insight into the identities or accounts used to access these apps - we need to know which users are authenticating to these apps and how (SSO, Social Logins, Local passwords)",{"data":176703,"content":176704,"nodeType":945},{},[176705],{"data":176706,"content":176707,"nodeType":860},{},[176708],{"data":176709,"marks":176710,"value":176711,"nodeType":864},{},[],"Identify account security issues such as disabled MFA, weak, reused and breached passwords.",{"data":176713,"content":176714,"nodeType":860},{},[176715],{"data":176716,"marks":176717,"value":176718,"nodeType":864},{},[],"The following is a summary of the most common data sources SaaS security tools are built on, and how they stack up in terms of the requirements above:",{"data":176720,"content":176724,"nodeType":996},{"target":176721},{"sys":176722},{"id":176723,"type":1001,"linkType":1002},"E8ThSCqbNNa9nggaKE3p1",[],{"data":176726,"content":176727,"nodeType":860},{},[176728,176732,176742],{"data":176729,"marks":176730,"value":176731,"nodeType":864},{},[],"Each data source has pros and cons, but let’s take a look at the most common sources to see what the high-level trade-offs are. We’ve got a short ",{"data":176733,"content":176736,"nodeType":27604},{"target":176734},{"sys":176735},{"id":149551,"type":1001,"linkType":1002},[176737],{"data":176738,"marks":176739,"value":176741,"nodeType":864},{},[176740],{"type":1455},"blog post ",{"data":176743,"marks":176744,"value":176745,"nodeType":864},{},[],"on this topic if you want to share with your teammates and peers.",{"data":176747,"content":176748,"nodeType":1312},{},[176749],{"data":176750,"marks":176751,"value":176752,"nodeType":864},{},[],"Financial records",{"data":176754,"content":176755,"nodeType":860},{},[176756],{"data":176757,"marks":176758,"value":176759,"nodeType":864},{},[],"Looking through invoices can provide some visibility into paid SaaS apps, which is why it has a very low false positive rate. However, there are blind spots - you won’t see any free tier or trial accounts, nor will you get any useful business context about who’s using it, how they’re using it, if logins are secure, and what data it has access to. That said, it’s a quick and dirty way to get a partial view of SaaS usage and might be the best place to start. ",{"data":176761,"content":176762,"nodeType":860},{},[176763],{"data":176764,"marks":176765,"value":176766,"nodeType":864},{},[],"The main downside of using finance as a data source is that it will discover apps very slowly, most apps will only move to a paid tier once employees have already been using the app for a while on free-tier and have become reliant enough on it that they need additional features or users. This is often too late to steer these users to a different app if there are critical risks identified with the app or vendor.",{"data":176768,"content":176769,"nodeType":1312},{},[176770],{"data":176771,"marks":176772,"value":176773,"nodeType":864},{},[],"Email analytics",{"data":176775,"content":176776,"nodeType":860},{},[176777],{"data":176778,"marks":176779,"value":176780,"nodeType":864},{},[],"You can look at all the emails every employee receives and match these emails to different SaaS apps and vendors and based on that information make some statistical guesses about which employees are using which apps. This improves on finance records in a significant metric - speed of detection, but the trade-off is a high rate of false positives. One aspect that email detection is great for that isn’t included in the table is the ability to detect historic SaaS apps.",{"data":176782,"content":176783,"nodeType":860},{},[176784],{"data":176785,"marks":176786,"value":176787,"nodeType":864},{},[],"Unfortunately, except for some very limited edge cases it’s not possible to broadly detect account security issues using email, so at best this is a first-step data source.",{"data":176789,"content":176790,"nodeType":1312},{},[176791],{"data":176792,"marks":176793,"value":176794,"nodeType":864},{},[],"Network data",{"data":176796,"content":176797,"nodeType":860},{},[176798],{"data":176799,"marks":176800,"value":176801,"nodeType":864},{},[],"This is the old-school approach that tools like CASBs use to do SaaS discovery, taking data from edge devices like firewalls, proxies, or DNS relays. This makes it very difficult to implement for companies that are distributed and cloud-native. There are now solutions that are more appropriate for distributed teams that work either by collecting network data from the endpoint with an agent, or perhaps your organization is very office-based and has excellent network telemetry - in which case these solutions might be easier to deploy.",{"data":176803,"content":176804,"nodeType":860},{},[176805],{"data":176806,"marks":176807,"value":176808,"nodeType":864},{},[],"While network data is relatively well understood, it’s not a great source for discovering SaaS use (as opposed to detecting when an employee simply accesses SaaS app websites - false positives galore) or for finding account security issues. It’s useful to get an idea of which apps might be used and indications on who might be using the app. But network data doesn’t provide the level of detail needed to discover account security issues. This is why CASB solutions have almost all started including API integrations to augment this data and make it useful - though this has its own problems.",{"data":176810,"content":176811,"nodeType":860},{},[176812],{"data":176813,"marks":176814,"value":176815,"nodeType":864},{},[],"If you’re looking to get a quick outline of which SaaS may be in use, a finance or email-based solution would likely be much easier to deploy and more cost effective. If you want to discover and remediate problems and actually reduce SaaS risk, you need to look elsewhere.",{"data":176817,"content":176818,"nodeType":1312},{},[176819],{"data":176820,"marks":176821,"value":176822,"nodeType":864},{},[],"Application API data",{"data":176824,"content":176825,"nodeType":860},{},[176826],{"data":176827,"marks":176828,"value":176829,"nodeType":864},{},[],"Many of the more established SaaS apps (especially those that are almost Platform-as-a-Service or PaaS) like 365, Salesforce, Slack, Github etc. offer APIs that expose security-relevant data. However, for apps that do support these APIs, this is an amazing data source that typically provides the ability to extract user-lists or check account security controls like MFA are enabled for all users, or list third-party integrations. Audit log feeds also provide a useful data source for ingestion into SIEM systems. ",{"data":176831,"content":176832,"nodeType":860},{},[176833],{"data":176834,"marks":176835,"value":176836,"nodeType":864},{},[],"However, APIs as a data source for doing SaaS security has 2 major limitations:",{"data":176838,"content":176839,"nodeType":118765},{},[176840,176859],{"data":176841,"content":176842,"nodeType":945},{},[176843],{"data":176844,"content":176845,"nodeType":860},{},[176846,176850,176855],{"data":176847,"marks":176848,"value":176849,"nodeType":864},{},[],"No discovery features. ",{"data":176851,"marks":176852,"value":176854,"nodeType":864},{},[176853],{"type":899},"You must already know that an app is in use",{"data":176856,"marks":176857,"value":176858,"nodeType":864},{},[]," (or more specifically know about every app tenant in use) before you can integrate it with your SaaS security solutions (typically SSPM tools). This means you need some other data source to discover SaaS apps and tenants.",{"data":176860,"content":176861,"nodeType":945},{},[176862],{"data":176863,"content":176864,"nodeType":860},{},[176865,176869,176874],{"data":176866,"marks":176867,"value":176868,"nodeType":864},{},[],"Lack of support. These APIs are typically available ",{"data":176870,"marks":176871,"value":176873,"nodeType":864},{},[176872],{"type":899},"only for “core” SaaS platforms",{"data":176875,"marks":176876,"value":176877,"nodeType":864},{},[],", and a very small minority of the types of SaaS apps employees might self-adopt will other these security monitoring integrations.",{"data":176879,"content":176880,"nodeType":1312},{},[176881],{"data":176882,"marks":176883,"value":288,"nodeType":864},{},[],{"data":176885,"content":176886,"nodeType":860},{},[176887],{"data":176888,"marks":176889,"value":176890,"nodeType":864},{},[],"The idea behind using browser extensions for SaaS security is simple: if all the data you care about monitoring exists in your employees’ browsers, let’s analyze the data in the browser. Browser extensions allow you to deeply inspect users' interactions with SaaS apps. This means you can get close to perfect accuracy in terms of discovering which apps are in-use (vs browser the website) because you can actually observe the login process directly. ",{"data":176892,"content":176893,"nodeType":860},{},[176894,176898,176903],{"data":176895,"marks":176896,"value":176897,"nodeType":864},{},[],"Since you observe the login process with the extension, it’s easy to discover account security issues like weak passwords or missing MFA. You can also tell when employees are logging into apps without using SSO. Best of all you don’t need to create a dragnet and collect all this data centrally creating a privacy nightmare, instead ",{"data":176899,"marks":176900,"value":176902,"nodeType":864},{},[176901],{"type":899},"you can analyze this data where it already exists, inside the safe confines of the browser sandbox",{"data":176904,"marks":176905,"value":176906,"nodeType":864},{},[],". The only data you report out is a flag when you find an issue.",{"data":176908,"content":176909,"nodeType":860},{},[176910,176914,176919],{"data":176911,"marks":176912,"value":176913,"nodeType":864},{},[],"Another benefit of browser extensions is that they are not passive. ",{"data":176915,"marks":176916,"value":176918,"nodeType":864},{},[176917],{"type":899},"You can easily add active features to extensions that do things like warn users before they even set bad passwords",{"data":176920,"marks":176921,"value":176922,"nodeType":864},{},[]," - preventing these issues from occurring in the first place.",{"data":176924,"content":176925,"nodeType":860},{},[176926],{"data":176927,"marks":176928,"value":176929,"nodeType":864},{},[],"The downside is that you need to deploy these browser extensions to employees. This used to be a much bigger issue in the past, but these days it’s easy to deploy extensions to your whole fleet of Chrome, Edge, Firefox, Safari, Brave and Opera browsers using an MDM or GPO policy. Another nice thing about extensions, is that unlike endpoint agents, extensions are cross platform (they don’t care if you are on Windows, Mac or Linux), are isolated to the browser and automatically update through the browser extension store.",{"data":176931,"content":176932,"nodeType":860},{},[176933],{"data":176934,"marks":176935,"value":176936,"nodeType":864},{},[],"I’m sure I’m not doing a great job of hiding my enthusiasm for browser extensions as a platform to build SaaS security tools on, but they truly do provide the kind of fast, accurate and detailed data we need to solve both the supply-chain and customer responsibility sides of SaaS security.",{"data":176938,"content":176939,"nodeType":1312},{},[176940],{"data":176941,"marks":176942,"value":176943,"nodeType":864},{},[],"Push uses a browser extension and APIs ",{"data":176945,"content":176946,"nodeType":860},{},[176947],{"data":176948,"marks":176949,"value":176950,"nodeType":864},{},[],"That’s why we decided to build Push on a browser extension. To discover and provide security-relevant data about the integrations to your core cloud platforms, we also use APIs. Together, these two data sources provided a full view of the SaaS apps employees are using.",{"data":176952,"content":176953,"nodeType":1009},{},[176954],{"data":176955,"marks":176956,"value":176957,"nodeType":864},{},[],"How can Push help?",{"data":176959,"content":176960,"nodeType":860},{},[176961],{"data":176962,"marks":176963,"value":140845,"nodeType":864},{},[],{"data":176965,"content":176966,"nodeType":860},{},[176967],{"data":176968,"marks":176969,"value":176970,"nodeType":864},{},[],"Here’s a quick rundown of how Push can help you:",{"data":176972,"content":176973,"nodeType":1312},{},[176974],{"data":176975,"marks":176976,"value":176977,"nodeType":864},{},[],"Get visibility of shadow SaaS apps and unmanaged cloud accounts",{"data":176979,"content":176980,"nodeType":860},{},[176981],{"data":176982,"marks":176983,"value":176984,"nodeType":864},{},[],"If you’re going to get a handle on employee-adopted SaaS apps, you need to get visibility of them first. Push uses data from our browser extension to find SaaS apps that are logged into with usernames and passwords and SSO (OIDC). This gives you complete visibility of your SaaS environment, including shadow SaaS apps and cloud accounts that are not managed by IT. ",{"data":176986,"content":176990,"nodeType":996},{"target":176987},{"sys":176988},{"id":176989,"type":1001,"linkType":1002},"2PW9tNBBo0ohoqXYZ04kxA",[],{"data":176992,"content":176993,"nodeType":1312},{},[176994],{"data":176995,"marks":176996,"value":176997,"nodeType":864},{},[],"Detect the new apps and integrations employees are adopting in real time",{"data":176999,"content":177000,"nodeType":860},{},[177001],{"data":177002,"marks":177003,"value":177004,"nodeType":864},{},[],"Push detects employees signing up to new apps, or integrating third-party apps to your core work platforms in real-time. That allows you to step in at the earliest opportunity to vet the app for critical issues and guide the employee through the appropriate app onboarding steps. This allows you to focus on the new stuff and buy yourself time as I recommended earlier. ",{"data":177006,"content":177009,"nodeType":996},{"target":177007},{"sys":177008},{"id":140590,"type":1001,"linkType":1002},[],{"data":177011,"content":177012,"nodeType":1312},{},[177013],{"data":177014,"marks":177015,"value":177016,"nodeType":864},{},[],"Avoid wasting time on false-positives",{"data":177018,"content":177019,"nodeType":860},{},[177020],{"data":177021,"marks":177022,"value":149852,"nodeType":864},{},[],{"data":177024,"content":177025,"nodeType":860},{},[177026],{"data":177027,"marks":177028,"value":177029,"nodeType":864},{},[],"Throughout this piece I’ve banged on about how critical it is to have the right data. Good data allows you to quickly and accurately identify new SaaS apps and integrations as employees adopt them. Good data is also required to identify the security issues that attackers can exploit to compromise your data through common attacks like Credential Stuffing. The best foundational data to lean on for SaaS visibility and risk is browser extension data.",{"data":177031,"content":177032,"nodeType":860},{},[177033],{"data":177034,"marks":177035,"value":149896,"nodeType":864},{},[],{"data":177037,"content":177038,"nodeType":860},{},[177039],{"data":177040,"marks":177041,"value":177044,"nodeType":864},{},[177042,177043],{"type":899},{"type":2246},"That makes Push the only SaaS security solution that can directly observe all SaaS use and the only solution that can identify account security issues across hundreds of apps - completely automatically. No need for API support, no need for an admin account. It just works.",{"data":177046,"content":177047,"nodeType":1312},{},[177048],{"data":177049,"marks":177050,"value":140598,"nodeType":864},{},[],{"data":177052,"content":177053,"nodeType":860},{},[177054],{"data":177055,"marks":177056,"value":177057,"nodeType":864},{},[],"Supply chain risk is important, but I’d argue account compromise risks are greater for most organizations. Push can identify account security issues that make it possible for attackers to compromise your employees accounts using credential stuffing, brute forcing and phishing attacks. These include:",{"data":177059,"content":177060,"nodeType":941},{},[177061,177070,177079,177088,177097,177106],{"data":177062,"content":177063,"nodeType":945},{},[177064],{"data":177065,"content":177066,"nodeType":860},{},[177067],{"data":177068,"marks":177069,"value":140618,"nodeType":864},{},[],{"data":177071,"content":177072,"nodeType":945},{},[177073],{"data":177074,"content":177075,"nodeType":860},{},[177076],{"data":177077,"marks":177078,"value":149961,"nodeType":864},{},[],{"data":177080,"content":177081,"nodeType":945},{},[177082],{"data":177083,"content":177084,"nodeType":860},{},[177085],{"data":177086,"marks":177087,"value":140638,"nodeType":864},{},[],{"data":177089,"content":177090,"nodeType":945},{},[177091],{"data":177092,"content":177093,"nodeType":860},{},[177094],{"data":177095,"marks":177096,"value":149980,"nodeType":864},{},[],{"data":177098,"content":177099,"nodeType":945},{},[177100],{"data":177101,"content":177102,"nodeType":860},{},[177103],{"data":177104,"marks":177105,"value":140658,"nodeType":864},{},[],{"data":177107,"content":177108,"nodeType":945},{},[177109],{"data":177110,"content":177111,"nodeType":860},{},[177112],{"data":177113,"marks":177114,"value":149999,"nodeType":864},{},[],{"data":177116,"content":177119,"nodeType":996},{"target":177117},{"sys":177118},{"id":150004,"type":1001,"linkType":1002},[],{"data":177121,"content":177122,"nodeType":860},{},[177123],{"data":177124,"marks":177125,"value":177126,"nodeType":864},{},[],"We identify these issues at the same time we discover shadow SaaS apps, so you can tackle account compromise at the same time as supply chain risk to reduce your SaaS security risk exposure faster.",{"data":177128,"content":177129,"nodeType":860},{},[177130],{"data":177131,"marks":177132,"value":177133,"nodeType":864},{},[],"How do we actually reduce the risks? We engage employees directly via Slack or MS Teams, explain the account security issue we’ve identified in a way they’ll understand, and help them understand how it’s putting them and the business at risk. Then we guide them on how to fix it...",{"data":177135,"content":177138,"nodeType":996},{"target":177136},{"sys":177137},{"id":150031,"type":1001,"linkType":1002},[],{"data":177140,"content":177141,"nodeType":1312},{},[177142],{"data":177143,"marks":177144,"value":177145,"nodeType":864},{},[],"Use Push to secure accounts that aren’t under SSO",{"data":177147,"content":177148,"nodeType":860},{},[177149],{"data":177150,"marks":177151,"value":177152,"nodeType":864},{},[],"In an ideal world, you could stick all your SaaS under your SSO solution, but we’ve already explained why that’s not practical for all apps. For apps and accounts that can’t use SSO, Push makes sure employees are using strong, unique passwords that aren’t published on a password breach list. We’ll also guide employees to use MFA when possible. ",{"data":177154,"content":177155,"nodeType":860},{},[177156],{"data":177157,"marks":177158,"value":177159,"nodeType":864},{},[],"In some instances, we can prevent account security issues from occurring in the first place. When Push detects an employee creating a new account in their browser, we’ll guide them to set up strong identity and access controls on their account, at the first signup...",{"data":177161,"content":177165,"nodeType":996},{"target":177162},{"sys":177163},{"id":177164,"type":1001,"linkType":1002},"44U1ByoQns6vTqCSS3XrJf",[],{"data":177167,"content":177168,"nodeType":1312},{},[177169,177173],{"data":177170,"marks":177171,"value":177172,"nodeType":864},{},[],"Get a handle on employee-adopted apps ",{"data":177174,"marks":177175,"value":141125,"nodeType":864},{},[177176],{"type":2246},{"data":177178,"content":177179,"nodeType":860},{},[177180],{"data":177181,"marks":177182,"value":177183,"nodeType":864},{},[],"By using Push, you can have complete visibility of all SaaS apps in your environment, including those adopted by employees without the oversight of IT and Security. We’ll automatically find the security issues that put your data at risk and enlist the support of employees to fix them. This allows you to embrace app self-adoption and adopt a default allow approach that enables your business while scaling security so you don’t lose control of SaaS security risks.  ","Adapt your thinking to secure your data. Security needs to move from being the Department of No to the Department of Yes, Unless... ","2023-06-27T00:00:00.000Z",{"items":177187},[177188,177190],{"sys":177189,"name":2729},{"id":2728},{"sys":177191,"name":4904},{"id":4903},{"items":177193},[177194],{"fullName":38408,"firstName":38409,"jobTitle":38410,"profilePicture":177195},{"url":38412},{"__typename":2059,"sys":177197,"content":177198,"title":150039,"synopsis":150040,"hashTags":59,"publishedDate":150041,"slug":150042,"tagsCollection":177857,"authorsCollection":177863},{"id":149298},{"json":177199},{"data":177200,"content":177201,"nodeType":856},{},[177202,177208,177214,177220,177228,177234,177239,177245,177250,177256,177262,177268,177274,177280,177286,177292,177298,177304,177317,177323,177329,177334,177340,177346,177359,177376,177382,177388,177394,177400,177406,177412,177430,177436,177442,177448,177454,177460,177466,177472,177478,177491,177521,177529,177535,177541,177547,177553,177574,177580,177586,177592,177598,177604,177610,177616,177622,177627,177633,177639,177645,177655,177661,177667,177673,177678,177684,177690,177696,177717,177723,177729,177735,177748,177754,177760,177766,177823,177828,177834,177840,177846,177851],{"data":177203,"content":177204,"nodeType":860},{},[177205],{"data":177206,"marks":177207,"value":149309,"nodeType":864},{},[],{"data":177209,"content":177210,"nodeType":860},{},[177211],{"data":177212,"marks":177213,"value":147851,"nodeType":864},{},[],{"data":177215,"content":177216,"nodeType":860},{},[177217],{"data":177218,"marks":177219,"value":149322,"nodeType":864},{},[],{"data":177221,"content":177222,"nodeType":860},{},[177223],{"data":177224,"marks":177225,"value":149331,"nodeType":864},{},[177226,177227],{"type":899},{"type":2246},{"data":177229,"content":177230,"nodeType":860},{},[177231],{"data":177232,"marks":177233,"value":149338,"nodeType":864},{},[],{"data":177235,"content":177238,"nodeType":996},{"target":177236},{"sys":177237},{"id":147969,"type":1001,"linkType":1002},[],{"data":177240,"content":177241,"nodeType":860},{},[177242],{"data":177243,"marks":177244,"value":149350,"nodeType":864},{},[],{"data":177246,"content":177249,"nodeType":996},{"target":177247},{"sys":177248},{"id":148119,"type":1001,"linkType":1002},[],{"data":177251,"content":177252,"nodeType":860},{},[177253],{"data":177254,"marks":177255,"value":149362,"nodeType":864},{},[],{"data":177257,"content":177258,"nodeType":1009},{},[177259],{"data":177260,"marks":177261,"value":149369,"nodeType":864},{},[],{"data":177263,"content":177264,"nodeType":860},{},[177265],{"data":177266,"marks":177267,"value":149376,"nodeType":864},{},[],{"data":177269,"content":177270,"nodeType":860},{},[177271],{"data":177272,"marks":177273,"value":149383,"nodeType":864},{},[],{"data":177275,"content":177276,"nodeType":1009},{},[177277],{"data":177278,"marks":177279,"value":149390,"nodeType":864},{},[],{"data":177281,"content":177282,"nodeType":1312},{},[177283],{"data":177284,"marks":177285,"value":148209,"nodeType":864},{},[],{"data":177287,"content":177288,"nodeType":860},{},[177289],{"data":177290,"marks":177291,"value":149403,"nodeType":864},{},[],{"data":177293,"content":177294,"nodeType":1312},{},[177295],{"data":177296,"marks":177297,"value":589,"nodeType":864},{},[],{"data":177299,"content":177300,"nodeType":860},{},[177301],{"data":177302,"marks":177303,"value":149416,"nodeType":864},{},[],{"data":177305,"content":177306,"nodeType":860},{},[177307,177310,177314],{"data":177308,"marks":177309,"value":149423,"nodeType":864},{},[],{"data":177311,"marks":177312,"value":149428,"nodeType":864},{},[177313],{"type":2246},{"data":177315,"marks":177316,"value":8618,"nodeType":864},{},[],{"data":177318,"content":177319,"nodeType":1312},{},[177320],{"data":177321,"marks":177322,"value":149438,"nodeType":864},{},[],{"data":177324,"content":177325,"nodeType":860},{},[177326],{"data":177327,"marks":177328,"value":149445,"nodeType":864},{},[],{"data":177330,"content":177333,"nodeType":996},{"target":177331},{"sys":177332},{"id":148228,"type":1001,"linkType":1002},[],{"data":177335,"content":177336,"nodeType":1312},{},[177337],{"data":177338,"marks":177339,"value":148236,"nodeType":864},{},[],{"data":177341,"content":177342,"nodeType":860},{},[177343],{"data":177344,"marks":177345,"value":148243,"nodeType":864},{},[],{"data":177347,"content":177348,"nodeType":860},{},[177349,177352,177356],{"data":177350,"marks":177351,"value":149469,"nodeType":864},{},[],{"data":177353,"marks":177354,"value":149474,"nodeType":864},{},[177355],{"type":2246},{"data":177357,"marks":177358,"value":149478,"nodeType":864},{},[],{"data":177360,"content":177361,"nodeType":860},{},[177362,177367,177371],{"data":177363,"marks":177364,"value":149487,"nodeType":864},{},[177365,177366],{"type":899},{"type":2246},{"data":177368,"marks":177369,"value":149492,"nodeType":864},{},[177370],{"type":2246},{"data":177372,"marks":177373,"value":8618,"nodeType":864},{},[177374,177375],{"type":899},{"type":2246},{"data":177377,"content":177378,"nodeType":860},{},[177379],{"data":177380,"marks":177381,"value":149504,"nodeType":864},{},[],{"data":177383,"content":177384,"nodeType":1312},{},[177385],{"data":177386,"marks":177387,"value":149511,"nodeType":864},{},[],{"data":177389,"content":177390,"nodeType":860},{},[177391],{"data":177392,"marks":177393,"value":149518,"nodeType":864},{},[],{"data":177395,"content":177396,"nodeType":1312},{},[177397],{"data":177398,"marks":177399,"value":149525,"nodeType":864},{},[],{"data":177401,"content":177402,"nodeType":860},{},[177403],{"data":177404,"marks":177405,"value":149532,"nodeType":864},{},[],{"data":177407,"content":177408,"nodeType":860},{},[177409],{"data":177410,"marks":177411,"value":149539,"nodeType":864},{},[],{"data":177413,"content":177414,"nodeType":860},{},[177415,177418,177427],{"data":177416,"marks":177417,"value":149546,"nodeType":864},{},[],{"data":177419,"content":177422,"nodeType":27604},{"target":177420},{"sys":177421},{"id":149551,"type":1001,"linkType":1002},[177423],{"data":177424,"marks":177425,"value":29669,"nodeType":864},{},[177426],{"type":1455},{"data":177428,"marks":177429,"value":12252,"nodeType":864},{},[],{"data":177431,"content":177432,"nodeType":860},{},[177433],{"data":177434,"marks":177435,"value":149566,"nodeType":864},{},[],{"data":177437,"content":177438,"nodeType":860},{},[177439],{"data":177440,"marks":177441,"value":149573,"nodeType":864},{},[],{"data":177443,"content":177444,"nodeType":1009},{},[177445],{"data":177446,"marks":177447,"value":149580,"nodeType":864},{},[],{"data":177449,"content":177450,"nodeType":1312},{},[177451],{"data":177452,"marks":177453,"value":149587,"nodeType":864},{},[],{"data":177455,"content":177456,"nodeType":860},{},[177457],{"data":177458,"marks":177459,"value":149594,"nodeType":864},{},[],{"data":177461,"content":177462,"nodeType":860},{},[177463],{"data":177464,"marks":177465,"value":149601,"nodeType":864},{},[],{"data":177467,"content":177468,"nodeType":1312},{},[177469],{"data":177470,"marks":177471,"value":149608,"nodeType":864},{},[],{"data":177473,"content":177474,"nodeType":860},{},[177475],{"data":177476,"marks":177477,"value":149615,"nodeType":864},{},[],{"data":177479,"content":177480,"nodeType":860},{},[177481,177484,177488],{"data":177482,"marks":177483,"value":149622,"nodeType":864},{},[],{"data":177485,"marks":177486,"value":148331,"nodeType":864},{},[177487],{"type":2246},{"data":177489,"marks":177490,"value":148335,"nodeType":864},{},[],{"data":177492,"content":177493,"nodeType":941},{},[177494,177503,177512],{"data":177495,"content":177496,"nodeType":945},{},[177497],{"data":177498,"content":177499,"nodeType":860},{},[177500],{"data":177501,"marks":177502,"value":148348,"nodeType":864},{},[],{"data":177504,"content":177505,"nodeType":945},{},[177506],{"data":177507,"content":177508,"nodeType":860},{},[177509],{"data":177510,"marks":177511,"value":148358,"nodeType":864},{},[],{"data":177513,"content":177514,"nodeType":945},{},[177515],{"data":177516,"content":177517,"nodeType":860},{},[177518],{"data":177519,"marks":177520,"value":148368,"nodeType":864},{},[],{"data":177522,"content":177523,"nodeType":860},{},[177524],{"data":177525,"marks":177526,"value":149668,"nodeType":864},{},[177527,177528],{"type":899},{"type":2246},{"data":177530,"content":177531,"nodeType":860},{},[177532],{"data":177533,"marks":177534,"value":148384,"nodeType":864},{},[],{"data":177536,"content":177537,"nodeType":1312},{},[177538],{"data":177539,"marks":177540,"value":149681,"nodeType":864},{},[],{"data":177542,"content":177543,"nodeType":860},{},[177544],{"data":177545,"marks":177546,"value":149688,"nodeType":864},{},[],{"data":177548,"content":177549,"nodeType":860},{},[177550],{"data":177551,"marks":177552,"value":149695,"nodeType":864},{},[],{"data":177554,"content":177555,"nodeType":941},{},[177556,177565],{"data":177557,"content":177558,"nodeType":945},{},[177559],{"data":177560,"content":177561,"nodeType":860},{},[177562],{"data":177563,"marks":177564,"value":149708,"nodeType":864},{},[],{"data":177566,"content":177567,"nodeType":945},{},[177568],{"data":177569,"content":177570,"nodeType":860},{},[177571],{"data":177572,"marks":177573,"value":149718,"nodeType":864},{},[],{"data":177575,"content":177576,"nodeType":860},{},[177577],{"data":177578,"marks":177579,"value":149725,"nodeType":864},{},[],{"data":177581,"content":177582,"nodeType":1312},{},[177583],{"data":177584,"marks":177585,"value":149732,"nodeType":864},{},[],{"data":177587,"content":177588,"nodeType":860},{},[177589],{"data":177590,"marks":177591,"value":149739,"nodeType":864},{},[],{"data":177593,"content":177594,"nodeType":860},{},[177595],{"data":177596,"marks":177597,"value":149746,"nodeType":864},{},[],{"data":177599,"content":177600,"nodeType":1009},{},[177601],{"data":177602,"marks":177603,"value":149753,"nodeType":864},{},[],{"data":177605,"content":177606,"nodeType":1312},{},[177607],{"data":177608,"marks":177609,"value":149760,"nodeType":864},{},[],{"data":177611,"content":177612,"nodeType":860},{},[177613],{"data":177614,"marks":177615,"value":149767,"nodeType":864},{},[],{"data":177617,"content":177618,"nodeType":860},{},[177619],{"data":177620,"marks":177621,"value":149774,"nodeType":864},{},[],{"data":177623,"content":177626,"nodeType":996},{"target":177624},{"sys":177625},{"id":148431,"type":1001,"linkType":1002},[],{"data":177628,"content":177629,"nodeType":1312},{},[177630],{"data":177631,"marks":177632,"value":149786,"nodeType":864},{},[],{"data":177634,"content":177635,"nodeType":860},{},[177636],{"data":177637,"marks":177638,"value":149793,"nodeType":864},{},[],{"data":177640,"content":177641,"nodeType":860},{},[177642],{"data":177643,"marks":177644,"value":149800,"nodeType":864},{},[],{"data":177646,"content":177647,"nodeType":860},{},[177648,177651],{"data":177649,"marks":177650,"value":149807,"nodeType":864},{},[],{"data":177652,"marks":177653,"value":149812,"nodeType":864},{},[177654],{"type":2246},{"data":177656,"content":177657,"nodeType":1312},{},[177658],{"data":177659,"marks":177660,"value":149819,"nodeType":864},{},[],{"data":177662,"content":177663,"nodeType":860},{},[177664],{"data":177665,"marks":177666,"value":149826,"nodeType":864},{},[],{"data":177668,"content":177669,"nodeType":860},{},[177670],{"data":177671,"marks":177672,"value":149833,"nodeType":864},{},[],{"data":177674,"content":177677,"nodeType":996},{"target":177675},{"sys":177676},{"id":140590,"type":1001,"linkType":1002},[],{"data":177679,"content":177680,"nodeType":1312},{},[177681],{"data":177682,"marks":177683,"value":149845,"nodeType":864},{},[],{"data":177685,"content":177686,"nodeType":860},{},[177687],{"data":177688,"marks":177689,"value":149852,"nodeType":864},{},[],{"data":177691,"content":177692,"nodeType":860},{},[177693],{"data":177694,"marks":177695,"value":149859,"nodeType":864},{},[],{"data":177697,"content":177698,"nodeType":941},{},[177699,177708],{"data":177700,"content":177701,"nodeType":945},{},[177702],{"data":177703,"content":177704,"nodeType":860},{},[177705],{"data":177706,"marks":177707,"value":149872,"nodeType":864},{},[],{"data":177709,"content":177710,"nodeType":945},{},[177711],{"data":177712,"content":177713,"nodeType":860},{},[177714],{"data":177715,"marks":177716,"value":149882,"nodeType":864},{},[],{"data":177718,"content":177719,"nodeType":1312},{},[177720],{"data":177721,"marks":177722,"value":149889,"nodeType":864},{},[],{"data":177724,"content":177725,"nodeType":860},{},[177726],{"data":177727,"marks":177728,"value":149896,"nodeType":864},{},[],{"data":177730,"content":177731,"nodeType":860},{},[177732],{"data":177733,"marks":177734,"value":149903,"nodeType":864},{},[],{"data":177736,"content":177737,"nodeType":860},{},[177738,177741,177745],{"data":177739,"marks":177740,"value":149910,"nodeType":864},{},[],{"data":177742,"marks":177743,"value":112585,"nodeType":864},{},[177744],{"type":899},{"data":177746,"marks":177747,"value":149918,"nodeType":864},{},[],{"data":177749,"content":177750,"nodeType":1312},{},[177751],{"data":177752,"marks":177753,"value":149925,"nodeType":864},{},[],{"data":177755,"content":177756,"nodeType":860},{},[177757],{"data":177758,"marks":177759,"value":149932,"nodeType":864},{},[],{"data":177761,"content":177762,"nodeType":860},{},[177763],{"data":177764,"marks":177765,"value":149939,"nodeType":864},{},[],{"data":177767,"content":177768,"nodeType":941},{},[177769,177778,177787,177796,177805,177814],{"data":177770,"content":177771,"nodeType":945},{},[177772],{"data":177773,"content":177774,"nodeType":860},{},[177775],{"data":177776,"marks":177777,"value":140618,"nodeType":864},{},[],{"data":177779,"content":177780,"nodeType":945},{},[177781],{"data":177782,"content":177783,"nodeType":860},{},[177784],{"data":177785,"marks":177786,"value":149961,"nodeType":864},{},[],{"data":177788,"content":177789,"nodeType":945},{},[177790],{"data":177791,"content":177792,"nodeType":860},{},[177793],{"data":177794,"marks":177795,"value":140638,"nodeType":864},{},[],{"data":177797,"content":177798,"nodeType":945},{},[177799],{"data":177800,"content":177801,"nodeType":860},{},[177802],{"data":177803,"marks":177804,"value":149980,"nodeType":864},{},[],{"data":177806,"content":177807,"nodeType":945},{},[177808],{"data":177809,"content":177810,"nodeType":860},{},[177811],{"data":177812,"marks":177813,"value":140658,"nodeType":864},{},[],{"data":177815,"content":177816,"nodeType":945},{},[177817],{"data":177818,"content":177819,"nodeType":860},{},[177820],{"data":177821,"marks":177822,"value":149999,"nodeType":864},{},[],{"data":177824,"content":177827,"nodeType":996},{"target":177825},{"sys":177826},{"id":150004,"type":1001,"linkType":1002},[],{"data":177829,"content":177830,"nodeType":860},{},[177831],{"data":177832,"marks":177833,"value":150012,"nodeType":864},{},[],{"data":177835,"content":177836,"nodeType":1312},{},[177837],{"data":177838,"marks":177839,"value":150019,"nodeType":864},{},[],{"data":177841,"content":177842,"nodeType":860},{},[177843],{"data":177844,"marks":177845,"value":150026,"nodeType":864},{},[],{"data":177847,"content":177850,"nodeType":996},{"target":177848},{"sys":177849},{"id":150031,"type":1001,"linkType":1002},[],{"data":177852,"content":177853,"nodeType":860},{},[177854],{"data":177855,"marks":177856,"value":21,"nodeType":864},{},[],{"items":177858},[177859,177861],{"sys":177860,"name":4904},{"id":4903},{"sys":177862,"name":2729},{"id":2728},{"items":177864},[177865],{"fullName":150052,"firstName":150052,"jobTitle":59,"profilePicture":177866},{"url":150054},"blog/free-and-trial-saas-applications-are-even-riskier-than-paid-apps",{"json":177869},{"data":177870,"content":177871,"nodeType":856},{},[177872],{"data":177873,"content":177874,"nodeType":860},{},[177875],{"data":177876,"marks":177877,"value":177878,"nodeType":864},{},[],"Free and trial SaaS accounts are often invisible to security teams and interact with real corporate data.",{"id":166999,"publishedAt":177880},"2026-08-12T11:56:10.614Z",{"items":177882},[177883,177885],{"sys":177884,"name":2729},{"id":2728},{"sys":177886,"name":4904},{"id":4903},{"items":177888},[177889,177891,177893,177895,177897,177899],{"sys":177890,"name":545,"slug":546,"tier":31},{"id":542},{"sys":177892,"name":413,"slug":414,"tier":31},{"id":410},{"sys":177894,"name":297,"slug":298,"tier":31},{"id":294},{"sys":177896,"name":589,"slug":590,"tier":45},{"id":586},{"sys":177898,"name":633,"slug":634,"tier":45},{"id":630},{"sys":177900,"name":457,"slug":458,"tier":45},{"id":454},"eAn_r4E5TCl2s-7kUOgLUZquzaAyO6EmMTFPyf6fwZ4",{"id":177903,"title":150743,"authorsCollection":177904,"content":177909,"extension":228,"faqItemsCollection":179347,"faqTitle":59,"featured":6,"hashTags":59,"meta":179349,"metaTitle":179350,"ogImage":179351,"postType":38987,"publishedDate":177185,"relatedBlogPostsCollection":179353,"slug":150744,"stem":180623,"subtitle":59,"summary":180624,"synopsis":177184,"sys":180635,"tagsCollection":180637,"topicsCollection":180643,"__hash__":180665},"blog/blog/protect-your-data-across-all-your-apps-even-the-ones-employees-use-without.json",{"items":177905},[177906],{"fullName":38408,"firstName":38409,"jobTitle":38410,"socialLinks":177907,"profilePicture":177908},[38494],{"url":38412},{"json":177910,"links":179266},{"data":177911,"content":177912,"nodeType":856},{},[177913,177919,177937,177943,177949,177959,177965,177971,178010,178016,178022,178027,178033,178039,178045,178050,178071,178077,178083,178089,178095,178101,178200,178206,178212,178218,178229,178235,178241,178247,178253,178258,178264,178270,178276,178281,178288,178294,178300,178306,178312,178318,178324,178329,178335,178341,178347,178353,178358,178364,178403,178408,178414,178435,178441,178462,178468,178474,178480,178486,178492,178590,178595,178601,178609,178615,178621,178627,178633,178639,178645,178650,178656,178662,178678,178684,178690,178696,178701,178707,178713,178719,178749,178755,178761,178767,178773,178779,178785,178791,178797,178803,178809,178848,178854,178859,178877,178883,178889,178895,178901,178907,178913,178919,178925,178931,178937,178943,178949,178955,178990,178996,179002,179015,179028,179034,179040,179046,179052,179058,179064,179070,179076,179082,179087,179093,179099,179104,179110,179116,179122,179128,179136,179142,179148,179205,179210,179216,179222,179227,179233,179239,179245,179250,179260],{"data":177914,"content":177915,"nodeType":1009},{},[177916],{"data":177917,"marks":177918,"value":126377,"nodeType":864},{},[],{"data":177920,"content":177921,"nodeType":860},{},[177922,177925,177934],{"data":177923,"marks":177924,"value":175683,"nodeType":864},{},[],{"data":177926,"content":177929,"nodeType":27604},{"target":177927},{"sys":177928},{"id":147827,"type":1001,"linkType":1002},[177930],{"data":177931,"marks":177932,"value":149282,"nodeType":864},{},[177933],{"type":2246},{"data":177935,"marks":177936,"value":175696,"nodeType":864},{},[],{"data":177938,"content":177939,"nodeType":860},{},[177940],{"data":177941,"marks":177942,"value":140790,"nodeType":864},{},[],{"data":177944,"content":177945,"nodeType":860},{},[177946],{"data":177947,"marks":177948,"value":175709,"nodeType":864},{},[],{"data":177950,"content":177951,"nodeType":860},{},[177952,177956],{"data":177953,"marks":177954,"value":175717,"nodeType":864},{},[177955],{"type":899},{"data":177957,"marks":177958,"value":8618,"nodeType":864},{},[],{"data":177960,"content":177961,"nodeType":860},{},[177962],{"data":177963,"marks":177964,"value":175727,"nodeType":864},{},[],{"data":177966,"content":177967,"nodeType":860},{},[177968],{"data":177969,"marks":177970,"value":175734,"nodeType":864},{},[],{"data":177972,"content":177973,"nodeType":941},{},[177974,177983,177992,178001],{"data":177975,"content":177976,"nodeType":945},{},[177977],{"data":177978,"content":177979,"nodeType":860},{},[177980],{"data":177981,"marks":177982,"value":175747,"nodeType":864},{},[],{"data":177984,"content":177985,"nodeType":945},{},[177986],{"data":177987,"content":177988,"nodeType":860},{},[177989],{"data":177990,"marks":177991,"value":175757,"nodeType":864},{},[],{"data":177993,"content":177994,"nodeType":945},{},[177995],{"data":177996,"content":177997,"nodeType":860},{},[177998],{"data":177999,"marks":178000,"value":175767,"nodeType":864},{},[],{"data":178002,"content":178003,"nodeType":945},{},[178004],{"data":178005,"content":178006,"nodeType":860},{},[178007],{"data":178008,"marks":178009,"value":175777,"nodeType":864},{},[],{"data":178011,"content":178012,"nodeType":1009},{},[178013],{"data":178014,"marks":178015,"value":175784,"nodeType":864},{},[],{"data":178017,"content":178018,"nodeType":860},{},[178019],{"data":178020,"marks":178021,"value":175791,"nodeType":864},{},[],{"data":178023,"content":178026,"nodeType":996},{"target":178024},{"sys":178025},{"id":148506,"type":1001,"linkType":1002},[],{"data":178028,"content":178029,"nodeType":860},{},[178030],{"data":178031,"marks":178032,"value":175803,"nodeType":864},{},[],{"data":178034,"content":178035,"nodeType":860},{},[178036],{"data":178037,"marks":178038,"value":175810,"nodeType":864},{},[],{"data":178040,"content":178041,"nodeType":860},{},[178042],{"data":178043,"marks":178044,"value":175817,"nodeType":864},{},[],{"data":178046,"content":178049,"nodeType":996},{"target":178047},{"sys":178048},{"id":148744,"type":1001,"linkType":1002},[],{"data":178051,"content":178052,"nodeType":941},{},[178053,178062],{"data":178054,"content":178055,"nodeType":945},{},[178056],{"data":178057,"content":178058,"nodeType":860},{},[178059],{"data":178060,"marks":178061,"value":175835,"nodeType":864},{},[],{"data":178063,"content":178064,"nodeType":945},{},[178065],{"data":178066,"content":178067,"nodeType":860},{},[178068],{"data":178069,"marks":178070,"value":175845,"nodeType":864},{},[],{"data":178072,"content":178073,"nodeType":860},{},[178074],{"data":178075,"marks":178076,"value":175852,"nodeType":864},{},[],{"data":178078,"content":178079,"nodeType":1009},{},[178080],{"data":178081,"marks":178082,"value":175859,"nodeType":864},{},[],{"data":178084,"content":178085,"nodeType":860},{},[178086],{"data":178087,"marks":178088,"value":175866,"nodeType":864},{},[],{"data":178090,"content":178091,"nodeType":860},{},[178092],{"data":178093,"marks":178094,"value":175873,"nodeType":864},{},[],{"data":178096,"content":178097,"nodeType":860},{},[178098],{"data":178099,"marks":178100,"value":166654,"nodeType":864},{},[],{"data":178102,"content":178103,"nodeType":941},{},[178104,178134,178191],{"data":178105,"content":178106,"nodeType":945},{},[178107,178113],{"data":178108,"content":178109,"nodeType":860},{},[178110],{"data":178111,"marks":178112,"value":175892,"nodeType":864},{},[],{"data":178114,"content":178115,"nodeType":941},{},[178116,178125],{"data":178117,"content":178118,"nodeType":945},{},[178119],{"data":178120,"content":178121,"nodeType":860},{},[178122],{"data":178123,"marks":178124,"value":166684,"nodeType":864},{},[],{"data":178126,"content":178127,"nodeType":945},{},[178128],{"data":178129,"content":178130,"nodeType":860},{},[178131],{"data":178132,"marks":178133,"value":166694,"nodeType":864},{},[],{"data":178135,"content":178136,"nodeType":945},{},[178137,178143],{"data":178138,"content":178139,"nodeType":860},{},[178140],{"data":178141,"marks":178142,"value":175923,"nodeType":864},{},[],{"data":178144,"content":178145,"nodeType":941},{},[178146,178155,178164,178173,178182],{"data":178147,"content":178148,"nodeType":945},{},[178149],{"data":178150,"content":178151,"nodeType":860},{},[178152],{"data":178153,"marks":178154,"value":166721,"nodeType":864},{},[],{"data":178156,"content":178157,"nodeType":945},{},[178158],{"data":178159,"content":178160,"nodeType":860},{},[178161],{"data":178162,"marks":178163,"value":166731,"nodeType":864},{},[],{"data":178165,"content":178166,"nodeType":945},{},[178167],{"data":178168,"content":178169,"nodeType":860},{},[178170],{"data":178171,"marks":178172,"value":166741,"nodeType":864},{},[],{"data":178174,"content":178175,"nodeType":945},{},[178176],{"data":178177,"content":178178,"nodeType":860},{},[178179],{"data":178180,"marks":178181,"value":166751,"nodeType":864},{},[],{"data":178183,"content":178184,"nodeType":945},{},[178185],{"data":178186,"content":178187,"nodeType":860},{},[178188],{"data":178189,"marks":178190,"value":166761,"nodeType":864},{},[],{"data":178192,"content":178193,"nodeType":945},{},[178194],{"data":178195,"content":178196,"nodeType":860},{},[178197],{"data":178198,"marks":178199,"value":175981,"nodeType":864},{},[],{"data":178201,"content":178202,"nodeType":860},{},[178203],{"data":178204,"marks":178205,"value":175988,"nodeType":864},{},[],{"data":178207,"content":178208,"nodeType":860},{},[178209],{"data":178210,"marks":178211,"value":175995,"nodeType":864},{},[],{"data":178213,"content":178214,"nodeType":860},{},[178215],{"data":178216,"marks":178217,"value":176002,"nodeType":864},{},[],{"data":178219,"content":178220,"nodeType":860},{},[178221,178224],{"data":178222,"marks":178223,"value":176009,"nodeType":864},{},[],{"data":178225,"marks":178226,"value":176015,"nodeType":864},{},[178227,178228],{"type":899},{"type":2246},{"data":178230,"content":178231,"nodeType":860},{},[178232],{"data":178233,"marks":178234,"value":176022,"nodeType":864},{},[],{"data":178236,"content":178237,"nodeType":1312},{},[178238],{"data":178239,"marks":178240,"value":176029,"nodeType":864},{},[],{"data":178242,"content":178243,"nodeType":860},{},[178244],{"data":178245,"marks":178246,"value":176036,"nodeType":864},{},[],{"data":178248,"content":178249,"nodeType":860},{},[178250],{"data":178251,"marks":178252,"value":176043,"nodeType":864},{},[],{"data":178254,"content":178257,"nodeType":996},{"target":178255},{"sys":178256},{"id":176048,"type":1001,"linkType":1002},[],{"data":178259,"content":178260,"nodeType":860},{},[178261],{"data":178262,"marks":178263,"value":176056,"nodeType":864},{},[],{"data":178265,"content":178266,"nodeType":1009},{},[178267],{"data":178268,"marks":178269,"value":176063,"nodeType":864},{},[],{"data":178271,"content":178272,"nodeType":860},{},[178273],{"data":178274,"marks":178275,"value":176070,"nodeType":864},{},[],{"data":178277,"content":178280,"nodeType":996},{"target":178278},{"sys":178279},{"id":151954,"type":1001,"linkType":1002},[],{"data":178282,"content":178283,"nodeType":860},{},[178284],{"data":178285,"marks":178286,"value":176083,"nodeType":864},{},[178287],{"type":899},{"data":178289,"content":178290,"nodeType":860},{},[178291],{"data":178292,"marks":178293,"value":176090,"nodeType":864},{},[],{"data":178295,"content":178296,"nodeType":860},{},[178297],{"data":178298,"marks":178299,"value":176097,"nodeType":864},{},[],{"data":178301,"content":178302,"nodeType":1312},{},[178303],{"data":178304,"marks":178305,"value":176104,"nodeType":864},{},[],{"data":178307,"content":178308,"nodeType":860},{},[178309],{"data":178310,"marks":178311,"value":176111,"nodeType":864},{},[],{"data":178313,"content":178314,"nodeType":860},{},[178315],{"data":178316,"marks":178317,"value":176118,"nodeType":864},{},[],{"data":178319,"content":178320,"nodeType":860},{},[178321],{"data":178322,"marks":178323,"value":176125,"nodeType":864},{},[],{"data":178325,"content":178328,"nodeType":996},{"target":178326},{"sys":178327},{"id":176130,"type":1001,"linkType":1002},[],{"data":178330,"content":178331,"nodeType":860},{},[178332],{"data":178333,"marks":178334,"value":176138,"nodeType":864},{},[],{"data":178336,"content":178337,"nodeType":860},{},[178338],{"data":178339,"marks":178340,"value":176145,"nodeType":864},{},[],{"data":178342,"content":178343,"nodeType":1009},{},[178344],{"data":178345,"marks":178346,"value":176152,"nodeType":864},{},[],{"data":178348,"content":178349,"nodeType":860},{},[178350],{"data":178351,"marks":178352,"value":176159,"nodeType":864},{},[],{"data":178354,"content":178357,"nodeType":996},{"target":178355},{"sys":178356},{"id":151435,"type":1001,"linkType":1002},[],{"data":178359,"content":178360,"nodeType":860},{},[178361],{"data":178362,"marks":178363,"value":176171,"nodeType":864},{},[],{"data":178365,"content":178366,"nodeType":941},{},[178367,178376,178385,178394],{"data":178368,"content":178369,"nodeType":945},{},[178370],{"data":178371,"content":178372,"nodeType":860},{},[178373],{"data":178374,"marks":178375,"value":166910,"nodeType":864},{},[],{"data":178377,"content":178378,"nodeType":945},{},[178379],{"data":178380,"content":178381,"nodeType":860},{},[178382],{"data":178383,"marks":178384,"value":166920,"nodeType":864},{},[],{"data":178386,"content":178387,"nodeType":945},{},[178388],{"data":178389,"content":178390,"nodeType":860},{},[178391],{"data":178392,"marks":178393,"value":166930,"nodeType":864},{},[],{"data":178395,"content":178396,"nodeType":945},{},[178397],{"data":178398,"content":178399,"nodeType":860},{},[178400],{"data":178401,"marks":178402,"value":166940,"nodeType":864},{},[],{"data":178404,"content":178407,"nodeType":996},{"target":178405},{"sys":178406},{"id":166534,"type":1001,"linkType":1002},[],{"data":178409,"content":178410,"nodeType":860},{},[178411],{"data":178412,"marks":178413,"value":176222,"nodeType":864},{},[],{"data":178415,"content":178416,"nodeType":941},{},[178417,178426],{"data":178418,"content":178419,"nodeType":945},{},[178420],{"data":178421,"content":178422,"nodeType":860},{},[178423],{"data":178424,"marks":178425,"value":176235,"nodeType":864},{},[],{"data":178427,"content":178428,"nodeType":945},{},[178429],{"data":178430,"content":178431,"nodeType":860},{},[178432],{"data":178433,"marks":178434,"value":176245,"nodeType":864},{},[],{"data":178436,"content":178437,"nodeType":860},{},[178438],{"data":178439,"marks":178440,"value":176252,"nodeType":864},{},[],{"data":178442,"content":178443,"nodeType":941},{},[178444,178453],{"data":178445,"content":178446,"nodeType":945},{},[178447],{"data":178448,"content":178449,"nodeType":860},{},[178450],{"data":178451,"marks":178452,"value":176265,"nodeType":864},{},[],{"data":178454,"content":178455,"nodeType":945},{},[178456],{"data":178457,"content":178458,"nodeType":860},{},[178459],{"data":178460,"marks":178461,"value":176275,"nodeType":864},{},[],{"data":178463,"content":178464,"nodeType":860},{},[178465],{"data":178466,"marks":178467,"value":176282,"nodeType":864},{},[],{"data":178469,"content":178470,"nodeType":860},{},[178471],{"data":178472,"marks":178473,"value":176289,"nodeType":864},{},[],{"data":178475,"content":178476,"nodeType":1312},{},[178477],{"data":178478,"marks":178479,"value":176296,"nodeType":864},{},[],{"data":178481,"content":178482,"nodeType":860},{},[178483],{"data":178484,"marks":178485,"value":176303,"nodeType":864},{},[],{"data":178487,"content":178488,"nodeType":860},{},[178489],{"data":178490,"marks":178491,"value":176310,"nodeType":864},{},[],{"data":178493,"content":178494,"nodeType":941},{},[178495,178514,178533,178552,178571],{"data":178496,"content":178497,"nodeType":945},{},[178498],{"data":178499,"content":178500,"nodeType":860},{},[178501,178504,178511],{"data":178502,"marks":178503,"value":176323,"nodeType":864},{},[],{"data":178505,"content":178506,"nodeType":883},{"uri":176326},[178507],{"data":178508,"marks":178509,"value":176332,"nodeType":864},{},[178510],{"type":1455},{"data":178512,"marks":178513,"value":21,"nodeType":864},{},[],{"data":178515,"content":178516,"nodeType":945},{},[178517],{"data":178518,"content":178519,"nodeType":860},{},[178520,178523,178530],{"data":178521,"marks":178522,"value":176323,"nodeType":864},{},[],{"data":178524,"content":178525,"nodeType":883},{"uri":176347},[178526],{"data":178527,"marks":178528,"value":176353,"nodeType":864},{},[178529],{"type":1455},{"data":178531,"marks":178532,"value":21,"nodeType":864},{},[],{"data":178534,"content":178535,"nodeType":945},{},[178536],{"data":178537,"content":178538,"nodeType":860},{},[178539,178542,178549],{"data":178540,"marks":178541,"value":176366,"nodeType":864},{},[],{"data":178543,"content":178544,"nodeType":883},{"uri":176369},[178545],{"data":178546,"marks":178547,"value":176375,"nodeType":864},{},[178548],{"type":1455},{"data":178550,"marks":178551,"value":21,"nodeType":864},{},[],{"data":178553,"content":178554,"nodeType":945},{},[178555],{"data":178556,"content":178557,"nodeType":860},{},[178558,178561,178568],{"data":178559,"marks":178560,"value":176323,"nodeType":864},{},[],{"data":178562,"content":178563,"nodeType":883},{"uri":176390},[178564],{"data":178565,"marks":178566,"value":176396,"nodeType":864},{},[178567],{"type":1455},{"data":178569,"marks":178570,"value":21,"nodeType":864},{},[],{"data":178572,"content":178573,"nodeType":945},{},[178574],{"data":178575,"content":178576,"nodeType":860},{},[178577,178580,178587],{"data":178578,"marks":178579,"value":176323,"nodeType":864},{},[],{"data":178581,"content":178582,"nodeType":883},{"uri":176411},[178583],{"data":178584,"marks":178585,"value":176417,"nodeType":864},{},[178586],{"type":1455},{"data":178588,"marks":178589,"value":21,"nodeType":864},{},[],{"data":178591,"content":178594,"nodeType":996},{"target":178592},{"sys":178593},{"id":153055,"type":1001,"linkType":1002},[],{"data":178596,"content":178597,"nodeType":860},{},[178598],{"data":178599,"marks":178600,"value":176432,"nodeType":864},{},[],{"data":178602,"content":178603,"nodeType":860},{},[178604],{"data":178605,"marks":178606,"value":176441,"nodeType":864},{},[178607,178608],{"type":899},{"type":2246},{"data":178610,"content":178611,"nodeType":1312},{},[178612],{"data":178613,"marks":178614,"value":176448,"nodeType":864},{},[],{"data":178616,"content":178617,"nodeType":860},{},[178618],{"data":178619,"marks":178620,"value":176455,"nodeType":864},{},[],{"data":178622,"content":178623,"nodeType":860},{},[178624],{"data":178625,"marks":178626,"value":176462,"nodeType":864},{},[],{"data":178628,"content":178629,"nodeType":860},{},[178630],{"data":178631,"marks":178632,"value":176469,"nodeType":864},{},[],{"data":178634,"content":178635,"nodeType":860},{},[178636],{"data":178637,"marks":178638,"value":176476,"nodeType":864},{},[],{"data":178640,"content":178641,"nodeType":1312},{},[178642],{"data":178643,"marks":178644,"value":176483,"nodeType":864},{},[],{"data":178646,"content":178649,"nodeType":996},{"target":178647},{"sys":178648},{"id":153391,"type":1001,"linkType":1002},[],{"data":178651,"content":178652,"nodeType":860},{},[178653],{"data":178654,"marks":178655,"value":176495,"nodeType":864},{},[],{"data":178657,"content":178658,"nodeType":860},{},[178659],{"data":178660,"marks":178661,"value":176502,"nodeType":864},{},[],{"data":178663,"content":178664,"nodeType":860},{},[178665,178668,178675],{"data":178666,"marks":178667,"value":176509,"nodeType":864},{},[],{"data":178669,"content":178670,"nodeType":883},{"uri":29107},[178671],{"data":178672,"marks":178673,"value":34583,"nodeType":864},{},[178674],{"type":1455},{"data":178676,"marks":178677,"value":176520,"nodeType":864},{},[],{"data":178679,"content":178680,"nodeType":1312},{},[178681],{"data":178682,"marks":178683,"value":176527,"nodeType":864},{},[],{"data":178685,"content":178686,"nodeType":860},{},[178687],{"data":178688,"marks":178689,"value":176534,"nodeType":864},{},[],{"data":178691,"content":178692,"nodeType":860},{},[178693],{"data":178694,"marks":178695,"value":176541,"nodeType":864},{},[],{"data":178697,"content":178700,"nodeType":996},{"target":178698},{"sys":178699},{"id":153453,"type":1001,"linkType":1002},[],{"data":178702,"content":178703,"nodeType":860},{},[178704],{"data":178705,"marks":178706,"value":176553,"nodeType":864},{},[],{"data":178708,"content":178709,"nodeType":860},{},[178710],{"data":178711,"marks":178712,"value":176560,"nodeType":864},{},[],{"data":178714,"content":178715,"nodeType":860},{},[178716],{"data":178717,"marks":178718,"value":153496,"nodeType":864},{},[],{"data":178720,"content":178721,"nodeType":941},{},[178722,178731,178740],{"data":178723,"content":178724,"nodeType":945},{},[178725],{"data":178726,"content":178727,"nodeType":860},{},[178728],{"data":178729,"marks":178730,"value":176579,"nodeType":864},{},[],{"data":178732,"content":178733,"nodeType":945},{},[178734],{"data":178735,"content":178736,"nodeType":860},{},[178737],{"data":178738,"marks":178739,"value":176589,"nodeType":864},{},[],{"data":178741,"content":178742,"nodeType":945},{},[178743],{"data":178744,"content":178745,"nodeType":860},{},[178746],{"data":178747,"marks":178748,"value":153539,"nodeType":864},{},[],{"data":178750,"content":178751,"nodeType":860},{},[178752],{"data":178753,"marks":178754,"value":176605,"nodeType":864},{},[],{"data":178756,"content":178757,"nodeType":1009},{},[178758],{"data":178759,"marks":178760,"value":176612,"nodeType":864},{},[],{"data":178762,"content":178763,"nodeType":860},{},[178764],{"data":178765,"marks":178766,"value":176619,"nodeType":864},{},[],{"data":178768,"content":178769,"nodeType":860},{},[178770],{"data":178771,"marks":178772,"value":176626,"nodeType":864},{},[],{"data":178774,"content":178775,"nodeType":860},{},[178776],{"data":178777,"marks":178778,"value":176633,"nodeType":864},{},[],{"data":178780,"content":178781,"nodeType":860},{},[178782],{"data":178783,"marks":178784,"value":176640,"nodeType":864},{},[],{"data":178786,"content":178787,"nodeType":1009},{},[178788],{"data":178789,"marks":178790,"value":176647,"nodeType":864},{},[],{"data":178792,"content":178793,"nodeType":860},{},[178794],{"data":178795,"marks":178796,"value":176654,"nodeType":864},{},[],{"data":178798,"content":178799,"nodeType":860},{},[178800],{"data":178801,"marks":178802,"value":176661,"nodeType":864},{},[],{"data":178804,"content":178805,"nodeType":860},{},[178806],{"data":178807,"marks":178808,"value":176668,"nodeType":864},{},[],{"data":178810,"content":178811,"nodeType":941},{},[178812,178821,178830,178839],{"data":178813,"content":178814,"nodeType":945},{},[178815],{"data":178816,"content":178817,"nodeType":860},{},[178818],{"data":178819,"marks":178820,"value":176681,"nodeType":864},{},[],{"data":178822,"content":178823,"nodeType":945},{},[178824],{"data":178825,"content":178826,"nodeType":860},{},[178827],{"data":178828,"marks":178829,"value":176691,"nodeType":864},{},[],{"data":178831,"content":178832,"nodeType":945},{},[178833],{"data":178834,"content":178835,"nodeType":860},{},[178836],{"data":178837,"marks":178838,"value":176701,"nodeType":864},{},[],{"data":178840,"content":178841,"nodeType":945},{},[178842],{"data":178843,"content":178844,"nodeType":860},{},[178845],{"data":178846,"marks":178847,"value":176711,"nodeType":864},{},[],{"data":178849,"content":178850,"nodeType":860},{},[178851],{"data":178852,"marks":178853,"value":176718,"nodeType":864},{},[],{"data":178855,"content":178858,"nodeType":996},{"target":178856},{"sys":178857},{"id":176723,"type":1001,"linkType":1002},[],{"data":178860,"content":178861,"nodeType":860},{},[178862,178865,178874],{"data":178863,"marks":178864,"value":176731,"nodeType":864},{},[],{"data":178866,"content":178869,"nodeType":27604},{"target":178867},{"sys":178868},{"id":149551,"type":1001,"linkType":1002},[178870],{"data":178871,"marks":178872,"value":176741,"nodeType":864},{},[178873],{"type":1455},{"data":178875,"marks":178876,"value":176745,"nodeType":864},{},[],{"data":178878,"content":178879,"nodeType":1312},{},[178880],{"data":178881,"marks":178882,"value":176752,"nodeType":864},{},[],{"data":178884,"content":178885,"nodeType":860},{},[178886],{"data":178887,"marks":178888,"value":176759,"nodeType":864},{},[],{"data":178890,"content":178891,"nodeType":860},{},[178892],{"data":178893,"marks":178894,"value":176766,"nodeType":864},{},[],{"data":178896,"content":178897,"nodeType":1312},{},[178898],{"data":178899,"marks":178900,"value":176773,"nodeType":864},{},[],{"data":178902,"content":178903,"nodeType":860},{},[178904],{"data":178905,"marks":178906,"value":176780,"nodeType":864},{},[],{"data":178908,"content":178909,"nodeType":860},{},[178910],{"data":178911,"marks":178912,"value":176787,"nodeType":864},{},[],{"data":178914,"content":178915,"nodeType":1312},{},[178916],{"data":178917,"marks":178918,"value":176794,"nodeType":864},{},[],{"data":178920,"content":178921,"nodeType":860},{},[178922],{"data":178923,"marks":178924,"value":176801,"nodeType":864},{},[],{"data":178926,"content":178927,"nodeType":860},{},[178928],{"data":178929,"marks":178930,"value":176808,"nodeType":864},{},[],{"data":178932,"content":178933,"nodeType":860},{},[178934],{"data":178935,"marks":178936,"value":176815,"nodeType":864},{},[],{"data":178938,"content":178939,"nodeType":1312},{},[178940],{"data":178941,"marks":178942,"value":176822,"nodeType":864},{},[],{"data":178944,"content":178945,"nodeType":860},{},[178946],{"data":178947,"marks":178948,"value":176829,"nodeType":864},{},[],{"data":178950,"content":178951,"nodeType":860},{},[178952],{"data":178953,"marks":178954,"value":176836,"nodeType":864},{},[],{"data":178956,"content":178957,"nodeType":118765},{},[178958,178974],{"data":178959,"content":178960,"nodeType":945},{},[178961],{"data":178962,"content":178963,"nodeType":860},{},[178964,178967,178971],{"data":178965,"marks":178966,"value":176849,"nodeType":864},{},[],{"data":178968,"marks":178969,"value":176854,"nodeType":864},{},[178970],{"type":899},{"data":178972,"marks":178973,"value":176858,"nodeType":864},{},[],{"data":178975,"content":178976,"nodeType":945},{},[178977],{"data":178978,"content":178979,"nodeType":860},{},[178980,178983,178987],{"data":178981,"marks":178982,"value":176868,"nodeType":864},{},[],{"data":178984,"marks":178985,"value":176873,"nodeType":864},{},[178986],{"type":899},{"data":178988,"marks":178989,"value":176877,"nodeType":864},{},[],{"data":178991,"content":178992,"nodeType":1312},{},[178993],{"data":178994,"marks":178995,"value":288,"nodeType":864},{},[],{"data":178997,"content":178998,"nodeType":860},{},[178999],{"data":179000,"marks":179001,"value":176890,"nodeType":864},{},[],{"data":179003,"content":179004,"nodeType":860},{},[179005,179008,179012],{"data":179006,"marks":179007,"value":176897,"nodeType":864},{},[],{"data":179009,"marks":179010,"value":176902,"nodeType":864},{},[179011],{"type":899},{"data":179013,"marks":179014,"value":176906,"nodeType":864},{},[],{"data":179016,"content":179017,"nodeType":860},{},[179018,179021,179025],{"data":179019,"marks":179020,"value":176913,"nodeType":864},{},[],{"data":179022,"marks":179023,"value":176918,"nodeType":864},{},[179024],{"type":899},{"data":179026,"marks":179027,"value":176922,"nodeType":864},{},[],{"data":179029,"content":179030,"nodeType":860},{},[179031],{"data":179032,"marks":179033,"value":176929,"nodeType":864},{},[],{"data":179035,"content":179036,"nodeType":860},{},[179037],{"data":179038,"marks":179039,"value":176936,"nodeType":864},{},[],{"data":179041,"content":179042,"nodeType":1312},{},[179043],{"data":179044,"marks":179045,"value":176943,"nodeType":864},{},[],{"data":179047,"content":179048,"nodeType":860},{},[179049],{"data":179050,"marks":179051,"value":176950,"nodeType":864},{},[],{"data":179053,"content":179054,"nodeType":1009},{},[179055],{"data":179056,"marks":179057,"value":176957,"nodeType":864},{},[],{"data":179059,"content":179060,"nodeType":860},{},[179061],{"data":179062,"marks":179063,"value":140845,"nodeType":864},{},[],{"data":179065,"content":179066,"nodeType":860},{},[179067],{"data":179068,"marks":179069,"value":176970,"nodeType":864},{},[],{"data":179071,"content":179072,"nodeType":1312},{},[179073],{"data":179074,"marks":179075,"value":176977,"nodeType":864},{},[],{"data":179077,"content":179078,"nodeType":860},{},[179079],{"data":179080,"marks":179081,"value":176984,"nodeType":864},{},[],{"data":179083,"content":179086,"nodeType":996},{"target":179084},{"sys":179085},{"id":176989,"type":1001,"linkType":1002},[],{"data":179088,"content":179089,"nodeType":1312},{},[179090],{"data":179091,"marks":179092,"value":176997,"nodeType":864},{},[],{"data":179094,"content":179095,"nodeType":860},{},[179096],{"data":179097,"marks":179098,"value":177004,"nodeType":864},{},[],{"data":179100,"content":179103,"nodeType":996},{"target":179101},{"sys":179102},{"id":140590,"type":1001,"linkType":1002},[],{"data":179105,"content":179106,"nodeType":1312},{},[179107],{"data":179108,"marks":179109,"value":177016,"nodeType":864},{},[],{"data":179111,"content":179112,"nodeType":860},{},[179113],{"data":179114,"marks":179115,"value":149852,"nodeType":864},{},[],{"data":179117,"content":179118,"nodeType":860},{},[179119],{"data":179120,"marks":179121,"value":177029,"nodeType":864},{},[],{"data":179123,"content":179124,"nodeType":860},{},[179125],{"data":179126,"marks":179127,"value":149896,"nodeType":864},{},[],{"data":179129,"content":179130,"nodeType":860},{},[179131],{"data":179132,"marks":179133,"value":177044,"nodeType":864},{},[179134,179135],{"type":899},{"type":2246},{"data":179137,"content":179138,"nodeType":1312},{},[179139],{"data":179140,"marks":179141,"value":140598,"nodeType":864},{},[],{"data":179143,"content":179144,"nodeType":860},{},[179145],{"data":179146,"marks":179147,"value":177057,"nodeType":864},{},[],{"data":179149,"content":179150,"nodeType":941},{},[179151,179160,179169,179178,179187,179196],{"data":179152,"content":179153,"nodeType":945},{},[179154],{"data":179155,"content":179156,"nodeType":860},{},[179157],{"data":179158,"marks":179159,"value":140618,"nodeType":864},{},[],{"data":179161,"content":179162,"nodeType":945},{},[179163],{"data":179164,"content":179165,"nodeType":860},{},[179166],{"data":179167,"marks":179168,"value":149961,"nodeType":864},{},[],{"data":179170,"content":179171,"nodeType":945},{},[179172],{"data":179173,"content":179174,"nodeType":860},{},[179175],{"data":179176,"marks":179177,"value":140638,"nodeType":864},{},[],{"data":179179,"content":179180,"nodeType":945},{},[179181],{"data":179182,"content":179183,"nodeType":860},{},[179184],{"data":179185,"marks":179186,"value":149980,"nodeType":864},{},[],{"data":179188,"content":179189,"nodeType":945},{},[179190],{"data":179191,"content":179192,"nodeType":860},{},[179193],{"data":179194,"marks":179195,"value":140658,"nodeType":864},{},[],{"data":179197,"content":179198,"nodeType":945},{},[179199],{"data":179200,"content":179201,"nodeType":860},{},[179202],{"data":179203,"marks":179204,"value":149999,"nodeType":864},{},[],{"data":179206,"content":179209,"nodeType":996},{"target":179207},{"sys":179208},{"id":150004,"type":1001,"linkType":1002},[],{"data":179211,"content":179212,"nodeType":860},{},[179213],{"data":179214,"marks":179215,"value":177126,"nodeType":864},{},[],{"data":179217,"content":179218,"nodeType":860},{},[179219],{"data":179220,"marks":179221,"value":177133,"nodeType":864},{},[],{"data":179223,"content":179226,"nodeType":996},{"target":179224},{"sys":179225},{"id":150031,"type":1001,"linkType":1002},[],{"data":179228,"content":179229,"nodeType":1312},{},[179230],{"data":179231,"marks":179232,"value":177145,"nodeType":864},{},[],{"data":179234,"content":179235,"nodeType":860},{},[179236],{"data":179237,"marks":179238,"value":177152,"nodeType":864},{},[],{"data":179240,"content":179241,"nodeType":860},{},[179242],{"data":179243,"marks":179244,"value":177159,"nodeType":864},{},[],{"data":179246,"content":179249,"nodeType":996},{"target":179247},{"sys":179248},{"id":177164,"type":1001,"linkType":1002},[],{"data":179251,"content":179252,"nodeType":1312},{},[179253,179256],{"data":179254,"marks":179255,"value":177172,"nodeType":864},{},[],{"data":179257,"marks":179258,"value":141125,"nodeType":864},{},[179259],{"type":2246},{"data":179261,"content":179262,"nodeType":860},{},[179263],{"data":179264,"marks":179265,"value":177183,"nodeType":864},{},[],{"entries":179267},{"inline":179268,"hyperlink":179269,"block":179274},[],[179270,179272],{"sys":179271,"__typename":2059,"title":149282,"slug":149285},{"id":147827},{"sys":179273,"__typename":2059,"title":164845,"slug":164846},{"id":149551},[179275,179278,179281,179288,179291,179298,179301,179304,179307,179310,179313,179321,179326,179329,179335,179341],{"sys":179276,"__typename":1724,"title":164872,"caption":164873,"layoutMode":140740,"file":179277},{"id":148506},{"url":164875,"width":164876,"height":162151},{"sys":179279,"__typename":1724,"title":166976,"caption":166976,"layoutMode":140740,"file":179280},{"id":148744},{"url":166978,"width":1736,"height":166979},{"sys":179282,"__typename":1724,"title":179283,"caption":179284,"layoutMode":140740,"file":179285},{"id":176048},"Focus on the new stuff PLG","By focusing on newly-tested/adopted apps, you have more sway with employees on their app choices.",{"url":179286,"width":162150,"height":179287},"https://images.ctfassets.net/y1cdw1ablpvd/3qFd7mDWRzdyySkgAOmr14/5d4fd61bb45b4ff8a8780a6ec543d493/image1.png",1100,{"sys":179289,"__typename":1724,"title":164894,"caption":164895,"layoutMode":140740,"file":179290},{"id":151954},{"url":164897,"width":164898,"height":164899},{"sys":179292,"__typename":1724,"title":179293,"caption":179294,"layoutMode":140740,"file":179295},{"id":176130},"False positives employee interaction","Interacting with employees about apps they're not even using burns goodwill and wastes everyones' time",{"url":179296,"width":1730,"height":179297},"https://images.ctfassets.net/y1cdw1ablpvd/5LRJyodNqCidY9UlUIY5Jw/ad795b2e44bff77f9d746e2ccb910f18/image2.png",884,{"sys":179299,"__typename":1724,"title":164879,"caption":59,"layoutMode":140740,"file":179300},{"id":151435},{"url":164881,"width":164882,"height":164883},{"sys":179302,"__typename":1724,"title":166982,"caption":166983,"layoutMode":140740,"file":179303},{"id":166534},{"url":166985,"width":166986,"height":166987},{"sys":179305,"__typename":1724,"title":153607,"caption":153608,"layoutMode":140740,"file":179306},{"id":153055},{"url":153610,"width":1736,"height":153611},{"sys":179308,"__typename":1724,"title":153621,"caption":153622,"layoutMode":140740,"file":179309},{"id":153391},{"url":153624,"width":153625,"height":153626},{"sys":179311,"__typename":1724,"title":153629,"caption":153630,"layoutMode":140740,"file":179312},{"id":153453},{"url":153632,"width":1736,"height":100286},{"sys":179314,"__typename":1724,"title":179315,"caption":179316,"layoutMode":140740,"file":179317},{"id":176723},"SaaS discovery data source comparison","Strengths and weaknesses for finding employee SaaS use via commonly-used discovery data sources ",{"url":179318,"width":179319,"height":179320},"https://images.ctfassets.net/y1cdw1ablpvd/7FRyXaw4o4baUqG1cta41n/57a9476e83daf0386600c5bb8d4e827b/Screenshot_2023-04-24_at_9.09.16_AM.png",1796,1010,{"sys":179322,"__typename":1724,"title":179323,"caption":179323,"layoutMode":140740,"file":179324},{"id":176989},"Push SaaS dashboard",{"url":179325,"width":1736,"height":140735},"https://images.ctfassets.net/y1cdw1ablpvd/OsnXflsAKGaZU9Dl4lUTA/a49ef3631a4c35d259950dd395abc662/image9.png",{"sys":179327,"__typename":1724,"title":140738,"caption":140739,"layoutMode":140740,"file":179328},{"id":140590},{"url":140742,"width":1736,"height":140735},{"sys":179330,"__typename":1724,"title":179331,"caption":179332,"layoutMode":140740,"file":179333},{"id":150004},"Push's account security dashboard","Push's account security dashboard shows you which accounts need attention",{"url":179334,"width":140749,"height":140750},"https://images.ctfassets.net/y1cdw1ablpvd/2LmWdqq57ZdIXHUSublBLK/eed71e0fa5c3039ae06f780c64057651/image4.png",{"sys":179336,"__typename":1724,"title":179337,"caption":179338,"layoutMode":140740,"file":179339},{"id":150031},"Slack message to employee about MFA","Slack message to employee about enabling MFA for their SaaS account",{"url":179340,"width":1736,"height":140735},"https://images.ctfassets.net/y1cdw1ablpvd/1vWInHTSFEwt2kTXj0SK1I/5312ff9147b78837a71e367c9a59492f/image11.png",{"sys":179342,"__typename":1724,"title":179343,"caption":179344,"layoutMode":140740,"file":179345},{"id":177164},"Dropbox signin guidance","Push browser extension helping an employee securely sign up for Dropbox",{"url":179346,"width":1736,"height":140735},"https://images.ctfassets.net/y1cdw1ablpvd/7aqfsVnZS2LP1ur6SUdc4h/fc4cfddfa625af478238bc9303c34cf1/image8.png",{"items":179348},[],{},"How to find and secure shadow SaaS",{"url":179352},"https://images.ctfassets.net/y1cdw1ablpvd/2G9eUljiJXW11zOTpqRSUk/0e41dc83190b8be5d6ea8ec58d83da90/blog_image.png",{"items":179354},[179355],{"__typename":2059,"sys":179356,"content":179357,"title":149282,"synopsis":149283,"hashTags":59,"publishedDate":149284,"slug":149285,"tagsCollection":180613,"authorsCollection":180619},{"id":147827},{"json":179358},{"data":179359,"content":179360,"nodeType":856},{},[179361,179367,179373,179379,179385,179391,179397,179403,179409,179448,179454,179460,179466,179472,179478,179483,179489,179495,179501,179508,179514,179520,179526,179532,179538,179544,179550,179566,179571,179577,179583,179593,179600,179606,179611,179617,179623,179628,179634,179642,179655,179676,179682,179688,179694,179700,179705,179711,179717,179723,179729,179735,179741,179757,179763,179769,179775,179781,179794,179824,179832,179838,179844,179850,179856,179862,179868,179874,179879,179885,179891,179897,179903,179909,179915,179931,179937,179942,179948,179969,179975,179981,180011,180017,180023,180029,180035,180047,180053,180113,180119,180125,180146,180151,180157,180163,180169,180199,180205,180546,180552,180568,180574,180582,180595,180601,180607],{"data":179362,"content":179363,"nodeType":1009},{},[179364],{"data":179365,"marks":179366,"value":126377,"nodeType":864},{},[],{"data":179368,"content":179369,"nodeType":860},{},[179370],{"data":179371,"marks":179372,"value":147844,"nodeType":864},{},[],{"data":179374,"content":179375,"nodeType":860},{},[179376],{"data":179377,"marks":179378,"value":147851,"nodeType":864},{},[],{"data":179380,"content":179381,"nodeType":860},{},[179382],{"data":179383,"marks":179384,"value":147858,"nodeType":864},{},[],{"data":179386,"content":179387,"nodeType":860},{},[179388],{"data":179389,"marks":179390,"value":147865,"nodeType":864},{},[],{"data":179392,"content":179393,"nodeType":860},{},[179394],{"data":179395,"marks":179396,"value":147872,"nodeType":864},{},[],{"data":179398,"content":179399,"nodeType":860},{},[179400],{"data":179401,"marks":179402,"value":147879,"nodeType":864},{},[],{"data":179404,"content":179405,"nodeType":860},{},[179406],{"data":179407,"marks":179408,"value":147886,"nodeType":864},{},[],{"data":179410,"content":179411,"nodeType":941},{},[179412,179421,179430,179439],{"data":179413,"content":179414,"nodeType":945},{},[179415],{"data":179416,"content":179417,"nodeType":860},{},[179418],{"data":179419,"marks":179420,"value":147899,"nodeType":864},{},[],{"data":179422,"content":179423,"nodeType":945},{},[179424],{"data":179425,"content":179426,"nodeType":860},{},[179427],{"data":179428,"marks":179429,"value":147909,"nodeType":864},{},[],{"data":179431,"content":179432,"nodeType":945},{},[179433],{"data":179434,"content":179435,"nodeType":860},{},[179436],{"data":179437,"marks":179438,"value":147919,"nodeType":864},{},[],{"data":179440,"content":179441,"nodeType":945},{},[179442],{"data":179443,"content":179444,"nodeType":860},{},[179445],{"data":179446,"marks":179447,"value":147929,"nodeType":864},{},[],{"data":179449,"content":179450,"nodeType":860},{},[179451],{"data":179452,"marks":179453,"value":147936,"nodeType":864},{},[],{"data":179455,"content":179456,"nodeType":860},{},[179457],{"data":179458,"marks":179459,"value":147943,"nodeType":864},{},[],{"data":179461,"content":179462,"nodeType":1009},{},[179463],{"data":179464,"marks":179465,"value":147950,"nodeType":864},{},[],{"data":179467,"content":179468,"nodeType":1312},{},[179469],{"data":179470,"marks":179471,"value":147957,"nodeType":864},{},[],{"data":179473,"content":179474,"nodeType":860},{},[179475],{"data":179476,"marks":179477,"value":147964,"nodeType":864},{},[],{"data":179479,"content":179482,"nodeType":996},{"target":179480},{"sys":179481},{"id":147969,"type":1001,"linkType":1002},[],{"data":179484,"content":179485,"nodeType":860},{},[179486],{"data":179487,"marks":179488,"value":147977,"nodeType":864},{},[],{"data":179490,"content":179491,"nodeType":860},{},[179492],{"data":179493,"marks":179494,"value":147984,"nodeType":864},{},[],{"data":179496,"content":179497,"nodeType":860},{},[179498],{"data":179499,"marks":179500,"value":147991,"nodeType":864},{},[],{"data":179502,"content":179503,"nodeType":860},{},[179504],{"data":179505,"marks":179506,"value":147999,"nodeType":864},{},[179507],{"type":2246},{"data":179509,"content":179510,"nodeType":1312},{},[179511],{"data":179512,"marks":179513,"value":148006,"nodeType":864},{},[],{"data":179515,"content":179516,"nodeType":860},{},[179517],{"data":179518,"marks":179519,"value":148013,"nodeType":864},{},[],{"data":179521,"content":179522,"nodeType":860},{},[179523],{"data":179524,"marks":179525,"value":148020,"nodeType":864},{},[],{"data":179527,"content":179528,"nodeType":860},{},[179529],{"data":179530,"marks":179531,"value":148027,"nodeType":864},{},[],{"data":179533,"content":179534,"nodeType":860},{},[179535],{"data":179536,"marks":179537,"value":148034,"nodeType":864},{},[],{"data":179539,"content":179540,"nodeType":1312},{},[179541],{"data":179542,"marks":179543,"value":148041,"nodeType":864},{},[],{"data":179545,"content":179546,"nodeType":860},{},[179547],{"data":179548,"marks":179549,"value":148048,"nodeType":864},{},[],{"data":179551,"content":179552,"nodeType":860},{},[179553,179556,179563],{"data":179554,"marks":179555,"value":148055,"nodeType":864},{},[],{"data":179557,"content":179558,"nodeType":883},{"uri":148058},[179559],{"data":179560,"marks":179561,"value":148064,"nodeType":864},{},[179562],{"type":1455},{"data":179564,"marks":179565,"value":148068,"nodeType":864},{},[],{"data":179567,"content":179570,"nodeType":996},{"target":179568},{"sys":179569},{"id":148073,"type":1001,"linkType":1002},[],{"data":179572,"content":179573,"nodeType":860},{},[179574],{"data":179575,"marks":179576,"value":148081,"nodeType":864},{},[],{"data":179578,"content":179579,"nodeType":860},{},[179580],{"data":179581,"marks":179582,"value":148088,"nodeType":864},{},[],{"data":179584,"content":179585,"nodeType":860},{},[179586,179589],{"data":179587,"marks":179588,"value":148095,"nodeType":864},{},[],{"data":179590,"marks":179591,"value":1171,"nodeType":864},{},[179592],{"type":899},{"data":179594,"content":179595,"nodeType":860},{},[179596],{"data":179597,"marks":179598,"value":148107,"nodeType":864},{},[179599],{"type":899},{"data":179601,"content":179602,"nodeType":860},{},[179603],{"data":179604,"marks":179605,"value":148114,"nodeType":864},{},[],{"data":179607,"content":179610,"nodeType":996},{"target":179608},{"sys":179609},{"id":148119,"type":1001,"linkType":1002},[],{"data":179612,"content":179613,"nodeType":1312},{},[179614],{"data":179615,"marks":179616,"value":148127,"nodeType":864},{},[],{"data":179618,"content":179619,"nodeType":860},{},[179620],{"data":179621,"marks":179622,"value":148134,"nodeType":864},{},[],{"data":179624,"content":179627,"nodeType":996},{"target":179625},{"sys":179626},{"id":148139,"type":1001,"linkType":1002},[],{"data":179629,"content":179630,"nodeType":860},{},[179631],{"data":179632,"marks":179633,"value":148147,"nodeType":864},{},[],{"data":179635,"content":179636,"nodeType":860},{},[179637],{"data":179638,"marks":179639,"value":148156,"nodeType":864},{},[179640,179641],{"type":2246},{"type":899},{"data":179643,"content":179644,"nodeType":860},{},[179645,179648,179652],{"data":179646,"marks":179647,"value":148163,"nodeType":864},{},[],{"data":179649,"marks":179650,"value":148168,"nodeType":864},{},[179651],{"type":899},{"data":179653,"marks":179654,"value":148172,"nodeType":864},{},[],{"data":179656,"content":179657,"nodeType":118765},{},[179658,179667],{"data":179659,"content":179660,"nodeType":945},{},[179661],{"data":179662,"content":179663,"nodeType":860},{},[179664],{"data":179665,"marks":179666,"value":148185,"nodeType":864},{},[],{"data":179668,"content":179669,"nodeType":945},{},[179670],{"data":179671,"content":179672,"nodeType":860},{},[179673],{"data":179674,"marks":179675,"value":148195,"nodeType":864},{},[],{"data":179677,"content":179678,"nodeType":1009},{},[179679],{"data":179680,"marks":179681,"value":148202,"nodeType":864},{},[],{"data":179683,"content":179684,"nodeType":1312},{},[179685],{"data":179686,"marks":179687,"value":148209,"nodeType":864},{},[],{"data":179689,"content":179690,"nodeType":860},{},[179691],{"data":179692,"marks":179693,"value":148216,"nodeType":864},{},[],{"data":179695,"content":179696,"nodeType":860},{},[179697],{"data":179698,"marks":179699,"value":148223,"nodeType":864},{},[],{"data":179701,"content":179704,"nodeType":996},{"target":179702},{"sys":179703},{"id":148228,"type":1001,"linkType":1002},[],{"data":179706,"content":179707,"nodeType":1312},{},[179708],{"data":179709,"marks":179710,"value":148236,"nodeType":864},{},[],{"data":179712,"content":179713,"nodeType":860},{},[179714],{"data":179715,"marks":179716,"value":148243,"nodeType":864},{},[],{"data":179718,"content":179719,"nodeType":860},{},[179720],{"data":179721,"marks":179722,"value":148250,"nodeType":864},{},[],{"data":179724,"content":179725,"nodeType":860},{},[179726],{"data":179727,"marks":179728,"value":148257,"nodeType":864},{},[],{"data":179730,"content":179731,"nodeType":860},{},[179732],{"data":179733,"marks":179734,"value":148264,"nodeType":864},{},[],{"data":179736,"content":179737,"nodeType":1312},{},[179738],{"data":179739,"marks":179740,"value":148271,"nodeType":864},{},[],{"data":179742,"content":179743,"nodeType":860},{},[179744,179747,179754],{"data":179745,"marks":179746,"value":148278,"nodeType":864},{},[],{"data":179748,"content":179749,"nodeType":883},{"uri":148281},[179750],{"data":179751,"marks":179752,"value":148287,"nodeType":864},{},[179753],{"type":1455},{"data":179755,"marks":179756,"value":148291,"nodeType":864},{},[],{"data":179758,"content":179759,"nodeType":860},{},[179760],{"data":179761,"marks":179762,"value":148298,"nodeType":864},{},[],{"data":179764,"content":179765,"nodeType":1312},{},[179766],{"data":179767,"marks":179768,"value":148305,"nodeType":864},{},[],{"data":179770,"content":179771,"nodeType":860},{},[179772],{"data":179773,"marks":179774,"value":148312,"nodeType":864},{},[],{"data":179776,"content":179777,"nodeType":860},{},[179778],{"data":179779,"marks":179780,"value":148319,"nodeType":864},{},[],{"data":179782,"content":179783,"nodeType":860},{},[179784,179787,179791],{"data":179785,"marks":179786,"value":148326,"nodeType":864},{},[],{"data":179788,"marks":179789,"value":148331,"nodeType":864},{},[179790],{"type":2246},{"data":179792,"marks":179793,"value":148335,"nodeType":864},{},[],{"data":179795,"content":179796,"nodeType":941},{},[179797,179806,179815],{"data":179798,"content":179799,"nodeType":945},{},[179800],{"data":179801,"content":179802,"nodeType":860},{},[179803],{"data":179804,"marks":179805,"value":148348,"nodeType":864},{},[],{"data":179807,"content":179808,"nodeType":945},{},[179809],{"data":179810,"content":179811,"nodeType":860},{},[179812],{"data":179813,"marks":179814,"value":148358,"nodeType":864},{},[],{"data":179816,"content":179817,"nodeType":945},{},[179818],{"data":179819,"content":179820,"nodeType":860},{},[179821],{"data":179822,"marks":179823,"value":148368,"nodeType":864},{},[],{"data":179825,"content":179826,"nodeType":860},{},[179827],{"data":179828,"marks":179829,"value":148377,"nodeType":864},{},[179830,179831],{"type":2246},{"type":899},{"data":179833,"content":179834,"nodeType":860},{},[179835],{"data":179836,"marks":179837,"value":148384,"nodeType":864},{},[],{"data":179839,"content":179840,"nodeType":1312},{},[179841],{"data":179842,"marks":179843,"value":148391,"nodeType":864},{},[],{"data":179845,"content":179846,"nodeType":860},{},[179847],{"data":179848,"marks":179849,"value":148398,"nodeType":864},{},[],{"data":179851,"content":179852,"nodeType":860},{},[179853],{"data":179854,"marks":179855,"value":148405,"nodeType":864},{},[],{"data":179857,"content":179858,"nodeType":1312},{},[179859],{"data":179860,"marks":179861,"value":148412,"nodeType":864},{},[],{"data":179863,"content":179864,"nodeType":860},{},[179865],{"data":179866,"marks":179867,"value":148419,"nodeType":864},{},[],{"data":179869,"content":179870,"nodeType":860},{},[179871],{"data":179872,"marks":179873,"value":148426,"nodeType":864},{},[],{"data":179875,"content":179878,"nodeType":996},{"target":179876},{"sys":179877},{"id":148431,"type":1001,"linkType":1002},[],{"data":179880,"content":179881,"nodeType":860},{},[179882],{"data":179883,"marks":179884,"value":148439,"nodeType":864},{},[],{"data":179886,"content":179887,"nodeType":860},{},[179888],{"data":179889,"marks":179890,"value":148446,"nodeType":864},{},[],{"data":179892,"content":179893,"nodeType":860},{},[179894],{"data":179895,"marks":179896,"value":148453,"nodeType":864},{},[],{"data":179898,"content":179899,"nodeType":1009},{},[179900],{"data":179901,"marks":179902,"value":148460,"nodeType":864},{},[],{"data":179904,"content":179905,"nodeType":860},{},[179906],{"data":179907,"marks":179908,"value":148467,"nodeType":864},{},[],{"data":179910,"content":179911,"nodeType":1312},{},[179912],{"data":179913,"marks":179914,"value":148474,"nodeType":864},{},[],{"data":179916,"content":179917,"nodeType":860},{},[179918,179921,179928],{"data":179919,"marks":179920,"value":148481,"nodeType":864},{},[],{"data":179922,"content":179923,"nodeType":883},{"uri":148484},[179924],{"data":179925,"marks":179926,"value":148490,"nodeType":864},{},[179927],{"type":1455},{"data":179929,"marks":179930,"value":148494,"nodeType":864},{},[],{"data":179932,"content":179933,"nodeType":860},{},[179934],{"data":179935,"marks":179936,"value":148501,"nodeType":864},{},[],{"data":179938,"content":179941,"nodeType":996},{"target":179939},{"sys":179940},{"id":148506,"type":1001,"linkType":1002},[],{"data":179943,"content":179944,"nodeType":860},{},[179945],{"data":179946,"marks":179947,"value":148514,"nodeType":864},{},[],{"data":179949,"content":179950,"nodeType":118765},{},[179951,179960],{"data":179952,"content":179953,"nodeType":945},{},[179954],{"data":179955,"content":179956,"nodeType":860},{},[179957],{"data":179958,"marks":179959,"value":148527,"nodeType":864},{},[],{"data":179961,"content":179962,"nodeType":945},{},[179963],{"data":179964,"content":179965,"nodeType":860},{},[179966],{"data":179967,"marks":179968,"value":148537,"nodeType":864},{},[],{"data":179970,"content":179971,"nodeType":860},{},[179972],{"data":179973,"marks":179974,"value":148544,"nodeType":864},{},[],{"data":179976,"content":179977,"nodeType":860},{},[179978],{"data":179979,"marks":179980,"value":148551,"nodeType":864},{},[],{"data":179982,"content":179983,"nodeType":941},{},[179984,179993,180002],{"data":179985,"content":179986,"nodeType":945},{},[179987],{"data":179988,"content":179989,"nodeType":860},{},[179990],{"data":179991,"marks":179992,"value":148564,"nodeType":864},{},[],{"data":179994,"content":179995,"nodeType":945},{},[179996],{"data":179997,"content":179998,"nodeType":860},{},[179999],{"data":180000,"marks":180001,"value":148574,"nodeType":864},{},[],{"data":180003,"content":180004,"nodeType":945},{},[180005],{"data":180006,"content":180007,"nodeType":860},{},[180008],{"data":180009,"marks":180010,"value":148584,"nodeType":864},{},[],{"data":180012,"content":180013,"nodeType":860},{},[180014],{"data":180015,"marks":180016,"value":148591,"nodeType":864},{},[],{"data":180018,"content":180019,"nodeType":860},{},[180020],{"data":180021,"marks":180022,"value":148598,"nodeType":864},{},[],{"data":180024,"content":180025,"nodeType":860},{},[180026],{"data":180027,"marks":180028,"value":148605,"nodeType":864},{},[],{"data":180030,"content":180031,"nodeType":860},{},[180032],{"data":180033,"marks":180034,"value":148612,"nodeType":864},{},[],{"data":180036,"content":180037,"nodeType":941},{},[180038],{"data":180039,"content":180040,"nodeType":945},{},[180041],{"data":180042,"content":180043,"nodeType":860},{},[180044],{"data":180045,"marks":180046,"value":148625,"nodeType":864},{},[],{"data":180048,"content":180049,"nodeType":860},{},[180050],{"data":180051,"marks":180052,"value":148632,"nodeType":864},{},[],{"data":180054,"content":180055,"nodeType":941},{},[180056,180095,180104],{"data":180057,"content":180058,"nodeType":945},{},[180059],{"data":180060,"content":180061,"nodeType":860},{},[180062,180065,180072,180075,180082,180085,180092],{"data":180063,"marks":180064,"value":148645,"nodeType":864},{},[],{"data":180066,"content":180067,"nodeType":883},{"uri":148648},[180068],{"data":180069,"marks":180070,"value":148654,"nodeType":864},{},[180071],{"type":1455},{"data":180073,"marks":180074,"value":3731,"nodeType":864},{},[],{"data":180076,"content":180077,"nodeType":883},{"uri":148660},[180078],{"data":180079,"marks":180080,"value":148666,"nodeType":864},{},[180081],{"type":1455},{"data":180083,"marks":180084,"value":3731,"nodeType":864},{},[],{"data":180086,"content":180087,"nodeType":883},{"uri":148672},[180088],{"data":180089,"marks":180090,"value":148678,"nodeType":864},{},[180091],{"type":1455},{"data":180093,"marks":180094,"value":148682,"nodeType":864},{},[],{"data":180096,"content":180097,"nodeType":945},{},[180098],{"data":180099,"content":180100,"nodeType":860},{},[180101],{"data":180102,"marks":180103,"value":148692,"nodeType":864},{},[],{"data":180105,"content":180106,"nodeType":945},{},[180107],{"data":180108,"content":180109,"nodeType":860},{},[180110],{"data":180111,"marks":180112,"value":148702,"nodeType":864},{},[],{"data":180114,"content":180115,"nodeType":1312},{},[180116],{"data":180117,"marks":180118,"value":148709,"nodeType":864},{},[],{"data":180120,"content":180121,"nodeType":860},{},[180122],{"data":180123,"marks":180124,"value":148716,"nodeType":864},{},[],{"data":180126,"content":180127,"nodeType":118765},{},[180128,180137],{"data":180129,"content":180130,"nodeType":945},{},[180131],{"data":180132,"content":180133,"nodeType":860},{},[180134],{"data":180135,"marks":180136,"value":148729,"nodeType":864},{},[],{"data":180138,"content":180139,"nodeType":945},{},[180140],{"data":180141,"content":180142,"nodeType":860},{},[180143],{"data":180144,"marks":180145,"value":148739,"nodeType":864},{},[],{"data":180147,"content":180150,"nodeType":996},{"target":180148},{"sys":180149},{"id":148744,"type":1001,"linkType":1002},[],{"data":180152,"content":180153,"nodeType":860},{},[180154],{"data":180155,"marks":180156,"value":148752,"nodeType":864},{},[],{"data":180158,"content":180159,"nodeType":1009},{},[180160],{"data":180161,"marks":180162,"value":148759,"nodeType":864},{},[],{"data":180164,"content":180165,"nodeType":860},{},[180166],{"data":180167,"marks":180168,"value":148766,"nodeType":864},{},[],{"data":180170,"content":180171,"nodeType":941},{},[180172,180181,180190],{"data":180173,"content":180174,"nodeType":945},{},[180175],{"data":180176,"content":180177,"nodeType":860},{},[180178],{"data":180179,"marks":180180,"value":148779,"nodeType":864},{},[],{"data":180182,"content":180183,"nodeType":945},{},[180184],{"data":180185,"content":180186,"nodeType":860},{},[180187],{"data":180188,"marks":180189,"value":148789,"nodeType":864},{},[],{"data":180191,"content":180192,"nodeType":945},{},[180193],{"data":180194,"content":180195,"nodeType":860},{},[180196],{"data":180197,"marks":180198,"value":148799,"nodeType":864},{},[],{"data":180200,"content":180201,"nodeType":860},{},[180202],{"data":180203,"marks":180204,"value":148806,"nodeType":864},{},[],{"data":180206,"content":180207,"nodeType":4845},{},[180208,180231,180299,180348,180386,180493],{"data":180209,"content":180210,"nodeType":4581},{},[180211,180221],{"data":180212,"content":180213,"nodeType":4569},{},[180214],{"data":180215,"content":180216,"nodeType":860},{},[180217],{"data":180218,"marks":180219,"value":148823,"nodeType":864},{},[180220],{"type":899},{"data":180222,"content":180223,"nodeType":4569},{},[180224],{"data":180225,"content":180226,"nodeType":860},{},[180227],{"data":180228,"marks":180229,"value":148834,"nodeType":864},{},[180230],{"type":899},{"data":180232,"content":180233,"nodeType":4581},{},[180234,180243],{"data":180235,"content":180236,"nodeType":4569},{},[180237],{"data":180238,"content":180239,"nodeType":860},{},[180240],{"data":180241,"marks":180242,"value":148847,"nodeType":864},{},[],{"data":180244,"content":180245,"nodeType":4569},{},[180246,180269],{"data":180247,"content":180248,"nodeType":860},{},[180249,180252,180259,180262,180266],{"data":180250,"marks":180251,"value":21,"nodeType":864},{},[],{"data":180253,"content":180254,"nodeType":883},{"uri":148859},[180255],{"data":180256,"marks":180257,"value":148865,"nodeType":864},{},[180258],{"type":1455},{"data":180260,"marks":180261,"value":148869,"nodeType":864},{},[],{"data":180263,"marks":180264,"value":148874,"nodeType":864},{},[180265],{"type":899},{"data":180267,"marks":180268,"value":148878,"nodeType":864},{},[],{"data":180270,"content":180271,"nodeType":860},{},[180272,180275,180282,180285,180289,180292,180296],{"data":180273,"marks":180274,"value":148885,"nodeType":864},{},[],{"data":180276,"content":180277,"nodeType":883},{"uri":148888},[180278],{"data":180279,"marks":180280,"value":148894,"nodeType":864},{},[180281],{"type":1455},{"data":180283,"marks":180284,"value":148898,"nodeType":864},{},[],{"data":180286,"marks":180287,"value":148903,"nodeType":864},{},[180288],{"type":899},{"data":180290,"marks":180291,"value":148907,"nodeType":864},{},[],{"data":180293,"marks":180294,"value":148678,"nodeType":864},{},[180295],{"type":899},{"data":180297,"marks":180298,"value":148915,"nodeType":864},{},[],{"data":180300,"content":180301,"nodeType":4581},{},[180302,180311],{"data":180303,"content":180304,"nodeType":4569},{},[180305],{"data":180306,"content":180307,"nodeType":860},{},[180308],{"data":180309,"marks":180310,"value":148928,"nodeType":864},{},[],{"data":180312,"content":180313,"nodeType":4569},{},[180314],{"data":180315,"content":180316,"nodeType":860},{},[180317,180321,180324,180331,180334,180338,180341,180345],{"data":180318,"marks":180319,"value":148666,"nodeType":864},{},[180320],{"type":899},{"data":180322,"marks":180323,"value":148942,"nodeType":864},{},[],{"data":180325,"content":180326,"nodeType":883},{"uri":148945},[180327],{"data":180328,"marks":180329,"value":148951,"nodeType":864},{},[180330],{"type":1455},{"data":180332,"marks":180333,"value":148955,"nodeType":864},{},[],{"data":180335,"marks":180336,"value":148960,"nodeType":864},{},[180337],{"type":899},{"data":180339,"marks":180340,"value":148964,"nodeType":864},{},[],{"data":180342,"marks":180343,"value":148903,"nodeType":864},{},[180344],{"type":899},{"data":180346,"marks":180347,"value":148972,"nodeType":864},{},[],{"data":180349,"content":180350,"nodeType":4581},{},[180351,180360],{"data":180352,"content":180353,"nodeType":4569},{},[180354],{"data":180355,"content":180356,"nodeType":860},{},[180357],{"data":180358,"marks":180359,"value":148985,"nodeType":864},{},[],{"data":180361,"content":180362,"nodeType":4569},{},[180363],{"data":180364,"content":180365,"nodeType":860},{},[180366,180369,180373,180376,180383],{"data":180367,"marks":180368,"value":148995,"nodeType":864},{},[],{"data":180370,"marks":180371,"value":148666,"nodeType":864},{},[180372],{"type":899},{"data":180374,"marks":180375,"value":149003,"nodeType":864},{},[],{"data":180377,"content":180378,"nodeType":883},{"uri":149006},[180379],{"data":180380,"marks":180381,"value":149012,"nodeType":864},{},[180382],{"type":1455},{"data":180384,"marks":180385,"value":21,"nodeType":864},{},[],{"data":180387,"content":180388,"nodeType":4581},{},[180389,180398],{"data":180390,"content":180391,"nodeType":4569},{},[180392],{"data":180393,"content":180394,"nodeType":860},{},[180395],{"data":180396,"marks":180397,"value":149028,"nodeType":864},{},[],{"data":180399,"content":180400,"nodeType":4569},{},[180401,180435,180458,180471,180487],{"data":180402,"content":180403,"nodeType":860},{},[180404,180408,180411,180415,180418,180425,180428,180432],{"data":180405,"marks":180406,"value":148678,"nodeType":864},{},[180407],{"type":899},{"data":180409,"marks":180410,"value":149042,"nodeType":864},{},[],{"data":180412,"marks":180413,"value":148666,"nodeType":864},{},[180414],{"type":899},{"data":180416,"marks":180417,"value":149050,"nodeType":864},{},[],{"data":180419,"content":180420,"nodeType":883},{"uri":149053},[180421],{"data":180422,"marks":180423,"value":149059,"nodeType":864},{},[180424],{"type":1455},{"data":180426,"marks":180427,"value":149063,"nodeType":864},{},[],{"data":180429,"marks":180430,"value":149068,"nodeType":864},{},[180431],{"type":899},{"data":180433,"marks":180434,"value":149072,"nodeType":864},{},[],{"data":180436,"content":180437,"nodeType":860},{},[180438,180441,180445,180448,180455],{"data":180439,"marks":180440,"value":149079,"nodeType":864},{},[],{"data":180442,"marks":180443,"value":148678,"nodeType":864},{},[180444],{"type":899},{"data":180446,"marks":180447,"value":1171,"nodeType":864},{},[],{"data":180449,"content":180450,"nodeType":883},{"uri":149089},[180451],{"data":180452,"marks":180453,"value":149095,"nodeType":864},{},[180454],{"type":1455},{"data":180456,"marks":180457,"value":149099,"nodeType":864},{},[],{"data":180459,"content":180460,"nodeType":860},{},[180461,180464,180468],{"data":180462,"marks":180463,"value":149106,"nodeType":864},{},[],{"data":180465,"marks":180466,"value":1171,"nodeType":864},{},[180467],{"type":899},{"data":180469,"marks":180470,"value":149114,"nodeType":864},{},[],{"data":180472,"content":180473,"nodeType":860},{},[180474,180477,180484],{"data":180475,"marks":180476,"value":149121,"nodeType":864},{},[],{"data":180478,"content":180479,"nodeType":883},{"uri":149124},[180480],{"data":180481,"marks":180482,"value":149130,"nodeType":864},{},[180483],{"type":1455},{"data":180485,"marks":180486,"value":12252,"nodeType":864},{},[],{"data":180488,"content":180489,"nodeType":860},{},[180490],{"data":180491,"marks":180492,"value":149140,"nodeType":864},{},[],{"data":180494,"content":180495,"nodeType":4581},{},[180496,180505],{"data":180497,"content":180498,"nodeType":4569},{},[180499],{"data":180500,"content":180501,"nodeType":860},{},[180502],{"data":180503,"marks":180504,"value":149153,"nodeType":864},{},[],{"data":180506,"content":180507,"nodeType":4569},{},[180508],{"data":180509,"content":180510,"nodeType":860},{},[180511,180514,180521,180524,180528,180531,180543],{"data":180512,"marks":180513,"value":149163,"nodeType":864},{},[],{"data":180515,"content":180516,"nodeType":883},{"uri":149166},[180517],{"data":180518,"marks":180519,"value":149172,"nodeType":864},{},[180520],{"type":1455},{"data":180522,"marks":180523,"value":149176,"nodeType":864},{},[],{"data":180525,"marks":180526,"value":148666,"nodeType":864},{},[180527],{"type":899},{"data":180529,"marks":180530,"value":902,"nodeType":864},{},[],{"data":180532,"content":180533,"nodeType":883},{"uri":149186},[180534,180539],{"data":180535,"marks":180536,"value":149193,"nodeType":864},{},[180537,180538],{"type":1455},{"type":899},{"data":180540,"marks":180541,"value":149198,"nodeType":864},{},[180542],{"type":1455},{"data":180544,"marks":180545,"value":149202,"nodeType":864},{},[],{"data":180547,"content":180548,"nodeType":860},{},[180549],{"data":180550,"marks":180551,"value":149209,"nodeType":864},{},[],{"data":180553,"content":180554,"nodeType":860},{},[180555,180558,180565],{"data":180556,"marks":180557,"value":149216,"nodeType":864},{},[],{"data":180559,"content":180560,"nodeType":883},{"uri":149219},[180561],{"data":180562,"marks":180563,"value":148654,"nodeType":864},{},[180564],{"type":1455},{"data":180566,"marks":180567,"value":149228,"nodeType":864},{},[],{"data":180569,"content":180570,"nodeType":860},{},[180571],{"data":180572,"marks":180573,"value":149235,"nodeType":864},{},[],{"data":180575,"content":180576,"nodeType":860},{},[180577],{"data":180578,"marks":180579,"value":149244,"nodeType":864},{},[180580,180581],{"type":899},{"type":2246},{"data":180583,"content":180584,"nodeType":860},{},[180585,180588,180592],{"data":180586,"marks":180587,"value":149251,"nodeType":864},{},[],{"data":180589,"marks":180590,"value":149256,"nodeType":864},{},[180591],{"type":2246},{"data":180593,"marks":180594,"value":149260,"nodeType":864},{},[],{"data":180596,"content":180597,"nodeType":1009},{},[180598],{"data":180599,"marks":180600,"value":149267,"nodeType":864},{},[],{"data":180602,"content":180603,"nodeType":860},{},[180604],{"data":180605,"marks":180606,"value":149274,"nodeType":864},{},[],{"data":180608,"content":180609,"nodeType":860},{},[180610],{"data":180611,"marks":180612,"value":149281,"nodeType":864},{},[],{"items":180614},[180615,180617],{"sys":180616,"name":6593},{"id":6592},{"sys":180618,"name":4904},{"id":4903},{"items":180620},[180621],{"fullName":38408,"firstName":38409,"jobTitle":38410,"profilePicture":180622},{"url":38412},"blog/protect-your-data-across-all-your-apps-even-the-ones-employees-use-without",{"json":180625},{"data":180626,"content":180627,"nodeType":856},{},[180628],{"data":180629,"content":180630,"nodeType":860},{},[180631],{"data":180632,"marks":180633,"value":180634,"nodeType":864},{},[],"SaaS vendors want your employees to self-adopt their apps and start using them (and integrating with your data to do so). This leaves security and IT teams blind to which apps sensitive company data is flowing into. We’ll offer some practical guidance on how to manage supply chain risk without slowing down the business.",{"id":150275,"publishedAt":180636},"2026-08-12T11:56:12.640Z",{"items":180638},[180639,180641],{"sys":180640,"name":2729},{"id":2728},{"sys":180642,"name":4904},{"id":4903},{"items":180644},[180645,180647,180649,180651,180653,180655,180657,180659,180661,180663],{"sys":180646,"name":545,"slug":546,"tier":31},{"id":542},{"sys":180648,"name":413,"slug":414,"tier":31},{"id":410},{"sys":180650,"name":297,"slug":298,"tier":31},{"id":294},{"sys":180652,"name":589,"slug":590,"tier":45},{"id":586},{"sys":180654,"name":633,"slug":634,"tier":45},{"id":630},{"sys":180656,"name":457,"slug":458,"tier":45},{"id":454},{"sys":180658,"name":502,"slug":503,"tier":45},{"id":499},{"sys":180660,"name":333,"slug":334,"tier":45},{"id":330},{"sys":180662,"name":484,"slug":485,"tier":45},{"id":481},{"sys":180664,"name":306,"slug":307,"tier":45},{"id":303},"-bQA9rAlyrS_a91LX2wj01cmQDZ14Zx-XzOqf-qw6jo",{"id":180667,"title":150039,"authorsCollection":180668,"content":180672,"extension":228,"faqItemsCollection":181367,"faqTitle":59,"featured":6,"hashTags":59,"meta":181369,"metaTitle":181370,"ogImage":59,"postType":38987,"publishedDate":150041,"relatedBlogPostsCollection":181371,"slug":150042,"stem":183022,"subtitle":59,"summary":183023,"synopsis":150040,"sys":183034,"tagsCollection":183036,"topicsCollection":183042,"__hash__":183062},"blog/blog/3-steps-to-secure-your-data-across-shadow-saas-apps.json",{"items":180669},[180670],{"fullName":150052,"firstName":150052,"jobTitle":59,"socialLinks":59,"profilePicture":180671},{"url":150054},{"json":180673,"links":181331},{"data":180674,"content":180675,"nodeType":856},{},[180676,180682,180688,180694,180702,180708,180713,180719,180724,180730,180736,180742,180748,180754,180760,180766,180772,180778,180791,180797,180803,180808,180814,180820,180833,180850,180856,180862,180868,180874,180880,180886,180904,180910,180916,180922,180928,180934,180940,180946,180952,180965,180995,181003,181009,181015,181021,181027,181048,181054,181060,181066,181072,181078,181084,181090,181096,181101,181107,181113,181119,181129,181135,181141,181147,181152,181158,181164,181170,181191,181197,181203,181209,181222,181228,181234,181240,181297,181302,181308,181314,181320,181325],{"data":180677,"content":180678,"nodeType":860},{},[180679],{"data":180680,"marks":180681,"value":149309,"nodeType":864},{},[],{"data":180683,"content":180684,"nodeType":860},{},[180685],{"data":180686,"marks":180687,"value":147851,"nodeType":864},{},[],{"data":180689,"content":180690,"nodeType":860},{},[180691],{"data":180692,"marks":180693,"value":149322,"nodeType":864},{},[],{"data":180695,"content":180696,"nodeType":860},{},[180697],{"data":180698,"marks":180699,"value":149331,"nodeType":864},{},[180700,180701],{"type":899},{"type":2246},{"data":180703,"content":180704,"nodeType":860},{},[180705],{"data":180706,"marks":180707,"value":149338,"nodeType":864},{},[],{"data":180709,"content":180712,"nodeType":996},{"target":180710},{"sys":180711},{"id":147969,"type":1001,"linkType":1002},[],{"data":180714,"content":180715,"nodeType":860},{},[180716],{"data":180717,"marks":180718,"value":149350,"nodeType":864},{},[],{"data":180720,"content":180723,"nodeType":996},{"target":180721},{"sys":180722},{"id":148119,"type":1001,"linkType":1002},[],{"data":180725,"content":180726,"nodeType":860},{},[180727],{"data":180728,"marks":180729,"value":149362,"nodeType":864},{},[],{"data":180731,"content":180732,"nodeType":1009},{},[180733],{"data":180734,"marks":180735,"value":149369,"nodeType":864},{},[],{"data":180737,"content":180738,"nodeType":860},{},[180739],{"data":180740,"marks":180741,"value":149376,"nodeType":864},{},[],{"data":180743,"content":180744,"nodeType":860},{},[180745],{"data":180746,"marks":180747,"value":149383,"nodeType":864},{},[],{"data":180749,"content":180750,"nodeType":1009},{},[180751],{"data":180752,"marks":180753,"value":149390,"nodeType":864},{},[],{"data":180755,"content":180756,"nodeType":1312},{},[180757],{"data":180758,"marks":180759,"value":148209,"nodeType":864},{},[],{"data":180761,"content":180762,"nodeType":860},{},[180763],{"data":180764,"marks":180765,"value":149403,"nodeType":864},{},[],{"data":180767,"content":180768,"nodeType":1312},{},[180769],{"data":180770,"marks":180771,"value":589,"nodeType":864},{},[],{"data":180773,"content":180774,"nodeType":860},{},[180775],{"data":180776,"marks":180777,"value":149416,"nodeType":864},{},[],{"data":180779,"content":180780,"nodeType":860},{},[180781,180784,180788],{"data":180782,"marks":180783,"value":149423,"nodeType":864},{},[],{"data":180785,"marks":180786,"value":149428,"nodeType":864},{},[180787],{"type":2246},{"data":180789,"marks":180790,"value":8618,"nodeType":864},{},[],{"data":180792,"content":180793,"nodeType":1312},{},[180794],{"data":180795,"marks":180796,"value":149438,"nodeType":864},{},[],{"data":180798,"content":180799,"nodeType":860},{},[180800],{"data":180801,"marks":180802,"value":149445,"nodeType":864},{},[],{"data":180804,"content":180807,"nodeType":996},{"target":180805},{"sys":180806},{"id":148228,"type":1001,"linkType":1002},[],{"data":180809,"content":180810,"nodeType":1312},{},[180811],{"data":180812,"marks":180813,"value":148236,"nodeType":864},{},[],{"data":180815,"content":180816,"nodeType":860},{},[180817],{"data":180818,"marks":180819,"value":148243,"nodeType":864},{},[],{"data":180821,"content":180822,"nodeType":860},{},[180823,180826,180830],{"data":180824,"marks":180825,"value":149469,"nodeType":864},{},[],{"data":180827,"marks":180828,"value":149474,"nodeType":864},{},[180829],{"type":2246},{"data":180831,"marks":180832,"value":149478,"nodeType":864},{},[],{"data":180834,"content":180835,"nodeType":860},{},[180836,180841,180845],{"data":180837,"marks":180838,"value":149487,"nodeType":864},{},[180839,180840],{"type":899},{"type":2246},{"data":180842,"marks":180843,"value":149492,"nodeType":864},{},[180844],{"type":2246},{"data":180846,"marks":180847,"value":8618,"nodeType":864},{},[180848,180849],{"type":899},{"type":2246},{"data":180851,"content":180852,"nodeType":860},{},[180853],{"data":180854,"marks":180855,"value":149504,"nodeType":864},{},[],{"data":180857,"content":180858,"nodeType":1312},{},[180859],{"data":180860,"marks":180861,"value":149511,"nodeType":864},{},[],{"data":180863,"content":180864,"nodeType":860},{},[180865],{"data":180866,"marks":180867,"value":149518,"nodeType":864},{},[],{"data":180869,"content":180870,"nodeType":1312},{},[180871],{"data":180872,"marks":180873,"value":149525,"nodeType":864},{},[],{"data":180875,"content":180876,"nodeType":860},{},[180877],{"data":180878,"marks":180879,"value":149532,"nodeType":864},{},[],{"data":180881,"content":180882,"nodeType":860},{},[180883],{"data":180884,"marks":180885,"value":149539,"nodeType":864},{},[],{"data":180887,"content":180888,"nodeType":860},{},[180889,180892,180901],{"data":180890,"marks":180891,"value":149546,"nodeType":864},{},[],{"data":180893,"content":180896,"nodeType":27604},{"target":180894},{"sys":180895},{"id":149551,"type":1001,"linkType":1002},[180897],{"data":180898,"marks":180899,"value":29669,"nodeType":864},{},[180900],{"type":1455},{"data":180902,"marks":180903,"value":12252,"nodeType":864},{},[],{"data":180905,"content":180906,"nodeType":860},{},[180907],{"data":180908,"marks":180909,"value":149566,"nodeType":864},{},[],{"data":180911,"content":180912,"nodeType":860},{},[180913],{"data":180914,"marks":180915,"value":149573,"nodeType":864},{},[],{"data":180917,"content":180918,"nodeType":1009},{},[180919],{"data":180920,"marks":180921,"value":149580,"nodeType":864},{},[],{"data":180923,"content":180924,"nodeType":1312},{},[180925],{"data":180926,"marks":180927,"value":149587,"nodeType":864},{},[],{"data":180929,"content":180930,"nodeType":860},{},[180931],{"data":180932,"marks":180933,"value":149594,"nodeType":864},{},[],{"data":180935,"content":180936,"nodeType":860},{},[180937],{"data":180938,"marks":180939,"value":149601,"nodeType":864},{},[],{"data":180941,"content":180942,"nodeType":1312},{},[180943],{"data":180944,"marks":180945,"value":149608,"nodeType":864},{},[],{"data":180947,"content":180948,"nodeType":860},{},[180949],{"data":180950,"marks":180951,"value":149615,"nodeType":864},{},[],{"data":180953,"content":180954,"nodeType":860},{},[180955,180958,180962],{"data":180956,"marks":180957,"value":149622,"nodeType":864},{},[],{"data":180959,"marks":180960,"value":148331,"nodeType":864},{},[180961],{"type":2246},{"data":180963,"marks":180964,"value":148335,"nodeType":864},{},[],{"data":180966,"content":180967,"nodeType":941},{},[180968,180977,180986],{"data":180969,"content":180970,"nodeType":945},{},[180971],{"data":180972,"content":180973,"nodeType":860},{},[180974],{"data":180975,"marks":180976,"value":148348,"nodeType":864},{},[],{"data":180978,"content":180979,"nodeType":945},{},[180980],{"data":180981,"content":180982,"nodeType":860},{},[180983],{"data":180984,"marks":180985,"value":148358,"nodeType":864},{},[],{"data":180987,"content":180988,"nodeType":945},{},[180989],{"data":180990,"content":180991,"nodeType":860},{},[180992],{"data":180993,"marks":180994,"value":148368,"nodeType":864},{},[],{"data":180996,"content":180997,"nodeType":860},{},[180998],{"data":180999,"marks":181000,"value":149668,"nodeType":864},{},[181001,181002],{"type":899},{"type":2246},{"data":181004,"content":181005,"nodeType":860},{},[181006],{"data":181007,"marks":181008,"value":148384,"nodeType":864},{},[],{"data":181010,"content":181011,"nodeType":1312},{},[181012],{"data":181013,"marks":181014,"value":149681,"nodeType":864},{},[],{"data":181016,"content":181017,"nodeType":860},{},[181018],{"data":181019,"marks":181020,"value":149688,"nodeType":864},{},[],{"data":181022,"content":181023,"nodeType":860},{},[181024],{"data":181025,"marks":181026,"value":149695,"nodeType":864},{},[],{"data":181028,"content":181029,"nodeType":941},{},[181030,181039],{"data":181031,"content":181032,"nodeType":945},{},[181033],{"data":181034,"content":181035,"nodeType":860},{},[181036],{"data":181037,"marks":181038,"value":149708,"nodeType":864},{},[],{"data":181040,"content":181041,"nodeType":945},{},[181042],{"data":181043,"content":181044,"nodeType":860},{},[181045],{"data":181046,"marks":181047,"value":149718,"nodeType":864},{},[],{"data":181049,"content":181050,"nodeType":860},{},[181051],{"data":181052,"marks":181053,"value":149725,"nodeType":864},{},[],{"data":181055,"content":181056,"nodeType":1312},{},[181057],{"data":181058,"marks":181059,"value":149732,"nodeType":864},{},[],{"data":181061,"content":181062,"nodeType":860},{},[181063],{"data":181064,"marks":181065,"value":149739,"nodeType":864},{},[],{"data":181067,"content":181068,"nodeType":860},{},[181069],{"data":181070,"marks":181071,"value":149746,"nodeType":864},{},[],{"data":181073,"content":181074,"nodeType":1009},{},[181075],{"data":181076,"marks":181077,"value":149753,"nodeType":864},{},[],{"data":181079,"content":181080,"nodeType":1312},{},[181081],{"data":181082,"marks":181083,"value":149760,"nodeType":864},{},[],{"data":181085,"content":181086,"nodeType":860},{},[181087],{"data":181088,"marks":181089,"value":149767,"nodeType":864},{},[],{"data":181091,"content":181092,"nodeType":860},{},[181093],{"data":181094,"marks":181095,"value":149774,"nodeType":864},{},[],{"data":181097,"content":181100,"nodeType":996},{"target":181098},{"sys":181099},{"id":148431,"type":1001,"linkType":1002},[],{"data":181102,"content":181103,"nodeType":1312},{},[181104],{"data":181105,"marks":181106,"value":149786,"nodeType":864},{},[],{"data":181108,"content":181109,"nodeType":860},{},[181110],{"data":181111,"marks":181112,"value":149793,"nodeType":864},{},[],{"data":181114,"content":181115,"nodeType":860},{},[181116],{"data":181117,"marks":181118,"value":149800,"nodeType":864},{},[],{"data":181120,"content":181121,"nodeType":860},{},[181122,181125],{"data":181123,"marks":181124,"value":149807,"nodeType":864},{},[],{"data":181126,"marks":181127,"value":149812,"nodeType":864},{},[181128],{"type":2246},{"data":181130,"content":181131,"nodeType":1312},{},[181132],{"data":181133,"marks":181134,"value":149819,"nodeType":864},{},[],{"data":181136,"content":181137,"nodeType":860},{},[181138],{"data":181139,"marks":181140,"value":149826,"nodeType":864},{},[],{"data":181142,"content":181143,"nodeType":860},{},[181144],{"data":181145,"marks":181146,"value":149833,"nodeType":864},{},[],{"data":181148,"content":181151,"nodeType":996},{"target":181149},{"sys":181150},{"id":140590,"type":1001,"linkType":1002},[],{"data":181153,"content":181154,"nodeType":1312},{},[181155],{"data":181156,"marks":181157,"value":149845,"nodeType":864},{},[],{"data":181159,"content":181160,"nodeType":860},{},[181161],{"data":181162,"marks":181163,"value":149852,"nodeType":864},{},[],{"data":181165,"content":181166,"nodeType":860},{},[181167],{"data":181168,"marks":181169,"value":149859,"nodeType":864},{},[],{"data":181171,"content":181172,"nodeType":941},{},[181173,181182],{"data":181174,"content":181175,"nodeType":945},{},[181176],{"data":181177,"content":181178,"nodeType":860},{},[181179],{"data":181180,"marks":181181,"value":149872,"nodeType":864},{},[],{"data":181183,"content":181184,"nodeType":945},{},[181185],{"data":181186,"content":181187,"nodeType":860},{},[181188],{"data":181189,"marks":181190,"value":149882,"nodeType":864},{},[],{"data":181192,"content":181193,"nodeType":1312},{},[181194],{"data":181195,"marks":181196,"value":149889,"nodeType":864},{},[],{"data":181198,"content":181199,"nodeType":860},{},[181200],{"data":181201,"marks":181202,"value":149896,"nodeType":864},{},[],{"data":181204,"content":181205,"nodeType":860},{},[181206],{"data":181207,"marks":181208,"value":149903,"nodeType":864},{},[],{"data":181210,"content":181211,"nodeType":860},{},[181212,181215,181219],{"data":181213,"marks":181214,"value":149910,"nodeType":864},{},[],{"data":181216,"marks":181217,"value":112585,"nodeType":864},{},[181218],{"type":899},{"data":181220,"marks":181221,"value":149918,"nodeType":864},{},[],{"data":181223,"content":181224,"nodeType":1312},{},[181225],{"data":181226,"marks":181227,"value":149925,"nodeType":864},{},[],{"data":181229,"content":181230,"nodeType":860},{},[181231],{"data":181232,"marks":181233,"value":149932,"nodeType":864},{},[],{"data":181235,"content":181236,"nodeType":860},{},[181237],{"data":181238,"marks":181239,"value":149939,"nodeType":864},{},[],{"data":181241,"content":181242,"nodeType":941},{},[181243,181252,181261,181270,181279,181288],{"data":181244,"content":181245,"nodeType":945},{},[181246],{"data":181247,"content":181248,"nodeType":860},{},[181249],{"data":181250,"marks":181251,"value":140618,"nodeType":864},{},[],{"data":181253,"content":181254,"nodeType":945},{},[181255],{"data":181256,"content":181257,"nodeType":860},{},[181258],{"data":181259,"marks":181260,"value":149961,"nodeType":864},{},[],{"data":181262,"content":181263,"nodeType":945},{},[181264],{"data":181265,"content":181266,"nodeType":860},{},[181267],{"data":181268,"marks":181269,"value":140638,"nodeType":864},{},[],{"data":181271,"content":181272,"nodeType":945},{},[181273],{"data":181274,"content":181275,"nodeType":860},{},[181276],{"data":181277,"marks":181278,"value":149980,"nodeType":864},{},[],{"data":181280,"content":181281,"nodeType":945},{},[181282],{"data":181283,"content":181284,"nodeType":860},{},[181285],{"data":181286,"marks":181287,"value":140658,"nodeType":864},{},[],{"data":181289,"content":181290,"nodeType":945},{},[181291],{"data":181292,"content":181293,"nodeType":860},{},[181294],{"data":181295,"marks":181296,"value":149999,"nodeType":864},{},[],{"data":181298,"content":181301,"nodeType":996},{"target":181299},{"sys":181300},{"id":150004,"type":1001,"linkType":1002},[],{"data":181303,"content":181304,"nodeType":860},{},[181305],{"data":181306,"marks":181307,"value":150012,"nodeType":864},{},[],{"data":181309,"content":181310,"nodeType":1312},{},[181311],{"data":181312,"marks":181313,"value":150019,"nodeType":864},{},[],{"data":181315,"content":181316,"nodeType":860},{},[181317],{"data":181318,"marks":181319,"value":150026,"nodeType":864},{},[],{"data":181321,"content":181324,"nodeType":996},{"target":181322},{"sys":181323},{"id":150031,"type":1001,"linkType":1002},[],{"data":181326,"content":181327,"nodeType":860},{},[181328],{"data":181329,"marks":181330,"value":21,"nodeType":864},{},[],{"entries":181332},{"inline":181333,"hyperlink":181334,"block":181337},[],[181335],{"sys":181336,"__typename":2059,"title":164845,"slug":164846},{"id":149551},[181338,181345,181348,181351,181358,181361,181364],{"sys":181339,"__typename":1724,"title":181340,"caption":181341,"layoutMode":59,"file":181342},{"id":147969},"Old software procurement process","Traditional software procurement process",{"url":181343,"width":174376,"height":181344},"https://images.ctfassets.net/y1cdw1ablpvd/5WwGnHoSxS9HFJMNYNrn4V/16c03fe426dce8a4d131a6185dcc9dc7/image__33_.png",502,{"sys":181346,"__typename":1724,"title":174372,"caption":174373,"layoutMode":59,"file":181347},{"id":148119},{"url":174375,"width":174376,"height":174377},{"sys":181349,"__typename":1724,"title":164865,"caption":164865,"layoutMode":140740,"file":181350},{"id":148228},{"url":164867,"width":164868,"height":164869},{"sys":181352,"__typename":1724,"title":181353,"caption":181354,"layoutMode":140740,"file":181355},{"id":148431},"Get in early to assess SaaS apps","\"Yes, unless\" is a good fit for self adoption because risk increases gradually",{"url":181356,"width":153617,"height":181357},"https://images.ctfassets.net/y1cdw1ablpvd/6KEFysuMJJS96lSqhGCGDV/f99004f71f088ff37e0fbbc0d81cff38/image8.png",864,{"sys":181359,"__typename":1724,"title":140738,"caption":140739,"layoutMode":140740,"file":181360},{"id":140590},{"url":140742,"width":1736,"height":140735},{"sys":181362,"__typename":1724,"title":179331,"caption":179332,"layoutMode":140740,"file":181363},{"id":150004},{"url":179334,"width":140749,"height":140750},{"sys":181365,"__typename":1724,"title":179337,"caption":179338,"layoutMode":140740,"file":181366},{"id":150031},{"url":179340,"width":1736,"height":140735},{"items":181368},[],{},"Secure your data across shadow SaaS apps in 7 steps",{"items":181372},[181373,182641],{"__typename":2059,"sys":181374,"content":181375,"title":149282,"synopsis":149283,"hashTags":59,"publishedDate":149284,"slug":149285,"tagsCollection":182631,"authorsCollection":182637},{"id":147827},{"json":181376},{"data":181377,"content":181378,"nodeType":856},{},[181379,181385,181391,181397,181403,181409,181415,181421,181427,181466,181472,181478,181484,181490,181496,181501,181507,181513,181519,181526,181532,181538,181544,181550,181556,181562,181568,181584,181589,181595,181601,181611,181618,181624,181629,181635,181641,181646,181652,181660,181673,181694,181700,181706,181712,181718,181723,181729,181735,181741,181747,181753,181759,181775,181781,181787,181793,181799,181812,181842,181850,181856,181862,181868,181874,181880,181886,181892,181897,181903,181909,181915,181921,181927,181933,181949,181955,181960,181966,181987,181993,181999,182029,182035,182041,182047,182053,182065,182071,182131,182137,182143,182164,182169,182175,182181,182187,182217,182223,182564,182570,182586,182592,182600,182613,182619,182625],{"data":181380,"content":181381,"nodeType":1009},{},[181382],{"data":181383,"marks":181384,"value":126377,"nodeType":864},{},[],{"data":181386,"content":181387,"nodeType":860},{},[181388],{"data":181389,"marks":181390,"value":147844,"nodeType":864},{},[],{"data":181392,"content":181393,"nodeType":860},{},[181394],{"data":181395,"marks":181396,"value":147851,"nodeType":864},{},[],{"data":181398,"content":181399,"nodeType":860},{},[181400],{"data":181401,"marks":181402,"value":147858,"nodeType":864},{},[],{"data":181404,"content":181405,"nodeType":860},{},[181406],{"data":181407,"marks":181408,"value":147865,"nodeType":864},{},[],{"data":181410,"content":181411,"nodeType":860},{},[181412],{"data":181413,"marks":181414,"value":147872,"nodeType":864},{},[],{"data":181416,"content":181417,"nodeType":860},{},[181418],{"data":181419,"marks":181420,"value":147879,"nodeType":864},{},[],{"data":181422,"content":181423,"nodeType":860},{},[181424],{"data":181425,"marks":181426,"value":147886,"nodeType":864},{},[],{"data":181428,"content":181429,"nodeType":941},{},[181430,181439,181448,181457],{"data":181431,"content":181432,"nodeType":945},{},[181433],{"data":181434,"content":181435,"nodeType":860},{},[181436],{"data":181437,"marks":181438,"value":147899,"nodeType":864},{},[],{"data":181440,"content":181441,"nodeType":945},{},[181442],{"data":181443,"content":181444,"nodeType":860},{},[181445],{"data":181446,"marks":181447,"value":147909,"nodeType":864},{},[],{"data":181449,"content":181450,"nodeType":945},{},[181451],{"data":181452,"content":181453,"nodeType":860},{},[181454],{"data":181455,"marks":181456,"value":147919,"nodeType":864},{},[],{"data":181458,"content":181459,"nodeType":945},{},[181460],{"data":181461,"content":181462,"nodeType":860},{},[181463],{"data":181464,"marks":181465,"value":147929,"nodeType":864},{},[],{"data":181467,"content":181468,"nodeType":860},{},[181469],{"data":181470,"marks":181471,"value":147936,"nodeType":864},{},[],{"data":181473,"content":181474,"nodeType":860},{},[181475],{"data":181476,"marks":181477,"value":147943,"nodeType":864},{},[],{"data":181479,"content":181480,"nodeType":1009},{},[181481],{"data":181482,"marks":181483,"value":147950,"nodeType":864},{},[],{"data":181485,"content":181486,"nodeType":1312},{},[181487],{"data":181488,"marks":181489,"value":147957,"nodeType":864},{},[],{"data":181491,"content":181492,"nodeType":860},{},[181493],{"data":181494,"marks":181495,"value":147964,"nodeType":864},{},[],{"data":181497,"content":181500,"nodeType":996},{"target":181498},{"sys":181499},{"id":147969,"type":1001,"linkType":1002},[],{"data":181502,"content":181503,"nodeType":860},{},[181504],{"data":181505,"marks":181506,"value":147977,"nodeType":864},{},[],{"data":181508,"content":181509,"nodeType":860},{},[181510],{"data":181511,"marks":181512,"value":147984,"nodeType":864},{},[],{"data":181514,"content":181515,"nodeType":860},{},[181516],{"data":181517,"marks":181518,"value":147991,"nodeType":864},{},[],{"data":181520,"content":181521,"nodeType":860},{},[181522],{"data":181523,"marks":181524,"value":147999,"nodeType":864},{},[181525],{"type":2246},{"data":181527,"content":181528,"nodeType":1312},{},[181529],{"data":181530,"marks":181531,"value":148006,"nodeType":864},{},[],{"data":181533,"content":181534,"nodeType":860},{},[181535],{"data":181536,"marks":181537,"value":148013,"nodeType":864},{},[],{"data":181539,"content":181540,"nodeType":860},{},[181541],{"data":181542,"marks":181543,"value":148020,"nodeType":864},{},[],{"data":181545,"content":181546,"nodeType":860},{},[181547],{"data":181548,"marks":181549,"value":148027,"nodeType":864},{},[],{"data":181551,"content":181552,"nodeType":860},{},[181553],{"data":181554,"marks":181555,"value":148034,"nodeType":864},{},[],{"data":181557,"content":181558,"nodeType":1312},{},[181559],{"data":181560,"marks":181561,"value":148041,"nodeType":864},{},[],{"data":181563,"content":181564,"nodeType":860},{},[181565],{"data":181566,"marks":181567,"value":148048,"nodeType":864},{},[],{"data":181569,"content":181570,"nodeType":860},{},[181571,181574,181581],{"data":181572,"marks":181573,"value":148055,"nodeType":864},{},[],{"data":181575,"content":181576,"nodeType":883},{"uri":148058},[181577],{"data":181578,"marks":181579,"value":148064,"nodeType":864},{},[181580],{"type":1455},{"data":181582,"marks":181583,"value":148068,"nodeType":864},{},[],{"data":181585,"content":181588,"nodeType":996},{"target":181586},{"sys":181587},{"id":148073,"type":1001,"linkType":1002},[],{"data":181590,"content":181591,"nodeType":860},{},[181592],{"data":181593,"marks":181594,"value":148081,"nodeType":864},{},[],{"data":181596,"content":181597,"nodeType":860},{},[181598],{"data":181599,"marks":181600,"value":148088,"nodeType":864},{},[],{"data":181602,"content":181603,"nodeType":860},{},[181604,181607],{"data":181605,"marks":181606,"value":148095,"nodeType":864},{},[],{"data":181608,"marks":181609,"value":1171,"nodeType":864},{},[181610],{"type":899},{"data":181612,"content":181613,"nodeType":860},{},[181614],{"data":181615,"marks":181616,"value":148107,"nodeType":864},{},[181617],{"type":899},{"data":181619,"content":181620,"nodeType":860},{},[181621],{"data":181622,"marks":181623,"value":148114,"nodeType":864},{},[],{"data":181625,"content":181628,"nodeType":996},{"target":181626},{"sys":181627},{"id":148119,"type":1001,"linkType":1002},[],{"data":181630,"content":181631,"nodeType":1312},{},[181632],{"data":181633,"marks":181634,"value":148127,"nodeType":864},{},[],{"data":181636,"content":181637,"nodeType":860},{},[181638],{"data":181639,"marks":181640,"value":148134,"nodeType":864},{},[],{"data":181642,"content":181645,"nodeType":996},{"target":181643},{"sys":181644},{"id":148139,"type":1001,"linkType":1002},[],{"data":181647,"content":181648,"nodeType":860},{},[181649],{"data":181650,"marks":181651,"value":148147,"nodeType":864},{},[],{"data":181653,"content":181654,"nodeType":860},{},[181655],{"data":181656,"marks":181657,"value":148156,"nodeType":864},{},[181658,181659],{"type":2246},{"type":899},{"data":181661,"content":181662,"nodeType":860},{},[181663,181666,181670],{"data":181664,"marks":181665,"value":148163,"nodeType":864},{},[],{"data":181667,"marks":181668,"value":148168,"nodeType":864},{},[181669],{"type":899},{"data":181671,"marks":181672,"value":148172,"nodeType":864},{},[],{"data":181674,"content":181675,"nodeType":118765},{},[181676,181685],{"data":181677,"content":181678,"nodeType":945},{},[181679],{"data":181680,"content":181681,"nodeType":860},{},[181682],{"data":181683,"marks":181684,"value":148185,"nodeType":864},{},[],{"data":181686,"content":181687,"nodeType":945},{},[181688],{"data":181689,"content":181690,"nodeType":860},{},[181691],{"data":181692,"marks":181693,"value":148195,"nodeType":864},{},[],{"data":181695,"content":181696,"nodeType":1009},{},[181697],{"data":181698,"marks":181699,"value":148202,"nodeType":864},{},[],{"data":181701,"content":181702,"nodeType":1312},{},[181703],{"data":181704,"marks":181705,"value":148209,"nodeType":864},{},[],{"data":181707,"content":181708,"nodeType":860},{},[181709],{"data":181710,"marks":181711,"value":148216,"nodeType":864},{},[],{"data":181713,"content":181714,"nodeType":860},{},[181715],{"data":181716,"marks":181717,"value":148223,"nodeType":864},{},[],{"data":181719,"content":181722,"nodeType":996},{"target":181720},{"sys":181721},{"id":148228,"type":1001,"linkType":1002},[],{"data":181724,"content":181725,"nodeType":1312},{},[181726],{"data":181727,"marks":181728,"value":148236,"nodeType":864},{},[],{"data":181730,"content":181731,"nodeType":860},{},[181732],{"data":181733,"marks":181734,"value":148243,"nodeType":864},{},[],{"data":181736,"content":181737,"nodeType":860},{},[181738],{"data":181739,"marks":181740,"value":148250,"nodeType":864},{},[],{"data":181742,"content":181743,"nodeType":860},{},[181744],{"data":181745,"marks":181746,"value":148257,"nodeType":864},{},[],{"data":181748,"content":181749,"nodeType":860},{},[181750],{"data":181751,"marks":181752,"value":148264,"nodeType":864},{},[],{"data":181754,"content":181755,"nodeType":1312},{},[181756],{"data":181757,"marks":181758,"value":148271,"nodeType":864},{},[],{"data":181760,"content":181761,"nodeType":860},{},[181762,181765,181772],{"data":181763,"marks":181764,"value":148278,"nodeType":864},{},[],{"data":181766,"content":181767,"nodeType":883},{"uri":148281},[181768],{"data":181769,"marks":181770,"value":148287,"nodeType":864},{},[181771],{"type":1455},{"data":181773,"marks":181774,"value":148291,"nodeType":864},{},[],{"data":181776,"content":181777,"nodeType":860},{},[181778],{"data":181779,"marks":181780,"value":148298,"nodeType":864},{},[],{"data":181782,"content":181783,"nodeType":1312},{},[181784],{"data":181785,"marks":181786,"value":148305,"nodeType":864},{},[],{"data":181788,"content":181789,"nodeType":860},{},[181790],{"data":181791,"marks":181792,"value":148312,"nodeType":864},{},[],{"data":181794,"content":181795,"nodeType":860},{},[181796],{"data":181797,"marks":181798,"value":148319,"nodeType":864},{},[],{"data":181800,"content":181801,"nodeType":860},{},[181802,181805,181809],{"data":181803,"marks":181804,"value":148326,"nodeType":864},{},[],{"data":181806,"marks":181807,"value":148331,"nodeType":864},{},[181808],{"type":2246},{"data":181810,"marks":181811,"value":148335,"nodeType":864},{},[],{"data":181813,"content":181814,"nodeType":941},{},[181815,181824,181833],{"data":181816,"content":181817,"nodeType":945},{},[181818],{"data":181819,"content":181820,"nodeType":860},{},[181821],{"data":181822,"marks":181823,"value":148348,"nodeType":864},{},[],{"data":181825,"content":181826,"nodeType":945},{},[181827],{"data":181828,"content":181829,"nodeType":860},{},[181830],{"data":181831,"marks":181832,"value":148358,"nodeType":864},{},[],{"data":181834,"content":181835,"nodeType":945},{},[181836],{"data":181837,"content":181838,"nodeType":860},{},[181839],{"data":181840,"marks":181841,"value":148368,"nodeType":864},{},[],{"data":181843,"content":181844,"nodeType":860},{},[181845],{"data":181846,"marks":181847,"value":148377,"nodeType":864},{},[181848,181849],{"type":2246},{"type":899},{"data":181851,"content":181852,"nodeType":860},{},[181853],{"data":181854,"marks":181855,"value":148384,"nodeType":864},{},[],{"data":181857,"content":181858,"nodeType":1312},{},[181859],{"data":181860,"marks":181861,"value":148391,"nodeType":864},{},[],{"data":181863,"content":181864,"nodeType":860},{},[181865],{"data":181866,"marks":181867,"value":148398,"nodeType":864},{},[],{"data":181869,"content":181870,"nodeType":860},{},[181871],{"data":181872,"marks":181873,"value":148405,"nodeType":864},{},[],{"data":181875,"content":181876,"nodeType":1312},{},[181877],{"data":181878,"marks":181879,"value":148412,"nodeType":864},{},[],{"data":181881,"content":181882,"nodeType":860},{},[181883],{"data":181884,"marks":181885,"value":148419,"nodeType":864},{},[],{"data":181887,"content":181888,"nodeType":860},{},[181889],{"data":181890,"marks":181891,"value":148426,"nodeType":864},{},[],{"data":181893,"content":181896,"nodeType":996},{"target":181894},{"sys":181895},{"id":148431,"type":1001,"linkType":1002},[],{"data":181898,"content":181899,"nodeType":860},{},[181900],{"data":181901,"marks":181902,"value":148439,"nodeType":864},{},[],{"data":181904,"content":181905,"nodeType":860},{},[181906],{"data":181907,"marks":181908,"value":148446,"nodeType":864},{},[],{"data":181910,"content":181911,"nodeType":860},{},[181912],{"data":181913,"marks":181914,"value":148453,"nodeType":864},{},[],{"data":181916,"content":181917,"nodeType":1009},{},[181918],{"data":181919,"marks":181920,"value":148460,"nodeType":864},{},[],{"data":181922,"content":181923,"nodeType":860},{},[181924],{"data":181925,"marks":181926,"value":148467,"nodeType":864},{},[],{"data":181928,"content":181929,"nodeType":1312},{},[181930],{"data":181931,"marks":181932,"value":148474,"nodeType":864},{},[],{"data":181934,"content":181935,"nodeType":860},{},[181936,181939,181946],{"data":181937,"marks":181938,"value":148481,"nodeType":864},{},[],{"data":181940,"content":181941,"nodeType":883},{"uri":148484},[181942],{"data":181943,"marks":181944,"value":148490,"nodeType":864},{},[181945],{"type":1455},{"data":181947,"marks":181948,"value":148494,"nodeType":864},{},[],{"data":181950,"content":181951,"nodeType":860},{},[181952],{"data":181953,"marks":181954,"value":148501,"nodeType":864},{},[],{"data":181956,"content":181959,"nodeType":996},{"target":181957},{"sys":181958},{"id":148506,"type":1001,"linkType":1002},[],{"data":181961,"content":181962,"nodeType":860},{},[181963],{"data":181964,"marks":181965,"value":148514,"nodeType":864},{},[],{"data":181967,"content":181968,"nodeType":118765},{},[181969,181978],{"data":181970,"content":181971,"nodeType":945},{},[181972],{"data":181973,"content":181974,"nodeType":860},{},[181975],{"data":181976,"marks":181977,"value":148527,"nodeType":864},{},[],{"data":181979,"content":181980,"nodeType":945},{},[181981],{"data":181982,"content":181983,"nodeType":860},{},[181984],{"data":181985,"marks":181986,"value":148537,"nodeType":864},{},[],{"data":181988,"content":181989,"nodeType":860},{},[181990],{"data":181991,"marks":181992,"value":148544,"nodeType":864},{},[],{"data":181994,"content":181995,"nodeType":860},{},[181996],{"data":181997,"marks":181998,"value":148551,"nodeType":864},{},[],{"data":182000,"content":182001,"nodeType":941},{},[182002,182011,182020],{"data":182003,"content":182004,"nodeType":945},{},[182005],{"data":182006,"content":182007,"nodeType":860},{},[182008],{"data":182009,"marks":182010,"value":148564,"nodeType":864},{},[],{"data":182012,"content":182013,"nodeType":945},{},[182014],{"data":182015,"content":182016,"nodeType":860},{},[182017],{"data":182018,"marks":182019,"value":148574,"nodeType":864},{},[],{"data":182021,"content":182022,"nodeType":945},{},[182023],{"data":182024,"content":182025,"nodeType":860},{},[182026],{"data":182027,"marks":182028,"value":148584,"nodeType":864},{},[],{"data":182030,"content":182031,"nodeType":860},{},[182032],{"data":182033,"marks":182034,"value":148591,"nodeType":864},{},[],{"data":182036,"content":182037,"nodeType":860},{},[182038],{"data":182039,"marks":182040,"value":148598,"nodeType":864},{},[],{"data":182042,"content":182043,"nodeType":860},{},[182044],{"data":182045,"marks":182046,"value":148605,"nodeType":864},{},[],{"data":182048,"content":182049,"nodeType":860},{},[182050],{"data":182051,"marks":182052,"value":148612,"nodeType":864},{},[],{"data":182054,"content":182055,"nodeType":941},{},[182056],{"data":182057,"content":182058,"nodeType":945},{},[182059],{"data":182060,"content":182061,"nodeType":860},{},[182062],{"data":182063,"marks":182064,"value":148625,"nodeType":864},{},[],{"data":182066,"content":182067,"nodeType":860},{},[182068],{"data":182069,"marks":182070,"value":148632,"nodeType":864},{},[],{"data":182072,"content":182073,"nodeType":941},{},[182074,182113,182122],{"data":182075,"content":182076,"nodeType":945},{},[182077],{"data":182078,"content":182079,"nodeType":860},{},[182080,182083,182090,182093,182100,182103,182110],{"data":182081,"marks":182082,"value":148645,"nodeType":864},{},[],{"data":182084,"content":182085,"nodeType":883},{"uri":148648},[182086],{"data":182087,"marks":182088,"value":148654,"nodeType":864},{},[182089],{"type":1455},{"data":182091,"marks":182092,"value":3731,"nodeType":864},{},[],{"data":182094,"content":182095,"nodeType":883},{"uri":148660},[182096],{"data":182097,"marks":182098,"value":148666,"nodeType":864},{},[182099],{"type":1455},{"data":182101,"marks":182102,"value":3731,"nodeType":864},{},[],{"data":182104,"content":182105,"nodeType":883},{"uri":148672},[182106],{"data":182107,"marks":182108,"value":148678,"nodeType":864},{},[182109],{"type":1455},{"data":182111,"marks":182112,"value":148682,"nodeType":864},{},[],{"data":182114,"content":182115,"nodeType":945},{},[182116],{"data":182117,"content":182118,"nodeType":860},{},[182119],{"data":182120,"marks":182121,"value":148692,"nodeType":864},{},[],{"data":182123,"content":182124,"nodeType":945},{},[182125],{"data":182126,"content":182127,"nodeType":860},{},[182128],{"data":182129,"marks":182130,"value":148702,"nodeType":864},{},[],{"data":182132,"content":182133,"nodeType":1312},{},[182134],{"data":182135,"marks":182136,"value":148709,"nodeType":864},{},[],{"data":182138,"content":182139,"nodeType":860},{},[182140],{"data":182141,"marks":182142,"value":148716,"nodeType":864},{},[],{"data":182144,"content":182145,"nodeType":118765},{},[182146,182155],{"data":182147,"content":182148,"nodeType":945},{},[182149],{"data":182150,"content":182151,"nodeType":860},{},[182152],{"data":182153,"marks":182154,"value":148729,"nodeType":864},{},[],{"data":182156,"content":182157,"nodeType":945},{},[182158],{"data":182159,"content":182160,"nodeType":860},{},[182161],{"data":182162,"marks":182163,"value":148739,"nodeType":864},{},[],{"data":182165,"content":182168,"nodeType":996},{"target":182166},{"sys":182167},{"id":148744,"type":1001,"linkType":1002},[],{"data":182170,"content":182171,"nodeType":860},{},[182172],{"data":182173,"marks":182174,"value":148752,"nodeType":864},{},[],{"data":182176,"content":182177,"nodeType":1009},{},[182178],{"data":182179,"marks":182180,"value":148759,"nodeType":864},{},[],{"data":182182,"content":182183,"nodeType":860},{},[182184],{"data":182185,"marks":182186,"value":148766,"nodeType":864},{},[],{"data":182188,"content":182189,"nodeType":941},{},[182190,182199,182208],{"data":182191,"content":182192,"nodeType":945},{},[182193],{"data":182194,"content":182195,"nodeType":860},{},[182196],{"data":182197,"marks":182198,"value":148779,"nodeType":864},{},[],{"data":182200,"content":182201,"nodeType":945},{},[182202],{"data":182203,"content":182204,"nodeType":860},{},[182205],{"data":182206,"marks":182207,"value":148789,"nodeType":864},{},[],{"data":182209,"content":182210,"nodeType":945},{},[182211],{"data":182212,"content":182213,"nodeType":860},{},[182214],{"data":182215,"marks":182216,"value":148799,"nodeType":864},{},[],{"data":182218,"content":182219,"nodeType":860},{},[182220],{"data":182221,"marks":182222,"value":148806,"nodeType":864},{},[],{"data":182224,"content":182225,"nodeType":4845},{},[182226,182249,182317,182366,182404,182511],{"data":182227,"content":182228,"nodeType":4581},{},[182229,182239],{"data":182230,"content":182231,"nodeType":4569},{},[182232],{"data":182233,"content":182234,"nodeType":860},{},[182235],{"data":182236,"marks":182237,"value":148823,"nodeType":864},{},[182238],{"type":899},{"data":182240,"content":182241,"nodeType":4569},{},[182242],{"data":182243,"content":182244,"nodeType":860},{},[182245],{"data":182246,"marks":182247,"value":148834,"nodeType":864},{},[182248],{"type":899},{"data":182250,"content":182251,"nodeType":4581},{},[182252,182261],{"data":182253,"content":182254,"nodeType":4569},{},[182255],{"data":182256,"content":182257,"nodeType":860},{},[182258],{"data":182259,"marks":182260,"value":148847,"nodeType":864},{},[],{"data":182262,"content":182263,"nodeType":4569},{},[182264,182287],{"data":182265,"content":182266,"nodeType":860},{},[182267,182270,182277,182280,182284],{"data":182268,"marks":182269,"value":21,"nodeType":864},{},[],{"data":182271,"content":182272,"nodeType":883},{"uri":148859},[182273],{"data":182274,"marks":182275,"value":148865,"nodeType":864},{},[182276],{"type":1455},{"data":182278,"marks":182279,"value":148869,"nodeType":864},{},[],{"data":182281,"marks":182282,"value":148874,"nodeType":864},{},[182283],{"type":899},{"data":182285,"marks":182286,"value":148878,"nodeType":864},{},[],{"data":182288,"content":182289,"nodeType":860},{},[182290,182293,182300,182303,182307,182310,182314],{"data":182291,"marks":182292,"value":148885,"nodeType":864},{},[],{"data":182294,"content":182295,"nodeType":883},{"uri":148888},[182296],{"data":182297,"marks":182298,"value":148894,"nodeType":864},{},[182299],{"type":1455},{"data":182301,"marks":182302,"value":148898,"nodeType":864},{},[],{"data":182304,"marks":182305,"value":148903,"nodeType":864},{},[182306],{"type":899},{"data":182308,"marks":182309,"value":148907,"nodeType":864},{},[],{"data":182311,"marks":182312,"value":148678,"nodeType":864},{},[182313],{"type":899},{"data":182315,"marks":182316,"value":148915,"nodeType":864},{},[],{"data":182318,"content":182319,"nodeType":4581},{},[182320,182329],{"data":182321,"content":182322,"nodeType":4569},{},[182323],{"data":182324,"content":182325,"nodeType":860},{},[182326],{"data":182327,"marks":182328,"value":148928,"nodeType":864},{},[],{"data":182330,"content":182331,"nodeType":4569},{},[182332],{"data":182333,"content":182334,"nodeType":860},{},[182335,182339,182342,182349,182352,182356,182359,182363],{"data":182336,"marks":182337,"value":148666,"nodeType":864},{},[182338],{"type":899},{"data":182340,"marks":182341,"value":148942,"nodeType":864},{},[],{"data":182343,"content":182344,"nodeType":883},{"uri":148945},[182345],{"data":182346,"marks":182347,"value":148951,"nodeType":864},{},[182348],{"type":1455},{"data":182350,"marks":182351,"value":148955,"nodeType":864},{},[],{"data":182353,"marks":182354,"value":148960,"nodeType":864},{},[182355],{"type":899},{"data":182357,"marks":182358,"value":148964,"nodeType":864},{},[],{"data":182360,"marks":182361,"value":148903,"nodeType":864},{},[182362],{"type":899},{"data":182364,"marks":182365,"value":148972,"nodeType":864},{},[],{"data":182367,"content":182368,"nodeType":4581},{},[182369,182378],{"data":182370,"content":182371,"nodeType":4569},{},[182372],{"data":182373,"content":182374,"nodeType":860},{},[182375],{"data":182376,"marks":182377,"value":148985,"nodeType":864},{},[],{"data":182379,"content":182380,"nodeType":4569},{},[182381],{"data":182382,"content":182383,"nodeType":860},{},[182384,182387,182391,182394,182401],{"data":182385,"marks":182386,"value":148995,"nodeType":864},{},[],{"data":182388,"marks":182389,"value":148666,"nodeType":864},{},[182390],{"type":899},{"data":182392,"marks":182393,"value":149003,"nodeType":864},{},[],{"data":182395,"content":182396,"nodeType":883},{"uri":149006},[182397],{"data":182398,"marks":182399,"value":149012,"nodeType":864},{},[182400],{"type":1455},{"data":182402,"marks":182403,"value":21,"nodeType":864},{},[],{"data":182405,"content":182406,"nodeType":4581},{},[182407,182416],{"data":182408,"content":182409,"nodeType":4569},{},[182410],{"data":182411,"content":182412,"nodeType":860},{},[182413],{"data":182414,"marks":182415,"value":149028,"nodeType":864},{},[],{"data":182417,"content":182418,"nodeType":4569},{},[182419,182453,182476,182489,182505],{"data":182420,"content":182421,"nodeType":860},{},[182422,182426,182429,182433,182436,182443,182446,182450],{"data":182423,"marks":182424,"value":148678,"nodeType":864},{},[182425],{"type":899},{"data":182427,"marks":182428,"value":149042,"nodeType":864},{},[],{"data":182430,"marks":182431,"value":148666,"nodeType":864},{},[182432],{"type":899},{"data":182434,"marks":182435,"value":149050,"nodeType":864},{},[],{"data":182437,"content":182438,"nodeType":883},{"uri":149053},[182439],{"data":182440,"marks":182441,"value":149059,"nodeType":864},{},[182442],{"type":1455},{"data":182444,"marks":182445,"value":149063,"nodeType":864},{},[],{"data":182447,"marks":182448,"value":149068,"nodeType":864},{},[182449],{"type":899},{"data":182451,"marks":182452,"value":149072,"nodeType":864},{},[],{"data":182454,"content":182455,"nodeType":860},{},[182456,182459,182463,182466,182473],{"data":182457,"marks":182458,"value":149079,"nodeType":864},{},[],{"data":182460,"marks":182461,"value":148678,"nodeType":864},{},[182462],{"type":899},{"data":182464,"marks":182465,"value":1171,"nodeType":864},{},[],{"data":182467,"content":182468,"nodeType":883},{"uri":149089},[182469],{"data":182470,"marks":182471,"value":149095,"nodeType":864},{},[182472],{"type":1455},{"data":182474,"marks":182475,"value":149099,"nodeType":864},{},[],{"data":182477,"content":182478,"nodeType":860},{},[182479,182482,182486],{"data":182480,"marks":182481,"value":149106,"nodeType":864},{},[],{"data":182483,"marks":182484,"value":1171,"nodeType":864},{},[182485],{"type":899},{"data":182487,"marks":182488,"value":149114,"nodeType":864},{},[],{"data":182490,"content":182491,"nodeType":860},{},[182492,182495,182502],{"data":182493,"marks":182494,"value":149121,"nodeType":864},{},[],{"data":182496,"content":182497,"nodeType":883},{"uri":149124},[182498],{"data":182499,"marks":182500,"value":149130,"nodeType":864},{},[182501],{"type":1455},{"data":182503,"marks":182504,"value":12252,"nodeType":864},{},[],{"data":182506,"content":182507,"nodeType":860},{},[182508],{"data":182509,"marks":182510,"value":149140,"nodeType":864},{},[],{"data":182512,"content":182513,"nodeType":4581},{},[182514,182523],{"data":182515,"content":182516,"nodeType":4569},{},[182517],{"data":182518,"content":182519,"nodeType":860},{},[182520],{"data":182521,"marks":182522,"value":149153,"nodeType":864},{},[],{"data":182524,"content":182525,"nodeType":4569},{},[182526],{"data":182527,"content":182528,"nodeType":860},{},[182529,182532,182539,182542,182546,182549,182561],{"data":182530,"marks":182531,"value":149163,"nodeType":864},{},[],{"data":182533,"content":182534,"nodeType":883},{"uri":149166},[182535],{"data":182536,"marks":182537,"value":149172,"nodeType":864},{},[182538],{"type":1455},{"data":182540,"marks":182541,"value":149176,"nodeType":864},{},[],{"data":182543,"marks":182544,"value":148666,"nodeType":864},{},[182545],{"type":899},{"data":182547,"marks":182548,"value":902,"nodeType":864},{},[],{"data":182550,"content":182551,"nodeType":883},{"uri":149186},[182552,182557],{"data":182553,"marks":182554,"value":149193,"nodeType":864},{},[182555,182556],{"type":1455},{"type":899},{"data":182558,"marks":182559,"value":149198,"nodeType":864},{},[182560],{"type":1455},{"data":182562,"marks":182563,"value":149202,"nodeType":864},{},[],{"data":182565,"content":182566,"nodeType":860},{},[182567],{"data":182568,"marks":182569,"value":149209,"nodeType":864},{},[],{"data":182571,"content":182572,"nodeType":860},{},[182573,182576,182583],{"data":182574,"marks":182575,"value":149216,"nodeType":864},{},[],{"data":182577,"content":182578,"nodeType":883},{"uri":149219},[182579],{"data":182580,"marks":182581,"value":148654,"nodeType":864},{},[182582],{"type":1455},{"data":182584,"marks":182585,"value":149228,"nodeType":864},{},[],{"data":182587,"content":182588,"nodeType":860},{},[182589],{"data":182590,"marks":182591,"value":149235,"nodeType":864},{},[],{"data":182593,"content":182594,"nodeType":860},{},[182595],{"data":182596,"marks":182597,"value":149244,"nodeType":864},{},[182598,182599],{"type":899},{"type":2246},{"data":182601,"content":182602,"nodeType":860},{},[182603,182606,182610],{"data":182604,"marks":182605,"value":149251,"nodeType":864},{},[],{"data":182607,"marks":182608,"value":149256,"nodeType":864},{},[182609],{"type":2246},{"data":182611,"marks":182612,"value":149260,"nodeType":864},{},[],{"data":182614,"content":182615,"nodeType":1009},{},[182616],{"data":182617,"marks":182618,"value":149267,"nodeType":864},{},[],{"data":182620,"content":182621,"nodeType":860},{},[182622],{"data":182623,"marks":182624,"value":149274,"nodeType":864},{},[],{"data":182626,"content":182627,"nodeType":860},{},[182628],{"data":182629,"marks":182630,"value":149281,"nodeType":864},{},[],{"items":182632},[182633,182635],{"sys":182634,"name":6593},{"id":6592},{"sys":182636,"name":4904},{"id":4903},{"items":182638},[182639],{"fullName":38408,"firstName":38409,"jobTitle":38410,"profilePicture":182640},{"url":38412},{"__typename":2059,"sys":182642,"content":182643,"title":153595,"synopsis":183010,"hashTags":59,"publishedDate":183011,"slug":153596,"tagsCollection":183012,"authorsCollection":183018},{"id":141458},{"json":182644},{"data":182645,"content":182646,"nodeType":856},{},[182647,182654,182661,182668,182674,182681,182700,182719,182726,182733,182740,182745,182752,182770,182790,182797,182804,182824,182840,182856,182863,182883,182890,182909,182916,182923,182930,182937,182944,182962,182969,182976,182983,182990,182997,183003],{"data":182648,"content":182649,"nodeType":860},{},[182650],{"data":182651,"marks":182652,"value":182653,"nodeType":864},{},[],"Security teams know they need full visibility into which SaaS platforms employees are using to even start focusing on SaaS management and security. Even better, they want to understand how employees are using them, right? ",{"data":182655,"content":182656,"nodeType":860},{},[182657],{"data":182658,"marks":182659,"value":182660,"nodeType":864},{},[],"Many people we talk to are starting to chip away at getting visibility into employee-adopted apps by using some combination of central information repositories such as email discovery, financial records, OAuth logs, SSO logs, web proxy logs, etc. So why would anyone want or need to use a browser extension? Browser extensions are the most effective SaaS discovery tool because they can capture employee SaaS use and adoption in real time, as employees sign up. The browser also allows us to work with the user to guide them to use SaaS more securely right where they’re working - in the browser.",{"data":182662,"content":182663,"nodeType":860},{},[182664],{"data":182665,"marks":182666,"value":182667,"nodeType":864},{},[],"We’ll dig into this topic a bit more in this article and we’d love to hear questions, concerns, and have a healthy debate on our social media channels, so hit us up!",{"data":182669,"content":182670,"nodeType":1312},{},[182671],{"data":182672,"marks":182673,"value":126377,"nodeType":864},{},[],{"data":182675,"content":182676,"nodeType":860},{},[182677],{"data":182678,"marks":182679,"value":182680,"nodeType":864},{},[],"Different approaches for discovering SaaS use have unique advantages and disadvantages and the most effective solution is usually to combine several approaches that complement one another. That being said, in the case of SaaS discovery, browser extensions have some really significant advantages that can’t be matched by other approaches - so if you could only pick one approach, then a browser extension is the way to go.",{"data":182682,"content":182683,"nodeType":860},{},[182684,182688,182696],{"data":182685,"marks":182686,"value":182687,"nodeType":864},{},[],"The first point to consider is that it is extremely common for SaaS solutions to be self-adopted by individual employees or teams within a business, without working with IT or following the established procurement process. ",{"data":182689,"content":182690,"nodeType":883},{"uri":165034},[182691],{"data":182692,"marks":182693,"value":182695,"nodeType":864},{},[182694],{"type":1455},"According to G2",{"data":182697,"marks":182698,"value":182699,"nodeType":864},{},[],", 80% of workers admit to using SaaS applications at work without getting approval from IT. Employees are likely to access SaaS however is easiest and most familiar for them. So, employees aren’t going to set up a full SSO connection with your own authentication provider (on the off chance that the app even provides SSO integration). They might not be using a social login using your M365/Google tenant and they might not even be using their company email to sign up/login - they could just be using a personal webmail account.",{"data":182701,"content":182702,"nodeType":860},{},[182703,182707,182715],{"data":182704,"marks":182705,"value":182706,"nodeType":864},{},[],"That leaves security teams with limited or no visibility of employee SaaS use using other centralized methods. We found that only around 30% of SaaS providers we analyzed support SSO and of those that do, many require paying for the highest cost enterprise plan in order to gain access to it - i.e. “",{"data":182708,"content":182709,"nodeType":883},{"uri":29107},[182710],{"data":182711,"marks":182712,"value":182714,"nodeType":864},{},[182713],{"type":1455},"The SSO tax",{"data":182716,"marks":182717,"value":182718,"nodeType":864},{},[],".” ",{"data":182720,"content":182721,"nodeType":860},{},[182722],{"data":182723,"marks":182724,"value":182725,"nodeType":864},{},[],"Many don’t support social logins and, if they do, you’ll find M365 social logins are much less commonly supported than Google, so if you’re a Microsoft house, that pushes users towards individual email/password logins, which are far less secure.",{"data":182727,"content":182728,"nodeType":1312},{},[182729],{"data":182730,"marks":182731,"value":182732,"nodeType":864},{},[],"A comparison of data sources for SaaS discovery",{"data":182734,"content":182735,"nodeType":860},{},[182736],{"data":182737,"marks":182738,"value":182739,"nodeType":864},{},[],"We won’t do a deep dive of comparing data sources for SaaS discovery in this post, but here’s a quick and dirty overview. As we mentioned above, most companies (and off-the-shelf SaaS security and SaaS management tools) use some combination of the data sources depicted in the image below. ",{"data":182741,"content":182744,"nodeType":996},{"target":182742},{"sys":182743},{"id":176723,"type":1001,"linkType":1002},[],{"data":182746,"content":182747,"nodeType":860},{},[182748],{"data":182749,"marks":182750,"value":182751,"nodeType":864},{},[]," Now, it goes without saying that we’re a bit biased, but as we were deciding how to build our own SaaS discovery methods, we analyzed the pros and cons of each of these approaches before realizing that the most power was in the browser. Ease of deployment, you’ll notice, takes a bit more work than a couple other methods, but it’s worth it once you realize the powerful capabilities uniquely available in the browser. We’ll address the deployment and rollout challenges in a bit more detail later in this post. ",{"data":182753,"content":182754,"nodeType":860},{},[182755,182759,182767],{"data":182756,"marks":182757,"value":182758,"nodeType":864},{},[],"To dig into each of these approaches and how to potentially combine them to build your own SaaS discovery engine, check out ",{"data":182760,"content":182761,"nodeType":883},{"uri":164982},[182762],{"data":182763,"marks":182764,"value":182766,"nodeType":864},{},[182765],{"type":1455},"this post.",{"data":182768,"marks":182769,"value":8618,"nodeType":864},{},[],{"data":182771,"content":182772,"nodeType":860},{},[182773,182777,182786],{"data":182774,"marks":182775,"value":182776,"nodeType":864},{},[],"If you already know you don’t have the resources (time, team, budget) to build your own and you’re thinking about evaluating solutions, head over to ",{"data":182778,"content":182780,"nodeType":883},{"uri":182779},"https://pushsecurity.com/blog/how-to-find-the-right-saas-security-solution-for-your-organization/",[182781],{"data":182782,"marks":182783,"value":182785,"nodeType":864},{},[182784],{"type":1455},"this post",{"data":182787,"marks":182788,"value":182789,"nodeType":864},{},[]," to understand which might be the best fit for your company. ",{"data":182791,"content":182792,"nodeType":860},{},[182793],{"data":182794,"marks":182795,"value":182796,"nodeType":864},{},[],"Next, we’ll dig into how we manage our own SaaS security to provide some relevant context and we’ll explain where the browser extension fits in",{"data":182798,"content":182799,"nodeType":1312},{},[182800],{"data":182801,"marks":182802,"value":182803,"nodeType":864},{},[],"A case study…with us!",{"data":182805,"content":182806,"nodeType":860},{},[182807,182811,182820],{"data":182808,"marks":182809,"value":182810,"nodeType":864},{},[],"To put this into context, we’ll use ourselves as an example, since we’re a fully SaaS-native company. Our entire business is SaaS security, we have no physical or virtual infrastructure to manage and we actively encourage our employees to self-adopt SaaS solutions to solve their own business needs. We’re also a Google workspace enterprise customer and we educate our employees to ",{"data":182812,"content":182814,"nodeType":883},{"uri":182813},"https://pushsecurity.com/blog/should-i-let-my-employees-login-with-their-work-google-account",[182815],{"data":182816,"marks":182817,"value":182819,"nodeType":864},{},[182818],{"type":1455},"always use Google social logins",{"data":182821,"marks":182822,"value":182823,"nodeType":864},{},[]," for SaaS solutions as the first choice when available ). ",{"data":182825,"content":182826,"nodeType":860},{},[182827,182831,182836],{"data":182828,"marks":182829,"value":182830,"nodeType":864},{},[],"We tuck all SaaS apps behind SSO, wherever we can and wherever our licenses will let us. And since we’re a fairly new company, we’ve been able to push social logins and “login with Google” to our employees since day one, so that’s a pretty clean and ideal world compared to the environments many security folks are working in. This means we really should be a best case example when it comes to centralized SaaS discovery methods. That said, we also use almost 100 different SaaS platforms across the company and, despite everything else above, 33% of these SaaS platforms are ",{"data":182832,"marks":182833,"value":182835,"nodeType":864},{},[182834],{"type":2246},"only ",{"data":182837,"marks":182838,"value":182839,"nodeType":864},{},[],"visible because we’re using a browser extension to discover them as our employees sign up.",{"data":182841,"content":182842,"nodeType":860},{},[182843,182847,182852],{"data":182844,"marks":182845,"value":182846,"nodeType":864},{},[],"A similar company without a browser extension ",{"data":182848,"marks":182849,"value":182851,"nodeType":864},{},[182850],{"type":899},"could be missing out on a third of their SaaS platforms",{"data":182853,"marks":182854,"value":182855,"nodeType":864},{},[],". Once we look at similar stats for our customers, particularly M365 users, we see the percentage of SaaS platforms that are only discovered via the browser extension increase and this is sometimes even as high as 70-80%. If you’re serious about SaaS discovery, then you should really not settle for missing such a large percentage of platforms.",{"data":182857,"content":182858,"nodeType":1312},{},[182859],{"data":182860,"marks":182861,"value":182862,"nodeType":864},{},[],"Why does a browser see so much more?",{"data":182864,"content":182865,"nodeType":860},{},[182866,182870,182879],{"data":182867,"marks":182868,"value":182869,"nodeType":864},{},[],"Since SaaS is often self-adopted, the problem can often be attributed to a decentralized problem. Many SaaS vendors even encourage this as they have a product-led growth (PLG) model and prefer the frictionless growth of a PLG model over the high-friction sales cycle in a centralized procurement model. We’ve got a ",{"data":182871,"content":182873,"nodeType":883},{"uri":182872},"https://pushsecurity.com/webinar/securing-employee-adopted-saas-apps",[182874],{"data":182875,"marks":182876,"value":182878,"nodeType":864},{},[182877],{"type":1455},"webinar with our co-founder",{"data":182880,"marks":182881,"value":182882,"nodeType":864},{},[]," on this topic if you want to explore further. ",{"data":182884,"content":182885,"nodeType":860},{},[182886],{"data":182887,"marks":182888,"value":182889,"nodeType":864},{},[],"Additionally, your average non-technical employee may not be familiar with SSO or social logins as access methods, but everyone knows how to sign-up for a website with an email address, username and password. Consequently, it’s just common for centralized data sources to end up missing a lot of SaaS use if they’re looking at logs, proxies, and other data sources.",{"data":182891,"content":182892,"nodeType":860},{},[182893,182897,182905],{"data":182894,"marks":182895,"value":182896,"nodeType":864},{},[],"Without SSO or social logins, you aren’t seeing anything via those data sources. If you use email discovery, you’ll have lots of false positives to deal with from marketing spam and you’ll only know about it for employees that used their corporate email address and for SaaS platforms that actively send out emails. If you’re relying on network data sources like web proxy data then you need to be capturing everything including home/mobile employees and even then most details will be hidden behind HTTPS connections. You could intercept and decrypt all HTTPS traffic via your proxy, but then you’d be introducing a huge security risk by decrypting all communications in one place. We’ve got a more thorough article on the topic of ",{"data":182898,"content":182899,"nodeType":883},{"uri":164982},[182900],{"data":182901,"marks":182902,"value":182904,"nodeType":864},{},[182903],{"type":1455},"SaaS discovery data sources ",{"data":182906,"marks":182907,"value":182908,"nodeType":864},{},[],"and their pros and cons to read up on, too. ",{"data":182910,"content":182911,"nodeType":860},{},[182912],{"data":182913,"marks":182914,"value":182915,"nodeType":864},{},[],"On the other hand, browsers are quickly becoming the main way people operate from a desktop environment, with the browser as the way they’re doing almost every task. Since they’re using the browser to access their apps, it makes sense to use data collected from the browser to get visibility of SaaS. It doesn’t matter if they use an SSO login, a social login, an email address/password login, a corporate email or a personal webmail account - as long as they login or access the SaaS platform from a browser, then a browser extension is best placed to see that. Wherever the user is in the world, whatever they are doing, the extension can keep an eye out.",{"data":182917,"content":182918,"nodeType":1312},{},[182919],{"data":182920,"marks":182921,"value":182922,"nodeType":864},{},[],"There are so many other security benefits beyond basic visibility",{"data":182924,"content":182925,"nodeType":860},{},[182926],{"data":182927,"marks":182928,"value":182929,"nodeType":864},{},[],"We’ve covered general visibility of SaaS platforms (i.e. whether they are in use or not, what login method is in use and by who), but there’s much more useful information for managing SaaS security risks. To secure SaaS, you also need to know whether multi-factor authentication (MFA) is in use; If the password is secure; If passwords are shared between different accounts; If accounts are shared between users; If sensitive files are uploaded to a particular SaaS platform.",{"data":182931,"content":182932,"nodeType":860},{},[182933],{"data":182934,"marks":182935,"value":182936,"nodeType":864},{},[],"Some SaaS vendors may provide APIs and logs that can answer some of these questions, but this tends to be limited to the biggest or most security conscious vendors. It’s overwhelming to handle this manually because you need to consider separate integrations with all your different SaaS vendors, and that’s assuming you already know they are in use. It might be viable for some of the most important SaaS platforms you use (think Salesforce, Slack, Trello, etc.) , but it’s not easy to go much further when you have hundreds of different SaaS platforms to consider.",{"data":182938,"content":182939,"nodeType":860},{},[182940],{"data":182941,"marks":182942,"value":182943,"nodeType":864},{},[],"A browser extension, on the other hand, can see all the interactions between users and any given SaaS platform, so it can provide insights that may not be visible via a SaaS vendor’s own APIs or logs. This is especially true for fairly standardized mechanisms such as web-based logins, where it provides an easy opportunity to provide password security checks and MFA checks. ",{"data":182945,"content":182946,"nodeType":860},{},[182947,182951,182959],{"data":182948,"marks":182949,"value":182950,"nodeType":864},{},[],"Being a decentralized model, this can all be achieved without sending lots of highly sensitive data (e.g. passwords) to a centralized point. Instead, the browser extension can just report individual security findings as necessary without feeding that private data to a central repository. The Push browser extension identifies weak passwords in use, MFA status, passwords shared between different SaaS platforms and even accounts being shared by multiple different users - none of this requires sending passwords or any other sensitive data to our central servers - just the findings themselves. You can find more information about what data we collect ",{"data":182952,"content":182954,"nodeType":883},{"uri":182953},"https://pushsecurity.com/help/audience/administrators/docs/install-the-browser-extension",[182955],{"data":182956,"marks":182957,"value":29669,"nodeType":864},{},[182958],{"type":1455},{"data":182960,"marks":182961,"value":12252,"nodeType":864},{},[],{"data":182963,"content":182964,"nodeType":1312},{},[182965],{"data":182966,"marks":182967,"value":182968,"nodeType":864},{},[],"How do I roll out a browser extension to every single employee?",{"data":182970,"content":182971,"nodeType":860},{},[182972],{"data":182973,"marks":182974,"value":182975,"nodeType":864},{},[],"Traditionally, browser extensions have been focused on self-adoption by users via a browser extension store. In that case, the user makes the decision to install, rather than IT or security managing the deployment.",{"data":182977,"content":182978,"nodeType":860},{},[182979],{"data":182980,"marks":182981,"value":182982,"nodeType":864},{},[],"However, the major browser vendors have made it easy to install and manage browser extensions centrally, as well as making them more resilient to ensure they’re both secure and cannot induce significant performance issues in the browser.",{"data":182984,"content":182985,"nodeType":860},{},[182986],{"data":182987,"marks":182988,"value":182989,"nodeType":864},{},[],"Most larger organizations will be familiar with deploying desktop software remotely using central device management software, especially for endpoint security software like anti-virus and EDR. The same idea works with a browser extension using most of the common browser and operating system combinations. The Push browser extension can be deployed centrally on Chrome, Edge, Firefox and Brave, depending on the device management software and operating system in use. ",{"data":182991,"content":182992,"nodeType":860},{},[182993],{"data":182994,"marks":182995,"value":182996,"nodeType":864},{},[],"What’s more, browser extensions consist of JavaScript running in a tightly-controlled environment with additional performance controls in place by the browser and they even auto-update too. Compare this with the common case for endpoint security software of having an agent running as SYSTEM/root and users complaining it’s stealing all their CPU cycles and centralized browser deployment starts looking like a more attractive prospect than traditional endpoint agent deployment.",{"data":182998,"content":182999,"nodeType":1312},{},[183000],{"data":183001,"marks":183002,"value":32492,"nodeType":864},{},[],{"data":183004,"content":183005,"nodeType":860},{},[183006],{"data":183007,"marks":183008,"value":183009,"nodeType":864},{},[],"We’re pretty into browser extensions here, but it’s not just because that’s how our product works. We’re not trying to sell you a new thing just for the sake of building something novel. Browser extensions are going to become one of the most important methods of managing SaaS security going forward. They’ve got advantages that other approaches just can’t match and centralized deployment and management is now a slick, easy and - frankly - solved problem. ","Browser extensions are the most effective SaaS discovery tool because they can capture employee SaaS use and adoption in real time, as employees sign up. ","2023-04-25T00:00:00.000Z",{"items":183013},[183014,183016],{"sys":183015,"name":4904},{"id":4903},{"sys":183017,"name":297},{"id":2732},{"items":183019},[183020],{"fullName":4949,"firstName":4950,"jobTitle":4951,"profilePicture":183021},{"url":4955},"blog/3-steps-to-secure-your-data-across-shadow-saas-apps",{"json":183024},{"data":183025,"content":183026,"nodeType":856},{},[183027],{"data":183028,"content":183029,"nodeType":860},{},[183030],{"data":183031,"marks":183032,"value":183033,"nodeType":864},{},[],"Attackers commonly target SaaS apps because they know employees sign up without running them past IT first. Learn how to adjust to secure your data.",{"id":149298,"publishedAt":183035},"2026-08-12T11:56:16.601Z",{"items":183037},[183038,183040],{"sys":183039,"name":4904},{"id":4903},{"sys":183041,"name":2729},{"id":2728},{"items":183043},[183044,183046,183048,183050,183052,183054,183056,183058,183060],{"sys":183045,"name":545,"slug":546,"tier":31},{"id":542},{"sys":183047,"name":413,"slug":414,"tier":31},{"id":410},{"sys":183049,"name":297,"slug":298,"tier":31},{"id":294},{"sys":183051,"name":589,"slug":590,"tier":45},{"id":586},{"sys":183053,"name":333,"slug":334,"tier":45},{"id":330},{"sys":183055,"name":457,"slug":458,"tier":45},{"id":454},{"sys":183057,"name":502,"slug":503,"tier":45},{"id":499},{"sys":183059,"name":306,"slug":307,"tier":45},{"id":303},{"sys":183061,"name":633,"slug":634,"tier":45},{"id":630},"bfrjaJRm7WwQudAcaQuYFML0hKXe-_vosmuho_T4aXg",{"id":183064,"title":149282,"authorsCollection":183065,"content":183070,"extension":228,"faqItemsCollection":184355,"faqTitle":59,"featured":6,"hashTags":59,"meta":184357,"metaTitle":184358,"ogImage":59,"postType":9326,"publishedDate":149284,"relatedBlogPostsCollection":184359,"slug":149285,"stem":184655,"subtitle":59,"summary":184656,"synopsis":149283,"sys":184667,"tagsCollection":184669,"topicsCollection":184675,"__hash__":184699},"blog/blog/saas-has-changed-how-we-adopt-software-how-should-security-adapt.json",{"items":183066},[183067],{"fullName":38408,"firstName":38409,"jobTitle":38410,"socialLinks":183068,"profilePicture":183069},[38494],{"url":38412},{"json":183071,"links":184326},{"data":183072,"content":183073,"nodeType":856},{},[183074,183080,183086,183092,183098,183104,183110,183116,183122,183161,183167,183173,183179,183185,183191,183196,183202,183208,183214,183221,183227,183233,183239,183245,183251,183257,183263,183279,183284,183290,183296,183306,183313,183319,183324,183330,183336,183341,183347,183355,183368,183389,183395,183401,183407,183413,183418,183424,183430,183436,183442,183448,183454,183470,183476,183482,183488,183494,183507,183537,183545,183551,183557,183563,183569,183575,183581,183587,183592,183598,183604,183610,183616,183622,183628,183644,183650,183655,183661,183682,183688,183694,183724,183730,183736,183742,183748,183760,183766,183826,183832,183838,183859,183864,183870,183876,183882,183912,183918,184259,184265,184281,184287,184295,184308,184314,184320],{"data":183075,"content":183076,"nodeType":1009},{},[183077],{"data":183078,"marks":183079,"value":126377,"nodeType":864},{},[],{"data":183081,"content":183082,"nodeType":860},{},[183083],{"data":183084,"marks":183085,"value":147844,"nodeType":864},{},[],{"data":183087,"content":183088,"nodeType":860},{},[183089],{"data":183090,"marks":183091,"value":147851,"nodeType":864},{},[],{"data":183093,"content":183094,"nodeType":860},{},[183095],{"data":183096,"marks":183097,"value":147858,"nodeType":864},{},[],{"data":183099,"content":183100,"nodeType":860},{},[183101],{"data":183102,"marks":183103,"value":147865,"nodeType":864},{},[],{"data":183105,"content":183106,"nodeType":860},{},[183107],{"data":183108,"marks":183109,"value":147872,"nodeType":864},{},[],{"data":183111,"content":183112,"nodeType":860},{},[183113],{"data":183114,"marks":183115,"value":147879,"nodeType":864},{},[],{"data":183117,"content":183118,"nodeType":860},{},[183119],{"data":183120,"marks":183121,"value":147886,"nodeType":864},{},[],{"data":183123,"content":183124,"nodeType":941},{},[183125,183134,183143,183152],{"data":183126,"content":183127,"nodeType":945},{},[183128],{"data":183129,"content":183130,"nodeType":860},{},[183131],{"data":183132,"marks":183133,"value":147899,"nodeType":864},{},[],{"data":183135,"content":183136,"nodeType":945},{},[183137],{"data":183138,"content":183139,"nodeType":860},{},[183140],{"data":183141,"marks":183142,"value":147909,"nodeType":864},{},[],{"data":183144,"content":183145,"nodeType":945},{},[183146],{"data":183147,"content":183148,"nodeType":860},{},[183149],{"data":183150,"marks":183151,"value":147919,"nodeType":864},{},[],{"data":183153,"content":183154,"nodeType":945},{},[183155],{"data":183156,"content":183157,"nodeType":860},{},[183158],{"data":183159,"marks":183160,"value":147929,"nodeType":864},{},[],{"data":183162,"content":183163,"nodeType":860},{},[183164],{"data":183165,"marks":183166,"value":147936,"nodeType":864},{},[],{"data":183168,"content":183169,"nodeType":860},{},[183170],{"data":183171,"marks":183172,"value":147943,"nodeType":864},{},[],{"data":183174,"content":183175,"nodeType":1009},{},[183176],{"data":183177,"marks":183178,"value":147950,"nodeType":864},{},[],{"data":183180,"content":183181,"nodeType":1312},{},[183182],{"data":183183,"marks":183184,"value":147957,"nodeType":864},{},[],{"data":183186,"content":183187,"nodeType":860},{},[183188],{"data":183189,"marks":183190,"value":147964,"nodeType":864},{},[],{"data":183192,"content":183195,"nodeType":996},{"target":183193},{"sys":183194},{"id":147969,"type":1001,"linkType":1002},[],{"data":183197,"content":183198,"nodeType":860},{},[183199],{"data":183200,"marks":183201,"value":147977,"nodeType":864},{},[],{"data":183203,"content":183204,"nodeType":860},{},[183205],{"data":183206,"marks":183207,"value":147984,"nodeType":864},{},[],{"data":183209,"content":183210,"nodeType":860},{},[183211],{"data":183212,"marks":183213,"value":147991,"nodeType":864},{},[],{"data":183215,"content":183216,"nodeType":860},{},[183217],{"data":183218,"marks":183219,"value":147999,"nodeType":864},{},[183220],{"type":2246},{"data":183222,"content":183223,"nodeType":1312},{},[183224],{"data":183225,"marks":183226,"value":148006,"nodeType":864},{},[],{"data":183228,"content":183229,"nodeType":860},{},[183230],{"data":183231,"marks":183232,"value":148013,"nodeType":864},{},[],{"data":183234,"content":183235,"nodeType":860},{},[183236],{"data":183237,"marks":183238,"value":148020,"nodeType":864},{},[],{"data":183240,"content":183241,"nodeType":860},{},[183242],{"data":183243,"marks":183244,"value":148027,"nodeType":864},{},[],{"data":183246,"content":183247,"nodeType":860},{},[183248],{"data":183249,"marks":183250,"value":148034,"nodeType":864},{},[],{"data":183252,"content":183253,"nodeType":1312},{},[183254],{"data":183255,"marks":183256,"value":148041,"nodeType":864},{},[],{"data":183258,"content":183259,"nodeType":860},{},[183260],{"data":183261,"marks":183262,"value":148048,"nodeType":864},{},[],{"data":183264,"content":183265,"nodeType":860},{},[183266,183269,183276],{"data":183267,"marks":183268,"value":148055,"nodeType":864},{},[],{"data":183270,"content":183271,"nodeType":883},{"uri":148058},[183272],{"data":183273,"marks":183274,"value":148064,"nodeType":864},{},[183275],{"type":1455},{"data":183277,"marks":183278,"value":148068,"nodeType":864},{},[],{"data":183280,"content":183283,"nodeType":996},{"target":183281},{"sys":183282},{"id":148073,"type":1001,"linkType":1002},[],{"data":183285,"content":183286,"nodeType":860},{},[183287],{"data":183288,"marks":183289,"value":148081,"nodeType":864},{},[],{"data":183291,"content":183292,"nodeType":860},{},[183293],{"data":183294,"marks":183295,"value":148088,"nodeType":864},{},[],{"data":183297,"content":183298,"nodeType":860},{},[183299,183302],{"data":183300,"marks":183301,"value":148095,"nodeType":864},{},[],{"data":183303,"marks":183304,"value":1171,"nodeType":864},{},[183305],{"type":899},{"data":183307,"content":183308,"nodeType":860},{},[183309],{"data":183310,"marks":183311,"value":148107,"nodeType":864},{},[183312],{"type":899},{"data":183314,"content":183315,"nodeType":860},{},[183316],{"data":183317,"marks":183318,"value":148114,"nodeType":864},{},[],{"data":183320,"content":183323,"nodeType":996},{"target":183321},{"sys":183322},{"id":148119,"type":1001,"linkType":1002},[],{"data":183325,"content":183326,"nodeType":1312},{},[183327],{"data":183328,"marks":183329,"value":148127,"nodeType":864},{},[],{"data":183331,"content":183332,"nodeType":860},{},[183333],{"data":183334,"marks":183335,"value":148134,"nodeType":864},{},[],{"data":183337,"content":183340,"nodeType":996},{"target":183338},{"sys":183339},{"id":148139,"type":1001,"linkType":1002},[],{"data":183342,"content":183343,"nodeType":860},{},[183344],{"data":183345,"marks":183346,"value":148147,"nodeType":864},{},[],{"data":183348,"content":183349,"nodeType":860},{},[183350],{"data":183351,"marks":183352,"value":148156,"nodeType":864},{},[183353,183354],{"type":2246},{"type":899},{"data":183356,"content":183357,"nodeType":860},{},[183358,183361,183365],{"data":183359,"marks":183360,"value":148163,"nodeType":864},{},[],{"data":183362,"marks":183363,"value":148168,"nodeType":864},{},[183364],{"type":899},{"data":183366,"marks":183367,"value":148172,"nodeType":864},{},[],{"data":183369,"content":183370,"nodeType":118765},{},[183371,183380],{"data":183372,"content":183373,"nodeType":945},{},[183374],{"data":183375,"content":183376,"nodeType":860},{},[183377],{"data":183378,"marks":183379,"value":148185,"nodeType":864},{},[],{"data":183381,"content":183382,"nodeType":945},{},[183383],{"data":183384,"content":183385,"nodeType":860},{},[183386],{"data":183387,"marks":183388,"value":148195,"nodeType":864},{},[],{"data":183390,"content":183391,"nodeType":1009},{},[183392],{"data":183393,"marks":183394,"value":148202,"nodeType":864},{},[],{"data":183396,"content":183397,"nodeType":1312},{},[183398],{"data":183399,"marks":183400,"value":148209,"nodeType":864},{},[],{"data":183402,"content":183403,"nodeType":860},{},[183404],{"data":183405,"marks":183406,"value":148216,"nodeType":864},{},[],{"data":183408,"content":183409,"nodeType":860},{},[183410],{"data":183411,"marks":183412,"value":148223,"nodeType":864},{},[],{"data":183414,"content":183417,"nodeType":996},{"target":183415},{"sys":183416},{"id":148228,"type":1001,"linkType":1002},[],{"data":183419,"content":183420,"nodeType":1312},{},[183421],{"data":183422,"marks":183423,"value":148236,"nodeType":864},{},[],{"data":183425,"content":183426,"nodeType":860},{},[183427],{"data":183428,"marks":183429,"value":148243,"nodeType":864},{},[],{"data":183431,"content":183432,"nodeType":860},{},[183433],{"data":183434,"marks":183435,"value":148250,"nodeType":864},{},[],{"data":183437,"content":183438,"nodeType":860},{},[183439],{"data":183440,"marks":183441,"value":148257,"nodeType":864},{},[],{"data":183443,"content":183444,"nodeType":860},{},[183445],{"data":183446,"marks":183447,"value":148264,"nodeType":864},{},[],{"data":183449,"content":183450,"nodeType":1312},{},[183451],{"data":183452,"marks":183453,"value":148271,"nodeType":864},{},[],{"data":183455,"content":183456,"nodeType":860},{},[183457,183460,183467],{"data":183458,"marks":183459,"value":148278,"nodeType":864},{},[],{"data":183461,"content":183462,"nodeType":883},{"uri":148281},[183463],{"data":183464,"marks":183465,"value":148287,"nodeType":864},{},[183466],{"type":1455},{"data":183468,"marks":183469,"value":148291,"nodeType":864},{},[],{"data":183471,"content":183472,"nodeType":860},{},[183473],{"data":183474,"marks":183475,"value":148298,"nodeType":864},{},[],{"data":183477,"content":183478,"nodeType":1312},{},[183479],{"data":183480,"marks":183481,"value":148305,"nodeType":864},{},[],{"data":183483,"content":183484,"nodeType":860},{},[183485],{"data":183486,"marks":183487,"value":148312,"nodeType":864},{},[],{"data":183489,"content":183490,"nodeType":860},{},[183491],{"data":183492,"marks":183493,"value":148319,"nodeType":864},{},[],{"data":183495,"content":183496,"nodeType":860},{},[183497,183500,183504],{"data":183498,"marks":183499,"value":148326,"nodeType":864},{},[],{"data":183501,"marks":183502,"value":148331,"nodeType":864},{},[183503],{"type":2246},{"data":183505,"marks":183506,"value":148335,"nodeType":864},{},[],{"data":183508,"content":183509,"nodeType":941},{},[183510,183519,183528],{"data":183511,"content":183512,"nodeType":945},{},[183513],{"data":183514,"content":183515,"nodeType":860},{},[183516],{"data":183517,"marks":183518,"value":148348,"nodeType":864},{},[],{"data":183520,"content":183521,"nodeType":945},{},[183522],{"data":183523,"content":183524,"nodeType":860},{},[183525],{"data":183526,"marks":183527,"value":148358,"nodeType":864},{},[],{"data":183529,"content":183530,"nodeType":945},{},[183531],{"data":183532,"content":183533,"nodeType":860},{},[183534],{"data":183535,"marks":183536,"value":148368,"nodeType":864},{},[],{"data":183538,"content":183539,"nodeType":860},{},[183540],{"data":183541,"marks":183542,"value":148377,"nodeType":864},{},[183543,183544],{"type":2246},{"type":899},{"data":183546,"content":183547,"nodeType":860},{},[183548],{"data":183549,"marks":183550,"value":148384,"nodeType":864},{},[],{"data":183552,"content":183553,"nodeType":1312},{},[183554],{"data":183555,"marks":183556,"value":148391,"nodeType":864},{},[],{"data":183558,"content":183559,"nodeType":860},{},[183560],{"data":183561,"marks":183562,"value":148398,"nodeType":864},{},[],{"data":183564,"content":183565,"nodeType":860},{},[183566],{"data":183567,"marks":183568,"value":148405,"nodeType":864},{},[],{"data":183570,"content":183571,"nodeType":1312},{},[183572],{"data":183573,"marks":183574,"value":148412,"nodeType":864},{},[],{"data":183576,"content":183577,"nodeType":860},{},[183578],{"data":183579,"marks":183580,"value":148419,"nodeType":864},{},[],{"data":183582,"content":183583,"nodeType":860},{},[183584],{"data":183585,"marks":183586,"value":148426,"nodeType":864},{},[],{"data":183588,"content":183591,"nodeType":996},{"target":183589},{"sys":183590},{"id":148431,"type":1001,"linkType":1002},[],{"data":183593,"content":183594,"nodeType":860},{},[183595],{"data":183596,"marks":183597,"value":148439,"nodeType":864},{},[],{"data":183599,"content":183600,"nodeType":860},{},[183601],{"data":183602,"marks":183603,"value":148446,"nodeType":864},{},[],{"data":183605,"content":183606,"nodeType":860},{},[183607],{"data":183608,"marks":183609,"value":148453,"nodeType":864},{},[],{"data":183611,"content":183612,"nodeType":1009},{},[183613],{"data":183614,"marks":183615,"value":148460,"nodeType":864},{},[],{"data":183617,"content":183618,"nodeType":860},{},[183619],{"data":183620,"marks":183621,"value":148467,"nodeType":864},{},[],{"data":183623,"content":183624,"nodeType":1312},{},[183625],{"data":183626,"marks":183627,"value":148474,"nodeType":864},{},[],{"data":183629,"content":183630,"nodeType":860},{},[183631,183634,183641],{"data":183632,"marks":183633,"value":148481,"nodeType":864},{},[],{"data":183635,"content":183636,"nodeType":883},{"uri":148484},[183637],{"data":183638,"marks":183639,"value":148490,"nodeType":864},{},[183640],{"type":1455},{"data":183642,"marks":183643,"value":148494,"nodeType":864},{},[],{"data":183645,"content":183646,"nodeType":860},{},[183647],{"data":183648,"marks":183649,"value":148501,"nodeType":864},{},[],{"data":183651,"content":183654,"nodeType":996},{"target":183652},{"sys":183653},{"id":148506,"type":1001,"linkType":1002},[],{"data":183656,"content":183657,"nodeType":860},{},[183658],{"data":183659,"marks":183660,"value":148514,"nodeType":864},{},[],{"data":183662,"content":183663,"nodeType":118765},{},[183664,183673],{"data":183665,"content":183666,"nodeType":945},{},[183667],{"data":183668,"content":183669,"nodeType":860},{},[183670],{"data":183671,"marks":183672,"value":148527,"nodeType":864},{},[],{"data":183674,"content":183675,"nodeType":945},{},[183676],{"data":183677,"content":183678,"nodeType":860},{},[183679],{"data":183680,"marks":183681,"value":148537,"nodeType":864},{},[],{"data":183683,"content":183684,"nodeType":860},{},[183685],{"data":183686,"marks":183687,"value":148544,"nodeType":864},{},[],{"data":183689,"content":183690,"nodeType":860},{},[183691],{"data":183692,"marks":183693,"value":148551,"nodeType":864},{},[],{"data":183695,"content":183696,"nodeType":941},{},[183697,183706,183715],{"data":183698,"content":183699,"nodeType":945},{},[183700],{"data":183701,"content":183702,"nodeType":860},{},[183703],{"data":183704,"marks":183705,"value":148564,"nodeType":864},{},[],{"data":183707,"content":183708,"nodeType":945},{},[183709],{"data":183710,"content":183711,"nodeType":860},{},[183712],{"data":183713,"marks":183714,"value":148574,"nodeType":864},{},[],{"data":183716,"content":183717,"nodeType":945},{},[183718],{"data":183719,"content":183720,"nodeType":860},{},[183721],{"data":183722,"marks":183723,"value":148584,"nodeType":864},{},[],{"data":183725,"content":183726,"nodeType":860},{},[183727],{"data":183728,"marks":183729,"value":148591,"nodeType":864},{},[],{"data":183731,"content":183732,"nodeType":860},{},[183733],{"data":183734,"marks":183735,"value":148598,"nodeType":864},{},[],{"data":183737,"content":183738,"nodeType":860},{},[183739],{"data":183740,"marks":183741,"value":148605,"nodeType":864},{},[],{"data":183743,"content":183744,"nodeType":860},{},[183745],{"data":183746,"marks":183747,"value":148612,"nodeType":864},{},[],{"data":183749,"content":183750,"nodeType":941},{},[183751],{"data":183752,"content":183753,"nodeType":945},{},[183754],{"data":183755,"content":183756,"nodeType":860},{},[183757],{"data":183758,"marks":183759,"value":148625,"nodeType":864},{},[],{"data":183761,"content":183762,"nodeType":860},{},[183763],{"data":183764,"marks":183765,"value":148632,"nodeType":864},{},[],{"data":183767,"content":183768,"nodeType":941},{},[183769,183808,183817],{"data":183770,"content":183771,"nodeType":945},{},[183772],{"data":183773,"content":183774,"nodeType":860},{},[183775,183778,183785,183788,183795,183798,183805],{"data":183776,"marks":183777,"value":148645,"nodeType":864},{},[],{"data":183779,"content":183780,"nodeType":883},{"uri":148648},[183781],{"data":183782,"marks":183783,"value":148654,"nodeType":864},{},[183784],{"type":1455},{"data":183786,"marks":183787,"value":3731,"nodeType":864},{},[],{"data":183789,"content":183790,"nodeType":883},{"uri":148660},[183791],{"data":183792,"marks":183793,"value":148666,"nodeType":864},{},[183794],{"type":1455},{"data":183796,"marks":183797,"value":3731,"nodeType":864},{},[],{"data":183799,"content":183800,"nodeType":883},{"uri":148672},[183801],{"data":183802,"marks":183803,"value":148678,"nodeType":864},{},[183804],{"type":1455},{"data":183806,"marks":183807,"value":148682,"nodeType":864},{},[],{"data":183809,"content":183810,"nodeType":945},{},[183811],{"data":183812,"content":183813,"nodeType":860},{},[183814],{"data":183815,"marks":183816,"value":148692,"nodeType":864},{},[],{"data":183818,"content":183819,"nodeType":945},{},[183820],{"data":183821,"content":183822,"nodeType":860},{},[183823],{"data":183824,"marks":183825,"value":148702,"nodeType":864},{},[],{"data":183827,"content":183828,"nodeType":1312},{},[183829],{"data":183830,"marks":183831,"value":148709,"nodeType":864},{},[],{"data":183833,"content":183834,"nodeType":860},{},[183835],{"data":183836,"marks":183837,"value":148716,"nodeType":864},{},[],{"data":183839,"content":183840,"nodeType":118765},{},[183841,183850],{"data":183842,"content":183843,"nodeType":945},{},[183844],{"data":183845,"content":183846,"nodeType":860},{},[183847],{"data":183848,"marks":183849,"value":148729,"nodeType":864},{},[],{"data":183851,"content":183852,"nodeType":945},{},[183853],{"data":183854,"content":183855,"nodeType":860},{},[183856],{"data":183857,"marks":183858,"value":148739,"nodeType":864},{},[],{"data":183860,"content":183863,"nodeType":996},{"target":183861},{"sys":183862},{"id":148744,"type":1001,"linkType":1002},[],{"data":183865,"content":183866,"nodeType":860},{},[183867],{"data":183868,"marks":183869,"value":148752,"nodeType":864},{},[],{"data":183871,"content":183872,"nodeType":1009},{},[183873],{"data":183874,"marks":183875,"value":148759,"nodeType":864},{},[],{"data":183877,"content":183878,"nodeType":860},{},[183879],{"data":183880,"marks":183881,"value":148766,"nodeType":864},{},[],{"data":183883,"content":183884,"nodeType":941},{},[183885,183894,183903],{"data":183886,"content":183887,"nodeType":945},{},[183888],{"data":183889,"content":183890,"nodeType":860},{},[183891],{"data":183892,"marks":183893,"value":148779,"nodeType":864},{},[],{"data":183895,"content":183896,"nodeType":945},{},[183897],{"data":183898,"content":183899,"nodeType":860},{},[183900],{"data":183901,"marks":183902,"value":148789,"nodeType":864},{},[],{"data":183904,"content":183905,"nodeType":945},{},[183906],{"data":183907,"content":183908,"nodeType":860},{},[183909],{"data":183910,"marks":183911,"value":148799,"nodeType":864},{},[],{"data":183913,"content":183914,"nodeType":860},{},[183915],{"data":183916,"marks":183917,"value":148806,"nodeType":864},{},[],{"data":183919,"content":183920,"nodeType":4845},{},[183921,183944,184012,184061,184099,184206],{"data":183922,"content":183923,"nodeType":4581},{},[183924,183934],{"data":183925,"content":183926,"nodeType":4569},{},[183927],{"data":183928,"content":183929,"nodeType":860},{},[183930],{"data":183931,"marks":183932,"value":148823,"nodeType":864},{},[183933],{"type":899},{"data":183935,"content":183936,"nodeType":4569},{},[183937],{"data":183938,"content":183939,"nodeType":860},{},[183940],{"data":183941,"marks":183942,"value":148834,"nodeType":864},{},[183943],{"type":899},{"data":183945,"content":183946,"nodeType":4581},{},[183947,183956],{"data":183948,"content":183949,"nodeType":4569},{},[183950],{"data":183951,"content":183952,"nodeType":860},{},[183953],{"data":183954,"marks":183955,"value":148847,"nodeType":864},{},[],{"data":183957,"content":183958,"nodeType":4569},{},[183959,183982],{"data":183960,"content":183961,"nodeType":860},{},[183962,183965,183972,183975,183979],{"data":183963,"marks":183964,"value":21,"nodeType":864},{},[],{"data":183966,"content":183967,"nodeType":883},{"uri":148859},[183968],{"data":183969,"marks":183970,"value":148865,"nodeType":864},{},[183971],{"type":1455},{"data":183973,"marks":183974,"value":148869,"nodeType":864},{},[],{"data":183976,"marks":183977,"value":148874,"nodeType":864},{},[183978],{"type":899},{"data":183980,"marks":183981,"value":148878,"nodeType":864},{},[],{"data":183983,"content":183984,"nodeType":860},{},[183985,183988,183995,183998,184002,184005,184009],{"data":183986,"marks":183987,"value":148885,"nodeType":864},{},[],{"data":183989,"content":183990,"nodeType":883},{"uri":148888},[183991],{"data":183992,"marks":183993,"value":148894,"nodeType":864},{},[183994],{"type":1455},{"data":183996,"marks":183997,"value":148898,"nodeType":864},{},[],{"data":183999,"marks":184000,"value":148903,"nodeType":864},{},[184001],{"type":899},{"data":184003,"marks":184004,"value":148907,"nodeType":864},{},[],{"data":184006,"marks":184007,"value":148678,"nodeType":864},{},[184008],{"type":899},{"data":184010,"marks":184011,"value":148915,"nodeType":864},{},[],{"data":184013,"content":184014,"nodeType":4581},{},[184015,184024],{"data":184016,"content":184017,"nodeType":4569},{},[184018],{"data":184019,"content":184020,"nodeType":860},{},[184021],{"data":184022,"marks":184023,"value":148928,"nodeType":864},{},[],{"data":184025,"content":184026,"nodeType":4569},{},[184027],{"data":184028,"content":184029,"nodeType":860},{},[184030,184034,184037,184044,184047,184051,184054,184058],{"data":184031,"marks":184032,"value":148666,"nodeType":864},{},[184033],{"type":899},{"data":184035,"marks":184036,"value":148942,"nodeType":864},{},[],{"data":184038,"content":184039,"nodeType":883},{"uri":148945},[184040],{"data":184041,"marks":184042,"value":148951,"nodeType":864},{},[184043],{"type":1455},{"data":184045,"marks":184046,"value":148955,"nodeType":864},{},[],{"data":184048,"marks":184049,"value":148960,"nodeType":864},{},[184050],{"type":899},{"data":184052,"marks":184053,"value":148964,"nodeType":864},{},[],{"data":184055,"marks":184056,"value":148903,"nodeType":864},{},[184057],{"type":899},{"data":184059,"marks":184060,"value":148972,"nodeType":864},{},[],{"data":184062,"content":184063,"nodeType":4581},{},[184064,184073],{"data":184065,"content":184066,"nodeType":4569},{},[184067],{"data":184068,"content":184069,"nodeType":860},{},[184070],{"data":184071,"marks":184072,"value":148985,"nodeType":864},{},[],{"data":184074,"content":184075,"nodeType":4569},{},[184076],{"data":184077,"content":184078,"nodeType":860},{},[184079,184082,184086,184089,184096],{"data":184080,"marks":184081,"value":148995,"nodeType":864},{},[],{"data":184083,"marks":184084,"value":148666,"nodeType":864},{},[184085],{"type":899},{"data":184087,"marks":184088,"value":149003,"nodeType":864},{},[],{"data":184090,"content":184091,"nodeType":883},{"uri":149006},[184092],{"data":184093,"marks":184094,"value":149012,"nodeType":864},{},[184095],{"type":1455},{"data":184097,"marks":184098,"value":21,"nodeType":864},{},[],{"data":184100,"content":184101,"nodeType":4581},{},[184102,184111],{"data":184103,"content":184104,"nodeType":4569},{},[184105],{"data":184106,"content":184107,"nodeType":860},{},[184108],{"data":184109,"marks":184110,"value":149028,"nodeType":864},{},[],{"data":184112,"content":184113,"nodeType":4569},{},[184114,184148,184171,184184,184200],{"data":184115,"content":184116,"nodeType":860},{},[184117,184121,184124,184128,184131,184138,184141,184145],{"data":184118,"marks":184119,"value":148678,"nodeType":864},{},[184120],{"type":899},{"data":184122,"marks":184123,"value":149042,"nodeType":864},{},[],{"data":184125,"marks":184126,"value":148666,"nodeType":864},{},[184127],{"type":899},{"data":184129,"marks":184130,"value":149050,"nodeType":864},{},[],{"data":184132,"content":184133,"nodeType":883},{"uri":149053},[184134],{"data":184135,"marks":184136,"value":149059,"nodeType":864},{},[184137],{"type":1455},{"data":184139,"marks":184140,"value":149063,"nodeType":864},{},[],{"data":184142,"marks":184143,"value":149068,"nodeType":864},{},[184144],{"type":899},{"data":184146,"marks":184147,"value":149072,"nodeType":864},{},[],{"data":184149,"content":184150,"nodeType":860},{},[184151,184154,184158,184161,184168],{"data":184152,"marks":184153,"value":149079,"nodeType":864},{},[],{"data":184155,"marks":184156,"value":148678,"nodeType":864},{},[184157],{"type":899},{"data":184159,"marks":184160,"value":1171,"nodeType":864},{},[],{"data":184162,"content":184163,"nodeType":883},{"uri":149089},[184164],{"data":184165,"marks":184166,"value":149095,"nodeType":864},{},[184167],{"type":1455},{"data":184169,"marks":184170,"value":149099,"nodeType":864},{},[],{"data":184172,"content":184173,"nodeType":860},{},[184174,184177,184181],{"data":184175,"marks":184176,"value":149106,"nodeType":864},{},[],{"data":184178,"marks":184179,"value":1171,"nodeType":864},{},[184180],{"type":899},{"data":184182,"marks":184183,"value":149114,"nodeType":864},{},[],{"data":184185,"content":184186,"nodeType":860},{},[184187,184190,184197],{"data":184188,"marks":184189,"value":149121,"nodeType":864},{},[],{"data":184191,"content":184192,"nodeType":883},{"uri":149124},[184193],{"data":184194,"marks":184195,"value":149130,"nodeType":864},{},[184196],{"type":1455},{"data":184198,"marks":184199,"value":12252,"nodeType":864},{},[],{"data":184201,"content":184202,"nodeType":860},{},[184203],{"data":184204,"marks":184205,"value":149140,"nodeType":864},{},[],{"data":184207,"content":184208,"nodeType":4581},{},[184209,184218],{"data":184210,"content":184211,"nodeType":4569},{},[184212],{"data":184213,"content":184214,"nodeType":860},{},[184215],{"data":184216,"marks":184217,"value":149153,"nodeType":864},{},[],{"data":184219,"content":184220,"nodeType":4569},{},[184221],{"data":184222,"content":184223,"nodeType":860},{},[184224,184227,184234,184237,184241,184244,184256],{"data":184225,"marks":184226,"value":149163,"nodeType":864},{},[],{"data":184228,"content":184229,"nodeType":883},{"uri":149166},[184230],{"data":184231,"marks":184232,"value":149172,"nodeType":864},{},[184233],{"type":1455},{"data":184235,"marks":184236,"value":149176,"nodeType":864},{},[],{"data":184238,"marks":184239,"value":148666,"nodeType":864},{},[184240],{"type":899},{"data":184242,"marks":184243,"value":902,"nodeType":864},{},[],{"data":184245,"content":184246,"nodeType":883},{"uri":149186},[184247,184252],{"data":184248,"marks":184249,"value":149193,"nodeType":864},{},[184250,184251],{"type":1455},{"type":899},{"data":184253,"marks":184254,"value":149198,"nodeType":864},{},[184255],{"type":1455},{"data":184257,"marks":184258,"value":149202,"nodeType":864},{},[],{"data":184260,"content":184261,"nodeType":860},{},[184262],{"data":184263,"marks":184264,"value":149209,"nodeType":864},{},[],{"data":184266,"content":184267,"nodeType":860},{},[184268,184271,184278],{"data":184269,"marks":184270,"value":149216,"nodeType":864},{},[],{"data":184272,"content":184273,"nodeType":883},{"uri":149219},[184274],{"data":184275,"marks":184276,"value":148654,"nodeType":864},{},[184277],{"type":1455},{"data":184279,"marks":184280,"value":149228,"nodeType":864},{},[],{"data":184282,"content":184283,"nodeType":860},{},[184284],{"data":184285,"marks":184286,"value":149235,"nodeType":864},{},[],{"data":184288,"content":184289,"nodeType":860},{},[184290],{"data":184291,"marks":184292,"value":149244,"nodeType":864},{},[184293,184294],{"type":899},{"type":2246},{"data":184296,"content":184297,"nodeType":860},{},[184298,184301,184305],{"data":184299,"marks":184300,"value":149251,"nodeType":864},{},[],{"data":184302,"marks":184303,"value":149256,"nodeType":864},{},[184304],{"type":2246},{"data":184306,"marks":184307,"value":149260,"nodeType":864},{},[],{"data":184309,"content":184310,"nodeType":1009},{},[184311],{"data":184312,"marks":184313,"value":149267,"nodeType":864},{},[],{"data":184315,"content":184316,"nodeType":860},{},[184317],{"data":184318,"marks":184319,"value":149274,"nodeType":864},{},[],{"data":184321,"content":184322,"nodeType":860},{},[184323],{"data":184324,"marks":184325,"value":149281,"nodeType":864},{},[],{"entries":184327},{"hyperlink":184328,"inline":184329,"block":184330},[],[],[184331,184334,184337,184340,184343,184346,184349,184352],{"sys":184332,"__typename":1724,"title":181340,"caption":181341,"layoutMode":59,"file":184333},{"id":147969},{"url":181343,"width":174376,"height":181344},{"sys":184335,"__typename":1724,"title":174380,"caption":174381,"layoutMode":140740,"file":184336},{"id":148073},{"url":174383,"width":1736,"height":142634},{"sys":184338,"__typename":1724,"title":174372,"caption":174373,"layoutMode":59,"file":184339},{"id":148119},{"url":174375,"width":174376,"height":174377},{"sys":184341,"__typename":1724,"title":174386,"caption":174387,"layoutMode":140740,"file":184342},{"id":148139},{"url":174389,"width":174390,"height":118518},{"sys":184344,"__typename":1724,"title":164865,"caption":164865,"layoutMode":140740,"file":184345},{"id":148228},{"url":164867,"width":164868,"height":164869},{"sys":184347,"__typename":1724,"title":181353,"caption":181354,"layoutMode":140740,"file":184348},{"id":148431},{"url":181356,"width":153617,"height":181357},{"sys":184350,"__typename":1724,"title":164872,"caption":164873,"layoutMode":140740,"file":184351},{"id":148506},{"url":164875,"width":164876,"height":162151},{"sys":184353,"__typename":1724,"title":166976,"caption":166976,"layoutMode":140740,"file":184354},{"id":148744},{"url":166978,"width":1736,"height":166979},{"items":184356},[],{},"SaaS sprawl must be managed with a new approach",{"items":184360},[184361],{"__typename":2059,"sys":184362,"content":184363,"title":161685,"synopsis":161686,"hashTags":59,"publishedDate":161687,"slug":161688,"tagsCollection":184645,"authorsCollection":184651},{"id":161359},{"json":184364},{"data":184365,"content":184366,"nodeType":856},{},[184367,184373,184390,184396,184402,184408,184414,184420,184426,184432,184438,184444,184450,184456,184462,184475,184481,184487,184493,184499,184505,184511,184526,184532,184538,184544,184550,184556,184563,184593,184600,184630],{"data":184368,"content":184369,"nodeType":860},{},[184370],{"data":184371,"marks":184372,"value":161370,"nodeType":864},{},[],{"data":184374,"content":184375,"nodeType":860},{},[184376,184379,184387],{"data":184377,"marks":184378,"value":161377,"nodeType":864},{},[],{"data":184380,"content":184383,"nodeType":27604},{"target":184381},{"sys":184382},{"id":149551,"type":1001,"linkType":1002},[184384],{"data":184385,"marks":184386,"value":118412,"nodeType":864},{},[],{"data":184388,"marks":184389,"value":161389,"nodeType":864},{},[],{"data":184391,"content":184392,"nodeType":860},{},[184393],{"data":184394,"marks":184395,"value":161396,"nodeType":864},{},[],{"data":184397,"content":184398,"nodeType":860},{},[184399],{"data":184400,"marks":184401,"value":161403,"nodeType":864},{},[],{"data":184403,"content":184404,"nodeType":860},{},[184405],{"data":184406,"marks":184407,"value":161410,"nodeType":864},{},[],{"data":184409,"content":184410,"nodeType":860},{},[184411],{"data":184412,"marks":184413,"value":161417,"nodeType":864},{},[],{"data":184415,"content":184416,"nodeType":1312},{},[184417],{"data":184418,"marks":184419,"value":161424,"nodeType":864},{},[],{"data":184421,"content":184422,"nodeType":860},{},[184423],{"data":184424,"marks":184425,"value":161431,"nodeType":864},{},[],{"data":184427,"content":184428,"nodeType":860},{},[184429],{"data":184430,"marks":184431,"value":161438,"nodeType":864},{},[],{"data":184433,"content":184434,"nodeType":860},{},[184435],{"data":184436,"marks":184437,"value":161445,"nodeType":864},{},[],{"data":184439,"content":184440,"nodeType":860},{},[184441],{"data":184442,"marks":184443,"value":161452,"nodeType":864},{},[],{"data":184445,"content":184446,"nodeType":1312},{},[184447],{"data":184448,"marks":184449,"value":161459,"nodeType":864},{},[],{"data":184451,"content":184452,"nodeType":860},{},[184453],{"data":184454,"marks":184455,"value":161466,"nodeType":864},{},[],{"data":184457,"content":184458,"nodeType":860},{},[184459],{"data":184460,"marks":184461,"value":161473,"nodeType":864},{},[],{"data":184463,"content":184464,"nodeType":860},{},[184465,184468,184472],{"data":184466,"marks":184467,"value":161480,"nodeType":864},{},[],{"data":184469,"marks":184470,"value":161485,"nodeType":864},{},[184471],{"type":2246},{"data":184473,"marks":184474,"value":161489,"nodeType":864},{},[],{"data":184476,"content":184477,"nodeType":860},{},[184478],{"data":184479,"marks":184480,"value":161496,"nodeType":864},{},[],{"data":184482,"content":184483,"nodeType":1312},{},[184484],{"data":184485,"marks":184486,"value":161503,"nodeType":864},{},[],{"data":184488,"content":184489,"nodeType":860},{},[184490],{"data":184491,"marks":184492,"value":161510,"nodeType":864},{},[],{"data":184494,"content":184495,"nodeType":860},{},[184496],{"data":184497,"marks":184498,"value":161517,"nodeType":864},{},[],{"data":184500,"content":184501,"nodeType":860},{},[184502],{"data":184503,"marks":184504,"value":161524,"nodeType":864},{},[],{"data":184506,"content":184507,"nodeType":860},{},[184508],{"data":184509,"marks":184510,"value":161531,"nodeType":864},{},[],{"data":184512,"content":184513,"nodeType":860},{},[184514,184517,184523],{"data":184515,"marks":184516,"value":161538,"nodeType":864},{},[],{"data":184518,"content":184519,"nodeType":883},{"uri":161541},[184520],{"data":184521,"marks":184522,"value":161546,"nodeType":864},{},[],{"data":184524,"marks":184525,"value":12252,"nodeType":864},{},[],{"data":184527,"content":184528,"nodeType":1312},{},[184529],{"data":184530,"marks":184531,"value":161556,"nodeType":864},{},[],{"data":184533,"content":184534,"nodeType":860},{},[184535],{"data":184536,"marks":184537,"value":161563,"nodeType":864},{},[],{"data":184539,"content":184540,"nodeType":860},{},[184541],{"data":184542,"marks":184543,"value":161570,"nodeType":864},{},[],{"data":184545,"content":184546,"nodeType":1312},{},[184547],{"data":184548,"marks":184549,"value":32492,"nodeType":864},{},[],{"data":184551,"content":184552,"nodeType":860},{},[184553],{"data":184554,"marks":184555,"value":161583,"nodeType":864},{},[],{"data":184557,"content":184558,"nodeType":860},{},[184559],{"data":184560,"marks":184561,"value":161591,"nodeType":864},{},[184562],{"type":899},{"data":184564,"content":184565,"nodeType":941},{},[184566,184575,184584],{"data":184567,"content":184568,"nodeType":945},{},[184569],{"data":184570,"content":184571,"nodeType":860},{},[184572],{"data":184573,"marks":184574,"value":161604,"nodeType":864},{},[],{"data":184576,"content":184577,"nodeType":945},{},[184578],{"data":184579,"content":184580,"nodeType":860},{},[184581],{"data":184582,"marks":184583,"value":161614,"nodeType":864},{},[],{"data":184585,"content":184586,"nodeType":945},{},[184587],{"data":184588,"content":184589,"nodeType":860},{},[184590],{"data":184591,"marks":184592,"value":161624,"nodeType":864},{},[],{"data":184594,"content":184595,"nodeType":860},{},[184596],{"data":184597,"marks":184598,"value":161632,"nodeType":864},{},[184599],{"type":899},{"data":184601,"content":184602,"nodeType":941},{},[184603,184612,184621],{"data":184604,"content":184605,"nodeType":945},{},[184606],{"data":184607,"content":184608,"nodeType":860},{},[184609],{"data":184610,"marks":184611,"value":161645,"nodeType":864},{},[],{"data":184613,"content":184614,"nodeType":945},{},[184615],{"data":184616,"content":184617,"nodeType":860},{},[184618],{"data":184619,"marks":184620,"value":161655,"nodeType":864},{},[],{"data":184622,"content":184623,"nodeType":945},{},[184624],{"data":184625,"content":184626,"nodeType":860},{},[184627],{"data":184628,"marks":184629,"value":161665,"nodeType":864},{},[],{"data":184631,"content":184632,"nodeType":860},{},[184633,184636,184642],{"data":184634,"marks":184635,"value":161672,"nodeType":864},{},[],{"data":184637,"content":184638,"nodeType":883},{"uri":161675},[184639],{"data":184640,"marks":184641,"value":161680,"nodeType":864},{},[],{"data":184643,"marks":184644,"value":161684,"nodeType":864},{},[],{"items":184646},[184647,184649],{"sys":184648,"name":4904},{"id":4903},{"sys":184650,"name":2729},{"id":2728},{"items":184652},[184653],{"fullName":38408,"firstName":38409,"jobTitle":38410,"profilePicture":184654},{"url":38412},"blog/saas-has-changed-how-we-adopt-software-how-should-security-adapt",{"json":184657},{"data":184658,"content":184659,"nodeType":856},{},[184660],{"data":184661,"content":184662,"nodeType":860},{},[184663],{"data":184664,"marks":184665,"value":184666,"nodeType":864},{},[],"Employees using a new work app used to be the final step of the software-onboarding process. Now it's the first. Security teams need to regain visibility and control over company data and how it’s secured.",{"id":147827,"publishedAt":184668},"2026-08-12T11:56:18.203Z",{"items":184670},[184671,184673],{"sys":184672,"name":6593},{"id":6592},{"sys":184674,"name":4904},{"id":4903},{"items":184676},[184677,184679,184681,184683,184685,184687,184689,184691,184693,184695,184697],{"sys":184678,"name":545,"slug":546,"tier":31},{"id":542},{"sys":184680,"name":413,"slug":414,"tier":31},{"id":410},{"sys":184682,"name":297,"slug":298,"tier":31},{"id":294},{"sys":184684,"name":642,"slug":643,"tier":31},{"id":639},{"sys":184686,"name":589,"slug":590,"tier":45},{"id":586},{"sys":184688,"name":633,"slug":634,"tier":45},{"id":630},{"sys":184690,"name":333,"slug":334,"tier":45},{"id":330},{"sys":184692,"name":457,"slug":458,"tier":45},{"id":454},{"sys":184694,"name":502,"slug":503,"tier":45},{"id":499},{"sys":184696,"name":528,"slug":529,"tier":45},{"id":525},{"sys":184698,"name":306,"slug":307,"tier":45},{"id":303},"Q11y_kCnMj7it0PPqY5g5iqvGJ1RHRbid_CWiwdFGeg",{"id":184701,"title":152926,"authorsCollection":184702,"content":184706,"extension":228,"faqItemsCollection":185025,"faqTitle":59,"featured":6,"hashTags":59,"meta":185027,"metaTitle":185028,"ogImage":59,"postType":79438,"publishedDate":152928,"relatedBlogPostsCollection":185029,"slug":152929,"stem":185896,"subtitle":59,"summary":185897,"synopsis":152927,"sys":185908,"tagsCollection":185910,"topicsCollection":185914,"__hash__":185926},"blog/blog/product-release-june-2023.json",{"items":184703},[184704],{"fullName":79005,"firstName":79006,"jobTitle":79007,"socialLinks":59,"profilePicture":184705},{"url":79009},{"json":184707,"links":184992},{"nodeType":856,"data":184708,"content":184709},{},[184710,184716,184764,184767,184773,184799,184805,184810,184826,184832,184847,184852,184868,184874,184896,184901,184917,184923,184936,184941,184947,184971,184976],{"nodeType":1009,"data":184711,"content":184712},{},[184713],{"nodeType":864,"value":152608,"marks":184714,"data":184715},[],{},{"nodeType":941,"data":184717,"content":184718},{},[184719,184728,184737,184746,184755],{"nodeType":945,"data":184720,"content":184721},{},[184722],{"nodeType":860,"data":184723,"content":184724},{},[184725],{"nodeType":864,"value":152621,"marks":184726,"data":184727},[],{},{"nodeType":945,"data":184729,"content":184730},{},[184731],{"nodeType":860,"data":184732,"content":184733},{},[184734],{"nodeType":864,"value":152631,"marks":184735,"data":184736},[],{},{"nodeType":945,"data":184738,"content":184739},{},[184740],{"nodeType":860,"data":184741,"content":184742},{},[184743],{"nodeType":864,"value":152641,"marks":184744,"data":184745},[],{},{"nodeType":945,"data":184747,"content":184748},{},[184749],{"nodeType":860,"data":184750,"content":184751},{},[184752],{"nodeType":864,"value":152651,"marks":184753,"data":184754},[],{},{"nodeType":945,"data":184756,"content":184757},{},[184758],{"nodeType":860,"data":184759,"content":184760},{},[184761],{"nodeType":864,"value":152661,"marks":184762,"data":184763},[],{},{"nodeType":1005,"data":184765,"content":184766},{},[],{"nodeType":1312,"data":184768,"content":184769},{},[184770],{"nodeType":864,"value":152621,"marks":184771,"data":184772},[],{},{"nodeType":860,"data":184774,"content":184775},{},[184776,184779,184785,184788,184796],{"nodeType":864,"value":79688,"marks":184777,"data":184778},[],{},{"nodeType":883,"data":184780,"content":184781},{"uri":152681},[184782],{"nodeType":864,"value":152684,"marks":184783,"data":184784},[],{},{"nodeType":864,"value":152688,"marks":184786,"data":184787},[],{},{"nodeType":27604,"data":184789,"content":184792},{"target":184790},{"sys":184791},{"id":152431,"type":1001,"linkType":1002},[184793],{"nodeType":864,"value":152697,"marks":184794,"data":184795},[],{},{"nodeType":864,"value":2924,"marks":184797,"data":184798},[],{},{"nodeType":860,"data":184800,"content":184801},{},[184802],{"nodeType":864,"value":152707,"marks":184803,"data":184804},[],{},{"nodeType":996,"data":184806,"content":184809},{"target":184807},{"sys":184808},{"id":152714,"type":1001,"linkType":1002},[],{"nodeType":860,"data":184811,"content":184812},{},[184813,184816,184823],{"nodeType":864,"value":21,"marks":184814,"data":184815},[],{},{"nodeType":883,"data":184817,"content":184818},{"uri":152681},[184819],{"nodeType":864,"value":79249,"marks":184820,"data":184822},[184821],{"type":899},{},{"nodeType":864,"value":21,"marks":184824,"data":184825},[],{},{"nodeType":1312,"data":184827,"content":184828},{},[184829],{"nodeType":864,"value":152631,"marks":184830,"data":184831},[],{},{"nodeType":860,"data":184833,"content":184834},{},[184835,184838,184844],{"nodeType":864,"value":152742,"marks":184836,"data":184837},[],{},{"nodeType":883,"data":184839,"content":184840},{"uri":152747},[184841],{"nodeType":864,"value":152750,"marks":184842,"data":184843},[],{},{"nodeType":864,"value":152754,"marks":184845,"data":184846},[],{},{"nodeType":996,"data":184848,"content":184851},{"target":184849},{"sys":184850},{"id":152761,"type":1001,"linkType":1002},[],{"nodeType":860,"data":184853,"content":184854},{},[184855,184858,184865],{"nodeType":864,"value":21,"marks":184856,"data":184857},[],{},{"nodeType":883,"data":184859,"content":184860},{"uri":152771},[184861],{"nodeType":864,"value":79249,"marks":184862,"data":184864},[184863],{"type":899},{},{"nodeType":864,"value":21,"marks":184866,"data":184867},[],{},{"nodeType":1312,"data":184869,"content":184870},{},[184871],{"nodeType":864,"value":152784,"marks":184872,"data":184873},[],{},{"nodeType":860,"data":184875,"content":184876},{},[184877,184880,184886,184889,184893],{"nodeType":864,"value":152791,"marks":184878,"data":184879},[],{},{"nodeType":883,"data":184881,"content":184882},{"uri":152796},[184883],{"nodeType":864,"value":152799,"marks":184884,"data":184885},[],{},{"nodeType":864,"value":152803,"marks":184887,"data":184888},[],{},{"nodeType":864,"value":152807,"marks":184890,"data":184892},[184891],{"type":899},{},{"nodeType":864,"value":152812,"marks":184894,"data":184895},[],{},{"nodeType":996,"data":184897,"content":184900},{"target":184898},{"sys":184899},{"id":152819,"type":1001,"linkType":1002},[],{"nodeType":860,"data":184902,"content":184903},{},[184904,184907,184914],{"nodeType":864,"value":21,"marks":184905,"data":184906},[],{},{"nodeType":883,"data":184908,"content":184909},{"uri":152829},[184910],{"nodeType":864,"value":79249,"marks":184911,"data":184913},[184912],{"type":899},{},{"nodeType":864,"value":21,"marks":184915,"data":184916},[],{},{"nodeType":1312,"data":184918,"content":184919},{},[184920],{"nodeType":864,"value":152651,"marks":184921,"data":184922},[],{},{"nodeType":860,"data":184924,"content":184925},{},[184926,184929,184933],{"nodeType":864,"value":152848,"marks":184927,"data":184928},[],{},{"nodeType":864,"value":152852,"marks":184930,"data":184932},[184931],{"type":899},{},{"nodeType":864,"value":152857,"marks":184934,"data":184935},[],{},{"nodeType":996,"data":184937,"content":184940},{"target":184938},{"sys":184939},{"id":152864,"type":1001,"linkType":1002},[],{"nodeType":1312,"data":184942,"content":184943},{},[184944],{"nodeType":864,"value":152870,"marks":184945,"data":184946},[],{},{"nodeType":860,"data":184948,"content":184949},{},[184950,184953,184959,184962,184968],{"nodeType":864,"value":152877,"marks":184951,"data":184952},[],{},{"nodeType":883,"data":184954,"content":184955},{"uri":152882},[184956],{"nodeType":864,"value":89531,"marks":184957,"data":184958},[],{},{"nodeType":864,"value":152888,"marks":184960,"data":184961},[],{},{"nodeType":883,"data":184963,"content":184964},{"uri":152893},[184965],{"nodeType":864,"value":152896,"marks":184966,"data":184967},[],{},{"nodeType":864,"value":152900,"marks":184969,"data":184970},[],{},{"nodeType":996,"data":184972,"content":184975},{"target":184973},{"sys":184974},{"id":152907,"type":1001,"linkType":1002},[],{"nodeType":860,"data":184977,"content":184978},{},[184979,184982,184989],{"nodeType":864,"value":21,"marks":184980,"data":184981},[],{},{"nodeType":883,"data":184983,"content":184984},{"uri":152882},[184985],{"nodeType":864,"value":152919,"marks":184986,"data":184988},[184987],{"type":899},{},{"nodeType":864,"value":21,"marks":184990,"data":184991},[],{},{"entries":184993},{"inline":184994,"hyperlink":184995,"block":184998},[],[184996],{"sys":184997,"__typename":79413,"title":168385,"slug":168386,"articleId":168387},{"id":152431},[184999,185005,185010,185015,185020],{"sys":185000,"__typename":1724,"title":185001,"caption":59,"layoutMode":59,"file":185002},{"id":152714},"Integration delete gif - release notes - June 2023",{"url":185003,"width":185004,"height":156213},"https://images.ctfassets.net/y1cdw1ablpvd/5eQ0fFa6pwWJycwCKjhDn7/8dd04a2daf13008f707d379bb6538ece/delete_integration.gif",1364,{"sys":185006,"__typename":1724,"title":185007,"caption":59,"layoutMode":59,"file":185008},{"id":152761},"New SaaS page gif - release notes - June 2023",{"url":185009,"width":55416,"height":156213},"https://images.ctfassets.net/y1cdw1ablpvd/15KxDbR7YpZ25cKMJtAl0B/3c7de7a2a1c7e2b20376a9652d2f9712/saas_filters.gif",{"sys":185011,"__typename":1724,"title":185012,"caption":59,"layoutMode":59,"file":185013},{"id":152819},"Password manager detection gif - release notes - June 2023",{"url":185014,"width":185004,"height":181357},"https://images.ctfassets.net/y1cdw1ablpvd/6hfabsfUEtYtAIwe2DUkgJ/37797db62b357cd152b485f3e985492d/labs_pwd_mgr.gif",{"sys":185016,"__typename":1724,"title":185017,"caption":59,"layoutMode":59,"file":185018},{"id":152864},"First seen gif for licensing - release notes - June 2023",{"url":185019,"width":185004,"height":145392},"https://images.ctfassets.net/y1cdw1ablpvd/5J3eJ4OH7FsShRD3IdIQ4U/f4191de3da0037e6dc6f8bc0e20a3620/first_seen.gif",{"sys":185021,"__typename":1724,"title":185022,"caption":59,"layoutMode":59,"file":185023},{"id":152907},"Help Center gif - release notes - June 2023",{"url":185024,"width":185004,"height":181357},"https://images.ctfassets.net/y1cdw1ablpvd/2klRoO3gHCuaM1TDrizx0t/567b6dcc0466b01d1d63f1730247a0c1/help_center.gif",{"items":185026},[],{},"Push Security new product features for June 2023 ",{"items":185030},[185031,185464],{"__typename":2059,"sys":185032,"content":185033,"title":169223,"synopsis":169224,"hashTags":59,"publishedDate":169225,"slug":169226,"tagsCollection":185456,"authorsCollection":185460},{"id":168718},{"json":185034},{"data":185035,"content":185036,"nodeType":856},{},[185037,185043,185091,185106,185112,185141,185148,185170,185175,185190,185196,185209,185236,185241,185254,185260,185266,185288,185304,185320,185326,185357,185379,185384,185390,185410,185423,185428,185434],{"data":185038,"content":185039,"nodeType":1312},{},[185040],{"data":185041,"marks":185042,"value":117629,"nodeType":864},{},[],{"data":185044,"content":185045,"nodeType":941},{},[185046,185055,185064,185073,185082],{"data":185047,"content":185048,"nodeType":945},{},[185049],{"data":185050,"content":185051,"nodeType":860},{},[185052],{"data":185053,"marks":185054,"value":168741,"nodeType":864},{},[],{"data":185056,"content":185057,"nodeType":945},{},[185058],{"data":185059,"content":185060,"nodeType":860},{},[185061],{"data":185062,"marks":185063,"value":168751,"nodeType":864},{},[],{"data":185065,"content":185066,"nodeType":945},{},[185067],{"data":185068,"content":185069,"nodeType":860},{},[185070],{"data":185071,"marks":185072,"value":168761,"nodeType":864},{},[],{"data":185074,"content":185075,"nodeType":945},{},[185076],{"data":185077,"content":185078,"nodeType":860},{},[185079],{"data":185080,"marks":185081,"value":168771,"nodeType":864},{},[],{"data":185083,"content":185084,"nodeType":945},{},[185085],{"data":185086,"content":185087,"nodeType":860},{},[185088],{"data":185089,"marks":185090,"value":168781,"nodeType":864},{},[],{"data":185092,"content":185093,"nodeType":860},{},[185094,185097,185103],{"data":185095,"marks":185096,"value":168788,"nodeType":864},{},[],{"data":185098,"content":185099,"nodeType":883},{"uri":168791},[185100],{"data":185101,"marks":185102,"value":168796,"nodeType":864},{},[],{"data":185104,"marks":185105,"value":168800,"nodeType":864},{},[],{"data":185107,"content":185108,"nodeType":1312},{},[185109],{"data":185110,"marks":185111,"value":168807,"nodeType":864},{},[],{"data":185113,"content":185114,"nodeType":860},{},[185115,185118,185124,185127,185131,185134,185138],{"data":185116,"marks":185117,"value":21,"nodeType":864},{},[],{"data":185119,"content":185120,"nodeType":883},{"uri":168816},[185121],{"data":185122,"marks":185123,"value":152799,"nodeType":864},{},[],{"data":185125,"marks":185126,"value":168824,"nodeType":864},{},[],{"data":185128,"marks":185129,"value":168829,"nodeType":864},{},[185130],{"type":899},{"data":185132,"marks":185133,"value":168833,"nodeType":864},{},[],{"data":185135,"marks":185136,"value":120869,"nodeType":864},{},[185137],{"type":899},{"data":185139,"marks":185140,"value":168841,"nodeType":864},{},[],{"data":185142,"content":185143,"nodeType":860},{},[185144],{"data":185145,"marks":185146,"value":168849,"nodeType":864},{},[185147],{"type":899},{"data":185149,"content":185150,"nodeType":860},{},[185151,185154,185160,185163,185167],{"data":185152,"marks":185153,"value":168856,"nodeType":864},{},[],{"data":185155,"content":185156,"nodeType":883},{"uri":168859},[185157],{"data":185158,"marks":185159,"value":168864,"nodeType":864},{},[],{"data":185161,"marks":185162,"value":168868,"nodeType":864},{},[],{"data":185164,"marks":185165,"value":168873,"nodeType":864},{},[185166],{"type":899},{"data":185168,"marks":185169,"value":168877,"nodeType":864},{},[],{"data":185171,"content":185174,"nodeType":996},{"target":185172},{"sys":185173},{"id":168882,"type":1001,"linkType":1002},[],{"data":185176,"content":185177,"nodeType":860},{},[185178,185181,185187],{"data":185179,"marks":185180,"value":168890,"nodeType":864},{},[],{"data":185182,"content":185183,"nodeType":883},{"uri":168893},[185184],{"data":185185,"marks":185186,"value":168898,"nodeType":864},{},[],{"data":185188,"marks":185189,"value":1774,"nodeType":864},{},[],{"data":185191,"content":185192,"nodeType":1312},{},[185193],{"data":185194,"marks":185195,"value":168751,"nodeType":864},{},[],{"data":185197,"content":185198,"nodeType":860},{},[185199,185202,185206],{"data":185200,"marks":185201,"value":168914,"nodeType":864},{},[],{"data":185203,"marks":185204,"value":168919,"nodeType":864},{},[185205],{"type":899},{"data":185207,"marks":185208,"value":168923,"nodeType":864},{},[],{"data":185210,"content":185211,"nodeType":860},{},[185212,185215,185219,185222,185226,185229,185233],{"data":185213,"marks":185214,"value":168930,"nodeType":864},{},[],{"data":185216,"marks":185217,"value":168935,"nodeType":864},{},[185218],{"type":899},{"data":185220,"marks":185221,"value":168939,"nodeType":864},{},[],{"data":185223,"marks":185224,"value":168944,"nodeType":864},{},[185225],{"type":899},{"data":185227,"marks":185228,"value":168948,"nodeType":864},{},[],{"data":185230,"marks":185231,"value":168953,"nodeType":864},{},[185232],{"type":899},{"data":185234,"marks":185235,"value":168957,"nodeType":864},{},[],{"data":185237,"content":185240,"nodeType":996},{"target":185238},{"sys":185239},{"id":168962,"type":1001,"linkType":1002},[],{"data":185242,"content":185243,"nodeType":860},{},[185244,185247,185251],{"data":185245,"marks":185246,"value":168970,"nodeType":864},{},[],{"data":185248,"marks":185249,"value":168975,"nodeType":864},{},[185250],{"type":899},{"data":185252,"marks":185253,"value":168979,"nodeType":864},{},[],{"data":185255,"content":185256,"nodeType":860},{},[185257],{"data":185258,"marks":185259,"value":168986,"nodeType":864},{},[],{"data":185261,"content":185262,"nodeType":1312},{},[185263],{"data":185264,"marks":185265,"value":168993,"nodeType":864},{},[],{"data":185267,"content":185268,"nodeType":860},{},[185269,185272,185278,185281,185285],{"data":185270,"marks":185271,"value":169000,"nodeType":864},{},[],{"data":185273,"content":185274,"nodeType":883},{"uri":169003},[185275],{"data":185276,"marks":185277,"value":169008,"nodeType":864},{},[],{"data":185279,"marks":185280,"value":169012,"nodeType":864},{},[],{"data":185282,"marks":185283,"value":169017,"nodeType":864},{},[185284],{"type":899},{"data":185286,"marks":185287,"value":169021,"nodeType":864},{},[],{"data":185289,"content":185290,"nodeType":860},{},[185291,185294,185301],{"data":185292,"marks":185293,"value":169028,"nodeType":864},{},[],{"data":185295,"content":185296,"nodeType":883},{"uri":169031},[185297],{"data":185298,"marks":185299,"value":169037,"nodeType":864},{},[185300],{"type":899},{"data":185302,"marks":185303,"value":79298,"nodeType":864},{},[],{"data":185305,"content":185306,"nodeType":860},{},[185307,185310,185317],{"data":185308,"marks":185309,"value":169047,"nodeType":864},{},[],{"data":185311,"content":185312,"nodeType":883},{"uri":169050},[185313],{"data":185314,"marks":185315,"value":169056,"nodeType":864},{},[185316],{"type":899},{"data":185318,"marks":185319,"value":169060,"nodeType":864},{},[],{"data":185321,"content":185322,"nodeType":1312},{},[185323],{"data":185324,"marks":185325,"value":169067,"nodeType":864},{},[],{"data":185327,"content":185328,"nodeType":860},{},[185329,185332,185338,185341,185345,185348,185354],{"data":185330,"marks":185331,"value":169074,"nodeType":864},{},[],{"data":185333,"content":185334,"nodeType":883},{"uri":169077},[185335],{"data":185336,"marks":185337,"value":169082,"nodeType":864},{},[],{"data":185339,"marks":185340,"value":169086,"nodeType":864},{},[],{"data":185342,"marks":185343,"value":169091,"nodeType":864},{},[185344],{"type":899},{"data":185346,"marks":185347,"value":169095,"nodeType":864},{},[],{"data":185349,"content":185350,"nodeType":883},{"uri":51201},[185351],{"data":185352,"marks":185353,"value":43908,"nodeType":864},{},[],{"data":185355,"marks":185356,"value":1774,"nodeType":864},{},[],{"data":185358,"content":185359,"nodeType":860},{},[185360,185363,185367,185370,185376],{"data":185361,"marks":185362,"value":169111,"nodeType":864},{},[],{"data":185364,"marks":185365,"value":169116,"nodeType":864},{},[185366],{"type":899},{"data":185368,"marks":185369,"value":169120,"nodeType":864},{},[],{"data":185371,"content":185372,"nodeType":883},{"uri":169123},[185373],{"data":185374,"marks":185375,"value":43908,"nodeType":864},{},[],{"data":185377,"marks":185378,"value":2924,"nodeType":864},{},[],{"data":185380,"content":185383,"nodeType":996},{"target":185381},{"sys":185382},{"id":169135,"type":1001,"linkType":1002},[],{"data":185385,"content":185386,"nodeType":1312},{},[185387],{"data":185388,"marks":185389,"value":169143,"nodeType":864},{},[],{"data":185391,"content":185392,"nodeType":860},{},[185393,185396,185400,185407],{"data":185394,"marks":185395,"value":169150,"nodeType":864},{},[],{"data":185397,"marks":185398,"value":169155,"nodeType":864},{},[185399],{"type":899},{"data":185401,"content":185402,"nodeType":883},{"uri":169031},[185403],{"data":185404,"marks":185405,"value":169163,"nodeType":864},{},[185406],{"type":899},{"data":185408,"marks":185409,"value":169167,"nodeType":864},{},[],{"data":185411,"content":185412,"nodeType":860},{},[185413,185416,185420],{"data":185414,"marks":185415,"value":169174,"nodeType":864},{},[],{"data":185417,"marks":185418,"value":169179,"nodeType":864},{},[185419],{"type":899},{"data":185421,"marks":185422,"value":2924,"nodeType":864},{},[],{"data":185424,"content":185427,"nodeType":996},{"target":185425},{"sys":185426},{"id":169187,"type":1001,"linkType":1002},[],{"data":185429,"content":185430,"nodeType":1312},{},[185431],{"data":185432,"marks":185433,"value":169195,"nodeType":864},{},[],{"data":185435,"content":185436,"nodeType":860},{},[185437,185440,185446,185449,185453],{"data":185438,"marks":185439,"value":169202,"nodeType":864},{},[],{"data":185441,"content":185442,"nodeType":883},{"uri":169205},[185443],{"data":185444,"marks":185445,"value":169210,"nodeType":864},{},[],{"data":185447,"marks":185448,"value":169214,"nodeType":864},{},[],{"data":185450,"marks":185451,"value":169219,"nodeType":864},{},[185452],{"type":899},{"data":185454,"marks":185455,"value":2924,"nodeType":864},{},[],{"items":185457},[185458],{"sys":185459,"name":73498},{"id":73497},{"items":185461},[185462],{"fullName":79005,"firstName":79006,"jobTitle":79007,"profilePicture":185463},{"url":79009},{"__typename":2059,"sys":185465,"content":185467,"title":185884,"synopsis":185885,"hashTags":59,"publishedDate":185886,"slug":185887,"tagsCollection":185888,"authorsCollection":185892},{"id":185466},"65jHaV9VU4bKozASkC3BUi",{"json":185468},{"data":185469,"content":185470,"nodeType":856},{},[185471,185478,185525,185532,185548,185588,185612,185640,185656,185662,185669,185692,185698,185705,185765,185784,185791,185798,185814,185820,185827,185843,185849,185866],{"data":185472,"content":185473,"nodeType":1312},{},[185474],{"data":185475,"marks":185476,"value":185477,"nodeType":864},{},[],"Here’s what’s new on the Push platform this month:",{"data":185479,"content":185480,"nodeType":941},{},[185481,185495,185510],{"data":185482,"content":185483,"nodeType":945},{},[185484],{"data":185485,"content":185486,"nodeType":860},{},[185487,185491],{"data":185488,"marks":185489,"value":74401,"nodeType":864},{},[185490],{"type":899},{"data":185492,"marks":185493,"value":185494,"nodeType":864},{},[]," using channel messaging to discover new third-party integrations or suspicious mail rules.",{"data":185496,"content":185497,"nodeType":945},{},[185498],{"data":185499,"content":185500,"nodeType":860},{},[185501,185506],{"data":185502,"marks":185503,"value":185505,"nodeType":864},{},[185504],{"type":899},"Customize ChatOps",{"data":185507,"marks":185508,"value":185509,"nodeType":864},{},[]," with per-topic and per-user configuration.",{"data":185511,"content":185512,"nodeType":945},{},[185513],{"data":185514,"content":185515,"nodeType":860},{},[185516,185521],{"data":185517,"marks":185518,"value":185520,"nodeType":864},{},[185519],{"type":899},"Track your managed enrollment",{"data":185522,"marks":185523,"value":185524,"nodeType":864},{},[]," of employee browsers.",{"data":185526,"content":185527,"nodeType":1312},{},[185528],{"data":185529,"marks":185530,"value":185531,"nodeType":864},{},[],"ChatOps channel messaging for security teams",{"data":185533,"content":185534,"nodeType":860},{},[185535,185539,185544],{"data":185536,"marks":185537,"value":185538,"nodeType":864},{},[],"Now Push ",{"data":185540,"marks":185541,"value":185543,"nodeType":864},{},[185542],{"type":899},"administrators can receive notifications",{"data":185545,"marks":185546,"value":185547,"nodeType":864},{},[]," in Microsoft Teams or Slack channels to get alerted immediately when:",{"data":185549,"content":185550,"nodeType":941},{},[185551,185570],{"data":185552,"content":185553,"nodeType":945},{},[185554],{"data":185555,"content":185556,"nodeType":860},{},[185557,185561,185566],{"data":185558,"marks":185559,"value":185560,"nodeType":864},{},[],"Push detects a ",{"data":185562,"marks":185563,"value":185565,"nodeType":864},{},[185564],{"type":899},"new third-party integration",{"data":185567,"marks":185568,"value":185569,"nodeType":864},{},[]," in your environment. ",{"data":185571,"content":185572,"nodeType":945},{},[185573],{"data":185574,"content":185575,"nodeType":860},{},[185576,185580,185585],{"data":185577,"marks":185578,"value":185579,"nodeType":864},{},[],"A user contacted via ChatOps confirms that a ",{"data":185581,"marks":185582,"value":185584,"nodeType":864},{},[185583],{"type":899},"mail rule looks suspicious",{"data":185586,"marks":185587,"value":2924,"nodeType":864},{},[],{"data":185589,"content":185590,"nodeType":860},{},[185591,185595,185600,185603,185608],{"data":185592,"marks":185593,"value":185594,"nodeType":864},{},[],"We recommend setting up channel messaging in your relevant team channels to ",{"data":185596,"marks":185597,"value":185599,"nodeType":864},{},[185598],{"type":899},"stay informed",{"data":185601,"marks":185602,"value":27405,"nodeType":864},{},[],{"data":185604,"marks":185605,"value":185607,"nodeType":864},{},[185606],{"type":899},"reduce your response time",{"data":185609,"marks":185610,"value":185611,"nodeType":864},{},[]," to important issues. ",{"data":185613,"content":185614,"nodeType":860},{},[185615,185619,185627,185631,185636],{"data":185616,"marks":185617,"value":185618,"nodeType":864},{},[],"Configure ChatOps messaging for your security team from the Push platform by going to ",{"data":185620,"content":185622,"nodeType":883},{"uri":185621},"https://pushsecurity.com/app/chatops/",[185623],{"data":185624,"marks":185625,"value":74413,"nodeType":864},{},[185626],{"type":899},{"data":185628,"marks":185629,"value":185630,"nodeType":864},{},[]," > ",{"data":185632,"marks":185633,"value":185635,"nodeType":864},{},[185634],{"type":899},"Security team chat topics",{"data":185637,"marks":185638,"value":185639,"nodeType":864},{},[],", and toggle on the topics you’re interested in. You can specify which channel or channels where you want to receive each type of notification.",{"data":185641,"content":185642,"nodeType":860},{},[185643,185647,185653],{"data":185644,"marks":185645,"value":185646,"nodeType":864},{},[],"What other topics, events, or anomalies would you like to receive alerts about via ChatOps for security teams? Send us a quick note with ideas to ",{"data":185648,"content":185649,"nodeType":883},{"uri":168893},[185650],{"data":185651,"marks":185652,"value":168898,"nodeType":864},{},[],{"data":185654,"marks":185655,"value":2924,"nodeType":864},{},[],{"data":185657,"content":185661,"nodeType":996},{"target":185658},{"sys":185659},{"id":185660,"type":1001,"linkType":1002},"1s4CMXgYCAppW7zgR7XNBy",[],{"data":185663,"content":185664,"nodeType":1312},{},[185665],{"data":185666,"marks":185667,"value":185668,"nodeType":864},{},[],"More granular controls for ChatOps",{"data":185670,"content":185671,"nodeType":860},{},[185672,185676,185681,185689],{"data":185673,"marks":185674,"value":185675,"nodeType":864},{},[],"We know how important it is to get the messaging right to your users, so ",{"data":185677,"marks":185678,"value":185680,"nodeType":864},{},[185679],{"type":899},"we’ve improved the controls of our ",{"data":185682,"content":185683,"nodeType":883},{"uri":185621},[185684],{"data":185685,"marks":185686,"value":185688,"nodeType":864},{},[185687],{"type":899},"ChatOps feature",{"data":185690,"marks":185691,"value":2924,"nodeType":864},{},[],{"data":185693,"content":185697,"nodeType":996},{"target":185694},{"sys":185695},{"id":185696,"type":1001,"linkType":1002},"7E9csiKyZ4dlfnBvClY32E",[],{"data":185699,"content":185700,"nodeType":860},{},[185701],{"data":185702,"marks":185703,"value":185704,"nodeType":864},{},[],"You can now:",{"data":185706,"content":185707,"nodeType":941},{},[185708,185727,185746],{"data":185709,"content":185710,"nodeType":945},{},[185711],{"data":185712,"content":185713,"nodeType":860},{},[185714,185718,185723],{"data":185715,"marks":185716,"value":185717,"nodeType":864},{},[],"Enable ChatOps for ",{"data":185719,"marks":185720,"value":185722,"nodeType":864},{},[185721],{"type":899},"individual users",{"data":185724,"marks":185725,"value":185726,"nodeType":864},{},[]," to make it easier to test and plan your ChatOps rollout.",{"data":185728,"content":185729,"nodeType":945},{},[185730],{"data":185731,"content":185732,"nodeType":860},{},[185733,185737,185742],{"data":185734,"marks":185735,"value":185736,"nodeType":864},{},[],"Control exactly ",{"data":185738,"marks":185739,"value":185741,"nodeType":864},{},[185740],{"type":899},"which topics",{"data":185743,"marks":185744,"value":185745,"nodeType":864},{},[]," your users will receive ChatOps messages about.",{"data":185747,"content":185748,"nodeType":945},{},[185749],{"data":185750,"content":185751,"nodeType":860},{},[185752,185756,185761],{"data":185753,"marks":185754,"value":185755,"nodeType":864},{},[],"See ",{"data":185757,"marks":185758,"value":185760,"nodeType":864},{},[185759],{"type":899},"how many messages",{"data":185762,"marks":185763,"value":185764,"nodeType":864},{},[]," Push has sent for each topic you’ve enabled.",{"data":185766,"content":185767,"nodeType":860},{},[185768,185772,185780],{"data":185769,"marks":185770,"value":185771,"nodeType":864},{},[],"To make it easier to understand the wording of messages a user will receive for each use case, check out our ",{"data":185773,"content":185775,"nodeType":883},{"uri":185774},"https://pushsecurity.com/kb/10064/",[185776],{"data":185777,"marks":185778,"value":185779,"nodeType":864},{},[],"help guides",{"data":185781,"marks":185782,"value":185783,"nodeType":864},{},[]," linked from the Push platform for each ChatOps topic.",{"data":185785,"content":185786,"nodeType":860},{},[185787],{"data":185788,"marks":185789,"value":185790,"nodeType":864},{},[],"We know you’re going to want more detail on ChatOps, such as who has been sent a message, the outcome of those conversations, and more. We’re actively working on more features, so stay tuned to these release notes!",{"data":185792,"content":185793,"nodeType":1312},{},[185794],{"data":185795,"marks":185796,"value":185797,"nodeType":864},{},[],"Track your managed enrollment of browsers",{"data":185799,"content":185800,"nodeType":860},{},[185801,185805,185810],{"data":185802,"marks":185803,"value":185804,"nodeType":864},{},[],"Get ",{"data":185806,"marks":185807,"value":185809,"nodeType":864},{},[185808],{"type":899},"better visibility on the progress of your managed rollout",{"data":185811,"marks":185812,"value":185813,"nodeType":864},{},[]," of the Push browser extension with a new status visible on the Browsers page of the Push admin console.",{"data":185815,"content":185819,"nodeType":996},{"target":185816},{"sys":185817},{"id":185818,"type":1001,"linkType":1002},"7rTETjrNHJKpU0HKiVckeL",[],{"data":185821,"content":185822,"nodeType":860},{},[185823],{"data":185824,"marks":185825,"value":185826,"nodeType":864},{},[],"Enrolling an employee’s browser in Push via a managed deployment is a two-step process: First, you install the Push browser extension. Next, the extension waits for user activity to help identify the user of the browser and complete enrollment.",{"data":185828,"content":185829,"nodeType":860},{},[185830,185834,185839],{"data":185831,"marks":185832,"value":185833,"nodeType":864},{},[],"The status we’ve added will help you ",{"data":185835,"marks":185836,"value":185838,"nodeType":864},{},[185837],{"type":899},"track which browsers haven’t yet identified the browser user",{"data":185840,"marks":185841,"value":185842,"nodeType":864},{},[]," in order to complete enrollment and show up in Push. You can also use this status to identify browser profiles that the Push extension is avoiding enrolling because they’re a personal browser profile or are being used by an employee without a license in Push.",{"data":185844,"content":185848,"nodeType":996},{"target":185845},{"sys":185846},{"id":185847,"type":1001,"linkType":1002},"3u1PyOvJ2lqAaz8umhmvmM",[],{"data":185850,"content":185851,"nodeType":860},{},[185852,185856,185863],{"data":185853,"marks":185854,"value":185855,"nodeType":864},{},[],"Curious how the Push browser extension identifies the user of a browser in order to complete enrollment? Check out this ",{"data":185857,"content":185859,"nodeType":883},{"uri":185858},"https://pushsecurity.com/kb/10063",[185860],{"data":185861,"marks":185862,"value":43908,"nodeType":864},{},[],{"data":185864,"marks":185865,"value":2924,"nodeType":864},{},[],{"data":185867,"content":185868,"nodeType":860},{},[185869,185873,185880],{"data":185870,"marks":185871,"value":185872,"nodeType":864},{},[],"Stay tuned for more soon and ",{"data":185874,"content":185875,"nodeType":883},{"uri":168893},[185876],{"data":185877,"marks":185878,"value":185879,"nodeType":864},{},[],"drop us a line",{"data":185881,"marks":185882,"value":185883,"nodeType":864},{},[]," with your feature requests!","Product Release: December 2022","Here’s what’s new on the Push platform for December 2022.","2022-12-08T00:00:00.000Z","product-release-december-2022",{"items":185889},[185890],{"sys":185891,"name":73498},{"id":73497},{"items":185893},[185894],{"fullName":79005,"firstName":79006,"jobTitle":79007,"profilePicture":185895},{"url":79009},"blog/product-release-june-2023",{"json":185898},{"data":185899,"content":185900,"nodeType":856},{},[185901],{"data":185902,"content":185903,"nodeType":860},{},[185904],{"data":185905,"marks":185906,"value":185907,"nodeType":864},{},[],"Remove problematic third-party integrations, immediately pinpoint security issues, and get Push knowledge on-demand with our new Help Center.",{"id":152599,"publishedAt":185909},"2026-08-12T13:33:20.494Z",{"items":185911},[185912],{"sys":185913,"name":73498},{"id":73497},{"items":185915},[185916,185918,185920,185922,185924],{"sys":185917,"name":545,"slug":546,"tier":31},{"id":542},{"sys":185919,"name":297,"slug":298,"tier":31},{"id":294},{"sys":185921,"name":589,"slug":590,"tier":45},{"id":586},{"sys":185923,"name":633,"slug":634,"tier":45},{"id":630},{"sys":185925,"name":502,"slug":503,"tier":45},{"id":499},"XrV3-I3uQ_ssYoJYGh6xRe9iGnUk5bkRSXuedHvwzvk",{"id":185928,"title":153595,"authorsCollection":185929,"content":185934,"extension":228,"faqItemsCollection":186255,"faqTitle":59,"featured":6,"hashTags":59,"meta":186257,"metaTitle":186258,"ogImage":59,"postType":9326,"publishedDate":183011,"relatedBlogPostsCollection":186259,"slug":153596,"stem":187135,"subtitle":59,"summary":187136,"synopsis":183010,"sys":187147,"tagsCollection":187149,"topicsCollection":187155,"__hash__":187173},"blog/blog/want-to-discover-the-full-extent-of-your-saas-sprawl-embrace-browser.json",{"items":185930},[185931],{"fullName":4949,"firstName":4950,"jobTitle":4951,"socialLinks":185932,"profilePicture":185933},[4953],{"url":4955},{"json":185935,"links":186247},{"data":185936,"content":185937,"nodeType":856},{},[185938,185944,185950,185956,185962,185968,185984,186000,186006,186012,186018,186023,186029,186045,186061,186067,186073,186089,186102,186115,186121,186137,186143,186159,186165,186171,186177,186183,186189,186205,186211,186217,186223,186229,186235,186241],{"data":185939,"content":185940,"nodeType":860},{},[185941],{"data":185942,"marks":185943,"value":182653,"nodeType":864},{},[],{"data":185945,"content":185946,"nodeType":860},{},[185947],{"data":185948,"marks":185949,"value":182660,"nodeType":864},{},[],{"data":185951,"content":185952,"nodeType":860},{},[185953],{"data":185954,"marks":185955,"value":182667,"nodeType":864},{},[],{"data":185957,"content":185958,"nodeType":1312},{},[185959],{"data":185960,"marks":185961,"value":126377,"nodeType":864},{},[],{"data":185963,"content":185964,"nodeType":860},{},[185965],{"data":185966,"marks":185967,"value":182680,"nodeType":864},{},[],{"data":185969,"content":185970,"nodeType":860},{},[185971,185974,185981],{"data":185972,"marks":185973,"value":182687,"nodeType":864},{},[],{"data":185975,"content":185976,"nodeType":883},{"uri":165034},[185977],{"data":185978,"marks":185979,"value":182695,"nodeType":864},{},[185980],{"type":1455},{"data":185982,"marks":185983,"value":182699,"nodeType":864},{},[],{"data":185985,"content":185986,"nodeType":860},{},[185987,185990,185997],{"data":185988,"marks":185989,"value":182706,"nodeType":864},{},[],{"data":185991,"content":185992,"nodeType":883},{"uri":29107},[185993],{"data":185994,"marks":185995,"value":182714,"nodeType":864},{},[185996],{"type":1455},{"data":185998,"marks":185999,"value":182718,"nodeType":864},{},[],{"data":186001,"content":186002,"nodeType":860},{},[186003],{"data":186004,"marks":186005,"value":182725,"nodeType":864},{},[],{"data":186007,"content":186008,"nodeType":1312},{},[186009],{"data":186010,"marks":186011,"value":182732,"nodeType":864},{},[],{"data":186013,"content":186014,"nodeType":860},{},[186015],{"data":186016,"marks":186017,"value":182739,"nodeType":864},{},[],{"data":186019,"content":186022,"nodeType":996},{"target":186020},{"sys":186021},{"id":176723,"type":1001,"linkType":1002},[],{"data":186024,"content":186025,"nodeType":860},{},[186026],{"data":186027,"marks":186028,"value":182751,"nodeType":864},{},[],{"data":186030,"content":186031,"nodeType":860},{},[186032,186035,186042],{"data":186033,"marks":186034,"value":182758,"nodeType":864},{},[],{"data":186036,"content":186037,"nodeType":883},{"uri":164982},[186038],{"data":186039,"marks":186040,"value":182766,"nodeType":864},{},[186041],{"type":1455},{"data":186043,"marks":186044,"value":8618,"nodeType":864},{},[],{"data":186046,"content":186047,"nodeType":860},{},[186048,186051,186058],{"data":186049,"marks":186050,"value":182776,"nodeType":864},{},[],{"data":186052,"content":186053,"nodeType":883},{"uri":182779},[186054],{"data":186055,"marks":186056,"value":182785,"nodeType":864},{},[186057],{"type":1455},{"data":186059,"marks":186060,"value":182789,"nodeType":864},{},[],{"data":186062,"content":186063,"nodeType":860},{},[186064],{"data":186065,"marks":186066,"value":182796,"nodeType":864},{},[],{"data":186068,"content":186069,"nodeType":1312},{},[186070],{"data":186071,"marks":186072,"value":182803,"nodeType":864},{},[],{"data":186074,"content":186075,"nodeType":860},{},[186076,186079,186086],{"data":186077,"marks":186078,"value":182810,"nodeType":864},{},[],{"data":186080,"content":186081,"nodeType":883},{"uri":182813},[186082],{"data":186083,"marks":186084,"value":182819,"nodeType":864},{},[186085],{"type":1455},{"data":186087,"marks":186088,"value":182823,"nodeType":864},{},[],{"data":186090,"content":186091,"nodeType":860},{},[186092,186095,186099],{"data":186093,"marks":186094,"value":182830,"nodeType":864},{},[],{"data":186096,"marks":186097,"value":182835,"nodeType":864},{},[186098],{"type":2246},{"data":186100,"marks":186101,"value":182839,"nodeType":864},{},[],{"data":186103,"content":186104,"nodeType":860},{},[186105,186108,186112],{"data":186106,"marks":186107,"value":182846,"nodeType":864},{},[],{"data":186109,"marks":186110,"value":182851,"nodeType":864},{},[186111],{"type":899},{"data":186113,"marks":186114,"value":182855,"nodeType":864},{},[],{"data":186116,"content":186117,"nodeType":1312},{},[186118],{"data":186119,"marks":186120,"value":182862,"nodeType":864},{},[],{"data":186122,"content":186123,"nodeType":860},{},[186124,186127,186134],{"data":186125,"marks":186126,"value":182869,"nodeType":864},{},[],{"data":186128,"content":186129,"nodeType":883},{"uri":182872},[186130],{"data":186131,"marks":186132,"value":182878,"nodeType":864},{},[186133],{"type":1455},{"data":186135,"marks":186136,"value":182882,"nodeType":864},{},[],{"data":186138,"content":186139,"nodeType":860},{},[186140],{"data":186141,"marks":186142,"value":182889,"nodeType":864},{},[],{"data":186144,"content":186145,"nodeType":860},{},[186146,186149,186156],{"data":186147,"marks":186148,"value":182896,"nodeType":864},{},[],{"data":186150,"content":186151,"nodeType":883},{"uri":164982},[186152],{"data":186153,"marks":186154,"value":182904,"nodeType":864},{},[186155],{"type":1455},{"data":186157,"marks":186158,"value":182908,"nodeType":864},{},[],{"data":186160,"content":186161,"nodeType":860},{},[186162],{"data":186163,"marks":186164,"value":182915,"nodeType":864},{},[],{"data":186166,"content":186167,"nodeType":1312},{},[186168],{"data":186169,"marks":186170,"value":182922,"nodeType":864},{},[],{"data":186172,"content":186173,"nodeType":860},{},[186174],{"data":186175,"marks":186176,"value":182929,"nodeType":864},{},[],{"data":186178,"content":186179,"nodeType":860},{},[186180],{"data":186181,"marks":186182,"value":182936,"nodeType":864},{},[],{"data":186184,"content":186185,"nodeType":860},{},[186186],{"data":186187,"marks":186188,"value":182943,"nodeType":864},{},[],{"data":186190,"content":186191,"nodeType":860},{},[186192,186195,186202],{"data":186193,"marks":186194,"value":182950,"nodeType":864},{},[],{"data":186196,"content":186197,"nodeType":883},{"uri":182953},[186198],{"data":186199,"marks":186200,"value":29669,"nodeType":864},{},[186201],{"type":1455},{"data":186203,"marks":186204,"value":12252,"nodeType":864},{},[],{"data":186206,"content":186207,"nodeType":1312},{},[186208],{"data":186209,"marks":186210,"value":182968,"nodeType":864},{},[],{"data":186212,"content":186213,"nodeType":860},{},[186214],{"data":186215,"marks":186216,"value":182975,"nodeType":864},{},[],{"data":186218,"content":186219,"nodeType":860},{},[186220],{"data":186221,"marks":186222,"value":182982,"nodeType":864},{},[],{"data":186224,"content":186225,"nodeType":860},{},[186226],{"data":186227,"marks":186228,"value":182989,"nodeType":864},{},[],{"data":186230,"content":186231,"nodeType":860},{},[186232],{"data":186233,"marks":186234,"value":182996,"nodeType":864},{},[],{"data":186236,"content":186237,"nodeType":1312},{},[186238],{"data":186239,"marks":186240,"value":32492,"nodeType":864},{},[],{"data":186242,"content":186243,"nodeType":860},{},[186244],{"data":186245,"marks":186246,"value":183009,"nodeType":864},{},[],{"entries":186248},{"hyperlink":186249,"inline":186250,"block":186251},[],[],[186252],{"sys":186253,"__typename":1724,"title":179315,"caption":179316,"layoutMode":140740,"file":186254},{"id":176723},{"url":179318,"width":179319,"height":179320},{"items":186256},[],{},"Use browser extension to see the extent of your SaaS sprawl",{"items":186260},[186261,186555],{"__typename":2059,"sys":186262,"content":186263,"title":161685,"synopsis":161686,"hashTags":59,"publishedDate":161687,"slug":161688,"tagsCollection":186545,"authorsCollection":186551},{"id":161359},{"json":186264},{"data":186265,"content":186266,"nodeType":856},{},[186267,186273,186290,186296,186302,186308,186314,186320,186326,186332,186338,186344,186350,186356,186362,186375,186381,186387,186393,186399,186405,186411,186426,186432,186438,186444,186450,186456,186463,186493,186500,186530],{"data":186268,"content":186269,"nodeType":860},{},[186270],{"data":186271,"marks":186272,"value":161370,"nodeType":864},{},[],{"data":186274,"content":186275,"nodeType":860},{},[186276,186279,186287],{"data":186277,"marks":186278,"value":161377,"nodeType":864},{},[],{"data":186280,"content":186283,"nodeType":27604},{"target":186281},{"sys":186282},{"id":149551,"type":1001,"linkType":1002},[186284],{"data":186285,"marks":186286,"value":118412,"nodeType":864},{},[],{"data":186288,"marks":186289,"value":161389,"nodeType":864},{},[],{"data":186291,"content":186292,"nodeType":860},{},[186293],{"data":186294,"marks":186295,"value":161396,"nodeType":864},{},[],{"data":186297,"content":186298,"nodeType":860},{},[186299],{"data":186300,"marks":186301,"value":161403,"nodeType":864},{},[],{"data":186303,"content":186304,"nodeType":860},{},[186305],{"data":186306,"marks":186307,"value":161410,"nodeType":864},{},[],{"data":186309,"content":186310,"nodeType":860},{},[186311],{"data":186312,"marks":186313,"value":161417,"nodeType":864},{},[],{"data":186315,"content":186316,"nodeType":1312},{},[186317],{"data":186318,"marks":186319,"value":161424,"nodeType":864},{},[],{"data":186321,"content":186322,"nodeType":860},{},[186323],{"data":186324,"marks":186325,"value":161431,"nodeType":864},{},[],{"data":186327,"content":186328,"nodeType":860},{},[186329],{"data":186330,"marks":186331,"value":161438,"nodeType":864},{},[],{"data":186333,"content":186334,"nodeType":860},{},[186335],{"data":186336,"marks":186337,"value":161445,"nodeType":864},{},[],{"data":186339,"content":186340,"nodeType":860},{},[186341],{"data":186342,"marks":186343,"value":161452,"nodeType":864},{},[],{"data":186345,"content":186346,"nodeType":1312},{},[186347],{"data":186348,"marks":186349,"value":161459,"nodeType":864},{},[],{"data":186351,"content":186352,"nodeType":860},{},[186353],{"data":186354,"marks":186355,"value":161466,"nodeType":864},{},[],{"data":186357,"content":186358,"nodeType":860},{},[186359],{"data":186360,"marks":186361,"value":161473,"nodeType":864},{},[],{"data":186363,"content":186364,"nodeType":860},{},[186365,186368,186372],{"data":186366,"marks":186367,"value":161480,"nodeType":864},{},[],{"data":186369,"marks":186370,"value":161485,"nodeType":864},{},[186371],{"type":2246},{"data":186373,"marks":186374,"value":161489,"nodeType":864},{},[],{"data":186376,"content":186377,"nodeType":860},{},[186378],{"data":186379,"marks":186380,"value":161496,"nodeType":864},{},[],{"data":186382,"content":186383,"nodeType":1312},{},[186384],{"data":186385,"marks":186386,"value":161503,"nodeType":864},{},[],{"data":186388,"content":186389,"nodeType":860},{},[186390],{"data":186391,"marks":186392,"value":161510,"nodeType":864},{},[],{"data":186394,"content":186395,"nodeType":860},{},[186396],{"data":186397,"marks":186398,"value":161517,"nodeType":864},{},[],{"data":186400,"content":186401,"nodeType":860},{},[186402],{"data":186403,"marks":186404,"value":161524,"nodeType":864},{},[],{"data":186406,"content":186407,"nodeType":860},{},[186408],{"data":186409,"marks":186410,"value":161531,"nodeType":864},{},[],{"data":186412,"content":186413,"nodeType":860},{},[186414,186417,186423],{"data":186415,"marks":186416,"value":161538,"nodeType":864},{},[],{"data":186418,"content":186419,"nodeType":883},{"uri":161541},[186420],{"data":186421,"marks":186422,"value":161546,"nodeType":864},{},[],{"data":186424,"marks":186425,"value":12252,"nodeType":864},{},[],{"data":186427,"content":186428,"nodeType":1312},{},[186429],{"data":186430,"marks":186431,"value":161556,"nodeType":864},{},[],{"data":186433,"content":186434,"nodeType":860},{},[186435],{"data":186436,"marks":186437,"value":161563,"nodeType":864},{},[],{"data":186439,"content":186440,"nodeType":860},{},[186441],{"data":186442,"marks":186443,"value":161570,"nodeType":864},{},[],{"data":186445,"content":186446,"nodeType":1312},{},[186447],{"data":186448,"marks":186449,"value":32492,"nodeType":864},{},[],{"data":186451,"content":186452,"nodeType":860},{},[186453],{"data":186454,"marks":186455,"value":161583,"nodeType":864},{},[],{"data":186457,"content":186458,"nodeType":860},{},[186459],{"data":186460,"marks":186461,"value":161591,"nodeType":864},{},[186462],{"type":899},{"data":186464,"content":186465,"nodeType":941},{},[186466,186475,186484],{"data":186467,"content":186468,"nodeType":945},{},[186469],{"data":186470,"content":186471,"nodeType":860},{},[186472],{"data":186473,"marks":186474,"value":161604,"nodeType":864},{},[],{"data":186476,"content":186477,"nodeType":945},{},[186478],{"data":186479,"content":186480,"nodeType":860},{},[186481],{"data":186482,"marks":186483,"value":161614,"nodeType":864},{},[],{"data":186485,"content":186486,"nodeType":945},{},[186487],{"data":186488,"content":186489,"nodeType":860},{},[186490],{"data":186491,"marks":186492,"value":161624,"nodeType":864},{},[],{"data":186494,"content":186495,"nodeType":860},{},[186496],{"data":186497,"marks":186498,"value":161632,"nodeType":864},{},[186499],{"type":899},{"data":186501,"content":186502,"nodeType":941},{},[186503,186512,186521],{"data":186504,"content":186505,"nodeType":945},{},[186506],{"data":186507,"content":186508,"nodeType":860},{},[186509],{"data":186510,"marks":186511,"value":161645,"nodeType":864},{},[],{"data":186513,"content":186514,"nodeType":945},{},[186515],{"data":186516,"content":186517,"nodeType":860},{},[186518],{"data":186519,"marks":186520,"value":161655,"nodeType":864},{},[],{"data":186522,"content":186523,"nodeType":945},{},[186524],{"data":186525,"content":186526,"nodeType":860},{},[186527],{"data":186528,"marks":186529,"value":161665,"nodeType":864},{},[],{"data":186531,"content":186532,"nodeType":860},{},[186533,186536,186542],{"data":186534,"marks":186535,"value":161672,"nodeType":864},{},[],{"data":186537,"content":186538,"nodeType":883},{"uri":161675},[186539],{"data":186540,"marks":186541,"value":161680,"nodeType":864},{},[],{"data":186543,"marks":186544,"value":161684,"nodeType":864},{},[],{"items":186546},[186547,186549],{"sys":186548,"name":4904},{"id":4903},{"sys":186550,"name":2729},{"id":2728},{"items":186552},[186553],{"fullName":38408,"firstName":38409,"jobTitle":38410,"profilePicture":186554},{"url":38412},{"__typename":2059,"sys":186556,"content":186557,"title":164845,"synopsis":187117,"hashTags":187118,"publishedDate":187124,"slug":164846,"tagsCollection":187125,"authorsCollection":187131},{"id":149551},{"json":186558},{"data":186559,"content":186560,"nodeType":856},{},[186561,186568,186575,186582,186589,186596,186621,186628,186635,186642,186649,186660,186667,186706,186731,186738,186745,186761,186768,186775,186791,186798,186806,186822,186829,186836,186843,186851,186858,186865,186872,186899,186962,186969,186976,186982,186998,187005,187021,187028,187040,187047,187067,187073,187090],{"data":186562,"content":186563,"nodeType":860},{},[186564],{"data":186565,"marks":186566,"value":186567,"nodeType":864},{},[],"Over the past few years, there’s been massive growth in the number of SaaS apps used for work. With that comes new challenges – how do you allow employees to take advantage of all the SaaS the world has to offer without locking it all down and stifling innovation? How do you figure out if you can trust all these new third parties with access to your data? Well, the first step is figuring out which apps employees are actually using, so that’s where we’re starting.",{"data":186569,"content":186570,"nodeType":860},{},[186571],{"data":186572,"marks":186573,"value":186574,"nodeType":864},{},[],"We’ve compiled a list of various options and approaches we’ve seen people take to SaaS discovery, each with their own pros and cons. ",{"data":186576,"content":186577,"nodeType":1009},{},[186578],{"data":186579,"marks":186580,"value":186581,"nodeType":864},{},[],"Why is SaaS discovery so hard?",{"data":186583,"content":186584,"nodeType":860},{},[186585],{"data":186586,"marks":186587,"value":186588,"nodeType":864},{},[],"\nSomething to note straight off the bat is that with all the data-driven approaches we’re about to cover, you have to know how to extract SaaS use out of that data. That’s one of the reasons SaaS discovery is so hard. With the roll-your-own approaches in this post, you’ll be able to identify some common apps (like Trello, Slack, Dropbox, etc.), but what about all the new or lesser-known apps? Unfortunately, trying to keep track of all the SaaS apps that are available to employees is really difficult. There’s not really a great master list available on the Internet for you to cross-reference with your data.",{"data":186590,"content":186591,"nodeType":860},{},[186592],{"data":186593,"marks":186594,"value":186595,"nodeType":864},{},[],"That means that all of these roll-your-own approaches are dependent on you knowing what you’re looking for. If you must know what SaaS you’re looking for in order to determine if an asset is actually a SaaS app, you’re going to be left with quite a few blindspots given there seem to be new apps launching every day. ",{"data":186597,"content":186598,"nodeType":860},{},[186599,186603,186608,186612,186617],{"data":186600,"marks":186601,"value":186602,"nodeType":864},{},[],"The second hurdle with a roll-your-own discovery approach is differentiating between SaaS ",{"data":186604,"marks":186605,"value":186607,"nodeType":864},{},[186606],{"type":2246},"access",{"data":186609,"marks":186610,"value":186611,"nodeType":864},{},[]," and SaaS ",{"data":186613,"marks":186614,"value":186616,"nodeType":864},{},[186615],{"type":2246},"usage",{"data":186618,"marks":186619,"value":186620,"nodeType":864},{},[],". Just because an employee accesses a SaaS website, it doesn’t mean they’re using their app. Most of the data sources will produce a ton of domains, IPs, etc. for you to sift through, but differentiating access and usage based on this information alone will produce a large number of false positives unless you can correlate it with other data sources (we suggest some below). You will likely also want to know things like exactly who the users, owners and administrators of the app are which will be all but impossible from this “access” data alone.",{"data":186622,"content":186623,"nodeType":860},{},[186624],{"data":186625,"marks":186626,"value":186627,"nodeType":864},{},[],"If we ignore for the moment the difficulties in extracting information about SaaS usage, let’s run through your options for data sources and see which ones will give you the most useful data.",{"data":186629,"content":186630,"nodeType":1009},{},[186631],{"data":186632,"marks":186633,"value":186634,"nodeType":864},{},[],"Collecting financial records",{"data":186636,"content":186637,"nodeType":860},{},[186638],{"data":186639,"marks":186640,"value":186641,"nodeType":864},{},[],"Looking through invoices can provide some visibility into paid SaaS apps, which is probably the lowest false positive data source. However, there are blind spots - you won’t see any free tier or trial accounts, nor will you get any useful business context about who’s using it, how they’re using it, if logins are secure, and what data it has access to. That said, it’s a quick and dirty way to get a partial view of SaaS usage, and might be the best place to start.",{"data":186643,"content":186644,"nodeType":1009},{},[186645],{"data":186646,"marks":186647,"value":186648,"nodeType":864},{},[],"Network-level",{"data":186650,"content":186651,"nodeType":860},{},[186652,186655],{"data":186653,"marks":186654,"value":90277,"nodeType":864},{},[],{"data":186656,"marks":186657,"value":186659,"nodeType":864},{},[186658],{"type":2246},"Summary: Network level data is the standard old-school approach. If you already have great network monitoring in place it provides fairly broad visibility. There are some very key limitations especially around inferring usage from access, as well as outside the office visibility problems.",{"data":186661,"content":186662,"nodeType":860},{},[186663],{"data":186664,"marks":186665,"value":186666,"nodeType":864},{},[],"SaaS apps are accessed over a network - and so that seems like a sensible place to start looking for them. What if we just tried looking for all users accessing a SaaS app’s website? Let’s say we want to see if anyone is using e.g. Dropbox, so we do a Google search for all Dropbox domains and we find Dropbox.com, and a few regional domains as well. We then set about finding employees accessing those domains in our network logs - simple! Perhaps not so much…",{"data":186668,"content":186669,"nodeType":860},{},[186670,186674,186678,186682,186687,186691,186695,186699,186703],{"data":186671,"marks":186672,"value":186673,"nodeType":864},{},[],"As we mentioned in the intro, the best outcome you can hope for is to uncover SaaS ",{"data":186675,"marks":186676,"value":186607,"nodeType":864},{},[186677],{"type":2246},{"data":186679,"marks":186680,"value":186681,"nodeType":864},{},[],", not ",{"data":186683,"marks":186684,"value":186686,"nodeType":864},{},[186685],{"type":2246},"usage.",{"data":186688,"marks":186689,"value":186690,"nodeType":864},{},[]," This might seem like a subtle difference, but SaaS usage is what you want to find, not just information about which employees visited a SaaS website. If you’re looking at all app ",{"data":186692,"marks":186693,"value":186607,"nodeType":864},{},[186694],{"type":2246},{"data":186696,"marks":186697,"value":186698,"nodeType":864},{},[],", you’ll wind up with a massive list of SaaS, with only a portion of it indicating SaaS ",{"data":186700,"marks":186701,"value":186616,"nodeType":864},{},[186702],{"type":2246},{"data":186704,"marks":186705,"value":2924,"nodeType":864},{},[],{"data":186707,"content":186708,"nodeType":860},{},[186709,186713,186718,186722,186727],{"data":186710,"marks":186711,"value":186712,"nodeType":864},{},[],"Since you can’t discover app ",{"data":186714,"marks":186715,"value":186717,"nodeType":864},{},[186716],{"type":2246},"usage ",{"data":186719,"marks":186720,"value":186721,"nodeType":864},{},[],"with network data, you’d have to tie network traffic to a single employee to identify the user, then reach out to each employee to understand the business context of how they’re using the app. A network data approach can work ",{"data":186723,"marks":186724,"value":186726,"nodeType":864},{},[186725],{"type":2246},"if",{"data":186728,"marks":186729,"value":186730,"nodeType":864},{},[]," you have time to get that context by asking employees if they’re using the SaaS detected or by corroborating your findings with subscription invoices from the finance team. ",{"data":186732,"content":186733,"nodeType":860},{},[186734],{"data":186735,"marks":186736,"value":186737,"nodeType":864},{},[],"A few ways to collect SaaS data on the network level are ingesting firewall, web proxy and DNS and VPN logs. These inputs can give you some additional visibility into SaaS access, but you may still be left with significant blind spots to actual usage if you assume it all takes place on the corporate network using a VPN. It’s also a painfully tedious process. That said, a manual process still is better than having no SaaS visibility at all. ",{"data":186739,"content":186740,"nodeType":1009},{},[186741],{"data":186742,"marks":186743,"value":186744,"nodeType":864},{},[],"Endpoint-level",{"data":186746,"content":186747,"nodeType":860},{},[186748,186753,186756],{"data":186749,"marks":186750,"value":186752,"nodeType":864},{},[186751],{"type":2246},"Summary: Endpoint",{"data":186754,"marks":186755,"value":1171,"nodeType":864},{},[],{"data":186757,"marks":186758,"value":186760,"nodeType":864},{},[186759],{"type":2246},"data is hard to get, and of limited value. However, it may be useful if you already have this data available in a SIEM or if it’s otherwise easy to query.",{"data":186762,"content":186763,"nodeType":860},{},[186764],{"data":186765,"marks":186766,"value":186767,"nodeType":864},{},[],"Perhaps we’ll get closer to what we need (usage data instead of just access data and a low false positive rate) if we move up a level and get closer to the users? Users are going to be accessing the SaaS apps through some kind of endpoint and there are some things you could use to do discovery if you have some monitoring capability on that endpoint.",{"data":186769,"content":186770,"nodeType":860},{},[186771],{"data":186772,"marks":186773,"value":186774,"nodeType":864},{},[],"For example, many SaaS apps have desktop or mobile clients (thick clients) you install. You could look for e.g. the Slack client, or the OneDrive sync agent installed on the endpoint. However, many users prefer the in-browser version, so they may not have even installed the thick client and you wouldn’t see their usage by looking at their endpoint data. ",{"data":186776,"content":186777,"nodeType":860},{},[186778,186782,186787],{"data":186779,"marks":186780,"value":186781,"nodeType":864},{},[],"All the good data, the application level data, is in the browser, which is technically on the endpoint but not really accessible ",{"data":186783,"marks":186784,"value":186786,"nodeType":864},{},[186785],{"type":2246},"through the endpoint",{"data":186788,"marks":186789,"value":186790,"nodeType":864},{},[]," without doing something very hacky. Perhaps we need to go a level deeper - either closer to the application or get inside the browser.",{"data":186792,"content":186793,"nodeType":1009},{},[186794],{"data":186795,"marks":186796,"value":186797,"nodeType":864},{},[],"Application-level",{"data":186799,"content":186800,"nodeType":860},{},[186801],{"data":186802,"marks":186803,"value":186805,"nodeType":864},{},[186804],{"type":2246},"Summary: Application level integrations are very useful for discovering unsanctioned SaaS apps that are integrated with the SaaS apps you already know about. But when used in isolation, they have massive blind spots. Application-level data is also a goldmine for finding out how securely employees use the app.",{"data":186807,"content":186808,"nodeType":860},{},[186809,186813,186818],{"data":186810,"marks":186811,"value":186812,"nodeType":864},{},[],"Focusing on the SaaS app directly makes a lot of sense if you need to get really high quality usage data. The challenge is that you need to integrate with the SaaS app to get at this data. And you can’t just integrate with an app like Slack or Trello. In general, these integrations must be within a specific account or tenant that your employees are using if you want to see any of their usage or security data. So, if you must already know about the tenant to discover the SaaS - is this approach useless for detecting unknown SaaS? Maybe, ",{"data":186814,"marks":186815,"value":186817,"nodeType":864},{},[186816],{"type":2246},"but ",{"data":186819,"marks":186820,"value":186821,"nodeType":864},{},[],"there are some very useful edge cases.",{"data":186823,"content":186824,"nodeType":860},{},[186825],{"data":186826,"marks":186827,"value":186828,"nodeType":864},{},[],"For instance, integrations with SaaS apps that are known and sanctioned can be very useful, especially with those apps that are identity providers, like Microsoft Azure/365 and Google Workspace. Lots of SaaS apps let users login with another SaaS app, which is called social login or sometimes single sign-on (SSO). When a user does “login using Google” on Salesforce using their corporate Google account, they are actually integrating (in a very limited way) Salesforce with Google Workspace. If you have application-level access (normally by calling the APIs) to known SaaS apps, you can discover these social logins (among other) integrations with other SaaS apps. These SaaS-to-SaaS links then become very useful as a discovery mechanism.",{"data":186830,"content":186831,"nodeType":860},{},[186832],{"data":186833,"marks":186834,"value":186835,"nodeType":864},{},[],"Something else to keep in mind, application-level access to known SaaS can also be incredibly useful for security beyond simple SaaS discovery. You could check authentication controls, like which users don’t have MFA enabled, sharing settings (perhaps the SaaS allows you to share documents publicly), unusual login events, other anomalous behavior, and so on. ",{"data":186837,"content":186838,"nodeType":1009},{},[186839],{"data":186840,"marks":186841,"value":186842,"nodeType":864},{},[],"Browser-level  ",{"data":186844,"content":186845,"nodeType":860},{},[186846],{"data":186847,"marks":186848,"value":186850,"nodeType":864},{},[186849],{"type":2246},"Summary: Browser data is as good as you can get for SaaS discovery, but with the downside that you must build and deploy a browser extension to get at it.",{"data":186852,"content":186853,"nodeType":860},{},[186854],{"data":186855,"marks":186856,"value":186857,"nodeType":864},{},[],"What if I told you, you could get application level usage-data beyond what events the applications expose through their APIs without needing to know about the app first or fighting network encryption? The other methods in this guide allow you to get at the data using normal log processing techniques, SIEM queries, or even hacky scripts that call APIs, but there’s one reasonable option for SaaS discovery.",{"data":186859,"content":186860,"nodeType":860},{},[186861],{"data":186862,"marks":186863,"value":186864,"nodeType":864},{},[],"The only real viable way to get at this SaaS usage data is through a browser extension. The big hurdle with this approach is that browser extensions require you to develop an extension and a backend where it can send data…AND you need to deploy that extension to all employees. ",{"data":186866,"content":186867,"nodeType":860},{},[186868],{"data":186869,"marks":186870,"value":186871,"nodeType":864},{},[],"Deploying that browser extension might be as simple as setting the extension to default install itself in all managed browsers - that’s possible if you’re using Google Workspace. In other environments, it may be a bit more of a challenge. Fortunately, browser extensions don’t have the complexity of normal endpoint agents. They don’t have runtime dependencies, aren’t platform dependent, don’t need admin permissions to install, have automatic update mechanisms built-in, and don’t affect performance. At the end of the day, they’re just a special piece of JavaScript running in the browser.",{"data":186873,"content":186874,"nodeType":860},{},[186875,186879,186883,186887,186895],{"data":186876,"marks":186877,"value":186878,"nodeType":864},{},[],"If you ",{"data":186880,"marks":186881,"value":103895,"nodeType":864},{},[186882],{"type":899},{"data":186884,"marks":186885,"value":186886,"nodeType":864},{},[]," able to get access to the data in the browser (spoiler alert: we provide an easy - and free - out-of-the-box ",{"data":186888,"content":186890,"nodeType":883},{"uri":186889},"/features/saas-discovery/",[186891],{"data":186892,"marks":186893,"value":186894,"nodeType":864},{},[],"browser extension for SaaS discovery",{"data":186896,"marks":186897,"value":186898,"nodeType":864},{},[],"), there is almost limitless scope to what you can do with this data. You can observe not only access to SaaS websites, you can also see:",{"data":186900,"content":186901,"nodeType":941},{},[186902,186912,186922,186932,186942,186952],{"data":186903,"content":186904,"nodeType":945},{},[186905],{"data":186906,"content":186907,"nodeType":860},{},[186908],{"data":186909,"marks":186910,"value":186911,"nodeType":864},{},[],"the user login,",{"data":186913,"content":186914,"nodeType":945},{},[186915],{"data":186916,"content":186917,"nodeType":860},{},[186918],{"data":186919,"marks":186920,"value":186921,"nodeType":864},{},[],"whether that login was successful,",{"data":186923,"content":186924,"nodeType":945},{},[186925],{"data":186926,"content":186927,"nodeType":860},{},[186928],{"data":186929,"marks":186930,"value":186931,"nodeType":864},{},[],"whether they used MFA to login, ",{"data":186933,"content":186934,"nodeType":945},{},[186935],{"data":186936,"content":186937,"nodeType":860},{},[186938],{"data":186939,"marks":186940,"value":186941,"nodeType":864},{},[],"which email they used to login, ",{"data":186943,"content":186944,"nodeType":945},{},[186945],{"data":186946,"content":186947,"nodeType":860},{},[186948],{"data":186949,"marks":186950,"value":186951,"nodeType":864},{},[],"whether they are the owner/administrator of the SaaS app tenant, and ",{"data":186953,"content":186954,"nodeType":945},{},[186955],{"data":186956,"content":186957,"nodeType":860},{},[186958],{"data":186959,"marks":186960,"value":186961,"nodeType":864},{},[],"all their behavior and settings in the app. ",{"data":186963,"content":186964,"nodeType":860},{},[186965],{"data":186966,"marks":186967,"value":186968,"nodeType":864},{},[],"Best of all, there is no need to stream all this data to a single collection point where it becomes a privacy nightmare. By writing rules in the extension to look for specific issues, you can flag only security relevant events, redacted or anonymized as far as makes sense. You can even limit the scope to only monitor the app use when the employee logs into the SaaS app using their work account to further avoid employee privacy concerns. ",{"data":186970,"content":186971,"nodeType":860},{},[186972],{"data":186973,"marks":186974,"value":186975,"nodeType":864},{},[],"There’s a quick and easy solution to get the best out of the application and browser data approaches we’ve written about in the last two sections - and that’s with our free tool.",{"data":186977,"content":186978,"nodeType":1009},{},[186979],{"data":186980,"marks":186981,"value":176957,"nodeType":864},{},[],{"data":186983,"content":186984,"nodeType":860},{},[186985,186989,186994],{"data":186986,"marks":186987,"value":186988,"nodeType":864},{},[],"We found that the most comprehensive approach is to collect data from ",{"data":186990,"marks":186991,"value":186993,"nodeType":864},{},[186992],{"type":2246},"both ",{"data":186995,"marks":186996,"value":186997,"nodeType":864},{},[],"the application and browser level to give you full visibility and actionable security information. With our browser extension, we get full breadth of coverage so you can discover all SaaS usage and with our APIs, you get the depth of coverage you need to understand how employees are using SaaS and if they’re doing so securely. Our combined approach captures SaaS logins and adoption, in real-time, and provides the best visibility and context for security teams. ",{"data":186999,"content":187000,"nodeType":1312},{},[187001],{"data":187002,"marks":187003,"value":187004,"nodeType":864},{},[],"Fixing SaaS security issues automatically by partnering with employees  ",{"data":187006,"content":187007,"nodeType":860},{},[187008,187012,187017],{"data":187009,"marks":187010,"value":187011,"nodeType":864},{},[],"\nWhat we then do with that data is where the magic happens… we can automatically guide employees via ChatOps (Slack and Teams for now, more to come!) to improve SaaS security. Some of those messages will help us enrich our data by asking employees questions they’ll actually know the answers to (",{"data":187013,"marks":187014,"value":187016,"nodeType":864},{},[187015],{"type":2246},"“You logged into Slack from Mexico just now. Are you in Mexico?”",{"data":187018,"marks":187019,"value":187020,"nodeType":864},{},[],"), which provides you with a good snapshot of SaaS usage in your business and lets you make informed security decisions about SaaS use to better manage risks.",{"data":187022,"content":187023,"nodeType":860},{},[187024],{"data":187025,"marks":187026,"value":187027,"nodeType":864},{},[],"Employees can also make immediate improvements to your overall security posture. In case you’re curious about what that looks like, some of the prompts we push to employees are things like: ",{"data":187029,"content":187030,"nodeType":860},{},[187031,187036],{"data":187032,"marks":187033,"value":187035,"nodeType":864},{},[187034],{"type":2246},"“We noticed this SaaS app you’re using has access to all your emails, are you still using it?” Y/N.",{"data":187037,"marks":187038,"value":187039,"nodeType":864},{},[]," If not, they can click a button to remove it and you’ll get an immediate reduction of your attack surface. ",{"data":187041,"content":187042,"nodeType":860},{},[187043],{"data":187044,"marks":187045,"value":187046,"nodeType":864},{},[],"Or ",{"data":187048,"content":187049,"nodeType":860},{},[187050,187055,187059,187064],{"data":187051,"marks":187052,"value":187054,"nodeType":864},{},[187053],{"type":2246},"“It looks like you’re not using MFA for your account on this SaaS app. Can we get this set up really quickly?”",{"data":187056,"marks":187057,"value":187058,"nodeType":864},{},[]," or “",{"data":187060,"marks":187061,"value":187063,"nodeType":864},{},[187062],{"type":2246},"An app you installed called ‘Dropbox’ is not the official Dropbox app, click here to remove it and install the verified app instead.”",{"data":187065,"marks":187066,"value":8618,"nodeType":864},{},[],{"data":187068,"content":187072,"nodeType":996},{"target":187069},{"sys":187070},{"id":187071,"type":1001,"linkType":1002},"27MpbzErmDfAC3bA4dBibv",[],{"data":187074,"content":187075,"nodeType":860},{},[187076,187080,187087],{"data":187077,"marks":187078,"value":187079,"nodeType":864},{},[],"If you’re interested in learning more, check out how we can ",{"data":187081,"content":187082,"nodeType":883},{"uri":186889},[187083],{"data":187084,"marks":187085,"value":187086,"nodeType":864},{},[],"help you discover SaaS use and secure it",{"data":187088,"marks":187089,"value":2924,"nodeType":864},{},[],{"data":187091,"content":187092,"nodeType":860},{},[187093,187097,187104,187107,187113],{"data":187094,"marks":187095,"value":187096,"nodeType":864},{},[],"We’ll also be publishing a SaaS Discovery Evaluation Guide that will explore all the off-the-shelf tools you may consider and evaluate which one is the best fit for your needs as this really does depend on your tech stack. In that, we’ll share our experiences with those products and discuss what additional coverage and context they can provide, as well as where they fall short. Subscribe to our mailing list and follow us on ",{"data":187098,"content":187099,"nodeType":883},{"uri":47677},[187100],{"data":187101,"marks":187102,"value":187103,"nodeType":864},{},[],"Twitter @pushsecurity",{"data":187105,"marks":187106,"value":27405,"nodeType":864},{},[],{"data":187108,"content":187109,"nodeType":883},{"uri":47663},[187110],{"data":187111,"marks":187112,"value":47670,"nodeType":864},{},[],{"data":187114,"marks":187115,"value":187116,"nodeType":864},{},[]," to get a head’s up when that’s live so you can have a read.","We’ve compiled some methods for discovering SaaS. Lets explore each approach and learn new ways to discover unknown SaaS, capture SaaS use, and secure it.",[187119,187120,187121,187122,187123],"itassetdiscovery","saassecurity","saasdiscovery","sass","cloudfirst","2022-05-03T00:00:00.000+01:00",{"items":187126},[187127,187129],{"sys":187128,"name":4904},{"id":4903},{"sys":187130,"name":297},{"id":2732},{"items":187132},[187133],{"fullName":38408,"firstName":38409,"jobTitle":38410,"profilePicture":187134},{"url":38412},"blog/want-to-discover-the-full-extent-of-your-saas-sprawl-embrace-browser",{"json":187137},{"data":187138,"content":187139,"nodeType":856},{},[187140],{"data":187141,"content":187142,"nodeType":860},{},[187143],{"data":187144,"marks":187145,"value":187146,"nodeType":864},{},[],"Browser extensions are the most effective SaaS discovery tool because they can capture employee SaaS use and adoption in real time, as employees sign up. The browser also allows us to work with the user to guide them to use SaaS more securely right where they’re working - in the browser.",{"id":141458,"publishedAt":187148},"2026-08-12T11:56:22.058Z",{"items":187150},[187151,187153],{"sys":187152,"name":4904},{"id":4903},{"sys":187154,"name":297},{"id":2732},{"items":187156},[187157,187159,187161,187163,187165,187167,187169,187171],{"sys":187158,"name":545,"slug":546,"tier":31},{"id":542},{"sys":187160,"name":297,"slug":298,"tier":31},{"id":294},{"sys":187162,"name":413,"slug":414,"tier":31},{"id":410},{"sys":187164,"name":589,"slug":590,"tier":45},{"id":586},{"sys":187166,"name":288,"slug":289,"tier":45},{"id":285},{"sys":187168,"name":457,"slug":458,"tier":45},{"id":454},{"sys":187170,"name":502,"slug":503,"tier":45},{"id":499},{"sys":187172,"name":306,"slug":307,"tier":45},{"id":303},"C7xc-6uxjSSDEQ178kmqFaasLDFSLL5URgdeqMDeS0w",{"id":187175,"title":187176,"authorsCollection":187177,"content":187181,"extension":228,"faqItemsCollection":187855,"faqTitle":59,"featured":6,"hashTags":59,"meta":187857,"metaTitle":187858,"ogImage":59,"postType":9326,"publishedDate":187859,"relatedBlogPostsCollection":187860,"slug":188478,"stem":188479,"subtitle":59,"summary":188480,"synopsis":188491,"sys":188492,"tagsCollection":188495,"topicsCollection":188501,"__hash__":188531},"blog/blog/embrace-saas-to-move-faster-than-your-competitors.json","Embrace SaaS to move faster than your competitors",{"items":187178},[187179],{"fullName":140213,"firstName":140214,"jobTitle":140215,"socialLinks":59,"profilePicture":187180},{"url":140217},{"json":187182,"links":187850},{"data":187183,"content":187184,"nodeType":856},{},[187185,187192,187199,187205,187212,187229,187236,187274,187281,187287,187324,187340,187347,187353,187359,187376,187393,187400,187433,187439,187456,187462,187468,187494,187510,187516,187522,187529,187536,187542,187549,187556,187563,187569,187576,187582,187588,187594,187608,187614,187671,187678,187685,187710,187724,187731,187737,187744,187771,187789,187796,187802,187809,187816,187833],{"data":187186,"content":187187,"nodeType":860},{},[187188],{"data":187189,"marks":187190,"value":187191,"nodeType":864},{},[],"Our goal at Push is simple - to reduce the risk of using SaaS apps at work. Doing this well means building controls that are easy to use, easy to understand - and ultimately effective. Not just effective against the hand-wavy concept of “SaaS attacks” but specific techniques –the most common techniques that are likely to cause real damage.",{"data":187193,"content":187194,"nodeType":860},{},[187195],{"data":187196,"marks":187197,"value":187198,"nodeType":864},{},[],"To talk about this, we need to have a shared understanding of what these techniques are. To get that conversation going we’ve pulled together all the techniques we're aware of, and our research team has even added a bunch of new ones.",{"data":187200,"content":187201,"nodeType":1009},{},[187202],{"data":187203,"marks":187204,"value":101548,"nodeType":864},{},[],{"data":187206,"content":187207,"nodeType":860},{},[187208],{"data":187209,"marks":187210,"value":187211,"nodeType":864},{},[],"We’ve taken inspiration from the MITRE ATT&CK framework (certainly intended as the sincerest form of flattery), but wanted to make a conscious break away from the endpoint-focused ATT&CK techniques and instead focus on techniques that are SaaS-specific. In fact, these techniques don’t touch endpoints (so they bypass EDR) or customer networks (so  they bypass network detection) - so we’re calling them networkless attacks.",{"data":187213,"content":187214,"nodeType":860},{},[187215,187219,187226],{"data":187216,"marks":187217,"value":187218,"nodeType":864},{},[],"You can find more detailed descriptions of these techniques (and hopefully PR’s for some we missed) on ",{"data":187220,"content":187221,"nodeType":883},{"uri":6418},[187222],{"data":187223,"marks":187224,"value":6423,"nodeType":864},{},[187225],{"type":1455},{"data":187227,"marks":187228,"value":21,"nodeType":864},{},[],{"data":187230,"content":187231,"nodeType":860},{},[187232],{"data":187233,"marks":187234,"value":187235,"nodeType":864},{},[],"Since we’re not targeting endpoints, let’s talk about the new targets: the accounts/identities on SaaS apps. We found it was useful to not think about these identities as stand-alone isolated islands - they are much more like a graph; less a single web-server on the internet and more like many Windows endpoints on an Active Directory. ",{"data":187237,"content":187238,"nodeType":860},{},[187239,187243,187250,187253,187260,187264,187271],{"data":187240,"marks":187241,"value":187242,"nodeType":864},{},[],"You can leverage this access to an identity on a trusted platform to target (so laterally more or escalate privilege to) other users or identities. For example, attacks like using access to SaaS apps to ",{"data":187244,"content":187245,"nodeType":883},{"uri":49829},[187246],{"data":187247,"marks":187248,"value":101600,"nodeType":864},{},[187249],{"type":1455},{"data":187251,"marks":187252,"value":902,"nodeType":864},{},[],{"data":187254,"content":187255,"nodeType":883},{"uri":101606},[187256],{"data":187257,"marks":187258,"value":101612,"nodeType":864},{},[187259],{"type":1455},{"data":187261,"marks":187262,"value":187263,"nodeType":864},{},[]," to social engineer them there - or perhaps ",{"data":187265,"content":187266,"nodeType":883},{"uri":96411},[187267],{"data":187268,"marks":187269,"value":101624,"nodeType":864},{},[187270],{"type":1455},{"data":187272,"marks":187273,"value":101628,"nodeType":864},{},[],{"data":187275,"content":187276,"nodeType":860},{},[187277],{"data":187278,"marks":187279,"value":187280,"nodeType":864},{},[],"In this case, unusually, it’s not the data in these hundreds of SaaS apps that create risk, and you need to consider low-risk (from a data perspective) apps as a vector to pivot to higher risk apps in your estate.",{"data":187282,"content":187283,"nodeType":1312},{},[187284],{"data":187285,"marks":187286,"value":101642,"nodeType":864},{},[],{"data":187288,"content":187289,"nodeType":860},{},[187290,187293,187300,187303,187310,187314,187321],{"data":187291,"marks":187292,"value":101649,"nodeType":864},{},[],{"data":187294,"content":187295,"nodeType":883},{"uri":87924},[187296],{"data":187297,"marks":187298,"value":87930,"nodeType":864},{},[187299],{"type":1455},{"data":187301,"marks":187302,"value":902,"nodeType":864},{},[],{"data":187304,"content":187305,"nodeType":883},{"uri":95797},[187306],{"data":187307,"marks":187308,"value":95802,"nodeType":864},{},[187309],{"type":1455},{"data":187311,"marks":187312,"value":187313,"nodeType":864},{},[]," that get you initial access to SaaS apps are fairly well known - because they work and are widely used. We’re also starting to see tools and attacks that suggest ",{"data":187315,"content":187316,"nodeType":883},{"uri":96459},[187317],{"data":187318,"marks":187319,"value":101678,"nodeType":864},{},[187320],{"type":1455},{"data":187322,"marks":187323,"value":101682,"nodeType":864},{},[],{"data":187325,"content":187326,"nodeType":860},{},[187327,187330,187337],{"data":187328,"marks":187329,"value":101689,"nodeType":864},{},[],{"data":187331,"content":187332,"nodeType":883},{"uri":101692},[187333],{"data":187334,"marks":187335,"value":101698,"nodeType":864},{},[187336],{"type":1455},{"data":187338,"marks":187339,"value":101702,"nodeType":864},{},[],{"data":187341,"content":187342,"nodeType":860},{},[187343],{"data":187344,"marks":187345,"value":187346,"nodeType":864},{},[],"SaaS apps allow anyone to name app tenants (a.k.a. spaces, teams, or instances) anything they like - including your company name. Attackers send invites to your employees from within the app with a customized message explaining why they should join this new tenant (or sign up to the app if they are not already a user). ",{"data":187348,"content":187349,"nodeType":860},{},[187350],{"data":187351,"marks":187352,"value":101716,"nodeType":864},{},[],{"data":187354,"content":187355,"nodeType":1312},{},[187356],{"data":187357,"marks":187358,"value":101723,"nodeType":864},{},[],{"data":187360,"content":187361,"nodeType":860},{},[187362,187365,187372],{"data":187363,"marks":187364,"value":101730,"nodeType":864},{},[],{"data":187366,"content":187367,"nodeType":883},{"uri":101733},[187368],{"data":187369,"marks":187370,"value":101739,"nodeType":864},{},[187371],{"type":1455},{"data":187373,"marks":187374,"value":187375,"nodeType":864},{},[]," (Living-Off-the-Land Binaries and Scripts), which are often signed Microsoft utilities. Perhaps the most well-known example is executing scripts through PowerShell rather than building custom malware. That isn’t as useful these days but there was a time when PowerShell was routinely used to bypass AV, EDR, and even app allow-listing.",{"data":187377,"content":187378,"nodeType":860},{},[187379,187383,187390],{"data":187380,"marks":187381,"value":187382,"nodeType":864},{},[],"In that same living-off-the-land mindset, an attacker trying to maintain access to each SaaS app they compromise using custom OAuth integration apps, might instead choose to use legit SaaS apps that specialize in workflow automation to create ",{"data":187384,"content":187385,"nodeType":883},{"uri":61891},[187386],{"data":187387,"marks":187388,"value":61897,"nodeType":864},{},[187389],{"type":1455},{"data":187391,"marks":187392,"value":101761,"nodeType":864},{},[],{"data":187394,"content":187395,"nodeType":860},{},[187396],{"data":187397,"marks":187398,"value":187399,"nodeType":864},{},[],"Perhaps the best example here is using a well-known automation app like Zapier, which claims to have more than 5000 integrations. These integrations are often verified, approved, and connected to a trusted vendor (Zapier). An attacker might create workflows to:",{"data":187401,"content":187402,"nodeType":941},{},[187403,187413,187423],{"data":187404,"content":187405,"nodeType":945},{},[187406],{"data":187407,"content":187408,"nodeType":860},{},[187409],{"data":187410,"marks":187411,"value":187412,"nodeType":864},{},[],"do daily data exfiltration from a victim’s data lake",{"data":187414,"content":187415,"nodeType":945},{},[187416],{"data":187417,"content":187418,"nodeType":860},{},[187419],{"data":187420,"marks":187421,"value":187422,"nodeType":864},{},[],"configure a webhook which adds malicious accounts to a github repo on demand",{"data":187424,"content":187425,"nodeType":945},{},[187426],{"data":187427,"content":187428,"nodeType":860},{},[187429],{"data":187430,"marks":187431,"value":187432,"nodeType":864},{},[],"automatically find and replace bank account numbers in emails to the finance team",{"data":187434,"content":187435,"nodeType":860},{},[187436],{"data":187437,"marks":187438,"value":101808,"nodeType":864},{},[],{"data":187440,"content":187441,"nodeType":860},{},[187442,187445,187452],{"data":187443,"marks":187444,"value":101815,"nodeType":864},{},[],{"data":187446,"content":187447,"nodeType":883},{"uri":101818},[187448],{"data":187449,"marks":187450,"value":101824,"nodeType":864},{},[187451],{"type":1455},{"data":187453,"marks":187454,"value":187455,"nodeType":864},{},[]," to make another instance of an existing integration - making this backdoor almost impossible to discover.",{"data":187457,"content":187458,"nodeType":1312},{},[187459],{"data":187460,"marks":187461,"value":101835,"nodeType":864},{},[],{"data":187463,"content":187464,"nodeType":860},{},[187465],{"data":187466,"marks":187467,"value":101842,"nodeType":864},{},[],{"data":187469,"content":187470,"nodeType":860},{},[187471,187474,187481,187484,187491],{"data":187472,"marks":187473,"value":101849,"nodeType":864},{},[],{"data":187475,"content":187476,"nodeType":883},{"uri":101852},[187477],{"data":187478,"marks":187479,"value":101858,"nodeType":864},{},[187480],{"type":1455},{"data":187482,"marks":187483,"value":902,"nodeType":864},{},[],{"data":187485,"content":187486,"nodeType":883},{"uri":26784},[187487],{"data":187488,"marks":187489,"value":17706,"nodeType":864},{},[187490],{"type":1455},{"data":187492,"marks":187493,"value":101872,"nodeType":864},{},[],{"data":187495,"content":187496,"nodeType":860},{},[187497,187500,187507],{"data":187498,"marks":187499,"value":101879,"nodeType":864},{},[],{"data":187501,"content":187502,"nodeType":883},{"uri":101882},[187503],{"data":187504,"marks":187505,"value":101888,"nodeType":864},{},[187506],{"type":1455},{"data":187508,"marks":187509,"value":101892,"nodeType":864},{},[],{"data":187511,"content":187512,"nodeType":860},{},[187513],{"data":187514,"marks":187515,"value":101899,"nodeType":864},{},[],{"data":187517,"content":187518,"nodeType":1009},{},[187519],{"data":187520,"marks":187521,"value":101911,"nodeType":864},{},[],{"data":187523,"content":187524,"nodeType":860},{},[187525],{"data":187526,"marks":187527,"value":187528,"nodeType":864},{},[],"SaaS apps are basically webapps that are run in the cloud and accessed from endpoints, so then WebApp, endpoint, and cloud security should cover all of SaaS, right? ",{"data":187530,"content":187531,"nodeType":860},{},[187532],{"data":187533,"marks":187534,"value":187535,"nodeType":864},{},[],"That was our assumption when we started, but what we found instead was that SaaS marketing  best practices are driving a lot of pretty interesting techniques that you don’t run into in standalone web apps.",{"data":187537,"content":187538,"nodeType":1312},{},[187539],{"data":187540,"marks":187541,"value":101932,"nodeType":864},{},[],{"data":187543,"content":187544,"nodeType":860},{},[187545],{"data":187546,"marks":187547,"value":187548,"nodeType":864},{},[],"Making apps easy to sign-up for and low effort to support means you need to make some interesting choices when it comes to designing account creation and recovery flows. ",{"data":187550,"content":187551,"nodeType":860},{},[187552],{"data":187553,"marks":187554,"value":187555,"nodeType":864},{},[],"Many apps allow users to sign into apps using multiple methods, easily invite collaborators (internal and external) and avoid any additional friction during the sign up process. ",{"data":187557,"content":187558,"nodeType":860},{},[187559],{"data":187560,"marks":187561,"value":187562,"nodeType":864},{},[],"For example, many apps avoid verifying new account email addresses. This is not laziness, these are conscious design choices - not driven by security clearly, but not accidents.",{"data":187564,"content":187565,"nodeType":1312},{},[187566],{"data":187567,"marks":187568,"value":101960,"nodeType":864},{},[],{"data":187570,"content":187571,"nodeType":860},{},[187572],{"data":187573,"marks":187574,"value":187575,"nodeType":864},{},[],"Most SaaS apps are trying to build app marketplaces or perform well in other app’s marketplaces (often both) and it’s rare these days to find apps that don’t integrate with other apps. ",{"data":187577,"content":187578,"nodeType":860},{},[187579],{"data":187580,"marks":187581,"value":101974,"nodeType":864},{},[],{"data":187583,"content":187584,"nodeType":860},{},[187585],{"data":187586,"marks":187587,"value":101981,"nodeType":864},{},[],{"data":187589,"content":187590,"nodeType":1009},{},[187591],{"data":187592,"marks":187593,"value":101988,"nodeType":864},{},[],{"data":187595,"content":187596,"nodeType":860},{},[187597,187601,187605],{"data":187598,"marks":187599,"value":187600,"nodeType":864},{},[],"This research begs one question above others - ",{"data":187602,"marks":187603,"value":102000,"nodeType":864},{},[187604],{"type":2246},{"data":187606,"marks":187607,"value":102004,"nodeType":864},{},[],{"data":187609,"content":187610,"nodeType":1312},{},[187611],{"data":187612,"marks":187613,"value":102011,"nodeType":864},{},[],{"data":187615,"content":187616,"nodeType":860},{},[187617,187621,187628,187631,187638,187641,187648,187651,187658,187661,187668],{"data":187618,"marks":187619,"value":187620,"nodeType":864},{},[],"For some of the better known techniques, like credential stuffing and email phishing, the answer is an easy yes. Stats from ",{"data":187622,"content":187623,"nodeType":883},{"uri":102021},[187624],{"data":187625,"marks":187626,"value":102027,"nodeType":864},{},[187627],{"type":1455},{"data":187629,"marks":187630,"value":902,"nodeType":864},{},[],{"data":187632,"content":187633,"nodeType":883},{"uri":102033},[187634],{"data":187635,"marks":187636,"value":102039,"nodeType":864},{},[187637],{"type":1455},{"data":187639,"marks":187640,"value":102043,"nodeType":864},{},[],{"data":187642,"content":187643,"nodeType":883},{"uri":102046},[187644],{"data":187645,"marks":187646,"value":102052,"nodeType":864},{},[187647],{"type":1455},{"data":187649,"marks":187650,"value":35735,"nodeType":864},{},[],{"data":187652,"content":187653,"nodeType":883},{"uri":8628},[187654],{"data":187655,"marks":187656,"value":102063,"nodeType":864},{},[187657],{"type":1455},{"data":187659,"marks":187660,"value":102067,"nodeType":864},{},[],{"data":187662,"content":187663,"nodeType":883},{"uri":102070},[187664],{"data":187665,"marks":187666,"value":102076,"nodeType":864},{},[187667],{"type":1455},{"data":187669,"marks":187670,"value":102080,"nodeType":864},{},[],{"data":187672,"content":187673,"nodeType":860},{},[187674],{"data":187675,"marks":187676,"value":187677,"nodeType":864},{},[],"The takeaway is that the current focus for defenders should be to ensure users have good phishing-resistant account security in place - make sure you have basics like strong unique passwords and MFA in place across your entire SaaS estate.",{"data":187679,"content":187680,"nodeType":1312},{},[187681],{"data":187682,"marks":187683,"value":187684,"nodeType":864},{},[],"For newer OAuth attacks it’s a lot less clear…",{"data":187686,"content":187687,"nodeType":860},{},[187688,187692,187697,187700,187707],{"data":187689,"marks":187690,"value":187691,"nodeType":864},{},[],"Other techniques like consent phishing, and have been discussed in some breach disclosures like the ",{"data":187693,"marks":187694,"value":187696,"nodeType":864},{},[187695],{"type":1455},"2020 Sans breach",{"data":187698,"marks":187699,"value":102110,"nodeType":864},{},[],{"data":187701,"content":187702,"nodeType":883},{"uri":102113},[187703],{"data":187704,"marks":187705,"value":102119,"nodeType":864},{},[187706],{"type":1455},{"data":187708,"marks":187709,"value":102123,"nodeType":864},{},[],{"data":187711,"content":187712,"nodeType":860},{},[187713,187716,187721],{"data":187714,"marks":187715,"value":102130,"nodeType":864},{},[],{"data":187717,"marks":187718,"value":187720,"nodeType":864},{},[187719],{"type":2246},"either attackers aren’t yet using them widely or they are and we aren’t detecting them",{"data":187722,"marks":187723,"value":2924,"nodeType":864},{},[],{"data":187725,"content":187726,"nodeType":860},{},[187727],{"data":187728,"marks":187729,"value":187730,"nodeType":864},{},[],"There is certainly a case to be made that attackers simply don’t need these newer techniques yet. Many organizations don’t have a way of discovering SaaS use in their organization yet, nevermind breached accounts, so new persistence techniques might be a bit more than necessary at the moment.",{"data":187732,"content":187733,"nodeType":1312},{},[187734],{"data":187735,"marks":187736,"value":102152,"nodeType":864},{},[],{"data":187738,"content":187739,"nodeType":860},{},[187740],{"data":187741,"marks":187742,"value":187743,"nodeType":864},{},[],"On the other hand, there is certainly the possibility that these attacks are increasingly used, but are simply not being discovered. A strong argument in favor of this view is the difficulty in investigating these attacks. Very few SaaS apps provide enough logging capability to discover these attacks as a customer, this is true even for the biggest, most mature apps like Office 365 and Google Workspace unless you are on top license tiers. This is doubly true for attacks that use OAuth, with many apps providing no insight or details into actions made using OAuth-authenticated APIs. ",{"data":187745,"content":187746,"nodeType":860},{},[187747,187750,187757,187761,187768],{"data":187748,"marks":187749,"value":102166,"nodeType":864},{},[],{"data":187751,"content":187752,"nodeType":883},{"uri":102169},[187753],{"data":187754,"marks":187755,"value":102175,"nodeType":864},{},[187756],{"type":1455},{"data":187758,"marks":187759,"value":187760,"nodeType":864},{},[]," relied heavily on Github during the investigation (and in one case even the detection of) their 2022 breaches, and the same  seems true for a similar breach affecting ",{"data":187762,"content":187763,"nodeType":883},{"uri":102182},[187764],{"data":187765,"marks":187766,"value":102188,"nodeType":864},{},[187767],{"type":1455},{"data":187769,"marks":187770,"value":102192,"nodeType":864},{},[],{"data":187772,"content":187773,"nodeType":860},{},[187774,187778,187786],{"data":187775,"marks":187776,"value":187777,"nodeType":864},{},[],"So, are these attacks happening in the real world? My best guess is it’s a little bit of column A and a little bit of column B – there are likely not so many of these attacks happening yet, and when they do I suspect the vast majority go undetected. ",{"data":187779,"content":187780,"nodeType":883},{"uri":102202},[187781],{"data":187782,"marks":187783,"value":102209,"nodeType":864},{},[187784,187785],{"type":1455},{"type":2246},{"data":187787,"marks":187788,"value":21,"nodeType":864},{},[],{"data":187790,"content":187791,"nodeType":860},{},[187792],{"data":187793,"marks":187794,"value":187795,"nodeType":864},{},[],"This is part of the reason we think enabling red-teamers to try these techniques in anger is useful - this is the time-proven way to understand these risks.",{"data":187797,"content":187798,"nodeType":1009},{},[187799],{"data":187800,"marks":187801,"value":102226,"nodeType":864},{},[],{"data":187803,"content":187804,"nodeType":860},{},[187805],{"data":187806,"marks":187807,"value":187808,"nodeType":864},{},[],"We’ve barely scratched the surface, but perhaps there is enough here to get the discussion going. From past experience, discussion may not be enough, and it’s likely that live offensive work like penetration tests or more likely red-team exercises will be required to make the risks of using these techniques real for the wider security community. ",{"data":187810,"content":187811,"nodeType":860},{},[187812],{"data":187813,"marks":187814,"value":187815,"nodeType":864},{},[],"After all, seeing is believing. We think some more practical examples and tools to help red- teamers use these techniques on engagements will help drive awareness forward so we’ll be looking to build out this content.",{"data":187817,"content":187818,"nodeType":860},{},[187819,187822,187830],{"data":187820,"marks":187821,"value":102247,"nodeType":864},{},[],{"data":187823,"content":187824,"nodeType":883},{"uri":102250},[187825],{"data":187826,"marks":187827,"value":187829,"nodeType":864},{},[187828],{"type":1455},"backdoored github repo to get code execution on endpoints",{"data":187831,"marks":187832,"value":2924,"nodeType":864},{},[],{"data":187834,"content":187835,"nodeType":860},{},[187836,187840,187847],{"data":187837,"marks":187838,"value":187839,"nodeType":864},{},[],"Help us all better understand how widespread these attacks are by sharing some war stories - blueteams, have you seen these attacks in IR investigations? Red-teamers, have tried these or similar techniques against SaaS? Even better, we’d love some comments, discussions, or PRs on ",{"data":187841,"content":187842,"nodeType":883},{"uri":6418},[187843],{"data":187844,"marks":187845,"value":6423,"nodeType":864},{},[187846],{"type":1455},{"data":187848,"marks":187849,"value":96674,"nodeType":864},{},[],{"entries":187851},{"hyperlink":187852,"block":187853,"inline":187854},[],[],[],{"items":187856},[],{},"Move faster than competitors by embracing SaaS","2023-04-21T00:00:00.000Z",{"items":187861},[187862,188184],{"__typename":2059,"sys":187863,"content":187865,"title":188170,"synopsis":188171,"hashTags":59,"publishedDate":188172,"slug":188173,"tagsCollection":188174,"authorsCollection":188180},{"id":187864},"2cLFeaDTWWdZ8G8U12qmiZ",{"json":187866},{"data":187867,"content":187868,"nodeType":856},{},[187869,187876,187883,187890,187897,187904,187911,187918,187925,187932,187939,187946,187970,187989,187996,188003,188010,188073,188093,188110,188117,188124,188131,188137,188144,188151],{"data":187870,"content":187871,"nodeType":1009},{},[187872],{"data":187873,"marks":187874,"value":187875,"nodeType":864},{},[],"Prevention isn’t always the answer",{"data":187877,"content":187878,"nodeType":860},{},[187879],{"data":187880,"marks":187881,"value":187882,"nodeType":864},{},[],"As a security team, our job is to help our company achieve its goals by taking risks securely. Simply using a computer represents a risk over the more traditional pen and paper, but the productivity gains clearly outweigh the risk; so the security team ensures the business takes that risk securely. Outright prevention - i.e. not using a computer - in this case, makes no sense.",{"data":187884,"content":187885,"nodeType":860},{},[187886],{"data":187887,"marks":187888,"value":187889,"nodeType":864},{},[],"Of course, within how the computer operates we might choose to prevent some functionality in the name of security, but the principle remains the same - prevention usually requires a trade-off against productivity.",{"data":187891,"content":187892,"nodeType":1009},{},[187893],{"data":187894,"marks":187895,"value":187896,"nodeType":864},{},[],"Detection, but at the cost of privacy",{"data":187898,"content":187899,"nodeType":860},{},[187900],{"data":187901,"marks":187902,"value":187903,"nodeType":864},{},[],"When a base level of security became more common (through better awareness, accessible knowledge, and sensible vendor defaults), attackers shifted to using techniques that couldn’t be prevented because the business relied on the underlying tools - a malicious Word doc, a sneaky PowerShell script, a dodgy PDF.",{"data":187905,"content":187906,"nodeType":860},{},[187907],{"data":187908,"marks":187909,"value":187910,"nodeType":864},{},[],"Now prevention wasn’t an option, the security team had to monitor usage for malicious activity. But monitoring comes at a cost. To detect when malicious activity happens, the security team needs to monitor all activity, including legitimate activity. So, while a detection approach doesn’t restrict what a user can do, it comes at the cost of their privacy.",{"data":187912,"content":187913,"nodeType":1009},{},[187914],{"data":187915,"marks":187916,"value":187917,"nodeType":864},{},[],"Building trust with your users",{"data":187919,"content":187920,"nodeType":860},{},[187921],{"data":187922,"marks":187923,"value":187924,"nodeType":864},{},[],"In either case, when introducing security controls you should aim to justify and explain this decision to your users, remembering that security’s job is to help them do their jobs securely - it shouldn’t be for them to figure out how to do their jobs within the confines of what the security team has decided is OK. A security team should be more like the secret service, than the prison service.",{"data":187926,"content":187927,"nodeType":860},{},[187928],{"data":187929,"marks":187930,"value":187931,"nodeType":864},{},[],"Although, of course, many employees won’t have much interest in the motivations of their IT/security team, maintaining this attitude will help you build and keep trust with them. With trust in hand, employees will be less likely to try to work around your controls.",{"data":187933,"content":187934,"nodeType":1009},{},[187935],{"data":187936,"marks":187937,"value":187938,"nodeType":864},{},[],"SaaS - the new frontier",{"data":187940,"content":187941,"nodeType":860},{},[187942],{"data":187943,"marks":187944,"value":187945,"nodeType":864},{},[],"In recent years, our computers are mostly just windows to the Internet - many users access their email, video conferencing, productivity suites and more via their browser (or Electron apps pretending they aren’t browsers).",{"data":187947,"content":187948,"nodeType":860},{},[187949,187953,187958,187962,187966],{"data":187950,"marks":187951,"value":187952,"nodeType":864},{},[],"And, as is often the way, we’re relearning the same lessons as before. Should employees be ",{"data":187954,"marks":187955,"value":187957,"nodeType":864},{},[187956],{"type":2246},"allowed",{"data":187959,"marks":187960,"value":187961,"nodeType":864},{},[]," to sign up for and use arbitrary SaaS platforms? Should employees be ",{"data":187963,"marks":187964,"value":187957,"nodeType":864},{},[187965],{"type":2246},{"data":187967,"marks":187968,"value":187969,"nodeType":864},{},[]," to add arbitrary apps into Microsoft 365, Google Workspace, or other SaaS platforms?",{"data":187971,"content":187972,"nodeType":860},{},[187973,187977,187985],{"data":187974,"marks":187975,"value":187976,"nodeType":864},{},[],"Regardless of your answer, your coworkers have already spoken and it’s almost certainly already happening. A ",{"data":187978,"content":187979,"nodeType":883},{"uri":165034},[187980],{"data":187981,"marks":187982,"value":187984,"nodeType":864},{},[187983],{"type":1455},"report from G2",{"data":187986,"marks":187987,"value":187988,"nodeType":864},{},[]," stated that 80% of workers admit to using SaaS applications at work without getting approval from IT. If you want to enable your colleagues’ productivity, prevention, it would seem, isn’t an option.",{"data":187990,"content":187991,"nodeType":1009},{},[187992],{"data":187993,"marks":187994,"value":187995,"nodeType":864},{},[],"The risks of SaaS",{"data":187997,"content":187998,"nodeType":860},{},[187999],{"data":188000,"marks":188001,"value":188002,"nodeType":864},{},[],"So how do we secure the company in this new way of working? We still have plenty to consider.",{"data":188004,"content":188005,"nodeType":860},{},[188006],{"data":188007,"marks":188008,"value":188009,"nodeType":864},{},[],"We can start thinking about SaaS not just as an allow or not to allow, but taking a more flexible and pragmatic approach, asking questions like::",{"data":188011,"content":188012,"nodeType":941},{},[188013,188023,188033,188043,188053,188063],{"data":188014,"content":188015,"nodeType":945},{},[188016],{"data":188017,"content":188018,"nodeType":860},{},[188019],{"data":188020,"marks":188021,"value":188022,"nodeType":864},{},[],"What kind of data users are entering into these third-party platforms?",{"data":188024,"content":188025,"nodeType":945},{},[188026],{"data":188027,"content":188028,"nodeType":860},{},[188029],{"data":188030,"marks":188031,"value":188032,"nodeType":864},{},[],"How much do we trust the controls the third-party has in place?",{"data":188034,"content":188035,"nodeType":945},{},[188036],{"data":188037,"content":188038,"nodeType":860},{},[188039],{"data":188040,"marks":188041,"value":188042,"nodeType":864},{},[],"Are those controls appropriate for the data? ",{"data":188044,"content":188045,"nodeType":945},{},[188046],{"data":188047,"content":188048,"nodeType":860},{},[188049],{"data":188050,"marks":188051,"value":188052,"nodeType":864},{},[],"Is this platform redundant with the other services we use (e.g. “we use Google Drive, not Dropbox”)? ",{"data":188054,"content":188055,"nodeType":945},{},[188056],{"data":188057,"content":188058,"nodeType":860},{},[188059],{"data":188060,"marks":188061,"value":188062,"nodeType":864},{},[],"Does IT or security need to manage accounts for joiners/leavers?",{"data":188064,"content":188065,"nodeType":945},{},[188066],{"data":188067,"content":188068,"nodeType":860},{},[188069],{"data":188070,"marks":188071,"value":188072,"nodeType":864},{},[],"Does this platform impact our compliance? (e.g. does storing this data on this platform compromise our GDPR status?)",{"data":188074,"content":188075,"nodeType":860},{},[188076,188080,188089],{"data":188077,"marks":188078,"value":188079,"nodeType":864},{},[],"No one said it would be easy 🙃 and it’s easy to see why many organizations initially opt to simply try to block users from using such systems. Assessing each application can be daunting using traditional third-party security assessment techniques - we’ve written a ",{"data":188081,"content":188084,"nodeType":27604},{"target":188082},{"sys":188083},{"id":151289,"type":1001,"linkType":1002},[188085],{"data":188086,"marks":188087,"value":188088,"nodeType":864},{},[],"short guide",{"data":188090,"marks":188091,"value":188092,"nodeType":864},{},[]," on how to approach security auditing in a world of SaaS, which you might find useful.",{"data":188094,"content":188095,"nodeType":860},{},[188096,188100,188106],{"data":188097,"marks":188098,"value":188099,"nodeType":864},{},[],"But the first step in managing this new world is through visibility. Knowing the problem is half the battle and we published ",{"data":188101,"content":188102,"nodeType":883},{"uri":164982},[188103],{"data":188104,"marks":188105,"value":155142,"nodeType":864},{},[],{"data":188107,"marks":188108,"value":188109,"nodeType":864},{},[]," about how to manually find the SaaS apps your employees are using. The problem is, a lot of them are either error-prone or quite invasive, potentially collecting your users private activity. In the trade-off of security versus privacy, we think that’s a bit too far and will likely damage the trust you’ve built with your coworkers.",{"data":188111,"content":188112,"nodeType":1009},{},[188113],{"data":188114,"marks":188115,"value":188116,"nodeType":864},{},[],"Monitoring SaaS use without compromising privacy",{"data":188118,"content":188119,"nodeType":860},{},[188120],{"data":188121,"marks":188122,"value":188123,"nodeType":864},{},[],"Our approach at Push is to deploy our browser extension to our users’ browsers which is configured with the domains we use for work (e.g. @pushsecurity.com). The browser extension only monitors logins where an @pushsecurity.com email address is used, which we can reasonably assume means the platform is being used for work reasons.",{"data":188125,"content":188126,"nodeType":860},{},[188127],{"data":188128,"marks":188129,"value":188130,"nodeType":864},{},[],"We share this with employees up front during the onboarding process and, if you click on the browser extension, it also lets you know which domains it’s monitoring:",{"data":188132,"content":188136,"nodeType":996},{"target":188133},{"sys":188134},{"id":188135,"type":1001,"linkType":1002},"6z1apzuDIaXXN7xIAHEUku",[],{"data":188138,"content":188139,"nodeType":860},{},[188140],{"data":188141,"marks":188142,"value":188143,"nodeType":864},{},[],"This helps our users understand why we are monitoring which SaaS they’re using which in turn makes them aware of the risk we are managing and why.",{"data":188145,"content":188146,"nodeType":860},{},[188147],{"data":188148,"marks":188149,"value":188150,"nodeType":864},{},[],"With this approach we’ve built a comprehensive picture of which SaaS platforms our team is using which has helped us understand where our data lives and which platforms need extra attention to ensure we have all the right controls in place. When our users use a new platform we can reach out to them at the start of their journey to understand what they’re trying to achieve and how we can help them do it securely.",{"data":188152,"content":188153,"nodeType":860},{},[188154,188157,188166],{"data":188155,"marks":188156,"value":21,"nodeType":864},{},[],{"data":188158,"content":188160,"nodeType":883},{"uri":188159},"https://pushsecurity.com/features/saas-discovery",[188161],{"data":188162,"marks":188163,"value":188165,"nodeType":864},{},[188164],{"type":1455},"Learn more about how Push can discover SaaS apps your employees are using",{"data":188167,"marks":188168,"value":188169,"nodeType":864},{},[]," without compromising their privacy. ","How to discover SaaS use without invading employee privacy","Learn how to manage SaaS in a way that keeps employees productive and doesn't compromise privacy.","2022-08-22T00:00:00.000Z","how-to-discover-saas-use-without-invading-employee-privacy",{"items":188175},[188176,188178],{"sys":188177,"name":4904},{"id":4903},{"sys":188179,"name":2729},{"id":2728},{"items":188181},[188182],{"fullName":79005,"firstName":79006,"jobTitle":79007,"profilePicture":188183},{"url":79009},{"__typename":2059,"sys":188185,"content":188186,"title":161685,"synopsis":161686,"hashTags":59,"publishedDate":161687,"slug":161688,"tagsCollection":188468,"authorsCollection":188474},{"id":161359},{"json":188187},{"data":188188,"content":188189,"nodeType":856},{},[188190,188196,188213,188219,188225,188231,188237,188243,188249,188255,188261,188267,188273,188279,188285,188298,188304,188310,188316,188322,188328,188334,188349,188355,188361,188367,188373,188379,188386,188416,188423,188453],{"data":188191,"content":188192,"nodeType":860},{},[188193],{"data":188194,"marks":188195,"value":161370,"nodeType":864},{},[],{"data":188197,"content":188198,"nodeType":860},{},[188199,188202,188210],{"data":188200,"marks":188201,"value":161377,"nodeType":864},{},[],{"data":188203,"content":188206,"nodeType":27604},{"target":188204},{"sys":188205},{"id":149551,"type":1001,"linkType":1002},[188207],{"data":188208,"marks":188209,"value":118412,"nodeType":864},{},[],{"data":188211,"marks":188212,"value":161389,"nodeType":864},{},[],{"data":188214,"content":188215,"nodeType":860},{},[188216],{"data":188217,"marks":188218,"value":161396,"nodeType":864},{},[],{"data":188220,"content":188221,"nodeType":860},{},[188222],{"data":188223,"marks":188224,"value":161403,"nodeType":864},{},[],{"data":188226,"content":188227,"nodeType":860},{},[188228],{"data":188229,"marks":188230,"value":161410,"nodeType":864},{},[],{"data":188232,"content":188233,"nodeType":860},{},[188234],{"data":188235,"marks":188236,"value":161417,"nodeType":864},{},[],{"data":188238,"content":188239,"nodeType":1312},{},[188240],{"data":188241,"marks":188242,"value":161424,"nodeType":864},{},[],{"data":188244,"content":188245,"nodeType":860},{},[188246],{"data":188247,"marks":188248,"value":161431,"nodeType":864},{},[],{"data":188250,"content":188251,"nodeType":860},{},[188252],{"data":188253,"marks":188254,"value":161438,"nodeType":864},{},[],{"data":188256,"content":188257,"nodeType":860},{},[188258],{"data":188259,"marks":188260,"value":161445,"nodeType":864},{},[],{"data":188262,"content":188263,"nodeType":860},{},[188264],{"data":188265,"marks":188266,"value":161452,"nodeType":864},{},[],{"data":188268,"content":188269,"nodeType":1312},{},[188270],{"data":188271,"marks":188272,"value":161459,"nodeType":864},{},[],{"data":188274,"content":188275,"nodeType":860},{},[188276],{"data":188277,"marks":188278,"value":161466,"nodeType":864},{},[],{"data":188280,"content":188281,"nodeType":860},{},[188282],{"data":188283,"marks":188284,"value":161473,"nodeType":864},{},[],{"data":188286,"content":188287,"nodeType":860},{},[188288,188291,188295],{"data":188289,"marks":188290,"value":161480,"nodeType":864},{},[],{"data":188292,"marks":188293,"value":161485,"nodeType":864},{},[188294],{"type":2246},{"data":188296,"marks":188297,"value":161489,"nodeType":864},{},[],{"data":188299,"content":188300,"nodeType":860},{},[188301],{"data":188302,"marks":188303,"value":161496,"nodeType":864},{},[],{"data":188305,"content":188306,"nodeType":1312},{},[188307],{"data":188308,"marks":188309,"value":161503,"nodeType":864},{},[],{"data":188311,"content":188312,"nodeType":860},{},[188313],{"data":188314,"marks":188315,"value":161510,"nodeType":864},{},[],{"data":188317,"content":188318,"nodeType":860},{},[188319],{"data":188320,"marks":188321,"value":161517,"nodeType":864},{},[],{"data":188323,"content":188324,"nodeType":860},{},[188325],{"data":188326,"marks":188327,"value":161524,"nodeType":864},{},[],{"data":188329,"content":188330,"nodeType":860},{},[188331],{"data":188332,"marks":188333,"value":161531,"nodeType":864},{},[],{"data":188335,"content":188336,"nodeType":860},{},[188337,188340,188346],{"data":188338,"marks":188339,"value":161538,"nodeType":864},{},[],{"data":188341,"content":188342,"nodeType":883},{"uri":161541},[188343],{"data":188344,"marks":188345,"value":161546,"nodeType":864},{},[],{"data":188347,"marks":188348,"value":12252,"nodeType":864},{},[],{"data":188350,"content":188351,"nodeType":1312},{},[188352],{"data":188353,"marks":188354,"value":161556,"nodeType":864},{},[],{"data":188356,"content":188357,"nodeType":860},{},[188358],{"data":188359,"marks":188360,"value":161563,"nodeType":864},{},[],{"data":188362,"content":188363,"nodeType":860},{},[188364],{"data":188365,"marks":188366,"value":161570,"nodeType":864},{},[],{"data":188368,"content":188369,"nodeType":1312},{},[188370],{"data":188371,"marks":188372,"value":32492,"nodeType":864},{},[],{"data":188374,"content":188375,"nodeType":860},{},[188376],{"data":188377,"marks":188378,"value":161583,"nodeType":864},{},[],{"data":188380,"content":188381,"nodeType":860},{},[188382],{"data":188383,"marks":188384,"value":161591,"nodeType":864},{},[188385],{"type":899},{"data":188387,"content":188388,"nodeType":941},{},[188389,188398,188407],{"data":188390,"content":188391,"nodeType":945},{},[188392],{"data":188393,"content":188394,"nodeType":860},{},[188395],{"data":188396,"marks":188397,"value":161604,"nodeType":864},{},[],{"data":188399,"content":188400,"nodeType":945},{},[188401],{"data":188402,"content":188403,"nodeType":860},{},[188404],{"data":188405,"marks":188406,"value":161614,"nodeType":864},{},[],{"data":188408,"content":188409,"nodeType":945},{},[188410],{"data":188411,"content":188412,"nodeType":860},{},[188413],{"data":188414,"marks":188415,"value":161624,"nodeType":864},{},[],{"data":188417,"content":188418,"nodeType":860},{},[188419],{"data":188420,"marks":188421,"value":161632,"nodeType":864},{},[188422],{"type":899},{"data":188424,"content":188425,"nodeType":941},{},[188426,188435,188444],{"data":188427,"content":188428,"nodeType":945},{},[188429],{"data":188430,"content":188431,"nodeType":860},{},[188432],{"data":188433,"marks":188434,"value":161645,"nodeType":864},{},[],{"data":188436,"content":188437,"nodeType":945},{},[188438],{"data":188439,"content":188440,"nodeType":860},{},[188441],{"data":188442,"marks":188443,"value":161655,"nodeType":864},{},[],{"data":188445,"content":188446,"nodeType":945},{},[188447],{"data":188448,"content":188449,"nodeType":860},{},[188450],{"data":188451,"marks":188452,"value":161665,"nodeType":864},{},[],{"data":188454,"content":188455,"nodeType":860},{},[188456,188459,188465],{"data":188457,"marks":188458,"value":161672,"nodeType":864},{},[],{"data":188460,"content":188461,"nodeType":883},{"uri":161675},[188462],{"data":188463,"marks":188464,"value":161680,"nodeType":864},{},[],{"data":188466,"marks":188467,"value":161684,"nodeType":864},{},[],{"items":188469},[188470,188472],{"sys":188471,"name":4904},{"id":4903},{"sys":188473,"name":2729},{"id":2728},{"items":188475},[188476],{"fullName":38408,"firstName":38409,"jobTitle":38410,"profilePicture":188477},{"url":38412},"embrace-saas-to-move-faster-than-your-competitors","blog/embrace-saas-to-move-faster-than-your-competitors",{"json":188481},{"data":188482,"content":188483,"nodeType":856},{},[188484],{"data":188485,"content":188486,"nodeType":860},{},[188487],{"data":188488,"marks":188489,"value":188490,"nodeType":864},{},[],"One of the questions we hear all the time is, “Can’t I just block my employees from using SaaS that my team hasn’t already vetted and approved?” And the answer is “Yes, you can. You can certainly block the apps we find your employees using, but the real question is ‘Should you?’”","Look at enabling SaaS from a broader understanding of the business and not just the impact to security",{"id":188493,"publishedAt":188494},"6tC3Xqkq7kdTMOvqLMEafp","2026-08-12T11:56:23.643Z",{"items":188496},[188497,188499],{"sys":188498,"name":4904},{"id":4903},{"sys":188500,"name":297},{"id":2732},{"items":188502},[188503,188505,188507,188509,188511,188513,188515,188517,188519,188521,188523,188525,188527,188529],{"sys":188504,"name":279,"slug":280,"tier":31},{"id":276},{"sys":188506,"name":413,"slug":414,"tier":31},{"id":410},{"sys":188508,"name":545,"slug":546,"tier":31},{"id":542},{"sys":188510,"name":642,"slug":643,"tier":31},{"id":639},{"sys":188512,"name":404,"slug":405,"tier":45},{"id":401},{"sys":188514,"name":484,"slug":485,"tier":45},{"id":481},{"sys":188516,"name":324,"slug":325,"tier":45},{"id":321},{"sys":188518,"name":333,"slug":334,"tier":45},{"id":330},{"sys":188520,"name":395,"slug":396,"tier":45},{"id":392},{"sys":188522,"name":607,"slug":608,"tier":45},{"id":604},{"sys":188524,"name":431,"slug":432,"tier":45},{"id":428},{"sys":188526,"name":377,"slug":378,"tier":45},{"id":374},{"sys":188528,"name":475,"slug":476,"tier":45},{"id":472},{"sys":188530,"name":589,"slug":590,"tier":45},{"id":586},"PhHQYsz58S-CFuI0MPA3Ypt9HqK31oerSR9bZ31hOnY",{"id":188533,"title":188534,"authorsCollection":188535,"content":188543,"extension":228,"faqItemsCollection":188904,"faqTitle":59,"featured":6,"hashTags":59,"meta":188906,"metaTitle":188907,"ogImage":59,"postType":47747,"publishedDate":188908,"relatedBlogPostsCollection":188909,"slug":189455,"stem":189456,"subtitle":59,"summary":189457,"synopsis":189467,"sys":189468,"tagsCollection":189471,"topicsCollection":189475,"__hash__":189493},"blog/blog/push-it-real-good-why-im-excited-to-join-pushs-board.json","Push it real good: Why I’m excited to join Push’s board",{"items":188536},[188537],{"fullName":188538,"firstName":188539,"jobTitle":188540,"socialLinks":59,"profilePicture":188541},"Jon Oberheide","Jon","Push board member, co-founder and former CTO Duo Security",{"url":188542},"https://images.ctfassets.net/y1cdw1ablpvd/2KPJNN6IWpB4rDtsnox5BH/77ea22710f9ae8c989ba4e05f5d7dcc3/jon-oberheide.jpeg",{"json":188544,"links":188895},{"data":188545,"content":188546,"nodeType":856},{},[188547,188580,188627,188684,188691,188711,188718,188738,188745,188752,188759,188766,188773,188806,188834,188841,188848,188855,188875],{"data":188548,"content":188549,"nodeType":860},{},[188550,188554,188563,188567,188576],{"data":188551,"marks":188552,"value":188553,"nodeType":864},{},[],"Software has been eating the world for the past decade. And boy, it turns out that software is still SUPER hungry (like, ",{"data":188555,"content":188557,"nodeType":883},{"uri":188556},"https://www.youtube.com/watch?v=QETfA9_b7wM",[188558],{"data":188559,"marks":188560,"value":188562,"nodeType":864},{},[188561],{"type":1455},"Audrey II hungry",{"data":188564,"marks":188565,"value":188566,"nodeType":864},{},[],"), as we’ve seen countless new SaaS apps spring up across the software ecosystem. This is great news for organizations of all shapes and sizes. Embracing modern SaaS enables employees to be more productive, use the apps they love, and, as many companies have been recently pressured, ",{"data":188568,"content":188570,"nodeType":883},{"uri":188569},"https://www.washingtonpost.com/business/interactive/2023/tech-layoffs-company-memos/",[188571],{"data":188572,"marks":188573,"value":188575,"nodeType":864},{},[188574],{"type":1455},"do more with less",{"data":188577,"marks":188578,"value":188579,"nodeType":864},{},[],". But it’s less of a fun time for security teams that are trying to grapple with this sprawl of shadow IT…and have always had to do more with less!",{"data":188581,"content":188582,"nodeType":860},{},[188583,188587,188595,188599,188608,188612,188623],{"data":188584,"marks":188585,"value":188586,"nodeType":864},{},[],"The sprawl of SaaS apps is not just a raw increase of apps in-use in a modern enterprise (which is often wildly underestimated by CIOs/CISOs), but also the result of bottoms-up adoption of new apps. Driven by the ",{"data":188588,"content":188590,"nodeType":883},{"uri":188589},"https://openviewpartners.com/product-led-growth/",[188591],{"data":188592,"marks":188593,"value":102728,"nodeType":864},{},[188594],{"type":1455},{"data":188596,"marks":188597,"value":188598,"nodeType":864},{},[]," (PLG) movement, employees now frequently sign-up in a self-service manner for new SaaS apps and put them immediately into use on an individual or team level, without the traditional review, procurement, and management by corporate IT/security teams. Move fast, and cross your fingers that you don’t ",{"data":188600,"content":188602,"nodeType":883},{"uri":188601},"https://hbr.org/2019/01/the-era-of-move-fast-and-break-things-is-over",[188603],{"data":188604,"marks":188605,"value":188607,"nodeType":864},{},[188606],{"type":1455},"break too many things",{"data":188609,"marks":188610,"value":188611,"nodeType":864},{},[],"? Push has ",{"data":188613,"content":188617,"nodeType":27604},{"target":188614},{"sys":188615},{"id":188616,"type":1001,"linkType":1002},"1t9lzEIIB2PNrN1pyG3RRy",[188618],{"data":188619,"marks":188620,"value":188622,"nodeType":864},{},[188621],{"type":1455},"written about this shift",{"data":188624,"marks":188625,"value":188626,"nodeType":864},{},[]," in more detail, which is worth reading. ",{"data":188628,"content":188629,"nodeType":860},{},[188630,188634,188642,188646,188655,188659,188667,188671,188680],{"data":188631,"marks":188632,"value":188633,"nodeType":864},{},[],"These unsanctioned/unmanaged SaaS apps represent a growing attack surface. While the problems of shadow IT are not necessarily new, I would argue that the true security risk, which perhaps was not fully-appreciated previously, has recently come to the forefront through high-profile ",{"data":188635,"content":188636,"nodeType":883},{"uri":102182},[188637],{"data":188638,"marks":188639,"value":188641,"nodeType":864},{},[188640],{"type":1455},"supply chain compromises",{"data":188643,"marks":188644,"value":188645,"nodeType":864},{},[],". Whether it’s a single user getting ",{"data":188647,"content":188649,"nodeType":883},{"uri":188648},"https://pushsecurity.com/blog/consent-phishing-the-emerging-phishing-technique-that-can-bypass-2fa",[188650],{"data":188651,"marks":188652,"value":188654,"nodeType":864},{},[188653],{"type":1455},"OAuth phished",{"data":188656,"marks":188657,"value":188658,"nodeType":864},{},[],", password reuse across SaaS apps targeted by ",{"data":188660,"content":188662,"nodeType":883},{"uri":188661},"https://www.microsoft.com/en-us/security/blog/2022/09/22/malicious-oauth-applications-used-to-compromise-email-servers-and-spread-spam/",[188663],{"data":188664,"marks":188665,"value":87930,"nodeType":864},{},[188666],{"type":1455},{"data":188668,"marks":188669,"value":188670,"nodeType":864},{},[],", or a breach of a ",{"data":188672,"content":188674,"nodeType":883},{"uri":188673},"https://www.proofpoint.com/us/blog/cloud-security/dangerous-consequences-threat-actors-abusing-microsofts-verified-publisher",[188675],{"data":188676,"marks":188677,"value":188679,"nodeType":864},{},[188678],{"type":1455},"third-party integration",{"data":188681,"marks":188682,"value":188683,"nodeType":864},{},[]," plugged into your Google Workspace or Microsoft 365, the risks are now clear and present.",{"data":188685,"content":188686,"nodeType":1312},{},[188687],{"data":188688,"marks":188689,"value":188690,"nodeType":864},{},[],"Work with employees, not around them",{"data":188692,"content":188693,"nodeType":860},{},[188694,188698,188707],{"data":188695,"marks":188696,"value":188697,"nodeType":864},{},[],"Despite SaaS sprawl and the proliferation of related attacks, I’ve always had a belief that users are good-intentioned, want to be productive in their job, and desire to keep their organization secure. We can’t ask users to walk a terrifying tightrope of security (“don’t get phished”, “don’t open attachments”, “don’t click links”, “don’t plug things into your computer”, etc) and still do their actual job effectively. In the modern day, you either design a ",{"data":188699,"content":188701,"nodeType":883},{"uri":188700},"https://www.oreilly.com/library/view/oscon-2017/9781491976227/video306724.html",[188702],{"data":188703,"marks":188704,"value":188706,"nodeType":864},{},[188705],{"type":1455},"paved path",{"data":188708,"marks":188709,"value":188710,"nodeType":864},{},[]," for your users to be able to move quickly and safely, or you risk the consequences when they go off-roading.",{"data":188712,"content":188713,"nodeType":860},{},[188714],{"data":188715,"marks":188716,"value":188717,"nodeType":864},{},[],"When there is no paved path for those good-intentioned users to get their job done, it’s no surprise that they find creative ways to work around poorly-designed security controls. For example, if an employee has to jump through a lot of hoops to get on the corporate VPN and access an internal Sharepoint instance in order to collaborate with colleagues, they’re likely to just sign-up for and use a self-service Box/Dropbox/Trello tenant. A violation of corporate security policy? Perhaps. A shadow IT risk to the organization? Sure. But they’re not being malicious, they’re just trying to get their job done.",{"data":188719,"content":188720,"nodeType":860},{},[188721,188725,188734],{"data":188722,"marks":188723,"value":188724,"nodeType":864},{},[],"Enter, Push Security. Push is tackling these challenges of shadow IT, helping to simplify SaaS security while meeting users where they are and enlisting them in the solution. Push allows security teams to get complete, real-time visibility into the SaaS apps in use in their enterprise, automates the fixing of any risky issues by involving the end user, and provides real-time guidance to head off new issues before they even happen. See ",{"data":188726,"content":188729,"nodeType":27604},{"target":188727},{"sys":188728},{"id":188616,"type":1001,"linkType":1002},[188730],{"data":188731,"marks":188732,"value":188733,"nodeType":864},{},[],"Adam’s blog post ",{"data":188735,"marks":188736,"value":188737,"nodeType":864},{},[],"for a double-click on all the capabilities of the Push platform.",{"data":188739,"content":188740,"nodeType":860},{},[188741],{"data":188742,"marks":188743,"value":188744,"nodeType":864},{},[],"Push’s vision particularly resonated with me, as it is a natural extension of the user-centric security that we built at Duo. Push allows security teams to go beyond just front door entrance of application access (eg. authentication) and look deeper into latent risks presented by SaaS applications themselves, the data contained within, and their risky app-to-app interconnectedness. And, often, the best first step after identifying the litany of unsanctioned apps in use in your organization is to quickly get the critical ones safely under your umbrella of SSO/MFA (via Duo, Okta, Azure AD, etc), which I know was a common challenge for our many customers at Duo.",{"data":188746,"content":188747,"nodeType":1312},{},[188748],{"data":188749,"marks":188750,"value":188751,"nodeType":864},{},[],"CASB and SSPM aren’t enough",{"data":188753,"content":188754,"nodeType":860},{},[188755],{"data":188756,"marks":188757,"value":188758,"nodeType":864},{},[],"Past attempts to tackle these problems, notably CASB vendors, have had limited success. It’s clear the network/proxy-based CASB approach is not a survivable architecture for the modern world of cloud and mobility. Even an API-only integration, the approach taken by some SSPM vendors, is necessary but not sufficient for the scope of the problem space. ",{"data":188760,"content":188761,"nodeType":860},{},[188762],{"data":188763,"marks":188764,"value":188765,"nodeType":864},{},[],"For example, it’s not enough to just know that Box is an app in-use by your users. Many organizations that have their corporate Box tenant “managed” with SSO/MFA/etc, but may be unaware of the 10+ shadow non-managed Box tenants that their users have created and are actively sharing documents through. Do you think you have just one Box, Slack, Monday, etc? Push, with its unique architecture of plugging into your SaaS apps as well as interfacing with the user via a browser extension, can achieve this accurate, fine-grained visibility into SaaS usage.",{"data":188767,"content":188768,"nodeType":1312},{},[188769],{"data":188770,"marks":188771,"value":188772,"nodeType":864},{},[],"Automate fixes by involving the end user, your employees",{"data":188774,"content":188775,"nodeType":860},{},[188776,188780,188789,188793,188802],{"data":188777,"marks":188778,"value":188779,"nodeType":864},{},[],"Push is also unique in enlisting the end user, not just in identifying the problems of SaaS sprawl, but in remediating discovered issues. This user-centric approach naturally resonated with my experience at Duo. After all, ",{"data":188781,"content":188783,"nodeType":883},{"uri":188782},"https://www.youtube.com/watch?v=JN0Hj0pKZ7U",[188784],{"data":188785,"marks":188786,"value":188788,"nodeType":864},{},[188787],{"type":1455},"Duo Push",{"data":188790,"marks":188791,"value":188792,"nodeType":864},{},[]," and our ",{"data":188794,"content":188796,"nodeType":883},{"uri":188795},"https://duo.com/blog/mobile-device-security-made-easy-with-duos-security-checkup",[188797],{"data":188798,"marks":188799,"value":188801,"nodeType":864},{},[188800],{"type":1455},"Security Checkup",{"data":188803,"marks":188804,"value":188805,"nodeType":864},{},[]," were just low-fidelity mechanisms to ask your users to engage positively in your security program. ",{"data":188807,"content":188808,"nodeType":860},{},[188809,188813,188821,188825,188830],{"data":188810,"marks":188811,"value":188812,"nodeType":864},{},[],"Push takes this philosophy much further with their ",{"data":188814,"content":188816,"nodeType":883},{"uri":188815},"https://pushsecurity.com/kb/10004/",[188817],{"data":188818,"marks":188819,"value":185688,"nodeType":864},{},[188820],{"type":1455},{"data":188822,"marks":188823,"value":188824,"nodeType":864},{},[],", creating a direct, interactive interface to users. Sometimes users just need a gentle ",{"data":188826,"marks":188827,"value":188829,"nodeType":864},{},[188828],{"type":2246},"push",{"data":188831,"marks":188832,"value":188833,"nodeType":864},{},[]," in the right direction, to make good security decisions or improve the organization’s security hygiene. Push can help users adopt existing security controls (eg. MFA), identify risky configurations (eg. malicious mail forwarding), and reduce attack surface (eg. unused or risky OAuth integrations). Interfacing directly with users can increase fidelity (who knows better ground truth than the user themselves), increase remediation speed, and allow your security program to scale without hiring a bunch of analysts to run down endless lists of alerts. Of course, you're not just handing over the keys to the user, but selectively using their superpowers to augment your centralized visibility and control.",{"data":188835,"content":188836,"nodeType":860},{},[188837],{"data":188838,"marks":188839,"value":188840,"nodeType":864},{},[],"In essence, Push has created that paved path to allow your users to move quickly, but also with the appropriate guardrails for when they go off-roading. Maybe those guardrails are a 10-foot reinforced concrete wall for your security-sensitive organization. Maybe they’re a light safety barrier to help try to keep users on track. And maybe your org really embraces speed and employee autotomy, so you just want an “invisible fence” to be alerted when users go off the track. Regardless of your security culture, Push gives you the necessary visibility of your shadow IT to make informed risk decisions appropriate for your business and enact the right controls.",{"data":188842,"content":188843,"nodeType":1312},{},[188844],{"data":188845,"marks":188846,"value":188847,"nodeType":864},{},[],"Securing SaaS for everyone, not just large enterprises",{"data":188849,"content":188850,"nodeType":860},{},[188851],{"data":188852,"marks":188853,"value":188854,"nodeType":864},{},[],"Lastly, the explosion of SaaS is not a uniquely enterprise phenomena, but felt by companies of all shapes and sizes. As I experienced at Duo, designing security products for ease-of-use can be a game-changer for small/medium-sized organizations that lack the staff, time, and budget to manage complex security tools. But, whether you’re a SMB or a F500 enterprise, everyone is strapped for resources and wants to maximize the security impact of their limited team, not create more busy-work and alerts to run down. Push has built a platform that is easy to try, deploy, and manage, whether you’re a small business with a one-person security team or a large enterprise looking to scale your SaaS security across tens of thousands of employees.",{"data":188856,"content":188857,"nodeType":860},{},[188858,188862,188871],{"data":188859,"marks":188860,"value":188861,"nodeType":864},{},[],"I felt conviction about Push early on when I first met co-founders Adam, Tyrone, and Jacques in 2021. Not just excitement around the problem space and product philosophy, but a personal resonance with the team. Deep technical founders and security practitioners, fed up with the ",{"data":188863,"content":188865,"nodeType":883},{"uri":188864},"https://www.markerbench.com/blog/2005/05/04/Escaping-the-Hamster-Wheel-of-Pain/",[188866],{"data":188867,"marks":188868,"value":188870,"nodeType":864},{},[188869],{"type":1455},"hamster-wheel-of-pain",{"data":188872,"marks":188873,"value":188874,"nodeType":864},{},[]," of detection and response, and eager to battle the status quo of the security industry with a fresh and positive approach. It sure felt familiar! That conviction grew as I observed their early development and progress, when I joined in the seed round led by Decibel last year, and when I saw the customer adoption after their product launch less than a year ago. So, with their recent Series A round, led by Karim Faris at GV, I’m honored to join the board of Push and continue supporting a great team and product.",{"data":188876,"content":188877,"nodeType":860},{},[188878,188882,188891],{"data":188879,"marks":188880,"value":188881,"nodeType":864},{},[],"\nBut, hey, don’t just take my word for it, ",{"data":188883,"content":188885,"nodeType":883},{"uri":188884},"https://pushsecurity.com/signup",[188886],{"data":188887,"marks":188888,"value":188890,"nodeType":864},{},[188889],{"type":1455},"sign up for free today",{"data":188892,"marks":188893,"value":188894,"nodeType":864},{},[]," and bring some sanity to your SaaS security.",{"entries":188896},{"block":188897,"inline":188898,"hyperlink":188899},[],[],[188900],{"sys":188901,"__typename":2059,"title":188902,"slug":188903},{"id":188616},"From launch to series A ","from-launch-to-series-a",{"items":188905},[],{},"Jon Oberheide Joins Push Security's Board","2023-04-17T00:00:00.000Z",{"items":188910},[188911],{"__typename":2059,"sys":188912,"content":188913,"title":188902,"synopsis":189443,"hashTags":59,"publishedDate":189444,"slug":188903,"tagsCollection":189445,"authorsCollection":189451},{"id":188616},{"json":188914},{"data":188915,"content":188916,"nodeType":856},{},[188917,188950,188957,188964,188983,188990,188995,189000,189032,189039,189046,189062,189069,189076,189119,189125,189132,189139,189146,189162,189169,189176,189183,189189,189196,189203,189210,189217,189224,189230,189237,189279,189286,189293,189299,189306,189313,189320,189326,189333,189340,189347,189353,189360,189367,189374,189381,189397,189413],{"data":188918,"content":188919,"nodeType":860},{},[188920,188924,188932,188936,188946],{"data":188921,"marks":188922,"value":188923,"nodeType":864},{},[],"We’re proud to share that we’ve locked in our ",{"data":188925,"content":188927,"nodeType":883},{"uri":188926},"https://techcrunch.com/2023/04/03/push-security-raises-15m-to-help-saas-users-lower-their-online-vulnerability/",[188928],{"data":188929,"marks":188930,"value":188931,"nodeType":864},{},[],"Series A round",{"data":188933,"marks":188934,"value":188935,"nodeType":864},{},[],", led by GV (Google Ventures). We’ve learned a lot about what our customers need since we ",{"data":188937,"content":188941,"nodeType":27604},{"target":188938},{"sys":188939},{"id":188940,"type":1001,"linkType":1002},"1LWXA4OL7v5bqsS4acnnpr",[188942],{"data":188943,"marks":188944,"value":188945,"nodeType":864},{},[],"launched in July 2022",{"data":188947,"marks":188948,"value":188949,"nodeType":864},{},[]," - they want to help employees use SaaS more securely, of course, but they also need centralized visibility and the ability to make good decisions around the use of SaaS by knowing how their employees are using it. ",{"data":188951,"content":188952,"nodeType":860},{},[188953],{"data":188954,"marks":188955,"value":188956,"nodeType":864},{},[],"Most security-savvy organizations have a fairly good handle on IT-owned and managed SaaS platforms (like Microsoft 365, Google Workspace, Salesforce, Slack, etc) and many have started using newer security solutions that discover the SaaS work apps that employees have started using and often integrated with those IT-owned platforms. ",{"data":188958,"content":188959,"nodeType":1312},{},[188960],{"data":188961,"marks":188962,"value":188963,"nodeType":864},{},[],"The rise of PLG and how it impacts security ",{"data":188965,"content":188966,"nodeType":860},{},[188967,188971,188979],{"data":188968,"marks":188969,"value":188970,"nodeType":864},{},[],"What they’ve been missing is the ",{"data":188972,"content":188973,"nodeType":883},{"uri":188589},[188974],{"data":188975,"marks":188976,"value":188978,"nodeType":864},{},[188977],{"type":1455},"rise of product-led growth",{"data":188980,"marks":188981,"value":188982,"nodeType":864},{},[]," (PLG) - a popular sales motion that relies on the product itself as the primary driver for customer acquisition and conversion. Potential buyers sign up, integrate it, and experience the product value before going through any sales-cycle. ",{"data":188984,"content":188985,"nodeType":860},{},[188986],{"data":188987,"marks":188988,"value":188989,"nodeType":864},{},[],"The impact this has on security is that where in the past, employees would have needed to go centrally through procurement, which gives the security team an opportunity to assess the risk and determine whether or not the service would invalidate the organization’s security compliance. With PLG, employees can (and do) onboard sensitive applications themselves directly. This shift in buying behavior has contributed to a sharp increase of SaaS sprawl and shadow IT.",{"data":188991,"content":188994,"nodeType":996},{"target":188992},{"sys":188993},{"id":147969,"type":1001,"linkType":1002},[],{"data":188996,"content":188999,"nodeType":996},{"target":188997},{"sys":188998},{"id":148119,"type":1001,"linkType":1002},[],{"data":189001,"content":189002,"nodeType":860},{},[189003,189007,189011,189015,189020,189024,189028],{"data":189004,"marks":189005,"value":189006,"nodeType":864},{},[],"PLG is also the norm for app-to-app integrations as well. In our data, we found that",{"data":189008,"marks":189009,"value":1171,"nodeType":864},{},[189010],{"type":899},{"data":189012,"marks":189013,"value":189014,"nodeType":864},{},[],"around 37% of Microsoft 365 app integrations were IT-approved and owned. ",{"data":189016,"marks":189017,"value":189019,"nodeType":864},{},[189018],{"type":899},"The rest (63%) were all employee-owned and consented to. ",{"data":189021,"marks":189022,"value":189023,"nodeType":864},{},[],"That’s just looking at app-to-app integrations to the M365 tenant, so it doesn’t include all the SaaS apps accessed through the browser.",{"data":189025,"marks":189026,"value":1171,"nodeType":864},{},[189027],{"type":899},{"data":189029,"marks":189030,"value":189031,"nodeType":864},{},[],"Sure, some of those apps are used by a whole team and may be on IT’s radar if the department head went through the proper security measures. But many may just be used by one person or a team is just signing up for a free trial. And even for those free/trial instances, the apps need to integrate with business apps and data to work and test, so they can present as much risk as any other app used in your environment.",{"data":189033,"content":189034,"nodeType":1312},{},[189035],{"data":189036,"marks":189037,"value":189038,"nodeType":864},{},[],"What’s the risk of SaaS sprawl?",{"data":189040,"content":189041,"nodeType":860},{},[189042],{"data":189043,"marks":189044,"value":189045,"nodeType":864},{},[],"The unknowns - the old trope that you can’t protect what you don’t know is cliche for a reason - it’s true. Not every SaaS app or integration carries massive risk, but most apps employees are using to get important work done accesses sensitive data or need to integrate with business data, which is then shared with a third party in each instance.",{"data":189047,"content":189048,"nodeType":860},{},[189049,189053,189058],{"data":189050,"marks":189051,"value":189052,"nodeType":864},{},[],"Each app becomes an asset that security teams need to protect and each new account employees create forms part of the company’s public-facing attack surface. With PLG, apps are adopted ",{"data":189054,"marks":189055,"value":189057,"nodeType":864},{},[189056],{"type":2246},"before ",{"data":189059,"marks":189060,"value":189061,"nodeType":864},{},[],"security get a chance to onboard them onto SSO, so weak user accounts employees have created are a potential entry point for an attacker.",{"data":189063,"content":189064,"nodeType":860},{},[189065],{"data":189066,"marks":189067,"value":189068,"nodeType":864},{},[],"This can be a high ROI technique for an attacker. Instead of burning client-side exploits and C2 infrastructure, an attacker kicks off an automated password scan against all popular SaaS apps and gets alerted each time they access an account. Attackers are also utilizing credential stuffing by taking a single compromised employee password and trying it against every popular SaaS service to extend their access. ",{"data":189070,"content":189071,"nodeType":860},{},[189072],{"data":189073,"marks":189074,"value":189075,"nodeType":864},{},[],"The sensitivity of these applications vary depending on their capability, but some particularly high-risk examples we’ve come across include:",{"data":189077,"content":189078,"nodeType":118765},{},[189079,189089,189099,189109],{"data":189080,"content":189081,"nodeType":945},{},[189082],{"data":189083,"content":189084,"nodeType":860},{},[189085],{"data":189086,"marks":189087,"value":189088,"nodeType":864},{},[],"Apps that access employee email - attackers can use this access to do account resets and compromise other SaaS apps.",{"data":189090,"content":189091,"nodeType":945},{},[189092],{"data":189093,"content":189094,"nodeType":860},{},[189095],{"data":189096,"marks":189097,"value":189098,"nodeType":864},{},[],"Compromising development or testing tools that have access to API keys and production systems.",{"data":189100,"content":189101,"nodeType":945},{},[189102],{"data":189103,"content":189104,"nodeType":860},{},[189105],{"data":189106,"marks":189107,"value":189108,"nodeType":864},{},[],"Compromising data warehouses, or any independent SaaS app that integrates back with that data warehouse.",{"data":189110,"content":189111,"nodeType":945},{},[189112],{"data":189113,"content":189114,"nodeType":860},{},[189115],{"data":189116,"marks":189117,"value":189118,"nodeType":864},{},[],"Compromising marketing apps that can be used to control public facing assets such as the company social media account or website. ",{"data":189120,"content":189121,"nodeType":860},{},[189122],{"data":189123,"marks":189124,"value":21,"nodeType":864},{},[],{"data":189126,"content":189127,"nodeType":1009},{},[189128],{"data":189129,"marks":189130,"value":189131,"nodeType":864},{},[],"The Solution ",{"data":189133,"content":189134,"nodeType":1312},{},[189135],{"data":189136,"marks":189137,"value":189138,"nodeType":864},{},[],"Complete, real time, centralized visibility",{"data":189140,"content":189141,"nodeType":860},{},[189142],{"data":189143,"marks":189144,"value":189145,"nodeType":864},{},[],"To get a handle on the SaaS sprawl and shadow IT that the PLG movement has caused, security teams need complete visibility of every business application (SaaS apps, cloud apps, app-to-app integrations, etc.) employees are adopting, integrating with company data, and accessing through the browser.",{"data":189147,"content":189148,"nodeType":860},{},[189149,189153,189158],{"data":189150,"marks":189151,"value":189152,"nodeType":864},{},[],"Alongside visibility, security teams also need the option to turn on notifications to keep them up to date about potential security concerns around SaaS use in their organization. This provides security teams with near real-time visibility so they’re notified when someone has signed up for a new app. If an employee or team has been using an app for weeks or months, it can be much more difficult to migrate them to a more secure platform if security decides the risks outweigh the benefits for that app. It also means that security teams get to be part of the decision-making process again. So, even though the PLG model has put security in the mode of constantly having to play catch-up to do risk assessments ",{"data":189154,"marks":189155,"value":189157,"nodeType":864},{},[189156],{"type":2246},"after",{"data":189159,"marks":189160,"value":189161,"nodeType":864},{},[]," the app has been adopted, security teams can reclaim their role in the procurement process with timely notifications. ",{"data":189163,"content":189164,"nodeType":860},{},[189165],{"data":189166,"marks":189167,"value":189168,"nodeType":864},{},[],"The thing is, the notifications need to have enough information to be meaningful rather than just acting as another alert to distract them from their work. Enter channel messaging for security teams. ",{"data":189170,"content":189171,"nodeType":860},{},[189172],{"data":189173,"marks":189174,"value":189175,"nodeType":864},{},[],"Our new channel messaging feature tells security teams about new SaaS being onboarded, of course, but also provides useful security insights about that activity. If a new app is added to or integrated with the company’s Google Workspace or Microsoft 365 tenant, we can tell you in Slack or Teams, and we’ll also let you know if it’s low-risk or if it merits more investigation. ",{"data":189177,"content":189178,"nodeType":860},{},[189179],{"data":189180,"marks":189181,"value":189182,"nodeType":864},{},[],"In the case of app-to-app integrations, we’ve decided against providing an abstract risk score, which isn’t actually very helpful, and focused instead on tangible information on what data the integration exposes, so the security team can make the right risk assessment for their organization. See the example below:",{"data":189184,"content":189188,"nodeType":996},{"target":189185},{"sys":189186},{"id":189187,"type":1001,"linkType":1002},"4e6ERBq2KkDpM8VxwIW3zV",[],{"data":189190,"content":189191,"nodeType":860},{},[189192],{"data":189193,"marks":189194,"value":189195,"nodeType":864},{},[],"We’ll also flag you if an integration is high-risk because it’s asking for excessive data permissions. For instance, one interesting data point we’ve discovered since launch: 23% of the Microsoft app-to-app integrations we discovered granted access to high-risk assets or data, such as email inboxes, and shared drives like OneDrive. For Google workspace, 17% were equally high-risk.",{"data":189197,"content":189198,"nodeType":860},{},[189199],{"data":189200,"marks":189201,"value":189202,"nodeType":864},{},[],"Security teams need complete SaaS visibility and foundational insights into the security impact of those apps used in their business. Couple that visibility with a user-centric approach to security and you’ve got baseline SaaS security covered, whether you’re a small business with no dedicated team or you’re an enterprise with a highly skilled, dedicated team that’s overburdened with constant alerts and struggling to make actual improvements to your company’s security posture.",{"data":189204,"content":189205,"nodeType":1312},{},[189206],{"data":189207,"marks":189208,"value":189209,"nodeType":864},{},[],"Automate the fix by involving the user",{"data":189211,"content":189212,"nodeType":860},{},[189213],{"data":189214,"marks":189215,"value":189216,"nodeType":864},{},[],"The most sensible way we’ve found to scale SaaS security in an employee-adopted apps world is to put users at the center of helping to improve security. We prompt users at the right time to encourage them to take an action that will benefit an organization’s security, like updating their software or securing their user account with MFA or a stronger password.",{"data":189218,"content":189219,"nodeType":860},{},[189220],{"data":189221,"marks":189222,"value":189223,"nodeType":864},{},[],"This shared responsibility model is nothing new, really. It’s a concept that was pioneered by Slack, Netflix, and Duo Security before us. The way we’re applying it to securing employee SaaS use, however, is pretty novel. To us, a user-centric approach doesn’t simply mean building in ChatOps in Slack and Teams - it’s building in a variety of ways to notify and interact with the user when the time is right for them to take action. ",{"data":189225,"content":189229,"nodeType":996},{"target":189226},{"sys":189227},{"id":189228,"type":1001,"linkType":1002},"5wZDwVTGbh5f4qliO2ft3E",[],{"data":189231,"content":189232,"nodeType":860},{},[189233],{"data":189234,"marks":189235,"value":189236,"nodeType":864},{},[],"Our approach involves the user from beginning to end:",{"data":189238,"content":189239,"nodeType":941},{},[189240,189259,189269],{"data":189241,"content":189242,"nodeType":945},{},[189243],{"data":189244,"content":189245,"nodeType":860},{},[189246,189250,189255],{"data":189247,"marks":189248,"value":189249,"nodeType":864},{},[],"We provide real-time guidance to help prevent problems ",{"data":189251,"marks":189252,"value":189254,"nodeType":864},{},[189253],{"type":2246},"before they happen",{"data":189256,"marks":189257,"value":189258,"nodeType":864},{},[]," (in the browser),",{"data":189260,"content":189261,"nodeType":945},{},[189262],{"data":189263,"content":189264,"nodeType":860},{},[189265],{"data":189266,"marks":189267,"value":189268,"nodeType":864},{},[],"We nudge employees to self-remediate issues that have already happened, and",{"data":189270,"content":189271,"nodeType":945},{},[189272],{"data":189273,"content":189274,"nodeType":860},{},[189275],{"data":189276,"marks":189277,"value":189278,"nodeType":864},{},[],"We provide an overview for each employee, so the security team can see each employee’s security state for their SaaS use.",{"data":189280,"content":189281,"nodeType":1312},{},[189282],{"data":189283,"marks":189284,"value":189285,"nodeType":864},{},[],"Real-time guidance",{"data":189287,"content":189288,"nodeType":860},{},[189289],{"data":189290,"marks":189291,"value":189292,"nodeType":864},{},[],"Our just-in-time notifications act like password-checkers in the browser, but they’re more robust in that security teams can fully customize which words and phrases employees can’t use in their passwords as they’re creating new accounts; it might be company name, location, common words, street address, and so on). This helps prevent employees from creating weak passwords like those that were leaked in a password dump after a breach. Here’s how we’re doing that in the browser:",{"data":189294,"content":189298,"nodeType":996},{"target":189295},{"sys":189296},{"id":189297,"type":1001,"linkType":1002},"59eQuuZH8RICARjwXAJrWw",[],{"data":189300,"content":189301,"nodeType":860},{},[189302],{"data":189303,"marks":189304,"value":189305,"nodeType":864},{},[],"These simple measures help employees pick stronger passwords from the start, cutting down on the need for any nudges on ChatOps or any notifications to security. Why fix issues when you can prevent them from ever happening?",{"data":189307,"content":189308,"nodeType":1312},{},[189309],{"data":189310,"marks":189311,"value":189312,"nodeType":864},{},[],"Notifications",{"data":189314,"content":189315,"nodeType":860},{},[189316],{"data":189317,"marks":189318,"value":189319,"nodeType":864},{},[],"We use notifications in ChatOps (Slack or Teams) when employees can fix security issues with one click without the need for security to talk to them directly. An example of this is using a chat to check if an employee is still using a dormant or inactive app. If they’re not using it, they can automatically eliminate it from the company’s attack surface by clicking the “I’m not using it, you can remove” button. ",{"data":189321,"content":189325,"nodeType":996},{"target":189322},{"sys":189323},{"id":189324,"type":1001,"linkType":1002},"6deX1SbkDVkXGT7FthM9pd",[],{"data":189327,"content":189328,"nodeType":1312},{},[189329],{"data":189330,"marks":189331,"value":189332,"nodeType":864},{},[],"Employee SaaS security overview",{"data":189334,"content":189335,"nodeType":860},{},[189336],{"data":189337,"marks":189338,"value":189339,"nodeType":864},{},[],"The final component of user-centric security is to provide a personal view of an employee’s overall security state. Security teams can see each employee’s SaaS security state for a quick view of where they need to fix security issues and where they’re in the clear. This user security dashboard is really handy for visibility over particularly high-risk employees (usually those who use a lot of different SaaS apps and those who work with highly sensitive data - like legal teams, executives, HR, finance, etc.). ",{"data":189341,"content":189342,"nodeType":860},{},[189343],{"data":189344,"marks":189345,"value":189346,"nodeType":864},{},[],"By displaying this information in a single, clean, easy to read panel, both employees and security teams can work together to take actions to fix issues quickly and easily.",{"data":189348,"content":189352,"nodeType":996},{"target":189349},{"sys":189350},{"id":189351,"type":1001,"linkType":1002},"7IZDuJ7c2takbu4OaKLsKB",[],{"data":189354,"content":189355,"nodeType":1009},{},[189356],{"data":189357,"marks":189358,"value":189359,"nodeType":864},{},[],"How to apply a user-centric approach in your organization",{"data":189361,"content":189362,"nodeType":860},{},[189363],{"data":189364,"marks":189365,"value":189366,"nodeType":864},{},[],"\nWe’ve found that many companies believe in a user-centric approach to security in theory, but what that looks like in practice is less clear. That’s partly because there’s confusion around how to apply a concept that feels like a design principle to your organization’s security strategy. Most people we talk to like the idea of equipping employees to help secure the apps they’re using, but how to make that work in their environment is a bit scary, since it directly impacts every person in the company. ",{"data":189368,"content":189369,"nodeType":860},{},[189370],{"data":189371,"marks":189372,"value":189373,"nodeType":864},{},[],"Part of the problem is that “user-centric” has become a bit of a buzzword in marketing, with a lot of the vendors saying they’re user-centric when that really means they’ve just built a Slack or Teams integration that can message employees. Turning that feature on without thinking about how it’ll impact all of the employees in the business is a recipe for disaster. ",{"data":189375,"content":189376,"nodeType":860},{},[189377],{"data":189378,"marks":189379,"value":189380,"nodeType":864},{},[],"After speaking with customers and prospects since launch, we’ve discovered how important it is that we clearly explain how employees are going to be contacted and with what information. To adopt a user-centric approach that actually leads to measurable improvements in security, you need a tool that reaches out to employees with the right messaging at the right time and in the right place, whether that’s via ChatOps or in the browser, where they’re working.",{"data":189382,"content":189383,"nodeType":1009},{},[189384,189388,189393],{"data":189385,"marks":189386,"value":189387,"nodeType":864},{},[],"Equipping employees is ",{"data":189389,"marks":189390,"value":189392,"nodeType":864},{},[189391],{"type":2246},"part",{"data":189394,"marks":189395,"value":189396,"nodeType":864},{},[]," of the solution, not the whole solution ",{"data":189398,"content":189399,"nodeType":860},{},[189400,189404,189409],{"data":189401,"marks":189402,"value":189403,"nodeType":864},{},[],"User-centric approaches are a tool in the security team’s toolbox, a practical way to bring employees into the process - not a way to outsource the technical security burden to people with no security expertise. You don’t get to outsource security to employees and employees should ",{"data":189405,"marks":189406,"value":189408,"nodeType":864},{},[189407],{"type":2246},"never ",{"data":189410,"marks":189411,"value":189412,"nodeType":864},{},[],"be making technical security decisions on the company’s behalf. Employees provide context on how they’re using apps so that the security team can make risk-based decisions on which apps employees can use. ",{"data":189414,"content":189415,"nodeType":860},{},[189416,189420,189428,189431,189439],{"data":189417,"marks":189418,"value":189419,"nodeType":864},{},[],"By adopting a user-centric approach alongside centralized visibility and controls, most security teams have found a way to secure employee SaaS accounts and SaaS use at scale. We’re excited to work with our customers and investors to solve new problems in this emerging space. Follow us on ",{"data":189421,"content":189422,"nodeType":883},{"uri":47677},[189423],{"data":189424,"marks":189425,"value":189427,"nodeType":864},{},[189426],{"type":1455},"Twitter",{"data":189429,"marks":189430,"value":902,"nodeType":864},{},[],{"data":189432,"content":189434,"nodeType":883},{"uri":189433},"https://www.linkedin.com/company/push-security/",[189435],{"data":189436,"marks":189437,"value":47670,"nodeType":864},{},[189438],{"type":1455},{"data":189440,"marks":189441,"value":189442,"nodeType":864},{},[]," and sign up to our mailing list to come along for the ride!","We’re proud to announce our $15M Series A round, led by GV. Here's what we've learned about what our customers need since we launched in July 2022. ","2023-03-28T00:00:00.000Z",{"items":189446},[189447,189449],{"sys":189448,"name":49660},{"id":49659},{"sys":189450,"name":4904},{"id":4903},{"items":189452},[189453],{"fullName":47297,"firstName":47298,"jobTitle":47299,"profilePicture":189454},{"url":47301},"push-it-real-good-why-im-excited-to-join-pushs-board","blog/push-it-real-good-why-im-excited-to-join-pushs-board",{"json":189458},{"data":189459,"content":189460,"nodeType":856},{},[189461],{"data":189462,"content":189463,"nodeType":860},{},[189464],{"data":189465,"marks":189466,"value":189467,"nodeType":864},{},[],"SaaS sprawl is not just a raw increase of apps in-use, but also due to employees self-adopting new apps. Orgs need sensible guardrails for employees.",{"id":189469,"publishedAt":189470},"1bkW8uoCL6lLeHbAkndZUM","2026-08-12T11:56:25.446Z",{"items":189472},[189473],{"sys":189474,"name":49660},{"id":49659},{"items":189476},[189477,189479,189481,189483,189485,189487,189489,189491],{"sys":189478,"name":297,"slug":298,"tier":31},{"id":294},{"sys":189480,"name":545,"slug":546,"tier":31},{"id":542},{"sys":189482,"name":413,"slug":414,"tier":31},{"id":410},{"sys":189484,"name":589,"slug":590,"tier":45},{"id":586},{"sys":189486,"name":484,"slug":485,"tier":45},{"id":481},{"sys":189488,"name":333,"slug":334,"tier":45},{"id":330},{"sys":189490,"name":306,"slug":307,"tier":45},{"id":303},{"sys":189492,"name":633,"slug":634,"tier":45},{"id":630},"Yqryz97Zl2J0KSWKcRxdBHG0atnR0UZy3p6lme6REFY",{"id":189495,"title":188902,"authorsCollection":189496,"content":189500,"extension":228,"faqItemsCollection":190003,"faqTitle":59,"featured":6,"hashTags":59,"meta":190005,"metaTitle":190006,"ogImage":59,"postType":47747,"publishedDate":189444,"relatedBlogPostsCollection":190007,"slug":188903,"stem":190583,"subtitle":59,"summary":190584,"synopsis":189443,"sys":190595,"tagsCollection":190597,"topicsCollection":190603,"__hash__":190621},"blog/blog/from-launch-to-series-a.json",{"items":189497},[189498],{"fullName":47297,"firstName":47298,"jobTitle":47299,"socialLinks":59,"profilePicture":189499},{"url":47301},{"json":189501,"links":189954},{"data":189502,"content":189503,"nodeType":856},{},[189504,189530,189536,189542,189558,189564,189569,189574,189601,189607,189613,189626,189632,189638,189677,189683,189689,189695,189701,189714,189720,189726,189732,189737,189743,189749,189755,189761,189767,189772,189778,189815,189821,189827,189832,189838,189844,189850,189855,189861,189867,189873,189878,189884,189890,189896,189902,189915,189928],{"data":189505,"content":189506,"nodeType":860},{},[189507,189510,189516,189519,189527],{"data":189508,"marks":189509,"value":188923,"nodeType":864},{},[],{"data":189511,"content":189512,"nodeType":883},{"uri":188926},[189513],{"data":189514,"marks":189515,"value":188931,"nodeType":864},{},[],{"data":189517,"marks":189518,"value":188935,"nodeType":864},{},[],{"data":189520,"content":189523,"nodeType":27604},{"target":189521},{"sys":189522},{"id":188940,"type":1001,"linkType":1002},[189524],{"data":189525,"marks":189526,"value":188945,"nodeType":864},{},[],{"data":189528,"marks":189529,"value":188949,"nodeType":864},{},[],{"data":189531,"content":189532,"nodeType":860},{},[189533],{"data":189534,"marks":189535,"value":188956,"nodeType":864},{},[],{"data":189537,"content":189538,"nodeType":1312},{},[189539],{"data":189540,"marks":189541,"value":188963,"nodeType":864},{},[],{"data":189543,"content":189544,"nodeType":860},{},[189545,189548,189555],{"data":189546,"marks":189547,"value":188970,"nodeType":864},{},[],{"data":189549,"content":189550,"nodeType":883},{"uri":188589},[189551],{"data":189552,"marks":189553,"value":188978,"nodeType":864},{},[189554],{"type":1455},{"data":189556,"marks":189557,"value":188982,"nodeType":864},{},[],{"data":189559,"content":189560,"nodeType":860},{},[189561],{"data":189562,"marks":189563,"value":188989,"nodeType":864},{},[],{"data":189565,"content":189568,"nodeType":996},{"target":189566},{"sys":189567},{"id":147969,"type":1001,"linkType":1002},[],{"data":189570,"content":189573,"nodeType":996},{"target":189571},{"sys":189572},{"id":148119,"type":1001,"linkType":1002},[],{"data":189575,"content":189576,"nodeType":860},{},[189577,189580,189584,189587,189591,189594,189598],{"data":189578,"marks":189579,"value":189006,"nodeType":864},{},[],{"data":189581,"marks":189582,"value":1171,"nodeType":864},{},[189583],{"type":899},{"data":189585,"marks":189586,"value":189014,"nodeType":864},{},[],{"data":189588,"marks":189589,"value":189019,"nodeType":864},{},[189590],{"type":899},{"data":189592,"marks":189593,"value":189023,"nodeType":864},{},[],{"data":189595,"marks":189596,"value":1171,"nodeType":864},{},[189597],{"type":899},{"data":189599,"marks":189600,"value":189031,"nodeType":864},{},[],{"data":189602,"content":189603,"nodeType":1312},{},[189604],{"data":189605,"marks":189606,"value":189038,"nodeType":864},{},[],{"data":189608,"content":189609,"nodeType":860},{},[189610],{"data":189611,"marks":189612,"value":189045,"nodeType":864},{},[],{"data":189614,"content":189615,"nodeType":860},{},[189616,189619,189623],{"data":189617,"marks":189618,"value":189052,"nodeType":864},{},[],{"data":189620,"marks":189621,"value":189057,"nodeType":864},{},[189622],{"type":2246},{"data":189624,"marks":189625,"value":189061,"nodeType":864},{},[],{"data":189627,"content":189628,"nodeType":860},{},[189629],{"data":189630,"marks":189631,"value":189068,"nodeType":864},{},[],{"data":189633,"content":189634,"nodeType":860},{},[189635],{"data":189636,"marks":189637,"value":189075,"nodeType":864},{},[],{"data":189639,"content":189640,"nodeType":118765},{},[189641,189650,189659,189668],{"data":189642,"content":189643,"nodeType":945},{},[189644],{"data":189645,"content":189646,"nodeType":860},{},[189647],{"data":189648,"marks":189649,"value":189088,"nodeType":864},{},[],{"data":189651,"content":189652,"nodeType":945},{},[189653],{"data":189654,"content":189655,"nodeType":860},{},[189656],{"data":189657,"marks":189658,"value":189098,"nodeType":864},{},[],{"data":189660,"content":189661,"nodeType":945},{},[189662],{"data":189663,"content":189664,"nodeType":860},{},[189665],{"data":189666,"marks":189667,"value":189108,"nodeType":864},{},[],{"data":189669,"content":189670,"nodeType":945},{},[189671],{"data":189672,"content":189673,"nodeType":860},{},[189674],{"data":189675,"marks":189676,"value":189118,"nodeType":864},{},[],{"data":189678,"content":189679,"nodeType":860},{},[189680],{"data":189681,"marks":189682,"value":21,"nodeType":864},{},[],{"data":189684,"content":189685,"nodeType":1009},{},[189686],{"data":189687,"marks":189688,"value":189131,"nodeType":864},{},[],{"data":189690,"content":189691,"nodeType":1312},{},[189692],{"data":189693,"marks":189694,"value":189138,"nodeType":864},{},[],{"data":189696,"content":189697,"nodeType":860},{},[189698],{"data":189699,"marks":189700,"value":189145,"nodeType":864},{},[],{"data":189702,"content":189703,"nodeType":860},{},[189704,189707,189711],{"data":189705,"marks":189706,"value":189152,"nodeType":864},{},[],{"data":189708,"marks":189709,"value":189157,"nodeType":864},{},[189710],{"type":2246},{"data":189712,"marks":189713,"value":189161,"nodeType":864},{},[],{"data":189715,"content":189716,"nodeType":860},{},[189717],{"data":189718,"marks":189719,"value":189168,"nodeType":864},{},[],{"data":189721,"content":189722,"nodeType":860},{},[189723],{"data":189724,"marks":189725,"value":189175,"nodeType":864},{},[],{"data":189727,"content":189728,"nodeType":860},{},[189729],{"data":189730,"marks":189731,"value":189182,"nodeType":864},{},[],{"data":189733,"content":189736,"nodeType":996},{"target":189734},{"sys":189735},{"id":189187,"type":1001,"linkType":1002},[],{"data":189738,"content":189739,"nodeType":860},{},[189740],{"data":189741,"marks":189742,"value":189195,"nodeType":864},{},[],{"data":189744,"content":189745,"nodeType":860},{},[189746],{"data":189747,"marks":189748,"value":189202,"nodeType":864},{},[],{"data":189750,"content":189751,"nodeType":1312},{},[189752],{"data":189753,"marks":189754,"value":189209,"nodeType":864},{},[],{"data":189756,"content":189757,"nodeType":860},{},[189758],{"data":189759,"marks":189760,"value":189216,"nodeType":864},{},[],{"data":189762,"content":189763,"nodeType":860},{},[189764],{"data":189765,"marks":189766,"value":189223,"nodeType":864},{},[],{"data":189768,"content":189771,"nodeType":996},{"target":189769},{"sys":189770},{"id":189228,"type":1001,"linkType":1002},[],{"data":189773,"content":189774,"nodeType":860},{},[189775],{"data":189776,"marks":189777,"value":189236,"nodeType":864},{},[],{"data":189779,"content":189780,"nodeType":941},{},[189781,189797,189806],{"data":189782,"content":189783,"nodeType":945},{},[189784],{"data":189785,"content":189786,"nodeType":860},{},[189787,189790,189794],{"data":189788,"marks":189789,"value":189249,"nodeType":864},{},[],{"data":189791,"marks":189792,"value":189254,"nodeType":864},{},[189793],{"type":2246},{"data":189795,"marks":189796,"value":189258,"nodeType":864},{},[],{"data":189798,"content":189799,"nodeType":945},{},[189800],{"data":189801,"content":189802,"nodeType":860},{},[189803],{"data":189804,"marks":189805,"value":189268,"nodeType":864},{},[],{"data":189807,"content":189808,"nodeType":945},{},[189809],{"data":189810,"content":189811,"nodeType":860},{},[189812],{"data":189813,"marks":189814,"value":189278,"nodeType":864},{},[],{"data":189816,"content":189817,"nodeType":1312},{},[189818],{"data":189819,"marks":189820,"value":189285,"nodeType":864},{},[],{"data":189822,"content":189823,"nodeType":860},{},[189824],{"data":189825,"marks":189826,"value":189292,"nodeType":864},{},[],{"data":189828,"content":189831,"nodeType":996},{"target":189829},{"sys":189830},{"id":189297,"type":1001,"linkType":1002},[],{"data":189833,"content":189834,"nodeType":860},{},[189835],{"data":189836,"marks":189837,"value":189305,"nodeType":864},{},[],{"data":189839,"content":189840,"nodeType":1312},{},[189841],{"data":189842,"marks":189843,"value":189312,"nodeType":864},{},[],{"data":189845,"content":189846,"nodeType":860},{},[189847],{"data":189848,"marks":189849,"value":189319,"nodeType":864},{},[],{"data":189851,"content":189854,"nodeType":996},{"target":189852},{"sys":189853},{"id":189324,"type":1001,"linkType":1002},[],{"data":189856,"content":189857,"nodeType":1312},{},[189858],{"data":189859,"marks":189860,"value":189332,"nodeType":864},{},[],{"data":189862,"content":189863,"nodeType":860},{},[189864],{"data":189865,"marks":189866,"value":189339,"nodeType":864},{},[],{"data":189868,"content":189869,"nodeType":860},{},[189870],{"data":189871,"marks":189872,"value":189346,"nodeType":864},{},[],{"data":189874,"content":189877,"nodeType":996},{"target":189875},{"sys":189876},{"id":189351,"type":1001,"linkType":1002},[],{"data":189879,"content":189880,"nodeType":1009},{},[189881],{"data":189882,"marks":189883,"value":189359,"nodeType":864},{},[],{"data":189885,"content":189886,"nodeType":860},{},[189887],{"data":189888,"marks":189889,"value":189366,"nodeType":864},{},[],{"data":189891,"content":189892,"nodeType":860},{},[189893],{"data":189894,"marks":189895,"value":189373,"nodeType":864},{},[],{"data":189897,"content":189898,"nodeType":860},{},[189899],{"data":189900,"marks":189901,"value":189380,"nodeType":864},{},[],{"data":189903,"content":189904,"nodeType":1009},{},[189905,189908,189912],{"data":189906,"marks":189907,"value":189387,"nodeType":864},{},[],{"data":189909,"marks":189910,"value":189392,"nodeType":864},{},[189911],{"type":2246},{"data":189913,"marks":189914,"value":189396,"nodeType":864},{},[],{"data":189916,"content":189917,"nodeType":860},{},[189918,189921,189925],{"data":189919,"marks":189920,"value":189403,"nodeType":864},{},[],{"data":189922,"marks":189923,"value":189408,"nodeType":864},{},[189924],{"type":2246},{"data":189926,"marks":189927,"value":189412,"nodeType":864},{},[],{"data":189929,"content":189930,"nodeType":860},{},[189931,189934,189941,189944,189951],{"data":189932,"marks":189933,"value":189419,"nodeType":864},{},[],{"data":189935,"content":189936,"nodeType":883},{"uri":47677},[189937],{"data":189938,"marks":189939,"value":189427,"nodeType":864},{},[189940],{"type":1455},{"data":189942,"marks":189943,"value":902,"nodeType":864},{},[],{"data":189945,"content":189946,"nodeType":883},{"uri":189433},[189947],{"data":189948,"marks":189949,"value":47670,"nodeType":864},{},[189950],{"type":1455},{"data":189952,"marks":189953,"value":189442,"nodeType":864},{},[],{"entries":189955},{"inline":189956,"hyperlink":189957,"block":189962},[],[189958],{"sys":189959,"__typename":2059,"title":189960,"slug":189961},{"id":188940},"Push Security Announces $4M Seed Round to Introduce User-Centric Approach to Securing SaaS ","push-security-announces-4m-seed-round-to-introduce-user-centric-approach",[189963,189966,189969,189976,189984,189991,189997],{"sys":189964,"__typename":1724,"title":181340,"caption":181341,"layoutMode":59,"file":189965},{"id":147969},{"url":181343,"width":174376,"height":181344},{"sys":189967,"__typename":1724,"title":174372,"caption":174373,"layoutMode":59,"file":189968},{"id":148119},{"url":174375,"width":174376,"height":174377},{"sys":189970,"__typename":1724,"title":189971,"caption":189972,"layoutMode":59,"file":189973},{"id":189187},"Channel message high risk","Channel messaging flags new apps that request excessive access and permissions",{"url":189974,"width":189975,"height":142603},"https://images.ctfassets.net/y1cdw1ablpvd/16GOmyxENsdDIXYSEuXLvs/fa2cae84b345ca3bed2b11c55250516a/image5.png",1410,{"sys":189977,"__typename":1724,"title":189978,"caption":189979,"layoutMode":140740,"file":189980},{"id":189228},"User centric pyramid","This combination of user-centric features drives a shared-responsibility model for securing SaaS at scale",{"url":189981,"width":189982,"height":189983},"https://images.ctfassets.net/y1cdw1ablpvd/4tVqPb2j9CakuDQJOdrV05/8982dc92b9a91281fcfc84437f949798/image2.png",769,543,{"sys":189985,"__typename":1724,"title":189986,"caption":189987,"layoutMode":59,"file":189988},{"id":189297},"Just-in-time password security notifications","Just-in-time password security notifications help prevent weak passwords at the initial sign-up point",{"url":189989,"width":36452,"height":189990},"https://images.ctfassets.net/y1cdw1ablpvd/7inJ8mDRdC8m3uLPPrzke1/8886ca4dd9a7ab57d30a5defd33ed8de/image7.png",750,{"sys":189992,"__typename":1724,"title":189993,"caption":189994,"layoutMode":59,"file":189995},{"id":189324},"Inactive app ChatOps message ","A ChatOps message to an employee about an unused app that could be removed to reduce the SaaS attack surface",{"url":189996,"width":189975,"height":84502},"https://images.ctfassets.net/y1cdw1ablpvd/6l8kHejUI8T4KYkuHgKdYJ/4ad0373d188047edef245e2b1c1e00d1/image8.png",{"sys":189998,"__typename":1724,"title":189332,"caption":189999,"layoutMode":59,"file":190000},{"id":189351},"Employee SaaS security overview in the Push platform",{"url":190001,"width":139982,"height":190002},"https://images.ctfassets.net/y1cdw1ablpvd/5N2IRTdh1hmG6a9D6b5fGM/4afae228bd32772e8497f00d47a6b049/image1.png",944,{"items":190004},[],{},"Push Security series A announcement ",{"items":190008},[190009,190227],{"__typename":2059,"sys":190010,"content":190011,"title":189960,"synopsis":190217,"hashTags":59,"publishedDate":190218,"slug":189961,"tagsCollection":190219,"authorsCollection":190223},{"id":188940},{"json":190012},{"data":190013,"content":190014,"nodeType":856},{},[190015,190047,190054,190061,190068,190075,190082,190089,190108,190116,190123,190152,190160,190178,190186,190193,190211],{"data":190016,"content":190017,"nodeType":860},{},[190018,190022,190030,190034,190043],{"data":190019,"marks":190020,"value":190021,"nodeType":864},{},[],"Push Security, a provider of technology enabling secure SaaS adoption and usage, today announced it completed a $4 million seed round led by ",{"data":190023,"content":190025,"nodeType":883},{"uri":190024},"http://decibel.vc/",[190026],{"data":190027,"marks":190028,"value":47567,"nodeType":864},{},[190029],{"type":1455},{"data":190031,"marks":190032,"value":190033,"nodeType":864},{},[]," and backed by ",{"data":190035,"content":190037,"nodeType":883},{"uri":190036},"/about/",[190038],{"data":190039,"marks":190040,"value":190042,"nodeType":864},{},[190041],{"type":1455},"prominent industry leaders",{"data":190044,"marks":190045,"value":190046,"nodeType":864},{},[],", including Jon Oberheide, co-founder of Duo Security, and Haroon Meer, CEO and founder of Thinkst. With this funding, Push will continue to develop technology that guides employees to make smart decisions while they are using company SaaS platforms, enlisting their help to improve security.",{"data":190048,"content":190049,"nodeType":860},{},[190050],{"data":190051,"marks":190052,"value":190053,"nodeType":864},{},[],"In a cloud-first world, employees are moving fast and adopting SaaS platforms to get things done. Most organizations have hundreds of SaaS apps in use in their environment and the majority of those apps are owned by employees rather than IT or security. SaaS makes productivity gains and technical innovation accessible for companies of all sizes, but it also introduces risk to the business unless it’s properly managed. Without a way to ensure employees are using SaaS securely, many organizations resort to try to control SaaS with highly restrictive policies, which is frustrating for both employees and security teams.",{"data":190055,"content":190056,"nodeType":860},{},[190057],{"data":190058,"marks":190059,"value":190060,"nodeType":864},{},[],"Push believes that the best way to support this move toward productivity and flexibility is to adopt a user-centric approach — to equip employees to improve their own security while using SaaS. ",{"data":190062,"content":190063,"nodeType":860},{},[190064],{"data":190065,"marks":190066,"value":190067,"nodeType":864},{},[],"“The world of work is shifting in a big way,” said Adam Bateman, Push co-founder and CEO. “Employees want flexibility and they need the right tools to be productive, but those tools aren’t always company-approved. So, they’re signing up for those tools on their own. Security teams want to assert some control over this because SaaS apps introduce risk to their company, so they often try to simply lock down SaaS. However, in the long run this just encourages employees to work around the security team. You can’t secure SaaS that’s owned by employees without working with employees. We’ve built a lightweight, scalable way to let employees use SaaS responsibly, guiding them to actually fix security issues, while offloading work from security teams. We’ll prove along the way that employees don’t need to just be seen as part of the problem, but can actually become part of the solution.”",{"data":190069,"content":190070,"nodeType":860},{},[190071],{"data":190072,"marks":190073,"value":190074,"nodeType":864},{},[],"“The future of cyber resilience in a SaaS-first world needs cloud-scale solutions designed for the user,” added Ollie Whitehouse, angel investor and CTO at NCC Group. “Push has delivered a solution that has unlimited potential to provide value to all organizations in such a world.” ",{"data":190076,"content":190077,"nodeType":860},{},[190078],{"data":190079,"marks":190080,"value":190081,"nodeType":864},{},[],"Jon Sakoda, Push investor and founder of Decibel, invested in Push’s vision for the future and scalable approach to a really difficult problem. “The Push team has set out to help organizations of every size safely adopt SaaS,” said Jon. “The co-founders have deep security experience as researchers and red teamers, and they’re applying that knowledge to an exponentially growing problem that no one else has been able to solve. I can’t wait to see what the Push team will do to apply user-centric security to finally help organizations progress beyond traditional security solutions that have not been able to keep up with the pace of modern IT.”",{"data":190083,"content":190084,"nodeType":860},{},[190085],{"data":190086,"marks":190087,"value":190088,"nodeType":864},{},[],"“Push is connecting the dots between users and their SaaS applications, allowing them to use the apps they love while keeping their organization secure,” added Jon Oberheide, angel investor, co-founder and former CTO of Duo Security (acquired by Cisco). ",{"data":190090,"content":190091,"nodeType":860},{},[190092,190096,190104],{"data":190093,"marks":190094,"value":190095,"nodeType":864},{},[],"Push is free to try and free to use for up to 10 users. Visit ",{"data":190097,"content":190098,"nodeType":883},{"uri":88658},[190099],{"data":190100,"marks":190101,"value":190103,"nodeType":864},{},[190102],{"type":1455},"pushsecurity.com",{"data":190105,"marks":190106,"value":190107,"nodeType":864},{},[]," to sign up and start your trial.  ",{"data":190109,"content":190110,"nodeType":860},{},[190111],{"data":190112,"marks":190113,"value":190115,"nodeType":864},{},[190114],{"type":899},"About Push Security",{"data":190117,"content":190118,"nodeType":860},{},[190119],{"data":190120,"marks":190121,"value":190122,"nodeType":864},{},[],"Push provides a super scalable way to secure SaaS, by equipping employees to join the fight against attackers and improve their own security. We monitor employee SaaS activity and then (using tools such as ChatOps and a browser extension) provide them with just-in-time guidance to help them make good security decisions about how they use and access SaaS.",{"data":190124,"content":190125,"nodeType":860},{},[190126,190130,190137,190141,190149],{"data":190127,"marks":190128,"value":190129,"nodeType":864},{},[],"Push is backed by Decibel Partners. See Push in action at ",{"data":190131,"content":190132,"nodeType":883},{"uri":88658},[190133],{"data":190134,"marks":190135,"value":190103,"nodeType":864},{},[190136],{"type":1455},{"data":190138,"marks":190139,"value":190140,"nodeType":864},{},[]," and follow them on at ",{"data":190142,"content":190143,"nodeType":883},{"uri":47677},[190144],{"data":190145,"marks":190146,"value":190148,"nodeType":864},{},[190147],{"type":1455},"@PushSecurity",{"data":190150,"marks":190151,"value":12252,"nodeType":864},{},[],{"data":190153,"content":190154,"nodeType":860},{},[190155],{"data":190156,"marks":190157,"value":190159,"nodeType":864},{},[190158],{"type":899},"About Decibel",{"data":190161,"content":190162,"nodeType":860},{},[190163,190166,190174],{"data":190164,"marks":190165,"value":21,"nodeType":864},{},[],{"data":190167,"content":190169,"nodeType":883},{"uri":190168},"http://decibel.vc",[190170],{"data":190171,"marks":190172,"value":47567,"nodeType":864},{},[190173],{"type":1455},{"data":190175,"marks":190176,"value":190177,"nodeType":864},{},[]," is an independent venture firm, based in Silicon Valley that backs technical founders and helps them find product-market fit and accelerate their business. Decibel invests in early-stage enterprise software companies, with a special focus on Cybersecurity, Developer Platforms, Open Source, and ML and AI Infrastructure and Applications.",{"data":190179,"content":190180,"nodeType":860},{},[190181],{"data":190182,"marks":190183,"value":190185,"nodeType":864},{},[190184],{"type":899},"Contact:",{"data":190187,"content":190188,"nodeType":860},{},[190189],{"data":190190,"marks":190191,"value":190192,"nodeType":864},{},[],"Sally Soulliere, Push Security ",{"data":190194,"content":190195,"nodeType":860},{},[190196,190199,190208],{"data":190197,"marks":190198,"value":21,"nodeType":864},{},[],{"data":190200,"content":190202,"nodeType":883},{"uri":190201},"mailto:sally.soulliere@pushsecurity.com",[190203],{"data":190204,"marks":190205,"value":190207,"nodeType":864},{},[190206],{"type":1455},"sally.soulliere@pushsecurity.com",{"data":190209,"marks":190210,"value":21,"nodeType":864},{},[],{"data":190212,"content":190213,"nodeType":860},{},[190214],{"data":190215,"marks":190216,"value":90277,"nodeType":864},{},[],"Launches solution that finds SaaS apps employees are using and guides them to fix issues","2022-07-19T00:00:00.000Z",{"items":190220},[190221],{"sys":190222,"name":49660},{"id":49659},{"items":190224},[190225],{"fullName":150052,"firstName":150052,"jobTitle":59,"profilePicture":190226},{"url":150054},{"__typename":2059,"sys":190228,"content":190230,"title":190572,"synopsis":190573,"hashTags":59,"publishedDate":190218,"slug":190574,"tagsCollection":190575,"authorsCollection":190579},{"id":190229},"4ZNEAZLwXE9Pz3lx1mhEZN",{"json":190231},{"data":190232,"content":190233,"nodeType":856},{},[190234,190241,190257,190264,190271,190278,190286,190293,190301,190331,190338,190345,190352,190359,190366,190373,190380,190387,190394,190401,190408,190415,190430,190437,190444,190451,190458,190465,190472,190479,190486,190493,190500,190506,190513,190540,190547,190554],{"data":190235,"content":190236,"nodeType":1009},{},[190237],{"data":190238,"marks":190239,"value":190240,"nodeType":864},{},[],"Blocking SaaS isn’t working ",{"data":190242,"content":190243,"nodeType":860},{},[190244,190249,190252],{"data":190245,"marks":190246,"value":190248,"nodeType":864},{},[190247],{"type":2246},"tl;dr",{"data":190250,"marks":190251,"value":7961,"nodeType":864},{},[],{"data":190253,"marks":190254,"value":190256,"nodeType":864},{},[190255],{"type":2246},"The traditional way of just blocking apps that haven’t been vetted or approved by the security team isn’t working now and absolutely won’t scale as businesses now value flexibility as much as productivity and security. You don’t have to choose one anymore. Empower your employees to be productive and move fast, securely, and partner with them to secure SaaS.",{"data":190258,"content":190259,"nodeType":860},{},[190260],{"data":190261,"marks":190262,"value":190263,"nodeType":864},{},[],"It’s common for organizations to have hundreds of SaaS apps in use at all times and we expect that number to continue to rise. Most companies accept SaaS use because it helps employees be productive and get their work done, but each SaaS app does introduce risk to the company because they require access to business data, employees input data into each app, and the app becomes a part of your larger corporate attack surface. ",{"data":190265,"content":190266,"nodeType":860},{},[190267],{"data":190268,"marks":190269,"value":190270,"nodeType":864},{},[],"Simply blocking SaaS use hasn’t worked to date and, as more and more apps are built, with more and more functionality employees need, blocking and restricting just can’t scale and will widen the divide between security and employees.",{"data":190272,"content":190273,"nodeType":860},{},[190274],{"data":190275,"marks":190276,"value":190277,"nodeType":864},{},[],"But to secure SaaS, security teams need visibility. There are some newer tools on the market built specifically to discover cloud and SaaS adoption (SaaS discovery and shadow IT discovery tools), but they tend to be focused exclusively on knowing what employees are using so that security and IT can enforce rules and controls on that SaaS use in order to keep company data out of the hands of the bad guys. ",{"data":190279,"content":190280,"nodeType":860},{},[190281],{"data":190282,"marks":190283,"value":190285,"nodeType":864},{},[190284],{"type":899},"Instead of focusing on using that SaaS visibility to create and enforce new policies to restrict SaaS use, what if we could leverage SaaS visibility to help employees actually adopt and use SaaS how they want to? ",{"data":190287,"content":190288,"nodeType":860},{},[190289],{"data":190290,"marks":190291,"value":190292,"nodeType":864},{},[],"We’re trying a different approach that puts more trust in employees’ desire and ability to keep themselves secure. ",{"data":190294,"content":190295,"nodeType":1009},{},[190296],{"data":190297,"marks":190298,"value":190300,"nodeType":864},{},[190299],{"type":899},"Introducing a user-centric approach to securing SaaS ",{"data":190302,"content":190303,"nodeType":860},{},[190304,190308,190315,190318,190327],{"data":190305,"marks":190306,"value":190307,"nodeType":864},{},[],"\nThe user-centric movement has been successfully adopted by industry leaders like ",{"data":190309,"content":190311,"nodeType":883},{"uri":190310},"https://slack.engineering/distributed-security-alerting/",[190312],{"data":190313,"marks":190314,"value":103347,"nodeType":864},{},[],{"data":190316,"marks":190317,"value":3731,"nodeType":864},{},[],{"data":190319,"content":190321,"nodeType":883},{"uri":190320},"https://netflixtechblog.com/introducing-netflix-stethoscope-5f3c392368e3",[190322],{"data":190323,"marks":190324,"value":190326,"nodeType":864},{},[190325],{"type":1455},"Netflix",{"data":190328,"marks":190329,"value":190330,"nodeType":864},{},[],", Github, Duo Security. For endpoint security, those user-centric approaches were spot on. They engaged employees to make decisions about their devices that would inform security teams about employee devices. We even developed our own user-centric solution for endpoint devices when working together at MWR (acquired by F-Secure). ",{"data":190332,"content":190333,"nodeType":860},{},[190334],{"data":190335,"marks":190336,"value":190337,"nodeType":864},{},[],"When it comes to securing SaaS, working directly with users (employees) is not just a huge value add, it's essential. That's because the SaaS apps employees are using are giant unknowns - they’re not known entities or endpoints like employee devices - so you can't find out about or address security issues in SaaS apps without working with employees who are using those apps.",{"data":190339,"content":190340,"nodeType":1009},{},[190341],{"data":190342,"marks":190343,"value":190344,"nodeType":864},{},[],"SaaS is owned by users, so needs to be secured by users",{"data":190346,"content":190347,"nodeType":860},{},[190348],{"data":190349,"marks":190350,"value":190351,"nodeType":864},{},[],"Scared yet? We get it, and we don’t expect you to relinquish all control of security and hand it off to employees. But stick with us for a second… There’s a stat making the rounds that suggests that more than two-thirds of SaaS is owned by employees. They’re self-adopting SaaS, integrating it with your business data, and using those tools to work faster, smarter, and generally be more productive. So, while it may not make sense to give up and just let employees continue doing what they’re doing with zero oversight, there’s a scalable way to meet in the middle. ",{"data":190353,"content":190354,"nodeType":860},{},[190355],{"data":190356,"marks":190357,"value":190358,"nodeType":864},{},[],"We decided to focus on improving the security of SaaS use by equipping employees to help. If this approach lets employees freely adopt and use SaaS, then it’s a win for both employees and security teams.",{"data":190360,"content":190361,"nodeType":860},{},[190362],{"data":190363,"marks":190364,"value":190365,"nodeType":864},{},[],"Could user-centric security concepts be used to secure SaaS and cloud application usage - not just securing access to SaaS, but restricting excessive app permissions, removing unused cloud apps and shadow IT, and so on?  ",{"data":190367,"content":190368,"nodeType":860},{},[190369],{"data":190370,"marks":190371,"value":190372,"nodeType":864},{},[],"SaaS is user-powered. They’re adopting it and using it on their own already. Trying to secure SaaS by either completely restricting its use or only allowing employees access to a handful of corporate-sanctioned apps won’t scale. It would be naive to ignore the fact that SaaS introduces risk. Each app requests access to business data, employees have to integrate the apps into your systems and they’ll be inputting business data into the app. Which means that each app becomes a part of the attack surface security teams must protect.",{"data":190374,"content":190375,"nodeType":860},{},[190376],{"data":190377,"marks":190378,"value":190379,"nodeType":864},{},[],"The old way of dealing with this was just to block SaaS as soon as the security team discovers an app in use, or requiring administrator approval before integrating with other SaaS - keeping the security team in the role of the enforcer or blocker to employee SaaS use. Everyone hates that way - employees and security teams. But leaving SaaS adoption wide open is a security nightmare. So where do you start when it comes to securing SaaS use? With the owners of SaaS - the users.",{"data":190381,"content":190382,"nodeType":1312},{},[190383],{"data":190384,"marks":190385,"value":190386,"nodeType":864},{},[],"You can’t secure SaaS without involving the user",{"data":190388,"content":190389,"nodeType":860},{},[190390],{"data":190391,"marks":190392,"value":190393,"nodeType":864},{},[],"To secure SaaS, you need to: ",{"data":190395,"content":190396,"nodeType":860},{},[190397],{"data":190398,"marks":190399,"value":190400,"nodeType":864},{},[],"1) know what SaaS employees are using and how they’re using them",{"data":190402,"content":190403,"nodeType":860},{},[190404],{"data":190405,"marks":190406,"value":190407,"nodeType":864},{},[],"2) know what data the app has access to and what it requires",{"data":190409,"content":190410,"nodeType":860},{},[190411],{"data":190412,"marks":190413,"value":190414,"nodeType":864},{},[],"3) find out if security controls are missing and then chase employees to enable them improve",{"data":190416,"content":190417,"nodeType":860},{},[190418,190422,190426],{"data":190419,"marks":190420,"value":190421,"nodeType":864},{},[],"The most logical way to get this information is to talk to your employees directly, but that can’t scale. Let’s say you have 200 employees and each is using a dozen SaaS apps in their role. Are you going to go to each employee (through Slack or Teams, over the phone, via email?) and ask what they’re using, how they’re accessing it, what they’re using it for, if they’re still using it, who the admin is, and so on? Even if you ",{"data":190423,"marks":190424,"value":21943,"nodeType":864},{},[190425],{"type":2246},{"data":190427,"marks":190428,"value":190429,"nodeType":864},{},[]," do that, would they even remember all the SaaS apps they’ve started trials with or what they’re using for free? What else would fall under your radar?",{"data":190431,"content":190432,"nodeType":860},{},[190433],{"data":190434,"marks":190435,"value":190436,"nodeType":864},{},[],"To satisfy the three SaaS security requirements we listed above, we’ve decided to focus our initial product efforts on SaaS discovery and getting business context from SaaS users (your employees) to ensure they’re using SaaS securely.",{"data":190438,"content":190439,"nodeType":860},{},[190440],{"data":190441,"marks":190442,"value":190443,"nodeType":864},{},[],"But knowing is just the start - what’s the point of getting visibility if you’re not using it to fix security issues or remove high-risk or dodgy apps?",{"data":190445,"content":190446,"nodeType":1009},{},[190447],{"data":190448,"marks":190449,"value":190450,"nodeType":864},{},[],"Guide employees to fix security issues and use SaaS securely ",{"data":190452,"content":190453,"nodeType":860},{},[190454],{"data":190455,"marks":190456,"value":190457,"nodeType":864},{},[],"That’s where the user-centric approach to securing SaaS comes in. We believe employees want to do the right thing and don’t want to be the one responsible for a breach. As long as we make it as easy and quick as possible for them to help and to take action, they will. ",{"data":190459,"content":190460,"nodeType":860},{},[190461],{"data":190462,"marks":190463,"value":190464,"nodeType":864},{},[],"To make this work at scale, we use ChatOps to engage directly with the employee, and a browser extension to prompt users and help them fix SaaS security issues. By helping them self-remediate issues, we offload the more mindless security hygiene work from security and IT, while enabling employees to use the SaaS tools they want.",{"data":190466,"content":190467,"nodeType":860},{},[190468],{"data":190469,"marks":190470,"value":190471,"nodeType":864},{},[],"We can also use this technology to get relevant business context about how they’re using each app and if they’re even still using it. If they say they aren’t using it anymore, we can help them remove it from your attack surface. ",{"data":190473,"content":190474,"nodeType":1312},{},[190475],{"data":190476,"marks":190477,"value":190478,"nodeType":864},{},[],"But I can’t trust employees to own security!",{"data":190480,"content":190481,"nodeType":860},{},[190482],{"data":190483,"marks":190484,"value":190485,"nodeType":864},{},[],"There’s an old trope in the security world that users are the weakest link. So, how can we expect “the weakest link” in a company to actually secure the company? We’d like to challenge that old adage and suggest that employees shouldn’t be expected to become security experts in order to secure a business. That’s not their job. ",{"data":190487,"content":190488,"nodeType":860},{},[190489],{"data":190490,"marks":190491,"value":190492,"nodeType":864},{},[],"What employees can do really well is provide context for the security team and to self-remediate the more mundane security issues by using stronger passwords, enabling MFA for SaaS apps, and so on. ",{"data":190494,"content":190495,"nodeType":860},{},[190496],{"data":190497,"marks":190498,"value":190499,"nodeType":864},{},[],"We believe the key to making the user-centric approach work is to give users clear, easy to follow instructions and asking them questions they can answer without Googling for more information. We ask questions to get useful context and then enrich SaaS usage data for admins so they can make decisions about what SaaS is appropriate for their business.",{"data":190501,"content":190505,"nodeType":996},{"target":190502},{"sys":190503},{"id":190504,"type":1001,"linkType":1002},"7eWh1U86EEbSFeJdXIPUZl",[],{"data":190507,"content":190508,"nodeType":1009},{},[190509],{"data":190510,"marks":190511,"value":190512,"nodeType":864},{},[],"Making user-centric security work in the real world ",{"data":190514,"content":190515,"nodeType":860},{},[190516,190520,190525,190531,190536],{"data":190517,"marks":190518,"value":190519,"nodeType":864},{},[],"Getting user-centric security to work well requires a near-perfect user experience - it must be quick and easy or they won’t engage with it. We need to understand employees, speak their language, empathize with them, respect their busy schedules, and help them when they’re ready to work with us. One truth remains: ",{"data":190521,"marks":190522,"value":190524,"nodeType":864},{},[190523],{"type":899},"If employees aren’t responding to prompts, assume ",{"data":190526,"marks":190527,"value":190530,"nodeType":864},{},[190528,190529],{"type":899},{"type":2246},"we’re ",{"data":190532,"marks":190533,"value":190535,"nodeType":864},{},[190534],{"type":899},"the problem",{"data":190537,"marks":190538,"value":190539,"nodeType":864},{},[],". We’ll be optimizing continuously based on employee engagement rate. ",{"data":190541,"content":190542,"nodeType":1009},{},[190543],{"data":190544,"marks":190545,"value":190546,"nodeType":864},{},[],"Users aren’t the problem, they’re part of the solution",{"data":190548,"content":190549,"nodeType":860},{},[190550],{"data":190551,"marks":190552,"value":190553,"nodeType":864},{},[],"Engaging users to self-remediate SaaS security issues just makes sense and it's by far the most scalable way to secure SaaS. Securing SaaS while balancing the needs of employees and security teams requires that we work together and share the responsibilities. To do this, we need to stop insisting that users are the problem and remember that attackers are the bad guys, not employees.",{"data":190555,"content":190556,"nodeType":860},{},[190557,190561,190568],{"data":190558,"marks":190559,"value":190560,"nodeType":864},{},[],"Follow us on ",{"data":190562,"content":190563,"nodeType":883},{"uri":47677},[190564],{"data":190565,"marks":190566,"value":190567,"nodeType":864},{},[],"social media",{"data":190569,"marks":190570,"value":190571,"nodeType":864},{},[]," and subscribe to our blog if you’re interested in hearing about what we’re learning from users along the way. We’d also love your feedback so we can keep improving!","Building a culture of trust to secure SaaS, together","We’re excited to announce our $4M seed round, led by Decibel. See how we’re building tech that allows companies to let employees freely & securely adopt SaaS.","building-a-culture-of-trust-to-secure-saas-together",{"items":190576},[190577],{"sys":190578,"name":49660},{"id":49659},{"items":190580},[190581],{"fullName":150052,"firstName":150052,"jobTitle":59,"profilePicture":190582},{"url":150054},"blog/from-launch-to-series-a",{"json":190585},{"data":190586,"content":190587,"nodeType":856},{},[190588],{"data":190589,"content":190590,"nodeType":860},{},[190591],{"data":190592,"marks":190593,"value":190594,"nodeType":864},{},[],"We’re proud to share that we’ve locked in our $15M Series A round, led by GV. Here's what we've learned.\n",{"id":188616,"publishedAt":190596},"2026-08-12T11:56:27.006Z",{"items":190598},[190599,190601],{"sys":190600,"name":49660},{"id":49659},{"sys":190602,"name":4904},{"id":4903},{"items":190604},[190605,190607,190609,190611,190613,190615,190617,190619],{"sys":190606,"name":297,"slug":298,"tier":31},{"id":294},{"sys":190608,"name":545,"slug":546,"tier":31},{"id":542},{"sys":190610,"name":413,"slug":414,"tier":31},{"id":410},{"sys":190612,"name":589,"slug":590,"tier":45},{"id":586},{"sys":190614,"name":333,"slug":334,"tier":45},{"id":330},{"sys":190616,"name":502,"slug":503,"tier":45},{"id":499},{"sys":190618,"name":457,"slug":458,"tier":45},{"id":454},{"sys":190620,"name":633,"slug":634,"tier":45},{"id":630},"uYsomtykdAL8o4HDLr3NmDgVR3x3tUYLxlpTiDcxKjc",{"id":190623,"title":169223,"authorsCollection":190624,"content":190628,"extension":228,"faqItemsCollection":191081,"faqTitle":59,"featured":6,"hashTags":59,"meta":191083,"metaTitle":191084,"ogImage":59,"postType":79438,"publishedDate":169225,"relatedBlogPostsCollection":191085,"slug":169226,"stem":191825,"subtitle":59,"summary":191826,"synopsis":169224,"sys":191837,"tagsCollection":191839,"topicsCollection":191843,"__hash__":191859},"blog/blog/product-release-march-2023.json",{"items":190625},[190626],{"fullName":79005,"firstName":79006,"jobTitle":79007,"socialLinks":59,"profilePicture":190627},{"url":79009},{"json":190629,"links":191051},{"data":190630,"content":190631,"nodeType":856},{},[190632,190638,190686,190701,190707,190736,190743,190765,190770,190785,190791,190804,190831,190836,190849,190855,190861,190883,190899,190915,190921,190952,190974,190979,190985,191005,191018,191023,191029],{"data":190633,"content":190634,"nodeType":1312},{},[190635],{"data":190636,"marks":190637,"value":117629,"nodeType":864},{},[],{"data":190639,"content":190640,"nodeType":941},{},[190641,190650,190659,190668,190677],{"data":190642,"content":190643,"nodeType":945},{},[190644],{"data":190645,"content":190646,"nodeType":860},{},[190647],{"data":190648,"marks":190649,"value":168741,"nodeType":864},{},[],{"data":190651,"content":190652,"nodeType":945},{},[190653],{"data":190654,"content":190655,"nodeType":860},{},[190656],{"data":190657,"marks":190658,"value":168751,"nodeType":864},{},[],{"data":190660,"content":190661,"nodeType":945},{},[190662],{"data":190663,"content":190664,"nodeType":860},{},[190665],{"data":190666,"marks":190667,"value":168761,"nodeType":864},{},[],{"data":190669,"content":190670,"nodeType":945},{},[190671],{"data":190672,"content":190673,"nodeType":860},{},[190674],{"data":190675,"marks":190676,"value":168771,"nodeType":864},{},[],{"data":190678,"content":190679,"nodeType":945},{},[190680],{"data":190681,"content":190682,"nodeType":860},{},[190683],{"data":190684,"marks":190685,"value":168781,"nodeType":864},{},[],{"data":190687,"content":190688,"nodeType":860},{},[190689,190692,190698],{"data":190690,"marks":190691,"value":168788,"nodeType":864},{},[],{"data":190693,"content":190694,"nodeType":883},{"uri":168791},[190695],{"data":190696,"marks":190697,"value":168796,"nodeType":864},{},[],{"data":190699,"marks":190700,"value":168800,"nodeType":864},{},[],{"data":190702,"content":190703,"nodeType":1312},{},[190704],{"data":190705,"marks":190706,"value":168807,"nodeType":864},{},[],{"data":190708,"content":190709,"nodeType":860},{},[190710,190713,190719,190722,190726,190729,190733],{"data":190711,"marks":190712,"value":21,"nodeType":864},{},[],{"data":190714,"content":190715,"nodeType":883},{"uri":168816},[190716],{"data":190717,"marks":190718,"value":152799,"nodeType":864},{},[],{"data":190720,"marks":190721,"value":168824,"nodeType":864},{},[],{"data":190723,"marks":190724,"value":168829,"nodeType":864},{},[190725],{"type":899},{"data":190727,"marks":190728,"value":168833,"nodeType":864},{},[],{"data":190730,"marks":190731,"value":120869,"nodeType":864},{},[190732],{"type":899},{"data":190734,"marks":190735,"value":168841,"nodeType":864},{},[],{"data":190737,"content":190738,"nodeType":860},{},[190739],{"data":190740,"marks":190741,"value":168849,"nodeType":864},{},[190742],{"type":899},{"data":190744,"content":190745,"nodeType":860},{},[190746,190749,190755,190758,190762],{"data":190747,"marks":190748,"value":168856,"nodeType":864},{},[],{"data":190750,"content":190751,"nodeType":883},{"uri":168859},[190752],{"data":190753,"marks":190754,"value":168864,"nodeType":864},{},[],{"data":190756,"marks":190757,"value":168868,"nodeType":864},{},[],{"data":190759,"marks":190760,"value":168873,"nodeType":864},{},[190761],{"type":899},{"data":190763,"marks":190764,"value":168877,"nodeType":864},{},[],{"data":190766,"content":190769,"nodeType":996},{"target":190767},{"sys":190768},{"id":168882,"type":1001,"linkType":1002},[],{"data":190771,"content":190772,"nodeType":860},{},[190773,190776,190782],{"data":190774,"marks":190775,"value":168890,"nodeType":864},{},[],{"data":190777,"content":190778,"nodeType":883},{"uri":168893},[190779],{"data":190780,"marks":190781,"value":168898,"nodeType":864},{},[],{"data":190783,"marks":190784,"value":1774,"nodeType":864},{},[],{"data":190786,"content":190787,"nodeType":1312},{},[190788],{"data":190789,"marks":190790,"value":168751,"nodeType":864},{},[],{"data":190792,"content":190793,"nodeType":860},{},[190794,190797,190801],{"data":190795,"marks":190796,"value":168914,"nodeType":864},{},[],{"data":190798,"marks":190799,"value":168919,"nodeType":864},{},[190800],{"type":899},{"data":190802,"marks":190803,"value":168923,"nodeType":864},{},[],{"data":190805,"content":190806,"nodeType":860},{},[190807,190810,190814,190817,190821,190824,190828],{"data":190808,"marks":190809,"value":168930,"nodeType":864},{},[],{"data":190811,"marks":190812,"value":168935,"nodeType":864},{},[190813],{"type":899},{"data":190815,"marks":190816,"value":168939,"nodeType":864},{},[],{"data":190818,"marks":190819,"value":168944,"nodeType":864},{},[190820],{"type":899},{"data":190822,"marks":190823,"value":168948,"nodeType":864},{},[],{"data":190825,"marks":190826,"value":168953,"nodeType":864},{},[190827],{"type":899},{"data":190829,"marks":190830,"value":168957,"nodeType":864},{},[],{"data":190832,"content":190835,"nodeType":996},{"target":190833},{"sys":190834},{"id":168962,"type":1001,"linkType":1002},[],{"data":190837,"content":190838,"nodeType":860},{},[190839,190842,190846],{"data":190840,"marks":190841,"value":168970,"nodeType":864},{},[],{"data":190843,"marks":190844,"value":168975,"nodeType":864},{},[190845],{"type":899},{"data":190847,"marks":190848,"value":168979,"nodeType":864},{},[],{"data":190850,"content":190851,"nodeType":860},{},[190852],{"data":190853,"marks":190854,"value":168986,"nodeType":864},{},[],{"data":190856,"content":190857,"nodeType":1312},{},[190858],{"data":190859,"marks":190860,"value":168993,"nodeType":864},{},[],{"data":190862,"content":190863,"nodeType":860},{},[190864,190867,190873,190876,190880],{"data":190865,"marks":190866,"value":169000,"nodeType":864},{},[],{"data":190868,"content":190869,"nodeType":883},{"uri":169003},[190870],{"data":190871,"marks":190872,"value":169008,"nodeType":864},{},[],{"data":190874,"marks":190875,"value":169012,"nodeType":864},{},[],{"data":190877,"marks":190878,"value":169017,"nodeType":864},{},[190879],{"type":899},{"data":190881,"marks":190882,"value":169021,"nodeType":864},{},[],{"data":190884,"content":190885,"nodeType":860},{},[190886,190889,190896],{"data":190887,"marks":190888,"value":169028,"nodeType":864},{},[],{"data":190890,"content":190891,"nodeType":883},{"uri":169031},[190892],{"data":190893,"marks":190894,"value":169037,"nodeType":864},{},[190895],{"type":899},{"data":190897,"marks":190898,"value":79298,"nodeType":864},{},[],{"data":190900,"content":190901,"nodeType":860},{},[190902,190905,190912],{"data":190903,"marks":190904,"value":169047,"nodeType":864},{},[],{"data":190906,"content":190907,"nodeType":883},{"uri":169050},[190908],{"data":190909,"marks":190910,"value":169056,"nodeType":864},{},[190911],{"type":899},{"data":190913,"marks":190914,"value":169060,"nodeType":864},{},[],{"data":190916,"content":190917,"nodeType":1312},{},[190918],{"data":190919,"marks":190920,"value":169067,"nodeType":864},{},[],{"data":190922,"content":190923,"nodeType":860},{},[190924,190927,190933,190936,190940,190943,190949],{"data":190925,"marks":190926,"value":169074,"nodeType":864},{},[],{"data":190928,"content":190929,"nodeType":883},{"uri":169077},[190930],{"data":190931,"marks":190932,"value":169082,"nodeType":864},{},[],{"data":190934,"marks":190935,"value":169086,"nodeType":864},{},[],{"data":190937,"marks":190938,"value":169091,"nodeType":864},{},[190939],{"type":899},{"data":190941,"marks":190942,"value":169095,"nodeType":864},{},[],{"data":190944,"content":190945,"nodeType":883},{"uri":51201},[190946],{"data":190947,"marks":190948,"value":43908,"nodeType":864},{},[],{"data":190950,"marks":190951,"value":1774,"nodeType":864},{},[],{"data":190953,"content":190954,"nodeType":860},{},[190955,190958,190962,190965,190971],{"data":190956,"marks":190957,"value":169111,"nodeType":864},{},[],{"data":190959,"marks":190960,"value":169116,"nodeType":864},{},[190961],{"type":899},{"data":190963,"marks":190964,"value":169120,"nodeType":864},{},[],{"data":190966,"content":190967,"nodeType":883},{"uri":169123},[190968],{"data":190969,"marks":190970,"value":43908,"nodeType":864},{},[],{"data":190972,"marks":190973,"value":2924,"nodeType":864},{},[],{"data":190975,"content":190978,"nodeType":996},{"target":190976},{"sys":190977},{"id":169135,"type":1001,"linkType":1002},[],{"data":190980,"content":190981,"nodeType":1312},{},[190982],{"data":190983,"marks":190984,"value":169143,"nodeType":864},{},[],{"data":190986,"content":190987,"nodeType":860},{},[190988,190991,190995,191002],{"data":190989,"marks":190990,"value":169150,"nodeType":864},{},[],{"data":190992,"marks":190993,"value":169155,"nodeType":864},{},[190994],{"type":899},{"data":190996,"content":190997,"nodeType":883},{"uri":169031},[190998],{"data":190999,"marks":191000,"value":169163,"nodeType":864},{},[191001],{"type":899},{"data":191003,"marks":191004,"value":169167,"nodeType":864},{},[],{"data":191006,"content":191007,"nodeType":860},{},[191008,191011,191015],{"data":191009,"marks":191010,"value":169174,"nodeType":864},{},[],{"data":191012,"marks":191013,"value":169179,"nodeType":864},{},[191014],{"type":899},{"data":191016,"marks":191017,"value":2924,"nodeType":864},{},[],{"data":191019,"content":191022,"nodeType":996},{"target":191020},{"sys":191021},{"id":169187,"type":1001,"linkType":1002},[],{"data":191024,"content":191025,"nodeType":1312},{},[191026],{"data":191027,"marks":191028,"value":169195,"nodeType":864},{},[],{"data":191030,"content":191031,"nodeType":860},{},[191032,191035,191041,191044,191048],{"data":191033,"marks":191034,"value":169202,"nodeType":864},{},[],{"data":191036,"content":191037,"nodeType":883},{"uri":169205},[191038],{"data":191039,"marks":191040,"value":169210,"nodeType":864},{},[],{"data":191042,"marks":191043,"value":169214,"nodeType":864},{},[],{"data":191045,"marks":191046,"value":169219,"nodeType":864},{},[191047],{"type":899},{"data":191049,"marks":191050,"value":2924,"nodeType":864},{},[],{"entries":191052},{"hyperlink":191053,"inline":191054,"block":191055},[],[],[191056,191061,191068,191074],{"sys":191057,"__typename":9318,"title":191058,"arcadeDemoUrl":191059,"playText":191060},{"id":168882},"Demo: Inline browser nudges","https://demo.arcade.software/lHn8AdnfCEo8DgWBCQ82?embed","1 min",{"sys":191062,"__typename":1724,"title":191063,"caption":59,"layoutMode":59,"file":191064},{"id":168962},"Integration - consented by - release notes March 2023",{"url":191065,"width":191066,"height":191067},"https://images.ctfassets.net/y1cdw1ablpvd/6g9uvSDrQ99uLyrmaGICJW/24a8164582599da6ed3dbc7dcbc8e196/last_used_integrations.png",991,406,{"sys":191069,"__typename":1724,"title":191070,"caption":59,"layoutMode":59,"file":191071},{"id":169135},"Custom word list - release notes March 2023",{"url":191072,"width":191073,"height":36446},"https://images.ctfassets.net/y1cdw1ablpvd/2DeSsR8VV7o6foQhXoHwWH/619798501c4ad6f315282254cff6d632/custom_words_list_config.png",1576,{"sys":191075,"__typename":1724,"title":191076,"caption":59,"layoutMode":59,"file":191077},{"id":169187},"Account security page - docs - View SaaS apps & activity",{"url":191078,"width":191079,"height":191080},"https://images.ctfassets.net/y1cdw1ablpvd/5dAGdTR8Nosxw8CEDpv8vb/f588775602276d9a0028a0d29ae201bb/accounts_page_20231219.png",1202,838,{"items":191082},[],{},"Push Security new product features for March 2023 ",{"items":191086},[191087,191453],{"__typename":2059,"sys":191088,"content":191089,"title":185884,"synopsis":185885,"hashTags":59,"publishedDate":185886,"slug":185887,"tagsCollection":191445,"authorsCollection":191449},{"id":185466},{"json":191090},{"data":191091,"content":191092,"nodeType":856},{},[191093,191099,191141,191147,191160,191195,191215,191238,191253,191258,191264,191284,191289,191295,191346,191361,191367,191373,191386,191391,191397,191410,191415,191430],{"data":191094,"content":191095,"nodeType":1312},{},[191096],{"data":191097,"marks":191098,"value":185477,"nodeType":864},{},[],{"data":191100,"content":191101,"nodeType":941},{},[191102,191115,191128],{"data":191103,"content":191104,"nodeType":945},{},[191105],{"data":191106,"content":191107,"nodeType":860},{},[191108,191112],{"data":191109,"marks":191110,"value":74401,"nodeType":864},{},[191111],{"type":899},{"data":191113,"marks":191114,"value":185494,"nodeType":864},{},[],{"data":191116,"content":191117,"nodeType":945},{},[191118],{"data":191119,"content":191120,"nodeType":860},{},[191121,191125],{"data":191122,"marks":191123,"value":185505,"nodeType":864},{},[191124],{"type":899},{"data":191126,"marks":191127,"value":185509,"nodeType":864},{},[],{"data":191129,"content":191130,"nodeType":945},{},[191131],{"data":191132,"content":191133,"nodeType":860},{},[191134,191138],{"data":191135,"marks":191136,"value":185520,"nodeType":864},{},[191137],{"type":899},{"data":191139,"marks":191140,"value":185524,"nodeType":864},{},[],{"data":191142,"content":191143,"nodeType":1312},{},[191144],{"data":191145,"marks":191146,"value":185531,"nodeType":864},{},[],{"data":191148,"content":191149,"nodeType":860},{},[191150,191153,191157],{"data":191151,"marks":191152,"value":185538,"nodeType":864},{},[],{"data":191154,"marks":191155,"value":185543,"nodeType":864},{},[191156],{"type":899},{"data":191158,"marks":191159,"value":185547,"nodeType":864},{},[],{"data":191161,"content":191162,"nodeType":941},{},[191163,191179],{"data":191164,"content":191165,"nodeType":945},{},[191166],{"data":191167,"content":191168,"nodeType":860},{},[191169,191172,191176],{"data":191170,"marks":191171,"value":185560,"nodeType":864},{},[],{"data":191173,"marks":191174,"value":185565,"nodeType":864},{},[191175],{"type":899},{"data":191177,"marks":191178,"value":185569,"nodeType":864},{},[],{"data":191180,"content":191181,"nodeType":945},{},[191182],{"data":191183,"content":191184,"nodeType":860},{},[191185,191188,191192],{"data":191186,"marks":191187,"value":185579,"nodeType":864},{},[],{"data":191189,"marks":191190,"value":185584,"nodeType":864},{},[191191],{"type":899},{"data":191193,"marks":191194,"value":2924,"nodeType":864},{},[],{"data":191196,"content":191197,"nodeType":860},{},[191198,191201,191205,191208,191212],{"data":191199,"marks":191200,"value":185594,"nodeType":864},{},[],{"data":191202,"marks":191203,"value":185599,"nodeType":864},{},[191204],{"type":899},{"data":191206,"marks":191207,"value":27405,"nodeType":864},{},[],{"data":191209,"marks":191210,"value":185607,"nodeType":864},{},[191211],{"type":899},{"data":191213,"marks":191214,"value":185611,"nodeType":864},{},[],{"data":191216,"content":191217,"nodeType":860},{},[191218,191221,191228,191231,191235],{"data":191219,"marks":191220,"value":185618,"nodeType":864},{},[],{"data":191222,"content":191223,"nodeType":883},{"uri":185621},[191224],{"data":191225,"marks":191226,"value":74413,"nodeType":864},{},[191227],{"type":899},{"data":191229,"marks":191230,"value":185630,"nodeType":864},{},[],{"data":191232,"marks":191233,"value":185635,"nodeType":864},{},[191234],{"type":899},{"data":191236,"marks":191237,"value":185639,"nodeType":864},{},[],{"data":191239,"content":191240,"nodeType":860},{},[191241,191244,191250],{"data":191242,"marks":191243,"value":185646,"nodeType":864},{},[],{"data":191245,"content":191246,"nodeType":883},{"uri":168893},[191247],{"data":191248,"marks":191249,"value":168898,"nodeType":864},{},[],{"data":191251,"marks":191252,"value":2924,"nodeType":864},{},[],{"data":191254,"content":191257,"nodeType":996},{"target":191255},{"sys":191256},{"id":185660,"type":1001,"linkType":1002},[],{"data":191259,"content":191260,"nodeType":1312},{},[191261],{"data":191262,"marks":191263,"value":185668,"nodeType":864},{},[],{"data":191265,"content":191266,"nodeType":860},{},[191267,191270,191274,191281],{"data":191268,"marks":191269,"value":185675,"nodeType":864},{},[],{"data":191271,"marks":191272,"value":185680,"nodeType":864},{},[191273],{"type":899},{"data":191275,"content":191276,"nodeType":883},{"uri":185621},[191277],{"data":191278,"marks":191279,"value":185688,"nodeType":864},{},[191280],{"type":899},{"data":191282,"marks":191283,"value":2924,"nodeType":864},{},[],{"data":191285,"content":191288,"nodeType":996},{"target":191286},{"sys":191287},{"id":185696,"type":1001,"linkType":1002},[],{"data":191290,"content":191291,"nodeType":860},{},[191292],{"data":191293,"marks":191294,"value":185704,"nodeType":864},{},[],{"data":191296,"content":191297,"nodeType":941},{},[191298,191314,191330],{"data":191299,"content":191300,"nodeType":945},{},[191301],{"data":191302,"content":191303,"nodeType":860},{},[191304,191307,191311],{"data":191305,"marks":191306,"value":185717,"nodeType":864},{},[],{"data":191308,"marks":191309,"value":185722,"nodeType":864},{},[191310],{"type":899},{"data":191312,"marks":191313,"value":185726,"nodeType":864},{},[],{"data":191315,"content":191316,"nodeType":945},{},[191317],{"data":191318,"content":191319,"nodeType":860},{},[191320,191323,191327],{"data":191321,"marks":191322,"value":185736,"nodeType":864},{},[],{"data":191324,"marks":191325,"value":185741,"nodeType":864},{},[191326],{"type":899},{"data":191328,"marks":191329,"value":185745,"nodeType":864},{},[],{"data":191331,"content":191332,"nodeType":945},{},[191333],{"data":191334,"content":191335,"nodeType":860},{},[191336,191339,191343],{"data":191337,"marks":191338,"value":185755,"nodeType":864},{},[],{"data":191340,"marks":191341,"value":185760,"nodeType":864},{},[191342],{"type":899},{"data":191344,"marks":191345,"value":185764,"nodeType":864},{},[],{"data":191347,"content":191348,"nodeType":860},{},[191349,191352,191358],{"data":191350,"marks":191351,"value":185771,"nodeType":864},{},[],{"data":191353,"content":191354,"nodeType":883},{"uri":185774},[191355],{"data":191356,"marks":191357,"value":185779,"nodeType":864},{},[],{"data":191359,"marks":191360,"value":185783,"nodeType":864},{},[],{"data":191362,"content":191363,"nodeType":860},{},[191364],{"data":191365,"marks":191366,"value":185790,"nodeType":864},{},[],{"data":191368,"content":191369,"nodeType":1312},{},[191370],{"data":191371,"marks":191372,"value":185797,"nodeType":864},{},[],{"data":191374,"content":191375,"nodeType":860},{},[191376,191379,191383],{"data":191377,"marks":191378,"value":185804,"nodeType":864},{},[],{"data":191380,"marks":191381,"value":185809,"nodeType":864},{},[191382],{"type":899},{"data":191384,"marks":191385,"value":185813,"nodeType":864},{},[],{"data":191387,"content":191390,"nodeType":996},{"target":191388},{"sys":191389},{"id":185818,"type":1001,"linkType":1002},[],{"data":191392,"content":191393,"nodeType":860},{},[191394],{"data":191395,"marks":191396,"value":185826,"nodeType":864},{},[],{"data":191398,"content":191399,"nodeType":860},{},[191400,191403,191407],{"data":191401,"marks":191402,"value":185833,"nodeType":864},{},[],{"data":191404,"marks":191405,"value":185838,"nodeType":864},{},[191406],{"type":899},{"data":191408,"marks":191409,"value":185842,"nodeType":864},{},[],{"data":191411,"content":191414,"nodeType":996},{"target":191412},{"sys":191413},{"id":185847,"type":1001,"linkType":1002},[],{"data":191416,"content":191417,"nodeType":860},{},[191418,191421,191427],{"data":191419,"marks":191420,"value":185855,"nodeType":864},{},[],{"data":191422,"content":191423,"nodeType":883},{"uri":185858},[191424],{"data":191425,"marks":191426,"value":43908,"nodeType":864},{},[],{"data":191428,"marks":191429,"value":2924,"nodeType":864},{},[],{"data":191431,"content":191432,"nodeType":860},{},[191433,191436,191442],{"data":191434,"marks":191435,"value":185872,"nodeType":864},{},[],{"data":191437,"content":191438,"nodeType":883},{"uri":168893},[191439],{"data":191440,"marks":191441,"value":185879,"nodeType":864},{},[],{"data":191443,"marks":191444,"value":185883,"nodeType":864},{},[],{"items":191446},[191447],{"sys":191448,"name":73498},{"id":73497},{"items":191450},[191451],{"fullName":79005,"firstName":79006,"jobTitle":79007,"profilePicture":191452},{"url":79009},{"__typename":2059,"sys":191454,"content":191456,"title":191813,"synopsis":191814,"hashTags":59,"publishedDate":191815,"slug":191816,"tagsCollection":191817,"authorsCollection":191821},{"id":191455},"1ytdqzP7J1fAkeoTMixUam",{"json":191457},{"data":191458,"content":191459,"nodeType":856},{},[191460,191466,191489,191496,191517,191541,191548,191593,191611,191617,191624,191631,191650,191667,191684,191701,191718,191736,191743,191750,191770,191776,191795],{"data":191461,"content":191462,"nodeType":1009},{},[191463],{"data":191464,"marks":191465,"value":185477,"nodeType":864},{},[],{"data":191467,"content":191468,"nodeType":941},{},[191469,191479],{"data":191470,"content":191471,"nodeType":945},{},[191472],{"data":191473,"content":191474,"nodeType":860},{},[191475],{"data":191476,"marks":191477,"value":191478,"nodeType":864},{},[],"Deploy the Push browser extension to your managed machines and browsers without needing interaction from users.",{"data":191480,"content":191481,"nodeType":945},{},[191482],{"data":191483,"content":191484,"nodeType":860},{},[191485],{"data":191486,"marks":191487,"value":191488,"nodeType":864},{},[],"Support added for 78 new SaaS platforms bringing the number of SaaS platforms supported by Push to over 350!",{"data":191490,"content":191491,"nodeType":1312},{},[191492],{"data":191493,"marks":191494,"value":191495,"nodeType":864},{},[],"Managed browser extension deployments",{"data":191497,"content":191498,"nodeType":860},{},[191499,191503,191508,191512],{"data":191500,"marks":191501,"value":191502,"nodeType":864},{},[],"Our most requested feature is here! You can now ",{"data":191504,"marks":191505,"value":191507,"nodeType":864},{},[191506],{"type":899},"deploy the Push browser extension ",{"data":191509,"marks":191510,"value":191511,"nodeType":864},{},[],"using GPO, device management software, or managed Chrome browsers",{"data":191513,"marks":191514,"value":191516,"nodeType":864},{},[191515],{"type":899}," with zero interaction from users.",{"data":191518,"content":191519,"nodeType":860},{},[191520,191524,191529,191532,191537],{"data":191521,"marks":191522,"value":191523,"nodeType":864},{},[],"Obviously this new feature makes things easier for you, but it also has a massive impact on how quickly you can deploy Push. You can be up and running with Push, with ",{"data":191525,"marks":191526,"value":191528,"nodeType":864},{},[191527],{"type":2246},"all of your employees onboarded",{"data":191530,"marks":191531,"value":3731,"nodeType":864},{},[],{"data":191533,"marks":191534,"value":191536,"nodeType":864},{},[191535],{"type":899},"in minutes",{"data":191538,"marks":191539,"value":191540,"nodeType":864},{},[],". One centralized deployment of the browser extension and one API integration is all it takes to be fully deployed.",{"data":191542,"content":191543,"nodeType":860},{},[191544],{"data":191545,"marks":191546,"value":191547,"nodeType":864},{},[],"Using the managed rollout feature works like this:",{"data":191549,"content":191550,"nodeType":118765},{},[191551,191573,191583],{"data":191552,"content":191553,"nodeType":945},{},[191554],{"data":191555,"content":191556,"nodeType":860},{},[191557,191561,191570],{"data":191558,"marks":191559,"value":191560,"nodeType":864},{},[],"Go to the new ",{"data":191562,"content":191564,"nodeType":883},{"uri":191563},"https://pushsecurity.com/app/browsers/",[191565],{"data":191566,"marks":191567,"value":191569,"nodeType":864},{},[191568],{"type":1455},"browsers page",{"data":191571,"marks":191572,"value":18292,"nodeType":864},{},[],{"data":191574,"content":191575,"nodeType":945},{},[191576],{"data":191577,"content":191578,"nodeType":860},{},[191579],{"data":191580,"marks":191581,"value":191582,"nodeType":864},{},[],"Select your enrollment method, and ",{"data":191584,"content":191585,"nodeType":945},{},[191586],{"data":191587,"content":191588,"nodeType":860},{},[191589],{"data":191590,"marks":191591,"value":191592,"nodeType":864},{},[],"Download the config for your team. ",{"data":191594,"content":191595,"nodeType":860},{},[191596,191600,191607],{"data":191597,"marks":191598,"value":191599,"nodeType":864},{},[],"Track the deployment using the new ",{"data":191601,"content":191602,"nodeType":883},{"uri":191563},[191603],{"data":191604,"marks":191605,"value":191569,"nodeType":864},{},[191606],{"type":1455},{"data":191608,"marks":191609,"value":191610,"nodeType":864},{},[],", which shows you details of your coverage so you can see which users, browser types and operating systems are covered.",{"data":191612,"content":191616,"nodeType":996},{"target":191613},{"sys":191614},{"id":191615,"type":1001,"linkType":1002},"3W8zDmsMzKgZCYCCMTlnvq",[],{"data":191618,"content":191619,"nodeType":860},{},[191620],{"data":191621,"marks":191622,"value":191623,"nodeType":864},{},[],"We have guides for each enrollment method, so you’ll be set up in no time. ",{"data":191625,"content":191626,"nodeType":860},{},[191627],{"data":191628,"marks":191629,"value":191630,"nodeType":864},{},[],"How to deploy the Push browser extension in:",{"data":191632,"content":191633,"nodeType":860},{},[191634,191637,191647],{"data":191635,"marks":191636,"value":21,"nodeType":864},{},[],{"data":191638,"content":191642,"nodeType":27604},{"target":191639},{"sys":191640},{"id":191641,"type":1001,"linkType":1002},"gIlDaovHybZ4L8kssAsje",[191643],{"data":191644,"marks":191645,"value":191646,"nodeType":864},{},[],"Google Chrome using the Google Admin Console",{"data":191648,"marks":191649,"value":21,"nodeType":864},{},[],{"data":191651,"content":191652,"nodeType":860},{},[191653,191656,191664],{"data":191654,"marks":191655,"value":21,"nodeType":864},{},[],{"data":191657,"content":191659,"nodeType":883},{"uri":191658},"https://pushsecurity.com/help/audience/administrators/docs/install-the-browser-extension/managed-deployment-using-microsoft-group-policy#deploying-to-google-chrome",[191660],{"data":191661,"marks":191662,"value":191663,"nodeType":864},{},[],"Google Chrome using Group Policy",{"data":191665,"marks":191666,"value":21,"nodeType":864},{},[],{"data":191668,"content":191669,"nodeType":860},{},[191670,191673,191681],{"data":191671,"marks":191672,"value":21,"nodeType":864},{},[],{"data":191674,"content":191676,"nodeType":883},{"uri":191675},"https://pushsecurity.com/help/audience/administrators/docs/install-the-browser-extension/managed-deployment-using-microsoft-group-policy#deploying-to-microsoft-edge",[191677],{"data":191678,"marks":191679,"value":191680,"nodeType":864},{},[],"Microsoft Edge using Group Policy",{"data":191682,"marks":191683,"value":21,"nodeType":864},{},[],{"data":191685,"content":191686,"nodeType":860},{},[191687,191690,191698],{"data":191688,"marks":191689,"value":21,"nodeType":864},{},[],{"data":191691,"content":191693,"nodeType":883},{"uri":191692},"https://pushsecurity.com/help/audience/administrators/docs/install-the-browser-extension/managed-deployment-using-microsoft-endpoint-manager-intune#deploying-to-google-chrome",[191694],{"data":191695,"marks":191696,"value":191697,"nodeType":864},{},[],"Google Chrome using Microsoft Endpoint Manager (InTune)",{"data":191699,"marks":191700,"value":21,"nodeType":864},{},[],{"data":191702,"content":191703,"nodeType":860},{},[191704,191707,191715],{"data":191705,"marks":191706,"value":21,"nodeType":864},{},[],{"data":191708,"content":191710,"nodeType":883},{"uri":191709},"https://pushsecurity.com/help/audience/administrators/docs/install-the-browser-extension/managed-deployment-using-microsoft-endpoint-manager-intune#deploying-to-microsoft-edge",[191711],{"data":191712,"marks":191713,"value":191714,"nodeType":864},{},[],"Microsoft Edge using Microsoft Endpoint Manager (InTune)",{"data":191716,"marks":191717,"value":21,"nodeType":864},{},[],{"data":191719,"content":191720,"nodeType":860},{},[191721,191724,191733],{"data":191722,"marks":191723,"value":21,"nodeType":864},{},[],{"data":191725,"content":191728,"nodeType":27604},{"target":191726},{"sys":191727},{"id":89552,"type":1001,"linkType":1002},[191729],{"data":191730,"marks":191731,"value":191732,"nodeType":864},{},[],"Google Chrome or Microsoft Edge on MacOS using an MDM",{"data":191734,"marks":191735,"value":21,"nodeType":864},{},[],{"data":191737,"content":191738,"nodeType":1312},{},[191739],{"data":191740,"marks":191741,"value":191742,"nodeType":864},{},[],"New SaaS platform support",{"data":191744,"content":191745,"nodeType":860},{},[191746],{"data":191747,"marks":191748,"value":191749,"nodeType":864},{},[],"In the past month we’ve added support for 78 new SaaS platforms. You can now help your users securely use over 350 SaaS platforms using the Push browser extension.",{"data":191751,"content":191752,"nodeType":860},{},[191753,191757,191766],{"data":191754,"marks":191755,"value":191756,"nodeType":864},{},[],"We’ll be continuing to add to our SaaS coverage as we onboard more users who are logging into more apps. You can see our ",{"data":191758,"content":191760,"nodeType":883},{"uri":191759},"https://pushsecurity.com/integration/supported",[191761],{"data":191762,"marks":191763,"value":191765,"nodeType":864},{},[191764],{"type":1455},"full list",{"data":191767,"marks":191768,"value":191769,"nodeType":864},{},[],", which we’ll continue updating in real time.",{"data":191771,"content":191775,"nodeType":996},{"target":191772},{"sys":191773},{"id":191774,"type":1001,"linkType":1002},"tXa0gu4NhqGaBS30eeSZB",[],{"data":191777,"content":191778,"nodeType":860},{},[191779,191783,191791],{"data":191780,"marks":191781,"value":191782,"nodeType":864},{},[],"One more quick update: we now have a ",{"data":191784,"content":191785,"nodeType":883},{"uri":169205},[191786],{"data":191787,"marks":191788,"value":191790,"nodeType":864},{},[191789],{"type":1455},"status page",{"data":191792,"marks":191793,"value":191794,"nodeType":864},{},[],", which provides real-time and historical data on system performance. ",{"data":191796,"content":191797,"nodeType":860},{},[191798,191802,191809],{"data":191799,"marks":191800,"value":191801,"nodeType":864},{},[],"That’s it for now, but there’s plenty more in the hopper. Send us your requests at ",{"data":191803,"content":191804,"nodeType":883},{"uri":168893},[191805],{"data":191806,"marks":191807,"value":168898,"nodeType":864},{},[191808],{"type":1455},{"data":191810,"marks":191811,"value":191812,"nodeType":864},{},[]," and we’ll see if your idea aligns with our roadmap. And, as always, feel free to reach out with any questions or if you need help overcoming any hiccups.","Product release: August 2022","Here’s what’s new on the Push platform for August 2022.","2022-08-25T00:00:00.000Z","product-release-august-2022",{"items":191818},[191819],{"sys":191820,"name":73498},{"id":73497},{"items":191822},[191823],{"fullName":79005,"firstName":79006,"jobTitle":79007,"profilePicture":191824},{"url":79009},"blog/product-release-march-2023",{"json":191827},{"data":191828,"content":191829,"nodeType":856},{},[191830],{"data":191831,"content":191832,"nodeType":860},{},[191833],{"data":191834,"marks":191835,"value":191836,"nodeType":864},{},[],"Provide just-in-time password guidance with inline browser prompts, identify dormant third-party integrations, and more.",{"id":168718,"publishedAt":191838},"2026-08-12T11:56:28.414Z",{"items":191840},[191841],{"sys":191842,"name":73498},{"id":73497},{"items":191844},[191845,191847,191849,191851,191853,191855,191857],{"sys":191846,"name":297,"slug":298,"tier":31},{"id":294},{"sys":191848,"name":413,"slug":414,"tier":31},{"id":410},{"sys":191850,"name":545,"slug":546,"tier":31},{"id":542},{"sys":191852,"name":457,"slug":458,"tier":45},{"id":454},{"sys":191854,"name":502,"slug":503,"tier":45},{"id":499},{"sys":191856,"name":633,"slug":634,"tier":45},{"id":630},{"sys":191858,"name":589,"slug":590,"tier":45},{"id":586},"HlRktHa2LGUV1x0InWMKkkpk-NcAP_gCdvtwV7xvtKw",{"id":191861,"title":160237,"authorsCollection":191862,"content":191867,"extension":228,"faqItemsCollection":192338,"faqTitle":59,"featured":6,"hashTags":59,"meta":192340,"metaTitle":192341,"ogImage":59,"postType":38987,"publishedDate":160239,"relatedBlogPostsCollection":192342,"slug":160240,"stem":194344,"subtitle":59,"summary":194345,"synopsis":160238,"sys":194355,"tagsCollection":194357,"topicsCollection":194363,"__hash__":194375},"blog/blog/an-investigation-guide-for-assessing-app-to-app-oauth-integration-risk.json",{"items":191863},[191864],{"fullName":4949,"firstName":4950,"jobTitle":4951,"socialLinks":191865,"profilePicture":191866},[4953],{"url":4955},{"json":191868,"links":192257},{"data":191869,"content":191870,"nodeType":856},{},[191871,191877,191884,191890,191920,191926,191933,191959,191975,191981,191986,191991,191998,192004,192009,192014,192020,192026,192032,192047,192052,192058,192074,192080,192085,192092,192098,192104,192120,192126,192132,192138,192143,192149,192154,192160,192165,192171,192188,192195,192201,192207,192213,192218,192233,192239,192244,192251],{"data":191872,"content":191873,"nodeType":860},{},[191874],{"data":191875,"marks":191876,"value":159790,"nodeType":864},{},[],{"data":191878,"content":191879,"nodeType":1312},{},[191880],{"data":191881,"marks":191882,"value":126377,"nodeType":864},{},[191883],{"type":899},{"data":191885,"content":191886,"nodeType":860},{},[191887],{"data":191888,"marks":191889,"value":159804,"nodeType":864},{},[],{"data":191891,"content":191892,"nodeType":941},{},[191893,191902,191911],{"data":191894,"content":191895,"nodeType":945},{},[191896],{"data":191897,"content":191898,"nodeType":860},{},[191899],{"data":191900,"marks":191901,"value":159817,"nodeType":864},{},[],{"data":191903,"content":191904,"nodeType":945},{},[191905],{"data":191906,"content":191907,"nodeType":860},{},[191908],{"data":191909,"marks":191910,"value":159827,"nodeType":864},{},[],{"data":191912,"content":191913,"nodeType":945},{},[191914],{"data":191915,"content":191916,"nodeType":860},{},[191917],{"data":191918,"marks":191919,"value":159837,"nodeType":864},{},[],{"data":191921,"content":191922,"nodeType":860},{},[191923],{"data":191924,"marks":191925,"value":159844,"nodeType":864},{},[],{"data":191927,"content":191928,"nodeType":1312},{},[191929],{"data":191930,"marks":191931,"value":159852,"nodeType":864},{},[191932],{"type":899},{"data":191934,"content":191935,"nodeType":860},{},[191936,191939,191946,191949,191956],{"data":191937,"marks":191938,"value":159859,"nodeType":864},{},[],{"data":191940,"content":191941,"nodeType":883},{"uri":159862},[191942],{"data":191943,"marks":191944,"value":159868,"nodeType":864},{},[191945],{"type":1455},{"data":191947,"marks":191948,"value":159872,"nodeType":864},{},[],{"data":191950,"content":191951,"nodeType":883},{"uri":159875},[191952],{"data":191953,"marks":191954,"value":159881,"nodeType":864},{},[191955],{"type":1455},{"data":191957,"marks":191958,"value":159885,"nodeType":864},{},[],{"data":191960,"content":191961,"nodeType":860},{},[191962,191965,191972],{"data":191963,"marks":191964,"value":159892,"nodeType":864},{},[],{"data":191966,"content":191967,"nodeType":883},{"uri":159895},[191968],{"data":191969,"marks":191970,"value":159901,"nodeType":864},{},[191971],{"type":1455},{"data":191973,"marks":191974,"value":159905,"nodeType":864},{},[],{"data":191976,"content":191977,"nodeType":860},{},[191978],{"data":191979,"marks":191980,"value":159912,"nodeType":864},{},[],{"data":191982,"content":191985,"nodeType":996},{"target":191983},{"sys":191984},{"id":159917,"type":1001,"linkType":1002},[],{"data":191987,"content":191990,"nodeType":996},{"target":191988},{"sys":191989},{"id":159923,"type":1001,"linkType":1002},[],{"data":191992,"content":191993,"nodeType":1312},{},[191994],{"data":191995,"marks":191996,"value":159932,"nodeType":864},{},[191997],{"type":899},{"data":191999,"content":192000,"nodeType":860},{},[192001],{"data":192002,"marks":192003,"value":159939,"nodeType":864},{},[],{"data":192005,"content":192008,"nodeType":996},{"target":192006},{"sys":192007},{"id":159944,"type":1001,"linkType":1002},[],{"data":192010,"content":192013,"nodeType":996},{"target":192011},{"sys":192012},{"id":159950,"type":1001,"linkType":1002},[],{"data":192015,"content":192016,"nodeType":860},{},[192017],{"data":192018,"marks":192019,"value":159958,"nodeType":864},{},[],{"data":192021,"content":192022,"nodeType":860},{},[192023],{"data":192024,"marks":192025,"value":159965,"nodeType":864},{},[],{"data":192027,"content":192028,"nodeType":860},{},[192029],{"data":192030,"marks":192031,"value":159972,"nodeType":864},{},[],{"data":192033,"content":192034,"nodeType":860},{},[192035,192038,192044],{"data":192036,"marks":192037,"value":159979,"nodeType":864},{},[],{"data":192039,"content":192040,"nodeType":883},{"uri":159982},[192041],{"data":192042,"marks":192043,"value":159987,"nodeType":864},{},[],{"data":192045,"marks":192046,"value":159991,"nodeType":864},{},[],{"data":192048,"content":192051,"nodeType":996},{"target":192049},{"sys":192050},{"id":159996,"type":1001,"linkType":1002},[],{"data":192053,"content":192054,"nodeType":860},{},[192055],{"data":192056,"marks":192057,"value":160004,"nodeType":864},{},[],{"data":192059,"content":192060,"nodeType":860},{},[192061,192064,192071],{"data":192062,"marks":192063,"value":160011,"nodeType":864},{},[],{"data":192065,"content":192066,"nodeType":883},{"uri":160014},[192067],{"data":192068,"marks":192069,"value":160020,"nodeType":864},{},[192070],{"type":1455},{"data":192072,"marks":192073,"value":160024,"nodeType":864},{},[],{"data":192075,"content":192076,"nodeType":860},{},[192077],{"data":192078,"marks":192079,"value":160031,"nodeType":864},{},[],{"data":192081,"content":192084,"nodeType":996},{"target":192082},{"sys":192083},{"id":160036,"type":1001,"linkType":1002},[],{"data":192086,"content":192087,"nodeType":1312},{},[192088],{"data":192089,"marks":192090,"value":21894,"nodeType":864},{},[192091],{"type":899},{"data":192093,"content":192094,"nodeType":860},{},[192095],{"data":192096,"marks":192097,"value":160051,"nodeType":864},{},[],{"data":192099,"content":192100,"nodeType":860},{},[192101],{"data":192102,"marks":192103,"value":160058,"nodeType":864},{},[],{"data":192105,"content":192106,"nodeType":860},{},[192107,192110,192117],{"data":192108,"marks":192109,"value":160065,"nodeType":864},{},[],{"data":192111,"content":192112,"nodeType":883},{"uri":160068},[192113],{"data":192114,"marks":192115,"value":160074,"nodeType":864},{},[192116],{"type":1455},{"data":192118,"marks":192119,"value":12252,"nodeType":864},{},[],{"data":192121,"content":192122,"nodeType":860},{},[192123],{"data":192124,"marks":192125,"value":160084,"nodeType":864},{},[],{"data":192127,"content":192128,"nodeType":860},{},[192129],{"data":192130,"marks":192131,"value":160091,"nodeType":864},{},[],{"data":192133,"content":192134,"nodeType":860},{},[192135],{"data":192136,"marks":192137,"value":160098,"nodeType":864},{},[],{"data":192139,"content":192142,"nodeType":996},{"target":192140},{"sys":192141},{"id":160103,"type":1001,"linkType":1002},[],{"data":192144,"content":192145,"nodeType":860},{},[192146],{"data":192147,"marks":192148,"value":160111,"nodeType":864},{},[],{"data":192150,"content":192153,"nodeType":996},{"target":192151},{"sys":192152},{"id":160116,"type":1001,"linkType":1002},[],{"data":192155,"content":192156,"nodeType":860},{},[192157],{"data":192158,"marks":192159,"value":160124,"nodeType":864},{},[],{"data":192161,"content":192164,"nodeType":996},{"target":192162},{"sys":192163},{"id":160129,"type":1001,"linkType":1002},[],{"data":192166,"content":192167,"nodeType":860},{},[192168],{"data":192169,"marks":192170,"value":160137,"nodeType":864},{},[],{"data":192172,"content":192173,"nodeType":860},{},[192174,192177,192185],{"data":192175,"marks":192176,"value":160144,"nodeType":864},{},[],{"data":192178,"content":192181,"nodeType":27604},{"target":192179},{"sys":192180},{"id":141516,"type":1001,"linkType":1002},[192182],{"data":192183,"marks":192184,"value":29669,"nodeType":864},{},[],{"data":192186,"marks":192187,"value":160156,"nodeType":864},{},[],{"data":192189,"content":192190,"nodeType":1312},{},[192191],{"data":192192,"marks":192193,"value":160164,"nodeType":864},{},[192194],{"type":899},{"data":192196,"content":192197,"nodeType":860},{},[192198],{"data":192199,"marks":192200,"value":160171,"nodeType":864},{},[],{"data":192202,"content":192203,"nodeType":860},{},[192204],{"data":192205,"marks":192206,"value":160178,"nodeType":864},{},[],{"data":192208,"content":192209,"nodeType":860},{},[192210],{"data":192211,"marks":192212,"value":160185,"nodeType":864},{},[],{"data":192214,"content":192217,"nodeType":996},{"target":192215},{"sys":192216},{"id":160190,"type":1001,"linkType":1002},[],{"data":192219,"content":192220,"nodeType":860},{},[192221,192224,192230],{"data":192222,"marks":192223,"value":160198,"nodeType":864},{},[],{"data":192225,"content":192226,"nodeType":883},{"uri":160201},[192227],{"data":192228,"marks":192229,"value":29669,"nodeType":864},{},[],{"data":192231,"marks":192232,"value":160209,"nodeType":864},{},[],{"data":192234,"content":192235,"nodeType":860},{},[192236],{"data":192237,"marks":192238,"value":160216,"nodeType":864},{},[],{"data":192240,"content":192243,"nodeType":996},{"target":192241},{"sys":192242},{"id":160221,"type":1001,"linkType":1002},[],{"data":192245,"content":192246,"nodeType":1312},{},[192247],{"data":192248,"marks":192249,"value":32492,"nodeType":864},{},[192250],{"type":899},{"data":192252,"content":192253,"nodeType":860},{},[192254],{"data":192255,"marks":192256,"value":160236,"nodeType":864},{},[],{"entries":192258},{"inline":192259,"hyperlink":192260,"block":192263},[],[192261],{"sys":192262,"__typename":2059,"title":150747,"slug":150748},{"id":141516},[192264,192271,192278,192286,192294,192301,192305,192312,192319,192326,192332],{"sys":192265,"__typename":1724,"title":192266,"caption":192266,"layoutMode":192267,"file":192268},{"id":159917},"Social login to Slack","Left aligned",{"url":192269,"width":36460,"height":192270},"https://images.ctfassets.net/y1cdw1ablpvd/5fE5HSCtxJCwiSOiOaaG7o/639e5033b710b30c8de9b669e08572b9/image2.png",223,{"sys":192272,"__typename":1724,"title":192273,"caption":192274,"layoutMode":192267,"file":192275},{"id":159923},"Google admin interface Slack app","Slack integration within the Google admin interface",{"url":192276,"width":1736,"height":192277},"https://images.ctfassets.net/y1cdw1ablpvd/r04yvAAhlbTQAQRCkY8Bv/9f6bdfeb8c9210f36d7ae6bf5b72566b/image3.png",965,{"sys":192279,"__typename":1724,"title":192280,"caption":192281,"layoutMode":192267,"file":192282},{"id":159944},"Trello integration unverified","An unverified Trello integration",{"url":192283,"width":192284,"height":192285},"https://images.ctfassets.net/y1cdw1ablpvd/2WSgNWcGqrWNQISb8buhOF/e058a59fc3c932824723f794dfd72637/image9.png",340,170,{"sys":192287,"__typename":1724,"title":192288,"caption":192289,"layoutMode":192267,"file":192290},{"id":159950},"Permissions for unverified Trello app","A snippet of the permissions request dialog for the Trello app",{"url":192291,"width":192292,"height":192293},"https://images.ctfassets.net/y1cdw1ablpvd/4hYioezvlfTTDxhyJrDIVt/247dc24800473451791cf403e2f125f8/image7.png",442,262,{"sys":192295,"__typename":1724,"title":192296,"caption":192296,"layoutMode":192267,"file":192297},{"id":159996},"Reply URL for unverified Trello app",{"url":192298,"width":192299,"height":192300},"https://images.ctfassets.net/y1cdw1ablpvd/ISg8hPXTh5e2rKiPECRIy/c4333b96ea789b97fbbdceea9db88d1a/image10.png",960,126,{"sys":192302,"__typename":53152,"name":192303,"type":228,"syntax":192304},{"id":160036},"Undocumented Google API output for Slack app integration","% curl -H \"Origin: https://console.cloud.google.com\" \"https://clientauthconfig.googleapis.com/v1/brands/lookupkey/brand/19570130570?readMask=*&readOptions.staleness=0.02s&returnDeveloperBrand=true&returnDisabledBrands=true&key=AIzaSyCI-zsRP85UVOi0DjtiCwWBwQ1djDy741g\"\n{\n  \"brandId\": \"19570130570\",\n  \"projectNumbers\": [\n    \"19570130570\"\n  ],\n  \"displayName\": \"Slack\",\n  \"iconUrl\": \"https://lh3.googleusercontent.com/J5SGBWHMF0_vgcIekl1hEhJ1-_p_zsG3L0i1s_bU2bK_TiSLObT7kK1Le9tnme1h3zA\",\n  \"supportEmail\": \"help@slack-corp.com\",\n  \"homePageUrl\": \"http://slack.com/\",\n  \"termsOfServiceUrls\": [\n    \"https://slack.com/terms-of-service\"\n  ],\n  \"privacyPolicyUrls\": [\n    \"https://slack.com/privacy-policy\"\n  ],\n  \"brandState\": {\n    \"limits\": {\n      \"defaultMaxClientCount\": 36\n    }\n  },\n  \"verifiedBrand\": {\n    \"displayName\": {\n      \"value\": \"Slack\",\n      \"reason\": \"APPEALED\"\n    },\n    \"storedIconUrl\": {\n      \"value\": \"https://lh3.googleusercontent.com/J5SGBWHMF0_vgcIekl1hEhJ1-_p_zsG3L0i1s_bU2bK_TiSLObT7kK1Le9tnme1h3zA\",\n      \"reason\": \"APPEALED\"\n    },\n    \"supportEmail\": {\n      \"value\": \"help@slack-corp.com\",\n      \"reason\": \"APPEALED\"\n    },\n    \"homePageUrl\": {\n      \"value\": \"http://slack.com/\",\n      \"reason\": \"APPEALED\"\n    },\n    \"privacyPolicyUrl\": {\n      \"value\": \"https://slack.com/privacy-policy\",\n      \"reason\": \"APPEALED\"\n    },\n    \"termsOfServiceUrl\": {\n      \"value\": \"https://slack.com/terms-of-service\",\n      \"reason\": \"APPEALED\"\n    }\n  },\n  \"storedIconUrl\": \"https://lh3.googleusercontent.com/J5SGBWHMF0_vgcIekl1hEhJ1-_p_zsG3L0i1s_bU2bK_TiSLObT7kK1Le9tnme1h3zA\",\n  \"consistencyToken\": \"2020-12-04T13:12:40.648327Z\"\n}\n",{"sys":192306,"__typename":1724,"title":192307,"caption":192307,"layoutMode":192267,"file":192308},{"id":160103},"OAuth permissions shared among multiple users",{"url":192309,"width":192310,"height":192311},"https://images.ctfassets.net/y1cdw1ablpvd/1JHLqZMqeqnHasvQk9xuTQ/a77fa0afee66150bb2bac14fe15501a2/image11.png",1456,348,{"sys":192313,"__typename":1724,"title":192314,"caption":192314,"layoutMode":192267,"file":192315},{"id":160116},"Additional permissions for different users for the same integration",{"url":192316,"width":192317,"height":192318},"https://images.ctfassets.net/y1cdw1ablpvd/5TupKuFwjurR3ruCi2EjYK/d22b2158da8f57cd1d902452edd0a8d8/image8.png",1042,508,{"sys":192320,"__typename":1724,"title":192321,"caption":192321,"layoutMode":192267,"file":192322},{"id":160129},"Additional user consent screen for OAuth integration",{"url":192323,"width":192324,"height":192325},"https://images.ctfassets.net/y1cdw1ablpvd/6rR3a2Otef1eeFBoDyakDp/5696d6b2017e3e328b61938abc376e91/image6.png",470,949,{"sys":192327,"__typename":1724,"title":192328,"caption":192328,"layoutMode":192267,"file":192329},{"id":160190},"Activity log for Thunderbird email integration",{"url":192330,"width":1736,"height":192331},"https://images.ctfassets.net/y1cdw1ablpvd/1RXpUsmbZ36UYUEIQNtFu9/b8b87d063e2a3e4eface9504b623fa93/image5.png",209,{"sys":192333,"__typename":1724,"title":192334,"caption":192334,"layoutMode":192267,"file":192335},{"id":160221},"Detailed activity audit data for Thunderbird integration",{"url":192336,"width":156318,"height":192337},"https://images.ctfassets.net/y1cdw1ablpvd/xknN2HxbPK7igpYqUlbq9/969a89ace999f174c776be67ff702e9b/image1.png",648,{"items":192339},[],{},"A guide for assessing app-to-app integration risk",{"items":192343},[192344,193484,193962],{"__typename":2059,"sys":192345,"content":192346,"title":138765,"synopsis":137476,"hashTags":59,"publishedDate":138766,"slug":138767,"tagsCollection":193474,"authorsCollection":193480},{"id":137458},{"json":192347},{"data":192348,"content":192349,"nodeType":856},{},[192350,192356,192362,192368,192374,192392,192398,192403,192409,192415,192421,192449,192454,192460,192568,192574,192580,192814,192820,192826,192832,192858,192864,192870,192875,192881,192886,192892,192898,192904,192910,192916,192922,192928,192934,192939,192945,192958,192964,192970,192996,193002,193018,193024,193030,193036,193042,193073,193089,193137,193143,193149,193165,193181,193187,193213,193219,193225,193231,193237,193243,193249,193255,193271,193276,193282,193297,193303,193309,193314,193320,193326,193331,193337,193373,193379,193384,193390,193395,193401,193407,193433,193439,193445,193451,193457,193463,193468],{"data":192351,"content":192352,"nodeType":860},{},[192353],{"data":192354,"marks":192355,"value":137469,"nodeType":864},{},[],{"data":192357,"content":192358,"nodeType":860},{},[192359],{"data":192360,"marks":192361,"value":137476,"nodeType":864},{},[],{"data":192363,"content":192364,"nodeType":1009},{},[192365],{"data":192366,"marks":192367,"value":40403,"nodeType":864},{},[],{"data":192369,"content":192370,"nodeType":1312},{},[192371],{"data":192372,"marks":192373,"value":137489,"nodeType":864},{},[],{"data":192375,"content":192376,"nodeType":860},{},[192377,192380,192389],{"data":192378,"marks":192379,"value":137496,"nodeType":864},{},[],{"data":192381,"content":192384,"nodeType":27604},{"target":192382},{"sys":192383},{"id":137501,"type":1001,"linkType":1002},[192385],{"data":192386,"marks":192387,"value":137507,"nodeType":864},{},[192388],{"type":1455},{"data":192390,"marks":192391,"value":137511,"nodeType":864},{},[],{"data":192393,"content":192394,"nodeType":860},{},[192395],{"data":192396,"marks":192397,"value":137518,"nodeType":864},{},[],{"data":192399,"content":192402,"nodeType":996},{"target":192400},{"sys":192401},{"id":137523,"type":1001,"linkType":1002},[],{"data":192404,"content":192405,"nodeType":1312},{},[192406],{"data":192407,"marks":192408,"value":137531,"nodeType":864},{},[],{"data":192410,"content":192411,"nodeType":860},{},[192412],{"data":192413,"marks":192414,"value":137538,"nodeType":864},{},[],{"data":192416,"content":192417,"nodeType":860},{},[192418],{"data":192419,"marks":192420,"value":137545,"nodeType":864},{},[],{"data":192422,"content":192423,"nodeType":860},{},[192424,192427,192434,192437,192446],{"data":192425,"marks":192426,"value":137552,"nodeType":864},{},[],{"data":192428,"content":192429,"nodeType":883},{"uri":137555},[192430],{"data":192431,"marks":192432,"value":137561,"nodeType":864},{},[192433],{"type":1455},{"data":192435,"marks":192436,"value":137565,"nodeType":864},{},[],{"data":192438,"content":192441,"nodeType":27604},{"target":192439},{"sys":192440},{"id":137570,"type":1001,"linkType":1002},[192442],{"data":192443,"marks":192444,"value":137576,"nodeType":864},{},[192445],{"type":1455},{"data":192447,"marks":192448,"value":137580,"nodeType":864},{},[],{"data":192450,"content":192453,"nodeType":996},{"target":192451},{"sys":192452},{"id":137585,"type":1001,"linkType":1002},[],{"data":192455,"content":192456,"nodeType":860},{},[192457],{"data":192458,"marks":192459,"value":137593,"nodeType":864},{},[],{"data":192461,"content":192462,"nodeType":4845},{},[192463,192484,192505,192526,192547],{"data":192464,"content":192465,"nodeType":4581},{},[192466,192475],{"data":192467,"content":192468,"nodeType":4569},{},[192469],{"data":192470,"content":192471,"nodeType":860},{},[192472],{"data":192473,"marks":192474,"value":137609,"nodeType":864},{},[],{"data":192476,"content":192477,"nodeType":4569},{},[192478],{"data":192479,"content":192480,"nodeType":860},{},[192481],{"data":192482,"marks":192483,"value":137619,"nodeType":864},{},[],{"data":192485,"content":192486,"nodeType":4581},{},[192487,192496],{"data":192488,"content":192489,"nodeType":4569},{},[192490],{"data":192491,"content":192492,"nodeType":860},{},[192493],{"data":192494,"marks":192495,"value":137632,"nodeType":864},{},[],{"data":192497,"content":192498,"nodeType":4569},{},[192499],{"data":192500,"content":192501,"nodeType":860},{},[192502],{"data":192503,"marks":192504,"value":137642,"nodeType":864},{},[],{"data":192506,"content":192507,"nodeType":4581},{},[192508,192517],{"data":192509,"content":192510,"nodeType":4569},{},[192511],{"data":192512,"content":192513,"nodeType":860},{},[192514],{"data":192515,"marks":192516,"value":137655,"nodeType":864},{},[],{"data":192518,"content":192519,"nodeType":4569},{},[192520],{"data":192521,"content":192522,"nodeType":860},{},[192523],{"data":192524,"marks":192525,"value":137665,"nodeType":864},{},[],{"data":192527,"content":192528,"nodeType":4581},{},[192529,192538],{"data":192530,"content":192531,"nodeType":4569},{},[192532],{"data":192533,"content":192534,"nodeType":860},{},[192535],{"data":192536,"marks":192537,"value":137678,"nodeType":864},{},[],{"data":192539,"content":192540,"nodeType":4569},{},[192541],{"data":192542,"content":192543,"nodeType":860},{},[192544],{"data":192545,"marks":192546,"value":137688,"nodeType":864},{},[],{"data":192548,"content":192549,"nodeType":4581},{},[192550,192559],{"data":192551,"content":192552,"nodeType":4569},{},[192553],{"data":192554,"content":192555,"nodeType":860},{},[192556],{"data":192557,"marks":192558,"value":137701,"nodeType":864},{},[],{"data":192560,"content":192561,"nodeType":4569},{},[192562],{"data":192563,"content":192564,"nodeType":860},{},[192565],{"data":192566,"marks":192567,"value":137711,"nodeType":864},{},[],{"data":192569,"content":192570,"nodeType":860},{},[192571],{"data":192572,"marks":192573,"value":137718,"nodeType":864},{},[],{"data":192575,"content":192576,"nodeType":860},{},[192577],{"data":192578,"marks":192579,"value":137725,"nodeType":864},{},[],{"data":192581,"content":192582,"nodeType":4845},{},[192583,192604,192625,192646,192667,192688,192709,192730,192751,192772,192793],{"data":192584,"content":192585,"nodeType":4581},{},[192586,192595],{"data":192587,"content":192588,"nodeType":4569},{},[192589],{"data":192590,"content":192591,"nodeType":860},{},[192592],{"data":192593,"marks":192594,"value":137741,"nodeType":864},{},[],{"data":192596,"content":192597,"nodeType":4569},{},[192598],{"data":192599,"content":192600,"nodeType":860},{},[192601],{"data":192602,"marks":192603,"value":137751,"nodeType":864},{},[],{"data":192605,"content":192606,"nodeType":4581},{},[192607,192616],{"data":192608,"content":192609,"nodeType":4569},{},[192610],{"data":192611,"content":192612,"nodeType":860},{},[192613],{"data":192614,"marks":192615,"value":137764,"nodeType":864},{},[],{"data":192617,"content":192618,"nodeType":4569},{},[192619],{"data":192620,"content":192621,"nodeType":860},{},[192622],{"data":192623,"marks":192624,"value":137774,"nodeType":864},{},[],{"data":192626,"content":192627,"nodeType":4581},{},[192628,192637],{"data":192629,"content":192630,"nodeType":4569},{},[192631],{"data":192632,"content":192633,"nodeType":860},{},[192634],{"data":192635,"marks":192636,"value":137787,"nodeType":864},{},[],{"data":192638,"content":192639,"nodeType":4569},{},[192640],{"data":192641,"content":192642,"nodeType":860},{},[192643],{"data":192644,"marks":192645,"value":137797,"nodeType":864},{},[],{"data":192647,"content":192648,"nodeType":4581},{},[192649,192658],{"data":192650,"content":192651,"nodeType":4569},{},[192652],{"data":192653,"content":192654,"nodeType":860},{},[192655],{"data":192656,"marks":192657,"value":137810,"nodeType":864},{},[],{"data":192659,"content":192660,"nodeType":4569},{},[192661],{"data":192662,"content":192663,"nodeType":860},{},[192664],{"data":192665,"marks":192666,"value":137820,"nodeType":864},{},[],{"data":192668,"content":192669,"nodeType":4581},{},[192670,192679],{"data":192671,"content":192672,"nodeType":4569},{},[192673],{"data":192674,"content":192675,"nodeType":860},{},[192676],{"data":192677,"marks":192678,"value":137833,"nodeType":864},{},[],{"data":192680,"content":192681,"nodeType":4569},{},[192682],{"data":192683,"content":192684,"nodeType":860},{},[192685],{"data":192686,"marks":192687,"value":137843,"nodeType":864},{},[],{"data":192689,"content":192690,"nodeType":4581},{},[192691,192700],{"data":192692,"content":192693,"nodeType":4569},{},[192694],{"data":192695,"content":192696,"nodeType":860},{},[192697],{"data":192698,"marks":192699,"value":137856,"nodeType":864},{},[],{"data":192701,"content":192702,"nodeType":4569},{},[192703],{"data":192704,"content":192705,"nodeType":860},{},[192706],{"data":192707,"marks":192708,"value":137866,"nodeType":864},{},[],{"data":192710,"content":192711,"nodeType":4581},{},[192712,192721],{"data":192713,"content":192714,"nodeType":4569},{},[192715],{"data":192716,"content":192717,"nodeType":860},{},[192718],{"data":192719,"marks":192720,"value":137879,"nodeType":864},{},[],{"data":192722,"content":192723,"nodeType":4569},{},[192724],{"data":192725,"content":192726,"nodeType":860},{},[192727],{"data":192728,"marks":192729,"value":137889,"nodeType":864},{},[],{"data":192731,"content":192732,"nodeType":4581},{},[192733,192742],{"data":192734,"content":192735,"nodeType":4569},{},[192736],{"data":192737,"content":192738,"nodeType":860},{},[192739],{"data":192740,"marks":192741,"value":137902,"nodeType":864},{},[],{"data":192743,"content":192744,"nodeType":4569},{},[192745],{"data":192746,"content":192747,"nodeType":860},{},[192748],{"data":192749,"marks":192750,"value":137912,"nodeType":864},{},[],{"data":192752,"content":192753,"nodeType":4581},{},[192754,192763],{"data":192755,"content":192756,"nodeType":4569},{},[192757],{"data":192758,"content":192759,"nodeType":860},{},[192760],{"data":192761,"marks":192762,"value":137925,"nodeType":864},{},[],{"data":192764,"content":192765,"nodeType":4569},{},[192766],{"data":192767,"content":192768,"nodeType":860},{},[192769],{"data":192770,"marks":192771,"value":137935,"nodeType":864},{},[],{"data":192773,"content":192774,"nodeType":4581},{},[192775,192784],{"data":192776,"content":192777,"nodeType":4569},{},[192778],{"data":192779,"content":192780,"nodeType":860},{},[192781],{"data":192782,"marks":192783,"value":137948,"nodeType":864},{},[],{"data":192785,"content":192786,"nodeType":4569},{},[192787],{"data":192788,"content":192789,"nodeType":860},{},[192790],{"data":192791,"marks":192792,"value":137958,"nodeType":864},{},[],{"data":192794,"content":192795,"nodeType":4581},{},[192796,192805],{"data":192797,"content":192798,"nodeType":4569},{},[192799],{"data":192800,"content":192801,"nodeType":860},{},[192802],{"data":192803,"marks":192804,"value":137971,"nodeType":864},{},[],{"data":192806,"content":192807,"nodeType":4569},{},[192808],{"data":192809,"content":192810,"nodeType":860},{},[192811],{"data":192812,"marks":192813,"value":137981,"nodeType":864},{},[],{"data":192815,"content":192816,"nodeType":860},{},[192817],{"data":192818,"marks":192819,"value":137988,"nodeType":864},{},[],{"data":192821,"content":192822,"nodeType":1009},{},[192823],{"data":192824,"marks":192825,"value":137995,"nodeType":864},{},[],{"data":192827,"content":192828,"nodeType":1312},{},[192829],{"data":192830,"marks":192831,"value":137489,"nodeType":864},{},[],{"data":192833,"content":192834,"nodeType":860},{},[192835,192838,192845,192848,192855],{"data":192836,"marks":192837,"value":138008,"nodeType":864},{},[],{"data":192839,"content":192840,"nodeType":883},{"uri":138011},[192841],{"data":192842,"marks":192843,"value":138017,"nodeType":864},{},[192844],{"type":1455},{"data":192846,"marks":192847,"value":138021,"nodeType":864},{},[],{"data":192849,"content":192850,"nodeType":883},{"uri":138024},[192851],{"data":192852,"marks":192853,"value":138030,"nodeType":864},{},[192854],{"type":1455},{"data":192856,"marks":192857,"value":138034,"nodeType":864},{},[],{"data":192859,"content":192860,"nodeType":860},{},[192861],{"data":192862,"marks":192863,"value":138041,"nodeType":864},{},[],{"data":192865,"content":192866,"nodeType":860},{},[192867],{"data":192868,"marks":192869,"value":138048,"nodeType":864},{},[],{"data":192871,"content":192874,"nodeType":996},{"target":192872},{"sys":192873},{"id":138053,"type":1001,"linkType":1002},[],{"data":192876,"content":192877,"nodeType":860},{},[192878],{"data":192879,"marks":192880,"value":138061,"nodeType":864},{},[],{"data":192882,"content":192885,"nodeType":996},{"target":192883},{"sys":192884},{"id":138066,"type":1001,"linkType":1002},[],{"data":192887,"content":192888,"nodeType":860},{},[192889],{"data":192890,"marks":192891,"value":138074,"nodeType":864},{},[],{"data":192893,"content":192894,"nodeType":860},{},[192895],{"data":192896,"marks":192897,"value":138081,"nodeType":864},{},[],{"data":192899,"content":192900,"nodeType":1312},{},[192901],{"data":192902,"marks":192903,"value":137531,"nodeType":864},{},[],{"data":192905,"content":192906,"nodeType":860},{},[192907],{"data":192908,"marks":192909,"value":138094,"nodeType":864},{},[],{"data":192911,"content":192912,"nodeType":1009},{},[192913],{"data":192914,"marks":192915,"value":138101,"nodeType":864},{},[],{"data":192917,"content":192918,"nodeType":1312},{},[192919],{"data":192920,"marks":192921,"value":137489,"nodeType":864},{},[],{"data":192923,"content":192924,"nodeType":860},{},[192925],{"data":192926,"marks":192927,"value":138114,"nodeType":864},{},[],{"data":192929,"content":192930,"nodeType":860},{},[192931],{"data":192932,"marks":192933,"value":138121,"nodeType":864},{},[],{"data":192935,"content":192938,"nodeType":996},{"target":192936},{"sys":192937},{"id":138126,"type":1001,"linkType":1002},[],{"data":192940,"content":192941,"nodeType":860},{},[192942],{"data":192943,"marks":192944,"value":138134,"nodeType":864},{},[],{"data":192946,"content":192947,"nodeType":860},{},[192948,192951,192955],{"data":192949,"marks":192950,"value":138141,"nodeType":864},{},[],{"data":192952,"marks":192953,"value":138146,"nodeType":864},{},[192954],{"type":2246},{"data":192956,"marks":192957,"value":138150,"nodeType":864},{},[],{"data":192959,"content":192960,"nodeType":1312},{},[192961],{"data":192962,"marks":192963,"value":137531,"nodeType":864},{},[],{"data":192965,"content":192966,"nodeType":860},{},[192967],{"data":192968,"marks":192969,"value":138163,"nodeType":864},{},[],{"data":192971,"content":192972,"nodeType":860},{},[192973,192976,192983,192986,192993],{"data":192974,"marks":192975,"value":138170,"nodeType":864},{},[],{"data":192977,"content":192978,"nodeType":883},{"uri":138173},[192979],{"data":192980,"marks":192981,"value":79166,"nodeType":864},{},[192982],{"type":1455},{"data":192984,"marks":192985,"value":138182,"nodeType":864},{},[],{"data":192987,"content":192988,"nodeType":883},{"uri":138185},[192989],{"data":192990,"marks":192991,"value":138191,"nodeType":864},{},[192992],{"type":1455},{"data":192994,"marks":192995,"value":138195,"nodeType":864},{},[],{"data":192997,"content":192998,"nodeType":860},{},[192999],{"data":193000,"marks":193001,"value":138202,"nodeType":864},{},[],{"data":193003,"content":193004,"nodeType":860},{},[193005,193008,193015],{"data":193006,"marks":193007,"value":138209,"nodeType":864},{},[],{"data":193009,"content":193010,"nodeType":883},{"uri":138212},[193011],{"data":193012,"marks":193013,"value":138218,"nodeType":864},{},[193014],{"type":1455},{"data":193016,"marks":193017,"value":138222,"nodeType":864},{},[],{"data":193019,"content":193020,"nodeType":860},{},[193021],{"data":193022,"marks":193023,"value":138229,"nodeType":864},{},[],{"data":193025,"content":193026,"nodeType":860},{},[193027],{"data":193028,"marks":193029,"value":138236,"nodeType":864},{},[],{"data":193031,"content":193032,"nodeType":1009},{},[193033],{"data":193034,"marks":193035,"value":138243,"nodeType":864},{},[],{"data":193037,"content":193038,"nodeType":1312},{},[193039],{"data":193040,"marks":193041,"value":137489,"nodeType":864},{},[],{"data":193043,"content":193044,"nodeType":860},{},[193045,193049,193057,193061,193069],{"data":193046,"marks":193047,"value":138257,"nodeType":864},{},[193048],{"type":2246},{"data":193050,"content":193051,"nodeType":883},{"uri":138260},[193052],{"data":193053,"marks":193054,"value":138267,"nodeType":864},{},[193055,193056],{"type":1455},{"type":2246},{"data":193058,"marks":193059,"value":138272,"nodeType":864},{},[193060],{"type":2246},{"data":193062,"content":193063,"nodeType":883},{"uri":138275},[193064],{"data":193065,"marks":193066,"value":138282,"nodeType":864},{},[193067,193068],{"type":1455},{"type":2246},{"data":193070,"marks":193071,"value":138287,"nodeType":864},{},[193072],{"type":2246},{"data":193074,"content":193075,"nodeType":860},{},[193076,193079,193086],{"data":193077,"marks":193078,"value":138294,"nodeType":864},{},[],{"data":193080,"content":193081,"nodeType":883},{"uri":138297},[193082],{"data":193083,"marks":193084,"value":138303,"nodeType":864},{},[193085],{"type":1455},{"data":193087,"marks":193088,"value":138307,"nodeType":864},{},[],{"data":193090,"content":193091,"nodeType":118765},{},[193092,193101,193110,193119,193128],{"data":193093,"content":193094,"nodeType":945},{},[193095],{"data":193096,"content":193097,"nodeType":860},{},[193098],{"data":193099,"marks":193100,"value":138320,"nodeType":864},{},[],{"data":193102,"content":193103,"nodeType":945},{},[193104],{"data":193105,"content":193106,"nodeType":860},{},[193107],{"data":193108,"marks":193109,"value":138330,"nodeType":864},{},[],{"data":193111,"content":193112,"nodeType":945},{},[193113],{"data":193114,"content":193115,"nodeType":860},{},[193116],{"data":193117,"marks":193118,"value":138340,"nodeType":864},{},[],{"data":193120,"content":193121,"nodeType":945},{},[193122],{"data":193123,"content":193124,"nodeType":860},{},[193125],{"data":193126,"marks":193127,"value":138350,"nodeType":864},{},[],{"data":193129,"content":193130,"nodeType":945},{},[193131],{"data":193132,"content":193133,"nodeType":860},{},[193134],{"data":193135,"marks":193136,"value":138360,"nodeType":864},{},[],{"data":193138,"content":193139,"nodeType":860},{},[193140],{"data":193141,"marks":193142,"value":138367,"nodeType":864},{},[],{"data":193144,"content":193145,"nodeType":860},{},[193146],{"data":193147,"marks":193148,"value":138374,"nodeType":864},{},[],{"data":193150,"content":193151,"nodeType":860},{},[193152,193155,193162],{"data":193153,"marks":193154,"value":138381,"nodeType":864},{},[],{"data":193156,"content":193157,"nodeType":883},{"uri":138384},[193158],{"data":193159,"marks":193160,"value":138390,"nodeType":864},{},[193161],{"type":1455},{"data":193163,"marks":193164,"value":138394,"nodeType":864},{},[],{"data":193166,"content":193167,"nodeType":860},{},[193168,193171,193178],{"data":193169,"marks":193170,"value":138401,"nodeType":864},{},[],{"data":193172,"content":193173,"nodeType":883},{"uri":138297},[193174],{"data":193175,"marks":193176,"value":138409,"nodeType":864},{},[193177],{"type":1455},{"data":193179,"marks":193180,"value":138413,"nodeType":864},{},[],{"data":193182,"content":193183,"nodeType":860},{},[193184],{"data":193185,"marks":193186,"value":138420,"nodeType":864},{},[],{"data":193188,"content":193189,"nodeType":860},{},[193190,193193,193200,193203,193210],{"data":193191,"marks":193192,"value":138427,"nodeType":864},{},[],{"data":193194,"content":193195,"nodeType":883},{"uri":138430},[193196],{"data":193197,"marks":193198,"value":138436,"nodeType":864},{},[193199],{"type":1455},{"data":193201,"marks":193202,"value":138440,"nodeType":864},{},[],{"data":193204,"content":193205,"nodeType":883},{"uri":138443},[193206],{"data":193207,"marks":193208,"value":138449,"nodeType":864},{},[193209],{"type":1455},{"data":193211,"marks":193212,"value":138453,"nodeType":864},{},[],{"data":193214,"content":193215,"nodeType":1312},{},[193216],{"data":193217,"marks":193218,"value":137531,"nodeType":864},{},[],{"data":193220,"content":193221,"nodeType":860},{},[193222],{"data":193223,"marks":193224,"value":138466,"nodeType":864},{},[],{"data":193226,"content":193227,"nodeType":860},{},[193228],{"data":193229,"marks":193230,"value":138473,"nodeType":864},{},[],{"data":193232,"content":193233,"nodeType":860},{},[193234],{"data":193235,"marks":193236,"value":138480,"nodeType":864},{},[],{"data":193238,"content":193239,"nodeType":1009},{},[193240],{"data":193241,"marks":193242,"value":138487,"nodeType":864},{},[],{"data":193244,"content":193245,"nodeType":860},{},[193246],{"data":193247,"marks":193248,"value":138494,"nodeType":864},{},[],{"data":193250,"content":193251,"nodeType":1312},{},[193252],{"data":193253,"marks":193254,"value":138501,"nodeType":864},{},[],{"data":193256,"content":193257,"nodeType":860},{},[193258,193261,193268],{"data":193259,"marks":193260,"value":138508,"nodeType":864},{},[],{"data":193262,"content":193263,"nodeType":883},{"uri":138511},[193264],{"data":193265,"marks":193266,"value":138517,"nodeType":864},{},[193267],{"type":1455},{"data":193269,"marks":193270,"value":138521,"nodeType":864},{},[],{"data":193272,"content":193275,"nodeType":996},{"target":193273},{"sys":193274},{"id":138526,"type":1001,"linkType":1002},[],{"data":193277,"content":193278,"nodeType":860},{},[193279],{"data":193280,"marks":193281,"value":138534,"nodeType":864},{},[],{"data":193283,"content":193284,"nodeType":860},{},[193285,193288,193294],{"data":193286,"marks":193287,"value":138541,"nodeType":864},{},[],{"data":193289,"content":193290,"nodeType":883},{"uri":138544},[193291],{"data":193292,"marks":193293,"value":138549,"nodeType":864},{},[],{"data":193295,"marks":193296,"value":138553,"nodeType":864},{},[],{"data":193298,"content":193299,"nodeType":1312},{},[193300],{"data":193301,"marks":193302,"value":138560,"nodeType":864},{},[],{"data":193304,"content":193305,"nodeType":860},{},[193306],{"data":193307,"marks":193308,"value":138567,"nodeType":864},{},[],{"data":193310,"content":193313,"nodeType":996},{"target":193311},{"sys":193312},{"id":138572,"type":1001,"linkType":1002},[],{"data":193315,"content":193316,"nodeType":1312},{},[193317],{"data":193318,"marks":193319,"value":138580,"nodeType":864},{},[],{"data":193321,"content":193322,"nodeType":860},{},[193323],{"data":193324,"marks":193325,"value":138587,"nodeType":864},{},[],{"data":193327,"content":193330,"nodeType":996},{"target":193328},{"sys":193329},{"id":138592,"type":1001,"linkType":1002},[],{"data":193332,"content":193333,"nodeType":1312},{},[193334],{"data":193335,"marks":193336,"value":138600,"nodeType":864},{},[],{"data":193338,"content":193339,"nodeType":860},{},[193340,193343,193350,193353,193360,193363,193370],{"data":193341,"marks":193342,"value":138607,"nodeType":864},{},[],{"data":193344,"content":193345,"nodeType":883},{"uri":138610},[193346],{"data":193347,"marks":193348,"value":138616,"nodeType":864},{},[193349],{"type":1455},{"data":193351,"marks":193352,"value":138620,"nodeType":864},{},[],{"data":193354,"content":193355,"nodeType":883},{"uri":138623},[193356],{"data":193357,"marks":193358,"value":138629,"nodeType":864},{},[193359],{"type":1455},{"data":193361,"marks":193362,"value":138633,"nodeType":864},{},[],{"data":193364,"content":193365,"nodeType":883},{"uri":138636},[193366],{"data":193367,"marks":193368,"value":138642,"nodeType":864},{},[193369],{"type":1455},{"data":193371,"marks":193372,"value":138646,"nodeType":864},{},[],{"data":193374,"content":193375,"nodeType":860},{},[193376],{"data":193377,"marks":193378,"value":138653,"nodeType":864},{},[],{"data":193380,"content":193383,"nodeType":996},{"target":193381},{"sys":193382},{"id":138658,"type":1001,"linkType":1002},[],{"data":193385,"content":193386,"nodeType":860},{},[193387],{"data":193388,"marks":193389,"value":138666,"nodeType":864},{},[],{"data":193391,"content":193394,"nodeType":996},{"target":193392},{"sys":193393},{"id":138671,"type":1001,"linkType":1002},[],{"data":193396,"content":193397,"nodeType":1312},{},[193398],{"data":193399,"marks":193400,"value":138679,"nodeType":864},{},[],{"data":193402,"content":193403,"nodeType":860},{},[193404],{"data":193405,"marks":193406,"value":138686,"nodeType":864},{},[],{"data":193408,"content":193409,"nodeType":860},{},[193410,193413,193420,193423,193430],{"data":193411,"marks":193412,"value":138693,"nodeType":864},{},[],{"data":193414,"content":193415,"nodeType":883},{"uri":138696},[193416],{"data":193417,"marks":193418,"value":138702,"nodeType":864},{},[193419],{"type":1455},{"data":193421,"marks":193422,"value":138706,"nodeType":864},{},[],{"data":193424,"content":193425,"nodeType":883},{"uri":138709},[193426],{"data":193427,"marks":193428,"value":138715,"nodeType":864},{},[193429],{"type":1455},{"data":193431,"marks":193432,"value":138719,"nodeType":864},{},[],{"data":193434,"content":193435,"nodeType":1009},{},[193436],{"data":193437,"marks":193438,"value":32492,"nodeType":864},{},[],{"data":193440,"content":193441,"nodeType":860},{},[193442],{"data":193443,"marks":193444,"value":138732,"nodeType":864},{},[],{"data":193446,"content":193447,"nodeType":860},{},[193448],{"data":193449,"marks":193450,"value":138739,"nodeType":864},{},[],{"data":193452,"content":193453,"nodeType":860},{},[193454],{"data":193455,"marks":193456,"value":138746,"nodeType":864},{},[],{"data":193458,"content":193459,"nodeType":860},{},[193460],{"data":193461,"marks":193462,"value":138753,"nodeType":864},{},[],{"data":193464,"content":193467,"nodeType":996},{"target":193465},{"sys":193466},{"id":102281,"type":1001,"linkType":1002},[],{"data":193469,"content":193470,"nodeType":860},{},[193471],{"data":193472,"marks":193473,"value":21,"nodeType":864},{},[],{"items":193475},[193476,193478],{"sys":193477,"name":6593},{"id":6592},{"sys":193479,"name":342},{"id":6596},{"items":193481},[193482],{"fullName":73848,"firstName":73849,"jobTitle":73850,"profilePicture":193483},{"url":73852},{"__typename":2059,"sys":193485,"content":193486,"title":154144,"synopsis":193950,"hashTags":59,"publishedDate":193951,"slug":154145,"tagsCollection":193952,"authorsCollection":193958},{"id":141631},{"json":193487},{"data":193488,"content":193489,"nodeType":856},{},[193490,193498,193506,193528,193536,193557,193564,193570,193577,193584,193591,193598,193605,193612,193619,193626,193633,193639,193646,193653,193660,193667,193685,193691,193698,193704,193711,193717,193724,193731,193738,193781,193788,193808,193815,193905,193925,193931,193938,193944],{"data":193491,"content":193492,"nodeType":860},{},[193493],{"data":193494,"marks":193495,"value":193497,"nodeType":864},{},[193496],{"type":2246},"You get a call from your CFO: “Jenkins! ACME just called to find out why we haven’t paid invoices for the last 3 months? Didn’t you make payment last week?”",{"data":193499,"content":193500,"nodeType":860},{},[193501],{"data":193502,"marks":193503,"value":193505,"nodeType":864},{},[193504],{"type":2246},"You think back a bit. “Yip! I received another invoice a few days ago and made payment yesterday. I also paid the contractor doing renovations on your house. By the way, congrats on the new kitchen.”",{"data":193507,"content":193508,"nodeType":860},{},[193509,193513,193524],{"data":193510,"marks":193511,"value":193512,"nodeType":864},{},[],"Many companies have had similar incidents occur over the last couple of years - it’s a classic ",{"data":193514,"content":193518,"nodeType":27604},{"target":193515},{"sys":193516},{"id":193517,"type":1001,"linkType":1002},"pj2eLZXa4PyrY1DD4NCHt",[193519],{"data":193520,"marks":193521,"value":193523,"nodeType":864},{},[193522],{"type":1455},"Business Email Compromise",{"data":193525,"marks":193526,"value":193527,"nodeType":864},{},[]," (BEC) scenario. An attacker managed to gain access to Jenkins in accounting’s email and intercepted email from legitimate creditors, replacing their banking details with the attacker's own, and even forging invoices from non-existent suppliers. Forged emails are then sent from the CEO or CFO to approve the payments.",{"data":193529,"content":193530,"nodeType":860},{},[193531],{"data":193532,"marks":193533,"value":193535,"nodeType":864},{},[193534],{"type":2246},"But how did they manage to gain access to the account? Our security team enforced multi-factor authentication (MFA) a few weeks ago. We’re supposed to be secure!?",{"data":193537,"content":193538,"nodeType":860},{},[193539,193543,193553],{"data":193540,"marks":193541,"value":193542,"nodeType":864},{},[],"As detailed in our ",{"data":193544,"content":193547,"nodeType":27604},{"target":193545},{"sys":193546},{"id":137501,"type":1001,"linkType":1002},[193548],{"data":193549,"marks":193550,"value":193552,"nodeType":864},{},[193551],{"type":1455},"blog post about consent phishing",{"data":193554,"marks":193555,"value":193556,"nodeType":864},{},[],", this attack method will bypass MFA, since the paired malicious third-party integration app (sometimes called OAuth) generates an authentication token. MFA checks are only applied when logging in with your username and password, so in this case, the attacker was able to get a valid access token into Jenkins’ account. ",{"data":193558,"content":193559,"nodeType":860},{},[193560],{"data":193561,"marks":193562,"value":193563,"nodeType":864},{},[],"While this isn’t necessarily the same level of access provided with a username/password combo, it might be, based on the scopes Jenkins granted the third-party integration app access to when they clicked ‘Accept’. ",{"data":193565,"content":193569,"nodeType":996},{"target":193566},{"sys":193567},{"id":193568,"type":1001,"linkType":1002},"5BIHqq49jJOHsEHLgc8Tb9",[],{"data":193571,"content":193572,"nodeType":860},{},[193573],{"data":193574,"marks":193575,"value":193576,"nodeType":864},{},[],"The list of third-party integration scopes can include anything from relatively benign things like retrieving your name, surname, and email address, to more dangerous or excessive permissions such as full access to your mailbox, the ability to configure mail rules to forward or delete email, and full access to your OneDrive or Sharepoint files. Worse case scenario: if you belong to groups with password reset capabilities, the attacker may be able to perform full account takeovers.",{"data":193578,"content":193579,"nodeType":1312},{},[193580],{"data":193581,"marks":193582,"value":193583,"nodeType":864},{},[],"How do you detect and respond to such incidents?",{"data":193585,"content":193586,"nodeType":860},{},[193587],{"data":193588,"marks":193589,"value":193590,"nodeType":864},{},[],"The main issue is detection. In my experience as an incident responder working with Fortune 500 companies at MWR Infosecurity, I found that BEC attacks are usually detected when associated parties start asking questions about non-payment (or unrecognized payments), which can take weeks or months from the day of compromise. By this point your cloud provider’s logs are likely to have rolled over and you’re unlikely to find much useful information to populate your incident timeline.",{"data":193592,"content":193593,"nodeType":860},{},[193594],{"data":193595,"marks":193596,"value":193597,"nodeType":864},{},[],"Shameless plug alert: Push’s ChatOps functionality can greatly assist here as it detects such malicious rules when created, and sends a message to the owner of the account (Jenkins) asking if they created the rule. Sometimes a user will have a legitimate use for creating mail rules to forward messages to another account, and this allows them to acknowledge the rule and mark it as safe. In case they didn’t create it, they can flag it as such and this will cause an alert to be sent to their security team. This is practically instant detection and invaluable when preventing fraudulent payments. And getting input from the account owner cuts way down on alert fatigue for your team.",{"data":193599,"content":193600,"nodeType":1312},{},[193601],{"data":193602,"marks":193603,"value":193604,"nodeType":864},{},[],"\nMitigate the attack \n",{"data":193606,"content":193607,"nodeType":860},{},[193608],{"data":193609,"marks":193610,"value":193611,"nodeType":864},{},[],"Once you’ve detected the incident, your next step is to remediate. Typically, this would require someone on the  security team to find the offending rule in your cloud provider’s control panel to disable it, which can take some time, depending on the team’s availability and other factors. ",{"data":193613,"content":193614,"nodeType":860},{},[193615],{"data":193616,"marks":193617,"value":193618,"nodeType":864},{},[],"Detecting the creation of malicious mail rules would require you to configure policies and alerts in your cloud provider’s control panel, and requires someone from the security team to monitor for notifications. If your IT person is also responsible for security in your organization, it’s unlikely that they would spend an appropriate amount of time looking at alerts and, in many cases, would need to follow up with employees to confirm if they had indeed created the rules. If you’re a larger organization, your dedicated security person will likely have higher priority tasks, too.",{"data":193620,"content":193621,"nodeType":860},{},[193622],{"data":193623,"marks":193624,"value":193625,"nodeType":864},{},[],"Discovering a breach is usually related to someone noticing unrecognized payments, vendors querying a lack of payments, or phishing emails being sent to fellow employees or contacts outside of your organization. If an attacker is careful to avoid causing too much interruption, then it’s likely that you won’t discover the breach until all the damage has been done. Usually by this point, performing an investigation will reveal very little due to important investigation artifacts disappearing due to logs rolling over.",{"data":193627,"content":193628,"nodeType":860},{},[193629],{"data":193630,"marks":193631,"value":193632,"nodeType":864},{},[],"If you’re using Push, we would automatically detect the mail rule, talk to the employee whose email the mail rule was created within, and if they didn’t set the mail rule up themselves, we would assume it was created by an attacker and alert your security team. Push’s ChatOps will disable the offending rule and mark it as suspicious.",{"data":193634,"content":193638,"nodeType":996},{"target":193635},{"sys":193636},{"id":193637,"type":1001,"linkType":1002},"6rV4EiwTgmBsmYEaUvv55b",[],{"data":193640,"content":193641,"nodeType":860},{},[193642],{"data":193643,"marks":193644,"value":193645,"nodeType":864},{},[],"If this were a typical credential compromise scenario, the account’s password would be reset and everyone would go about their lives. However, since no credentials were compromised in our example, you’d go onto the next step to…",{"data":193647,"content":193648,"nodeType":1312},{},[193649],{"data":193650,"marks":193651,"value":193652,"nodeType":864},{},[],"Remove the app’s permissions and revoke the tokens",{"data":193654,"content":193655,"nodeType":860},{},[193656],{"data":193657,"marks":193658,"value":193659,"nodeType":864},{},[],"As I mentioned earlier, third-party integration apps generate tokens, which can be valid for an hour to sometimes 24 hours or more, depending on the integrating app, how it is being used, and if it makes use of refresh tokens.",{"data":193661,"content":193662,"nodeType":860},{},[193663],{"data":193664,"marks":193665,"value":193666,"nodeType":864},{},[],"Invalidating third-party integration access permissions requires accessing your cloud provider’s control panel. In this example, you need to revoke access for a malicious app in a Microsoft 365 tenant. Microsoft’s guidance on this is very useful, but unfortunately not as simple as just pressing a button.",{"data":193668,"content":193669,"nodeType":860},{},[193670,193674,193681],{"data":193671,"marks":193672,"value":193673,"nodeType":864},{},[],"To view Microsoft’s recommendations for dealing with a malicious app, you’d need to navigate to the ",{"data":193675,"content":193676,"nodeType":883},{"uri":138511},[193677],{"data":193678,"marks":193679,"value":138517,"nodeType":864},{},[193680],{"type":1455},{"data":193682,"marks":193683,"value":193684,"nodeType":864},{},[]," section in Azure, and locate the app by searching for its name or Application ID, which can be found in the Push app’s OAuth integrations page. In the app menu, click on ‘Permissions,’ then ‘Review permissions.’ ",{"data":193686,"content":193690,"nodeType":996},{"target":193687},{"sys":193688},{"id":193689,"type":1001,"linkType":1002},"5Z6T2anRIJ1he2phTbcFot",[],{"data":193692,"content":193693,"nodeType":860},{},[193694],{"data":193695,"marks":193696,"value":193697,"nodeType":864},{},[],"On the slide-out menu, select “This application is malicious and I’m compromised.”",{"data":193699,"content":193703,"nodeType":996},{"target":193700},{"sys":193701},{"id":193702,"type":1001,"linkType":1002},"2lGnKdKTjXAVYBiOtYrbEl",[],{"data":193705,"content":193706,"nodeType":860},{},[193707],{"data":193708,"marks":193709,"value":193710,"nodeType":864},{},[],"This will provide you with pre-generated PowerShell scripts to 1) Remove all users assigned to the application, 2) Revoke all permissions granted to the application, and 3) Revoke refresh tokens for all users.",{"data":193712,"content":193716,"nodeType":996},{"target":193713},{"sys":193714},{"id":193715,"type":1001,"linkType":1002},"3qdGQ12PdZFLEyIpmMkwPi",[],{"data":193718,"content":193719,"nodeType":1312},{},[193720],{"data":193721,"marks":193722,"value":193723,"nodeType":864},{},[],"How to prevent similar attacks",{"data":193725,"content":193726,"nodeType":860},{},[193727],{"data":193728,"marks":193729,"value":193730,"nodeType":864},{},[],"A very important step following a compromise is to review what happened, how it happened, and what could be done to prevent the incident from occurring again. The interesting part about this incident is that it wasn’t due to a weak password, or even the lack of MFA that led to compromise. It came down to social engineering: instructing an employee to click a link by an account masquerading as their CFO.",{"data":193732,"content":193733,"nodeType":860},{},[193734],{"data":193735,"marks":193736,"value":193737,"nodeType":864},{},[],"For the purposes of this hypothetical incident, we’ll establish that the following occurred:",{"data":193739,"content":193740,"nodeType":941},{},[193741,193751,193761,193771],{"data":193742,"content":193743,"nodeType":945},{},[193744],{"data":193745,"content":193746,"nodeType":860},{},[193747],{"data":193748,"marks":193749,"value":193750,"nodeType":864},{},[],"Andrew Jenkins was targeted in a phishing attack",{"data":193752,"content":193753,"nodeType":945},{},[193754],{"data":193755,"content":193756,"nodeType":860},{},[193757],{"data":193758,"marks":193759,"value":193760,"nodeType":864},{},[],"Andrew authenticated via Microsoft 365, which is a legitimate and expected authentication mechanism and occurs almost daily",{"data":193762,"content":193763,"nodeType":945},{},[193764],{"data":193765,"content":193766,"nodeType":860},{},[193767],{"data":193768,"marks":193769,"value":193770,"nodeType":864},{},[],"No attachments were downloaded, thus in this isolated incident there was no code execution on Andrew’s host, meaning that Anti-Virus or Endpoint Detection & Response (EDR) would not have prevented it",{"data":193772,"content":193773,"nodeType":945},{},[193774],{"data":193775,"content":193776,"nodeType":860},{},[193777],{"data":193778,"marks":193779,"value":193780,"nodeType":864},{},[],"The attacker gained full access to Andrew’s mailbox",{"data":193782,"content":193783,"nodeType":860},{},[193784],{"data":193785,"marks":193786,"value":193787,"nodeType":864},{},[],"The malicious app was disabled by Microsoft after some time, so a full investigation into its capabilities was not possible. We don’t know whether another phishing page was presented after the integration took place, thus to be on the safe side we need to assume this happened and led to credential compromise.",{"data":193789,"content":193790,"nodeType":860},{},[193791,193795,193804],{"data":193792,"marks":193793,"value":193794,"nodeType":864},{},[],"The app was unverified, which has historically been true in most of these scenarios. Publishers need to associate a Microsoft Partner Network (MPN) ID with the app, which follows a ",{"data":193796,"content":193798,"nodeType":883},{"uri":193797},"https://docs.microsoft.com/en-us/partner-center/verification-responses",[193799],{"data":193800,"marks":193801,"value":193803,"nodeType":864},{},[193802],{"type":1455},"verification process",{"data":193805,"marks":193806,"value":193807,"nodeType":864},{},[],", in order to have it appear as a verified app. This Microsoft 365 tenant was configured to allow unverified integrations due to an oversight following an app migration project.",{"data":193809,"content":193810,"nodeType":860},{},[193811],{"data":193812,"marks":193813,"value":193814,"nodeType":864},{},[],"This leads us to the following to help prevent similar attacks from occurring in future, and to make sure there is no opportunity for the attacker to leverage any existing foothold:",{"data":193816,"content":193817,"nodeType":941},{},[193818,193828,193838,193848,193869,193885,193895],{"data":193819,"content":193820,"nodeType":945},{},[193821],{"data":193822,"content":193823,"nodeType":860},{},[193824],{"data":193825,"marks":193826,"value":193827,"nodeType":864},{},[],"Disable the integration and remove the malicious app’s permissions",{"data":193829,"content":193830,"nodeType":945},{},[193831],{"data":193832,"content":193833,"nodeType":860},{},[193834],{"data":193835,"marks":193836,"value":193837,"nodeType":864},{},[],"Reset Andrew Jenkins’ credentials",{"data":193839,"content":193840,"nodeType":945},{},[193841],{"data":193842,"content":193843,"nodeType":860},{},[193844],{"data":193845,"marks":193846,"value":193847,"nodeType":864},{},[],"Be aware of and review newly created mail rules",{"data":193849,"content":193850,"nodeType":945},{},[193851],{"data":193852,"content":193853,"nodeType":860},{},[193854,193857,193866],{"data":193855,"marks":193856,"value":21,"nodeType":864},{},[],{"data":193858,"content":193860,"nodeType":883},{"uri":193859},"https://docs.microsoft.com/en-us/azure/active-directory/manage-apps/configure-user-consent?tabs=azure-portal",[193861],{"data":193862,"marks":193863,"value":193865,"nodeType":864},{},[193864],{"type":1455},"Confirm that the Microsoft 365 tenant is set to disallow integrations from unverified apps",{"data":193867,"marks":193868,"value":21,"nodeType":864},{},[],{"data":193870,"content":193871,"nodeType":945},{},[193872],{"data":193873,"content":193874,"nodeType":941},{},[193875],{"data":193876,"content":193877,"nodeType":945},{},[193878],{"data":193879,"content":193880,"nodeType":860},{},[193881],{"data":193882,"marks":193883,"value":193884,"nodeType":864},{},[],"Note: as of November 9th, 2020, integrations with unverified apps are disabled by default.",{"data":193886,"content":193887,"nodeType":945},{},[193888],{"data":193889,"content":193890,"nodeType":860},{},[193891],{"data":193892,"marks":193893,"value":193894,"nodeType":864},{},[],"Communicate with employees and other affected parties to be weary of these types of attacks",{"data":193896,"content":193897,"nodeType":945},{},[193898],{"data":193899,"content":193900,"nodeType":860},{},[193901],{"data":193902,"marks":193903,"value":193904,"nodeType":864},{},[],"Perform regular audits against your Microsoft 365 tenants to highlight any discrepancies and integrations with unusual or unnecessary permissions.",{"data":193906,"content":193907,"nodeType":860},{},[193908,193912,193921],{"data":193909,"marks":193910,"value":193911,"nodeType":864},{},[],"Microsoft implementing safe defaults towards limiting integrations from unverified publishers was a step in the right direction. However, there have been ",{"data":193913,"content":193915,"nodeType":883},{"uri":193914},"https://www.proofpoint.com/us/blog/cloud-security/oivavoii-active-malicious-hybrid-cloud-threats-campaign",[193916],{"data":193917,"marks":193918,"value":193920,"nodeType":864},{},[193919],{"type":1455},"cases",{"data":193922,"marks":193923,"value":193924,"nodeType":864},{},[]," where attackers utilized compromised publishers to perform similar attacks. ",{"data":193926,"content":193927,"nodeType":1312},{},[193928],{"data":193929,"marks":193930,"value":32492,"nodeType":864},{},[],{"data":193932,"content":193933,"nodeType":860},{},[193934],{"data":193935,"marks":193936,"value":193937,"nodeType":864},{},[],"While the process isn’t exactly straightforward, catching early indicators like malicious mail rules helps you prevent an attacker from launching additional attacks like phishing campaigns as they try to gain access to sensitive business data. Removing the mail rule is just the start of the process, you really need to revoke permissions and take the other steps we covered in this post to stop an attack from going any further. We’ll publish some more content on SaaS incident response on our blog, so subscribe to get our guidance straight into your inbox.",{"data":193939,"content":193943,"nodeType":996},{"target":193940},{"sys":193941},{"id":193942,"type":1001,"linkType":1002},"6oHRbGLus4bstsAc7E0zBD",[],{"data":193945,"content":193946,"nodeType":860},{},[193947],{"data":193948,"marks":193949,"value":21,"nodeType":864},{},[],"We'll walk through how to quickly detect and mitigate business email compromise (BEC) and then prevent future attacks.","2022-09-20T00:00:00.000Z",{"items":193953},[193954,193956],{"sys":193955,"name":342},{"id":6596},{"sys":193957,"name":297},{"id":2732},{"items":193959},[193960],{"fullName":73848,"firstName":73849,"jobTitle":73850,"profilePicture":193961},{"url":73852},{"__typename":2059,"sys":193963,"content":193964,"title":142583,"synopsis":157840,"hashTags":59,"publishedDate":157841,"slug":142584,"tagsCollection":194336,"authorsCollection":194340},{"id":142095},{"json":193965},{"data":193966,"content":193967,"nodeType":856},{},[193968,193974,193980,193986,193992,193998,194003,194009,194015,194021,194027,194032,194038,194043,194060,194066,194071,194088,194105,194120,194126,194132,194138,194144,194149,194154,194160,194166,194172,194178,194183,194189,194231,194236,194241,194257,194262,194268,194273,194279,194284,194290,194296,194301,194306,194312,194318,194324,194330],{"data":193969,"content":193970,"nodeType":860},{},[193971],{"data":193972,"marks":193973,"value":157419,"nodeType":864},{},[],{"data":193975,"content":193976,"nodeType":860},{},[193977],{"data":193978,"marks":193979,"value":157426,"nodeType":864},{},[],{"data":193981,"content":193982,"nodeType":1009},{},[193983],{"data":193984,"marks":193985,"value":157433,"nodeType":864},{},[],{"data":193987,"content":193988,"nodeType":860},{},[193989],{"data":193990,"marks":193991,"value":157440,"nodeType":864},{},[],{"data":193993,"content":193994,"nodeType":860},{},[193995],{"data":193996,"marks":193997,"value":157447,"nodeType":864},{},[],{"data":193999,"content":194002,"nodeType":996},{"target":194000},{"sys":194001},{"id":157452,"type":1001,"linkType":1002},[],{"data":194004,"content":194005,"nodeType":860},{},[194006],{"data":194007,"marks":194008,"value":157460,"nodeType":864},{},[],{"data":194010,"content":194011,"nodeType":860},{},[194012],{"data":194013,"marks":194014,"value":157467,"nodeType":864},{},[],{"data":194016,"content":194017,"nodeType":860},{},[194018],{"data":194019,"marks":194020,"value":157474,"nodeType":864},{},[],{"data":194022,"content":194023,"nodeType":1312},{},[194024],{"data":194025,"marks":194026,"value":157481,"nodeType":864},{},[],{"data":194028,"content":194031,"nodeType":996},{"target":194029},{"sys":194030},{"id":157486,"type":1001,"linkType":1002},[],{"data":194033,"content":194034,"nodeType":860},{},[194035],{"data":194036,"marks":194037,"value":157494,"nodeType":864},{},[],{"data":194039,"content":194042,"nodeType":996},{"target":194040},{"sys":194041},{"id":157499,"type":1001,"linkType":1002},[],{"data":194044,"content":194045,"nodeType":860},{},[194046,194049,194057],{"data":194047,"marks":194048,"value":157507,"nodeType":864},{},[],{"data":194050,"content":194053,"nodeType":27604},{"target":194051},{"sys":194052},{"id":157512,"type":1001,"linkType":1002},[194054],{"data":194055,"marks":194056,"value":73177,"nodeType":864},{},[],{"data":194058,"marks":194059,"value":2924,"nodeType":864},{},[],{"data":194061,"content":194062,"nodeType":1312},{},[194063],{"data":194064,"marks":194065,"value":157526,"nodeType":864},{},[],{"data":194067,"content":194070,"nodeType":996},{"target":194068},{"sys":194069},{"id":157531,"type":1001,"linkType":1002},[],{"data":194072,"content":194073,"nodeType":860},{},[194074,194077,194085],{"data":194075,"marks":194076,"value":157539,"nodeType":864},{},[],{"data":194078,"content":194081,"nodeType":27604},{"target":194079},{"sys":194080},{"id":137570,"type":1001,"linkType":1002},[194082],{"data":194083,"marks":194084,"value":73177,"nodeType":864},{},[],{"data":194086,"marks":194087,"value":12252,"nodeType":864},{},[],{"data":194089,"content":194090,"nodeType":860},{},[194091,194094,194102],{"data":194092,"marks":194093,"value":157557,"nodeType":864},{},[],{"data":194095,"content":194098,"nodeType":27604},{"target":194096},{"sys":194097},{"id":137501,"type":1001,"linkType":1002},[194099],{"data":194100,"marks":194101,"value":32228,"nodeType":864},{},[],{"data":194103,"marks":194104,"value":157569,"nodeType":864},{},[],{"data":194106,"content":194107,"nodeType":860},{},[194108,194111,194117],{"data":194109,"marks":194110,"value":157576,"nodeType":864},{},[],{"data":194112,"content":194113,"nodeType":883},{"uri":157579},[194114],{"data":194115,"marks":194116,"value":157584,"nodeType":864},{},[],{"data":194118,"marks":194119,"value":157588,"nodeType":864},{},[],{"data":194121,"content":194122,"nodeType":1312},{},[194123],{"data":194124,"marks":194125,"value":157595,"nodeType":864},{},[],{"data":194127,"content":194128,"nodeType":860},{},[194129],{"data":194130,"marks":194131,"value":157602,"nodeType":864},{},[],{"data":194133,"content":194134,"nodeType":860},{},[194135],{"data":194136,"marks":194137,"value":157609,"nodeType":864},{},[],{"data":194139,"content":194140,"nodeType":860},{},[194141],{"data":194142,"marks":194143,"value":157616,"nodeType":864},{},[],{"data":194145,"content":194148,"nodeType":996},{"target":194146},{"sys":194147},{"id":157621,"type":1001,"linkType":1002},[],{"data":194150,"content":194153,"nodeType":996},{"target":194151},{"sys":194152},{"id":157627,"type":1001,"linkType":1002},[],{"data":194155,"content":194156,"nodeType":1312},{},[194157],{"data":194158,"marks":194159,"value":157635,"nodeType":864},{},[],{"data":194161,"content":194162,"nodeType":860},{},[194163],{"data":194164,"marks":194165,"value":157642,"nodeType":864},{},[],{"data":194167,"content":194168,"nodeType":860},{},[194169],{"data":194170,"marks":194171,"value":157649,"nodeType":864},{},[],{"data":194173,"content":194174,"nodeType":860},{},[194175],{"data":194176,"marks":194177,"value":157656,"nodeType":864},{},[],{"data":194179,"content":194182,"nodeType":996},{"target":194180},{"sys":194181},{"id":157661,"type":1001,"linkType":1002},[],{"data":194184,"content":194185,"nodeType":860},{},[194186],{"data":194187,"marks":194188,"value":157669,"nodeType":864},{},[],{"data":194190,"content":194191,"nodeType":941},{},[194192,194205,194218],{"data":194193,"content":194194,"nodeType":945},{},[194195],{"data":194196,"content":194197,"nodeType":860},{},[194198,194202],{"data":194199,"marks":194200,"value":157683,"nodeType":864},{},[194201],{"type":899},{"data":194203,"marks":194204,"value":157687,"nodeType":864},{},[],{"data":194206,"content":194207,"nodeType":945},{},[194208],{"data":194209,"content":194210,"nodeType":860},{},[194211,194215],{"data":194212,"marks":194213,"value":157698,"nodeType":864},{},[194214],{"type":899},{"data":194216,"marks":194217,"value":157702,"nodeType":864},{},[],{"data":194219,"content":194220,"nodeType":945},{},[194221],{"data":194222,"content":194223,"nodeType":860},{},[194224,194228],{"data":194225,"marks":194226,"value":157713,"nodeType":864},{},[194227],{"type":899},{"data":194229,"marks":194230,"value":157717,"nodeType":864},{},[],{"data":194232,"content":194235,"nodeType":996},{"target":194233},{"sys":194234},{"id":157722,"type":1001,"linkType":1002},[],{"data":194237,"content":194240,"nodeType":996},{"target":194238},{"sys":194239},{"id":157728,"type":1001,"linkType":1002},[],{"data":194242,"content":194243,"nodeType":941},{},[194244],{"data":194245,"content":194246,"nodeType":945},{},[194247],{"data":194248,"content":194249,"nodeType":860},{},[194250,194254],{"data":194251,"marks":194252,"value":157743,"nodeType":864},{},[194253],{"type":899},{"data":194255,"marks":194256,"value":157747,"nodeType":864},{},[],{"data":194258,"content":194261,"nodeType":996},{"target":194259},{"sys":194260},{"id":157752,"type":1001,"linkType":1002},[],{"data":194263,"content":194264,"nodeType":860},{},[194265],{"data":194266,"marks":194267,"value":157760,"nodeType":864},{},[],{"data":194269,"content":194272,"nodeType":996},{"target":194270},{"sys":194271},{"id":157765,"type":1001,"linkType":1002},[],{"data":194274,"content":194275,"nodeType":1312},{},[194276],{"data":194277,"marks":194278,"value":157773,"nodeType":864},{},[],{"data":194280,"content":194283,"nodeType":996},{"target":194281},{"sys":194282},{"id":157778,"type":1001,"linkType":1002},[],{"data":194285,"content":194286,"nodeType":860},{},[194287],{"data":194288,"marks":194289,"value":157786,"nodeType":864},{},[],{"data":194291,"content":194292,"nodeType":860},{},[194293],{"data":194294,"marks":194295,"value":157793,"nodeType":864},{},[],{"data":194297,"content":194300,"nodeType":996},{"target":194298},{"sys":194299},{"id":157798,"type":1001,"linkType":1002},[],{"data":194302,"content":194305,"nodeType":996},{"target":194303},{"sys":194304},{"id":157804,"type":1001,"linkType":1002},[],{"data":194307,"content":194308,"nodeType":1312},{},[194309],{"data":194310,"marks":194311,"value":32492,"nodeType":864},{},[],{"data":194313,"content":194314,"nodeType":860},{},[194315],{"data":194316,"marks":194317,"value":157818,"nodeType":864},{},[],{"data":194319,"content":194320,"nodeType":860},{},[194321],{"data":194322,"marks":194323,"value":157825,"nodeType":864},{},[],{"data":194325,"content":194326,"nodeType":860},{},[194327],{"data":194328,"marks":194329,"value":157832,"nodeType":864},{},[],{"data":194331,"content":194332,"nodeType":860},{},[194333],{"data":194334,"marks":194335,"value":157839,"nodeType":864},{},[],{"items":194337},[194338],{"sys":194339,"name":6593},{"id":6592},{"items":194341},[194342],{"fullName":4949,"firstName":4950,"jobTitle":4951,"profilePicture":194343},{"url":4955},"blog/an-investigation-guide-for-assessing-app-to-app-oauth-integration-risk",{"json":194346},{"data":194347,"content":194348,"nodeType":856},{},[194349],{"data":194350,"content":194351,"nodeType":860},{},[194352],{"data":194353,"marks":194354,"value":160238,"nodeType":864},{},[],{"id":159779,"publishedAt":194356},"2026-08-13T09:35:28.767Z",{"items":194358},[194359,194361],{"sys":194360,"name":342},{"id":6596},{"sys":194362,"name":2729},{"id":2728},{"items":194364},[194365,194367,194369,194371,194373],{"sys":194366,"name":545,"slug":546,"tier":31},{"id":542},{"sys":194368,"name":413,"slug":414,"tier":31},{"id":410},{"sys":194370,"name":342,"slug":343,"tier":31},{"id":339},{"sys":194372,"name":484,"slug":485,"tier":45},{"id":481},{"sys":194374,"name":633,"slug":634,"tier":45},{"id":630},"Mr1fJqICCvqSS2f8IBGRybmHDheVrd-O_pwsQURpZOs",{"id":194377,"title":138765,"authorsCollection":194378,"content":194382,"extension":228,"faqItemsCollection":195596,"faqTitle":59,"featured":6,"hashTags":59,"meta":195598,"metaTitle":195599,"ogImage":59,"postType":5740,"publishedDate":138766,"relatedBlogPostsCollection":195600,"slug":138767,"stem":196179,"subtitle":59,"summary":196180,"synopsis":137476,"sys":196191,"tagsCollection":196193,"topicsCollection":196199,"__hash__":196213},"blog/blog/how-attackers-compromise-azure-organizations-through-saas-apps.json",{"items":194379},[194380],{"fullName":73848,"firstName":73849,"jobTitle":73850,"socialLinks":59,"profilePicture":194381},{"url":73852},{"json":194383,"links":195510},{"data":194384,"content":194385,"nodeType":856},{},[194386,194392,194398,194404,194410,194428,194434,194439,194445,194451,194457,194485,194490,194496,194604,194610,194616,194850,194856,194862,194868,194894,194900,194906,194911,194917,194922,194928,194934,194940,194946,194952,194958,194964,194970,194975,194981,194994,195000,195006,195032,195038,195054,195060,195066,195072,195078,195109,195125,195173,195179,195185,195201,195217,195223,195249,195255,195261,195267,195273,195279,195285,195291,195307,195312,195318,195333,195339,195345,195350,195356,195362,195367,195373,195409,195415,195420,195426,195431,195437,195443,195469,195475,195481,195487,195493,195499,195504],{"data":194387,"content":194388,"nodeType":860},{},[194389],{"data":194390,"marks":194391,"value":137469,"nodeType":864},{},[],{"data":194393,"content":194394,"nodeType":860},{},[194395],{"data":194396,"marks":194397,"value":137476,"nodeType":864},{},[],{"data":194399,"content":194400,"nodeType":1009},{},[194401],{"data":194402,"marks":194403,"value":40403,"nodeType":864},{},[],{"data":194405,"content":194406,"nodeType":1312},{},[194407],{"data":194408,"marks":194409,"value":137489,"nodeType":864},{},[],{"data":194411,"content":194412,"nodeType":860},{},[194413,194416,194425],{"data":194414,"marks":194415,"value":137496,"nodeType":864},{},[],{"data":194417,"content":194420,"nodeType":27604},{"target":194418},{"sys":194419},{"id":137501,"type":1001,"linkType":1002},[194421],{"data":194422,"marks":194423,"value":137507,"nodeType":864},{},[194424],{"type":1455},{"data":194426,"marks":194427,"value":137511,"nodeType":864},{},[],{"data":194429,"content":194430,"nodeType":860},{},[194431],{"data":194432,"marks":194433,"value":137518,"nodeType":864},{},[],{"data":194435,"content":194438,"nodeType":996},{"target":194436},{"sys":194437},{"id":137523,"type":1001,"linkType":1002},[],{"data":194440,"content":194441,"nodeType":1312},{},[194442],{"data":194443,"marks":194444,"value":137531,"nodeType":864},{},[],{"data":194446,"content":194447,"nodeType":860},{},[194448],{"data":194449,"marks":194450,"value":137538,"nodeType":864},{},[],{"data":194452,"content":194453,"nodeType":860},{},[194454],{"data":194455,"marks":194456,"value":137545,"nodeType":864},{},[],{"data":194458,"content":194459,"nodeType":860},{},[194460,194463,194470,194473,194482],{"data":194461,"marks":194462,"value":137552,"nodeType":864},{},[],{"data":194464,"content":194465,"nodeType":883},{"uri":137555},[194466],{"data":194467,"marks":194468,"value":137561,"nodeType":864},{},[194469],{"type":1455},{"data":194471,"marks":194472,"value":137565,"nodeType":864},{},[],{"data":194474,"content":194477,"nodeType":27604},{"target":194475},{"sys":194476},{"id":137570,"type":1001,"linkType":1002},[194478],{"data":194479,"marks":194480,"value":137576,"nodeType":864},{},[194481],{"type":1455},{"data":194483,"marks":194484,"value":137580,"nodeType":864},{},[],{"data":194486,"content":194489,"nodeType":996},{"target":194487},{"sys":194488},{"id":137585,"type":1001,"linkType":1002},[],{"data":194491,"content":194492,"nodeType":860},{},[194493],{"data":194494,"marks":194495,"value":137593,"nodeType":864},{},[],{"data":194497,"content":194498,"nodeType":4845},{},[194499,194520,194541,194562,194583],{"data":194500,"content":194501,"nodeType":4581},{},[194502,194511],{"data":194503,"content":194504,"nodeType":4569},{},[194505],{"data":194506,"content":194507,"nodeType":860},{},[194508],{"data":194509,"marks":194510,"value":137609,"nodeType":864},{},[],{"data":194512,"content":194513,"nodeType":4569},{},[194514],{"data":194515,"content":194516,"nodeType":860},{},[194517],{"data":194518,"marks":194519,"value":137619,"nodeType":864},{},[],{"data":194521,"content":194522,"nodeType":4581},{},[194523,194532],{"data":194524,"content":194525,"nodeType":4569},{},[194526],{"data":194527,"content":194528,"nodeType":860},{},[194529],{"data":194530,"marks":194531,"value":137632,"nodeType":864},{},[],{"data":194533,"content":194534,"nodeType":4569},{},[194535],{"data":194536,"content":194537,"nodeType":860},{},[194538],{"data":194539,"marks":194540,"value":137642,"nodeType":864},{},[],{"data":194542,"content":194543,"nodeType":4581},{},[194544,194553],{"data":194545,"content":194546,"nodeType":4569},{},[194547],{"data":194548,"content":194549,"nodeType":860},{},[194550],{"data":194551,"marks":194552,"value":137655,"nodeType":864},{},[],{"data":194554,"content":194555,"nodeType":4569},{},[194556],{"data":194557,"content":194558,"nodeType":860},{},[194559],{"data":194560,"marks":194561,"value":137665,"nodeType":864},{},[],{"data":194563,"content":194564,"nodeType":4581},{},[194565,194574],{"data":194566,"content":194567,"nodeType":4569},{},[194568],{"data":194569,"content":194570,"nodeType":860},{},[194571],{"data":194572,"marks":194573,"value":137678,"nodeType":864},{},[],{"data":194575,"content":194576,"nodeType":4569},{},[194577],{"data":194578,"content":194579,"nodeType":860},{},[194580],{"data":194581,"marks":194582,"value":137688,"nodeType":864},{},[],{"data":194584,"content":194585,"nodeType":4581},{},[194586,194595],{"data":194587,"content":194588,"nodeType":4569},{},[194589],{"data":194590,"content":194591,"nodeType":860},{},[194592],{"data":194593,"marks":194594,"value":137701,"nodeType":864},{},[],{"data":194596,"content":194597,"nodeType":4569},{},[194598],{"data":194599,"content":194600,"nodeType":860},{},[194601],{"data":194602,"marks":194603,"value":137711,"nodeType":864},{},[],{"data":194605,"content":194606,"nodeType":860},{},[194607],{"data":194608,"marks":194609,"value":137718,"nodeType":864},{},[],{"data":194611,"content":194612,"nodeType":860},{},[194613],{"data":194614,"marks":194615,"value":137725,"nodeType":864},{},[],{"data":194617,"content":194618,"nodeType":4845},{},[194619,194640,194661,194682,194703,194724,194745,194766,194787,194808,194829],{"data":194620,"content":194621,"nodeType":4581},{},[194622,194631],{"data":194623,"content":194624,"nodeType":4569},{},[194625],{"data":194626,"content":194627,"nodeType":860},{},[194628],{"data":194629,"marks":194630,"value":137741,"nodeType":864},{},[],{"data":194632,"content":194633,"nodeType":4569},{},[194634],{"data":194635,"content":194636,"nodeType":860},{},[194637],{"data":194638,"marks":194639,"value":137751,"nodeType":864},{},[],{"data":194641,"content":194642,"nodeType":4581},{},[194643,194652],{"data":194644,"content":194645,"nodeType":4569},{},[194646],{"data":194647,"content":194648,"nodeType":860},{},[194649],{"data":194650,"marks":194651,"value":137764,"nodeType":864},{},[],{"data":194653,"content":194654,"nodeType":4569},{},[194655],{"data":194656,"content":194657,"nodeType":860},{},[194658],{"data":194659,"marks":194660,"value":137774,"nodeType":864},{},[],{"data":194662,"content":194663,"nodeType":4581},{},[194664,194673],{"data":194665,"content":194666,"nodeType":4569},{},[194667],{"data":194668,"content":194669,"nodeType":860},{},[194670],{"data":194671,"marks":194672,"value":137787,"nodeType":864},{},[],{"data":194674,"content":194675,"nodeType":4569},{},[194676],{"data":194677,"content":194678,"nodeType":860},{},[194679],{"data":194680,"marks":194681,"value":137797,"nodeType":864},{},[],{"data":194683,"content":194684,"nodeType":4581},{},[194685,194694],{"data":194686,"content":194687,"nodeType":4569},{},[194688],{"data":194689,"content":194690,"nodeType":860},{},[194691],{"data":194692,"marks":194693,"value":137810,"nodeType":864},{},[],{"data":194695,"content":194696,"nodeType":4569},{},[194697],{"data":194698,"content":194699,"nodeType":860},{},[194700],{"data":194701,"marks":194702,"value":137820,"nodeType":864},{},[],{"data":194704,"content":194705,"nodeType":4581},{},[194706,194715],{"data":194707,"content":194708,"nodeType":4569},{},[194709],{"data":194710,"content":194711,"nodeType":860},{},[194712],{"data":194713,"marks":194714,"value":137833,"nodeType":864},{},[],{"data":194716,"content":194717,"nodeType":4569},{},[194718],{"data":194719,"content":194720,"nodeType":860},{},[194721],{"data":194722,"marks":194723,"value":137843,"nodeType":864},{},[],{"data":194725,"content":194726,"nodeType":4581},{},[194727,194736],{"data":194728,"content":194729,"nodeType":4569},{},[194730],{"data":194731,"content":194732,"nodeType":860},{},[194733],{"data":194734,"marks":194735,"value":137856,"nodeType":864},{},[],{"data":194737,"content":194738,"nodeType":4569},{},[194739],{"data":194740,"content":194741,"nodeType":860},{},[194742],{"data":194743,"marks":194744,"value":137866,"nodeType":864},{},[],{"data":194746,"content":194747,"nodeType":4581},{},[194748,194757],{"data":194749,"content":194750,"nodeType":4569},{},[194751],{"data":194752,"content":194753,"nodeType":860},{},[194754],{"data":194755,"marks":194756,"value":137879,"nodeType":864},{},[],{"data":194758,"content":194759,"nodeType":4569},{},[194760],{"data":194761,"content":194762,"nodeType":860},{},[194763],{"data":194764,"marks":194765,"value":137889,"nodeType":864},{},[],{"data":194767,"content":194768,"nodeType":4581},{},[194769,194778],{"data":194770,"content":194771,"nodeType":4569},{},[194772],{"data":194773,"content":194774,"nodeType":860},{},[194775],{"data":194776,"marks":194777,"value":137902,"nodeType":864},{},[],{"data":194779,"content":194780,"nodeType":4569},{},[194781],{"data":194782,"content":194783,"nodeType":860},{},[194784],{"data":194785,"marks":194786,"value":137912,"nodeType":864},{},[],{"data":194788,"content":194789,"nodeType":4581},{},[194790,194799],{"data":194791,"content":194792,"nodeType":4569},{},[194793],{"data":194794,"content":194795,"nodeType":860},{},[194796],{"data":194797,"marks":194798,"value":137925,"nodeType":864},{},[],{"data":194800,"content":194801,"nodeType":4569},{},[194802],{"data":194803,"content":194804,"nodeType":860},{},[194805],{"data":194806,"marks":194807,"value":137935,"nodeType":864},{},[],{"data":194809,"content":194810,"nodeType":4581},{},[194811,194820],{"data":194812,"content":194813,"nodeType":4569},{},[194814],{"data":194815,"content":194816,"nodeType":860},{},[194817],{"data":194818,"marks":194819,"value":137948,"nodeType":864},{},[],{"data":194821,"content":194822,"nodeType":4569},{},[194823],{"data":194824,"content":194825,"nodeType":860},{},[194826],{"data":194827,"marks":194828,"value":137958,"nodeType":864},{},[],{"data":194830,"content":194831,"nodeType":4581},{},[194832,194841],{"data":194833,"content":194834,"nodeType":4569},{},[194835],{"data":194836,"content":194837,"nodeType":860},{},[194838],{"data":194839,"marks":194840,"value":137971,"nodeType":864},{},[],{"data":194842,"content":194843,"nodeType":4569},{},[194844],{"data":194845,"content":194846,"nodeType":860},{},[194847],{"data":194848,"marks":194849,"value":137981,"nodeType":864},{},[],{"data":194851,"content":194852,"nodeType":860},{},[194853],{"data":194854,"marks":194855,"value":137988,"nodeType":864},{},[],{"data":194857,"content":194858,"nodeType":1009},{},[194859],{"data":194860,"marks":194861,"value":137995,"nodeType":864},{},[],{"data":194863,"content":194864,"nodeType":1312},{},[194865],{"data":194866,"marks":194867,"value":137489,"nodeType":864},{},[],{"data":194869,"content":194870,"nodeType":860},{},[194871,194874,194881,194884,194891],{"data":194872,"marks":194873,"value":138008,"nodeType":864},{},[],{"data":194875,"content":194876,"nodeType":883},{"uri":138011},[194877],{"data":194878,"marks":194879,"value":138017,"nodeType":864},{},[194880],{"type":1455},{"data":194882,"marks":194883,"value":138021,"nodeType":864},{},[],{"data":194885,"content":194886,"nodeType":883},{"uri":138024},[194887],{"data":194888,"marks":194889,"value":138030,"nodeType":864},{},[194890],{"type":1455},{"data":194892,"marks":194893,"value":138034,"nodeType":864},{},[],{"data":194895,"content":194896,"nodeType":860},{},[194897],{"data":194898,"marks":194899,"value":138041,"nodeType":864},{},[],{"data":194901,"content":194902,"nodeType":860},{},[194903],{"data":194904,"marks":194905,"value":138048,"nodeType":864},{},[],{"data":194907,"content":194910,"nodeType":996},{"target":194908},{"sys":194909},{"id":138053,"type":1001,"linkType":1002},[],{"data":194912,"content":194913,"nodeType":860},{},[194914],{"data":194915,"marks":194916,"value":138061,"nodeType":864},{},[],{"data":194918,"content":194921,"nodeType":996},{"target":194919},{"sys":194920},{"id":138066,"type":1001,"linkType":1002},[],{"data":194923,"content":194924,"nodeType":860},{},[194925],{"data":194926,"marks":194927,"value":138074,"nodeType":864},{},[],{"data":194929,"content":194930,"nodeType":860},{},[194931],{"data":194932,"marks":194933,"value":138081,"nodeType":864},{},[],{"data":194935,"content":194936,"nodeType":1312},{},[194937],{"data":194938,"marks":194939,"value":137531,"nodeType":864},{},[],{"data":194941,"content":194942,"nodeType":860},{},[194943],{"data":194944,"marks":194945,"value":138094,"nodeType":864},{},[],{"data":194947,"content":194948,"nodeType":1009},{},[194949],{"data":194950,"marks":194951,"value":138101,"nodeType":864},{},[],{"data":194953,"content":194954,"nodeType":1312},{},[194955],{"data":194956,"marks":194957,"value":137489,"nodeType":864},{},[],{"data":194959,"content":194960,"nodeType":860},{},[194961],{"data":194962,"marks":194963,"value":138114,"nodeType":864},{},[],{"data":194965,"content":194966,"nodeType":860},{},[194967],{"data":194968,"marks":194969,"value":138121,"nodeType":864},{},[],{"data":194971,"content":194974,"nodeType":996},{"target":194972},{"sys":194973},{"id":138126,"type":1001,"linkType":1002},[],{"data":194976,"content":194977,"nodeType":860},{},[194978],{"data":194979,"marks":194980,"value":138134,"nodeType":864},{},[],{"data":194982,"content":194983,"nodeType":860},{},[194984,194987,194991],{"data":194985,"marks":194986,"value":138141,"nodeType":864},{},[],{"data":194988,"marks":194989,"value":138146,"nodeType":864},{},[194990],{"type":2246},{"data":194992,"marks":194993,"value":138150,"nodeType":864},{},[],{"data":194995,"content":194996,"nodeType":1312},{},[194997],{"data":194998,"marks":194999,"value":137531,"nodeType":864},{},[],{"data":195001,"content":195002,"nodeType":860},{},[195003],{"data":195004,"marks":195005,"value":138163,"nodeType":864},{},[],{"data":195007,"content":195008,"nodeType":860},{},[195009,195012,195019,195022,195029],{"data":195010,"marks":195011,"value":138170,"nodeType":864},{},[],{"data":195013,"content":195014,"nodeType":883},{"uri":138173},[195015],{"data":195016,"marks":195017,"value":79166,"nodeType":864},{},[195018],{"type":1455},{"data":195020,"marks":195021,"value":138182,"nodeType":864},{},[],{"data":195023,"content":195024,"nodeType":883},{"uri":138185},[195025],{"data":195026,"marks":195027,"value":138191,"nodeType":864},{},[195028],{"type":1455},{"data":195030,"marks":195031,"value":138195,"nodeType":864},{},[],{"data":195033,"content":195034,"nodeType":860},{},[195035],{"data":195036,"marks":195037,"value":138202,"nodeType":864},{},[],{"data":195039,"content":195040,"nodeType":860},{},[195041,195044,195051],{"data":195042,"marks":195043,"value":138209,"nodeType":864},{},[],{"data":195045,"content":195046,"nodeType":883},{"uri":138212},[195047],{"data":195048,"marks":195049,"value":138218,"nodeType":864},{},[195050],{"type":1455},{"data":195052,"marks":195053,"value":138222,"nodeType":864},{},[],{"data":195055,"content":195056,"nodeType":860},{},[195057],{"data":195058,"marks":195059,"value":138229,"nodeType":864},{},[],{"data":195061,"content":195062,"nodeType":860},{},[195063],{"data":195064,"marks":195065,"value":138236,"nodeType":864},{},[],{"data":195067,"content":195068,"nodeType":1009},{},[195069],{"data":195070,"marks":195071,"value":138243,"nodeType":864},{},[],{"data":195073,"content":195074,"nodeType":1312},{},[195075],{"data":195076,"marks":195077,"value":137489,"nodeType":864},{},[],{"data":195079,"content":195080,"nodeType":860},{},[195081,195085,195093,195097,195105],{"data":195082,"marks":195083,"value":138257,"nodeType":864},{},[195084],{"type":2246},{"data":195086,"content":195087,"nodeType":883},{"uri":138260},[195088],{"data":195089,"marks":195090,"value":138267,"nodeType":864},{},[195091,195092],{"type":1455},{"type":2246},{"data":195094,"marks":195095,"value":138272,"nodeType":864},{},[195096],{"type":2246},{"data":195098,"content":195099,"nodeType":883},{"uri":138275},[195100],{"data":195101,"marks":195102,"value":138282,"nodeType":864},{},[195103,195104],{"type":1455},{"type":2246},{"data":195106,"marks":195107,"value":138287,"nodeType":864},{},[195108],{"type":2246},{"data":195110,"content":195111,"nodeType":860},{},[195112,195115,195122],{"data":195113,"marks":195114,"value":138294,"nodeType":864},{},[],{"data":195116,"content":195117,"nodeType":883},{"uri":138297},[195118],{"data":195119,"marks":195120,"value":138303,"nodeType":864},{},[195121],{"type":1455},{"data":195123,"marks":195124,"value":138307,"nodeType":864},{},[],{"data":195126,"content":195127,"nodeType":118765},{},[195128,195137,195146,195155,195164],{"data":195129,"content":195130,"nodeType":945},{},[195131],{"data":195132,"content":195133,"nodeType":860},{},[195134],{"data":195135,"marks":195136,"value":138320,"nodeType":864},{},[],{"data":195138,"content":195139,"nodeType":945},{},[195140],{"data":195141,"content":195142,"nodeType":860},{},[195143],{"data":195144,"marks":195145,"value":138330,"nodeType":864},{},[],{"data":195147,"content":195148,"nodeType":945},{},[195149],{"data":195150,"content":195151,"nodeType":860},{},[195152],{"data":195153,"marks":195154,"value":138340,"nodeType":864},{},[],{"data":195156,"content":195157,"nodeType":945},{},[195158],{"data":195159,"content":195160,"nodeType":860},{},[195161],{"data":195162,"marks":195163,"value":138350,"nodeType":864},{},[],{"data":195165,"content":195166,"nodeType":945},{},[195167],{"data":195168,"content":195169,"nodeType":860},{},[195170],{"data":195171,"marks":195172,"value":138360,"nodeType":864},{},[],{"data":195174,"content":195175,"nodeType":860},{},[195176],{"data":195177,"marks":195178,"value":138367,"nodeType":864},{},[],{"data":195180,"content":195181,"nodeType":860},{},[195182],{"data":195183,"marks":195184,"value":138374,"nodeType":864},{},[],{"data":195186,"content":195187,"nodeType":860},{},[195188,195191,195198],{"data":195189,"marks":195190,"value":138381,"nodeType":864},{},[],{"data":195192,"content":195193,"nodeType":883},{"uri":138384},[195194],{"data":195195,"marks":195196,"value":138390,"nodeType":864},{},[195197],{"type":1455},{"data":195199,"marks":195200,"value":138394,"nodeType":864},{},[],{"data":195202,"content":195203,"nodeType":860},{},[195204,195207,195214],{"data":195205,"marks":195206,"value":138401,"nodeType":864},{},[],{"data":195208,"content":195209,"nodeType":883},{"uri":138297},[195210],{"data":195211,"marks":195212,"value":138409,"nodeType":864},{},[195213],{"type":1455},{"data":195215,"marks":195216,"value":138413,"nodeType":864},{},[],{"data":195218,"content":195219,"nodeType":860},{},[195220],{"data":195221,"marks":195222,"value":138420,"nodeType":864},{},[],{"data":195224,"content":195225,"nodeType":860},{},[195226,195229,195236,195239,195246],{"data":195227,"marks":195228,"value":138427,"nodeType":864},{},[],{"data":195230,"content":195231,"nodeType":883},{"uri":138430},[195232],{"data":195233,"marks":195234,"value":138436,"nodeType":864},{},[195235],{"type":1455},{"data":195237,"marks":195238,"value":138440,"nodeType":864},{},[],{"data":195240,"content":195241,"nodeType":883},{"uri":138443},[195242],{"data":195243,"marks":195244,"value":138449,"nodeType":864},{},[195245],{"type":1455},{"data":195247,"marks":195248,"value":138453,"nodeType":864},{},[],{"data":195250,"content":195251,"nodeType":1312},{},[195252],{"data":195253,"marks":195254,"value":137531,"nodeType":864},{},[],{"data":195256,"content":195257,"nodeType":860},{},[195258],{"data":195259,"marks":195260,"value":138466,"nodeType":864},{},[],{"data":195262,"content":195263,"nodeType":860},{},[195264],{"data":195265,"marks":195266,"value":138473,"nodeType":864},{},[],{"data":195268,"content":195269,"nodeType":860},{},[195270],{"data":195271,"marks":195272,"value":138480,"nodeType":864},{},[],{"data":195274,"content":195275,"nodeType":1009},{},[195276],{"data":195277,"marks":195278,"value":138487,"nodeType":864},{},[],{"data":195280,"content":195281,"nodeType":860},{},[195282],{"data":195283,"marks":195284,"value":138494,"nodeType":864},{},[],{"data":195286,"content":195287,"nodeType":1312},{},[195288],{"data":195289,"marks":195290,"value":138501,"nodeType":864},{},[],{"data":195292,"content":195293,"nodeType":860},{},[195294,195297,195304],{"data":195295,"marks":195296,"value":138508,"nodeType":864},{},[],{"data":195298,"content":195299,"nodeType":883},{"uri":138511},[195300],{"data":195301,"marks":195302,"value":138517,"nodeType":864},{},[195303],{"type":1455},{"data":195305,"marks":195306,"value":138521,"nodeType":864},{},[],{"data":195308,"content":195311,"nodeType":996},{"target":195309},{"sys":195310},{"id":138526,"type":1001,"linkType":1002},[],{"data":195313,"content":195314,"nodeType":860},{},[195315],{"data":195316,"marks":195317,"value":138534,"nodeType":864},{},[],{"data":195319,"content":195320,"nodeType":860},{},[195321,195324,195330],{"data":195322,"marks":195323,"value":138541,"nodeType":864},{},[],{"data":195325,"content":195326,"nodeType":883},{"uri":138544},[195327],{"data":195328,"marks":195329,"value":138549,"nodeType":864},{},[],{"data":195331,"marks":195332,"value":138553,"nodeType":864},{},[],{"data":195334,"content":195335,"nodeType":1312},{},[195336],{"data":195337,"marks":195338,"value":138560,"nodeType":864},{},[],{"data":195340,"content":195341,"nodeType":860},{},[195342],{"data":195343,"marks":195344,"value":138567,"nodeType":864},{},[],{"data":195346,"content":195349,"nodeType":996},{"target":195347},{"sys":195348},{"id":138572,"type":1001,"linkType":1002},[],{"data":195351,"content":195352,"nodeType":1312},{},[195353],{"data":195354,"marks":195355,"value":138580,"nodeType":864},{},[],{"data":195357,"content":195358,"nodeType":860},{},[195359],{"data":195360,"marks":195361,"value":138587,"nodeType":864},{},[],{"data":195363,"content":195366,"nodeType":996},{"target":195364},{"sys":195365},{"id":138592,"type":1001,"linkType":1002},[],{"data":195368,"content":195369,"nodeType":1312},{},[195370],{"data":195371,"marks":195372,"value":138600,"nodeType":864},{},[],{"data":195374,"content":195375,"nodeType":860},{},[195376,195379,195386,195389,195396,195399,195406],{"data":195377,"marks":195378,"value":138607,"nodeType":864},{},[],{"data":195380,"content":195381,"nodeType":883},{"uri":138610},[195382],{"data":195383,"marks":195384,"value":138616,"nodeType":864},{},[195385],{"type":1455},{"data":195387,"marks":195388,"value":138620,"nodeType":864},{},[],{"data":195390,"content":195391,"nodeType":883},{"uri":138623},[195392],{"data":195393,"marks":195394,"value":138629,"nodeType":864},{},[195395],{"type":1455},{"data":195397,"marks":195398,"value":138633,"nodeType":864},{},[],{"data":195400,"content":195401,"nodeType":883},{"uri":138636},[195402],{"data":195403,"marks":195404,"value":138642,"nodeType":864},{},[195405],{"type":1455},{"data":195407,"marks":195408,"value":138646,"nodeType":864},{},[],{"data":195410,"content":195411,"nodeType":860},{},[195412],{"data":195413,"marks":195414,"value":138653,"nodeType":864},{},[],{"data":195416,"content":195419,"nodeType":996},{"target":195417},{"sys":195418},{"id":138658,"type":1001,"linkType":1002},[],{"data":195421,"content":195422,"nodeType":860},{},[195423],{"data":195424,"marks":195425,"value":138666,"nodeType":864},{},[],{"data":195427,"content":195430,"nodeType":996},{"target":195428},{"sys":195429},{"id":138671,"type":1001,"linkType":1002},[],{"data":195432,"content":195433,"nodeType":1312},{},[195434],{"data":195435,"marks":195436,"value":138679,"nodeType":864},{},[],{"data":195438,"content":195439,"nodeType":860},{},[195440],{"data":195441,"marks":195442,"value":138686,"nodeType":864},{},[],{"data":195444,"content":195445,"nodeType":860},{},[195446,195449,195456,195459,195466],{"data":195447,"marks":195448,"value":138693,"nodeType":864},{},[],{"data":195450,"content":195451,"nodeType":883},{"uri":138696},[195452],{"data":195453,"marks":195454,"value":138702,"nodeType":864},{},[195455],{"type":1455},{"data":195457,"marks":195458,"value":138706,"nodeType":864},{},[],{"data":195460,"content":195461,"nodeType":883},{"uri":138709},[195462],{"data":195463,"marks":195464,"value":138715,"nodeType":864},{},[195465],{"type":1455},{"data":195467,"marks":195468,"value":138719,"nodeType":864},{},[],{"data":195470,"content":195471,"nodeType":1009},{},[195472],{"data":195473,"marks":195474,"value":32492,"nodeType":864},{},[],{"data":195476,"content":195477,"nodeType":860},{},[195478],{"data":195479,"marks":195480,"value":138732,"nodeType":864},{},[],{"data":195482,"content":195483,"nodeType":860},{},[195484],{"data":195485,"marks":195486,"value":138739,"nodeType":864},{},[],{"data":195488,"content":195489,"nodeType":860},{},[195490],{"data":195491,"marks":195492,"value":138746,"nodeType":864},{},[],{"data":195494,"content":195495,"nodeType":860},{},[195496],{"data":195497,"marks":195498,"value":138753,"nodeType":864},{},[],{"data":195500,"content":195503,"nodeType":996},{"target":195501},{"sys":195502},{"id":102281,"type":1001,"linkType":1002},[],{"data":195505,"content":195506,"nodeType":860},{},[195507],{"data":195508,"marks":195509,"value":21,"nodeType":864},{},[],{"entries":195511},{"inline":195512,"hyperlink":195513,"block":195520},[],[195514,195516],{"sys":195515,"__typename":2059,"title":139705,"slug":139708},{"id":137501},{"sys":195517,"__typename":2059,"title":195518,"slug":195519},{"id":137570},"Is it safe to allow my employees to connect third-party apps to our M365/Google Workspace tenant?","is-it-safe-to-allow-my-employees-to-connect-third-party-apps-to-our-m365",[195521,195528,195535,195542,195550,195557,195565,195573,195580,195587,195594],{"sys":195522,"__typename":1724,"title":195523,"caption":59,"layoutMode":192267,"file":195524},{"id":137523},"Consent phishing example",{"url":195525,"width":195526,"height":195527},"https://images.ctfassets.net/y1cdw1ablpvd/6HYzFiGjBi8ae4IDlDhtbx/238e9456dfe0aa62b5723f95a944be36/image2.png",500,765,{"sys":195529,"__typename":1724,"title":195530,"caption":195531,"layoutMode":192267,"file":195532},{"id":137585},"User consent for applications","Microsoft 365 permission-configuring page options",{"url":195533,"width":156221,"height":195534},"https://images.ctfassets.net/y1cdw1ablpvd/65HmUDGZM8VCDRIeUUdEPY/3fe867fef120cc2190f8440d11b760f7/image9.png",288,{"sys":195536,"__typename":1724,"title":195537,"caption":195538,"layoutMode":192267,"file":195539},{"id":138053},"Adobe app integration details","Push's integration panel with our Adobe app details with verified publisher information",{"url":195540,"width":195541,"height":162208},"https://images.ctfassets.net/y1cdw1ablpvd/6Rg5TnvmAqZDFFyVx5x5I1/34fa8feaeb3775b6a96d6089772540be/image7.png",651,{"sys":195543,"__typename":1724,"title":195544,"caption":195545,"layoutMode":192267,"file":195546},{"id":138066},"Acrobat integration details","Push's integration panel with our Adobe app details. This instance shows unverified, but is not malicious",{"url":195547,"width":195548,"height":195549},"https://images.ctfassets.net/y1cdw1ablpvd/3dKH7ObNU1nRkqvOUKuqw0/0ed37374b74952164b589f9b9b60aa29/image6.png",663,732,{"sys":195551,"__typename":1724,"title":195552,"caption":195553,"layoutMode":192267,"file":195554},{"id":138126},"Diagrams.net oauth integration panel","Example of a Microsoft integration that was granted excessive permissions (Sites.Read.All)",{"url":195555,"width":84522,"height":195556},"https://images.ctfassets.net/y1cdw1ablpvd/1dbB6L6VNOL332mmGI4szQ/13a6a7dd456303fc75a404a44407653c/image5.png",728,{"sys":195558,"__typename":1724,"title":195559,"caption":195560,"layoutMode":192267,"file":195561},{"id":138526},"Azure active directory","An application's sign-in logs detailing user activity",{"url":195562,"width":195563,"height":195564},"https://images.ctfassets.net/y1cdw1ablpvd/6fHOFS9XjBLpUQBdgjrsoc/61411340965dd7c158e8e5b94671654a/image3.png",1150,545,{"sys":195566,"__typename":1724,"title":195567,"caption":195568,"layoutMode":192267,"file":195569},{"id":138572},"Azure enterprise app audit log page","Azure enterprise applications audit log page detailing the scopes that were delegated to a sign-in event.",{"url":195570,"width":195571,"height":195572},"https://images.ctfassets.net/y1cdw1ablpvd/75u2Mq5FiX2rVW1760QSNf/22cf898dd65e38ce7e6f585486148987/image1.png",748,229,{"sys":195574,"__typename":1724,"title":195575,"caption":195575,"layoutMode":192267,"file":195576},{"id":138592},"Disabling an Azure application integration",{"url":195577,"width":195578,"height":195579},"https://images.ctfassets.net/y1cdw1ablpvd/2qiV0t6oaYhIEHpJTh7VS5/b7b04792ad8c9c575b238ce629c5de9d/image8.png",984,300,{"sys":195581,"__typename":1724,"title":195582,"caption":195583,"layoutMode":192267,"file":195584},{"id":138658},"Azure permission review tab","Navigating to the permission review tab for an integrated application",{"url":195585,"width":137372,"height":195586},"https://images.ctfassets.net/y1cdw1ablpvd/2JtsVllKju7mumigafESsj/174a50115c736a288e2c3182a31c4e9d/image10.png",579,{"sys":195588,"__typename":1724,"title":195589,"caption":195590,"layoutMode":192267,"file":195591},{"id":138671},"Revoking access","Auto-generated PowerShell scripts to revoke access to an integrated application.",{"url":195592,"width":1837,"height":195593},"https://images.ctfassets.net/y1cdw1ablpvd/2VNTXdvWQeAmD2TTlz7iDA/2e26e2943f593315c32b82f58f20a665/image4.png",671,{"sys":195595,"__typename":1717,"type":47670,"ctaText":132414,"buttonLabel":132415,"buttonColour":66936,"buttonUrl":59},{"id":102281},{"items":195597},[],{},"Microsoft Azure attacks: Use SaaS apps to compromise an org ",{"items":195601},[195602,195763],{"__typename":2059,"sys":195603,"content":195604,"title":139705,"synopsis":139706,"hashTags":59,"publishedDate":139707,"slug":139708,"tagsCollection":195753,"authorsCollection":195759},{"id":137501},{"json":195605},{"data":195606,"content":195607,"nodeType":856},{},[195608,195614,195620,195625,195638,195643,195649,195655,195679,195684,195699,195714,195729],{"data":195609,"content":195610,"nodeType":860},{},[195611],{"data":195612,"marks":195613,"value":139537,"nodeType":864},{},[],{"data":195615,"content":195616,"nodeType":860},{},[195617],{"data":195618,"marks":195619,"value":139544,"nodeType":864},{},[],{"data":195621,"content":195624,"nodeType":996},{"target":195622},{"sys":195623},{"id":139549,"type":1001,"linkType":1002},[],{"data":195626,"content":195627,"nodeType":860},{},[195628,195631,195635],{"data":195629,"marks":195630,"value":139557,"nodeType":864},{},[],{"data":195632,"marks":195633,"value":139562,"nodeType":864},{},[195634],{"type":899},{"data":195636,"marks":195637,"value":139566,"nodeType":864},{},[],{"data":195639,"content":195642,"nodeType":996},{"target":195640},{"sys":195641},{"id":139571,"type":1001,"linkType":1002},[],{"data":195644,"content":195645,"nodeType":860},{},[195646],{"data":195647,"marks":195648,"value":139579,"nodeType":864},{},[],{"data":195650,"content":195651,"nodeType":860},{},[195652],{"data":195653,"marks":195654,"value":139586,"nodeType":864},{},[],{"data":195656,"content":195657,"nodeType":860},{},[195658,195661,195667,195670,195676],{"data":195659,"marks":195660,"value":139593,"nodeType":864},{},[],{"data":195662,"content":195663,"nodeType":883},{"uri":139596},[195664],{"data":195665,"marks":195666,"value":139601,"nodeType":864},{},[],{"data":195668,"marks":195669,"value":902,"nodeType":864},{},[],{"data":195671,"content":195672,"nodeType":883},{"uri":139607},[195673],{"data":195674,"marks":195675,"value":139612,"nodeType":864},{},[],{"data":195677,"marks":195678,"value":2924,"nodeType":864},{},[],{"data":195680,"content":195683,"nodeType":996},{"target":195681},{"sys":195682},{"id":139620,"type":1001,"linkType":1002},[],{"data":195685,"content":195686,"nodeType":860},{},[195687,195690,195696],{"data":195688,"marks":195689,"value":139628,"nodeType":864},{},[],{"data":195691,"content":195692,"nodeType":883},{"uri":139631},[195693],{"data":195694,"marks":195695,"value":139636,"nodeType":864},{},[],{"data":195697,"marks":195698,"value":139640,"nodeType":864},{},[],{"data":195700,"content":195701,"nodeType":860},{},[195702,195705,195711],{"data":195703,"marks":195704,"value":139647,"nodeType":864},{},[],{"data":195706,"content":195707,"nodeType":883},{"uri":139650},[195708],{"data":195709,"marks":195710,"value":79166,"nodeType":864},{},[],{"data":195712,"marks":195713,"value":139658,"nodeType":864},{},[],{"data":195715,"content":195716,"nodeType":860},{},[195717,195720,195726],{"data":195718,"marks":195719,"value":139665,"nodeType":864},{},[],{"data":195721,"content":195722,"nodeType":883},{"uri":139668},[195723],{"data":195724,"marks":195725,"value":139673,"nodeType":864},{},[],{"data":195727,"marks":195728,"value":139677,"nodeType":864},{},[],{"data":195730,"content":195731,"nodeType":860},{},[195732,195735,195741,195744,195750],{"data":195733,"marks":195734,"value":139684,"nodeType":864},{},[],{"data":195736,"content":195737,"nodeType":883},{"uri":47677},[195738],{"data":195739,"marks":195740,"value":139691,"nodeType":864},{},[],{"data":195742,"marks":195743,"value":3731,"nodeType":864},{},[],{"data":195745,"content":195746,"nodeType":883},{"uri":47663},[195747],{"data":195748,"marks":195749,"value":47670,"nodeType":864},{},[],{"data":195751,"marks":195752,"value":139704,"nodeType":864},{},[],{"items":195754},[195755,195757],{"sys":195756,"name":6593},{"id":6592},{"sys":195758,"name":342},{"id":6596},{"items":195760},[195761],{"fullName":139718,"firstName":4879,"jobTitle":139719,"profilePicture":195762},{"url":139721},{"__typename":2059,"sys":195764,"content":195765,"title":154144,"synopsis":193950,"hashTags":59,"publishedDate":193951,"slug":154145,"tagsCollection":196169,"authorsCollection":196175},{"id":141631},{"json":195766},{"data":195767,"content":195768,"nodeType":856},{},[195769,195776,195783,195801,195808,195826,195832,195837,195843,195849,195855,195861,195867,195873,195879,195885,195891,195896,195902,195908,195914,195920,195936,195941,195947,195952,195958,195963,195969,195975,195981,196020,196026,196042,196048,196130,196146,196152,196158,196163],{"data":195770,"content":195771,"nodeType":860},{},[195772],{"data":195773,"marks":195774,"value":193497,"nodeType":864},{},[195775],{"type":2246},{"data":195777,"content":195778,"nodeType":860},{},[195779],{"data":195780,"marks":195781,"value":193505,"nodeType":864},{},[195782],{"type":2246},{"data":195784,"content":195785,"nodeType":860},{},[195786,195789,195798],{"data":195787,"marks":195788,"value":193512,"nodeType":864},{},[],{"data":195790,"content":195793,"nodeType":27604},{"target":195791},{"sys":195792},{"id":193517,"type":1001,"linkType":1002},[195794],{"data":195795,"marks":195796,"value":193523,"nodeType":864},{},[195797],{"type":1455},{"data":195799,"marks":195800,"value":193527,"nodeType":864},{},[],{"data":195802,"content":195803,"nodeType":860},{},[195804],{"data":195805,"marks":195806,"value":193535,"nodeType":864},{},[195807],{"type":2246},{"data":195809,"content":195810,"nodeType":860},{},[195811,195814,195823],{"data":195812,"marks":195813,"value":193542,"nodeType":864},{},[],{"data":195815,"content":195818,"nodeType":27604},{"target":195816},{"sys":195817},{"id":137501,"type":1001,"linkType":1002},[195819],{"data":195820,"marks":195821,"value":193552,"nodeType":864},{},[195822],{"type":1455},{"data":195824,"marks":195825,"value":193556,"nodeType":864},{},[],{"data":195827,"content":195828,"nodeType":860},{},[195829],{"data":195830,"marks":195831,"value":193563,"nodeType":864},{},[],{"data":195833,"content":195836,"nodeType":996},{"target":195834},{"sys":195835},{"id":193568,"type":1001,"linkType":1002},[],{"data":195838,"content":195839,"nodeType":860},{},[195840],{"data":195841,"marks":195842,"value":193576,"nodeType":864},{},[],{"data":195844,"content":195845,"nodeType":1312},{},[195846],{"data":195847,"marks":195848,"value":193583,"nodeType":864},{},[],{"data":195850,"content":195851,"nodeType":860},{},[195852],{"data":195853,"marks":195854,"value":193590,"nodeType":864},{},[],{"data":195856,"content":195857,"nodeType":860},{},[195858],{"data":195859,"marks":195860,"value":193597,"nodeType":864},{},[],{"data":195862,"content":195863,"nodeType":1312},{},[195864],{"data":195865,"marks":195866,"value":193604,"nodeType":864},{},[],{"data":195868,"content":195869,"nodeType":860},{},[195870],{"data":195871,"marks":195872,"value":193611,"nodeType":864},{},[],{"data":195874,"content":195875,"nodeType":860},{},[195876],{"data":195877,"marks":195878,"value":193618,"nodeType":864},{},[],{"data":195880,"content":195881,"nodeType":860},{},[195882],{"data":195883,"marks":195884,"value":193625,"nodeType":864},{},[],{"data":195886,"content":195887,"nodeType":860},{},[195888],{"data":195889,"marks":195890,"value":193632,"nodeType":864},{},[],{"data":195892,"content":195895,"nodeType":996},{"target":195893},{"sys":195894},{"id":193637,"type":1001,"linkType":1002},[],{"data":195897,"content":195898,"nodeType":860},{},[195899],{"data":195900,"marks":195901,"value":193645,"nodeType":864},{},[],{"data":195903,"content":195904,"nodeType":1312},{},[195905],{"data":195906,"marks":195907,"value":193652,"nodeType":864},{},[],{"data":195909,"content":195910,"nodeType":860},{},[195911],{"data":195912,"marks":195913,"value":193659,"nodeType":864},{},[],{"data":195915,"content":195916,"nodeType":860},{},[195917],{"data":195918,"marks":195919,"value":193666,"nodeType":864},{},[],{"data":195921,"content":195922,"nodeType":860},{},[195923,195926,195933],{"data":195924,"marks":195925,"value":193673,"nodeType":864},{},[],{"data":195927,"content":195928,"nodeType":883},{"uri":138511},[195929],{"data":195930,"marks":195931,"value":138517,"nodeType":864},{},[195932],{"type":1455},{"data":195934,"marks":195935,"value":193684,"nodeType":864},{},[],{"data":195937,"content":195940,"nodeType":996},{"target":195938},{"sys":195939},{"id":193689,"type":1001,"linkType":1002},[],{"data":195942,"content":195943,"nodeType":860},{},[195944],{"data":195945,"marks":195946,"value":193697,"nodeType":864},{},[],{"data":195948,"content":195951,"nodeType":996},{"target":195949},{"sys":195950},{"id":193702,"type":1001,"linkType":1002},[],{"data":195953,"content":195954,"nodeType":860},{},[195955],{"data":195956,"marks":195957,"value":193710,"nodeType":864},{},[],{"data":195959,"content":195962,"nodeType":996},{"target":195960},{"sys":195961},{"id":193715,"type":1001,"linkType":1002},[],{"data":195964,"content":195965,"nodeType":1312},{},[195966],{"data":195967,"marks":195968,"value":193723,"nodeType":864},{},[],{"data":195970,"content":195971,"nodeType":860},{},[195972],{"data":195973,"marks":195974,"value":193730,"nodeType":864},{},[],{"data":195976,"content":195977,"nodeType":860},{},[195978],{"data":195979,"marks":195980,"value":193737,"nodeType":864},{},[],{"data":195982,"content":195983,"nodeType":941},{},[195984,195993,196002,196011],{"data":195985,"content":195986,"nodeType":945},{},[195987],{"data":195988,"content":195989,"nodeType":860},{},[195990],{"data":195991,"marks":195992,"value":193750,"nodeType":864},{},[],{"data":195994,"content":195995,"nodeType":945},{},[195996],{"data":195997,"content":195998,"nodeType":860},{},[195999],{"data":196000,"marks":196001,"value":193760,"nodeType":864},{},[],{"data":196003,"content":196004,"nodeType":945},{},[196005],{"data":196006,"content":196007,"nodeType":860},{},[196008],{"data":196009,"marks":196010,"value":193770,"nodeType":864},{},[],{"data":196012,"content":196013,"nodeType":945},{},[196014],{"data":196015,"content":196016,"nodeType":860},{},[196017],{"data":196018,"marks":196019,"value":193780,"nodeType":864},{},[],{"data":196021,"content":196022,"nodeType":860},{},[196023],{"data":196024,"marks":196025,"value":193787,"nodeType":864},{},[],{"data":196027,"content":196028,"nodeType":860},{},[196029,196032,196039],{"data":196030,"marks":196031,"value":193794,"nodeType":864},{},[],{"data":196033,"content":196034,"nodeType":883},{"uri":193797},[196035],{"data":196036,"marks":196037,"value":193803,"nodeType":864},{},[196038],{"type":1455},{"data":196040,"marks":196041,"value":193807,"nodeType":864},{},[],{"data":196043,"content":196044,"nodeType":860},{},[196045],{"data":196046,"marks":196047,"value":193814,"nodeType":864},{},[],{"data":196049,"content":196050,"nodeType":941},{},[196051,196060,196069,196078,196097,196112,196121],{"data":196052,"content":196053,"nodeType":945},{},[196054],{"data":196055,"content":196056,"nodeType":860},{},[196057],{"data":196058,"marks":196059,"value":193827,"nodeType":864},{},[],{"data":196061,"content":196062,"nodeType":945},{},[196063],{"data":196064,"content":196065,"nodeType":860},{},[196066],{"data":196067,"marks":196068,"value":193837,"nodeType":864},{},[],{"data":196070,"content":196071,"nodeType":945},{},[196072],{"data":196073,"content":196074,"nodeType":860},{},[196075],{"data":196076,"marks":196077,"value":193847,"nodeType":864},{},[],{"data":196079,"content":196080,"nodeType":945},{},[196081],{"data":196082,"content":196083,"nodeType":860},{},[196084,196087,196094],{"data":196085,"marks":196086,"value":21,"nodeType":864},{},[],{"data":196088,"content":196089,"nodeType":883},{"uri":193859},[196090],{"data":196091,"marks":196092,"value":193865,"nodeType":864},{},[196093],{"type":1455},{"data":196095,"marks":196096,"value":21,"nodeType":864},{},[],{"data":196098,"content":196099,"nodeType":945},{},[196100],{"data":196101,"content":196102,"nodeType":941},{},[196103],{"data":196104,"content":196105,"nodeType":945},{},[196106],{"data":196107,"content":196108,"nodeType":860},{},[196109],{"data":196110,"marks":196111,"value":193884,"nodeType":864},{},[],{"data":196113,"content":196114,"nodeType":945},{},[196115],{"data":196116,"content":196117,"nodeType":860},{},[196118],{"data":196119,"marks":196120,"value":193894,"nodeType":864},{},[],{"data":196122,"content":196123,"nodeType":945},{},[196124],{"data":196125,"content":196126,"nodeType":860},{},[196127],{"data":196128,"marks":196129,"value":193904,"nodeType":864},{},[],{"data":196131,"content":196132,"nodeType":860},{},[196133,196136,196143],{"data":196134,"marks":196135,"value":193911,"nodeType":864},{},[],{"data":196137,"content":196138,"nodeType":883},{"uri":193914},[196139],{"data":196140,"marks":196141,"value":193920,"nodeType":864},{},[196142],{"type":1455},{"data":196144,"marks":196145,"value":193924,"nodeType":864},{},[],{"data":196147,"content":196148,"nodeType":1312},{},[196149],{"data":196150,"marks":196151,"value":32492,"nodeType":864},{},[],{"data":196153,"content":196154,"nodeType":860},{},[196155],{"data":196156,"marks":196157,"value":193937,"nodeType":864},{},[],{"data":196159,"content":196162,"nodeType":996},{"target":196160},{"sys":196161},{"id":193942,"type":1001,"linkType":1002},[],{"data":196164,"content":196165,"nodeType":860},{},[196166],{"data":196167,"marks":196168,"value":21,"nodeType":864},{},[],{"items":196170},[196171,196173],{"sys":196172,"name":342},{"id":6596},{"sys":196174,"name":297},{"id":2732},{"items":196176},[196177],{"fullName":73848,"firstName":73849,"jobTitle":73850,"profilePicture":196178},{"url":73852},"blog/how-attackers-compromise-azure-organizations-through-saas-apps",{"json":196181},{"data":196182,"content":196183,"nodeType":856},{},[196184],{"data":196185,"content":196186,"nodeType":860},{},[196187],{"data":196188,"marks":196189,"value":196190,"nodeType":864},{},[],"Common ways an app or integration could lead to compromise in Microsoft Azure: consent phishing, unverified apps, hijackable URLs & implicit grant flow. ",{"id":137458,"publishedAt":196192},"2026-08-13T09:35:32.962Z",{"items":196194},[196195,196197],{"sys":196196,"name":6593},{"id":6592},{"sys":196198,"name":342},{"id":6596},{"items":196200},[196201,196203,196205,196207,196209,196211],{"sys":196202,"name":545,"slug":546,"tier":31},{"id":542},{"sys":196204,"name":413,"slug":414,"tier":31},{"id":410},{"sys":196206,"name":342,"slug":343,"tier":31},{"id":339},{"sys":196208,"name":484,"slug":485,"tier":45},{"id":481},{"sys":196210,"name":633,"slug":634,"tier":45},{"id":630},{"sys":196212,"name":571,"slug":572,"tier":45},{"id":568},"-D7_Z6KxrUMciCLS4lYWA7QJwS8O2Oqe-QV8yvOA9Zo",{"id":196215,"title":185884,"authorsCollection":196216,"content":196220,"extension":228,"faqItemsCollection":196611,"faqTitle":59,"featured":6,"hashTags":59,"meta":196613,"metaTitle":196614,"ogImage":59,"postType":79438,"publishedDate":185886,"relatedBlogPostsCollection":196615,"slug":185887,"stem":197292,"subtitle":59,"summary":197293,"synopsis":185885,"sys":197304,"tagsCollection":197306,"topicsCollection":197310,"__hash__":197320},"blog/blog/product-release-december-2022.json",{"items":196217},[196218],{"fullName":79005,"firstName":79006,"jobTitle":79007,"socialLinks":59,"profilePicture":196219},{"url":79009},{"json":196221,"links":196576},{"data":196222,"content":196223,"nodeType":856},{},[196224,196230,196272,196278,196291,196326,196346,196369,196384,196389,196395,196415,196420,196426,196477,196492,196498,196504,196517,196522,196528,196541,196546,196561],{"data":196225,"content":196226,"nodeType":1312},{},[196227],{"data":196228,"marks":196229,"value":185477,"nodeType":864},{},[],{"data":196231,"content":196232,"nodeType":941},{},[196233,196246,196259],{"data":196234,"content":196235,"nodeType":945},{},[196236],{"data":196237,"content":196238,"nodeType":860},{},[196239,196243],{"data":196240,"marks":196241,"value":74401,"nodeType":864},{},[196242],{"type":899},{"data":196244,"marks":196245,"value":185494,"nodeType":864},{},[],{"data":196247,"content":196248,"nodeType":945},{},[196249],{"data":196250,"content":196251,"nodeType":860},{},[196252,196256],{"data":196253,"marks":196254,"value":185505,"nodeType":864},{},[196255],{"type":899},{"data":196257,"marks":196258,"value":185509,"nodeType":864},{},[],{"data":196260,"content":196261,"nodeType":945},{},[196262],{"data":196263,"content":196264,"nodeType":860},{},[196265,196269],{"data":196266,"marks":196267,"value":185520,"nodeType":864},{},[196268],{"type":899},{"data":196270,"marks":196271,"value":185524,"nodeType":864},{},[],{"data":196273,"content":196274,"nodeType":1312},{},[196275],{"data":196276,"marks":196277,"value":185531,"nodeType":864},{},[],{"data":196279,"content":196280,"nodeType":860},{},[196281,196284,196288],{"data":196282,"marks":196283,"value":185538,"nodeType":864},{},[],{"data":196285,"marks":196286,"value":185543,"nodeType":864},{},[196287],{"type":899},{"data":196289,"marks":196290,"value":185547,"nodeType":864},{},[],{"data":196292,"content":196293,"nodeType":941},{},[196294,196310],{"data":196295,"content":196296,"nodeType":945},{},[196297],{"data":196298,"content":196299,"nodeType":860},{},[196300,196303,196307],{"data":196301,"marks":196302,"value":185560,"nodeType":864},{},[],{"data":196304,"marks":196305,"value":185565,"nodeType":864},{},[196306],{"type":899},{"data":196308,"marks":196309,"value":185569,"nodeType":864},{},[],{"data":196311,"content":196312,"nodeType":945},{},[196313],{"data":196314,"content":196315,"nodeType":860},{},[196316,196319,196323],{"data":196317,"marks":196318,"value":185579,"nodeType":864},{},[],{"data":196320,"marks":196321,"value":185584,"nodeType":864},{},[196322],{"type":899},{"data":196324,"marks":196325,"value":2924,"nodeType":864},{},[],{"data":196327,"content":196328,"nodeType":860},{},[196329,196332,196336,196339,196343],{"data":196330,"marks":196331,"value":185594,"nodeType":864},{},[],{"data":196333,"marks":196334,"value":185599,"nodeType":864},{},[196335],{"type":899},{"data":196337,"marks":196338,"value":27405,"nodeType":864},{},[],{"data":196340,"marks":196341,"value":185607,"nodeType":864},{},[196342],{"type":899},{"data":196344,"marks":196345,"value":185611,"nodeType":864},{},[],{"data":196347,"content":196348,"nodeType":860},{},[196349,196352,196359,196362,196366],{"data":196350,"marks":196351,"value":185618,"nodeType":864},{},[],{"data":196353,"content":196354,"nodeType":883},{"uri":185621},[196355],{"data":196356,"marks":196357,"value":74413,"nodeType":864},{},[196358],{"type":899},{"data":196360,"marks":196361,"value":185630,"nodeType":864},{},[],{"data":196363,"marks":196364,"value":185635,"nodeType":864},{},[196365],{"type":899},{"data":196367,"marks":196368,"value":185639,"nodeType":864},{},[],{"data":196370,"content":196371,"nodeType":860},{},[196372,196375,196381],{"data":196373,"marks":196374,"value":185646,"nodeType":864},{},[],{"data":196376,"content":196377,"nodeType":883},{"uri":168893},[196378],{"data":196379,"marks":196380,"value":168898,"nodeType":864},{},[],{"data":196382,"marks":196383,"value":2924,"nodeType":864},{},[],{"data":196385,"content":196388,"nodeType":996},{"target":196386},{"sys":196387},{"id":185660,"type":1001,"linkType":1002},[],{"data":196390,"content":196391,"nodeType":1312},{},[196392],{"data":196393,"marks":196394,"value":185668,"nodeType":864},{},[],{"data":196396,"content":196397,"nodeType":860},{},[196398,196401,196405,196412],{"data":196399,"marks":196400,"value":185675,"nodeType":864},{},[],{"data":196402,"marks":196403,"value":185680,"nodeType":864},{},[196404],{"type":899},{"data":196406,"content":196407,"nodeType":883},{"uri":185621},[196408],{"data":196409,"marks":196410,"value":185688,"nodeType":864},{},[196411],{"type":899},{"data":196413,"marks":196414,"value":2924,"nodeType":864},{},[],{"data":196416,"content":196419,"nodeType":996},{"target":196417},{"sys":196418},{"id":185696,"type":1001,"linkType":1002},[],{"data":196421,"content":196422,"nodeType":860},{},[196423],{"data":196424,"marks":196425,"value":185704,"nodeType":864},{},[],{"data":196427,"content":196428,"nodeType":941},{},[196429,196445,196461],{"data":196430,"content":196431,"nodeType":945},{},[196432],{"data":196433,"content":196434,"nodeType":860},{},[196435,196438,196442],{"data":196436,"marks":196437,"value":185717,"nodeType":864},{},[],{"data":196439,"marks":196440,"value":185722,"nodeType":864},{},[196441],{"type":899},{"data":196443,"marks":196444,"value":185726,"nodeType":864},{},[],{"data":196446,"content":196447,"nodeType":945},{},[196448],{"data":196449,"content":196450,"nodeType":860},{},[196451,196454,196458],{"data":196452,"marks":196453,"value":185736,"nodeType":864},{},[],{"data":196455,"marks":196456,"value":185741,"nodeType":864},{},[196457],{"type":899},{"data":196459,"marks":196460,"value":185745,"nodeType":864},{},[],{"data":196462,"content":196463,"nodeType":945},{},[196464],{"data":196465,"content":196466,"nodeType":860},{},[196467,196470,196474],{"data":196468,"marks":196469,"value":185755,"nodeType":864},{},[],{"data":196471,"marks":196472,"value":185760,"nodeType":864},{},[196473],{"type":899},{"data":196475,"marks":196476,"value":185764,"nodeType":864},{},[],{"data":196478,"content":196479,"nodeType":860},{},[196480,196483,196489],{"data":196481,"marks":196482,"value":185771,"nodeType":864},{},[],{"data":196484,"content":196485,"nodeType":883},{"uri":185774},[196486],{"data":196487,"marks":196488,"value":185779,"nodeType":864},{},[],{"data":196490,"marks":196491,"value":185783,"nodeType":864},{},[],{"data":196493,"content":196494,"nodeType":860},{},[196495],{"data":196496,"marks":196497,"value":185790,"nodeType":864},{},[],{"data":196499,"content":196500,"nodeType":1312},{},[196501],{"data":196502,"marks":196503,"value":185797,"nodeType":864},{},[],{"data":196505,"content":196506,"nodeType":860},{},[196507,196510,196514],{"data":196508,"marks":196509,"value":185804,"nodeType":864},{},[],{"data":196511,"marks":196512,"value":185809,"nodeType":864},{},[196513],{"type":899},{"data":196515,"marks":196516,"value":185813,"nodeType":864},{},[],{"data":196518,"content":196521,"nodeType":996},{"target":196519},{"sys":196520},{"id":185818,"type":1001,"linkType":1002},[],{"data":196523,"content":196524,"nodeType":860},{},[196525],{"data":196526,"marks":196527,"value":185826,"nodeType":864},{},[],{"data":196529,"content":196530,"nodeType":860},{},[196531,196534,196538],{"data":196532,"marks":196533,"value":185833,"nodeType":864},{},[],{"data":196535,"marks":196536,"value":185838,"nodeType":864},{},[196537],{"type":899},{"data":196539,"marks":196540,"value":185842,"nodeType":864},{},[],{"data":196542,"content":196545,"nodeType":996},{"target":196543},{"sys":196544},{"id":185847,"type":1001,"linkType":1002},[],{"data":196547,"content":196548,"nodeType":860},{},[196549,196552,196558],{"data":196550,"marks":196551,"value":185855,"nodeType":864},{},[],{"data":196553,"content":196554,"nodeType":883},{"uri":185858},[196555],{"data":196556,"marks":196557,"value":43908,"nodeType":864},{},[],{"data":196559,"marks":196560,"value":2924,"nodeType":864},{},[],{"data":196562,"content":196563,"nodeType":860},{},[196564,196567,196573],{"data":196565,"marks":196566,"value":185872,"nodeType":864},{},[],{"data":196568,"content":196569,"nodeType":883},{"uri":168893},[196570],{"data":196571,"marks":196572,"value":185879,"nodeType":864},{},[],{"data":196574,"marks":196575,"value":185883,"nodeType":864},{},[],{"entries":196577},{"hyperlink":196578,"inline":196579,"block":196580},[],[],[196581,196589,196597,196604],{"sys":196582,"__typename":1724,"title":196583,"caption":196584,"layoutMode":59,"file":196585},{"id":185660},"Channel messaging screenshot - Dec 2022 release notes","Configure ChatOps for your security team to get channel notifications on potential account compromises or new SaaS in your environment.",{"url":196586,"width":196587,"height":196588},"https://images.ctfassets.net/y1cdw1ablpvd/uHBwYitNomqE21mp4iq15/c248f8aa525e7a625341bfb93fbc8806/channel_messaging.png",2762,804,{"sys":196590,"__typename":1724,"title":196591,"caption":196592,"layoutMode":59,"file":196593},{"id":185696},"ChatOps subtopics screenshot - December 2022 release notes","You can now enable individual subtopics on the ChatOps page.",{"url":196594,"width":196595,"height":196596},"https://images.ctfassets.net/y1cdw1ablpvd/3F0njaHj6qFaqpAjwhg8HP/749c814f9ce5189225a7aa8cb1051b92/chatops_controls.png",2766,1230,{"sys":196598,"__typename":1724,"title":196599,"caption":196600,"layoutMode":59,"file":196601},{"id":185818},"Browser extension deployment progress details","Check the \"Installed but not enrolled\" panel on the Browsers page to track your extension rollout progress.",{"url":196602,"width":196603,"height":23446},"https://images.ctfassets.net/y1cdw1ablpvd/6FKbSHRWankkPDaAfflXUb/6acbf6fc2062a0d16582170a3864ad3b/enrollment_progress_box_20231221.png",1874,{"sys":196605,"__typename":1724,"title":196606,"caption":196607,"layoutMode":59,"file":196608},{"id":185847},"Browser extension deployment progress details - modal","After you select \"View details,\" you can find unidentified or unmonitored browser profiles.",{"url":196609,"width":196603,"height":196610},"https://images.ctfassets.net/y1cdw1ablpvd/45WCvvBlSj8PFN0bOeWAds/63845c78513372b01838e7e397278dba/extension_rollout_progress_details_20231221.png",1093,{"items":196612},[],{},"Push Security new product features for December 2022 ",{"items":196616},[196617,196939],{"__typename":2059,"sys":196618,"content":196619,"title":191813,"synopsis":191814,"hashTags":59,"publishedDate":191815,"slug":191816,"tagsCollection":196931,"authorsCollection":196935},{"id":191455},{"json":196620},{"data":196621,"content":196622,"nodeType":856},{},[196623,196629,196650,196656,196673,196693,196699,196739,196755,196760,196766,196772,196789,196804,196819,196834,196849,196866,196872,196878,196894,196899,196915],{"data":196624,"content":196625,"nodeType":1009},{},[196626],{"data":196627,"marks":196628,"value":185477,"nodeType":864},{},[],{"data":196630,"content":196631,"nodeType":941},{},[196632,196641],{"data":196633,"content":196634,"nodeType":945},{},[196635],{"data":196636,"content":196637,"nodeType":860},{},[196638],{"data":196639,"marks":196640,"value":191478,"nodeType":864},{},[],{"data":196642,"content":196643,"nodeType":945},{},[196644],{"data":196645,"content":196646,"nodeType":860},{},[196647],{"data":196648,"marks":196649,"value":191488,"nodeType":864},{},[],{"data":196651,"content":196652,"nodeType":1312},{},[196653],{"data":196654,"marks":196655,"value":191495,"nodeType":864},{},[],{"data":196657,"content":196658,"nodeType":860},{},[196659,196662,196666,196669],{"data":196660,"marks":196661,"value":191502,"nodeType":864},{},[],{"data":196663,"marks":196664,"value":191507,"nodeType":864},{},[196665],{"type":899},{"data":196667,"marks":196668,"value":191511,"nodeType":864},{},[],{"data":196670,"marks":196671,"value":191516,"nodeType":864},{},[196672],{"type":899},{"data":196674,"content":196675,"nodeType":860},{},[196676,196679,196683,196686,196690],{"data":196677,"marks":196678,"value":191523,"nodeType":864},{},[],{"data":196680,"marks":196681,"value":191528,"nodeType":864},{},[196682],{"type":2246},{"data":196684,"marks":196685,"value":3731,"nodeType":864},{},[],{"data":196687,"marks":196688,"value":191536,"nodeType":864},{},[196689],{"type":899},{"data":196691,"marks":196692,"value":191540,"nodeType":864},{},[],{"data":196694,"content":196695,"nodeType":860},{},[196696],{"data":196697,"marks":196698,"value":191547,"nodeType":864},{},[],{"data":196700,"content":196701,"nodeType":118765},{},[196702,196721,196730],{"data":196703,"content":196704,"nodeType":945},{},[196705],{"data":196706,"content":196707,"nodeType":860},{},[196708,196711,196718],{"data":196709,"marks":196710,"value":191560,"nodeType":864},{},[],{"data":196712,"content":196713,"nodeType":883},{"uri":191563},[196714],{"data":196715,"marks":196716,"value":191569,"nodeType":864},{},[196717],{"type":1455},{"data":196719,"marks":196720,"value":18292,"nodeType":864},{},[],{"data":196722,"content":196723,"nodeType":945},{},[196724],{"data":196725,"content":196726,"nodeType":860},{},[196727],{"data":196728,"marks":196729,"value":191582,"nodeType":864},{},[],{"data":196731,"content":196732,"nodeType":945},{},[196733],{"data":196734,"content":196735,"nodeType":860},{},[196736],{"data":196737,"marks":196738,"value":191592,"nodeType":864},{},[],{"data":196740,"content":196741,"nodeType":860},{},[196742,196745,196752],{"data":196743,"marks":196744,"value":191599,"nodeType":864},{},[],{"data":196746,"content":196747,"nodeType":883},{"uri":191563},[196748],{"data":196749,"marks":196750,"value":191569,"nodeType":864},{},[196751],{"type":1455},{"data":196753,"marks":196754,"value":191610,"nodeType":864},{},[],{"data":196756,"content":196759,"nodeType":996},{"target":196757},{"sys":196758},{"id":191615,"type":1001,"linkType":1002},[],{"data":196761,"content":196762,"nodeType":860},{},[196763],{"data":196764,"marks":196765,"value":191623,"nodeType":864},{},[],{"data":196767,"content":196768,"nodeType":860},{},[196769],{"data":196770,"marks":196771,"value":191630,"nodeType":864},{},[],{"data":196773,"content":196774,"nodeType":860},{},[196775,196778,196786],{"data":196776,"marks":196777,"value":21,"nodeType":864},{},[],{"data":196779,"content":196782,"nodeType":27604},{"target":196780},{"sys":196781},{"id":191641,"type":1001,"linkType":1002},[196783],{"data":196784,"marks":196785,"value":191646,"nodeType":864},{},[],{"data":196787,"marks":196788,"value":21,"nodeType":864},{},[],{"data":196790,"content":196791,"nodeType":860},{},[196792,196795,196801],{"data":196793,"marks":196794,"value":21,"nodeType":864},{},[],{"data":196796,"content":196797,"nodeType":883},{"uri":191658},[196798],{"data":196799,"marks":196800,"value":191663,"nodeType":864},{},[],{"data":196802,"marks":196803,"value":21,"nodeType":864},{},[],{"data":196805,"content":196806,"nodeType":860},{},[196807,196810,196816],{"data":196808,"marks":196809,"value":21,"nodeType":864},{},[],{"data":196811,"content":196812,"nodeType":883},{"uri":191675},[196813],{"data":196814,"marks":196815,"value":191680,"nodeType":864},{},[],{"data":196817,"marks":196818,"value":21,"nodeType":864},{},[],{"data":196820,"content":196821,"nodeType":860},{},[196822,196825,196831],{"data":196823,"marks":196824,"value":21,"nodeType":864},{},[],{"data":196826,"content":196827,"nodeType":883},{"uri":191692},[196828],{"data":196829,"marks":196830,"value":191697,"nodeType":864},{},[],{"data":196832,"marks":196833,"value":21,"nodeType":864},{},[],{"data":196835,"content":196836,"nodeType":860},{},[196837,196840,196846],{"data":196838,"marks":196839,"value":21,"nodeType":864},{},[],{"data":196841,"content":196842,"nodeType":883},{"uri":191709},[196843],{"data":196844,"marks":196845,"value":191714,"nodeType":864},{},[],{"data":196847,"marks":196848,"value":21,"nodeType":864},{},[],{"data":196850,"content":196851,"nodeType":860},{},[196852,196855,196863],{"data":196853,"marks":196854,"value":21,"nodeType":864},{},[],{"data":196856,"content":196859,"nodeType":27604},{"target":196857},{"sys":196858},{"id":89552,"type":1001,"linkType":1002},[196860],{"data":196861,"marks":196862,"value":191732,"nodeType":864},{},[],{"data":196864,"marks":196865,"value":21,"nodeType":864},{},[],{"data":196867,"content":196868,"nodeType":1312},{},[196869],{"data":196870,"marks":196871,"value":191742,"nodeType":864},{},[],{"data":196873,"content":196874,"nodeType":860},{},[196875],{"data":196876,"marks":196877,"value":191749,"nodeType":864},{},[],{"data":196879,"content":196880,"nodeType":860},{},[196881,196884,196891],{"data":196882,"marks":196883,"value":191756,"nodeType":864},{},[],{"data":196885,"content":196886,"nodeType":883},{"uri":191759},[196887],{"data":196888,"marks":196889,"value":191765,"nodeType":864},{},[196890],{"type":1455},{"data":196892,"marks":196893,"value":191769,"nodeType":864},{},[],{"data":196895,"content":196898,"nodeType":996},{"target":196896},{"sys":196897},{"id":191774,"type":1001,"linkType":1002},[],{"data":196900,"content":196901,"nodeType":860},{},[196902,196905,196912],{"data":196903,"marks":196904,"value":191782,"nodeType":864},{},[],{"data":196906,"content":196907,"nodeType":883},{"uri":169205},[196908],{"data":196909,"marks":196910,"value":191790,"nodeType":864},{},[196911],{"type":1455},{"data":196913,"marks":196914,"value":191794,"nodeType":864},{},[],{"data":196916,"content":196917,"nodeType":860},{},[196918,196921,196928],{"data":196919,"marks":196920,"value":191801,"nodeType":864},{},[],{"data":196922,"content":196923,"nodeType":883},{"uri":168893},[196924],{"data":196925,"marks":196926,"value":168898,"nodeType":864},{},[196927],{"type":1455},{"data":196929,"marks":196930,"value":191812,"nodeType":864},{},[],{"items":196932},[196933],{"sys":196934,"name":73498},{"id":73497},{"items":196936},[196937],{"fullName":79005,"firstName":79006,"jobTitle":79007,"profilePicture":196938},{"url":79009},{"__typename":2059,"sys":196940,"content":196942,"title":197280,"synopsis":197281,"hashTags":59,"publishedDate":197282,"slug":197283,"tagsCollection":197284,"authorsCollection":197288},{"id":196941},"6u04NzVmpZJIfEEqfD4PV8",{"json":196943},{"data":196944,"content":196945,"nodeType":856},{},[196946,196953,196986,196992,197000,197017,197023,197039,197045,197052,197058,197065,197072,197089,197098,197105,197112,197154,197160,197166,197182,197188,197195,197202,197209,197216,197223,197230,197237,197243,197273],{"data":196947,"content":196948,"nodeType":860},{},[196949],{"data":196950,"marks":196951,"value":196952,"nodeType":864},{},[],"We've been busy at Push Security recently and we're so excited to tell you the latest on some highlights:",{"data":196954,"content":196955,"nodeType":941},{},[196956,196966,196976],{"data":196957,"content":196958,"nodeType":945},{},[196959],{"data":196960,"content":196961,"nodeType":860},{},[196962],{"data":196963,"marks":196964,"value":196965,"nodeType":864},{},[],"Discover SaaS and secure accounts",{"data":196967,"content":196968,"nodeType":945},{},[196969],{"data":196970,"content":196971,"nodeType":860},{},[196972],{"data":196973,"marks":196974,"value":196975,"nodeType":864},{},[],"Find risky third-party integrations",{"data":196977,"content":196978,"nodeType":945},{},[196979],{"data":196980,"content":196981,"nodeType":860},{},[196982],{"data":196983,"marks":196984,"value":196985,"nodeType":864},{},[],"Solve problems at scale with ChatOps",{"data":196987,"content":196988,"nodeType":1009},{},[196989],{"data":196990,"marks":196991,"value":196965,"nodeType":864},{},[],{"data":196993,"content":196994,"nodeType":860},{},[196995],{"data":196996,"marks":196997,"value":196999,"nodeType":864},{},[196998],{"type":2246},"Use Push to discover SaaS apps employees are using in your company and secure the accounts being used to access them.",{"data":197001,"content":197002,"nodeType":860},{},[197003,197007,197014],{"data":197004,"marks":197005,"value":197006,"nodeType":864},{},[],"If you’re already using the Push platform and have connected Microsoft 365 or Google Workspace to Push, you’ll see we’ve already started ",{"data":197008,"content":197009,"nodeType":883},{"uri":152747},[197010],{"data":197011,"marks":197012,"value":197013,"nodeType":864},{},[],"showing SaaS your employees are using via social logins on the SaaS page",{"data":197015,"marks":197016,"value":73563,"nodeType":864},{},[],{"data":197018,"content":197022,"nodeType":996},{"target":197019},{"sys":197020},{"id":197021,"type":1001,"linkType":1002},"2ToxWrI4FhzYHLPSth2LFy",[],{"data":197024,"content":197025,"nodeType":860},{},[197026,197030,197035],{"data":197027,"marks":197028,"value":197029,"nodeType":864},{},[],"Now we’ve officially released our browser extension, you can also see the SaaS your employees are logging in to using classic usernames and passwords, so you can see your ",{"data":197031,"marks":197032,"value":197034,"nodeType":864},{},[197033],{"type":2246},"SaaSiest",{"data":197036,"marks":197037,"value":197038,"nodeType":864},{},[]," users:",{"data":197040,"content":197044,"nodeType":996},{"target":197041},{"sys":197042},{"id":197043,"type":1001,"linkType":1002},"5I1zjRqBhrlWxigHPvDFUd",[],{"data":197046,"content":197047,"nodeType":860},{},[197048],{"data":197049,"marks":197050,"value":197051,"nodeType":864},{},[],"Deploying the browser extension is easy - you can send install links to your employees via email or ChatOps and they can install and enroll in just a few seconds: ",{"data":197053,"content":197057,"nodeType":996},{"target":197054},{"sys":197055},{"id":197056,"type":1001,"linkType":1002},"7HmaMvzm4iy5NnSj1Fdi1R",[],{"data":197059,"content":197060,"nodeType":860},{},[197061],{"data":197062,"marks":197063,"value":197064,"nodeType":864},{},[],"If you’d prefer a no-click setup, watch this space, we’ll be releasing some options for managed browsers, GPO, and MDM users soon.",{"data":197066,"content":197067,"nodeType":860},{},[197068],{"data":197069,"marks":197070,"value":197071,"nodeType":864},{},[],"Using the browser extension will also show if users are using strong passwords and unique passwords between accounts and, of course, you can use ChatOps to have Push automatically reach out to any users with issues (like using weak passwords or sharing passwords with multiple apps) to have them self-remediate without you having to lift a finger.",{"data":197073,"content":197074,"nodeType":860},{},[197075,197078,197086],{"data":197076,"marks":197077,"value":21,"nodeType":864},{},[],{"data":197079,"content":197081,"nodeType":883},{"uri":197080},"https://pushsecurity.com/s?c=secure-user-accounts-demo1573",[197082],{"data":197083,"marks":197084,"value":197085,"nodeType":864},{},[],"Click here to check out an interactive demo.",{"data":197087,"marks":197088,"value":21,"nodeType":864},{},[],{"data":197090,"content":197094,"nodeType":1009},{"target":197091},{"sys":197092},{"id":197093,"type":1001,"linkType":1002},"6sHhlmQuGNxCv1yK1mGioz",[197095],{"data":197096,"marks":197097,"value":196975,"nodeType":864},{},[],{"data":197099,"content":197100,"nodeType":860},{},[197101],{"data":197102,"marks":197103,"value":197104,"nodeType":864},{},[],"Now that you’ve got visibility of all the SaaS apps employees are using, what about all the integrations within each of those apps? ",{"data":197106,"content":197107,"nodeType":860},{},[197108],{"data":197109,"marks":197110,"value":197111,"nodeType":864},{},[],"They often request access to company data and files, but fly under your radar because they’re buried under that core app and you don’t normally even see them. Turns out they’re just as risky as the core SaaS platforms employees are using.",{"data":197113,"content":197114,"nodeType":941},{},[197115,197134,197144],{"data":197116,"content":197117,"nodeType":945},{},[197118],{"data":197119,"content":197120,"nodeType":860},{},[197121,197125,197130],{"data":197122,"marks":197123,"value":197124,"nodeType":864},{},[],"You can now see ",{"data":197126,"marks":197127,"value":197129,"nodeType":864},{},[197128],{"type":2246},"all of those SaaS integrations ",{"data":197131,"marks":197132,"value":197133,"nodeType":864},{},[],"connected to your core SaaS platforms (Google Workspace and Microsoft 365) within the Push dashboard",{"data":197135,"content":197136,"nodeType":945},{},[197137],{"data":197138,"content":197139,"nodeType":860},{},[197140],{"data":197141,"marks":197142,"value":197143,"nodeType":864},{},[],"Get visibility on if those integrations are doing anything suspicious or malicious, or even if they’re asking for excessive or risky permissions.",{"data":197145,"content":197146,"nodeType":945},{},[197147],{"data":197148,"content":197149,"nodeType":860},{},[197150],{"data":197151,"marks":197152,"value":197153,"nodeType":864},{},[],"Soon, you'll be able to use ChatOps to Let us work directly with employees to remove any integrations they’ve tried, but aren’t actively using anymore to reduce your attack surface.",{"data":197155,"content":197159,"nodeType":996},{"target":197156},{"sys":197157},{"id":197158,"type":1001,"linkType":1002},"5bHuVjuvonkOMtVfiP5uiV",[],{"data":197161,"content":197162,"nodeType":860},{},[197163],{"data":197164,"marks":197165,"value":21,"nodeType":864},{},[],{"data":197167,"content":197168,"nodeType":860},{},[197169,197172,197179],{"data":197170,"marks":197171,"value":21,"nodeType":864},{},[],{"data":197173,"content":197175,"nodeType":883},{"uri":197174},"https://pushsecurity.com/s?c=third-party-integrations-demo1573",[197176],{"data":197177,"marks":197178,"value":197085,"nodeType":864},{},[],{"data":197180,"marks":197181,"value":21,"nodeType":864},{},[],{"data":197183,"content":197184,"nodeType":1009},{},[197185],{"data":197186,"marks":197187,"value":196985,"nodeType":864},{},[],{"data":197189,"content":197190,"nodeType":860},{},[197191],{"data":197192,"marks":197193,"value":197194,"nodeType":864},{},[],"You’ve probably heard us mention ChatOps before. Simply finding security issues alone isn’t useful; you need clear, actionable next steps. For a lot of security issues, those next steps will inevitably require, or benefit from, something from the user.",{"data":197196,"content":197197,"nodeType":860},{},[197198],{"data":197199,"marks":197200,"value":197201,"nodeType":864},{},[],"For example, if you find a user is using the same password to log in to Microsoft 365 as 6 other, perhaps less reputable platforms, you might like to ask the user to update their password…",{"data":197203,"content":197204,"nodeType":860},{},[197205],{"data":197206,"marks":197207,"value":197208,"nodeType":864},{},[],"…or register for MFA….",{"data":197210,"content":197211,"nodeType":860},{},[197212],{"data":197213,"marks":197214,"value":197215,"nodeType":864},{},[],"…or remove that dodgy third-party integration…",{"data":197217,"content":197218,"nodeType":860},{},[197219],{"data":197220,"marks":197221,"value":197222,"nodeType":864},{},[],"…or a million other things. You could do this yourself but with ChatOps, Push can find these issues and fix them without you lifting a finger.",{"data":197224,"content":197225,"nodeType":860},{},[197226],{"data":197227,"marks":197228,"value":197229,"nodeType":864},{},[],"And we’re already seeing the impact. For example, we mentioned earlier you can use ChatOps to deploy our browser extension - customers that have already done this have seen over 80% of employees set up without any action needed from the security/IT teams. It’s great to see the ChatOps concept be so effective and over time we’ll be tweaking how, when, and what we message users to improve even further!",{"data":197231,"content":197232,"nodeType":860},{},[197233],{"data":197234,"marks":197235,"value":197236,"nodeType":864},{},[],"Alongside this, in response to your feedback, we’ve got a fresh update for how you set up and monitor ChatOps that gives you full control over which employees are active for ChatOps, and which topics we should speak to employees about. Check it out:",{"data":197238,"content":197242,"nodeType":996},{"target":197239},{"sys":197240},{"id":197241,"type":1001,"linkType":1002},"1UdFP3SM23Zos2B4LoYExp",[],{"data":197244,"content":197245,"nodeType":860},{},[197246,197250,197258,197262,197269],{"data":197247,"marks":197248,"value":197249,"nodeType":864},{},[],"All these features are available now so ",{"data":197251,"content":197253,"nodeType":883},{"uri":197252},"https://pushsecurity.com/app/users/",[197254],{"data":197255,"marks":197256,"value":197257,"nodeType":864},{},[],"log in to your account",{"data":197259,"marks":197260,"value":197261,"nodeType":864},{},[]," to give them a go. New users can sign up for free by heading to ",{"data":197263,"content":197265,"nodeType":883},{"uri":197264},"https://pushsecurity.com",[197266],{"data":197267,"marks":197268,"value":190103,"nodeType":864},{},[],{"data":197270,"marks":197271,"value":197272,"nodeType":864},{},[]," and clicking \"Try it free.\"",{"data":197274,"content":197275,"nodeType":860},{},[197276],{"data":197277,"marks":197278,"value":21,"nodeType":864},{},[197279],{"type":1455},"Product release: July 2022","Here’s what’s new on the Push platform for July 2022.","2022-07-15T00:00:00.000Z","product-release-july-2022",{"items":197285},[197286],{"sys":197287,"name":73498},{"id":73497},{"items":197289},[197290],{"fullName":79005,"firstName":79006,"jobTitle":79007,"profilePicture":197291},{"url":79009},"blog/product-release-december-2022",{"json":197294},{"data":197295,"content":197296,"nodeType":856},{},[197297],{"data":197298,"content":197299,"nodeType":860},{},[197300],{"data":197301,"marks":197302,"value":197303,"nodeType":864},{},[],"We've expanded and improved ChatOps with new channel messaging for security teams and more granular controls.",{"id":185466,"publishedAt":197305},"2026-08-12T11:56:34.066Z",{"items":197307},[197308],{"sys":197309,"name":73498},{"id":73497},{"items":197311},[197312,197314,197316,197318],{"sys":197313,"name":297,"slug":298,"tier":31},{"id":294},{"sys":197315,"name":545,"slug":546,"tier":31},{"id":542},{"sys":197317,"name":633,"slug":634,"tier":45},{"id":630},{"sys":197319,"name":589,"slug":590,"tier":45},{"id":586},"v2HfeSlWuK1AQMIbuNgJ7NiLsyYYL6ViJDtZpYxM-4w",{"id":197322,"title":142583,"authorsCollection":197323,"content":197328,"extension":228,"faqItemsCollection":197811,"faqTitle":59,"featured":6,"hashTags":59,"meta":197813,"metaTitle":197814,"ogImage":59,"postType":5740,"publishedDate":157841,"relatedBlogPostsCollection":197815,"slug":142584,"stem":198592,"subtitle":59,"summary":198593,"synopsis":157840,"sys":198604,"tagsCollection":198606,"topicsCollection":198610,"__hash__":198626},"blog/blog/maintaining-persistent-access-in-a-saas-first-world.json",{"items":197324},[197325],{"fullName":4949,"firstName":4950,"jobTitle":4951,"socialLinks":197326,"profilePicture":197327},[4953],{"url":4955},{"json":197329,"links":197700},{"data":197330,"content":197331,"nodeType":856},{},[197332,197338,197344,197350,197356,197362,197367,197373,197379,197385,197391,197396,197402,197407,197424,197430,197435,197452,197469,197484,197490,197496,197502,197508,197513,197518,197524,197530,197536,197542,197547,197553,197595,197600,197605,197621,197626,197632,197637,197643,197648,197654,197660,197665,197670,197676,197682,197688,197694],{"data":197333,"content":197334,"nodeType":860},{},[197335],{"data":197336,"marks":197337,"value":157419,"nodeType":864},{},[],{"data":197339,"content":197340,"nodeType":860},{},[197341],{"data":197342,"marks":197343,"value":157426,"nodeType":864},{},[],{"data":197345,"content":197346,"nodeType":1009},{},[197347],{"data":197348,"marks":197349,"value":157433,"nodeType":864},{},[],{"data":197351,"content":197352,"nodeType":860},{},[197353],{"data":197354,"marks":197355,"value":157440,"nodeType":864},{},[],{"data":197357,"content":197358,"nodeType":860},{},[197359],{"data":197360,"marks":197361,"value":157447,"nodeType":864},{},[],{"data":197363,"content":197366,"nodeType":996},{"target":197364},{"sys":197365},{"id":157452,"type":1001,"linkType":1002},[],{"data":197368,"content":197369,"nodeType":860},{},[197370],{"data":197371,"marks":197372,"value":157460,"nodeType":864},{},[],{"data":197374,"content":197375,"nodeType":860},{},[197376],{"data":197377,"marks":197378,"value":157467,"nodeType":864},{},[],{"data":197380,"content":197381,"nodeType":860},{},[197382],{"data":197383,"marks":197384,"value":157474,"nodeType":864},{},[],{"data":197386,"content":197387,"nodeType":1312},{},[197388],{"data":197389,"marks":197390,"value":157481,"nodeType":864},{},[],{"data":197392,"content":197395,"nodeType":996},{"target":197393},{"sys":197394},{"id":157486,"type":1001,"linkType":1002},[],{"data":197397,"content":197398,"nodeType":860},{},[197399],{"data":197400,"marks":197401,"value":157494,"nodeType":864},{},[],{"data":197403,"content":197406,"nodeType":996},{"target":197404},{"sys":197405},{"id":157499,"type":1001,"linkType":1002},[],{"data":197408,"content":197409,"nodeType":860},{},[197410,197413,197421],{"data":197411,"marks":197412,"value":157507,"nodeType":864},{},[],{"data":197414,"content":197417,"nodeType":27604},{"target":197415},{"sys":197416},{"id":157512,"type":1001,"linkType":1002},[197418],{"data":197419,"marks":197420,"value":73177,"nodeType":864},{},[],{"data":197422,"marks":197423,"value":2924,"nodeType":864},{},[],{"data":197425,"content":197426,"nodeType":1312},{},[197427],{"data":197428,"marks":197429,"value":157526,"nodeType":864},{},[],{"data":197431,"content":197434,"nodeType":996},{"target":197432},{"sys":197433},{"id":157531,"type":1001,"linkType":1002},[],{"data":197436,"content":197437,"nodeType":860},{},[197438,197441,197449],{"data":197439,"marks":197440,"value":157539,"nodeType":864},{},[],{"data":197442,"content":197445,"nodeType":27604},{"target":197443},{"sys":197444},{"id":137570,"type":1001,"linkType":1002},[197446],{"data":197447,"marks":197448,"value":73177,"nodeType":864},{},[],{"data":197450,"marks":197451,"value":12252,"nodeType":864},{},[],{"data":197453,"content":197454,"nodeType":860},{},[197455,197458,197466],{"data":197456,"marks":197457,"value":157557,"nodeType":864},{},[],{"data":197459,"content":197462,"nodeType":27604},{"target":197460},{"sys":197461},{"id":137501,"type":1001,"linkType":1002},[197463],{"data":197464,"marks":197465,"value":32228,"nodeType":864},{},[],{"data":197467,"marks":197468,"value":157569,"nodeType":864},{},[],{"data":197470,"content":197471,"nodeType":860},{},[197472,197475,197481],{"data":197473,"marks":197474,"value":157576,"nodeType":864},{},[],{"data":197476,"content":197477,"nodeType":883},{"uri":157579},[197478],{"data":197479,"marks":197480,"value":157584,"nodeType":864},{},[],{"data":197482,"marks":197483,"value":157588,"nodeType":864},{},[],{"data":197485,"content":197486,"nodeType":1312},{},[197487],{"data":197488,"marks":197489,"value":157595,"nodeType":864},{},[],{"data":197491,"content":197492,"nodeType":860},{},[197493],{"data":197494,"marks":197495,"value":157602,"nodeType":864},{},[],{"data":197497,"content":197498,"nodeType":860},{},[197499],{"data":197500,"marks":197501,"value":157609,"nodeType":864},{},[],{"data":197503,"content":197504,"nodeType":860},{},[197505],{"data":197506,"marks":197507,"value":157616,"nodeType":864},{},[],{"data":197509,"content":197512,"nodeType":996},{"target":197510},{"sys":197511},{"id":157621,"type":1001,"linkType":1002},[],{"data":197514,"content":197517,"nodeType":996},{"target":197515},{"sys":197516},{"id":157627,"type":1001,"linkType":1002},[],{"data":197519,"content":197520,"nodeType":1312},{},[197521],{"data":197522,"marks":197523,"value":157635,"nodeType":864},{},[],{"data":197525,"content":197526,"nodeType":860},{},[197527],{"data":197528,"marks":197529,"value":157642,"nodeType":864},{},[],{"data":197531,"content":197532,"nodeType":860},{},[197533],{"data":197534,"marks":197535,"value":157649,"nodeType":864},{},[],{"data":197537,"content":197538,"nodeType":860},{},[197539],{"data":197540,"marks":197541,"value":157656,"nodeType":864},{},[],{"data":197543,"content":197546,"nodeType":996},{"target":197544},{"sys":197545},{"id":157661,"type":1001,"linkType":1002},[],{"data":197548,"content":197549,"nodeType":860},{},[197550],{"data":197551,"marks":197552,"value":157669,"nodeType":864},{},[],{"data":197554,"content":197555,"nodeType":941},{},[197556,197569,197582],{"data":197557,"content":197558,"nodeType":945},{},[197559],{"data":197560,"content":197561,"nodeType":860},{},[197562,197566],{"data":197563,"marks":197564,"value":157683,"nodeType":864},{},[197565],{"type":899},{"data":197567,"marks":197568,"value":157687,"nodeType":864},{},[],{"data":197570,"content":197571,"nodeType":945},{},[197572],{"data":197573,"content":197574,"nodeType":860},{},[197575,197579],{"data":197576,"marks":197577,"value":157698,"nodeType":864},{},[197578],{"type":899},{"data":197580,"marks":197581,"value":157702,"nodeType":864},{},[],{"data":197583,"content":197584,"nodeType":945},{},[197585],{"data":197586,"content":197587,"nodeType":860},{},[197588,197592],{"data":197589,"marks":197590,"value":157713,"nodeType":864},{},[197591],{"type":899},{"data":197593,"marks":197594,"value":157717,"nodeType":864},{},[],{"data":197596,"content":197599,"nodeType":996},{"target":197597},{"sys":197598},{"id":157722,"type":1001,"linkType":1002},[],{"data":197601,"content":197604,"nodeType":996},{"target":197602},{"sys":197603},{"id":157728,"type":1001,"linkType":1002},[],{"data":197606,"content":197607,"nodeType":941},{},[197608],{"data":197609,"content":197610,"nodeType":945},{},[197611],{"data":197612,"content":197613,"nodeType":860},{},[197614,197618],{"data":197615,"marks":197616,"value":157743,"nodeType":864},{},[197617],{"type":899},{"data":197619,"marks":197620,"value":157747,"nodeType":864},{},[],{"data":197622,"content":197625,"nodeType":996},{"target":197623},{"sys":197624},{"id":157752,"type":1001,"linkType":1002},[],{"data":197627,"content":197628,"nodeType":860},{},[197629],{"data":197630,"marks":197631,"value":157760,"nodeType":864},{},[],{"data":197633,"content":197636,"nodeType":996},{"target":197634},{"sys":197635},{"id":157765,"type":1001,"linkType":1002},[],{"data":197638,"content":197639,"nodeType":1312},{},[197640],{"data":197641,"marks":197642,"value":157773,"nodeType":864},{},[],{"data":197644,"content":197647,"nodeType":996},{"target":197645},{"sys":197646},{"id":157778,"type":1001,"linkType":1002},[],{"data":197649,"content":197650,"nodeType":860},{},[197651],{"data":197652,"marks":197653,"value":157786,"nodeType":864},{},[],{"data":197655,"content":197656,"nodeType":860},{},[197657],{"data":197658,"marks":197659,"value":157793,"nodeType":864},{},[],{"data":197661,"content":197664,"nodeType":996},{"target":197662},{"sys":197663},{"id":157798,"type":1001,"linkType":1002},[],{"data":197666,"content":197669,"nodeType":996},{"target":197667},{"sys":197668},{"id":157804,"type":1001,"linkType":1002},[],{"data":197671,"content":197672,"nodeType":1312},{},[197673],{"data":197674,"marks":197675,"value":32492,"nodeType":864},{},[],{"data":197677,"content":197678,"nodeType":860},{},[197679],{"data":197680,"marks":197681,"value":157818,"nodeType":864},{},[],{"data":197683,"content":197684,"nodeType":860},{},[197685],{"data":197686,"marks":197687,"value":157825,"nodeType":864},{},[],{"data":197689,"content":197690,"nodeType":860},{},[197691],{"data":197692,"marks":197693,"value":157832,"nodeType":864},{},[],{"data":197695,"content":197696,"nodeType":860},{},[197697],{"data":197698,"marks":197699,"value":157839,"nodeType":864},{},[],{"entries":197701},{"inline":197702,"hyperlink":197703,"block":197712},[],[197704,197708,197710],{"sys":197705,"__typename":2059,"title":197706,"slug":197707},{"id":157512},"Email security: How hackers use mail rules to access your inbox","email-security-how-hackers-use-mail-rules-to-access-your-inbox",{"sys":197709,"__typename":2059,"title":195518,"slug":195519},{"id":137570},{"sys":197711,"__typename":2059,"title":139705,"slug":139708},{"id":137501},[197713,197721,197727,197735,197741,197749,197756,197764,197772,197779,197785,197792,197798,197804],{"sys":197714,"__typename":1724,"title":197715,"caption":197716,"layoutMode":145447,"file":197717},{"id":157452},"Old way of getting persistent access","The old way: an attacker gains persistent access through the user's endpoint",{"url":197718,"width":197719,"height":197720},"https://images.ctfassets.net/y1cdw1ablpvd/60dTfWyVxckPEi4bZ6kWxn/49d8540f39641a0a1089cc313a9bc0c0/diagram6.png",2994,1534,{"sys":197722,"__typename":1724,"title":197723,"caption":197724,"layoutMode":145447,"file":197725},{"id":157486},"Abusing Mail Rules for persistence","An attacker abusing mail rules to gain persistent access",{"url":197726,"width":197719,"height":197720},"https://images.ctfassets.net/y1cdw1ablpvd/4R33B9Ru2d5LJilWS3CHWH/ff46bfc18072e03159b10571c87fef20/diagram4.png",{"sys":197728,"__typename":1724,"title":197729,"caption":197730,"layoutMode":145447,"file":197731},{"id":157499},"Mail rules settings","Example of a malicious mail rule redirect",{"url":197732,"width":197733,"height":197734},"https://images.ctfassets.net/y1cdw1ablpvd/2nA7CzgPsU4MjyGLpP9PsU/4cb3ff9bd512140dddc648324ba43db1/image6.png",930,408,{"sys":197736,"__typename":1724,"title":197737,"caption":197738,"layoutMode":145447,"file":197739},{"id":157531},"OAuth integration attacks","Attacker uses OAuth integrations to gain persistent access",{"url":197740,"width":197719,"height":197720},"https://images.ctfassets.net/y1cdw1ablpvd/3U42FTCg8KCkTWuFHgCzQn/d80952f23e2d3953683d14874422a013/diagram3.png",{"sys":197742,"__typename":1724,"title":197743,"caption":197744,"layoutMode":140740,"file":197745},{"id":157621},"Abusing SaaS integrations","Abusing a legitimate app to create custom permissions for data access",{"url":197746,"width":197747,"height":197748},"https://images.ctfassets.net/y1cdw1ablpvd/6waVV1s0GnugIX5kIEWie0/73ce4f1c6427a09f2fd9c1115abc2cab/image5.png",481,666,{"sys":197750,"__typename":1724,"title":197751,"caption":197752,"layoutMode":140740,"file":197753},{"id":157627},"Granting access to OneDrive","Using Canva to gain access to OneDrive",{"url":197754,"width":72785,"height":197755},"https://images.ctfassets.net/y1cdw1ablpvd/1s19UrmAhp4CtP2gY7Les1/63e51fb3f4b6e442e22308606fab5263/image7.png",498,{"sys":197757,"__typename":1724,"title":197758,"caption":197759,"layoutMode":140740,"file":197760},{"id":157661},"Mozilla Thunderbird source code","Thunderbird stores client IDs and secrets for different OAuth apps in the source code ",{"url":197761,"width":197762,"height":197763},"https://images.ctfassets.net/y1cdw1ablpvd/9hMtg79YP1fxq9kGCgz6v/e1bd3be4b7b057a905b288d04455f6b3/image9.png",740,447,{"sys":197765,"__typename":1724,"title":197766,"caption":197767,"layoutMode":59,"file":197768},{"id":157722},"Thunderbird permissions","Abusing Thunderbird for arbitrary permission granting",{"url":197769,"width":197770,"height":197771},"https://images.ctfassets.net/y1cdw1ablpvd/1fpNoUuQEh8GMWqBeaNyxa/9df618a9231bb056d82cad10cef3f757/image3.png",522,896,{"sys":197773,"__typename":1724,"title":197774,"caption":197775,"layoutMode":140740,"file":197776},{"id":157728},"Thunderbird access beyond email","We're able to grant access to whatever we want, not just email",{"url":197777,"width":197778,"height":100301},"https://images.ctfassets.net/y1cdw1ablpvd/4J4mjQTSDiMtQqI6J90f4t/d88cdfb54bd033324ef398cff76fe525/image__9_.png",1744,{"sys":197780,"__typename":1724,"title":197781,"caption":59,"layoutMode":140740,"file":197782},{"id":157752},"Google restricted scope",{"url":197783,"width":195541,"height":197784},"https://images.ctfassets.net/y1cdw1ablpvd/3Codlm2s4TvG1v2B6ZWQyM/39c705a48add202154bb333bdefdc899/image4.png",253,{"sys":197786,"__typename":1724,"title":197787,"caption":197788,"layoutMode":140740,"file":197789},{"id":157765},"Thunderbird email access","Using the Thunderbird app to gain access to Gmail",{"url":197790,"width":133892,"height":197791},"https://images.ctfassets.net/y1cdw1ablpvd/5yxmeq6vfcETgn4B9oWfhE/b4b3af6ce3e17a5ff06f1b49fd2b4016/image8.png",779,{"sys":197793,"__typename":1724,"title":197794,"caption":197795,"layoutMode":145447,"file":197796},{"id":157778},"Abusing document-sharing links","An attacker abusing document-sharing links to get persistent access",{"url":197797,"width":197719,"height":197720},"https://images.ctfassets.net/y1cdw1ablpvd/7rb8P0FPOwF8aixOFD8Jjq/95e47270d9a401aabd5cd1814c6d6b75/diagram5.png",{"sys":197799,"__typename":1724,"title":197800,"caption":197801,"layoutMode":140740,"file":197802},{"id":157798},"OneDrive sharing","Abusing OneDrive document-sharing functionality",{"url":197803,"width":66918,"height":156296},"https://images.ctfassets.net/y1cdw1ablpvd/TULBVq6P3BvUxvuimJjpc/111332d799763e5e26aafa9655d8b841/image10.png",{"sys":197805,"__typename":1724,"title":197806,"caption":197807,"layoutMode":140740,"file":197808},{"id":157804},"OneDrive files","OneDrive files now shows shared status",{"url":197809,"width":125788,"height":197810},"https://images.ctfassets.net/y1cdw1ablpvd/5jcr8ep5Xg7vykfNmw6mhu/6c7b4e918882a01bbc10c824670cd4d7/image1.png",474,{"items":197812},[],{},"How to maintain persistent access in a SaaS-native company",{"items":197816},[197817,198233],{"__typename":2059,"sys":197818,"content":197819,"title":154144,"synopsis":193950,"hashTags":59,"publishedDate":193951,"slug":154145,"tagsCollection":198223,"authorsCollection":198229},{"id":141631},{"json":197820},{"data":197821,"content":197822,"nodeType":856},{},[197823,197830,197837,197855,197862,197880,197886,197891,197897,197903,197909,197915,197921,197927,197933,197939,197945,197950,197956,197962,197968,197974,197990,197995,198001,198006,198012,198017,198023,198029,198035,198074,198080,198096,198102,198184,198200,198206,198212,198217],{"data":197824,"content":197825,"nodeType":860},{},[197826],{"data":197827,"marks":197828,"value":193497,"nodeType":864},{},[197829],{"type":2246},{"data":197831,"content":197832,"nodeType":860},{},[197833],{"data":197834,"marks":197835,"value":193505,"nodeType":864},{},[197836],{"type":2246},{"data":197838,"content":197839,"nodeType":860},{},[197840,197843,197852],{"data":197841,"marks":197842,"value":193512,"nodeType":864},{},[],{"data":197844,"content":197847,"nodeType":27604},{"target":197845},{"sys":197846},{"id":193517,"type":1001,"linkType":1002},[197848],{"data":197849,"marks":197850,"value":193523,"nodeType":864},{},[197851],{"type":1455},{"data":197853,"marks":197854,"value":193527,"nodeType":864},{},[],{"data":197856,"content":197857,"nodeType":860},{},[197858],{"data":197859,"marks":197860,"value":193535,"nodeType":864},{},[197861],{"type":2246},{"data":197863,"content":197864,"nodeType":860},{},[197865,197868,197877],{"data":197866,"marks":197867,"value":193542,"nodeType":864},{},[],{"data":197869,"content":197872,"nodeType":27604},{"target":197870},{"sys":197871},{"id":137501,"type":1001,"linkType":1002},[197873],{"data":197874,"marks":197875,"value":193552,"nodeType":864},{},[197876],{"type":1455},{"data":197878,"marks":197879,"value":193556,"nodeType":864},{},[],{"data":197881,"content":197882,"nodeType":860},{},[197883],{"data":197884,"marks":197885,"value":193563,"nodeType":864},{},[],{"data":197887,"content":197890,"nodeType":996},{"target":197888},{"sys":197889},{"id":193568,"type":1001,"linkType":1002},[],{"data":197892,"content":197893,"nodeType":860},{},[197894],{"data":197895,"marks":197896,"value":193576,"nodeType":864},{},[],{"data":197898,"content":197899,"nodeType":1312},{},[197900],{"data":197901,"marks":197902,"value":193583,"nodeType":864},{},[],{"data":197904,"content":197905,"nodeType":860},{},[197906],{"data":197907,"marks":197908,"value":193590,"nodeType":864},{},[],{"data":197910,"content":197911,"nodeType":860},{},[197912],{"data":197913,"marks":197914,"value":193597,"nodeType":864},{},[],{"data":197916,"content":197917,"nodeType":1312},{},[197918],{"data":197919,"marks":197920,"value":193604,"nodeType":864},{},[],{"data":197922,"content":197923,"nodeType":860},{},[197924],{"data":197925,"marks":197926,"value":193611,"nodeType":864},{},[],{"data":197928,"content":197929,"nodeType":860},{},[197930],{"data":197931,"marks":197932,"value":193618,"nodeType":864},{},[],{"data":197934,"content":197935,"nodeType":860},{},[197936],{"data":197937,"marks":197938,"value":193625,"nodeType":864},{},[],{"data":197940,"content":197941,"nodeType":860},{},[197942],{"data":197943,"marks":197944,"value":193632,"nodeType":864},{},[],{"data":197946,"content":197949,"nodeType":996},{"target":197947},{"sys":197948},{"id":193637,"type":1001,"linkType":1002},[],{"data":197951,"content":197952,"nodeType":860},{},[197953],{"data":197954,"marks":197955,"value":193645,"nodeType":864},{},[],{"data":197957,"content":197958,"nodeType":1312},{},[197959],{"data":197960,"marks":197961,"value":193652,"nodeType":864},{},[],{"data":197963,"content":197964,"nodeType":860},{},[197965],{"data":197966,"marks":197967,"value":193659,"nodeType":864},{},[],{"data":197969,"content":197970,"nodeType":860},{},[197971],{"data":197972,"marks":197973,"value":193666,"nodeType":864},{},[],{"data":197975,"content":197976,"nodeType":860},{},[197977,197980,197987],{"data":197978,"marks":197979,"value":193673,"nodeType":864},{},[],{"data":197981,"content":197982,"nodeType":883},{"uri":138511},[197983],{"data":197984,"marks":197985,"value":138517,"nodeType":864},{},[197986],{"type":1455},{"data":197988,"marks":197989,"value":193684,"nodeType":864},{},[],{"data":197991,"content":197994,"nodeType":996},{"target":197992},{"sys":197993},{"id":193689,"type":1001,"linkType":1002},[],{"data":197996,"content":197997,"nodeType":860},{},[197998],{"data":197999,"marks":198000,"value":193697,"nodeType":864},{},[],{"data":198002,"content":198005,"nodeType":996},{"target":198003},{"sys":198004},{"id":193702,"type":1001,"linkType":1002},[],{"data":198007,"content":198008,"nodeType":860},{},[198009],{"data":198010,"marks":198011,"value":193710,"nodeType":864},{},[],{"data":198013,"content":198016,"nodeType":996},{"target":198014},{"sys":198015},{"id":193715,"type":1001,"linkType":1002},[],{"data":198018,"content":198019,"nodeType":1312},{},[198020],{"data":198021,"marks":198022,"value":193723,"nodeType":864},{},[],{"data":198024,"content":198025,"nodeType":860},{},[198026],{"data":198027,"marks":198028,"value":193730,"nodeType":864},{},[],{"data":198030,"content":198031,"nodeType":860},{},[198032],{"data":198033,"marks":198034,"value":193737,"nodeType":864},{},[],{"data":198036,"content":198037,"nodeType":941},{},[198038,198047,198056,198065],{"data":198039,"content":198040,"nodeType":945},{},[198041],{"data":198042,"content":198043,"nodeType":860},{},[198044],{"data":198045,"marks":198046,"value":193750,"nodeType":864},{},[],{"data":198048,"content":198049,"nodeType":945},{},[198050],{"data":198051,"content":198052,"nodeType":860},{},[198053],{"data":198054,"marks":198055,"value":193760,"nodeType":864},{},[],{"data":198057,"content":198058,"nodeType":945},{},[198059],{"data":198060,"content":198061,"nodeType":860},{},[198062],{"data":198063,"marks":198064,"value":193770,"nodeType":864},{},[],{"data":198066,"content":198067,"nodeType":945},{},[198068],{"data":198069,"content":198070,"nodeType":860},{},[198071],{"data":198072,"marks":198073,"value":193780,"nodeType":864},{},[],{"data":198075,"content":198076,"nodeType":860},{},[198077],{"data":198078,"marks":198079,"value":193787,"nodeType":864},{},[],{"data":198081,"content":198082,"nodeType":860},{},[198083,198086,198093],{"data":198084,"marks":198085,"value":193794,"nodeType":864},{},[],{"data":198087,"content":198088,"nodeType":883},{"uri":193797},[198089],{"data":198090,"marks":198091,"value":193803,"nodeType":864},{},[198092],{"type":1455},{"data":198094,"marks":198095,"value":193807,"nodeType":864},{},[],{"data":198097,"content":198098,"nodeType":860},{},[198099],{"data":198100,"marks":198101,"value":193814,"nodeType":864},{},[],{"data":198103,"content":198104,"nodeType":941},{},[198105,198114,198123,198132,198151,198166,198175],{"data":198106,"content":198107,"nodeType":945},{},[198108],{"data":198109,"content":198110,"nodeType":860},{},[198111],{"data":198112,"marks":198113,"value":193827,"nodeType":864},{},[],{"data":198115,"content":198116,"nodeType":945},{},[198117],{"data":198118,"content":198119,"nodeType":860},{},[198120],{"data":198121,"marks":198122,"value":193837,"nodeType":864},{},[],{"data":198124,"content":198125,"nodeType":945},{},[198126],{"data":198127,"content":198128,"nodeType":860},{},[198129],{"data":198130,"marks":198131,"value":193847,"nodeType":864},{},[],{"data":198133,"content":198134,"nodeType":945},{},[198135],{"data":198136,"content":198137,"nodeType":860},{},[198138,198141,198148],{"data":198139,"marks":198140,"value":21,"nodeType":864},{},[],{"data":198142,"content":198143,"nodeType":883},{"uri":193859},[198144],{"data":198145,"marks":198146,"value":193865,"nodeType":864},{},[198147],{"type":1455},{"data":198149,"marks":198150,"value":21,"nodeType":864},{},[],{"data":198152,"content":198153,"nodeType":945},{},[198154],{"data":198155,"content":198156,"nodeType":941},{},[198157],{"data":198158,"content":198159,"nodeType":945},{},[198160],{"data":198161,"content":198162,"nodeType":860},{},[198163],{"data":198164,"marks":198165,"value":193884,"nodeType":864},{},[],{"data":198167,"content":198168,"nodeType":945},{},[198169],{"data":198170,"content":198171,"nodeType":860},{},[198172],{"data":198173,"marks":198174,"value":193894,"nodeType":864},{},[],{"data":198176,"content":198177,"nodeType":945},{},[198178],{"data":198179,"content":198180,"nodeType":860},{},[198181],{"data":198182,"marks":198183,"value":193904,"nodeType":864},{},[],{"data":198185,"content":198186,"nodeType":860},{},[198187,198190,198197],{"data":198188,"marks":198189,"value":193911,"nodeType":864},{},[],{"data":198191,"content":198192,"nodeType":883},{"uri":193914},[198193],{"data":198194,"marks":198195,"value":193920,"nodeType":864},{},[198196],{"type":1455},{"data":198198,"marks":198199,"value":193924,"nodeType":864},{},[],{"data":198201,"content":198202,"nodeType":1312},{},[198203],{"data":198204,"marks":198205,"value":32492,"nodeType":864},{},[],{"data":198207,"content":198208,"nodeType":860},{},[198209],{"data":198210,"marks":198211,"value":193937,"nodeType":864},{},[],{"data":198213,"content":198216,"nodeType":996},{"target":198214},{"sys":198215},{"id":193942,"type":1001,"linkType":1002},[],{"data":198218,"content":198219,"nodeType":860},{},[198220],{"data":198221,"marks":198222,"value":21,"nodeType":864},{},[],{"items":198224},[198225,198227],{"sys":198226,"name":342},{"id":6596},{"sys":198228,"name":297},{"id":2732},{"items":198230},[198231],{"fullName":73848,"firstName":73849,"jobTitle":73850,"profilePicture":198232},{"url":73852},{"__typename":2059,"sys":198234,"content":198235,"title":197706,"synopsis":198574,"hashTags":198575,"publishedDate":198581,"slug":197707,"tagsCollection":198582,"authorsCollection":198588},{"id":157512},{"json":198236},{"data":198237,"content":198238,"nodeType":856},{},[198239,198246,198252,198259,198278,198307,198314,198397,198416,198419,198426,198444,198451,198458,198461,198468,198512,198519,198535,198542,198545,198552,198559],{"data":198240,"content":198241,"nodeType":860},{},[198242],{"data":198243,"marks":198244,"value":198245,"nodeType":864},{},[],"Mail rules are a handy feature found in most email clients. You might have used them to forward emails to your teammates while you’re off sipping Piña coladas, or to move incoming email from that spammy colleague to the ‘don’t read’ folder.",{"data":198247,"content":198251,"nodeType":996},{"target":198248},{"sys":198249},{"id":198250,"type":1001,"linkType":1002},"7xLVXoCCjansV1u50e2pbM",[],{"data":198253,"content":198254,"nodeType":860},{},[198255],{"data":198256,"marks":198257,"value":198258,"nodeType":864},{},[],"Sadly for us defenders, they’re just as useful for attackers. After gaining access to a victim's account, attackers will often create a mail rule inside their mailbox as a way to maintain stealthy access. This mail rule can do anything a normal mail rule could but is usually used to forward emails matching sensitive keywords, like ‘invoice’ or ‘payment’, to an external email address controlled by the attacker.",{"data":198260,"content":198261,"nodeType":1116},{},[198262],{"data":198263,"content":198264,"nodeType":860},{},[198265,198269,198274],{"data":198266,"marks":198267,"value":198268,"nodeType":864},{},[],"This gives the ",{"data":198270,"marks":198271,"value":198273,"nodeType":864},{},[198272],{"type":899},"attacker persistent access to the mailbox",{"data":198275,"marks":198276,"value":198277,"nodeType":864},{},[],". Even if the victim's password is changed, they turn on MFA, or their workstation is completely rebuilt - as long as the rule stays in place, it remains effective.",{"data":198279,"content":198280,"nodeType":860},{},[198281,198285,198294,198298,198303],{"data":198282,"marks":198283,"value":198284,"nodeType":864},{},[],"As another example, in ",{"data":198286,"content":198288,"nodeType":883},{"uri":198287},"https://www.reddit.com/r/sysadmin/comments/6l63x6/malicious_outlook_rules/",[198289],{"data":198290,"marks":198291,"value":198293,"nodeType":864},{},[198292],{"type":1455},"this Reddit thread",{"data":198295,"marks":198296,"value":198297,"nodeType":864},{},[]," the author describes how mail rules were used to ",{"data":198299,"marks":198300,"value":198302,"nodeType":864},{},[198301],{"type":2246},"delete ",{"data":198304,"marks":198305,"value":198306,"nodeType":864},{},[],"any emails the affected user received from the company’s Chief Finance Officer (CFO) so that the attacker could pretend to be the CFO, sending them fake emails to convince them to transfer out company funds.",{"data":198308,"content":198309,"nodeType":860},{},[198310],{"data":198311,"marks":198312,"value":198313,"nodeType":864},{},[],"Business Email Compromise (BEC) like this is the most popular type of attack at the moment, causing damages well into the billions according to the FBI. Here are just a few publicly documented breaches involving mail rules:",{"data":198315,"content":198316,"nodeType":941},{},[198317,198337,198357,198377],{"data":198318,"content":198319,"nodeType":945},{},[198320],{"data":198321,"content":198322,"nodeType":860},{},[198323,198326,198334],{"data":198324,"marks":198325,"value":21,"nodeType":864},{},[],{"data":198327,"content":198329,"nodeType":883},{"uri":198328},"https://www.sans.org/dataincident2020",[198330],{"data":198331,"marks":198332,"value":198333,"nodeType":864},{},[],"SANS: 28,000 PII records lost",{"data":198335,"marks":198336,"value":21,"nodeType":864},{},[],{"data":198338,"content":198339,"nodeType":945},{},[198340],{"data":198341,"content":198342,"nodeType":860},{},[198343,198346,198354],{"data":198344,"marks":198345,"value":21,"nodeType":864},{},[],{"data":198347,"content":198349,"nodeType":883},{"uri":198348},"https://www.ic3.gov/Media/News/2020/201204.pdf",[198350],{"data":198351,"marks":198352,"value":198353,"nodeType":864},{},[],"FBI report: BEC involving malicious mail rules costs company $175k",{"data":198355,"marks":198356,"value":21,"nodeType":864},{},[],{"data":198358,"content":198359,"nodeType":945},{},[198360],{"data":198361,"content":198362,"nodeType":860},{},[198363,198366,198374],{"data":198364,"marks":198365,"value":21,"nodeType":864},{},[],{"data":198367,"content":198369,"nodeType":883},{"uri":198368},"https://www.reddit.com/r/Office365/comments/ej0wkx/hacker_created_forwarding_rules_for_users_account/",[198370],{"data":198371,"marks":198372,"value":198373,"nodeType":864},{},[],"Reddit thread: Hacker created forwarding rule for user's account",{"data":198375,"marks":198376,"value":8618,"nodeType":864},{},[],{"data":198378,"content":198379,"nodeType":945},{},[198380],{"data":198381,"content":198382,"nodeType":860},{},[198383,198386,198394],{"data":198384,"marks":198385,"value":21,"nodeType":864},{},[],{"data":198387,"content":198389,"nodeType":883},{"uri":198388},"https://www.microsoft.com/security/blog/2021/06/14/behind-the-scenes-of-business-email-compromise-using-cross-domain-threat-data-to-disrupt-a-large-bec-infrastructure/",[198390],{"data":198391,"marks":198392,"value":198393,"nodeType":864},{},[],"Microsoft case study of BEC operation using mail rules",{"data":198395,"marks":198396,"value":21,"nodeType":864},{},[],{"data":198398,"content":198399,"nodeType":860},{},[198400,198404,198412],{"data":198401,"marks":198402,"value":198403,"nodeType":864},{},[],"You can read ",{"data":198405,"content":198407,"nodeType":883},{"uri":198406},"/blog/case-study-business-email-compromise-bec-attack-nearly-cost-us-millions/",[198408],{"data":198409,"marks":198410,"value":198411,"nodeType":864},{},[],"this case study",{"data":198413,"marks":198414,"value":198415,"nodeType":864},{},[]," of a how a real Business Email Compromise (BEC) attack played out at an engineering firm that we interviewed.",{"data":198417,"content":198418,"nodeType":1005},{},[],{"data":198420,"content":198421,"nodeType":1009},{},[198422],{"data":198423,"marks":198424,"value":198425,"nodeType":864},{},[],"How likely is this to actually happen?",{"data":198427,"content":198428,"nodeType":860},{},[198429,198432,198440],{"data":198430,"marks":198431,"value":21,"nodeType":864},{},[],{"data":198433,"content":198435,"nodeType":883},{"uri":198434},"https://attack.mitre.org/techniques/T1114/003/",[198436],{"data":198437,"marks":198438,"value":198439,"nodeType":864},{},[],"MITRE lists threat groups",{"data":198441,"marks":198442,"value":198443,"nodeType":864},{},[]," that have been known to use mail rules in this way as part of targeted attacks. However, most often, this technique is used opportunistically.",{"data":198445,"content":198446,"nodeType":860},{},[198447],{"data":198448,"marks":198449,"value":198450,"nodeType":864},{},[],"Attackers run phishing campaigns containing thousands of harvested emails from multiple companies. A classic scenario is to trick a user into logging in to a fake Office 365 or Google Workspace login screen, stealing their credentials. Those credentials are then used to create a malicious mail rule inside the compromised user's mailbox. For scale and speed, this process is completely automated.",{"data":198452,"content":198453,"nodeType":860},{},[198454],{"data":198455,"marks":198456,"value":198457,"nodeType":864},{},[],"Similarly a mail rule could be created automatically as the result of a user’s workstation becoming infected with malware.",{"data":198459,"content":198460,"nodeType":1005},{},[],{"data":198462,"content":198463,"nodeType":1009},{},[198464],{"data":198465,"marks":198466,"value":198467,"nodeType":864},{},[],"How to defend against this type of attack?",{"data":198469,"content":198470,"nodeType":860},{},[198471,198475,198483,198487,198497,198500,198509],{"data":198472,"marks":198473,"value":198474,"nodeType":864},{},[],"The first step is to check your mailboxes to make sure no malicious mail rules have already been created. On Office 365, this will require rolling some PowerShell; on Google Workspace, you'll need to query the APIs (we discuss some detail of these options ",{"data":198476,"content":198478,"nodeType":883},{"uri":198477},"/blog/should-you-disable-external-email-auto-forwarding/",[198479],{"data":198480,"marks":198481,"value":198482,"nodeType":864},{},[],"in this post",{"data":198484,"marks":198485,"value":198486,"nodeType":864},{},[],"). Or you can save yourself some pain and use the free tool linked above, which we built for this very purpose. If you find rules that don't look right, follow these guides for what to do next on ",{"data":198488,"content":198492,"nodeType":27604},{"target":198489},{"sys":198490},{"id":198491,"type":1001,"linkType":1002},"e4805bba-2531-4250-bdcc-ab996dd33519",[198493],{"data":198494,"marks":198495,"value":198496,"nodeType":864},{},[],"Office 365",{"data":198498,"marks":198499,"value":27405,"nodeType":864},{},[],{"data":198501,"content":198505,"nodeType":27604},{"target":198502},{"sys":198503},{"id":198504,"type":1001,"linkType":1002},"50dab356-e78b-479d-ad45-a07b898b5ec4",[198506],{"data":198507,"marks":198508,"value":139601,"nodeType":864},{},[],{"data":198510,"marks":198511,"value":2924,"nodeType":864},{},[],{"data":198513,"content":198514,"nodeType":860},{},[198515],{"data":198516,"marks":198517,"value":198518,"nodeType":864},{},[],"It's also possible to stop users from creating auto-forwarding rules altogether. If no one is using the feature, this is probably a good idea - you might as well reduce risk. However, there are plenty of situations where teams benefit from the automation and efficiency mail rules bring. Security works best when it enables the business to work securely, rather than constraining it - leaving the feature available whilst managing the risk through detection is a good option as well.",{"data":198520,"content":198521,"nodeType":860},{},[198522,198526,198532],{"data":198523,"marks":198524,"value":198525,"nodeType":864},{},[],"We discuss more about the pros and cons of disabling mail rules and some options for some security controls you can implement so that you can keep them enabled ",{"data":198527,"content":198528,"nodeType":883},{"uri":198477},[198529],{"data":198530,"marks":198531,"value":60161,"nodeType":864},{},[],{"data":198533,"marks":198534,"value":2924,"nodeType":864},{},[],{"data":198536,"content":198537,"nodeType":860},{},[198538],{"data":198539,"marks":198540,"value":198541,"nodeType":864},{},[],"If you'd like, try Push for free and we'll spot any suspicious mail rules, then work with employees to make sure the mail rule wasn't something they created for a legitimate use. If they haven't, we'll notify you to take action and investigate a potential incident. Find out more here.",{"data":198543,"content":198544,"nodeType":1005},{},[],{"data":198546,"content":198547,"nodeType":1009},{},[198548],{"data":198549,"marks":198550,"value":30213,"nodeType":864},{},[198551],{"type":899},{"data":198553,"content":198554,"nodeType":860},{},[198555],{"data":198556,"marks":198557,"value":198558,"nodeType":864},{},[],"It doesn’t stop there — Push provides comprehensive identity attack detection and response capabilities against techniques like credential stuffing, password spraying and session hijacking using stolen session tokens. You can also use Push to find and fix identity vulnerabilities across every app that your employees use like: ghost logins; SSO coverage gaps; MFA gaps; weak, breached and reused passwords; risky OAuth integrations; and more. ",{"data":198560,"content":198561,"nodeType":860},{},[198562,198565,198571],{"data":198563,"marks":198564,"value":35574,"nodeType":864},{},[],{"data":198566,"content":198567,"nodeType":883},{"uri":44147},[198568],{"data":198569,"marks":198570,"value":12967,"nodeType":864},{},[],{"data":198572,"marks":198573,"value":2924,"nodeType":864},{},[],"After phishing campaigns target Office 365 and Google Workspace users, malicious mail rules are automatically added to the user’s mailbox. Take steps to defend.",[198576,271,198577,198578,198579,198580],"businessemailcompromise","mailrules","office365","googleworkspace","emailsecurity","2021-06-10T00:00:00.000+01:00",{"items":198583},[198584,198586],{"sys":198585,"name":6593},{"id":6592},{"sys":198587,"name":342},{"id":6596},{"items":198589},[198590],{"fullName":79005,"firstName":79006,"jobTitle":79007,"profilePicture":198591},{"url":79009},"blog/maintaining-persistent-access-in-a-saas-first-world",{"json":198594},{"data":198595,"content":198596,"nodeType":856},{},[198597],{"data":198598,"content":198599,"nodeType":860},{},[198600],{"data":198601,"marks":198602,"value":198603,"nodeType":864},{},[],"In this post, we’ll explore new methods for attackers to maintain persistence in the cloud",{"id":142095,"publishedAt":198605},"2026-08-12T11:56:35.761Z",{"items":198607},[198608],{"sys":198609,"name":6593},{"id":6592},{"items":198611},[198612,198614,198616,198618,198620,198622,198624],{"sys":198613,"name":545,"slug":546,"tier":31},{"id":542},{"sys":198615,"name":413,"slug":414,"tier":31},{"id":410},{"sys":198617,"name":642,"slug":643,"tier":31},{"id":639},{"sys":198619,"name":484,"slug":485,"tier":45},{"id":481},{"sys":198621,"name":571,"slug":572,"tier":45},{"id":568},{"sys":198623,"name":633,"slug":634,"tier":45},{"id":630},{"sys":198625,"name":431,"slug":432,"tier":45},{"id":428},"MHtPxZhzJdsKP4eytp-Wpmf3dRAN4vLNYJFbpZ0OKh0",{"id":198628,"title":195518,"authorsCollection":198629,"content":198634,"extension":228,"faqItemsCollection":199377,"faqTitle":59,"featured":6,"hashTags":59,"meta":199379,"metaTitle":199380,"ogImage":59,"postType":38987,"publishedDate":199381,"relatedBlogPostsCollection":199382,"slug":195519,"stem":200226,"subtitle":59,"summary":200227,"synopsis":200237,"sys":200238,"tagsCollection":200240,"topicsCollection":200246,"__hash__":200264},"blog/blog/is-it-safe-to-allow-my-employees-to-connect-third-party-apps-to-our-m365.json",{"items":198630},[198631],{"fullName":4949,"firstName":4950,"jobTitle":4951,"socialLinks":198632,"profilePicture":198633},[4953],{"url":4955},{"json":198635,"links":199309},{"data":198636,"content":198637,"nodeType":856},{},[198638,198645,198652,198659,198679,198686,198715,198722,198729,198748,198754,198761,198768,198774,198781,198788,198794,198801,198807,198813,198820,198826,198833,198839,198846,198853,198860,198867,198874,198881,198888,198895,198902,198965,198972,199138,199145,199152,199298,199303],{"data":198639,"content":198640,"nodeType":860},{},[198641],{"data":198642,"marks":198643,"value":198644,"nodeType":864},{},[],"It’s no secret that SaaS use is growing exponentially, but less has been said about third-party SaaS integrations, especially to core platforms like M365 or Google Workspace. In this article, we’ll explain what these third-party integrations are and what the security benefits vs risks of using them in your organization are. We’ll also provide some helpful tips about what you can do to remediate or at least lessen the risks.",{"data":198646,"content":198647,"nodeType":1009},{},[198648],{"data":198649,"marks":198650,"value":198651,"nodeType":864},{},[],"What are third-party SaaS integrations and what the heck is OAuth?",{"data":198653,"content":198654,"nodeType":860},{},[198655],{"data":198656,"marks":198657,"value":198658,"nodeType":864},{},[],"A third-party SaaS integration with your M365 or Google Workspace deployment allows an employee (or administrator) to grant some level of access to your data by that SaaS vendor. Employees want to connect these apps because they want to easily share projects across their tools, or integrate add-on features that make their workspaces more flexible or customized to their needs, or they simply need them to be more productive. And those apps must have some level of access to your data (and the employee’s data) to function properly. The problem comes in primarily because the level of access each app requests can vary significantly by both the type of data exposed and the number of employees it affects. ",{"data":198660,"content":198661,"nodeType":860},{},[198662,198666,198675],{"data":198663,"marks":198664,"value":198665,"nodeType":864},{},[],"It can be as simple as sharing an employee’s full name and email address with the SaaS provider if they login using their business Microsoft/Google account, otherwise known as a \"",{"data":198667,"content":198670,"nodeType":27604},{"target":198668},{"sys":198669},{"id":141516,"type":1001,"linkType":1002},[198671],{"data":198672,"marks":198673,"value":198674,"nodeType":864},{},[],"social login",{"data":198676,"marks":198677,"value":198678,"nodeType":864},{},[],".\" However, integrations can also request access to much more sensitive data, such as email inboxes and document stores (OneDrive, Sharepoint, Google Drive). Employees with administrative privileges can even create integrations that allow access to all employees’ data, rather than sharing only their own data. ",{"data":198680,"content":198681,"nodeType":860},{},[198682],{"data":198683,"marks":198684,"value":198685,"nodeType":864},{},[],"Clearly, the security and compliance risks associated are highly variable depending on the type of integration.",{"data":198687,"content":198688,"nodeType":860},{},[198689,198693,198700,198704,198712],{"data":198690,"marks":198691,"value":198692,"nodeType":864},{},[],"OAuth is an industry standard protocol for authorization (",{"data":198694,"content":198696,"nodeType":883},{"uri":198695},"https://oauth.net/2/",[198697],{"data":198698,"marks":198699,"value":198695,"nodeType":864},{},[],{"data":198701,"marks":198702,"value":198703,"nodeType":864},{},[],"). If you want to share your data on one app with another third-party app, rather than share your username and password, OAuth provides a way to authorize access to specific data based on a set of permissions. You can even later revoke access to specific apps without changing your password. A vendor that allows sharing of their data via OAuth can implement their own custom permissions - Google implements hundreds of permissions alone (",{"data":198705,"content":198707,"nodeType":883},{"uri":198706},"https://developers.google.com/identity/protocols/oauth2/scopes",[198708],{"data":198709,"marks":198710,"value":198706,"nodeType":864},{},[198711],{"type":1455},{"data":198713,"marks":198714,"value":12285,"nodeType":864},{},[],{"data":198716,"content":198717,"nodeType":860},{},[198718],{"data":198719,"marks":198720,"value":198721,"nodeType":864},{},[],"Essentially, OAuth is the protocol that allows you to easily choose which data you share with who and thus is a very common approach for how SaaS platforms integrate with other core SaaS platforms like Google or Microsoft.    ",{"data":198723,"content":198724,"nodeType":1312},{},[198725],{"data":198726,"marks":198727,"value":198728,"nodeType":864},{},[],"An Example - Adobe Creative Cloud",{"data":198730,"content":198731,"nodeType":860},{},[198732,198736,198744],{"data":198733,"marks":198734,"value":198735,"nodeType":864},{},[],"Let’s say your Marketing team wants to make use of Adobe Creative Cloud - perhaps they need Photoshop for some image-editing and Acrobat for some PDF-editing for marketing materials. They pop along to ",{"data":198737,"content":198739,"nodeType":883},{"uri":198738},"https://creativecloud.adobe.com/",[198740],{"data":198741,"marks":198742,"value":198738,"nodeType":864},{},[198743],{"type":1455},{"data":198745,"marks":198746,"value":198747,"nodeType":864},{},[]," and click to sign up and are presented with the following choice: ",{"data":198749,"content":198753,"nodeType":996},{"target":198750},{"sys":198751},{"id":198752,"type":1001,"linkType":1002},"ffx3tPYZNwZD6xj7IcLm1",[],{"data":198755,"content":198756,"nodeType":860},{},[198757],{"data":198758,"marks":198759,"value":198760,"nodeType":864},{},[],"Your organization is using Google Workspace for most core business functions, so they think “Oh great, I can login using my business Google account, no need to setup yet another online account and password!”",{"data":198762,"content":198763,"nodeType":860},{},[198764],{"data":198765,"marks":198766,"value":198767,"nodeType":864},{},[],"They click to “Continue with Google” and are presented with the choice to select their account. They are already logged in with Google so they don’t even need to enter their password.",{"data":198769,"content":198773,"nodeType":996},{"target":198770},{"sys":198771},{"id":198772,"type":1001,"linkType":1002},"507PcDcFrMbGBdpVzt8RFl",[],{"data":198775,"content":198776,"nodeType":860},{},[198777],{"data":198778,"marks":198779,"value":198780,"nodeType":864},{},[],"That’s it, they are now signed up to Adobe Creative Cloud, they pay their subscription and start using Adobe’s SaaS offerings. This is known as a Social Login, and it lets your marketing team quickly and easily log into Adobe using their existing Google account.",{"data":198782,"content":198783,"nodeType":860},{},[198784],{"data":198785,"marks":198786,"value":198787,"nodeType":864},{},[],"However, very limited data access has actually been provided to Adobe. Adobe has only been authorized to access basic details of the employee who signed up, as you can see in the integration details below:",{"data":198789,"content":198793,"nodeType":996},{"target":198790},{"sys":198791},{"id":198792,"type":1001,"linkType":1002},"HwDgqIjni9MzkwGJikdk1",[],{"data":198795,"content":198796,"nodeType":860},{},[198797],{"data":198798,"marks":198799,"value":198800,"nodeType":864},{},[],"However, after some use of Photoshop and Acrobat, your marketing team needs to both open and save documents on their Google Drive or OneDrive as that’s how they collaborate on all other documents within the company. No problem, Adobe allows you to add one of many cloud storage options. Given your company is using Google Drive, they pick that option and are presented with a new permission request from Google:",{"data":198802,"content":198806,"nodeType":996},{"target":198803},{"sys":198804},{"id":198805,"type":1001,"linkType":1002},"3pVLUawIy8ZIZwFCZXCOs8",[],{"data":198808,"content":198812,"nodeType":996},{"target":198809},{"sys":198810},{"id":198811,"type":1001,"linkType":1002},"zNKE1Et3zgLPFmdrvQrh4",[],{"data":198814,"content":198815,"nodeType":860},{},[198816],{"data":198817,"marks":198818,"value":198819,"nodeType":864},{},[],"This time, Adobe is requesting much more sensitive access than merely basic personal details - it’s asking for full read/write access to the employee’s entire Google Drive store. Google makes sure that’s clear and asks for authorization. Your employee clicks to continue and now they have the ability to read and write Google Drive from within Acrobat:",{"data":198821,"content":198825,"nodeType":996},{"target":198822},{"sys":198823},{"id":198824,"type":1001,"linkType":1002},"3EztvIY0a6amE9qx6pi3Pe",[],{"data":198827,"content":198828,"nodeType":860},{},[198829],{"data":198830,"marks":198831,"value":198832,"nodeType":864},{},[],"We can now see a new integration has been created, exposing a much more significant asset by allowing full access to Google Drive on behalf of the marketing employee.",{"data":198834,"content":198838,"nodeType":996},{"target":198835},{"sys":198836},{"id":198837,"type":1001,"linkType":1002},"7EJrX4ccSmWzWJ1kC6kMzf",[],{"data":198840,"content":198841,"nodeType":860},{},[198842],{"data":198843,"marks":198844,"value":198845,"nodeType":864},{},[],"We have just followed a user journey for two particularly common examples of integrations, but there are a huge number of SaaS providers out there and a huge variety of different types of integrations. However, the most common cases are simple social logins, document access, email access, calendar access and contacts access depending on the SaaS provider in use.",{"data":198847,"content":198848,"nodeType":1009},{},[198849],{"data":198850,"marks":198851,"value":198852,"nodeType":864},{},[],"Should I be worried about this?",{"data":198854,"content":198855,"nodeType":860},{},[198856],{"data":198857,"marks":198858,"value":198859,"nodeType":864},{},[],"As always, the answer is “it depends.” On the one hand, by default your employees can enable integrations for their own account with whatever third parties they like and potentially expose very sensitive data assets like document stores and email. It’s a bit melodramatic to put it this way, but consenting to OAuth permissions is like giving a third party an everlasting password to act in a limited capacity as a number of users with minimal monitoring and trusting them not to abuse that access.  ",{"data":198861,"content":198862,"nodeType":860},{},[198863],{"data":198864,"marks":198865,"value":198866,"nodeType":864},{},[],"On the other, many integrations (especially the ones you’ll recognize by name) don’t ask for excessive permissions, and are managed by responsible and security conscious vendors that generally do a great job of securing your data. The challenge is finding integrations for which this isn’t true.",{"data":198868,"content":198869,"nodeType":860},{},[198870],{"data":198871,"marks":198872,"value":198873,"nodeType":864},{},[],"The reality is that it’s probably already happening across your organization, whether you know it or not. After all, SaaS use is key to modern working environments and your employees will be using it somehow. At Push Security, it’s not unusual for us to see hundreds of third-party integrations on our customers’ Google Workspace and M365 instances, even in relatively small organizations. ",{"data":198875,"content":198876,"nodeType":860},{},[198877],{"data":198878,"marks":198879,"value":198880,"nodeType":864},{},[],"And in fact it’s not all doom and gloom, since your employees need to use SaaS providers anyway, there are actually some security benefits to making use of social logins and third party SaaS integrations are the key mechanism for doing so. ",{"data":198882,"content":198883,"nodeType":860},{},[198884],{"data":198885,"marks":198886,"value":198887,"nodeType":864},{},[],"This is a key reason to not take a heavy-handed stance of “block all integrations” - while you would certainly reduce the risk of data leaks, you’d also be losing the security benefits of social logins and severely hindering your employees from getting things done quickly and easily. You will also probably force them into effectively doing the same in a different way anyway (perhaps they simply start using their personal google account and google drive where they can do these integrations instead?).",{"data":198889,"content":198890,"nodeType":1009},{},[198891],{"data":198892,"marks":198893,"value":198894,"nodeType":864},{},[],"\nWhat are the security benefits?",{"data":198896,"content":198897,"nodeType":860},{},[198898],{"data":198899,"marks":198900,"value":198901,"nodeType":864},{},[],"There are a number of security benefits to using social logins and third-party integrations, but a few key considerations are:",{"data":198903,"content":198904,"nodeType":941},{},[198905,198920,198935,198950],{"data":198906,"content":198907,"nodeType":945},{},[198908],{"data":198909,"content":198910,"nodeType":860},{},[198911,198916],{"data":198912,"marks":198913,"value":198915,"nodeType":864},{},[198914],{"type":899},"Fewer passwords",{"data":198917,"marks":198918,"value":198919,"nodeType":864},{},[]," - if your employees use social logins everywhere, they can focus on having one strong password and not have to manage separate accounts and passwords for 20 different SaaS platforms.",{"data":198921,"content":198922,"nodeType":945},{},[198923],{"data":198924,"content":198925,"nodeType":860},{},[198926,198931],{"data":198927,"marks":198928,"value":198930,"nodeType":864},{},[198929],{"type":899},"MFA everywhere",{"data":198932,"marks":198933,"value":198934,"nodeType":864},{},[]," - if you have set up strong password policies and enforced MFA on your Google and Microsoft accounts, all of your SaaS platforms inherit the same security if you are using social logins.",{"data":198936,"content":198937,"nodeType":945},{},[198938],{"data":198939,"content":198940,"nodeType":860},{},[198941,198946],{"data":198942,"marks":198943,"value":198945,"nodeType":864},{},[198944],{"type":899},"Visibility of SaaS use",{"data":198947,"marks":198948,"value":198949,"nodeType":864},{},[]," - if employees use custom logins for all their SaaS platforms, you’ll have no idea what SaaS is in use (unless you use the Push browser extension ;)). With social logins and third-party integrations, you can see exactly what integrations you have across your organization, including which employees have shared which type of data access.",{"data":198951,"content":198952,"nodeType":945},{},[198953],{"data":198954,"content":198955,"nodeType":860},{},[198956,198961],{"data":198957,"marks":198958,"value":198960,"nodeType":864},{},[198959],{"type":899},"Fine-grained permissions ",{"data":198962,"marks":198963,"value":198964,"nodeType":864},{},[],"- OAuth integrations can request as little or as much access as they like. Ideally, many integrations will be nothing more than a social login or will otherwise limit the permissions to a small subset of data they require to reduce the risk. This is far more transparent than alternatives like integrations using API keys typically are.",{"data":198966,"content":198967,"nodeType":1312},{},[198968],{"data":198969,"marks":198970,"value":198971,"nodeType":864},{},[],"What are the security risks?",{"data":198973,"content":198974,"nodeType":941},{},[198975,198990,199005,199043,199058,199086,199113],{"data":198976,"content":198977,"nodeType":945},{},[198978],{"data":198979,"content":198980,"nodeType":860},{},[198981,198986],{"data":198982,"marks":198983,"value":198985,"nodeType":864},{},[198984],{"type":899},"Blindspots in your attack surface",{"data":198987,"marks":198988,"value":198989,"nodeType":864},{},[]," - At a higher level, you need to care because each of these third parties is now handling your data and you need to ensure they only have access to what they need to function, that they’re storing and managing your data responsibly, and that you treat them as you would any other vendor in your supply chain.",{"data":198991,"content":198992,"nodeType":945},{},[198993],{"data":198994,"content":198995,"nodeType":860},{},[198996,199001],{"data":198997,"marks":198998,"value":199000,"nodeType":864},{},[198999],{"type":899},"Excessive permissions",{"data":199002,"marks":199003,"value":199004,"nodeType":864},{},[]," - Third-party integrations can request whatever permissions they like. Some SaaS apps may choose to request excessively high permissions and simply not function unless an employee accepts it. This can lead to employees being conditioned to accept permissions whatever they are and granting excessive permissions.",{"data":199006,"content":199007,"nodeType":945},{},[199008],{"data":199009,"content":199010,"nodeType":860},{},[199011,199015,199019,199027,199030,199039],{"data":199012,"marks":199013,"value":40403,"nodeType":864},{},[199014],{"type":899},{"data":199016,"marks":199017,"value":199018,"nodeType":864},{},[]," - A technique that tricks a user into granting a malicious third-party app access to their account. Since this technique preys on users that are already logged in, it is effective against users with strong passwords, multi-factor authentication, or even passwordless setups. You can read more about this technique in our ",{"data":199020,"content":199022,"nodeType":883},{"uri":199021},"https://pushsecurity.com/blog/consent-phishing-the-emerging-phishing-technique-that-can-bypass-2fa/",[199023],{"data":199024,"marks":199025,"value":199026,"nodeType":864},{},[],"previous blog post",{"data":199028,"marks":199029,"value":1774,"nodeType":864},{},[],{"data":199031,"content":199033,"nodeType":883},{"uri":199032},"https://www.bleepingcomputer.com/news/security/sans-shares-details-on-attack-that-led-to-their-data-breach/",[199034],{"data":199035,"marks":199036,"value":199038,"nodeType":864},{},[199037],{"type":1455},"SANS had a breach in 2020",{"data":199040,"marks":199041,"value":199042,"nodeType":864},{},[]," caused by a consent phishing attack, which led to a leak of around 28,000 records of SANs members’ personal information (PII).",{"data":199044,"content":199045,"nodeType":945},{},[199046],{"data":199047,"content":199048,"nodeType":860},{},[199049,199054],{"data":199050,"marks":199051,"value":199053,"nodeType":864},{},[199052],{"type":899},"SaaS account compromise",{"data":199055,"marks":199056,"value":199057,"nodeType":864},{},[]," - If an employee has a separate account and password for a SaaS platform and that is compromised somehow, any integrations with your Google workspace or M365 are also compromised. For example, perhaps they have a weak password with no MFA on a SaaS provider and then an attacker uses that to access Google Drive via a pre-existing integration from that SaaS platform.",{"data":199059,"content":199060,"nodeType":945},{},[199061],{"data":199062,"content":199063,"nodeType":860},{},[199064,199069,199073,199082],{"data":199065,"marks":199066,"value":199068,"nodeType":864},{},[199067],{"type":899},"SaaS provider compromise",{"data":199070,"marks":199071,"value":199072,"nodeType":864},{},[]," - If a SaaS provider itself is compromised, any integrations could also be exploited. This is the SaaS integration equivalent of an MSP or other third party with privileged access to your data being compromised. Hubspot ",{"data":199074,"content":199076,"nodeType":883},{"uri":199075},"https://thehackernews.com/2022/04/into-breach-breaking-down-3-saas-app.html",[199077],{"data":199078,"marks":199079,"value":199081,"nodeType":864},{},[199080],{"type":1455},"experienced a breach",{"data":199083,"marks":199084,"value":199085,"nodeType":864},{},[]," in April 2022, which “allowed malicious actors the ability to access and export contact data using the employee's access to several HubSpot accounts.”",{"data":199087,"content":199088,"nodeType":945},{},[199089],{"data":199090,"content":199091,"nodeType":860},{},[199092,199097,199101,199109],{"data":199093,"marks":199094,"value":199096,"nodeType":864},{},[199095],{"type":899},"Stolen integration tokens ",{"data":199098,"marks":199099,"value":199100,"nodeType":864},{},[],"- The way integrations work under the hood are via OAuth tokens. If these are stolen somehow, due to a device compromise or SaaS provider compromise, they can potentially be used to gain access to data, similar to if a password was stolen in the same circumstances. They also do not expire on a password change, so changing a password after a compromise is not enough on its own to deal with this threat. A recent example of this was the ",{"data":199102,"content":199104,"nodeType":883},{"uri":199103},"https://github.blog/2022-04-15-security-alert-stolen-oauth-user-tokens/",[199105],{"data":199106,"marks":199107,"value":199108,"nodeType":864},{},[],"exploitation of GitHub",{"data":199110,"marks":199111,"value":199112,"nodeType":864},{},[]," via tokens stolen from Heroku and TravisCI. ",{"data":199114,"content":199115,"nodeType":945},{},[199116],{"data":199117,"content":199118,"nodeType":860},{},[199119,199124,199128,199135],{"data":199120,"marks":199121,"value":199123,"nodeType":864},{},[199122],{"type":899},"Integration backdoors",{"data":199125,"marks":199126,"value":199127,"nodeType":864},{},[]," - Integrations provide another method of backdoor access to a user account post-compromise. Setting up a malicious integration is one method to maintain access to data that will survive a password change conducted as part of incident response. A real-world example of this issue was a privilege escalation attack in Azure, covered nicely ",{"data":199129,"content":199131,"nodeType":883},{"uri":199130},"https://posts.specterops.io/azure-privilege-escalation-via-service-principal-abuse-210ae2be2a5",[199132],{"data":199133,"marks":199134,"value":29669,"nodeType":864},{},[],{"data":199136,"marks":199137,"value":1774,"nodeType":864},{},[],{"data":199139,"content":199140,"nodeType":1312},{},[199141],{"data":199142,"marks":199143,"value":199144,"nodeType":864},{},[],"Security guidance tips for third-party integrations",{"data":199146,"content":199147,"nodeType":860},{},[199148],{"data":199149,"marks":199150,"value":199151,"nodeType":864},{},[],"Let’s face it, your employees need to use SaaS solutions to be productive and they are going to use them somehow. We have even seen how third-party SaaS integrations can provide some security benefits, too, but there are new risks to be aware of as well. Here are some basic security tips to consider to ensure you are enabling this practice securely.",{"data":199153,"content":199154,"nodeType":941},{},[199155,199170,199185,199200,199215,199230,199271],{"data":199156,"content":199157,"nodeType":945},{},[199158],{"data":199159,"content":199160,"nodeType":860},{},[199161,199166],{"data":199162,"marks":199163,"value":199165,"nodeType":864},{},[199164],{"type":899},"Gain visibility",{"data":199167,"marks":199168,"value":199169,"nodeType":864},{},[]," - Whether you know it or not, your employees are probably using SaaS platforms, which may include third-party SaaS integrations. Find out what SaaS platforms and integrations are in use and pay attention to any with sensitive permissions you might want to review. Push can help do this for you. ",{"data":199171,"content":199172,"nodeType":945},{},[199173],{"data":199174,"content":199175,"nodeType":860},{},[199176,199181],{"data":199177,"marks":199178,"value":199180,"nodeType":864},{},[199179],{"type":899},"Remove dormant or infrequently used integrations ",{"data":199182,"marks":199183,"value":199184,"nodeType":864},{},[],"- Reduce your attack surface by simply removing the apps no one or only a few people are using. This also makes the third-party security vetting process a bit less burdensome, so it’s a smart move once you know which integrations won’t be missed when they’re gone. We can help with this as well. ",{"data":199186,"content":199187,"nodeType":945},{},[199188],{"data":199189,"content":199190,"nodeType":860},{},[199191,199196],{"data":199192,"marks":199193,"value":199195,"nodeType":864},{},[199194],{"type":899},"Modify incident response playbooks ",{"data":199197,"marks":199198,"value":199199,"nodeType":864},{},[],"- If you have incident response playbooks in place for what to do in the event of an employee’s password being compromised or their laptop/mobile being stolen or infected with malware, you need to consider modifying these. Consider adding invalidating SaaS OAuth tokens in addition to standard steps like password changes, remote wipes and fresh device builds.",{"data":199201,"content":199202,"nodeType":945},{},[199203],{"data":199204,"content":199205,"nodeType":860},{},[199206,199211],{"data":199207,"marks":199208,"value":199210,"nodeType":864},{},[199209],{"type":899},"Encourage social logins ",{"data":199212,"marks":199213,"value":199214,"nodeType":864},{},[],"- Social logins have a bit of a bad rap, possibly this is due to their roots in low security, non-work environments - but that being said, when using your M365 or Workspace as the identity source these methods are a great for for many organizations that struggle with weak passwords, shared passwords and a lack of MFA across SaaS apps. If you're going to be using social logins, it makes sense to ensure your Google/Microsoft accounts have good password policies and MFA. ",{"data":199216,"content":199217,"nodeType":945},{},[199218],{"data":199219,"content":199220,"nodeType":860},{},[199221,199226],{"data":199222,"marks":199223,"value":199225,"nodeType":864},{},[199224],{"type":899},"Educate your users about consent phishing",{"data":199227,"marks":199228,"value":199229,"nodeType":864},{},[]," - Awareness of traditional phishing for passwords is pretty high these days, but awareness about consent phishing is far lower. Make sure your employees are aware of this as well and know who to speak to if they’re worried they consented to a malicious app.",{"data":199231,"content":199232,"nodeType":945},{},[199233],{"data":199234,"content":199235,"nodeType":860},{},[199236,199241,199245,199254,199258,199267],{"data":199237,"marks":199238,"value":199240,"nodeType":864},{},[199239],{"type":899},"Admin approval for sensitive permissions - ",{"data":199242,"marks":199243,"value":199244,"nodeType":864},{},[],"M365 has an admin approval process for integrations and allows you to define low risk permissions that users can consent to themselves. This can allow you to empower users to use social logins and lower risk integrations on their own, but require an admin to approve apps requiring more sensitive permissions. Google workspace allows you to configure restricted permissions but is much less flexible. Check out Microsoft’s ",{"data":199246,"content":199248,"nodeType":883},{"uri":199247},"https://docs.microsoft.com/en-us/azure/active-directory/manage-apps/configure-admin-consent-workflow",[199249],{"data":199250,"marks":199251,"value":199253,"nodeType":864},{},[199252],{"type":1455},"admin consent workflow guide",{"data":199255,"marks":199256,"value":199257,"nodeType":864},{},[]," and their article about ",{"data":199259,"content":199261,"nodeType":883},{"uri":199260},"https://docs.microsoft.com/en-us/azure/active-directory/manage-apps/configure-permission-classifications?tabs=azure-portal",[199262],{"data":199263,"marks":199264,"value":199266,"nodeType":864},{},[199265],{"type":1455},"how to configure permissions ",{"data":199268,"marks":199269,"value":199270,"nodeType":864},{},[],"for more guidance.",{"data":199272,"content":199273,"nodeType":945},{},[199274],{"data":199275,"content":199276,"nodeType":860},{},[199277,199282,199286,199295],{"data":199278,"marks":199279,"value":199281,"nodeType":864},{},[199280],{"type":899},"Prioritize apps that need additional vetting ",{"data":199283,"marks":199284,"value":199285,"nodeType":864},{},[],"- prioritize apps based on how many people in the company use it and if it’s requesting access to highly sensitive data to work or integrating with SaaS that have data you don’t want exposed. We provided some more practical guidance on risk prioritization ",{"data":199287,"content":199290,"nodeType":27604},{"target":199288},{"sys":199289},{"id":151289,"type":1001,"linkType":1002},[199291],{"data":199292,"marks":199293,"value":29669,"nodeType":864},{},[199294],{"type":1455},{"data":199296,"marks":199297,"value":2924,"nodeType":864},{},[],{"data":199299,"content":199302,"nodeType":996},{"target":199300},{"sys":199301},{"id":193942,"type":1001,"linkType":1002},[],{"data":199304,"content":199305,"nodeType":860},{},[199306],{"data":199307,"marks":199308,"value":21,"nodeType":864},{},[],{"entries":199310},{"inline":199311,"hyperlink":199312,"block":199317},[],[199313,199315],{"sys":199314,"__typename":2059,"title":150747,"slug":150748},{"id":141516},{"sys":199316,"__typename":2059,"title":164841,"slug":164842},{"id":151289},[199318,199325,199331,199337,199342,199349,199354,199360],{"sys":199319,"__typename":1724,"title":199320,"caption":199321,"layoutMode":59,"file":199322},{"id":198752},"OAuth Adobe example","Example of an OAuth / Social login",{"url":199323,"width":197733,"height":199324},"https://images.ctfassets.net/y1cdw1ablpvd/6pEiqSetxWVLelN31IKEeY/c0d22fd96149753ebc08d05b79c398c5/image6.png",922,{"sys":199326,"__typename":1724,"title":199327,"caption":199328,"layoutMode":59,"file":199329},{"id":198772},"Login with Google example","Choose which Google account to login with",{"url":199330,"width":197733,"height":199324},"https://images.ctfassets.net/y1cdw1ablpvd/n3VMAqOZNNsOoQrdjZyvS/79e6a4d8c33add2d014be89457907da1/image4.png",{"sys":199332,"__typename":1724,"title":199333,"caption":199333,"layoutMode":59,"file":199334},{"id":198792},"Push OAuth (third-party integration) details panel",{"url":199335,"width":199336,"height":125749},"https://images.ctfassets.net/y1cdw1ablpvd/5LRUtkyeQF3RvD7V9KVBNV/4bd2f9cb0b0709a74a32259543461d45/image3.png",733,{"sys":199338,"__typename":1724,"title":199339,"caption":199339,"layoutMode":59,"file":199340},{"id":198805},"Permission request from Google",{"url":199341,"width":197733,"height":53092},"https://images.ctfassets.net/y1cdw1ablpvd/4oCVoWws9dIB52qS3dXqdv/5cb3dd2d3be0295443853b86ac0afbba/image2.png",{"sys":199343,"__typename":1724,"title":199344,"caption":199345,"layoutMode":59,"file":199346},{"id":198811},"Adobe wants to access your Google account","Adobe connecting to Google",{"url":199347,"width":197733,"height":199348},"https://images.ctfassets.net/y1cdw1ablpvd/AdvCDGO8Hqow3GhbA8JVv/dc70d323c1e5cce3e78e257b481b16a2/image1.png",1566,{"sys":199350,"__typename":1724,"title":199351,"caption":199351,"layoutMode":59,"file":199352},{"id":198824},"Acrobat requesting permission to access Google ",{"url":199353,"width":197733,"height":174377},"https://images.ctfassets.net/y1cdw1ablpvd/6Mai9NoebpGJvZBv4yUyDZ/98e63a152b4cdd7608195f10240604d6/image5.png",{"sys":199355,"__typename":1724,"title":199356,"caption":199357,"layoutMode":59,"file":199358},{"id":198837},"Push's OAuth integration panel Adobe","Push's OAuth integration panel for the Adobe app",{"url":199359,"width":199336,"height":125749},"https://images.ctfassets.net/y1cdw1ablpvd/6bAz2nvGdkJYA45K7Sfwh/4c09eb10980f8f94f05b9ccaa1f97227/image7.png",{"sys":199361,"__typename":199362,"content":199363,"title":199374,"buttonText":199375,"buttonUrl":199376,"signupRedirectUrl":59},{"id":193942},"ActionBlockComponent",{"json":199364},{"nodeType":856,"data":199365,"content":199366},{},[199367],{"nodeType":860,"content":199368,"data":199373},[199369],{"nodeType":864,"value":199370,"marks":199371,"data":199372},"Find out if you have any malicious apps that employees have accidentally installed due to consent phishing. Note: you must be logged in to access.",[],{},{},"Detect risky third-party apps and malicious mail rules ","Check now","/app/feature/secure-oauth-permissions-and-applications/",{"items":199378},[],{},"Should I connect third-party apps to my M365/Google tenant?","2022-10-12T00:00:00.000Z",{"items":199383},[199384,199844],{"__typename":2059,"sys":199385,"content":199387,"title":199830,"synopsis":199831,"hashTags":59,"publishedDate":199832,"slug":199833,"tagsCollection":199834,"authorsCollection":199840},{"id":199386},"6yiDFGYTMw79qmErstqRqp",{"json":199388},{"data":199389,"content":199390,"nodeType":856},{},[199391,199423,199426,199433,199440,199445,199452,199468,199475,199482,199502,199559,199562,199569,199638,199654,199661,199668,199687,199694,199714,199721,199728,199735,199742,199749,199756,199762,199769,199776,199792,199795,199813],{"data":199392,"content":199393,"nodeType":860},{},[199394,199398,199407,199411,199419],{"data":199395,"marks":199396,"value":199397,"nodeType":864},{},[],"Despite measures by Microsoft to address the issue, ",{"data":199399,"content":199401,"nodeType":883},{"uri":199400},"https://www.microsoft.com/security/blog/2021/07/14/microsoft-delivers-comprehensive-solution-to-battle-rise-in-consent-phishing-emails/",[199402],{"data":199403,"marks":199404,"value":199406,"nodeType":864},{},[199405],{"type":1455},"consent phishing is still on the rise",{"data":199408,"marks":199409,"value":199410,"nodeType":864},{},[],". (Not sure what consent phishing is? ",{"data":199412,"content":199413,"nodeType":883},{"uri":199021},[199414],{"data":199415,"marks":199416,"value":199418,"nodeType":864},{},[199417],{"type":1455},"Read more here",{"data":199420,"marks":199421,"value":199422,"nodeType":864},{},[],"). Although prevention is best, how do you check this hasn’t already happened? ",{"data":199424,"content":199425,"nodeType":1005},{},[],{"data":199427,"content":199428,"nodeType":860},{},[199429],{"data":199430,"marks":199431,"value":199432,"nodeType":864},{},[],"First, a bit of background on how OAuth apps work in Microsoft 365.",{"data":199434,"content":199435,"nodeType":860},{},[199436],{"data":199437,"marks":199438,"value":199439,"nodeType":864},{},[],"When you install an OAuth app in Microsoft 365, you see something like the familiar consent screen below, which shows the app's name and the permissions it's asking for. Once you've given your consent, behind the scenes a “service principal” is created in your tenant - this is your instance of the app. When the app does whatever the app is supposed to do (e.g. inspect your calendar, manage your to-do list etc.), it does it via this service principal.",{"data":199441,"content":199444,"nodeType":996},{"target":199442},{"sys":199443},{"id":139571,"type":1001,"linkType":1002},[],{"data":199446,"content":199447,"nodeType":860},{},[199448],{"data":199449,"marks":199450,"value":199451,"nodeType":864},{},[],"The app is able to authenticate to do this using a token that it is sent during the consent process. If you look closely at the URL you visit to get to the consent screen (example below), you’ll see there is a reply URL parameter - this is telling Microsoft where to send the token when a user consents:",{"data":199453,"content":199454,"nodeType":860},{},[199455,199459,199464],{"data":199456,"marks":199457,"value":199458,"nodeType":864},{},[],"https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id=\u003Cclient_id>&response_type=code&",{"data":199460,"marks":199461,"value":199463,"nodeType":864},{},[199462],{"type":899},"redirect_uri=https%3A%2F%pushsecurity.com ",{"data":199465,"marks":199466,"value":199467,"nodeType":864},{},[],"&response_mode=query&scope=https%3A%2F%2Fgraph.microsoft.com%2F calendars.read%20https%3A%2F%2Fgraph.microsoft.com%2Fmail.send&state=12345",{"data":199469,"content":199470,"nodeType":860},{},[199471],{"data":199472,"marks":199473,"value":199474,"nodeType":864},{},[],"The app uses this token to authenticate as the service principal to then do whatever it’s supposed to do. In case your hacker brain is getting ahead of itself, you can’t change the reply URL to any old value to steal tokens. The app developer specifies a list of URLs that are allowed to be used here in the app’s manifest - more on that later.",{"data":199476,"content":199477,"nodeType":860},{},[199478],{"data":199479,"marks":199480,"value":199481,"nodeType":864},{},[],"Until recently, this ecosystem was a bit of a wild west. Although you can publish apps in the official app store, you don’t have to. Attackers were able to create an app on their tenant and then send consent URLs encouraging victims to grant them access, often having great success. ",{"data":199483,"content":199484,"nodeType":860},{},[199485,199489,199498],{"data":199486,"marks":199487,"value":199488,"nodeType":864},{},[],"In October 2020, ",{"data":199490,"content":199492,"nodeType":883},{"uri":199491},"https://techcommunity.microsoft.com/t5/azure-active-directory-identity/publisher-verification-and-app-consent-policies-are-now/ba-p/1257374",[199493],{"data":199494,"marks":199495,"value":199497,"nodeType":864},{},[199496],{"type":1455},"Microsoft released “Publisher verification”",{"data":199499,"marks":199500,"value":199501,"nodeType":864},{},[],", allowing developers to be vetted by Microsoft and get a badge of approval on their consent screens. The following month, Microsoft changed policies so users, by default, weren't allowed to consent to apps that didn't come from a verified publisher. This makes a consent phishing attack much more difficult for attackers who are now left with the following options:",{"data":199503,"content":199504,"nodeType":941},{},[199505,199526,199549],{"data":199506,"content":199507,"nodeType":945},{},[199508],{"data":199509,"content":199510,"nodeType":860},{},[199511,199515,199523],{"data":199512,"marks":199513,"value":199514,"nodeType":864},{},[],"Find a tenant that allows users to consent to non-verified apps. The default should have been changed for all to not allow this but you can change it back (in case you’re curious, ",{"data":199516,"content":199517,"nodeType":883},{"uri":193859},[199518],{"data":199519,"marks":199520,"value":199522,"nodeType":864},{},[199521],{"type":1455},"see how to check your own settings here",{"data":199524,"marks":199525,"value":22438,"nodeType":864},{},[],{"data":199527,"content":199528,"nodeType":945},{},[199529],{"data":199530,"content":199531,"nodeType":860},{},[199532,199536,199545],{"data":199533,"marks":199534,"value":199535,"nodeType":864},{},[],"Go through the publisher verification process anyway: the process is ",{"data":199537,"content":199539,"nodeType":883},{"uri":199538},"https://docs.microsoft.com/en-gb/azure/active-directory/develop/publisher-verification-overview#requirements",[199540],{"data":199541,"marks":199542,"value":199544,"nodeType":864},{},[199543],{"type":1455},"detailed here",{"data":199546,"marks":199547,"value":199548,"nodeType":864},{},[],". It’s probably possible to trick but requires mocking a real company which is going to be expensive and hard to scale.",{"data":199550,"content":199551,"nodeType":945},{},[199552],{"data":199553,"content":199554,"nodeType":860},{},[199555],{"data":199556,"marks":199557,"value":199558,"nodeType":864},{},[],"Compromise an already verified publisher: definitely adds cost and complexity to an attack but would be an extremely valuable and effective approach - how much do you trust the security of all your app publishers?",{"data":199560,"content":199561,"nodeType":1005},{},[],{"data":199563,"content":199564,"nodeType":860},{},[199565],{"data":199566,"marks":199567,"value":199568,"nodeType":864},{},[],"So let’s look for some malicious apps...",{"data":199570,"content":199571,"nodeType":860},{},[199572,199576,199585,199589,199598,199602,199611,199614,199623,199627,199634],{"data":199573,"marks":199574,"value":199575,"nodeType":864},{},[],"The Azure AD interface to inspect OAuth apps, or service principals, is the ",{"data":199577,"content":199579,"nodeType":883},{"uri":199578},"https://portal.azure.com/#blade/Microsoft_AAD_IAM/StartboardApplicationsMenuBlade/AllApps/menuId/",[199580],{"data":199581,"marks":199582,"value":199584,"nodeType":864},{},[199583],{"type":1455},"Enterprise Applications blade",{"data":199586,"marks":199587,"value":199588,"nodeType":864},{},[]," but it’s lacking key information you need for this exercise like the reply URLs and publisher status. You might be able to see similar info if you have the licenses for ",{"data":199590,"content":199592,"nodeType":883},{"uri":199591},"https://docs.microsoft.com/en-gb/cloud-app-security/what-is-cloud-app-security",[199593],{"data":199594,"marks":199595,"value":199597,"nodeType":864},{},[199596],{"type":1455},"Cloud App Security",{"data":199599,"marks":199600,"value":199601,"nodeType":864},{},[]," but they’re expensive - you can also get full information about service principals from ",{"data":199603,"content":199605,"nodeType":883},{"uri":199604},"https://docs.microsoft.com/en-us/graph/api/resources/serviceprincipal?view=graph-rest-1.0",[199606],{"data":199607,"marks":199608,"value":199610,"nodeType":864},{},[199609],{"type":1455},"Graph API",{"data":199612,"marks":199613,"value":12960,"nodeType":864},{},[],{"data":199615,"content":199617,"nodeType":883},{"uri":199616},"https://docs.microsoft.com/en-us/powershell/module/az.resources/get-azadserviceprincipal?view=azps-6.3.0",[199618],{"data":199619,"marks":199620,"value":199622,"nodeType":864},{},[199621],{"type":1455},"PowerShell",{"data":199624,"marks":199625,"value":199626,"nodeType":864},{},[]," (is it too early to say that ",{"data":199628,"content":199629,"nodeType":883},{"uri":139668},[199630],{"data":199631,"marks":199632,"value":199633,"nodeType":864},{},[],"Push can also solve this problem",{"data":199635,"marks":199636,"value":199637,"nodeType":864},{},[]," for you in only a few button clicks?)",{"data":199639,"content":199640,"nodeType":860},{},[199641,199645,199650],{"data":199642,"marks":199643,"value":199644,"nodeType":864},{},[],"Right off the bat, ",{"data":199646,"marks":199647,"value":199649,"nodeType":864},{},[199648],{"type":899},"we can disregard a lot of the information presented by the app",{"data":199651,"marks":199652,"value":199653,"nodeType":864},{},[],". The app’s name, home page, logo can all be anything an attacker says so if they’re trying to trick a user this will most likely look convincing and legitimate. The best you can do here is sanity check that this app makes sense in the context of your organisation or this user. ",{"data":199655,"content":199656,"nodeType":860},{},[199657],{"data":199658,"marks":199659,"value":199660,"nodeType":864},{},[],"So what is useful?",{"data":199662,"content":199663,"nodeType":1312},{},[199664],{"data":199665,"marks":199666,"value":199667,"nodeType":864},{},[],"What can the app do?",{"data":199669,"content":199670,"nodeType":860},{},[199671,199675,199684],{"data":199672,"marks":199673,"value":199674,"nodeType":864},{},[],"Start by prioritising apps by the permissions they’ve been granted. Attackers will often target access to mail, files, or admin functionality so any app that requests these should be subject to more scrutiny and looked at first. As with any security exercise, you’ll know best for what’s sensitive to your organisation so apply that logic here. If you are unsure what a specific permission means, ",{"data":199676,"content":199678,"nodeType":883},{"uri":199677},"https://docs.microsoft.com/en-us/graph/permissions-reference",[199679],{"data":199680,"marks":199681,"value":199683,"nodeType":864},{},[199682],{"type":1455},"here's a full reference",{"data":199685,"marks":199686,"value":12252,"nodeType":864},{},[],{"data":199688,"content":199689,"nodeType":1312},{},[199690],{"data":199691,"marks":199692,"value":199693,"nodeType":864},{},[],"Access to all data or just specific users?",{"data":199695,"content":199696,"nodeType":860},{},[199697,199701,199711],{"data":199698,"marks":199699,"value":199700,"nodeType":864},{},[],"It’s important to understand the difference between app permissions and delegated permissions. In short, app permissions grant tenant-wide access, delegated permissions grant access as the user. For example, if the app permission Mail.Read was granted to an app, it could read everyone’s email. If the delegated permission Mail.Read was granted to an app, it could only read the mail of the person who granted permission. ",{"data":199702,"content":199706,"nodeType":27604},{"target":199703},{"sys":199704},{"id":199705,"type":1001,"linkType":1002},"16568b78-3c85-451f-bb62-9d50148ca1b9",[199707],{"data":199708,"marks":199709,"value":199710,"nodeType":864},{},[],"Learn more about app vs. delegated permissions here",{"data":199712,"marks":199713,"value":2924,"nodeType":864},{},[],{"data":199715,"content":199716,"nodeType":1312},{},[199717],{"data":199718,"marks":199719,"value":199720,"nodeType":864},{},[],"How many users have installed this app?",{"data":199722,"content":199723,"nodeType":860},{},[199724],{"data":199725,"marks":199726,"value":199727,"nodeType":864},{},[],"If you are the victim of consent phishing, hopefully the attacker only managed to dupe a small number of users, so common advice would be prioritise apps with a low install count. Although this makes sense, it’s often not that practical since, unless you’ve been running a tight ship, you’ll probably find a lot of apps used by one or two people.",{"data":199729,"content":199730,"nodeType":860},{},[199731],{"data":199732,"marks":199733,"value":199734,"nodeType":864},{},[],"On the flip side, app permissions can only be approved by an admin; admins can also consent to delegated permissions on behalf of all users. So apps with these permissions - effectively tenant-wide access - have also probably been approved by only a single user. Hopefully you have more faith in your admins’ ability to spot a phish but you should still treat these as having only been vetted by a single user.",{"data":199736,"content":199737,"nodeType":1312},{},[199738],{"data":199739,"marks":199740,"value":199741,"nodeType":864},{},[],"Where the tokens go - the thing you can’t spoof",{"data":199743,"content":199744,"nodeType":860},{},[199745],{"data":199746,"marks":199747,"value":199748,"nodeType":864},{},[],"The only piece of information an app can’t lie about is its reply URLs. As mentioned above, these are the URLs that Microsoft is allowed to send an access token to when a user consents. If the app publisher doesn’t own these domains, they won’t ever receive their token and they can’t use the app’s access. If you can confirm all the reply URLs specified by the app are legitimately owned by the organisation the app is supposed to be from, you can be fairly confident the app is owned by them.",{"data":199750,"content":199751,"nodeType":860},{},[199752],{"data":199753,"marks":199754,"value":199755,"nodeType":864},{},[],"In the interests of keeping this short(er), a guide on domain analysis is probably out of scope. However, here’s a real-world example malicious OAuth app that was pretending to be Salesforce related, using a pretty suspicious looking URL, so you won’t always need deep analysis:",{"data":199757,"content":199761,"nodeType":996},{"target":199758},{"sys":199759},{"id":199760,"type":1001,"linkType":1002},"1oSdJPeXHsGlAXeX6Q2UOs",[],{"data":199763,"content":199764,"nodeType":1312},{},[199765],{"data":199766,"marks":199767,"value":199768,"nodeType":864},{},[],"Is it verified? Does it matter?",{"data":199770,"content":199771,"nodeType":860},{},[199772],{"data":199773,"marks":199774,"value":199775,"nodeType":864},{},[],"You might be tempted to trust any app that is verified by Microsoft. The stamp of verification is clearly worth something but, as mentioned earlier, don’t discount the possibility of a determined attacker compromising a verified publisher to publish their own malicious app or edit an existing one. ",{"data":199777,"content":199778,"nodeType":860},{},[199779,199783,199788],{"data":199780,"marks":199781,"value":199782,"nodeType":864},{},[],"Likewise, you might also find a lot of your service principals, even ones by seemingly reputable publishers, are reported as not verified. This is because the service principal is an instance of the app at the time of install - if the publisher wasn’t verified at that point, the service principal won’t be (even if the publisher has since been verified). Since Microsoft only introduced publisher verification in 2020, all apps installed before this date will report as unverified. For reference, 78% of the service principals we’ve looked at report as having unverified publishers so this isn’t ",{"data":199784,"marks":199785,"value":199787,"nodeType":864},{},[199786],{"type":2246},"necessarily",{"data":199789,"marks":199790,"value":199791,"nodeType":864},{},[]," something to worry about. ",{"data":199793,"content":199794,"nodeType":1005},{},[],{"data":199796,"content":199797,"nodeType":860},{},[199798,199802,199809],{"data":199799,"marks":199800,"value":199801,"nodeType":864},{},[],"If you find apps that look like they don't belong and you're worried they're the result of consent phishing, as well as removing the app's access (you can do this on the app's Properties page in the ",{"data":199803,"content":199805,"nodeType":883},{"uri":199804},"https://aad.portal.azure.com/#blade/Microsoft_AAD_IAM/StartboardApplicationsMenuBlade/AllApps",[199806],{"data":199807,"marks":199808,"value":199584,"nodeType":864},{},[],{"data":199810,"marks":199811,"value":199812,"nodeType":864},{},[],"), you should investigate how the app got there in the first place. A detailed walkthrough of how to fully investigate is coming soon.",{"data":199814,"content":199815,"nodeType":860},{},[199816,199820,199827],{"data":199817,"marks":199818,"value":199819,"nodeType":864},{},[],"You can gather information about the apps in your Microsoft 365 tenant with only a few clicks using the Push platform. See which apps are installed on your tenant, what kind of access they have and if we think any look suspicious. It only takes a few minutes and is totally free! ",{"data":199821,"content":199822,"nodeType":883},{"uri":139668},[199823],{"data":199824,"marks":199825,"value":199826,"nodeType":864},{},[],"Check it out.",{"data":199828,"marks":199829,"value":21,"nodeType":864},{},[],"How to find a malicious OAuth app on Microsoft 365 ","How do you find a malicious Microsoft 365 OAuth app? Learn what to look for, and what to ignore, when checking your users haven't been consent phished.","2021-09-06T00:00:00.000+01:00","how-to-find-a-malicious-oauth-app-on-microsoft-365",{"items":199835},[199836,199838],{"sys":199837,"name":297},{"id":2732},{"sys":199839,"name":342},{"id":6596},{"items":199841},[199842],{"fullName":79005,"firstName":79006,"jobTitle":79007,"profilePicture":199843},{"url":79009},{"__typename":2059,"sys":199845,"content":199846,"title":150747,"synopsis":200214,"hashTags":59,"publishedDate":200215,"slug":150748,"tagsCollection":200216,"authorsCollection":200222},{"id":141516},{"json":199847},{"data":199848,"content":199849,"nodeType":856},{},[199850,199857,199864,199870,199877,199883,199890,199897,199904,199911,199918,199924,199931,199938,199945,199963,199981,199999,200028,200054,200072,200079,200086,200093,200100,200107,200114,200132,200162,200169,200187,200194,200201,200207],{"data":199851,"content":199852,"nodeType":860},{},[199853],{"data":199854,"marks":199855,"value":199856,"nodeType":864},{},[],"We have all seen the option on websites to login using a variety of different tech giant accounts (“Login with Google, Login with Microsoft”), instead of creating a new account or using username and password. This is known as a social login and, less often, social sign-in or social sign-on. ",{"data":199858,"content":199859,"nodeType":860},{},[199860],{"data":199861,"marks":199862,"value":199863,"nodeType":864},{},[],"Normally, this is more associated with personal use than business use, but it’s just as possible for employees to log into a SaaS platform using a business Google Workspace account - but should we be encouraging or discouraging this behavior? We’ll answer that question in this article but, spoiler alert, at Push Security we encourage it in most cases and we’ll explain why in this article. ",{"data":199865,"content":199869,"nodeType":996},{"target":199866},{"sys":199867},{"id":199868,"type":1001,"linkType":1002},"47o2DQc4uabGwXXN85HBUG",[],{"data":199871,"content":199872,"nodeType":860},{},[199873],{"data":199874,"marks":199875,"value":199876,"nodeType":864},{},[],"We've created a quick and dirty video demo of a social login to help explain the concept: ",{"data":199878,"content":199882,"nodeType":996},{"target":199879},{"sys":199880},{"id":199881,"type":1001,"linkType":1002},"2rIwQIeOZ9cZY47vUrYkf3",[],{"data":199884,"content":199885,"nodeType":1312},{},[199886],{"data":199887,"marks":199888,"value":199889,"nodeType":864},{},[],"What is a social login?",{"data":199891,"content":199892,"nodeType":860},{},[199893],{"data":199894,"marks":199895,"value":199896,"nodeType":864},{},[],"So what actually happens when you click to login with Google? Aren’t you just giving your Google password to some random website? That’s a security concern many people have but, thankfully, that isn’t the case. ",{"data":199898,"content":199899,"nodeType":860},{},[199900],{"data":199901,"marks":199902,"value":199903,"nodeType":864},{},[],"Social logins actually work using OAuth 2.0, which stands for “Open Authorization.” It’s a standard to allow third-party apps to access your data. OAuth is actually for a much broader set of use cases than just social logins, but that’s for another article. ",{"data":199905,"content":199906,"nodeType":860},{},[199907],{"data":199908,"marks":199909,"value":199910,"nodeType":864},{},[],"Let’s focus on what happens when you click to sign-in with Google. You’re actually redirected to Google’s own servers and asked to authorize the website to be granted any access to your data that it has requested. In a simple social login case, the website should only be asking for minimal access to view simple details, such as your email address and full name in order to verify your identity.",{"data":199912,"content":199913,"nodeType":860},{},[199914],{"data":199915,"marks":199916,"value":199917,"nodeType":864},{},[],"If this is the case, Google does not even specifically ask you to accept those permissions, it just verifies which Google account you would like to use. If you are already logged in with Google then you won’t even need to enter your password.",{"data":199919,"content":199923,"nodeType":996},{"target":199920},{"sys":199921},{"id":199922,"type":1001,"linkType":1002},"2PbJH7qfRYIxJRBmHJLSdI",[],{"data":199925,"content":199926,"nodeType":860},{},[199927],{"data":199928,"marks":199929,"value":199930,"nodeType":864},{},[],"…and that’s it, you’ve just socially logged in to a website using your Google account. You didn’t need to create an account, set a password, use a password manager or even enter your Google password. It was so easy! But is it secure?",{"data":199932,"content":199933,"nodeType":1009},{},[199934],{"data":199935,"marks":199936,"value":199937,"nodeType":864},{},[],"Security Benefits",{"data":199939,"content":199940,"nodeType":860},{},[199941],{"data":199942,"marks":199943,"value":199944,"nodeType":864},{},[],"The short answer is - yes, it is secure, and there are actually many security benefits. Let’s consider some of them:",{"data":199946,"content":199947,"nodeType":941},{},[199948],{"data":199949,"content":199950,"nodeType":945},{},[199951],{"data":199952,"content":199953,"nodeType":860},{},[199954,199959],{"data":199955,"marks":199956,"value":199958,"nodeType":864},{},[199957],{"type":899},"Multi-Factor authentication (MFA) everywhere!",{"data":199960,"marks":199961,"value":199962,"nodeType":864},{},[]," - You’ve followed good security practice and enabled MFA for all of your Google accounts, right? Great, well then every other SaaS platform that your employees use social logins just inherited MFA protection for free! Not only does the platform not even need to support MFA on its own (most don’t), but you don't even need to set it up!",{"data":199964,"content":199965,"nodeType":941},{},[199966],{"data":199967,"content":199968,"nodeType":945},{},[199969],{"data":199970,"content":199971,"nodeType":860},{},[199972,199977],{"data":199973,"marks":199974,"value":199976,"nodeType":864},{},[199975],{"type":899},"Easy password resets",{"data":199978,"marks":199979,"value":199980,"nodeType":864},{},[]," - Ok, so one of your employees gets their (commonly shared) password phished. All those SaaS accounts could be immediately compromised and how many password resets now need to be performed? Oh, they use a password manager? Ok, what if their laptop is compromised with malware? You need to assume the password manager is compromised too. That’s still a lot of password resets. On the other hand, if you use social logins for everything you only have one password to change. If you have MFA too, it probably would have been tough for the attacker to make use of that password during the compromise window before the change, too.",{"data":199982,"content":199983,"nodeType":941},{},[199984],{"data":199985,"content":199986,"nodeType":945},{},[199987],{"data":199988,"content":199989,"nodeType":860},{},[199990,199995],{"data":199991,"marks":199992,"value":199994,"nodeType":864},{},[199993],{"type":899},"Easy offboarding -",{"data":199996,"marks":199997,"value":199998,"nodeType":864},{},[]," When an employee leaves the company, it’s not so hard to delete their core business accounts, but it’s much more painful to have a process for removing all old SaaS accounts too. If social logins are well implemented by the SaaS provider then the removal of a Google workspace account automatically means the corresponding SaaS accounts are no longer accessible either.  ",{"data":200000,"content":200001,"nodeType":941},{},[200002],{"data":200003,"content":200004,"nodeType":945},{},[200005],{"data":200006,"content":200007,"nodeType":860},{},[200008,200013,200017,200025],{"data":200009,"marks":200010,"value":200012,"nodeType":864},{},[200011],{"type":899},"Visibility",{"data":200014,"marks":200015,"value":200016,"nodeType":864},{},[]," - If employees use custom logins for all their SaaS platforms, you’ll have no idea what SaaS platforms are in use (unless you use the Push browser extension ;)). With social logins, you can see exactly which platforms your employees are using across the organization. (",{"data":200018,"content":200020,"nodeType":883},{"uri":200019},"https://support.google.com/a/answer/7281227?hl=en#zippy=",[200021],{"data":200022,"marks":200023,"value":200019,"nodeType":864},{},[200024],{"type":1455},{"data":200026,"marks":200027,"value":97871,"nodeType":864},{},[],{"data":200029,"content":200030,"nodeType":941},{},[200031],{"data":200032,"content":200033,"nodeType":945},{},[200034],{"data":200035,"content":200036,"nodeType":860},{},[200037,200042,200046,200051],{"data":200038,"marks":200039,"value":200041,"nodeType":864},{},[200040],{"type":899},"Simplicity ",{"data":200043,"marks":200044,"value":200045,"nodeType":864},{},[],"- Complexity is often the enemy of security and, let’s face it, getting all your employees to use password managers with different passwords for large numbers of accounts, creating new accounts every time, handling password changes for all of them, etc., is the definition of complexity. On the other hand, social logins are just so simple. You login to Google once, then any other SaaS platform you want to access that supports them you just click “login with Google”, select your account and you’re done. That’s it - ",{"data":200047,"marks":200048,"value":200050,"nodeType":864},{},[200049],{"type":899},"simplicity benefits security",{"data":200052,"marks":200053,"value":12252,"nodeType":864},{},[],{"data":200055,"content":200056,"nodeType":941},{},[200057],{"data":200058,"content":200059,"nodeType":945},{},[200060],{"data":200061,"content":200062,"nodeType":860},{},[200063,200068],{"data":200064,"marks":200065,"value":200067,"nodeType":864},{},[200066],{"type":899},"No shared passwords ",{"data":200069,"marks":200070,"value":200071,"nodeType":864},{},[],"- Let’s face it, it’s difficult to get employees to use password managers for everything and commonly people end up using the same one or two passwords for everything. Then all it takes is for any one platform to be compromised and that account is compromised for any other platforms where the password is shared. Therefore, your security is dependent on the security of the weakest platform you use of many. On the other hand, if you use social logins for everything, there is only ever one strongly protected account, which is much less likely to be compromised.",{"data":200073,"content":200074,"nodeType":860},{},[200075],{"data":200076,"marks":200077,"value":200078,"nodeType":864},{},[],"Our view is that it’s better to have one account that you put all your focus on securing as best as possible than many accounts that individually have a lower level of security. ",{"data":200080,"content":200081,"nodeType":860},{},[200082],{"data":200083,"marks":200084,"value":200085,"nodeType":864},{},[],"But why would I want everything in one account, protected with one password?If your Google account is used to access everything then all your eggs are in one basket right? If your Google account is compromised, or even Google themselves are compromised, then everything else you use is compromised too. Pretty concerning, right? This is true and it does remain a risk. ",{"data":200087,"content":200088,"nodeType":860},{},[200089],{"data":200090,"marks":200091,"value":200092,"nodeType":864},{},[],"However, if you’re a Google Workspace user then you’re trusting Google with most of your key data anyway - all your email, documents, calendar appointments etc are stored with Google and accessed using Google accounts. Also, if your Google email gets hacked that can generally be used to password reset all your other accounts anyway! Plus, using a password manager could be argued to also be putting all your eggs in one basket too.",{"data":200094,"content":200095,"nodeType":860},{},[200096],{"data":200097,"marks":200098,"value":200099,"nodeType":864},{},[],"We’ll go into some of the potential concerns of using social logins in this next section because there may be some valid use cases where you won’t want to use them.",{"data":200101,"content":200102,"nodeType":1009},{},[200103],{"data":200104,"marks":200105,"value":200106,"nodeType":864},{},[],"Security Caveats",{"data":200108,"content":200109,"nodeType":860},{},[200110],{"data":200111,"marks":200112,"value":200113,"nodeType":864},{},[],"Ok, we said at Push Security that we encourage the use of social logins. But we aren’t going to wave our hands and cover up any downsides - as always, there are always some. We consider some of the following to be key drawbacks:",{"data":200115,"content":200116,"nodeType":941},{},[200117],{"data":200118,"content":200119,"nodeType":945},{},[200120],{"data":200121,"content":200122,"nodeType":860},{},[200123,200128],{"data":200124,"marks":200125,"value":200127,"nodeType":864},{},[200126],{"type":899},"Giving away sensitive data",{"data":200129,"marks":200130,"value":200131,"nodeType":864},{},[]," - This article has been entirely focused on social logins, but we said at the start that OAuth was for more than that. When a user logs in using Google, the website can ask for permissions far beyond what is needed for a simple social login. These can be sensitive, such as allowing access to emails, calendars, Google Drive documents etc and the user will be prompted separately to accept or refuse this. In most cases, you’ll probably find websites do not request additional permissions for a simple login/signup but may do if you enable more advanced integrations. However, some websites may just ask for the kitchen sink from the first login. It’s possible your employees may then start giving away sensitive access to third parties without a second thought.",{"data":200133,"content":200134,"nodeType":860},{},[200135,200139,200148,200152,200159],{"data":200136,"marks":200137,"value":200138,"nodeType":864},{},[],"There are also malicious apps created simply to exploit permissions so they can gain access to an employee’s or company’s data by requesting excessive permissions and requesting the employee to opt into them by default. This is called consent phishing and we’ve written up a ",{"data":200140,"content":200143,"nodeType":27604},{"target":200141},{"sys":200142},{"id":137501,"type":1001,"linkType":1002},[200144],{"data":200145,"marks":200146,"value":200147,"nodeType":864},{},[],"quick guide",{"data":200149,"marks":200150,"value":200151,"nodeType":864},{},[]," here about what the risk is, how it works, and how to handle it. ",{"data":200153,"content":200154,"nodeType":883},{"uri":199021},[200155],{"data":200156,"marks":200157,"value":21,"nodeType":864},{},[200158],{"type":1455},{"data":200160,"marks":200161,"value":21,"nodeType":864},{},[],{"data":200163,"content":200164,"nodeType":860},{},[200165],{"data":200166,"marks":200167,"value":200168,"nodeType":864},{},[],"You can always see what access has been given by your employees to different platforms and review accordingly and you can even configure more sensitive permissions as restricted so your employees can’t accept them on their own. However, this risk remains, whereas it’s not as easy for an employee to inadvertently open up significant data access with a custom login for a website.   ",{"data":200170,"content":200171,"nodeType":941},{},[200172],{"data":200173,"content":200174,"nodeType":945},{},[200175],{"data":200176,"content":200177,"nodeType":860},{},[200178,200183],{"data":200179,"marks":200180,"value":200182,"nodeType":864},{},[200181],{"type":899},"Privacy and Anonymity",{"data":200184,"marks":200185,"value":200186,"nodeType":864},{},[]," - if you use social logins for everything, then every SaaS platform your employees use will have at least some access to basic personal information for your employees that use them. Google will also probably have more information about what SaaS providers you are using than they would otherwise, too. ",{"data":200188,"content":200189,"nodeType":860},{},[200190],{"data":200191,"marks":200192,"value":200193,"nodeType":864},{},[],"Maybe you just wanted to try out a new SaaS service without getting spammed by their sales team for the next 12 months? For that, you might want to go with an anonymous, disposable email address. Whatever the case, social logins will always give away basic personal details at a minimum and there might be times where this isn’t desirable. But for most companies, we’ve found those to be edge cases.",{"data":200195,"content":200196,"nodeType":860},{},[200197],{"data":200198,"marks":200199,"value":200200,"nodeType":864},{},[],"You may not necessarily want the public (or your adversaries) to know what SaaS apps employees are using. If an attacker gained access to your Google or Microsoft account that you were using for social login, they would be able to see the apps that are accessed with social login. On the other hand, if an attacker gets access to your primary core business platforms, this is likely going to be the least of your concerns.",{"data":200202,"content":200203,"nodeType":1009},{},[200204],{"data":200205,"marks":200206,"value":32492,"nodeType":864},{},[],{"data":200208,"content":200209,"nodeType":860},{},[200210],{"data":200211,"marks":200212,"value":200213,"nodeType":864},{},[],"Social logins are good for business use for third-party SaaS platforms, not just for personal use. They save time and bring many security benefits in most cases too. As long as you understand the residual risks that remain and are happy managing those risks, you should consider encouraging your users to use social logins. ","Is logging in with Google or Microsoft secure? Yes, with caveats. ","2022-10-04T00:00:00.000Z",{"items":200217},[200218,200220],{"sys":200219,"name":2729},{"id":2728},{"sys":200221,"name":297},{"id":2732},{"items":200223},[200224],{"fullName":4949,"firstName":4950,"jobTitle":4951,"profilePicture":200225},{"url":4955},"blog/is-it-safe-to-allow-my-employees-to-connect-third-party-apps-to-our-m365",{"json":200228},{"data":200229,"content":200230,"nodeType":856},{},[200231],{"data":200232,"content":200233,"nodeType":860},{},[200234],{"data":200235,"marks":200236,"value":200237,"nodeType":864},{},[],"Learn about the benefits and risks of SaaS integrations and get tips for how to manage the risks.\n",{"id":137570,"publishedAt":200239},"2026-08-12T11:56:37.246Z",{"items":200241},[200242,200244],{"sys":200243,"name":2729},{"id":2728},{"sys":200245,"name":297},{"id":2732},{"items":200247},[200248,200250,200252,200254,200256,200258,200260,200262],{"sys":200249,"name":545,"slug":546,"tier":31},{"id":542},{"sys":200251,"name":413,"slug":414,"tier":31},{"id":410},{"sys":200253,"name":484,"slug":485,"tier":45},{"id":481},{"sys":200255,"name":633,"slug":634,"tier":45},{"id":630},{"sys":200257,"name":589,"slug":590,"tier":45},{"id":586},{"sys":200259,"name":571,"slug":572,"tier":45},{"id":568},{"sys":200261,"name":457,"slug":458,"tier":45},{"id":454},{"sys":200263,"name":502,"slug":503,"tier":45},{"id":499},"ydTwQKcwIHCCk9-oJA4US0Letg72cR-sUaEy8GvqouM",{"id":200266,"title":150747,"authorsCollection":200267,"content":200272,"extension":228,"faqItemsCollection":200622,"faqTitle":59,"featured":6,"hashTags":59,"meta":200624,"metaTitle":200625,"ogImage":59,"postType":9326,"publishedDate":200215,"relatedBlogPostsCollection":200626,"slug":150748,"stem":200628,"subtitle":59,"summary":200629,"synopsis":200214,"sys":200640,"tagsCollection":200642,"topicsCollection":200648,"__hash__":200662},"blog/blog/should-i-let-my-employees-login-with-their-work-google-account.json",{"items":200268},[200269],{"fullName":4949,"firstName":4950,"jobTitle":4951,"socialLinks":200270,"profilePicture":200271},[4953],{"url":4955},{"json":200273,"links":200595},{"data":200274,"content":200275,"nodeType":856},{},[200276,200282,200288,200293,200299,200304,200310,200316,200322,200328,200334,200339,200345,200351,200357,200373,200389,200405,200431,200454,200470,200476,200482,200488,200494,200500,200506,200522,200549,200555,200571,200577,200583,200589],{"data":200277,"content":200278,"nodeType":860},{},[200279],{"data":200280,"marks":200281,"value":199856,"nodeType":864},{},[],{"data":200283,"content":200284,"nodeType":860},{},[200285],{"data":200286,"marks":200287,"value":199863,"nodeType":864},{},[],{"data":200289,"content":200292,"nodeType":996},{"target":200290},{"sys":200291},{"id":199868,"type":1001,"linkType":1002},[],{"data":200294,"content":200295,"nodeType":860},{},[200296],{"data":200297,"marks":200298,"value":199876,"nodeType":864},{},[],{"data":200300,"content":200303,"nodeType":996},{"target":200301},{"sys":200302},{"id":199881,"type":1001,"linkType":1002},[],{"data":200305,"content":200306,"nodeType":1312},{},[200307],{"data":200308,"marks":200309,"value":199889,"nodeType":864},{},[],{"data":200311,"content":200312,"nodeType":860},{},[200313],{"data":200314,"marks":200315,"value":199896,"nodeType":864},{},[],{"data":200317,"content":200318,"nodeType":860},{},[200319],{"data":200320,"marks":200321,"value":199903,"nodeType":864},{},[],{"data":200323,"content":200324,"nodeType":860},{},[200325],{"data":200326,"marks":200327,"value":199910,"nodeType":864},{},[],{"data":200329,"content":200330,"nodeType":860},{},[200331],{"data":200332,"marks":200333,"value":199917,"nodeType":864},{},[],{"data":200335,"content":200338,"nodeType":996},{"target":200336},{"sys":200337},{"id":199922,"type":1001,"linkType":1002},[],{"data":200340,"content":200341,"nodeType":860},{},[200342],{"data":200343,"marks":200344,"value":199930,"nodeType":864},{},[],{"data":200346,"content":200347,"nodeType":1009},{},[200348],{"data":200349,"marks":200350,"value":199937,"nodeType":864},{},[],{"data":200352,"content":200353,"nodeType":860},{},[200354],{"data":200355,"marks":200356,"value":199944,"nodeType":864},{},[],{"data":200358,"content":200359,"nodeType":941},{},[200360],{"data":200361,"content":200362,"nodeType":945},{},[200363],{"data":200364,"content":200365,"nodeType":860},{},[200366,200370],{"data":200367,"marks":200368,"value":199958,"nodeType":864},{},[200369],{"type":899},{"data":200371,"marks":200372,"value":199962,"nodeType":864},{},[],{"data":200374,"content":200375,"nodeType":941},{},[200376],{"data":200377,"content":200378,"nodeType":945},{},[200379],{"data":200380,"content":200381,"nodeType":860},{},[200382,200386],{"data":200383,"marks":200384,"value":199976,"nodeType":864},{},[200385],{"type":899},{"data":200387,"marks":200388,"value":199980,"nodeType":864},{},[],{"data":200390,"content":200391,"nodeType":941},{},[200392],{"data":200393,"content":200394,"nodeType":945},{},[200395],{"data":200396,"content":200397,"nodeType":860},{},[200398,200402],{"data":200399,"marks":200400,"value":199994,"nodeType":864},{},[200401],{"type":899},{"data":200403,"marks":200404,"value":199998,"nodeType":864},{},[],{"data":200406,"content":200407,"nodeType":941},{},[200408],{"data":200409,"content":200410,"nodeType":945},{},[200411],{"data":200412,"content":200413,"nodeType":860},{},[200414,200418,200421,200428],{"data":200415,"marks":200416,"value":200012,"nodeType":864},{},[200417],{"type":899},{"data":200419,"marks":200420,"value":200016,"nodeType":864},{},[],{"data":200422,"content":200423,"nodeType":883},{"uri":200019},[200424],{"data":200425,"marks":200426,"value":200019,"nodeType":864},{},[200427],{"type":1455},{"data":200429,"marks":200430,"value":97871,"nodeType":864},{},[],{"data":200432,"content":200433,"nodeType":941},{},[200434],{"data":200435,"content":200436,"nodeType":945},{},[200437],{"data":200438,"content":200439,"nodeType":860},{},[200440,200444,200447,200451],{"data":200441,"marks":200442,"value":200041,"nodeType":864},{},[200443],{"type":899},{"data":200445,"marks":200446,"value":200045,"nodeType":864},{},[],{"data":200448,"marks":200449,"value":200050,"nodeType":864},{},[200450],{"type":899},{"data":200452,"marks":200453,"value":12252,"nodeType":864},{},[],{"data":200455,"content":200456,"nodeType":941},{},[200457],{"data":200458,"content":200459,"nodeType":945},{},[200460],{"data":200461,"content":200462,"nodeType":860},{},[200463,200467],{"data":200464,"marks":200465,"value":200067,"nodeType":864},{},[200466],{"type":899},{"data":200468,"marks":200469,"value":200071,"nodeType":864},{},[],{"data":200471,"content":200472,"nodeType":860},{},[200473],{"data":200474,"marks":200475,"value":200078,"nodeType":864},{},[],{"data":200477,"content":200478,"nodeType":860},{},[200479],{"data":200480,"marks":200481,"value":200085,"nodeType":864},{},[],{"data":200483,"content":200484,"nodeType":860},{},[200485],{"data":200486,"marks":200487,"value":200092,"nodeType":864},{},[],{"data":200489,"content":200490,"nodeType":860},{},[200491],{"data":200492,"marks":200493,"value":200099,"nodeType":864},{},[],{"data":200495,"content":200496,"nodeType":1009},{},[200497],{"data":200498,"marks":200499,"value":200106,"nodeType":864},{},[],{"data":200501,"content":200502,"nodeType":860},{},[200503],{"data":200504,"marks":200505,"value":200113,"nodeType":864},{},[],{"data":200507,"content":200508,"nodeType":941},{},[200509],{"data":200510,"content":200511,"nodeType":945},{},[200512],{"data":200513,"content":200514,"nodeType":860},{},[200515,200519],{"data":200516,"marks":200517,"value":200127,"nodeType":864},{},[200518],{"type":899},{"data":200520,"marks":200521,"value":200131,"nodeType":864},{},[],{"data":200523,"content":200524,"nodeType":860},{},[200525,200528,200536,200539,200546],{"data":200526,"marks":200527,"value":200138,"nodeType":864},{},[],{"data":200529,"content":200532,"nodeType":27604},{"target":200530},{"sys":200531},{"id":137501,"type":1001,"linkType":1002},[200533],{"data":200534,"marks":200535,"value":200147,"nodeType":864},{},[],{"data":200537,"marks":200538,"value":200151,"nodeType":864},{},[],{"data":200540,"content":200541,"nodeType":883},{"uri":199021},[200542],{"data":200543,"marks":200544,"value":21,"nodeType":864},{},[200545],{"type":1455},{"data":200547,"marks":200548,"value":21,"nodeType":864},{},[],{"data":200550,"content":200551,"nodeType":860},{},[200552],{"data":200553,"marks":200554,"value":200168,"nodeType":864},{},[],{"data":200556,"content":200557,"nodeType":941},{},[200558],{"data":200559,"content":200560,"nodeType":945},{},[200561],{"data":200562,"content":200563,"nodeType":860},{},[200564,200568],{"data":200565,"marks":200566,"value":200182,"nodeType":864},{},[200567],{"type":899},{"data":200569,"marks":200570,"value":200186,"nodeType":864},{},[],{"data":200572,"content":200573,"nodeType":860},{},[200574],{"data":200575,"marks":200576,"value":200193,"nodeType":864},{},[],{"data":200578,"content":200579,"nodeType":860},{},[200580],{"data":200581,"marks":200582,"value":200200,"nodeType":864},{},[],{"data":200584,"content":200585,"nodeType":1009},{},[200586],{"data":200587,"marks":200588,"value":32492,"nodeType":864},{},[],{"data":200590,"content":200591,"nodeType":860},{},[200592],{"data":200593,"marks":200594,"value":200213,"nodeType":864},{},[],{"entries":200596},{"inline":200597,"hyperlink":200598,"block":200601},[],[200599],{"sys":200600,"__typename":2059,"title":139705,"slug":139708},{"id":137501},[200602,200610,200616],{"sys":200603,"__typename":1724,"title":200604,"caption":200605,"layoutMode":59,"file":200606},{"id":199868},"Social login example","A login screen with social login options at the bottom",{"url":200607,"width":200608,"height":200609},"https://images.ctfassets.net/y1cdw1ablpvd/4TpasR3oajTsO7niFNWI4Q/181ea2d23f834ea11e1d423b08740128/image1.png",621,807,{"sys":200611,"__typename":47726,"title":200612,"youTubeUrl":200613,"imagePlaceholder":200614},{"id":199881},"Social login explainer","https://www.youtube.com/watch?v=4UKqwHbUcGE",{"url":200615,"width":45620,"height":45620},"https://images.ctfassets.net/y1cdw1ablpvd/4pV0U6iANDJSs3bpGtiYRo/dea76d9d7ee85be0fa3606da87a14fba/11.png",{"sys":200617,"__typename":1724,"title":200618,"caption":200619,"layoutMode":59,"file":200620},{"id":199922},"Social login step 2","The second step of a social login ",{"url":200621,"width":53148,"height":147807},"https://images.ctfassets.net/y1cdw1ablpvd/17wCopJ8dDvapmw9LMoQk4/0a1a46ba9bfbd9339e85360db4e422b6/image2.png",{"items":200623},[],{},"Is it safe to let my employees login with Google?",{"items":200627},[],"blog/should-i-let-my-employees-login-with-their-work-google-account",{"json":200630},{"data":200631,"content":200632,"nodeType":856},{},[200633],{"data":200634,"content":200635,"nodeType":860},{},[200636],{"data":200637,"marks":200638,"value":200639,"nodeType":864},{},[],"Is logging in with Google or Microsoft secure? Yes, with a few caveats. Known as \"social logins,\" they're good for business use for third-party SaaS platforms, not just for personal use. They save time and bring many security benefits in most cases too. \n",{"id":141516,"publishedAt":200641},"2026-08-12T11:56:38.848Z",{"items":200643},[200644,200646],{"sys":200645,"name":2729},{"id":2728},{"sys":200647,"name":297},{"id":2732},{"items":200649},[200650,200652,200654,200656,200658,200660],{"sys":200651,"name":413,"slug":414,"tier":31},{"id":410},{"sys":200653,"name":545,"slug":546,"tier":31},{"id":542},{"sys":200655,"name":484,"slug":485,"tier":45},{"id":481},{"sys":200657,"name":457,"slug":458,"tier":45},{"id":454},{"sys":200659,"name":589,"slug":590,"tier":45},{"id":586},{"sys":200661,"name":502,"slug":503,"tier":45},{"id":499},"SgVVnBwZCWuwbRZKBcKcCEipQ071Ils4wyWEOLaIXPY",{"id":200664,"title":154144,"authorsCollection":200665,"content":200669,"extension":228,"faqItemsCollection":201124,"faqTitle":59,"featured":6,"hashTags":59,"meta":201126,"metaTitle":201127,"ogImage":59,"postType":38987,"publishedDate":193951,"relatedBlogPostsCollection":201128,"slug":154145,"stem":201628,"subtitle":59,"summary":201629,"synopsis":193950,"sys":201640,"tagsCollection":201642,"topicsCollection":201648,"__hash__":201662},"blog/blog/how-to-kick-off-an-incident-response-investigation-for-a-compromised-saas.json",{"items":200666},[200667],{"fullName":73848,"firstName":73849,"jobTitle":73850,"socialLinks":59,"profilePicture":200668},{"url":73852},{"json":200670,"links":201073},{"data":200671,"content":200672,"nodeType":856},{},[200673,200680,200687,200705,200712,200730,200736,200741,200747,200753,200759,200765,200771,200777,200783,200789,200795,200800,200806,200812,200818,200824,200840,200845,200851,200856,200862,200867,200873,200879,200885,200924,200930,200946,200952,201034,201050,201056,201062,201067],{"data":200674,"content":200675,"nodeType":860},{},[200676],{"data":200677,"marks":200678,"value":193497,"nodeType":864},{},[200679],{"type":2246},{"data":200681,"content":200682,"nodeType":860},{},[200683],{"data":200684,"marks":200685,"value":193505,"nodeType":864},{},[200686],{"type":2246},{"data":200688,"content":200689,"nodeType":860},{},[200690,200693,200702],{"data":200691,"marks":200692,"value":193512,"nodeType":864},{},[],{"data":200694,"content":200697,"nodeType":27604},{"target":200695},{"sys":200696},{"id":193517,"type":1001,"linkType":1002},[200698],{"data":200699,"marks":200700,"value":193523,"nodeType":864},{},[200701],{"type":1455},{"data":200703,"marks":200704,"value":193527,"nodeType":864},{},[],{"data":200706,"content":200707,"nodeType":860},{},[200708],{"data":200709,"marks":200710,"value":193535,"nodeType":864},{},[200711],{"type":2246},{"data":200713,"content":200714,"nodeType":860},{},[200715,200718,200727],{"data":200716,"marks":200717,"value":193542,"nodeType":864},{},[],{"data":200719,"content":200722,"nodeType":27604},{"target":200720},{"sys":200721},{"id":137501,"type":1001,"linkType":1002},[200723],{"data":200724,"marks":200725,"value":193552,"nodeType":864},{},[200726],{"type":1455},{"data":200728,"marks":200729,"value":193556,"nodeType":864},{},[],{"data":200731,"content":200732,"nodeType":860},{},[200733],{"data":200734,"marks":200735,"value":193563,"nodeType":864},{},[],{"data":200737,"content":200740,"nodeType":996},{"target":200738},{"sys":200739},{"id":193568,"type":1001,"linkType":1002},[],{"data":200742,"content":200743,"nodeType":860},{},[200744],{"data":200745,"marks":200746,"value":193576,"nodeType":864},{},[],{"data":200748,"content":200749,"nodeType":1312},{},[200750],{"data":200751,"marks":200752,"value":193583,"nodeType":864},{},[],{"data":200754,"content":200755,"nodeType":860},{},[200756],{"data":200757,"marks":200758,"value":193590,"nodeType":864},{},[],{"data":200760,"content":200761,"nodeType":860},{},[200762],{"data":200763,"marks":200764,"value":193597,"nodeType":864},{},[],{"data":200766,"content":200767,"nodeType":1312},{},[200768],{"data":200769,"marks":200770,"value":193604,"nodeType":864},{},[],{"data":200772,"content":200773,"nodeType":860},{},[200774],{"data":200775,"marks":200776,"value":193611,"nodeType":864},{},[],{"data":200778,"content":200779,"nodeType":860},{},[200780],{"data":200781,"marks":200782,"value":193618,"nodeType":864},{},[],{"data":200784,"content":200785,"nodeType":860},{},[200786],{"data":200787,"marks":200788,"value":193625,"nodeType":864},{},[],{"data":200790,"content":200791,"nodeType":860},{},[200792],{"data":200793,"marks":200794,"value":193632,"nodeType":864},{},[],{"data":200796,"content":200799,"nodeType":996},{"target":200797},{"sys":200798},{"id":193637,"type":1001,"linkType":1002},[],{"data":200801,"content":200802,"nodeType":860},{},[200803],{"data":200804,"marks":200805,"value":193645,"nodeType":864},{},[],{"data":200807,"content":200808,"nodeType":1312},{},[200809],{"data":200810,"marks":200811,"value":193652,"nodeType":864},{},[],{"data":200813,"content":200814,"nodeType":860},{},[200815],{"data":200816,"marks":200817,"value":193659,"nodeType":864},{},[],{"data":200819,"content":200820,"nodeType":860},{},[200821],{"data":200822,"marks":200823,"value":193666,"nodeType":864},{},[],{"data":200825,"content":200826,"nodeType":860},{},[200827,200830,200837],{"data":200828,"marks":200829,"value":193673,"nodeType":864},{},[],{"data":200831,"content":200832,"nodeType":883},{"uri":138511},[200833],{"data":200834,"marks":200835,"value":138517,"nodeType":864},{},[200836],{"type":1455},{"data":200838,"marks":200839,"value":193684,"nodeType":864},{},[],{"data":200841,"content":200844,"nodeType":996},{"target":200842},{"sys":200843},{"id":193689,"type":1001,"linkType":1002},[],{"data":200846,"content":200847,"nodeType":860},{},[200848],{"data":200849,"marks":200850,"value":193697,"nodeType":864},{},[],{"data":200852,"content":200855,"nodeType":996},{"target":200853},{"sys":200854},{"id":193702,"type":1001,"linkType":1002},[],{"data":200857,"content":200858,"nodeType":860},{},[200859],{"data":200860,"marks":200861,"value":193710,"nodeType":864},{},[],{"data":200863,"content":200866,"nodeType":996},{"target":200864},{"sys":200865},{"id":193715,"type":1001,"linkType":1002},[],{"data":200868,"content":200869,"nodeType":1312},{},[200870],{"data":200871,"marks":200872,"value":193723,"nodeType":864},{},[],{"data":200874,"content":200875,"nodeType":860},{},[200876],{"data":200877,"marks":200878,"value":193730,"nodeType":864},{},[],{"data":200880,"content":200881,"nodeType":860},{},[200882],{"data":200883,"marks":200884,"value":193737,"nodeType":864},{},[],{"data":200886,"content":200887,"nodeType":941},{},[200888,200897,200906,200915],{"data":200889,"content":200890,"nodeType":945},{},[200891],{"data":200892,"content":200893,"nodeType":860},{},[200894],{"data":200895,"marks":200896,"value":193750,"nodeType":864},{},[],{"data":200898,"content":200899,"nodeType":945},{},[200900],{"data":200901,"content":200902,"nodeType":860},{},[200903],{"data":200904,"marks":200905,"value":193760,"nodeType":864},{},[],{"data":200907,"content":200908,"nodeType":945},{},[200909],{"data":200910,"content":200911,"nodeType":860},{},[200912],{"data":200913,"marks":200914,"value":193770,"nodeType":864},{},[],{"data":200916,"content":200917,"nodeType":945},{},[200918],{"data":200919,"content":200920,"nodeType":860},{},[200921],{"data":200922,"marks":200923,"value":193780,"nodeType":864},{},[],{"data":200925,"content":200926,"nodeType":860},{},[200927],{"data":200928,"marks":200929,"value":193787,"nodeType":864},{},[],{"data":200931,"content":200932,"nodeType":860},{},[200933,200936,200943],{"data":200934,"marks":200935,"value":193794,"nodeType":864},{},[],{"data":200937,"content":200938,"nodeType":883},{"uri":193797},[200939],{"data":200940,"marks":200941,"value":193803,"nodeType":864},{},[200942],{"type":1455},{"data":200944,"marks":200945,"value":193807,"nodeType":864},{},[],{"data":200947,"content":200948,"nodeType":860},{},[200949],{"data":200950,"marks":200951,"value":193814,"nodeType":864},{},[],{"data":200953,"content":200954,"nodeType":941},{},[200955,200964,200973,200982,201001,201016,201025],{"data":200956,"content":200957,"nodeType":945},{},[200958],{"data":200959,"content":200960,"nodeType":860},{},[200961],{"data":200962,"marks":200963,"value":193827,"nodeType":864},{},[],{"data":200965,"content":200966,"nodeType":945},{},[200967],{"data":200968,"content":200969,"nodeType":860},{},[200970],{"data":200971,"marks":200972,"value":193837,"nodeType":864},{},[],{"data":200974,"content":200975,"nodeType":945},{},[200976],{"data":200977,"content":200978,"nodeType":860},{},[200979],{"data":200980,"marks":200981,"value":193847,"nodeType":864},{},[],{"data":200983,"content":200984,"nodeType":945},{},[200985],{"data":200986,"content":200987,"nodeType":860},{},[200988,200991,200998],{"data":200989,"marks":200990,"value":21,"nodeType":864},{},[],{"data":200992,"content":200993,"nodeType":883},{"uri":193859},[200994],{"data":200995,"marks":200996,"value":193865,"nodeType":864},{},[200997],{"type":1455},{"data":200999,"marks":201000,"value":21,"nodeType":864},{},[],{"data":201002,"content":201003,"nodeType":945},{},[201004],{"data":201005,"content":201006,"nodeType":941},{},[201007],{"data":201008,"content":201009,"nodeType":945},{},[201010],{"data":201011,"content":201012,"nodeType":860},{},[201013],{"data":201014,"marks":201015,"value":193884,"nodeType":864},{},[],{"data":201017,"content":201018,"nodeType":945},{},[201019],{"data":201020,"content":201021,"nodeType":860},{},[201022],{"data":201023,"marks":201024,"value":193894,"nodeType":864},{},[],{"data":201026,"content":201027,"nodeType":945},{},[201028],{"data":201029,"content":201030,"nodeType":860},{},[201031],{"data":201032,"marks":201033,"value":193904,"nodeType":864},{},[],{"data":201035,"content":201036,"nodeType":860},{},[201037,201040,201047],{"data":201038,"marks":201039,"value":193911,"nodeType":864},{},[],{"data":201041,"content":201042,"nodeType":883},{"uri":193914},[201043],{"data":201044,"marks":201045,"value":193920,"nodeType":864},{},[201046],{"type":1455},{"data":201048,"marks":201049,"value":193924,"nodeType":864},{},[],{"data":201051,"content":201052,"nodeType":1312},{},[201053],{"data":201054,"marks":201055,"value":32492,"nodeType":864},{},[],{"data":201057,"content":201058,"nodeType":860},{},[201059],{"data":201060,"marks":201061,"value":193937,"nodeType":864},{},[],{"data":201063,"content":201066,"nodeType":996},{"target":201064},{"sys":201065},{"id":193942,"type":1001,"linkType":1002},[],{"data":201068,"content":201069,"nodeType":860},{},[201070],{"data":201071,"marks":201072,"value":21,"nodeType":864},{},[],{"entries":201074},{"inline":201075,"hyperlink":201076,"block":201083},[],[201077,201081],{"sys":201078,"__typename":2059,"title":201079,"slug":201080},{"id":193517},"Case study: Business Email Compromise (BEC) attack nearly cost us millions","case-study-business-email-compromise-bec-attack-nearly-cost-us-millions",{"sys":201082,"__typename":2059,"title":139705,"slug":139708},{"id":137501},[201084,201088,201095,201101,201106,201112],{"sys":201085,"__typename":1724,"title":195523,"caption":59,"layoutMode":59,"file":201086},{"id":193568},{"url":201087,"width":195526,"height":195527},"https://images.ctfassets.net/y1cdw1ablpvd/4mE1i0PWq5Tns9qbcvglZh/dcd08098c29b9d36e3cd501a83aaa9c9/image4.jpg",{"sys":201089,"__typename":1724,"title":201090,"caption":59,"layoutMode":59,"file":201091},{"id":193637},"Mail rules chatops",{"url":201092,"width":201093,"height":201094},"https://images.ctfassets.net/y1cdw1ablpvd/10Yy4SzIegYrYC9fGbVFO8/658e0e608c7f573ad648df4f9cd3a0a8/image2.png",589,169,{"sys":201096,"__typename":1724,"title":201097,"caption":59,"layoutMode":59,"file":201098},{"id":193689},"Malicious app permissions",{"url":201099,"width":201100,"height":45634},"https://images.ctfassets.net/y1cdw1ablpvd/KPK1ZRkwp1QCzkVpwoeUC/c064b2a4e89264a3bed9c47f45705625/image3.png",787,{"sys":201102,"__typename":1724,"title":201103,"caption":59,"layoutMode":59,"file":201104},{"id":193702},"Push malicious app ",{"url":201105,"width":87329,"height":156274},"https://images.ctfassets.net/y1cdw1ablpvd/5dOX0KB5yAME0gfERMZIij/e4d5e687df890dccf2d13b98904f420e/image5.png",{"sys":201107,"__typename":1724,"title":201108,"caption":59,"layoutMode":59,"file":201109},{"id":193715},"Powershell script IR blog",{"url":201110,"width":201111,"height":118518},"https://images.ctfassets.net/y1cdw1ablpvd/4xTQrOxKSTGKpNASlYwiOz/5f121b1f18507492ee0ba671712f3832/image1.png",834,{"sys":201113,"__typename":199362,"content":201114,"title":199374,"buttonText":199375,"buttonUrl":199376,"signupRedirectUrl":59},{"id":193942},{"json":201115},{"nodeType":856,"data":201116,"content":201117},{},[201118],{"nodeType":860,"content":201119,"data":201123},[201120],{"nodeType":864,"value":199370,"marks":201121,"data":201122},[],{},{},{"items":201125},[],{},"How to kick off an investigation for a compromised account",{"items":201129},[201130,201291],{"__typename":2059,"sys":201131,"content":201132,"title":139705,"synopsis":139706,"hashTags":59,"publishedDate":139707,"slug":139708,"tagsCollection":201281,"authorsCollection":201287},{"id":137501},{"json":201133},{"data":201134,"content":201135,"nodeType":856},{},[201136,201142,201148,201153,201166,201171,201177,201183,201207,201212,201227,201242,201257],{"data":201137,"content":201138,"nodeType":860},{},[201139],{"data":201140,"marks":201141,"value":139537,"nodeType":864},{},[],{"data":201143,"content":201144,"nodeType":860},{},[201145],{"data":201146,"marks":201147,"value":139544,"nodeType":864},{},[],{"data":201149,"content":201152,"nodeType":996},{"target":201150},{"sys":201151},{"id":139549,"type":1001,"linkType":1002},[],{"data":201154,"content":201155,"nodeType":860},{},[201156,201159,201163],{"data":201157,"marks":201158,"value":139557,"nodeType":864},{},[],{"data":201160,"marks":201161,"value":139562,"nodeType":864},{},[201162],{"type":899},{"data":201164,"marks":201165,"value":139566,"nodeType":864},{},[],{"data":201167,"content":201170,"nodeType":996},{"target":201168},{"sys":201169},{"id":139571,"type":1001,"linkType":1002},[],{"data":201172,"content":201173,"nodeType":860},{},[201174],{"data":201175,"marks":201176,"value":139579,"nodeType":864},{},[],{"data":201178,"content":201179,"nodeType":860},{},[201180],{"data":201181,"marks":201182,"value":139586,"nodeType":864},{},[],{"data":201184,"content":201185,"nodeType":860},{},[201186,201189,201195,201198,201204],{"data":201187,"marks":201188,"value":139593,"nodeType":864},{},[],{"data":201190,"content":201191,"nodeType":883},{"uri":139596},[201192],{"data":201193,"marks":201194,"value":139601,"nodeType":864},{},[],{"data":201196,"marks":201197,"value":902,"nodeType":864},{},[],{"data":201199,"content":201200,"nodeType":883},{"uri":139607},[201201],{"data":201202,"marks":201203,"value":139612,"nodeType":864},{},[],{"data":201205,"marks":201206,"value":2924,"nodeType":864},{},[],{"data":201208,"content":201211,"nodeType":996},{"target":201209},{"sys":201210},{"id":139620,"type":1001,"linkType":1002},[],{"data":201213,"content":201214,"nodeType":860},{},[201215,201218,201224],{"data":201216,"marks":201217,"value":139628,"nodeType":864},{},[],{"data":201219,"content":201220,"nodeType":883},{"uri":139631},[201221],{"data":201222,"marks":201223,"value":139636,"nodeType":864},{},[],{"data":201225,"marks":201226,"value":139640,"nodeType":864},{},[],{"data":201228,"content":201229,"nodeType":860},{},[201230,201233,201239],{"data":201231,"marks":201232,"value":139647,"nodeType":864},{},[],{"data":201234,"content":201235,"nodeType":883},{"uri":139650},[201236],{"data":201237,"marks":201238,"value":79166,"nodeType":864},{},[],{"data":201240,"marks":201241,"value":139658,"nodeType":864},{},[],{"data":201243,"content":201244,"nodeType":860},{},[201245,201248,201254],{"data":201246,"marks":201247,"value":139665,"nodeType":864},{},[],{"data":201249,"content":201250,"nodeType":883},{"uri":139668},[201251],{"data":201252,"marks":201253,"value":139673,"nodeType":864},{},[],{"data":201255,"marks":201256,"value":139677,"nodeType":864},{},[],{"data":201258,"content":201259,"nodeType":860},{},[201260,201263,201269,201272,201278],{"data":201261,"marks":201262,"value":139684,"nodeType":864},{},[],{"data":201264,"content":201265,"nodeType":883},{"uri":47677},[201266],{"data":201267,"marks":201268,"value":139691,"nodeType":864},{},[],{"data":201270,"marks":201271,"value":3731,"nodeType":864},{},[],{"data":201273,"content":201274,"nodeType":883},{"uri":47663},[201275],{"data":201276,"marks":201277,"value":47670,"nodeType":864},{},[],{"data":201279,"marks":201280,"value":139704,"nodeType":864},{},[],{"items":201282},[201283,201285],{"sys":201284,"name":6593},{"id":6592},{"sys":201286,"name":342},{"id":6596},{"items":201288},[201289],{"fullName":139718,"firstName":4879,"jobTitle":139719,"profilePicture":201290},{"url":139721},{"__typename":2059,"sys":201292,"content":201294,"title":201613,"synopsis":201614,"hashTags":201615,"publishedDate":201616,"slug":201617,"tagsCollection":201618,"authorsCollection":201624},{"id":201293},"roVnr9Z2sHDPGtemZUE7u",{"json":201295},{"data":201296,"content":201297,"nodeType":856},{},[201298,201317,201324,201353,201369,201376,201383,201390,201398,201405,201425,201432,201452,201458,201466,201473,201493,201501,201520,201528,201535,201588,201595,201602,201607],{"data":201299,"content":201300,"nodeType":860},{},[201301,201305,201313],{"data":201302,"marks":201303,"value":201304,"nodeType":864},{},[],"Mail rules can be abused by attackers to get stealthy, persistent access to a mailbox, leak data and facilitate high-impact Business Email Compromise (",{"data":201306,"content":201308,"nodeType":883},{"uri":201307},"/blog/email-security-how-hackers-use-mail-rules-to-access-your-inbox/",[201309],{"data":201310,"marks":201311,"value":201312,"nodeType":864},{},[],"read more here",{"data":201314,"marks":201315,"value":201316,"nodeType":864},{},[],"). So, lots of organisations decide to ban external auto-forwarding of email altogether. The question is, is this a good move?",{"data":201318,"content":201319,"nodeType":1312},{},[201320],{"data":201321,"marks":201322,"value":201323,"nodeType":864},{},[],"This is damage limitation, not prevention",{"data":201325,"content":201326,"nodeType":860},{},[201327,201331,201336,201340,201349],{"data":201328,"marks":201329,"value":201330,"nodeType":864},{},[],"It’s important to recognise that adding a malicious mail rule to a user’s mailbox is a ",{"data":201332,"marks":201333,"value":201335,"nodeType":864},{},[201334],{"type":899},"post-compromise activity",{"data":201337,"marks":201338,"value":201339,"nodeType":864},{},[],". That is, an attacker has already compromised the victim somehow - compromised their password, deployed malware on their machine, performed consent phishing etc. - they already have access to their mailbox. At this point, you should assume all data in the mailbox is compromised anyway. (See here for “",{"data":201341,"content":201344,"nodeType":27604},{"target":201342},{"sys":201343},{"id":198491,"type":1001,"linkType":1002},[201345],{"data":201346,"marks":201347,"value":201348,"nodeType":864},{},[],"what to do if I find a malicious mail rule?",{"data":201350,"marks":201351,"value":201352,"nodeType":864},{},[],"”)",{"data":201354,"content":201355,"nodeType":860},{},[201356,201360,201365],{"data":201357,"marks":201358,"value":201359,"nodeType":864},{},[],"Preventing external auto-forwarding rules therefore reduces",{"data":201361,"marks":201362,"value":201364,"nodeType":864},{},[201363],{"type":899}," further potential impact",{"data":201366,"marks":201367,"value":201368,"nodeType":864},{},[]," to a compromised account - worth doing if no one is using the feature, but what if your users are?",{"data":201370,"content":201371,"nodeType":1312},{},[201372],{"data":201373,"marks":201374,"value":201375,"nodeType":864},{},[],"Security vs. user experience",{"data":201377,"content":201378,"nodeType":860},{},[201379],{"data":201380,"marks":201381,"value":201382,"nodeType":864},{},[],"Good security should enable a business and its users to work securely rather than constrain it. Controls that restrict users’ productivity or are seen as a nuisance will be bypassed and although you might prevent a potential attack type, you’ll ultimately cause less secure behaviour from your users.",{"data":201384,"content":201385,"nodeType":860},{},[201386],{"data":201387,"marks":201388,"value":201389,"nodeType":864},{},[],"With that in mind, if external auto-forwarding of email is something your users need - and there are plenty of legitimate scenarios where this may be the case - you should be considering how to manage the risk, rather than eliminate it. The good news is this is totally doable. Equally, if none, or most of your users don’t need this feature, you should of course disable it to reduce your overall risk.",{"data":201391,"content":201392,"nodeType":860},{},[201393],{"data":201394,"marks":201395,"value":201397,"nodeType":864},{},[201396],{"type":899},"Managing the risk on Exchange Online for Microsoft 365 through detection alone",{"data":201399,"content":201400,"nodeType":860},{},[201401],{"data":201402,"marks":201403,"value":201404,"nodeType":864},{},[],"Managing the risk of external auto-forwarding email rules means making sure you’re alerted when one is created. ",{"data":201406,"content":201407,"nodeType":860},{},[201408,201412,201421],{"data":201409,"marks":201410,"value":201411,"nodeType":864},{},[],"If you’re using Exchange Online for Microsoft 365, ",{"data":201413,"content":201415,"nodeType":883},{"uri":201414},"https://protection.office.com/alertpolicies",[201416],{"data":201417,"marks":201418,"value":201420,"nodeType":864},{},[201419],{"type":1455},"an informational alert policy",{"data":201422,"marks":201423,"value":201424,"nodeType":864},{},[]," - “Creation of forwarding/redirect rule” - can be enabled so alerts of this type of suspicious rules will be sent to tenant admins when they are created in future. ",{"data":201426,"content":201427,"nodeType":860},{},[201428],{"data":201429,"marks":201430,"value":201431,"nodeType":864},{},[],"/prod",{"data":201433,"content":201434,"nodeType":860},{},[201435,201439,201448],{"data":201436,"marks":201437,"value":201438,"nodeType":864},{},[],"The downside of this approach is it isn’t possible to look retrospectively (",{"data":201440,"content":201442,"nodeType":883},{"uri":201441},"https://gcits.com/knowledge-base/find-inbox-rules-forward-mail-externally-office-365-powershell/",[201443],{"data":201444,"marks":201445,"value":201447,"nodeType":864},{},[201446],{"type":1455},"without using PowerShell",{"data":201449,"marks":201450,"value":201451,"nodeType":864},{},[],") so alerts will only fire on future creation of forwarding rules. Additionally, alerts also fire for internal forwarding rules which can generate a lot of noise when looking specifically for malicious rules. ",{"data":201453,"content":201457,"nodeType":996},{"target":201454},{"sys":201455},{"id":201456,"type":1001,"linkType":1002},"2aafjsTsqy7ljL5hh8c3MO",[],{"data":201459,"content":201460,"nodeType":860},{},[201461],{"data":201462,"marks":201463,"value":201465,"nodeType":864},{},[201464],{"type":899},"Managing the risk on Exchange Online for Microsoft 365  through detection & prevention",{"data":201467,"content":201468,"nodeType":860},{},[201469],{"data":201470,"marks":201471,"value":201472,"nodeType":864},{},[],"In addition to being alerted when rules are created, you can take steps to either disallow external auto-forwarding rules altogether, or prevent them taking effect. You might think disallowing their creation is better but if you can permit creation but stop them from taking effect, you keep a high-fidelity detection of account compromise, without adding any additional risk.",{"data":201474,"content":201475,"nodeType":860},{},[201476,201480,201489],{"data":201477,"marks":201478,"value":201479,"nodeType":864},{},[],"In Exchange Online for Microsoft 365, you can achieve this with ",{"data":201481,"content":201483,"nodeType":883},{"uri":201482},"https://docs.microsoft.com/en-us/microsoft-365/security/office-365-security/external-email-forwarding?view=o365-worldwide",[201484],{"data":201485,"marks":201486,"value":201488,"nodeType":864},{},[201487],{"type":1455},"outbound spam filter policies",{"data":201490,"marks":201491,"value":201492,"nodeType":864},{},[]," to automatically stop any emails auto-forwarded out of your organisation. If an attacker creates a malicious auto-forwarding rule, any forwarded mail will be blocked by the spam filter; if you have your alerts set up correctly, you’ll still receive an alert about the new malicious rule.",{"data":201494,"content":201495,"nodeType":860},{},[201496],{"data":201497,"marks":201498,"value":201500,"nodeType":864},{},[201499],{"type":899},"Managing the risk on Gmail for Google Workspace",{"data":201502,"content":201503,"nodeType":860},{},[201504,201508,201517],{"data":201505,"marks":201506,"value":201507,"nodeType":864},{},[],"Google Workspace only allows complete prevention, such that your users (and attackers) are not able to create forwarding settings. If you decide that is right for you, you can disable automatic forwarding entirely by ",{"data":201509,"content":201511,"nodeType":883},{"uri":201510},"https://support.google.com/a/answer/2491924?hl=en",[201512],{"data":201513,"marks":201514,"value":201516,"nodeType":864},{},[201515],{"type":1455},"following these instructions",{"data":201518,"marks":201519,"value":2924,"nodeType":864},{},[],{"data":201521,"content":201522,"nodeType":860},{},[201523],{"data":201524,"marks":201525,"value":201527,"nodeType":864},{},[201526],{"type":899},"Managing the risk using the Push platform",{"data":201529,"content":201530,"nodeType":860},{},[201531],{"data":201532,"marks":201533,"value":201534,"nodeType":864},{},[],"Using the Push platform makes managing this risk a lot easier with less of your time:",{"data":201536,"content":201537,"nodeType":941},{},[201538,201548,201558,201568,201578],{"data":201539,"content":201540,"nodeType":945},{},[201541],{"data":201542,"content":201543,"nodeType":860},{},[201544],{"data":201545,"marks":201546,"value":201547,"nodeType":864},{},[],"Connect your platform with a few clicks and we’ll sweep your estate for any suspicious rules currently in place.",{"data":201549,"content":201550,"nodeType":945},{},[201551],{"data":201552,"content":201553,"nodeType":860},{},[201554],{"data":201555,"marks":201556,"value":201557,"nodeType":864},{},[],"Get alerts via email or ChatOps (Slack or Teams) when new rules are created. Triage and deal with them directly from the email or chat platform.",{"data":201559,"content":201560,"nodeType":945},{},[201561],{"data":201562,"content":201563,"nodeType":860},{},[201564],{"data":201565,"marks":201566,"value":201567,"nodeType":864},{},[],"Use our ChatOps features to ask users directly if they recognise a rule when you’re unsure. You can even automate this so user feedback is already collected by the time you come to triage.",{"data":201569,"content":201570,"nodeType":945},{},[201571],{"data":201572,"content":201573,"nodeType":860},{},[201574],{"data":201575,"marks":201576,"value":201577,"nodeType":864},{},[],"Disable rules directly from the platform for quick response.",{"data":201579,"content":201580,"nodeType":945},{},[201581],{"data":201582,"content":201583,"nodeType":860},{},[201584],{"data":201585,"marks":201586,"value":201587,"nodeType":864},{},[],"Follow our detailed and clear guides for how to respond comprehensively.",{"data":201589,"content":201590,"nodeType":860},{},[201591],{"data":201592,"marks":201593,"value":32492,"nodeType":864},{},[201594],{"type":899},{"data":201596,"content":201597,"nodeType":860},{},[201598],{"data":201599,"marks":201600,"value":201601,"nodeType":864},{},[],"If your users don’t use external email auto-forwarding, it makes sense to prevent the feature to limit the impact of a malicious mail rule. However, if there are legitimate business reasons for keeping the feature active, this risk can be sufficiently managed through detection.",{"data":201603,"content":201606,"nodeType":996},{"target":201604},{"sys":201605},{"id":102281,"type":1001,"linkType":1002},[],{"data":201608,"content":201609,"nodeType":860},{},[201610],{"data":201611,"marks":201612,"value":21,"nodeType":864},{},[],"Should you disable external email auto-forwarding?","External email auto-forwarding is a feature but also a risk; learn whether you should disable it, and, if you can't, how to manage the risk through detection.",[198576,271,198577,198578,198579],"2021-06-03T00:00:00.000+01:00","should-you-disable-external-email-auto-forwarding",{"items":201619},[201620,201622],{"sys":201621,"name":6593},{"id":6592},{"sys":201623,"name":342},{"id":6596},{"items":201625},[201626],{"fullName":79005,"firstName":79006,"jobTitle":79007,"profilePicture":201627},{"url":79009},"blog/how-to-kick-off-an-incident-response-investigation-for-a-compromised-saas",{"json":201630},{"data":201631,"content":201632,"nodeType":856},{},[201633],{"data":201634,"content":201635,"nodeType":860},{},[201636],{"data":201637,"marks":201638,"value":201639,"nodeType":864},{},[],"Learn how to quickly detect and mitigate business email compromise (BEC).",{"id":141631,"publishedAt":201641},"2026-08-13T09:35:22.647Z",{"items":201643},[201644,201646],{"sys":201645,"name":342},{"id":6596},{"sys":201647,"name":297},{"id":2732},{"items":201649},[201650,201652,201654,201656,201658,201660],{"sys":201651,"name":342,"slug":343,"tier":31},{"id":339},{"sys":201653,"name":413,"slug":414,"tier":31},{"id":410},{"sys":201655,"name":545,"slug":546,"tier":31},{"id":542},{"sys":201657,"name":484,"slug":485,"tier":45},{"id":481},{"sys":201659,"name":466,"slug":467,"tier":45},{"id":463},{"sys":201661,"name":607,"slug":608,"tier":45},{"id":604},"vmLsh8Eh_OMeQUiW70WTMrWwhzLwfDNrdU5oP9rV3uo",{"id":201664,"title":191813,"authorsCollection":201665,"content":201669,"extension":228,"faqItemsCollection":202012,"faqTitle":59,"featured":6,"hashTags":59,"meta":202014,"metaTitle":202015,"ogImage":59,"postType":79438,"publishedDate":191815,"relatedBlogPostsCollection":202016,"slug":191816,"stem":202324,"subtitle":59,"summary":202325,"synopsis":191814,"sys":202336,"tagsCollection":202338,"topicsCollection":202342,"__hash__":202350},"blog/blog/product-release-august-2022.json",{"items":201666},[201667],{"fullName":79005,"firstName":79006,"jobTitle":79007,"socialLinks":59,"profilePicture":201668},{"url":79009},{"json":201670,"links":201981},{"data":201671,"content":201672,"nodeType":856},{},[201673,201679,201700,201706,201723,201743,201749,201789,201805,201810,201816,201822,201839,201854,201869,201884,201899,201916,201922,201928,201944,201949,201965],{"data":201674,"content":201675,"nodeType":1009},{},[201676],{"data":201677,"marks":201678,"value":185477,"nodeType":864},{},[],{"data":201680,"content":201681,"nodeType":941},{},[201682,201691],{"data":201683,"content":201684,"nodeType":945},{},[201685],{"data":201686,"content":201687,"nodeType":860},{},[201688],{"data":201689,"marks":201690,"value":191478,"nodeType":864},{},[],{"data":201692,"content":201693,"nodeType":945},{},[201694],{"data":201695,"content":201696,"nodeType":860},{},[201697],{"data":201698,"marks":201699,"value":191488,"nodeType":864},{},[],{"data":201701,"content":201702,"nodeType":1312},{},[201703],{"data":201704,"marks":201705,"value":191495,"nodeType":864},{},[],{"data":201707,"content":201708,"nodeType":860},{},[201709,201712,201716,201719],{"data":201710,"marks":201711,"value":191502,"nodeType":864},{},[],{"data":201713,"marks":201714,"value":191507,"nodeType":864},{},[201715],{"type":899},{"data":201717,"marks":201718,"value":191511,"nodeType":864},{},[],{"data":201720,"marks":201721,"value":191516,"nodeType":864},{},[201722],{"type":899},{"data":201724,"content":201725,"nodeType":860},{},[201726,201729,201733,201736,201740],{"data":201727,"marks":201728,"value":191523,"nodeType":864},{},[],{"data":201730,"marks":201731,"value":191528,"nodeType":864},{},[201732],{"type":2246},{"data":201734,"marks":201735,"value":3731,"nodeType":864},{},[],{"data":201737,"marks":201738,"value":191536,"nodeType":864},{},[201739],{"type":899},{"data":201741,"marks":201742,"value":191540,"nodeType":864},{},[],{"data":201744,"content":201745,"nodeType":860},{},[201746],{"data":201747,"marks":201748,"value":191547,"nodeType":864},{},[],{"data":201750,"content":201751,"nodeType":118765},{},[201752,201771,201780],{"data":201753,"content":201754,"nodeType":945},{},[201755],{"data":201756,"content":201757,"nodeType":860},{},[201758,201761,201768],{"data":201759,"marks":201760,"value":191560,"nodeType":864},{},[],{"data":201762,"content":201763,"nodeType":883},{"uri":191563},[201764],{"data":201765,"marks":201766,"value":191569,"nodeType":864},{},[201767],{"type":1455},{"data":201769,"marks":201770,"value":18292,"nodeType":864},{},[],{"data":201772,"content":201773,"nodeType":945},{},[201774],{"data":201775,"content":201776,"nodeType":860},{},[201777],{"data":201778,"marks":201779,"value":191582,"nodeType":864},{},[],{"data":201781,"content":201782,"nodeType":945},{},[201783],{"data":201784,"content":201785,"nodeType":860},{},[201786],{"data":201787,"marks":201788,"value":191592,"nodeType":864},{},[],{"data":201790,"content":201791,"nodeType":860},{},[201792,201795,201802],{"data":201793,"marks":201794,"value":191599,"nodeType":864},{},[],{"data":201796,"content":201797,"nodeType":883},{"uri":191563},[201798],{"data":201799,"marks":201800,"value":191569,"nodeType":864},{},[201801],{"type":1455},{"data":201803,"marks":201804,"value":191610,"nodeType":864},{},[],{"data":201806,"content":201809,"nodeType":996},{"target":201807},{"sys":201808},{"id":191615,"type":1001,"linkType":1002},[],{"data":201811,"content":201812,"nodeType":860},{},[201813],{"data":201814,"marks":201815,"value":191623,"nodeType":864},{},[],{"data":201817,"content":201818,"nodeType":860},{},[201819],{"data":201820,"marks":201821,"value":191630,"nodeType":864},{},[],{"data":201823,"content":201824,"nodeType":860},{},[201825,201828,201836],{"data":201826,"marks":201827,"value":21,"nodeType":864},{},[],{"data":201829,"content":201832,"nodeType":27604},{"target":201830},{"sys":201831},{"id":191641,"type":1001,"linkType":1002},[201833],{"data":201834,"marks":201835,"value":191646,"nodeType":864},{},[],{"data":201837,"marks":201838,"value":21,"nodeType":864},{},[],{"data":201840,"content":201841,"nodeType":860},{},[201842,201845,201851],{"data":201843,"marks":201844,"value":21,"nodeType":864},{},[],{"data":201846,"content":201847,"nodeType":883},{"uri":191658},[201848],{"data":201849,"marks":201850,"value":191663,"nodeType":864},{},[],{"data":201852,"marks":201853,"value":21,"nodeType":864},{},[],{"data":201855,"content":201856,"nodeType":860},{},[201857,201860,201866],{"data":201858,"marks":201859,"value":21,"nodeType":864},{},[],{"data":201861,"content":201862,"nodeType":883},{"uri":191675},[201863],{"data":201864,"marks":201865,"value":191680,"nodeType":864},{},[],{"data":201867,"marks":201868,"value":21,"nodeType":864},{},[],{"data":201870,"content":201871,"nodeType":860},{},[201872,201875,201881],{"data":201873,"marks":201874,"value":21,"nodeType":864},{},[],{"data":201876,"content":201877,"nodeType":883},{"uri":191692},[201878],{"data":201879,"marks":201880,"value":191697,"nodeType":864},{},[],{"data":201882,"marks":201883,"value":21,"nodeType":864},{},[],{"data":201885,"content":201886,"nodeType":860},{},[201887,201890,201896],{"data":201888,"marks":201889,"value":21,"nodeType":864},{},[],{"data":201891,"content":201892,"nodeType":883},{"uri":191709},[201893],{"data":201894,"marks":201895,"value":191714,"nodeType":864},{},[],{"data":201897,"marks":201898,"value":21,"nodeType":864},{},[],{"data":201900,"content":201901,"nodeType":860},{},[201902,201905,201913],{"data":201903,"marks":201904,"value":21,"nodeType":864},{},[],{"data":201906,"content":201909,"nodeType":27604},{"target":201907},{"sys":201908},{"id":89552,"type":1001,"linkType":1002},[201910],{"data":201911,"marks":201912,"value":191732,"nodeType":864},{},[],{"data":201914,"marks":201915,"value":21,"nodeType":864},{},[],{"data":201917,"content":201918,"nodeType":1312},{},[201919],{"data":201920,"marks":201921,"value":191742,"nodeType":864},{},[],{"data":201923,"content":201924,"nodeType":860},{},[201925],{"data":201926,"marks":201927,"value":191749,"nodeType":864},{},[],{"data":201929,"content":201930,"nodeType":860},{},[201931,201934,201941],{"data":201932,"marks":201933,"value":191756,"nodeType":864},{},[],{"data":201935,"content":201936,"nodeType":883},{"uri":191759},[201937],{"data":201938,"marks":201939,"value":191765,"nodeType":864},{},[201940],{"type":1455},{"data":201942,"marks":201943,"value":191769,"nodeType":864},{},[],{"data":201945,"content":201948,"nodeType":996},{"target":201946},{"sys":201947},{"id":191774,"type":1001,"linkType":1002},[],{"data":201950,"content":201951,"nodeType":860},{},[201952,201955,201962],{"data":201953,"marks":201954,"value":191782,"nodeType":864},{},[],{"data":201956,"content":201957,"nodeType":883},{"uri":169205},[201958],{"data":201959,"marks":201960,"value":191790,"nodeType":864},{},[201961],{"type":1455},{"data":201963,"marks":201964,"value":191794,"nodeType":864},{},[],{"data":201966,"content":201967,"nodeType":860},{},[201968,201971,201978],{"data":201969,"marks":201970,"value":191801,"nodeType":864},{},[],{"data":201972,"content":201973,"nodeType":883},{"uri":168893},[201974],{"data":201975,"marks":201976,"value":168898,"nodeType":864},{},[201977],{"type":1455},{"data":201979,"marks":201980,"value":191812,"nodeType":864},{},[],{"entries":201982},{"inline":201983,"hyperlink":201984,"block":201998},[],[201985,201993],{"sys":201986,"__typename":201987,"title":201988,"slug":201989,"audience":201990,"linkedFromParent":201991},{"id":191641},"DocumentationPage","Managed deployment using Google Admin console","managed-deployment-using-google-admin-console","administrators",{"slug":201992},"install-the-browser-extension",{"sys":201994,"__typename":201987,"title":201995,"slug":201996,"audience":201990,"linkedFromParent":201997},{"id":89552},"Managed deployment using an MDM on macOS","managed-deployment-using-an-mdm-on-macos",{"slug":201992},[201999,202005],{"sys":202000,"__typename":1724,"title":202001,"caption":59,"layoutMode":59,"file":202002},{"id":191615},"Browsers page",{"url":202003,"width":197733,"height":202004},"https://images.ctfassets.net/y1cdw1ablpvd/2B7ubyV06N2ZbRhDd3kuwG/5542462f05c1a8e400854fca2cae7c23/Screenshot_2022-08-24_at_17.49.07.png",328,{"sys":202006,"__typename":1724,"title":202007,"caption":59,"layoutMode":59,"file":202008},{"id":191774},"Aug 2022 SaaS Logos",{"url":202009,"width":202010,"height":202011},"https://images.ctfassets.net/y1cdw1ablpvd/IeRFlK22XAHiIzTKBdGIY/c876ae20448ad0306c1de3c4a9513362/newapps.png",742,386,{"items":202013},[],{},"Push Security new product features for August 2022",{"items":202017},[202018],{"__typename":2059,"sys":202019,"content":202020,"title":197280,"synopsis":197281,"hashTags":59,"publishedDate":197282,"slug":197283,"tagsCollection":202316,"authorsCollection":202320},{"id":196941},{"json":202021},{"data":202022,"content":202023,"nodeType":856},{},[202024,202030,202060,202066,202073,202088,202093,202106,202111,202117,202122,202128,202134,202149,202157,202163,202169,202206,202211,202217,202232,202238,202244,202250,202256,202262,202268,202274,202280,202285,202309],{"data":202025,"content":202026,"nodeType":860},{},[202027],{"data":202028,"marks":202029,"value":196952,"nodeType":864},{},[],{"data":202031,"content":202032,"nodeType":941},{},[202033,202042,202051],{"data":202034,"content":202035,"nodeType":945},{},[202036],{"data":202037,"content":202038,"nodeType":860},{},[202039],{"data":202040,"marks":202041,"value":196965,"nodeType":864},{},[],{"data":202043,"content":202044,"nodeType":945},{},[202045],{"data":202046,"content":202047,"nodeType":860},{},[202048],{"data":202049,"marks":202050,"value":196975,"nodeType":864},{},[],{"data":202052,"content":202053,"nodeType":945},{},[202054],{"data":202055,"content":202056,"nodeType":860},{},[202057],{"data":202058,"marks":202059,"value":196985,"nodeType":864},{},[],{"data":202061,"content":202062,"nodeType":1009},{},[202063],{"data":202064,"marks":202065,"value":196965,"nodeType":864},{},[],{"data":202067,"content":202068,"nodeType":860},{},[202069],{"data":202070,"marks":202071,"value":196999,"nodeType":864},{},[202072],{"type":2246},{"data":202074,"content":202075,"nodeType":860},{},[202076,202079,202085],{"data":202077,"marks":202078,"value":197006,"nodeType":864},{},[],{"data":202080,"content":202081,"nodeType":883},{"uri":152747},[202082],{"data":202083,"marks":202084,"value":197013,"nodeType":864},{},[],{"data":202086,"marks":202087,"value":73563,"nodeType":864},{},[],{"data":202089,"content":202092,"nodeType":996},{"target":202090},{"sys":202091},{"id":197021,"type":1001,"linkType":1002},[],{"data":202094,"content":202095,"nodeType":860},{},[202096,202099,202103],{"data":202097,"marks":202098,"value":197029,"nodeType":864},{},[],{"data":202100,"marks":202101,"value":197034,"nodeType":864},{},[202102],{"type":2246},{"data":202104,"marks":202105,"value":197038,"nodeType":864},{},[],{"data":202107,"content":202110,"nodeType":996},{"target":202108},{"sys":202109},{"id":197043,"type":1001,"linkType":1002},[],{"data":202112,"content":202113,"nodeType":860},{},[202114],{"data":202115,"marks":202116,"value":197051,"nodeType":864},{},[],{"data":202118,"content":202121,"nodeType":996},{"target":202119},{"sys":202120},{"id":197056,"type":1001,"linkType":1002},[],{"data":202123,"content":202124,"nodeType":860},{},[202125],{"data":202126,"marks":202127,"value":197064,"nodeType":864},{},[],{"data":202129,"content":202130,"nodeType":860},{},[202131],{"data":202132,"marks":202133,"value":197071,"nodeType":864},{},[],{"data":202135,"content":202136,"nodeType":860},{},[202137,202140,202146],{"data":202138,"marks":202139,"value":21,"nodeType":864},{},[],{"data":202141,"content":202142,"nodeType":883},{"uri":197080},[202143],{"data":202144,"marks":202145,"value":197085,"nodeType":864},{},[],{"data":202147,"marks":202148,"value":21,"nodeType":864},{},[],{"data":202150,"content":202153,"nodeType":1009},{"target":202151},{"sys":202152},{"id":197093,"type":1001,"linkType":1002},[202154],{"data":202155,"marks":202156,"value":196975,"nodeType":864},{},[],{"data":202158,"content":202159,"nodeType":860},{},[202160],{"data":202161,"marks":202162,"value":197104,"nodeType":864},{},[],{"data":202164,"content":202165,"nodeType":860},{},[202166],{"data":202167,"marks":202168,"value":197111,"nodeType":864},{},[],{"data":202170,"content":202171,"nodeType":941},{},[202172,202188,202197],{"data":202173,"content":202174,"nodeType":945},{},[202175],{"data":202176,"content":202177,"nodeType":860},{},[202178,202181,202185],{"data":202179,"marks":202180,"value":197124,"nodeType":864},{},[],{"data":202182,"marks":202183,"value":197129,"nodeType":864},{},[202184],{"type":2246},{"data":202186,"marks":202187,"value":197133,"nodeType":864},{},[],{"data":202189,"content":202190,"nodeType":945},{},[202191],{"data":202192,"content":202193,"nodeType":860},{},[202194],{"data":202195,"marks":202196,"value":197143,"nodeType":864},{},[],{"data":202198,"content":202199,"nodeType":945},{},[202200],{"data":202201,"content":202202,"nodeType":860},{},[202203],{"data":202204,"marks":202205,"value":197153,"nodeType":864},{},[],{"data":202207,"content":202210,"nodeType":996},{"target":202208},{"sys":202209},{"id":197158,"type":1001,"linkType":1002},[],{"data":202212,"content":202213,"nodeType":860},{},[202214],{"data":202215,"marks":202216,"value":21,"nodeType":864},{},[],{"data":202218,"content":202219,"nodeType":860},{},[202220,202223,202229],{"data":202221,"marks":202222,"value":21,"nodeType":864},{},[],{"data":202224,"content":202225,"nodeType":883},{"uri":197174},[202226],{"data":202227,"marks":202228,"value":197085,"nodeType":864},{},[],{"data":202230,"marks":202231,"value":21,"nodeType":864},{},[],{"data":202233,"content":202234,"nodeType":1009},{},[202235],{"data":202236,"marks":202237,"value":196985,"nodeType":864},{},[],{"data":202239,"content":202240,"nodeType":860},{},[202241],{"data":202242,"marks":202243,"value":197194,"nodeType":864},{},[],{"data":202245,"content":202246,"nodeType":860},{},[202247],{"data":202248,"marks":202249,"value":197201,"nodeType":864},{},[],{"data":202251,"content":202252,"nodeType":860},{},[202253],{"data":202254,"marks":202255,"value":197208,"nodeType":864},{},[],{"data":202257,"content":202258,"nodeType":860},{},[202259],{"data":202260,"marks":202261,"value":197215,"nodeType":864},{},[],{"data":202263,"content":202264,"nodeType":860},{},[202265],{"data":202266,"marks":202267,"value":197222,"nodeType":864},{},[],{"data":202269,"content":202270,"nodeType":860},{},[202271],{"data":202272,"marks":202273,"value":197229,"nodeType":864},{},[],{"data":202275,"content":202276,"nodeType":860},{},[202277],{"data":202278,"marks":202279,"value":197236,"nodeType":864},{},[],{"data":202281,"content":202284,"nodeType":996},{"target":202282},{"sys":202283},{"id":197241,"type":1001,"linkType":1002},[],{"data":202286,"content":202287,"nodeType":860},{},[202288,202291,202297,202300,202306],{"data":202289,"marks":202290,"value":197249,"nodeType":864},{},[],{"data":202292,"content":202293,"nodeType":883},{"uri":197252},[202294],{"data":202295,"marks":202296,"value":197257,"nodeType":864},{},[],{"data":202298,"marks":202299,"value":197261,"nodeType":864},{},[],{"data":202301,"content":202302,"nodeType":883},{"uri":197264},[202303],{"data":202304,"marks":202305,"value":190103,"nodeType":864},{},[],{"data":202307,"marks":202308,"value":197272,"nodeType":864},{},[],{"data":202310,"content":202311,"nodeType":860},{},[202312],{"data":202313,"marks":202314,"value":21,"nodeType":864},{},[202315],{"type":1455},{"items":202317},[202318],{"sys":202319,"name":73498},{"id":73497},{"items":202321},[202322],{"fullName":79005,"firstName":79006,"jobTitle":79007,"profilePicture":202323},{"url":79009},"blog/product-release-august-2022",{"json":202326},{"data":202327,"content":202328,"nodeType":856},{},[202329],{"data":202330,"content":202331,"nodeType":860},{},[202332],{"data":202333,"marks":202334,"value":202335,"nodeType":864},{},[],"The big news this month? You can now deploy the Push browser extension to your managed machines and browsers without needing interaction from users!",{"id":191455,"publishedAt":202337},"2026-08-12T11:56:41.918Z",{"items":202339},[202340],{"sys":202341,"name":73498},{"id":73497},{"items":202343},[202344,202346,202348],{"sys":202345,"name":297,"slug":298,"tier":31},{"id":294},{"sys":202347,"name":545,"slug":546,"tier":31},{"id":542},{"sys":202349,"name":589,"slug":590,"tier":45},{"id":586},"OiwmpAaEjFTorV8yHEVLMYtk8FIUems0y5fbo_fMges",{"id":202352,"title":188170,"authorsCollection":202353,"content":202357,"extension":228,"faqItemsCollection":202634,"faqTitle":59,"featured":6,"hashTags":59,"meta":202636,"metaTitle":202637,"ogImage":59,"postType":9326,"publishedDate":188172,"relatedBlogPostsCollection":202638,"slug":188173,"stem":202942,"subtitle":59,"summary":202943,"synopsis":188171,"sys":202954,"tagsCollection":202956,"topicsCollection":202962,"__hash__":202970},"blog/blog/how-to-discover-saas-use-without-invading-employee-privacy.json",{"items":202354},[202355],{"fullName":79005,"firstName":79006,"jobTitle":79007,"socialLinks":59,"profilePicture":202356},{"url":79009},{"json":202358,"links":202621},{"data":202359,"content":202360,"nodeType":856},{},[202361,202367,202373,202379,202385,202391,202397,202403,202409,202415,202421,202427,202447,202463,202469,202475,202481,202538,202555,202570,202576,202582,202588,202593,202599,202605],{"data":202362,"content":202363,"nodeType":1009},{},[202364],{"data":202365,"marks":202366,"value":187875,"nodeType":864},{},[],{"data":202368,"content":202369,"nodeType":860},{},[202370],{"data":202371,"marks":202372,"value":187882,"nodeType":864},{},[],{"data":202374,"content":202375,"nodeType":860},{},[202376],{"data":202377,"marks":202378,"value":187889,"nodeType":864},{},[],{"data":202380,"content":202381,"nodeType":1009},{},[202382],{"data":202383,"marks":202384,"value":187896,"nodeType":864},{},[],{"data":202386,"content":202387,"nodeType":860},{},[202388],{"data":202389,"marks":202390,"value":187903,"nodeType":864},{},[],{"data":202392,"content":202393,"nodeType":860},{},[202394],{"data":202395,"marks":202396,"value":187910,"nodeType":864},{},[],{"data":202398,"content":202399,"nodeType":1009},{},[202400],{"data":202401,"marks":202402,"value":187917,"nodeType":864},{},[],{"data":202404,"content":202405,"nodeType":860},{},[202406],{"data":202407,"marks":202408,"value":187924,"nodeType":864},{},[],{"data":202410,"content":202411,"nodeType":860},{},[202412],{"data":202413,"marks":202414,"value":187931,"nodeType":864},{},[],{"data":202416,"content":202417,"nodeType":1009},{},[202418],{"data":202419,"marks":202420,"value":187938,"nodeType":864},{},[],{"data":202422,"content":202423,"nodeType":860},{},[202424],{"data":202425,"marks":202426,"value":187945,"nodeType":864},{},[],{"data":202428,"content":202429,"nodeType":860},{},[202430,202433,202437,202440,202444],{"data":202431,"marks":202432,"value":187952,"nodeType":864},{},[],{"data":202434,"marks":202435,"value":187957,"nodeType":864},{},[202436],{"type":2246},{"data":202438,"marks":202439,"value":187961,"nodeType":864},{},[],{"data":202441,"marks":202442,"value":187957,"nodeType":864},{},[202443],{"type":2246},{"data":202445,"marks":202446,"value":187969,"nodeType":864},{},[],{"data":202448,"content":202449,"nodeType":860},{},[202450,202453,202460],{"data":202451,"marks":202452,"value":187976,"nodeType":864},{},[],{"data":202454,"content":202455,"nodeType":883},{"uri":165034},[202456],{"data":202457,"marks":202458,"value":187984,"nodeType":864},{},[202459],{"type":1455},{"data":202461,"marks":202462,"value":187988,"nodeType":864},{},[],{"data":202464,"content":202465,"nodeType":1009},{},[202466],{"data":202467,"marks":202468,"value":187995,"nodeType":864},{},[],{"data":202470,"content":202471,"nodeType":860},{},[202472],{"data":202473,"marks":202474,"value":188002,"nodeType":864},{},[],{"data":202476,"content":202477,"nodeType":860},{},[202478],{"data":202479,"marks":202480,"value":188009,"nodeType":864},{},[],{"data":202482,"content":202483,"nodeType":941},{},[202484,202493,202502,202511,202520,202529],{"data":202485,"content":202486,"nodeType":945},{},[202487],{"data":202488,"content":202489,"nodeType":860},{},[202490],{"data":202491,"marks":202492,"value":188022,"nodeType":864},{},[],{"data":202494,"content":202495,"nodeType":945},{},[202496],{"data":202497,"content":202498,"nodeType":860},{},[202499],{"data":202500,"marks":202501,"value":188032,"nodeType":864},{},[],{"data":202503,"content":202504,"nodeType":945},{},[202505],{"data":202506,"content":202507,"nodeType":860},{},[202508],{"data":202509,"marks":202510,"value":188042,"nodeType":864},{},[],{"data":202512,"content":202513,"nodeType":945},{},[202514],{"data":202515,"content":202516,"nodeType":860},{},[202517],{"data":202518,"marks":202519,"value":188052,"nodeType":864},{},[],{"data":202521,"content":202522,"nodeType":945},{},[202523],{"data":202524,"content":202525,"nodeType":860},{},[202526],{"data":202527,"marks":202528,"value":188062,"nodeType":864},{},[],{"data":202530,"content":202531,"nodeType":945},{},[202532],{"data":202533,"content":202534,"nodeType":860},{},[202535],{"data":202536,"marks":202537,"value":188072,"nodeType":864},{},[],{"data":202539,"content":202540,"nodeType":860},{},[202541,202544,202552],{"data":202542,"marks":202543,"value":188079,"nodeType":864},{},[],{"data":202545,"content":202548,"nodeType":27604},{"target":202546},{"sys":202547},{"id":151289,"type":1001,"linkType":1002},[202549],{"data":202550,"marks":202551,"value":188088,"nodeType":864},{},[],{"data":202553,"marks":202554,"value":188092,"nodeType":864},{},[],{"data":202556,"content":202557,"nodeType":860},{},[202558,202561,202567],{"data":202559,"marks":202560,"value":188099,"nodeType":864},{},[],{"data":202562,"content":202563,"nodeType":883},{"uri":164982},[202564],{"data":202565,"marks":202566,"value":155142,"nodeType":864},{},[],{"data":202568,"marks":202569,"value":188109,"nodeType":864},{},[],{"data":202571,"content":202572,"nodeType":1009},{},[202573],{"data":202574,"marks":202575,"value":188116,"nodeType":864},{},[],{"data":202577,"content":202578,"nodeType":860},{},[202579],{"data":202580,"marks":202581,"value":188123,"nodeType":864},{},[],{"data":202583,"content":202584,"nodeType":860},{},[202585],{"data":202586,"marks":202587,"value":188130,"nodeType":864},{},[],{"data":202589,"content":202592,"nodeType":996},{"target":202590},{"sys":202591},{"id":188135,"type":1001,"linkType":1002},[],{"data":202594,"content":202595,"nodeType":860},{},[202596],{"data":202597,"marks":202598,"value":188143,"nodeType":864},{},[],{"data":202600,"content":202601,"nodeType":860},{},[202602],{"data":202603,"marks":202604,"value":188150,"nodeType":864},{},[],{"data":202606,"content":202607,"nodeType":860},{},[202608,202611,202618],{"data":202609,"marks":202610,"value":21,"nodeType":864},{},[],{"data":202612,"content":202613,"nodeType":883},{"uri":188159},[202614],{"data":202615,"marks":202616,"value":188165,"nodeType":864},{},[202617],{"type":1455},{"data":202619,"marks":202620,"value":188169,"nodeType":864},{},[],{"entries":202622},{"inline":202623,"hyperlink":202624,"block":202627},[],[202625],{"sys":202626,"__typename":2059,"title":164841,"slug":164842},{"id":151289},[202628],{"sys":202629,"__typename":1724,"title":202630,"caption":59,"layoutMode":59,"file":202631},{"id":188135},"User privacy screenshot",{"url":202632,"width":202633,"height":84567},"https://images.ctfassets.net/y1cdw1ablpvd/6y7ZPjWSXkqKuX0WW901HD/03a716aac860f7d460a6ba0ec6df8d86/image1.png",762,{"items":202635},[],{},"How to discover employee SaaS use without being creepy",{"items":202639},[202640],{"__typename":2059,"sys":202641,"content":202642,"title":190572,"synopsis":190573,"hashTags":59,"publishedDate":190218,"slug":190574,"tagsCollection":202934,"authorsCollection":202938},{"id":190229},{"json":202643},{"data":202644,"content":202645,"nodeType":856},{},[202646,202652,202666,202672,202678,202684,202691,202697,202704,202729,202735,202741,202747,202753,202759,202765,202771,202777,202783,202789,202795,202801,202814,202820,202826,202832,202838,202844,202850,202856,202862,202868,202874,202879,202885,202907,202913,202919],{"data":202647,"content":202648,"nodeType":1009},{},[202649],{"data":202650,"marks":202651,"value":190240,"nodeType":864},{},[],{"data":202653,"content":202654,"nodeType":860},{},[202655,202659,202662],{"data":202656,"marks":202657,"value":190248,"nodeType":864},{},[202658],{"type":2246},{"data":202660,"marks":202661,"value":7961,"nodeType":864},{},[],{"data":202663,"marks":202664,"value":190256,"nodeType":864},{},[202665],{"type":2246},{"data":202667,"content":202668,"nodeType":860},{},[202669],{"data":202670,"marks":202671,"value":190263,"nodeType":864},{},[],{"data":202673,"content":202674,"nodeType":860},{},[202675],{"data":202676,"marks":202677,"value":190270,"nodeType":864},{},[],{"data":202679,"content":202680,"nodeType":860},{},[202681],{"data":202682,"marks":202683,"value":190277,"nodeType":864},{},[],{"data":202685,"content":202686,"nodeType":860},{},[202687],{"data":202688,"marks":202689,"value":190285,"nodeType":864},{},[202690],{"type":899},{"data":202692,"content":202693,"nodeType":860},{},[202694],{"data":202695,"marks":202696,"value":190292,"nodeType":864},{},[],{"data":202698,"content":202699,"nodeType":1009},{},[202700],{"data":202701,"marks":202702,"value":190300,"nodeType":864},{},[202703],{"type":899},{"data":202705,"content":202706,"nodeType":860},{},[202707,202710,202716,202719,202726],{"data":202708,"marks":202709,"value":190307,"nodeType":864},{},[],{"data":202711,"content":202712,"nodeType":883},{"uri":190310},[202713],{"data":202714,"marks":202715,"value":103347,"nodeType":864},{},[],{"data":202717,"marks":202718,"value":3731,"nodeType":864},{},[],{"data":202720,"content":202721,"nodeType":883},{"uri":190320},[202722],{"data":202723,"marks":202724,"value":190326,"nodeType":864},{},[202725],{"type":1455},{"data":202727,"marks":202728,"value":190330,"nodeType":864},{},[],{"data":202730,"content":202731,"nodeType":860},{},[202732],{"data":202733,"marks":202734,"value":190337,"nodeType":864},{},[],{"data":202736,"content":202737,"nodeType":1009},{},[202738],{"data":202739,"marks":202740,"value":190344,"nodeType":864},{},[],{"data":202742,"content":202743,"nodeType":860},{},[202744],{"data":202745,"marks":202746,"value":190351,"nodeType":864},{},[],{"data":202748,"content":202749,"nodeType":860},{},[202750],{"data":202751,"marks":202752,"value":190358,"nodeType":864},{},[],{"data":202754,"content":202755,"nodeType":860},{},[202756],{"data":202757,"marks":202758,"value":190365,"nodeType":864},{},[],{"data":202760,"content":202761,"nodeType":860},{},[202762],{"data":202763,"marks":202764,"value":190372,"nodeType":864},{},[],{"data":202766,"content":202767,"nodeType":860},{},[202768],{"data":202769,"marks":202770,"value":190379,"nodeType":864},{},[],{"data":202772,"content":202773,"nodeType":1312},{},[202774],{"data":202775,"marks":202776,"value":190386,"nodeType":864},{},[],{"data":202778,"content":202779,"nodeType":860},{},[202780],{"data":202781,"marks":202782,"value":190393,"nodeType":864},{},[],{"data":202784,"content":202785,"nodeType":860},{},[202786],{"data":202787,"marks":202788,"value":190400,"nodeType":864},{},[],{"data":202790,"content":202791,"nodeType":860},{},[202792],{"data":202793,"marks":202794,"value":190407,"nodeType":864},{},[],{"data":202796,"content":202797,"nodeType":860},{},[202798],{"data":202799,"marks":202800,"value":190414,"nodeType":864},{},[],{"data":202802,"content":202803,"nodeType":860},{},[202804,202807,202811],{"data":202805,"marks":202806,"value":190421,"nodeType":864},{},[],{"data":202808,"marks":202809,"value":21943,"nodeType":864},{},[202810],{"type":2246},{"data":202812,"marks":202813,"value":190429,"nodeType":864},{},[],{"data":202815,"content":202816,"nodeType":860},{},[202817],{"data":202818,"marks":202819,"value":190436,"nodeType":864},{},[],{"data":202821,"content":202822,"nodeType":860},{},[202823],{"data":202824,"marks":202825,"value":190443,"nodeType":864},{},[],{"data":202827,"content":202828,"nodeType":1009},{},[202829],{"data":202830,"marks":202831,"value":190450,"nodeType":864},{},[],{"data":202833,"content":202834,"nodeType":860},{},[202835],{"data":202836,"marks":202837,"value":190457,"nodeType":864},{},[],{"data":202839,"content":202840,"nodeType":860},{},[202841],{"data":202842,"marks":202843,"value":190464,"nodeType":864},{},[],{"data":202845,"content":202846,"nodeType":860},{},[202847],{"data":202848,"marks":202849,"value":190471,"nodeType":864},{},[],{"data":202851,"content":202852,"nodeType":1312},{},[202853],{"data":202854,"marks":202855,"value":190478,"nodeType":864},{},[],{"data":202857,"content":202858,"nodeType":860},{},[202859],{"data":202860,"marks":202861,"value":190485,"nodeType":864},{},[],{"data":202863,"content":202864,"nodeType":860},{},[202865],{"data":202866,"marks":202867,"value":190492,"nodeType":864},{},[],{"data":202869,"content":202870,"nodeType":860},{},[202871],{"data":202872,"marks":202873,"value":190499,"nodeType":864},{},[],{"data":202875,"content":202878,"nodeType":996},{"target":202876},{"sys":202877},{"id":190504,"type":1001,"linkType":1002},[],{"data":202880,"content":202881,"nodeType":1009},{},[202882],{"data":202883,"marks":202884,"value":190512,"nodeType":864},{},[],{"data":202886,"content":202887,"nodeType":860},{},[202888,202891,202895,202900,202904],{"data":202889,"marks":202890,"value":190519,"nodeType":864},{},[],{"data":202892,"marks":202893,"value":190524,"nodeType":864},{},[202894],{"type":899},{"data":202896,"marks":202897,"value":190530,"nodeType":864},{},[202898,202899],{"type":899},{"type":2246},{"data":202901,"marks":202902,"value":190535,"nodeType":864},{},[202903],{"type":899},{"data":202905,"marks":202906,"value":190539,"nodeType":864},{},[],{"data":202908,"content":202909,"nodeType":1009},{},[202910],{"data":202911,"marks":202912,"value":190546,"nodeType":864},{},[],{"data":202914,"content":202915,"nodeType":860},{},[202916],{"data":202917,"marks":202918,"value":190553,"nodeType":864},{},[],{"data":202920,"content":202921,"nodeType":860},{},[202922,202925,202931],{"data":202923,"marks":202924,"value":190560,"nodeType":864},{},[],{"data":202926,"content":202927,"nodeType":883},{"uri":47677},[202928],{"data":202929,"marks":202930,"value":190567,"nodeType":864},{},[],{"data":202932,"marks":202933,"value":190571,"nodeType":864},{},[],{"items":202935},[202936],{"sys":202937,"name":49660},{"id":49659},{"items":202939},[202940],{"fullName":150052,"firstName":150052,"jobTitle":59,"profilePicture":202941},{"url":150054},"blog/how-to-discover-saas-use-without-invading-employee-privacy",{"json":202944},{"data":202945,"content":202946,"nodeType":856},{},[202947],{"data":202948,"content":202949,"nodeType":860},{},[202950],{"data":202951,"marks":202952,"value":202953,"nodeType":864},{},[],"Learn how to detect and secure employee SaaS use so you can help employees stay productive",{"id":187864,"publishedAt":202955},"2026-08-12T11:56:43.395Z",{"items":202957},[202958,202960],{"sys":202959,"name":4904},{"id":4903},{"sys":202961,"name":2729},{"id":2728},{"items":202963},[202964,202966,202968],{"sys":202965,"name":545,"slug":546,"tier":31},{"id":542},{"sys":202967,"name":297,"slug":298,"tier":31},{"id":294},{"sys":202969,"name":589,"slug":590,"tier":45},{"id":586},"BUMmH4yNVEOB58mm2R-kM1zvLgJjxWgJeXXmTnWMrsY",{"id":202972,"title":164841,"authorsCollection":202973,"content":202978,"extension":228,"faqItemsCollection":203516,"faqTitle":59,"featured":6,"hashTags":59,"meta":203518,"metaTitle":203519,"ogImage":59,"postType":38987,"publishedDate":165536,"relatedBlogPostsCollection":203520,"slug":164842,"stem":204799,"subtitle":59,"summary":204800,"synopsis":165535,"sys":204811,"tagsCollection":204813,"topicsCollection":204819,"__hash__":204835},"blog/blog/manage-saas-risks-without-hindering-employees.json",{"items":202974},[202975],{"fullName":38408,"firstName":38409,"jobTitle":38410,"socialLinks":202976,"profilePicture":202977},[38494],{"url":38412},{"json":202979,"links":203506},{"data":202980,"content":202981,"nodeType":856},{},[202982,202992,202998,203004,203010,203016,203039,203045,203060,203066,203082,203088,203093,203215,203221,203227,203233,203279,203285,203300,203306,203312,203318,203324,203330,203336,203342,203348,203354,203360,203366,203372,203392,203398,203404,203410,203416,203422,203428,203434,203440,203446,203452,203458,203464,203470,203476,203482,203485,203491,203494,203500],{"data":202983,"content":202984,"nodeType":860},{},[202985,202988],{"data":202986,"marks":202987,"value":164930,"nodeType":864},{},[],{"data":202989,"marks":202990,"value":164935,"nodeType":864},{},[202991],{"type":2246},{"data":202993,"content":202994,"nodeType":860},{},[202995],{"data":202996,"marks":202997,"value":164942,"nodeType":864},{},[],{"data":202999,"content":203000,"nodeType":860},{},[203001],{"data":203002,"marks":203003,"value":164949,"nodeType":864},{},[],{"data":203005,"content":203006,"nodeType":860},{},[203007],{"data":203008,"marks":203009,"value":164956,"nodeType":864},{},[],{"data":203011,"content":203012,"nodeType":1009},{},[203013],{"data":203014,"marks":203015,"value":164963,"nodeType":864},{},[],{"data":203017,"content":203018,"nodeType":860},{},[203019,203022,203026,203029,203036],{"data":203020,"marks":203021,"value":164970,"nodeType":864},{},[],{"data":203023,"marks":203024,"value":164975,"nodeType":864},{},[203025],{"type":1455},{"data":203027,"marks":203028,"value":164979,"nodeType":864},{},[],{"data":203030,"content":203031,"nodeType":883},{"uri":164982},[203032],{"data":203033,"marks":203034,"value":38987,"nodeType":864},{},[203035],{"type":1455},{"data":203037,"marks":203038,"value":164991,"nodeType":864},{},[],{"data":203040,"content":203041,"nodeType":860},{},[203042],{"data":203043,"marks":203044,"value":164998,"nodeType":864},{},[],{"data":203046,"content":203047,"nodeType":860},{},[203048,203051,203057],{"data":203049,"marks":203050,"value":165005,"nodeType":864},{},[],{"data":203052,"content":203053,"nodeType":883},{"uri":165008},[203054],{"data":203055,"marks":203056,"value":165013,"nodeType":864},{},[],{"data":203058,"marks":203059,"value":165017,"nodeType":864},{},[],{"data":203061,"content":203062,"nodeType":1009},{},[203063],{"data":203064,"marks":203065,"value":165024,"nodeType":864},{},[],{"data":203067,"content":203068,"nodeType":860},{},[203069,203072,203079],{"data":203070,"marks":203071,"value":165031,"nodeType":864},{},[],{"data":203073,"content":203074,"nodeType":883},{"uri":165034},[203075],{"data":203076,"marks":203077,"value":165040,"nodeType":864},{},[203078],{"type":1455},{"data":203080,"marks":203081,"value":165044,"nodeType":864},{},[],{"data":203083,"content":203084,"nodeType":860},{},[203085],{"data":203086,"marks":203087,"value":165051,"nodeType":864},{},[],{"data":203089,"content":203092,"nodeType":996},{"target":203090},{"sys":203091},{"id":165056,"type":1001,"linkType":1002},[],{"data":203094,"content":203095,"nodeType":118765},{},[203096,203148,203161,203174,203187],{"data":203097,"content":203098,"nodeType":945},{},[203099,203109],{"data":203100,"content":203101,"nodeType":860},{},[203102,203106],{"data":203103,"marks":203104,"value":165071,"nodeType":864},{},[203105],{"type":899},{"data":203107,"marks":203108,"value":165075,"nodeType":864},{},[],{"data":203110,"content":203111,"nodeType":118765},{},[203112,203121,203130,203139],{"data":203113,"content":203114,"nodeType":945},{},[203115],{"data":203116,"content":203117,"nodeType":860},{},[203118],{"data":203119,"marks":203120,"value":165088,"nodeType":864},{},[],{"data":203122,"content":203123,"nodeType":945},{},[203124],{"data":203125,"content":203126,"nodeType":860},{},[203127],{"data":203128,"marks":203129,"value":165098,"nodeType":864},{},[],{"data":203131,"content":203132,"nodeType":945},{},[203133],{"data":203134,"content":203135,"nodeType":860},{},[203136],{"data":203137,"marks":203138,"value":165108,"nodeType":864},{},[],{"data":203140,"content":203141,"nodeType":945},{},[203142],{"data":203143,"content":203144,"nodeType":860},{},[203145],{"data":203146,"marks":203147,"value":165118,"nodeType":864},{},[],{"data":203149,"content":203150,"nodeType":945},{},[203151],{"data":203152,"content":203153,"nodeType":860},{},[203154,203158],{"data":203155,"marks":203156,"value":165129,"nodeType":864},{},[203157],{"type":899},{"data":203159,"marks":203160,"value":165133,"nodeType":864},{},[],{"data":203162,"content":203163,"nodeType":945},{},[203164],{"data":203165,"content":203166,"nodeType":860},{},[203167,203171],{"data":203168,"marks":203169,"value":165144,"nodeType":864},{},[203170],{"type":899},{"data":203172,"marks":203173,"value":165148,"nodeType":864},{},[],{"data":203175,"content":203176,"nodeType":945},{},[203177],{"data":203178,"content":203179,"nodeType":860},{},[203180,203184],{"data":203181,"marks":203182,"value":165159,"nodeType":864},{},[203183],{"type":899},{"data":203185,"marks":203186,"value":165163,"nodeType":864},{},[],{"data":203188,"content":203189,"nodeType":945},{},[203190,203203],{"data":203191,"content":203192,"nodeType":860},{},[203193,203196,203200],{"data":203194,"marks":203195,"value":165173,"nodeType":864},{},[],{"data":203197,"marks":203198,"value":165178,"nodeType":864},{},[203199],{"type":899},{"data":203201,"marks":203202,"value":165182,"nodeType":864},{},[],{"data":203204,"content":203205,"nodeType":118765},{},[203206],{"data":203207,"content":203208,"nodeType":945},{},[203209],{"data":203210,"content":203211,"nodeType":860},{},[203212],{"data":203213,"marks":203214,"value":165195,"nodeType":864},{},[],{"data":203216,"content":203217,"nodeType":860},{},[203218],{"data":203219,"marks":203220,"value":165202,"nodeType":864},{},[],{"data":203222,"content":203223,"nodeType":1009},{},[203224],{"data":203225,"marks":203226,"value":165209,"nodeType":864},{},[],{"data":203228,"content":203229,"nodeType":860},{},[203230],{"data":203231,"marks":203232,"value":165216,"nodeType":864},{},[],{"data":203234,"content":203235,"nodeType":941},{},[203236,203245,203254,203270],{"data":203237,"content":203238,"nodeType":945},{},[203239],{"data":203240,"content":203241,"nodeType":860},{},[203242],{"data":203243,"marks":203244,"value":165229,"nodeType":864},{},[],{"data":203246,"content":203247,"nodeType":945},{},[203248],{"data":203249,"content":203250,"nodeType":860},{},[203251],{"data":203252,"marks":203253,"value":165239,"nodeType":864},{},[],{"data":203255,"content":203256,"nodeType":945},{},[203257],{"data":203258,"content":203259,"nodeType":860},{},[203260,203263,203267],{"data":203261,"marks":203262,"value":165249,"nodeType":864},{},[],{"data":203264,"marks":203265,"value":165254,"nodeType":864},{},[203266],{"type":2246},{"data":203268,"marks":203269,"value":165258,"nodeType":864},{},[],{"data":203271,"content":203272,"nodeType":945},{},[203273],{"data":203274,"content":203275,"nodeType":860},{},[203276],{"data":203277,"marks":203278,"value":165268,"nodeType":864},{},[],{"data":203280,"content":203281,"nodeType":860},{},[203282],{"data":203283,"marks":203284,"value":165275,"nodeType":864},{},[],{"data":203286,"content":203287,"nodeType":860},{},[203288,203291,203297],{"data":203289,"marks":203290,"value":165282,"nodeType":864},{},[],{"data":203292,"content":203293,"nodeType":883},{"uri":165285},[203294],{"data":203295,"marks":203296,"value":165290,"nodeType":864},{},[],{"data":203298,"marks":203299,"value":165294,"nodeType":864},{},[],{"data":203301,"content":203302,"nodeType":860},{},[203303],{"data":203304,"marks":203305,"value":165301,"nodeType":864},{},[],{"data":203307,"content":203308,"nodeType":1009},{},[203309],{"data":203310,"marks":203311,"value":165308,"nodeType":864},{},[],{"data":203313,"content":203314,"nodeType":860},{},[203315],{"data":203316,"marks":203317,"value":165315,"nodeType":864},{},[],{"data":203319,"content":203320,"nodeType":860},{},[203321],{"data":203322,"marks":203323,"value":165322,"nodeType":864},{},[],{"data":203325,"content":203326,"nodeType":860},{},[203327],{"data":203328,"marks":203329,"value":165329,"nodeType":864},{},[],{"data":203331,"content":203332,"nodeType":860},{},[203333],{"data":203334,"marks":203335,"value":165336,"nodeType":864},{},[],{"data":203337,"content":203338,"nodeType":1009},{},[203339],{"data":203340,"marks":203341,"value":165343,"nodeType":864},{},[],{"data":203343,"content":203344,"nodeType":860},{},[203345],{"data":203346,"marks":203347,"value":165350,"nodeType":864},{},[],{"data":203349,"content":203350,"nodeType":860},{},[203351],{"data":203352,"marks":203353,"value":165357,"nodeType":864},{},[],{"data":203355,"content":203356,"nodeType":1312},{},[203357],{"data":203358,"marks":203359,"value":165364,"nodeType":864},{},[],{"data":203361,"content":203362,"nodeType":860},{},[203363],{"data":203364,"marks":203365,"value":165371,"nodeType":864},{},[],{"data":203367,"content":203368,"nodeType":860},{},[203369],{"data":203370,"marks":203371,"value":165378,"nodeType":864},{},[],{"data":203373,"content":203374,"nodeType":860},{},[203375,203378,203385,203389],{"data":203376,"marks":203377,"value":165385,"nodeType":864},{},[],{"data":203379,"content":203380,"nodeType":883},{"uri":165388},[203381],{"data":203382,"marks":203383,"value":165394,"nodeType":864},{},[203384],{"type":1455},{"data":203386,"marks":203387,"value":1171,"nodeType":864},{},[203388],{"type":1455},{"data":203390,"marks":203391,"value":165402,"nodeType":864},{},[],{"data":203393,"content":203394,"nodeType":860},{},[203395],{"data":203396,"marks":203397,"value":165409,"nodeType":864},{},[],{"data":203399,"content":203400,"nodeType":1312},{},[203401],{"data":203402,"marks":203403,"value":165416,"nodeType":864},{},[],{"data":203405,"content":203406,"nodeType":860},{},[203407],{"data":203408,"marks":203409,"value":165423,"nodeType":864},{},[],{"data":203411,"content":203412,"nodeType":860},{},[203413],{"data":203414,"marks":203415,"value":165430,"nodeType":864},{},[],{"data":203417,"content":203418,"nodeType":860},{},[203419],{"data":203420,"marks":203421,"value":165437,"nodeType":864},{},[],{"data":203423,"content":203424,"nodeType":860},{},[203425],{"data":203426,"marks":203427,"value":165444,"nodeType":864},{},[],{"data":203429,"content":203430,"nodeType":860},{},[203431],{"data":203432,"marks":203433,"value":165451,"nodeType":864},{},[],{"data":203435,"content":203436,"nodeType":1312},{},[203437],{"data":203438,"marks":203439,"value":165458,"nodeType":864},{},[],{"data":203441,"content":203442,"nodeType":860},{},[203443],{"data":203444,"marks":203445,"value":165465,"nodeType":864},{},[],{"data":203447,"content":203448,"nodeType":860},{},[203449],{"data":203450,"marks":203451,"value":165472,"nodeType":864},{},[],{"data":203453,"content":203454,"nodeType":1312},{},[203455],{"data":203456,"marks":203457,"value":165479,"nodeType":864},{},[],{"data":203459,"content":203460,"nodeType":860},{},[203461],{"data":203462,"marks":203463,"value":165486,"nodeType":864},{},[],{"data":203465,"content":203466,"nodeType":860},{},[203467],{"data":203468,"marks":203469,"value":165493,"nodeType":864},{},[],{"data":203471,"content":203472,"nodeType":1009},{},[203473],{"data":203474,"marks":203475,"value":165500,"nodeType":864},{},[],{"data":203477,"content":203478,"nodeType":860},{},[203479],{"data":203480,"marks":203481,"value":165507,"nodeType":864},{},[],{"data":203483,"content":203484,"nodeType":1005},{},[],{"data":203486,"content":203487,"nodeType":860},{},[203488],{"data":203489,"marks":203490,"value":165517,"nodeType":864},{},[],{"data":203492,"content":203493,"nodeType":1005},{},[],{"data":203495,"content":203496,"nodeType":860},{},[203497],{"data":203498,"marks":203499,"value":165527,"nodeType":864},{},[],{"data":203501,"content":203502,"nodeType":860},{},[203503],{"data":203504,"marks":203505,"value":165534,"nodeType":864},{},[],{"entries":203507},{"hyperlink":203508,"inline":203509,"block":203510},[],[],[203511],{"sys":203512,"__typename":1724,"title":203513,"caption":59,"layoutMode":59,"file":203514},{"id":165056},"SaaS Risk checklist",{"url":203515,"width":142596,"height":142596},"https://images.ctfassets.net/y1cdw1ablpvd/3k9PBx2owoAsp0IUd6roHE/80898d4779f70c75d3e619c0568c6200/checklist-v5__1_.png",{"items":203517},[],{},"Manage the risk of unsanctioned SaaS in 5 steps",{"items":203521},[203522,204015,204401],{"__typename":2059,"sys":203523,"content":203524,"title":164845,"synopsis":187117,"hashTags":204004,"publishedDate":187124,"slug":164846,"tagsCollection":204005,"authorsCollection":204011},{"id":149551},{"json":203525},{"data":203526,"content":203527,"nodeType":856},{},[203528,203534,203540,203546,203552,203558,203578,203584,203590,203596,203602,203612,203618,203652,203672,203678,203684,203698,203704,203710,203723,203729,203736,203749,203755,203761,203767,203774,203780,203786,203792,203814,203871,203877,203883,203889,203902,203908,203921,203927,203937,203943,203960,203965,203980],{"data":203529,"content":203530,"nodeType":860},{},[203531],{"data":203532,"marks":203533,"value":186567,"nodeType":864},{},[],{"data":203535,"content":203536,"nodeType":860},{},[203537],{"data":203538,"marks":203539,"value":186574,"nodeType":864},{},[],{"data":203541,"content":203542,"nodeType":1009},{},[203543],{"data":203544,"marks":203545,"value":186581,"nodeType":864},{},[],{"data":203547,"content":203548,"nodeType":860},{},[203549],{"data":203550,"marks":203551,"value":186588,"nodeType":864},{},[],{"data":203553,"content":203554,"nodeType":860},{},[203555],{"data":203556,"marks":203557,"value":186595,"nodeType":864},{},[],{"data":203559,"content":203560,"nodeType":860},{},[203561,203564,203568,203571,203575],{"data":203562,"marks":203563,"value":186602,"nodeType":864},{},[],{"data":203565,"marks":203566,"value":186607,"nodeType":864},{},[203567],{"type":2246},{"data":203569,"marks":203570,"value":186611,"nodeType":864},{},[],{"data":203572,"marks":203573,"value":186616,"nodeType":864},{},[203574],{"type":2246},{"data":203576,"marks":203577,"value":186620,"nodeType":864},{},[],{"data":203579,"content":203580,"nodeType":860},{},[203581],{"data":203582,"marks":203583,"value":186627,"nodeType":864},{},[],{"data":203585,"content":203586,"nodeType":1009},{},[203587],{"data":203588,"marks":203589,"value":186634,"nodeType":864},{},[],{"data":203591,"content":203592,"nodeType":860},{},[203593],{"data":203594,"marks":203595,"value":186641,"nodeType":864},{},[],{"data":203597,"content":203598,"nodeType":1009},{},[203599],{"data":203600,"marks":203601,"value":186648,"nodeType":864},{},[],{"data":203603,"content":203604,"nodeType":860},{},[203605,203608],{"data":203606,"marks":203607,"value":90277,"nodeType":864},{},[],{"data":203609,"marks":203610,"value":186659,"nodeType":864},{},[203611],{"type":2246},{"data":203613,"content":203614,"nodeType":860},{},[203615],{"data":203616,"marks":203617,"value":186666,"nodeType":864},{},[],{"data":203619,"content":203620,"nodeType":860},{},[203621,203624,203628,203631,203635,203638,203642,203645,203649],{"data":203622,"marks":203623,"value":186673,"nodeType":864},{},[],{"data":203625,"marks":203626,"value":186607,"nodeType":864},{},[203627],{"type":2246},{"data":203629,"marks":203630,"value":186681,"nodeType":864},{},[],{"data":203632,"marks":203633,"value":186686,"nodeType":864},{},[203634],{"type":2246},{"data":203636,"marks":203637,"value":186690,"nodeType":864},{},[],{"data":203639,"marks":203640,"value":186607,"nodeType":864},{},[203641],{"type":2246},{"data":203643,"marks":203644,"value":186698,"nodeType":864},{},[],{"data":203646,"marks":203647,"value":186616,"nodeType":864},{},[203648],{"type":2246},{"data":203650,"marks":203651,"value":2924,"nodeType":864},{},[],{"data":203653,"content":203654,"nodeType":860},{},[203655,203658,203662,203665,203669],{"data":203656,"marks":203657,"value":186712,"nodeType":864},{},[],{"data":203659,"marks":203660,"value":186717,"nodeType":864},{},[203661],{"type":2246},{"data":203663,"marks":203664,"value":186721,"nodeType":864},{},[],{"data":203666,"marks":203667,"value":186726,"nodeType":864},{},[203668],{"type":2246},{"data":203670,"marks":203671,"value":186730,"nodeType":864},{},[],{"data":203673,"content":203674,"nodeType":860},{},[203675],{"data":203676,"marks":203677,"value":186737,"nodeType":864},{},[],{"data":203679,"content":203680,"nodeType":1009},{},[203681],{"data":203682,"marks":203683,"value":186744,"nodeType":864},{},[],{"data":203685,"content":203686,"nodeType":860},{},[203687,203691,203694],{"data":203688,"marks":203689,"value":186752,"nodeType":864},{},[203690],{"type":2246},{"data":203692,"marks":203693,"value":1171,"nodeType":864},{},[],{"data":203695,"marks":203696,"value":186760,"nodeType":864},{},[203697],{"type":2246},{"data":203699,"content":203700,"nodeType":860},{},[203701],{"data":203702,"marks":203703,"value":186767,"nodeType":864},{},[],{"data":203705,"content":203706,"nodeType":860},{},[203707],{"data":203708,"marks":203709,"value":186774,"nodeType":864},{},[],{"data":203711,"content":203712,"nodeType":860},{},[203713,203716,203720],{"data":203714,"marks":203715,"value":186781,"nodeType":864},{},[],{"data":203717,"marks":203718,"value":186786,"nodeType":864},{},[203719],{"type":2246},{"data":203721,"marks":203722,"value":186790,"nodeType":864},{},[],{"data":203724,"content":203725,"nodeType":1009},{},[203726],{"data":203727,"marks":203728,"value":186797,"nodeType":864},{},[],{"data":203730,"content":203731,"nodeType":860},{},[203732],{"data":203733,"marks":203734,"value":186805,"nodeType":864},{},[203735],{"type":2246},{"data":203737,"content":203738,"nodeType":860},{},[203739,203742,203746],{"data":203740,"marks":203741,"value":186812,"nodeType":864},{},[],{"data":203743,"marks":203744,"value":186817,"nodeType":864},{},[203745],{"type":2246},{"data":203747,"marks":203748,"value":186821,"nodeType":864},{},[],{"data":203750,"content":203751,"nodeType":860},{},[203752],{"data":203753,"marks":203754,"value":186828,"nodeType":864},{},[],{"data":203756,"content":203757,"nodeType":860},{},[203758],{"data":203759,"marks":203760,"value":186835,"nodeType":864},{},[],{"data":203762,"content":203763,"nodeType":1009},{},[203764],{"data":203765,"marks":203766,"value":186842,"nodeType":864},{},[],{"data":203768,"content":203769,"nodeType":860},{},[203770],{"data":203771,"marks":203772,"value":186850,"nodeType":864},{},[203773],{"type":2246},{"data":203775,"content":203776,"nodeType":860},{},[203777],{"data":203778,"marks":203779,"value":186857,"nodeType":864},{},[],{"data":203781,"content":203782,"nodeType":860},{},[203783],{"data":203784,"marks":203785,"value":186864,"nodeType":864},{},[],{"data":203787,"content":203788,"nodeType":860},{},[203789],{"data":203790,"marks":203791,"value":186871,"nodeType":864},{},[],{"data":203793,"content":203794,"nodeType":860},{},[203795,203798,203802,203805,203811],{"data":203796,"marks":203797,"value":186878,"nodeType":864},{},[],{"data":203799,"marks":203800,"value":103895,"nodeType":864},{},[203801],{"type":899},{"data":203803,"marks":203804,"value":186886,"nodeType":864},{},[],{"data":203806,"content":203807,"nodeType":883},{"uri":186889},[203808],{"data":203809,"marks":203810,"value":186894,"nodeType":864},{},[],{"data":203812,"marks":203813,"value":186898,"nodeType":864},{},[],{"data":203815,"content":203816,"nodeType":941},{},[203817,203826,203835,203844,203853,203862],{"data":203818,"content":203819,"nodeType":945},{},[203820],{"data":203821,"content":203822,"nodeType":860},{},[203823],{"data":203824,"marks":203825,"value":186911,"nodeType":864},{},[],{"data":203827,"content":203828,"nodeType":945},{},[203829],{"data":203830,"content":203831,"nodeType":860},{},[203832],{"data":203833,"marks":203834,"value":186921,"nodeType":864},{},[],{"data":203836,"content":203837,"nodeType":945},{},[203838],{"data":203839,"content":203840,"nodeType":860},{},[203841],{"data":203842,"marks":203843,"value":186931,"nodeType":864},{},[],{"data":203845,"content":203846,"nodeType":945},{},[203847],{"data":203848,"content":203849,"nodeType":860},{},[203850],{"data":203851,"marks":203852,"value":186941,"nodeType":864},{},[],{"data":203854,"content":203855,"nodeType":945},{},[203856],{"data":203857,"content":203858,"nodeType":860},{},[203859],{"data":203860,"marks":203861,"value":186951,"nodeType":864},{},[],{"data":203863,"content":203864,"nodeType":945},{},[203865],{"data":203866,"content":203867,"nodeType":860},{},[203868],{"data":203869,"marks":203870,"value":186961,"nodeType":864},{},[],{"data":203872,"content":203873,"nodeType":860},{},[203874],{"data":203875,"marks":203876,"value":186968,"nodeType":864},{},[],{"data":203878,"content":203879,"nodeType":860},{},[203880],{"data":203881,"marks":203882,"value":186975,"nodeType":864},{},[],{"data":203884,"content":203885,"nodeType":1009},{},[203886],{"data":203887,"marks":203888,"value":176957,"nodeType":864},{},[],{"data":203890,"content":203891,"nodeType":860},{},[203892,203895,203899],{"data":203893,"marks":203894,"value":186988,"nodeType":864},{},[],{"data":203896,"marks":203897,"value":186993,"nodeType":864},{},[203898],{"type":2246},{"data":203900,"marks":203901,"value":186997,"nodeType":864},{},[],{"data":203903,"content":203904,"nodeType":1312},{},[203905],{"data":203906,"marks":203907,"value":187004,"nodeType":864},{},[],{"data":203909,"content":203910,"nodeType":860},{},[203911,203914,203918],{"data":203912,"marks":203913,"value":187011,"nodeType":864},{},[],{"data":203915,"marks":203916,"value":187016,"nodeType":864},{},[203917],{"type":2246},{"data":203919,"marks":203920,"value":187020,"nodeType":864},{},[],{"data":203922,"content":203923,"nodeType":860},{},[203924],{"data":203925,"marks":203926,"value":187027,"nodeType":864},{},[],{"data":203928,"content":203929,"nodeType":860},{},[203930,203934],{"data":203931,"marks":203932,"value":187035,"nodeType":864},{},[203933],{"type":2246},{"data":203935,"marks":203936,"value":187039,"nodeType":864},{},[],{"data":203938,"content":203939,"nodeType":860},{},[203940],{"data":203941,"marks":203942,"value":187046,"nodeType":864},{},[],{"data":203944,"content":203945,"nodeType":860},{},[203946,203950,203953,203957],{"data":203947,"marks":203948,"value":187054,"nodeType":864},{},[203949],{"type":2246},{"data":203951,"marks":203952,"value":187058,"nodeType":864},{},[],{"data":203954,"marks":203955,"value":187063,"nodeType":864},{},[203956],{"type":2246},{"data":203958,"marks":203959,"value":8618,"nodeType":864},{},[],{"data":203961,"content":203964,"nodeType":996},{"target":203962},{"sys":203963},{"id":187071,"type":1001,"linkType":1002},[],{"data":203966,"content":203967,"nodeType":860},{},[203968,203971,203977],{"data":203969,"marks":203970,"value":187079,"nodeType":864},{},[],{"data":203972,"content":203973,"nodeType":883},{"uri":186889},[203974],{"data":203975,"marks":203976,"value":187086,"nodeType":864},{},[],{"data":203978,"marks":203979,"value":2924,"nodeType":864},{},[],{"data":203981,"content":203982,"nodeType":860},{},[203983,203986,203992,203995,204001],{"data":203984,"marks":203985,"value":187096,"nodeType":864},{},[],{"data":203987,"content":203988,"nodeType":883},{"uri":47677},[203989],{"data":203990,"marks":203991,"value":187103,"nodeType":864},{},[],{"data":203993,"marks":203994,"value":27405,"nodeType":864},{},[],{"data":203996,"content":203997,"nodeType":883},{"uri":47663},[203998],{"data":203999,"marks":204000,"value":47670,"nodeType":864},{},[],{"data":204002,"marks":204003,"value":187116,"nodeType":864},{},[],[187119,187120,187121,187122,187123],{"items":204006},[204007,204009],{"sys":204008,"name":4904},{"id":4903},{"sys":204010,"name":297},{"id":2732},{"items":204012},[204013],{"fullName":38408,"firstName":38409,"jobTitle":38410,"profilePicture":204014},{"url":38412},{"__typename":2059,"sys":204016,"content":204017,"title":199830,"synopsis":199831,"hashTags":59,"publishedDate":199832,"slug":199833,"tagsCollection":204391,"authorsCollection":204397},{"id":199386},{"json":204018},{"data":204019,"content":204020,"nodeType":856},{},[204021,204047,204050,204056,204062,204067,204073,204086,204092,204098,204114,204164,204167,204173,204228,204241,204247,204253,204269,204275,204292,204298,204304,204310,204316,204322,204328,204333,204339,204345,204358,204361,204376],{"data":204022,"content":204023,"nodeType":860},{},[204024,204027,204034,204037,204044],{"data":204025,"marks":204026,"value":199397,"nodeType":864},{},[],{"data":204028,"content":204029,"nodeType":883},{"uri":199400},[204030],{"data":204031,"marks":204032,"value":199406,"nodeType":864},{},[204033],{"type":1455},{"data":204035,"marks":204036,"value":199410,"nodeType":864},{},[],{"data":204038,"content":204039,"nodeType":883},{"uri":199021},[204040],{"data":204041,"marks":204042,"value":199418,"nodeType":864},{},[204043],{"type":1455},{"data":204045,"marks":204046,"value":199422,"nodeType":864},{},[],{"data":204048,"content":204049,"nodeType":1005},{},[],{"data":204051,"content":204052,"nodeType":860},{},[204053],{"data":204054,"marks":204055,"value":199432,"nodeType":864},{},[],{"data":204057,"content":204058,"nodeType":860},{},[204059],{"data":204060,"marks":204061,"value":199439,"nodeType":864},{},[],{"data":204063,"content":204066,"nodeType":996},{"target":204064},{"sys":204065},{"id":139571,"type":1001,"linkType":1002},[],{"data":204068,"content":204069,"nodeType":860},{},[204070],{"data":204071,"marks":204072,"value":199451,"nodeType":864},{},[],{"data":204074,"content":204075,"nodeType":860},{},[204076,204079,204083],{"data":204077,"marks":204078,"value":199458,"nodeType":864},{},[],{"data":204080,"marks":204081,"value":199463,"nodeType":864},{},[204082],{"type":899},{"data":204084,"marks":204085,"value":199467,"nodeType":864},{},[],{"data":204087,"content":204088,"nodeType":860},{},[204089],{"data":204090,"marks":204091,"value":199474,"nodeType":864},{},[],{"data":204093,"content":204094,"nodeType":860},{},[204095],{"data":204096,"marks":204097,"value":199481,"nodeType":864},{},[],{"data":204099,"content":204100,"nodeType":860},{},[204101,204104,204111],{"data":204102,"marks":204103,"value":199488,"nodeType":864},{},[],{"data":204105,"content":204106,"nodeType":883},{"uri":199491},[204107],{"data":204108,"marks":204109,"value":199497,"nodeType":864},{},[204110],{"type":1455},{"data":204112,"marks":204113,"value":199501,"nodeType":864},{},[],{"data":204115,"content":204116,"nodeType":941},{},[204117,204136,204155],{"data":204118,"content":204119,"nodeType":945},{},[204120],{"data":204121,"content":204122,"nodeType":860},{},[204123,204126,204133],{"data":204124,"marks":204125,"value":199514,"nodeType":864},{},[],{"data":204127,"content":204128,"nodeType":883},{"uri":193859},[204129],{"data":204130,"marks":204131,"value":199522,"nodeType":864},{},[204132],{"type":1455},{"data":204134,"marks":204135,"value":22438,"nodeType":864},{},[],{"data":204137,"content":204138,"nodeType":945},{},[204139],{"data":204140,"content":204141,"nodeType":860},{},[204142,204145,204152],{"data":204143,"marks":204144,"value":199535,"nodeType":864},{},[],{"data":204146,"content":204147,"nodeType":883},{"uri":199538},[204148],{"data":204149,"marks":204150,"value":199544,"nodeType":864},{},[204151],{"type":1455},{"data":204153,"marks":204154,"value":199548,"nodeType":864},{},[],{"data":204156,"content":204157,"nodeType":945},{},[204158],{"data":204159,"content":204160,"nodeType":860},{},[204161],{"data":204162,"marks":204163,"value":199558,"nodeType":864},{},[],{"data":204165,"content":204166,"nodeType":1005},{},[],{"data":204168,"content":204169,"nodeType":860},{},[204170],{"data":204171,"marks":204172,"value":199568,"nodeType":864},{},[],{"data":204174,"content":204175,"nodeType":860},{},[204176,204179,204186,204189,204196,204199,204206,204209,204216,204219,204225],{"data":204177,"marks":204178,"value":199575,"nodeType":864},{},[],{"data":204180,"content":204181,"nodeType":883},{"uri":199578},[204182],{"data":204183,"marks":204184,"value":199584,"nodeType":864},{},[204185],{"type":1455},{"data":204187,"marks":204188,"value":199588,"nodeType":864},{},[],{"data":204190,"content":204191,"nodeType":883},{"uri":199591},[204192],{"data":204193,"marks":204194,"value":199597,"nodeType":864},{},[204195],{"type":1455},{"data":204197,"marks":204198,"value":199601,"nodeType":864},{},[],{"data":204200,"content":204201,"nodeType":883},{"uri":199604},[204202],{"data":204203,"marks":204204,"value":199610,"nodeType":864},{},[204205],{"type":1455},{"data":204207,"marks":204208,"value":12960,"nodeType":864},{},[],{"data":204210,"content":204211,"nodeType":883},{"uri":199616},[204212],{"data":204213,"marks":204214,"value":199622,"nodeType":864},{},[204215],{"type":1455},{"data":204217,"marks":204218,"value":199626,"nodeType":864},{},[],{"data":204220,"content":204221,"nodeType":883},{"uri":139668},[204222],{"data":204223,"marks":204224,"value":199633,"nodeType":864},{},[],{"data":204226,"marks":204227,"value":199637,"nodeType":864},{},[],{"data":204229,"content":204230,"nodeType":860},{},[204231,204234,204238],{"data":204232,"marks":204233,"value":199644,"nodeType":864},{},[],{"data":204235,"marks":204236,"value":199649,"nodeType":864},{},[204237],{"type":899},{"data":204239,"marks":204240,"value":199653,"nodeType":864},{},[],{"data":204242,"content":204243,"nodeType":860},{},[204244],{"data":204245,"marks":204246,"value":199660,"nodeType":864},{},[],{"data":204248,"content":204249,"nodeType":1312},{},[204250],{"data":204251,"marks":204252,"value":199667,"nodeType":864},{},[],{"data":204254,"content":204255,"nodeType":860},{},[204256,204259,204266],{"data":204257,"marks":204258,"value":199674,"nodeType":864},{},[],{"data":204260,"content":204261,"nodeType":883},{"uri":199677},[204262],{"data":204263,"marks":204264,"value":199683,"nodeType":864},{},[204265],{"type":1455},{"data":204267,"marks":204268,"value":12252,"nodeType":864},{},[],{"data":204270,"content":204271,"nodeType":1312},{},[204272],{"data":204273,"marks":204274,"value":199693,"nodeType":864},{},[],{"data":204276,"content":204277,"nodeType":860},{},[204278,204281,204289],{"data":204279,"marks":204280,"value":199700,"nodeType":864},{},[],{"data":204282,"content":204285,"nodeType":27604},{"target":204283},{"sys":204284},{"id":199705,"type":1001,"linkType":1002},[204286],{"data":204287,"marks":204288,"value":199710,"nodeType":864},{},[],{"data":204290,"marks":204291,"value":2924,"nodeType":864},{},[],{"data":204293,"content":204294,"nodeType":1312},{},[204295],{"data":204296,"marks":204297,"value":199720,"nodeType":864},{},[],{"data":204299,"content":204300,"nodeType":860},{},[204301],{"data":204302,"marks":204303,"value":199727,"nodeType":864},{},[],{"data":204305,"content":204306,"nodeType":860},{},[204307],{"data":204308,"marks":204309,"value":199734,"nodeType":864},{},[],{"data":204311,"content":204312,"nodeType":1312},{},[204313],{"data":204314,"marks":204315,"value":199741,"nodeType":864},{},[],{"data":204317,"content":204318,"nodeType":860},{},[204319],{"data":204320,"marks":204321,"value":199748,"nodeType":864},{},[],{"data":204323,"content":204324,"nodeType":860},{},[204325],{"data":204326,"marks":204327,"value":199755,"nodeType":864},{},[],{"data":204329,"content":204332,"nodeType":996},{"target":204330},{"sys":204331},{"id":199760,"type":1001,"linkType":1002},[],{"data":204334,"content":204335,"nodeType":1312},{},[204336],{"data":204337,"marks":204338,"value":199768,"nodeType":864},{},[],{"data":204340,"content":204341,"nodeType":860},{},[204342],{"data":204343,"marks":204344,"value":199775,"nodeType":864},{},[],{"data":204346,"content":204347,"nodeType":860},{},[204348,204351,204355],{"data":204349,"marks":204350,"value":199782,"nodeType":864},{},[],{"data":204352,"marks":204353,"value":199787,"nodeType":864},{},[204354],{"type":2246},{"data":204356,"marks":204357,"value":199791,"nodeType":864},{},[],{"data":204359,"content":204360,"nodeType":1005},{},[],{"data":204362,"content":204363,"nodeType":860},{},[204364,204367,204373],{"data":204365,"marks":204366,"value":199801,"nodeType":864},{},[],{"data":204368,"content":204369,"nodeType":883},{"uri":199804},[204370],{"data":204371,"marks":204372,"value":199584,"nodeType":864},{},[],{"data":204374,"marks":204375,"value":199812,"nodeType":864},{},[],{"data":204377,"content":204378,"nodeType":860},{},[204379,204382,204388],{"data":204380,"marks":204381,"value":199819,"nodeType":864},{},[],{"data":204383,"content":204384,"nodeType":883},{"uri":139668},[204385],{"data":204386,"marks":204387,"value":199826,"nodeType":864},{},[],{"data":204389,"marks":204390,"value":21,"nodeType":864},{},[],{"items":204392},[204393,204395],{"sys":204394,"name":297},{"id":2732},{"sys":204396,"name":342},{"id":6596},{"items":204398},[204399],{"fullName":79005,"firstName":79006,"jobTitle":79007,"profilePicture":204400},{"url":79009},{"__typename":2059,"sys":204402,"content":204404,"title":204779,"synopsis":204780,"hashTags":204781,"publishedDate":204787,"slug":204788,"tagsCollection":204789,"authorsCollection":204795},{"id":204403},"4j5GhBaGwP92nz5p6gmQyi",{"json":204405},{"data":204406,"content":204407,"nodeType":856},{},[204408,204415,204422,204429,204435,204442,204449,204456,204489,204496,204503,204521,204527,204534,204541,204559,204565,204572,204591,204597,204632,204660,204666,204681,204708,204714,204721,204728,204734,204759,204766,204773],{"data":204409,"content":204410,"nodeType":1312},{},[204411],{"data":204412,"marks":204413,"value":204414,"nodeType":864},{},[],"What are user delegated OAuth tokens?",{"data":204416,"content":204417,"nodeType":860},{},[204418],{"data":204419,"marks":204420,"value":204421,"nodeType":864},{},[],"When users want to integrate a 3rd party app (like Zoom, Slack, Zapier, etc. etc.) with Google Workspace (or Office 365, or almost any SaaS platform these days really), they provide that app with a token (an OAuth2 token to be specific). This token can be used by the 3rd party to connect to your Workspace to gain access to that user’s data instead of a password.",{"data":204423,"content":204424,"nodeType":860},{},[204425],{"data":204426,"marks":204427,"value":204428,"nodeType":864},{},[],"You might recognise screens like this which actually do the job of granting these tokens.",{"data":204430,"content":204434,"nodeType":996},{"target":204431},{"sys":204432},{"id":204433,"type":1001,"linkType":1002},"1jj3BNK8zO0Pm83LwzLUJp",[],{"data":204436,"content":204437,"nodeType":860},{},[204438],{"data":204439,"marks":204440,"value":204441,"nodeType":864},{},[],"That list of permissions is a human readable version of what are called scopes. Scopes limit what the 3rd party can do with the token. There are a number of ways you can limit the 3rd parties and scopes your users can authorise, and we’ll cover those in future blog posts - for now we are focussing on the existing tokens that have already been granted.",{"data":204443,"content":204444,"nodeType":1312},{},[204445],{"data":204446,"marks":204447,"value":204448,"nodeType":864},{},[],"Why would you want to review these apps and tokens?",{"data":204450,"content":204451,"nodeType":860},{},[204452],{"data":204453,"marks":204454,"value":204455,"nodeType":864},{},[],"Essentially there are quite a few things that can go wrong here, which is not unexpected when we are talking about granting 3rd parties access to a core business platform like Workspace - and perhaps in something like an ordering of obviousness they are things like:",{"data":204457,"content":204458,"nodeType":941},{},[204459,204469,204479],{"data":204460,"content":204461,"nodeType":945},{},[204462],{"data":204463,"content":204464,"nodeType":860},{},[204465],{"data":204466,"marks":204467,"value":204468,"nodeType":864},{},[],"Consent phishing - where an attacker uses a malicious app linked in an email to trick users into giving them access to the user's data.",{"data":204470,"content":204471,"nodeType":945},{},[204472],{"data":204473,"content":204474,"nodeType":860},{},[204475],{"data":204476,"marks":204477,"value":204478,"nodeType":864},{},[],"Useful but malicious apps - as we’ve seen recently in browser extensions (especially chrome), mobile apps (especially android, pattern forming here?), PC software, etc. etc. there are a number of criminals who develop legitimately useful (or at least vaguely useful looking) software that is also used to get backdoor access to your data. This is even harder to spot in SaaS applications, because unlike browser extensions or mobile apps, you can’t inspect the code. And because Almost no SaaS apps expose good logs of what is done using these tokens, you can’t inspect what they are doing.",{"data":204480,"content":204481,"nodeType":945},{},[204482],{"data":204483,"content":204484,"nodeType":860},{},[204485],{"data":204486,"marks":204487,"value":204488,"nodeType":864},{},[],"Supply chain - while supply chain attacks are all the rage these days, we’ve yet to see a really clear attack where an attacker has stolen specifically OAuth tokens from one of these 3rd parties and used them against their customers - at least to my knowledge (please tweet my wrongness @jacques_sec). This does not however mean this can’t or won’t happen - and in fact I’d be super surprised if this doesn’t happen in the next few years.",{"data":204490,"content":204491,"nodeType":860},{},[204492],{"data":204493,"marks":204494,"value":204495,"nodeType":864},{},[],"While there are a lot of things you might want to look at when reviewing an OAuth app, you will at least want to know who owns/publishes the app (who have you delegated access too), what permissions or access the 3rd party has to your data, and whether Google has reviewed and verified the app - so let’s use this blog to focus on that starting point.",{"data":204497,"content":204498,"nodeType":1312},{},[204499],{"data":204500,"marks":204501,"value":204502,"nodeType":864},{},[],"Getting the basic token details",{"data":204504,"content":204505,"nodeType":860},{},[204506,204510,204517],{"data":204507,"marks":204508,"value":204509,"nodeType":864},{},[],"As a user you can look at ",{"data":204511,"content":204512,"nodeType":883},{"uri":139596},[204513],{"data":204514,"marks":204515,"value":204516,"nodeType":864},{},[],"your own Workspace tokens",{"data":204518,"marks":204519,"value":204520,"nodeType":864},{},[]," - where you’ll see a box like this for each integrated app:",{"data":204522,"content":204526,"nodeType":996},{"target":204523},{"sys":204524},{"id":204525,"type":1001,"linkType":1002},"4uswW6ogq8Gqn6ithrAa5d",[],{"data":204528,"content":204529,"nodeType":860},{},[204530],{"data":204531,"marks":204532,"value":204533,"nodeType":864},{},[],"You’ll see things like the authorised domain (diagrams.net in this case), the homepage of the app, and a description of the permissions granted by the scopes (though not the raw scopes themselves). Unfortunately, fairly basic information, like if the app has been verified by google is not available.",{"data":204535,"content":204536,"nodeType":860},{},[204537],{"data":204538,"marks":204539,"value":204540,"nodeType":864},{},[],"This page is also only available to view your own apps. Rather than trying to teach each of your users how to review OAuth apps, you may want to review these on behalf of your users, and let them get on with their jobs leaving your relationship with them intact. Google anticipated this, and actually allows you to get a list of these apps (or rather the tokens that grant them access) through the admin console in a couple of ways.",{"data":204542,"content":204543,"nodeType":860},{},[204544,204547,204555],{"data":204545,"marks":204546,"value":186878,"nodeType":864},{},[],{"data":204548,"content":204550,"nodeType":883},{"uri":204549},"https://admin.google.com/ac/users",[204551],{"data":204552,"marks":204553,"value":204554,"nodeType":864},{},[],"open a user’s profile in the admin console",{"data":204556,"marks":204557,"value":204558,"nodeType":864},{},[]," and click “connected applications” you’ll get something like this:",{"data":204560,"content":204564,"nodeType":996},{"target":204561},{"sys":204562},{"id":204563,"type":1001,"linkType":1002},"5EyCKXIf9ODUsVakm4bhnn",[],{"data":204566,"content":204567,"nodeType":860},{},[204568],{"data":204569,"marks":204570,"value":204571,"nodeType":864},{},[],"Beyond having to do this one user at a time - this is useful to see the display name for the application and the services which the app has access to. Unfortunately there is no information to show if the app has been verified by Google, and even worse nothing that links it to a specific publisher. At Push we publish quite a few apps ourselves I can tell you that the display name (“Google APIs Explorer” or “Slack” in the above example) is anything the author chooses, and so isn’t reliable at all unless the app has been verified (I’m assuming Google would reject look-alike or spoofed names here), but again you can’t tell here if the app has been verified by google - so on we go!",{"data":204573,"content":204574,"nodeType":860},{},[204575,204579,204587],{"data":204576,"marks":204577,"value":204578,"nodeType":864},{},[],"The admin console also provides ",{"data":204580,"content":204582,"nodeType":883},{"uri":204581},"https://admin.google.com/ac/reporting/audit/token",[204583],{"data":204584,"marks":204585,"value":204586,"nodeType":864},{},[],"security reports on token grants",{"data":204588,"marks":204589,"value":204590,"nodeType":864},{},[]," that look something like this:",{"data":204592,"content":204596,"nodeType":996},{"target":204593},{"sys":204594},{"id":204595,"type":1001,"linkType":1002},"6BygfA5C7GNzYZVkfP8du",[],{"data":204598,"content":204599,"nodeType":860},{},[204600,204604,204611,204615,204620,204624,204628],{"data":204601,"marks":204602,"value":204603,"nodeType":864},{},[],"Here we can see the raw scopes (you can find more info about the actual scopes in ",{"data":204605,"content":204606,"nodeType":883},{"uri":198706},[204607],{"data":204608,"marks":204609,"value":204610,"nodeType":864},{},[],"Google's API docs",{"data":204612,"marks":204613,"value":204614,"nodeType":864},{},[],"), the app name (display name as above) and the all important ",{"data":204616,"marks":204617,"value":204619,"nodeType":864},{},[204618],{"type":2246},"client_id",{"data":204621,"marks":204622,"value":204623,"nodeType":864},{},[]," that is, as far as I can tell, the closes we get to uniquely identifying an app under the hood. As a side note, it turns out that the first number sequence of the ",{"data":204625,"marks":204626,"value":204619,"nodeType":864},{},[204627],{"type":2246},{"data":204629,"marks":204630,"value":204631,"nodeType":864},{},[]," is actually the project number of the Google Cloud Project which hosts the app (or technically which hosts the OAuth consent screen for the app). Still no verification status, and no way to figure out who published the app. Further down the rabbit hole we go.",{"data":204633,"content":204634,"nodeType":860},{},[204635,204639,204644,204648,204656],{"data":204636,"marks":204637,"value":204638,"nodeType":864},{},[],"Workspace Admin also has an API, and fortunately there is a ",{"data":204640,"marks":204641,"value":204643,"nodeType":864},{},[204642],{"type":2246},"tokens",{"data":204645,"marks":204646,"value":204647,"nodeType":864},{},[]," resource (see Google docs for ",{"data":204649,"content":204651,"nodeType":883},{"uri":204650},"https://developers.google.com/admin-sdk/directory/reference/rest/v1/tokens/list",[204652],{"data":204653,"marks":204654,"value":204655,"nodeType":864},{},[],"Admin Directory API",{"data":204657,"marks":204658,"value":204659,"nodeType":864},{},[],") and there is even an API explorer (which - strange loop warning - also uses OAuth tokens to grant itself access to the API), which give you the following:",{"data":204661,"content":204665,"nodeType":996},{"target":204662},{"sys":204663},{"id":204664,"type":1001,"linkType":1002},"1zbptRPMoy5F9eexuoqdBh",[],{"data":204667,"content":204668,"nodeType":860},{},[204669,204673,204677],{"data":204670,"marks":204671,"value":204672,"nodeType":864},{},[],"Which actually gives you all the tokens for a user you specify. Not much here that is useful beyond what we got from the token report - we still just have display name, scopes, and the ",{"data":204674,"marks":204675,"value":204619,"nodeType":864},{},[204676],{"type":2246},{"data":204678,"marks":204679,"value":204680,"nodeType":864},{},[]," - however, we can now at least automate the process of pulling all apps for all users without having to figure out which are still active after grants and revokes in the audit report.",{"data":204682,"content":204683,"nodeType":860},{},[204684,204688,204692,204696,204704],{"data":204685,"marks":204686,"value":204687,"nodeType":864},{},[],"At this point I was worried whether this would be possible as I couldn’t find any APIs that actually resolved the ",{"data":204689,"marks":204690,"value":204619,"nodeType":864},{},[204691],{"type":2246},{"data":204693,"marks":204694,"value":204695,"nodeType":864},{},[]," to something more useful, so I started looking at ways to restrict installing apps instead. This led me to the ",{"data":204697,"content":204699,"nodeType":883},{"uri":204698},"https://admin.google.com/ac/owl/list",[204700],{"data":204701,"marks":204702,"value":204703,"nodeType":864},{},[],"Security > API controls > App access control",{"data":204705,"marks":204706,"value":204707,"nodeType":864},{},[]," panel in the admin console. This panel shows a list of all the trusted apps (which includes all the installed apps), and crucially if you click on the app you get something like the following:",{"data":204709,"content":204713,"nodeType":996},{"target":204710},{"sys":204711},{"id":204712,"type":1001,"linkType":1002},"3zM9a2NGzAdRVjQ0EN4Ult",[],{"data":204715,"content":204716,"nodeType":860},{},[204717],{"data":204718,"marks":204719,"value":204720,"nodeType":864},{},[],"Huzzah! - finally we have verification status, as well as an email address and links to various policies which can be used to identify the actual publisher of the app (my assumption here is that if the app is verified we can trust this information, but that might be something worth digging into a bit deeper, especially for apps that are not requesting sensitive or restricted scopes, both of which have increasingly thorough vetting).",{"data":204722,"content":204723,"nodeType":860},{},[204724],{"data":204725,"marks":204726,"value":204727,"nodeType":864},{},[],"Unfortunately this is not the end of the story. There are still a couple of problems here, firstly we can’t see which users granted which tokens - only how many users have active tokens. We could correlate this with the information in the user’s profile, but then you could have multiple apps using the same name as below:",{"data":204729,"content":204733,"nodeType":996},{"target":204730},{"sys":204731},{"id":204732,"type":1001,"linkType":1002},"2fSxeH8UZCC5cZ6vggwck",[],{"data":204735,"content":204736,"nodeType":860},{},[204737,204741,204745,204748,204755],{"data":204738,"marks":204739,"value":204740,"nodeType":864},{},[],"This can be solved by referencing the ",{"data":204742,"marks":204743,"value":204619,"nodeType":864},{},[204744],{"type":2246},{"data":204746,"marks":204747,"value":29595,"nodeType":864},{},[],{"data":204749,"content":204750,"nodeType":883},{"uri":204650},[204751],{"data":204752,"marks":204753,"value":204754,"nodeType":864},{},[],"admin.directory.tokens.list",{"data":204756,"marks":204757,"value":204758,"nodeType":864},{},[]," API (as discussed above), but that brings us to my final problem - it’s going to be painful cross referencing as the data in the screenshot above is not available in any API I can find, so to automate this I guess we’re going screen scraping 🤦. If you know a better way - please tweet me (again @jacques_sec).",{"data":204760,"content":204761,"nodeType":1312},{},[204762],{"data":204763,"marks":204764,"value":204765,"nodeType":864},{},[],"Next up",{"data":204767,"content":204768,"nodeType":860},{},[204769],{"data":204770,"marks":204771,"value":204772,"nodeType":864},{},[],"I’m planning to write future posts on this subject before I forget it all, and these will likely focus on understanding exactly what is possible using specific scopes in a more automated way than paging through endless docs, and more detail on doing in-depth security reviews of OAuth apps. Get in touch if either of these (or something related) would be of interest to you and we might re-prioritise!",{"data":204774,"content":204775,"nodeType":860},{},[204776],{"data":204777,"marks":204778,"value":90277,"nodeType":864},{},[],"Investigating user delegated OAuth tokens in Google Workspace - a ride along","Introduction to OAuth tokens in Google Workspace, how they are used, reasons you might want to review them, and a discussion of how you might go about it. ",[204782,204783,204784,204785,204786],"#oauth","#oauth2","#cloud-apps","#google","#workspace","2021-07-15T00:00:00.000+01:00","investigating-user-delegated-oauth-tokens-in-google-workspace-a-ride-along",{"items":204790},[204791,204793],{"sys":204792,"name":342},{"id":6596},{"sys":204794,"name":297},{"id":2732},{"items":204796},[204797],{"fullName":38408,"firstName":38409,"jobTitle":38410,"profilePicture":204798},{"url":38412},"blog/manage-saas-risks-without-hindering-employees",{"json":204801},{"data":204802,"content":204803,"nodeType":856},{},[204804],{"data":204805,"content":204806,"nodeType":860},{},[204807],{"data":204808,"marks":204809,"value":204810,"nodeType":864},{},[],"In this post, we're focusing on what to do after you've unearthed all the SaaS apps employees are using. SaaS discovery is only part of the process. What happens next is what leads to actual security improvements.",{"id":151289,"publishedAt":204812},"2026-08-12T11:56:45.006Z",{"items":204814},[204815,204817],{"sys":204816,"name":4904},{"id":4903},{"sys":204818,"name":2729},{"id":2728},{"items":204820},[204821,204823,204825,204827,204829,204831,204833],{"sys":204822,"name":545,"slug":546,"tier":31},{"id":542},{"sys":204824,"name":413,"slug":414,"tier":31},{"id":410},{"sys":204826,"name":589,"slug":590,"tier":45},{"id":586},{"sys":204828,"name":633,"slug":634,"tier":45},{"id":630},{"sys":204830,"name":457,"slug":458,"tier":45},{"id":454},{"sys":204832,"name":502,"slug":503,"tier":45},{"id":499},{"sys":204834,"name":484,"slug":485,"tier":45},{"id":481},"uiPjcEDaWeA2mYuHwv1BAWPDhdWYELsGpBPsURx_FVc",{"id":204837,"title":161685,"authorsCollection":204838,"content":204843,"extension":228,"faqItemsCollection":205132,"faqTitle":59,"featured":6,"hashTags":59,"meta":205134,"metaTitle":205135,"ogImage":59,"postType":38987,"publishedDate":161687,"relatedBlogPostsCollection":205136,"slug":161688,"stem":205631,"subtitle":59,"summary":205632,"synopsis":161686,"sys":205649,"tagsCollection":205651,"topicsCollection":205657,"__hash__":205669},"blog/blog/how-to-find-the-right-saas-security-solution-for-your-organization.json",{"items":204839},[204840],{"fullName":38408,"firstName":38409,"jobTitle":38410,"socialLinks":204841,"profilePicture":204842},[38494],{"url":38412},{"json":204844,"links":205125},{"data":204845,"content":204846,"nodeType":856},{},[204847,204853,204870,204876,204882,204888,204894,204900,204906,204912,204918,204924,204930,204936,204942,204955,204961,204967,204973,204979,204985,204991,205006,205012,205018,205024,205030,205036,205043,205073,205080,205110],{"data":204848,"content":204849,"nodeType":860},{},[204850],{"data":204851,"marks":204852,"value":161370,"nodeType":864},{},[],{"data":204854,"content":204855,"nodeType":860},{},[204856,204859,204867],{"data":204857,"marks":204858,"value":161377,"nodeType":864},{},[],{"data":204860,"content":204863,"nodeType":27604},{"target":204861},{"sys":204862},{"id":149551,"type":1001,"linkType":1002},[204864],{"data":204865,"marks":204866,"value":118412,"nodeType":864},{},[],{"data":204868,"marks":204869,"value":161389,"nodeType":864},{},[],{"data":204871,"content":204872,"nodeType":860},{},[204873],{"data":204874,"marks":204875,"value":161396,"nodeType":864},{},[],{"data":204877,"content":204878,"nodeType":860},{},[204879],{"data":204880,"marks":204881,"value":161403,"nodeType":864},{},[],{"data":204883,"content":204884,"nodeType":860},{},[204885],{"data":204886,"marks":204887,"value":161410,"nodeType":864},{},[],{"data":204889,"content":204890,"nodeType":860},{},[204891],{"data":204892,"marks":204893,"value":161417,"nodeType":864},{},[],{"data":204895,"content":204896,"nodeType":1312},{},[204897],{"data":204898,"marks":204899,"value":161424,"nodeType":864},{},[],{"data":204901,"content":204902,"nodeType":860},{},[204903],{"data":204904,"marks":204905,"value":161431,"nodeType":864},{},[],{"data":204907,"content":204908,"nodeType":860},{},[204909],{"data":204910,"marks":204911,"value":161438,"nodeType":864},{},[],{"data":204913,"content":204914,"nodeType":860},{},[204915],{"data":204916,"marks":204917,"value":161445,"nodeType":864},{},[],{"data":204919,"content":204920,"nodeType":860},{},[204921],{"data":204922,"marks":204923,"value":161452,"nodeType":864},{},[],{"data":204925,"content":204926,"nodeType":1312},{},[204927],{"data":204928,"marks":204929,"value":161459,"nodeType":864},{},[],{"data":204931,"content":204932,"nodeType":860},{},[204933],{"data":204934,"marks":204935,"value":161466,"nodeType":864},{},[],{"data":204937,"content":204938,"nodeType":860},{},[204939],{"data":204940,"marks":204941,"value":161473,"nodeType":864},{},[],{"data":204943,"content":204944,"nodeType":860},{},[204945,204948,204952],{"data":204946,"marks":204947,"value":161480,"nodeType":864},{},[],{"data":204949,"marks":204950,"value":161485,"nodeType":864},{},[204951],{"type":2246},{"data":204953,"marks":204954,"value":161489,"nodeType":864},{},[],{"data":204956,"content":204957,"nodeType":860},{},[204958],{"data":204959,"marks":204960,"value":161496,"nodeType":864},{},[],{"data":204962,"content":204963,"nodeType":1312},{},[204964],{"data":204965,"marks":204966,"value":161503,"nodeType":864},{},[],{"data":204968,"content":204969,"nodeType":860},{},[204970],{"data":204971,"marks":204972,"value":161510,"nodeType":864},{},[],{"data":204974,"content":204975,"nodeType":860},{},[204976],{"data":204977,"marks":204978,"value":161517,"nodeType":864},{},[],{"data":204980,"content":204981,"nodeType":860},{},[204982],{"data":204983,"marks":204984,"value":161524,"nodeType":864},{},[],{"data":204986,"content":204987,"nodeType":860},{},[204988],{"data":204989,"marks":204990,"value":161531,"nodeType":864},{},[],{"data":204992,"content":204993,"nodeType":860},{},[204994,204997,205003],{"data":204995,"marks":204996,"value":161538,"nodeType":864},{},[],{"data":204998,"content":204999,"nodeType":883},{"uri":161541},[205000],{"data":205001,"marks":205002,"value":161546,"nodeType":864},{},[],{"data":205004,"marks":205005,"value":12252,"nodeType":864},{},[],{"data":205007,"content":205008,"nodeType":1312},{},[205009],{"data":205010,"marks":205011,"value":161556,"nodeType":864},{},[],{"data":205013,"content":205014,"nodeType":860},{},[205015],{"data":205016,"marks":205017,"value":161563,"nodeType":864},{},[],{"data":205019,"content":205020,"nodeType":860},{},[205021],{"data":205022,"marks":205023,"value":161570,"nodeType":864},{},[],{"data":205025,"content":205026,"nodeType":1312},{},[205027],{"data":205028,"marks":205029,"value":32492,"nodeType":864},{},[],{"data":205031,"content":205032,"nodeType":860},{},[205033],{"data":205034,"marks":205035,"value":161583,"nodeType":864},{},[],{"data":205037,"content":205038,"nodeType":860},{},[205039],{"data":205040,"marks":205041,"value":161591,"nodeType":864},{},[205042],{"type":899},{"data":205044,"content":205045,"nodeType":941},{},[205046,205055,205064],{"data":205047,"content":205048,"nodeType":945},{},[205049],{"data":205050,"content":205051,"nodeType":860},{},[205052],{"data":205053,"marks":205054,"value":161604,"nodeType":864},{},[],{"data":205056,"content":205057,"nodeType":945},{},[205058],{"data":205059,"content":205060,"nodeType":860},{},[205061],{"data":205062,"marks":205063,"value":161614,"nodeType":864},{},[],{"data":205065,"content":205066,"nodeType":945},{},[205067],{"data":205068,"content":205069,"nodeType":860},{},[205070],{"data":205071,"marks":205072,"value":161624,"nodeType":864},{},[],{"data":205074,"content":205075,"nodeType":860},{},[205076],{"data":205077,"marks":205078,"value":161632,"nodeType":864},{},[205079],{"type":899},{"data":205081,"content":205082,"nodeType":941},{},[205083,205092,205101],{"data":205084,"content":205085,"nodeType":945},{},[205086],{"data":205087,"content":205088,"nodeType":860},{},[205089],{"data":205090,"marks":205091,"value":161645,"nodeType":864},{},[],{"data":205093,"content":205094,"nodeType":945},{},[205095],{"data":205096,"content":205097,"nodeType":860},{},[205098],{"data":205099,"marks":205100,"value":161655,"nodeType":864},{},[],{"data":205102,"content":205103,"nodeType":945},{},[205104],{"data":205105,"content":205106,"nodeType":860},{},[205107],{"data":205108,"marks":205109,"value":161665,"nodeType":864},{},[],{"data":205111,"content":205112,"nodeType":860},{},[205113,205116,205122],{"data":205114,"marks":205115,"value":161672,"nodeType":864},{},[],{"data":205117,"content":205118,"nodeType":883},{"uri":161675},[205119],{"data":205120,"marks":205121,"value":161680,"nodeType":864},{},[],{"data":205123,"marks":205124,"value":161684,"nodeType":864},{},[],{"entries":205126},{"block":205127,"inline":205128,"hyperlink":205129},[],[],[205130],{"sys":205131,"__typename":2059,"title":164845,"slug":164846},{"id":149551},{"items":205133},[],{},"How to evaluate SaaS security solutions for your company",{"items":205137},[205138],{"__typename":2059,"sys":205139,"content":205140,"title":164845,"synopsis":187117,"hashTags":205620,"publishedDate":187124,"slug":164846,"tagsCollection":205621,"authorsCollection":205627},{"id":149551},{"json":205141},{"data":205142,"content":205143,"nodeType":856},{},[205144,205150,205156,205162,205168,205174,205194,205200,205206,205212,205218,205228,205234,205268,205288,205294,205300,205314,205320,205326,205339,205345,205352,205365,205371,205377,205383,205390,205396,205402,205408,205430,205487,205493,205499,205505,205518,205524,205537,205543,205553,205559,205576,205581,205596],{"data":205145,"content":205146,"nodeType":860},{},[205147],{"data":205148,"marks":205149,"value":186567,"nodeType":864},{},[],{"data":205151,"content":205152,"nodeType":860},{},[205153],{"data":205154,"marks":205155,"value":186574,"nodeType":864},{},[],{"data":205157,"content":205158,"nodeType":1009},{},[205159],{"data":205160,"marks":205161,"value":186581,"nodeType":864},{},[],{"data":205163,"content":205164,"nodeType":860},{},[205165],{"data":205166,"marks":205167,"value":186588,"nodeType":864},{},[],{"data":205169,"content":205170,"nodeType":860},{},[205171],{"data":205172,"marks":205173,"value":186595,"nodeType":864},{},[],{"data":205175,"content":205176,"nodeType":860},{},[205177,205180,205184,205187,205191],{"data":205178,"marks":205179,"value":186602,"nodeType":864},{},[],{"data":205181,"marks":205182,"value":186607,"nodeType":864},{},[205183],{"type":2246},{"data":205185,"marks":205186,"value":186611,"nodeType":864},{},[],{"data":205188,"marks":205189,"value":186616,"nodeType":864},{},[205190],{"type":2246},{"data":205192,"marks":205193,"value":186620,"nodeType":864},{},[],{"data":205195,"content":205196,"nodeType":860},{},[205197],{"data":205198,"marks":205199,"value":186627,"nodeType":864},{},[],{"data":205201,"content":205202,"nodeType":1009},{},[205203],{"data":205204,"marks":205205,"value":186634,"nodeType":864},{},[],{"data":205207,"content":205208,"nodeType":860},{},[205209],{"data":205210,"marks":205211,"value":186641,"nodeType":864},{},[],{"data":205213,"content":205214,"nodeType":1009},{},[205215],{"data":205216,"marks":205217,"value":186648,"nodeType":864},{},[],{"data":205219,"content":205220,"nodeType":860},{},[205221,205224],{"data":205222,"marks":205223,"value":90277,"nodeType":864},{},[],{"data":205225,"marks":205226,"value":186659,"nodeType":864},{},[205227],{"type":2246},{"data":205229,"content":205230,"nodeType":860},{},[205231],{"data":205232,"marks":205233,"value":186666,"nodeType":864},{},[],{"data":205235,"content":205236,"nodeType":860},{},[205237,205240,205244,205247,205251,205254,205258,205261,205265],{"data":205238,"marks":205239,"value":186673,"nodeType":864},{},[],{"data":205241,"marks":205242,"value":186607,"nodeType":864},{},[205243],{"type":2246},{"data":205245,"marks":205246,"value":186681,"nodeType":864},{},[],{"data":205248,"marks":205249,"value":186686,"nodeType":864},{},[205250],{"type":2246},{"data":205252,"marks":205253,"value":186690,"nodeType":864},{},[],{"data":205255,"marks":205256,"value":186607,"nodeType":864},{},[205257],{"type":2246},{"data":205259,"marks":205260,"value":186698,"nodeType":864},{},[],{"data":205262,"marks":205263,"value":186616,"nodeType":864},{},[205264],{"type":2246},{"data":205266,"marks":205267,"value":2924,"nodeType":864},{},[],{"data":205269,"content":205270,"nodeType":860},{},[205271,205274,205278,205281,205285],{"data":205272,"marks":205273,"value":186712,"nodeType":864},{},[],{"data":205275,"marks":205276,"value":186717,"nodeType":864},{},[205277],{"type":2246},{"data":205279,"marks":205280,"value":186721,"nodeType":864},{},[],{"data":205282,"marks":205283,"value":186726,"nodeType":864},{},[205284],{"type":2246},{"data":205286,"marks":205287,"value":186730,"nodeType":864},{},[],{"data":205289,"content":205290,"nodeType":860},{},[205291],{"data":205292,"marks":205293,"value":186737,"nodeType":864},{},[],{"data":205295,"content":205296,"nodeType":1009},{},[205297],{"data":205298,"marks":205299,"value":186744,"nodeType":864},{},[],{"data":205301,"content":205302,"nodeType":860},{},[205303,205307,205310],{"data":205304,"marks":205305,"value":186752,"nodeType":864},{},[205306],{"type":2246},{"data":205308,"marks":205309,"value":1171,"nodeType":864},{},[],{"data":205311,"marks":205312,"value":186760,"nodeType":864},{},[205313],{"type":2246},{"data":205315,"content":205316,"nodeType":860},{},[205317],{"data":205318,"marks":205319,"value":186767,"nodeType":864},{},[],{"data":205321,"content":205322,"nodeType":860},{},[205323],{"data":205324,"marks":205325,"value":186774,"nodeType":864},{},[],{"data":205327,"content":205328,"nodeType":860},{},[205329,205332,205336],{"data":205330,"marks":205331,"value":186781,"nodeType":864},{},[],{"data":205333,"marks":205334,"value":186786,"nodeType":864},{},[205335],{"type":2246},{"data":205337,"marks":205338,"value":186790,"nodeType":864},{},[],{"data":205340,"content":205341,"nodeType":1009},{},[205342],{"data":205343,"marks":205344,"value":186797,"nodeType":864},{},[],{"data":205346,"content":205347,"nodeType":860},{},[205348],{"data":205349,"marks":205350,"value":186805,"nodeType":864},{},[205351],{"type":2246},{"data":205353,"content":205354,"nodeType":860},{},[205355,205358,205362],{"data":205356,"marks":205357,"value":186812,"nodeType":864},{},[],{"data":205359,"marks":205360,"value":186817,"nodeType":864},{},[205361],{"type":2246},{"data":205363,"marks":205364,"value":186821,"nodeType":864},{},[],{"data":205366,"content":205367,"nodeType":860},{},[205368],{"data":205369,"marks":205370,"value":186828,"nodeType":864},{},[],{"data":205372,"content":205373,"nodeType":860},{},[205374],{"data":205375,"marks":205376,"value":186835,"nodeType":864},{},[],{"data":205378,"content":205379,"nodeType":1009},{},[205380],{"data":205381,"marks":205382,"value":186842,"nodeType":864},{},[],{"data":205384,"content":205385,"nodeType":860},{},[205386],{"data":205387,"marks":205388,"value":186850,"nodeType":864},{},[205389],{"type":2246},{"data":205391,"content":205392,"nodeType":860},{},[205393],{"data":205394,"marks":205395,"value":186857,"nodeType":864},{},[],{"data":205397,"content":205398,"nodeType":860},{},[205399],{"data":205400,"marks":205401,"value":186864,"nodeType":864},{},[],{"data":205403,"content":205404,"nodeType":860},{},[205405],{"data":205406,"marks":205407,"value":186871,"nodeType":864},{},[],{"data":205409,"content":205410,"nodeType":860},{},[205411,205414,205418,205421,205427],{"data":205412,"marks":205413,"value":186878,"nodeType":864},{},[],{"data":205415,"marks":205416,"value":103895,"nodeType":864},{},[205417],{"type":899},{"data":205419,"marks":205420,"value":186886,"nodeType":864},{},[],{"data":205422,"content":205423,"nodeType":883},{"uri":186889},[205424],{"data":205425,"marks":205426,"value":186894,"nodeType":864},{},[],{"data":205428,"marks":205429,"value":186898,"nodeType":864},{},[],{"data":205431,"content":205432,"nodeType":941},{},[205433,205442,205451,205460,205469,205478],{"data":205434,"content":205435,"nodeType":945},{},[205436],{"data":205437,"content":205438,"nodeType":860},{},[205439],{"data":205440,"marks":205441,"value":186911,"nodeType":864},{},[],{"data":205443,"content":205444,"nodeType":945},{},[205445],{"data":205446,"content":205447,"nodeType":860},{},[205448],{"data":205449,"marks":205450,"value":186921,"nodeType":864},{},[],{"data":205452,"content":205453,"nodeType":945},{},[205454],{"data":205455,"content":205456,"nodeType":860},{},[205457],{"data":205458,"marks":205459,"value":186931,"nodeType":864},{},[],{"data":205461,"content":205462,"nodeType":945},{},[205463],{"data":205464,"content":205465,"nodeType":860},{},[205466],{"data":205467,"marks":205468,"value":186941,"nodeType":864},{},[],{"data":205470,"content":205471,"nodeType":945},{},[205472],{"data":205473,"content":205474,"nodeType":860},{},[205475],{"data":205476,"marks":205477,"value":186951,"nodeType":864},{},[],{"data":205479,"content":205480,"nodeType":945},{},[205481],{"data":205482,"content":205483,"nodeType":860},{},[205484],{"data":205485,"marks":205486,"value":186961,"nodeType":864},{},[],{"data":205488,"content":205489,"nodeType":860},{},[205490],{"data":205491,"marks":205492,"value":186968,"nodeType":864},{},[],{"data":205494,"content":205495,"nodeType":860},{},[205496],{"data":205497,"marks":205498,"value":186975,"nodeType":864},{},[],{"data":205500,"content":205501,"nodeType":1009},{},[205502],{"data":205503,"marks":205504,"value":176957,"nodeType":864},{},[],{"data":205506,"content":205507,"nodeType":860},{},[205508,205511,205515],{"data":205509,"marks":205510,"value":186988,"nodeType":864},{},[],{"data":205512,"marks":205513,"value":186993,"nodeType":864},{},[205514],{"type":2246},{"data":205516,"marks":205517,"value":186997,"nodeType":864},{},[],{"data":205519,"content":205520,"nodeType":1312},{},[205521],{"data":205522,"marks":205523,"value":187004,"nodeType":864},{},[],{"data":205525,"content":205526,"nodeType":860},{},[205527,205530,205534],{"data":205528,"marks":205529,"value":187011,"nodeType":864},{},[],{"data":205531,"marks":205532,"value":187016,"nodeType":864},{},[205533],{"type":2246},{"data":205535,"marks":205536,"value":187020,"nodeType":864},{},[],{"data":205538,"content":205539,"nodeType":860},{},[205540],{"data":205541,"marks":205542,"value":187027,"nodeType":864},{},[],{"data":205544,"content":205545,"nodeType":860},{},[205546,205550],{"data":205547,"marks":205548,"value":187035,"nodeType":864},{},[205549],{"type":2246},{"data":205551,"marks":205552,"value":187039,"nodeType":864},{},[],{"data":205554,"content":205555,"nodeType":860},{},[205556],{"data":205557,"marks":205558,"value":187046,"nodeType":864},{},[],{"data":205560,"content":205561,"nodeType":860},{},[205562,205566,205569,205573],{"data":205563,"marks":205564,"value":187054,"nodeType":864},{},[205565],{"type":2246},{"data":205567,"marks":205568,"value":187058,"nodeType":864},{},[],{"data":205570,"marks":205571,"value":187063,"nodeType":864},{},[205572],{"type":2246},{"data":205574,"marks":205575,"value":8618,"nodeType":864},{},[],{"data":205577,"content":205580,"nodeType":996},{"target":205578},{"sys":205579},{"id":187071,"type":1001,"linkType":1002},[],{"data":205582,"content":205583,"nodeType":860},{},[205584,205587,205593],{"data":205585,"marks":205586,"value":187079,"nodeType":864},{},[],{"data":205588,"content":205589,"nodeType":883},{"uri":186889},[205590],{"data":205591,"marks":205592,"value":187086,"nodeType":864},{},[],{"data":205594,"marks":205595,"value":2924,"nodeType":864},{},[],{"data":205597,"content":205598,"nodeType":860},{},[205599,205602,205608,205611,205617],{"data":205600,"marks":205601,"value":187096,"nodeType":864},{},[],{"data":205603,"content":205604,"nodeType":883},{"uri":47677},[205605],{"data":205606,"marks":205607,"value":187103,"nodeType":864},{},[],{"data":205609,"marks":205610,"value":27405,"nodeType":864},{},[],{"data":205612,"content":205613,"nodeType":883},{"uri":47663},[205614],{"data":205615,"marks":205616,"value":47670,"nodeType":864},{},[],{"data":205618,"marks":205619,"value":187116,"nodeType":864},{},[],[187119,187120,187121,187122,187123],{"items":205622},[205623,205625],{"sys":205624,"name":4904},{"id":4903},{"sys":205626,"name":297},{"id":2732},{"items":205628},[205629],{"fullName":38408,"firstName":38409,"jobTitle":38410,"profilePicture":205630},{"url":38412},"blog/how-to-find-the-right-saas-security-solution-for-your-organization",{"json":205633},{"data":205634,"content":205635,"nodeType":856},{},[205636,205643],{"data":205637,"content":205638,"nodeType":860},{},[205639],{"data":205640,"marks":205641,"value":205642,"nodeType":864},{},[],"We break down some major SaaS use cases and match them up with solutions that can address them.\n",{"data":205644,"content":205645,"nodeType":860},{},[205646],{"data":205647,"marks":205648,"value":90277,"nodeType":864},{},[],{"id":161359,"publishedAt":205650},"2026-08-12T11:56:46.440Z",{"items":205652},[205653,205655],{"sys":205654,"name":4904},{"id":4903},{"sys":205656,"name":2729},{"id":2728},{"items":205658},[205659,205661,205663,205665,205667],{"sys":205660,"name":545,"slug":546,"tier":31},{"id":542},{"sys":205662,"name":297,"slug":298,"tier":31},{"id":294},{"sys":205664,"name":589,"slug":590,"tier":45},{"id":586},{"sys":205666,"name":306,"slug":307,"tier":45},{"id":303},{"sys":205668,"name":624,"slug":625,"tier":45},{"id":621},"VWBo9cEVIbQGG-GS8nZGwPakcNUOAQ5NoaLdrlVYEp4",{"id":205671,"title":205672,"authorsCollection":205673,"content":205677,"extension":228,"faqItemsCollection":205943,"faqTitle":59,"featured":6,"hashTags":205945,"meta":205950,"metaTitle":205951,"ogImage":59,"postType":47747,"publishedDate":205952,"relatedBlogPostsCollection":205953,"slug":206144,"stem":206145,"subtitle":59,"summary":206146,"synopsis":206157,"sys":206158,"tagsCollection":206161,"topicsCollection":206165,"__hash__":206179},"blog/blog/what-weve-been-up-to-with-our-seed-funding.json","What we’ve been up to with our seed funding: a peek behind the curtain",{"items":205674},[205675],{"fullName":47297,"firstName":47298,"jobTitle":47299,"socialLinks":59,"profilePicture":205676},{"url":47301},{"json":205678,"links":205936},{"data":205679,"content":205680,"nodeType":856},{},[205681,205688,205794,205801,205813,205820,205827,205837,205852,205859,205878,205885,205892,205910],{"data":205682,"content":205683,"nodeType":860},{},[205684],{"data":205685,"marks":205686,"value":205687,"nodeType":864},{},[],"A little over 12-months ago, we announced that we’d soft-launched Push and opened the doors to our platform as part of an early access preview. During the preview, we worked closely with security professionals around the world from organizations of all shapes and sizes. We listened to feedback, to ideas, and we learned how we could hone the product to solve the most meaningful problems in a way that was accessible not just to large enterprises, but to smaller companies too. ",{"data":205689,"content":205690,"nodeType":860},{},[205691,205695,205703,205707,205716,205720,205729,205733,205742,205746,205755,205759,205768,205772,205781,205784,205791],{"data":205692,"marks":205693,"value":205694,"nodeType":864},{},[],"In case you missed it, yesterday we announced Push Security’s ",{"data":205696,"content":205698,"nodeType":883},{"uri":205697},"https://techcrunch.com/2022/07/19/push-security-launches-to-make-saas-sprawl-and-shadow-it-safer/",[205699],{"data":205700,"marks":205701,"value":205702,"nodeType":864},{},[],"official launch",{"data":205704,"marks":205705,"value":205706,"nodeType":864},{},[],", fueled by a $4m seed funding led by ",{"data":205708,"content":205710,"nodeType":883},{"uri":205709},"https://twitter.com/DecibelVC",[205711],{"data":205712,"marks":205713,"value":205715,"nodeType":864},{},[205714],{"type":1455},"@DecibelVC ",{"data":205717,"marks":205718,"value":205719,"nodeType":864},{},[],"and backed by industry legends Jon Oberheide (",{"data":205721,"content":205723,"nodeType":883},{"uri":205722},"https://twitter.com/jonoberheide",[205724],{"data":205725,"marks":205726,"value":205728,"nodeType":864},{},[205727],{"type":1455},"@jonoberheide",{"data":205730,"marks":205731,"value":205732,"nodeType":864},{},[],"), Ollie Whitehouse (",{"data":205734,"content":205736,"nodeType":883},{"uri":205735},"https://twitter.com/ollieatnccgroup",[205737],{"data":205738,"marks":205739,"value":205741,"nodeType":864},{},[205740],{"type":1455},"@ollieatnccgroup",{"data":205743,"marks":205744,"value":205745,"nodeType":864},{},[],"), Haroon Meer (",{"data":205747,"content":205749,"nodeType":883},{"uri":205748},"https://twitter.com/haroonmeer",[205750],{"data":205751,"marks":205752,"value":205754,"nodeType":864},{},[205753],{"type":1455},"@haroon",{"data":205756,"marks":205757,"value":205758,"nodeType":864},{},[],"), John Viega (",{"data":205760,"content":205762,"nodeType":883},{"uri":205761},"https://twitter.com/viega",[205763],{"data":205764,"marks":205765,"value":205767,"nodeType":864},{},[205766],{"type":1455},"@viega",{"data":205769,"marks":205770,"value":205771,"nodeType":864},{},[],"), ",{"data":205773,"content":205775,"nodeType":883},{"uri":205774},"https://www.linkedin.com/in/iantshaw/",[205776],{"data":205777,"marks":205778,"value":205780,"nodeType":864},{},[205779],{"type":1455},"Ian Shaw",{"data":205782,"marks":205783,"value":2232,"nodeType":864},{},[],{"data":205785,"content":205786,"nodeType":883},{"uri":190036},[205787],{"data":205788,"marks":205789,"value":205790,"nodeType":864},{},[],"many others",{"data":205792,"marks":205793,"value":12252,"nodeType":864},{},[],{"data":205795,"content":205796,"nodeType":860},{},[205797],{"data":205798,"marks":205799,"value":205800,"nodeType":864},{},[],"A big thank you to everyone who took part in the preview, to everyone who’s backing us, and to the amazing team at Push for making all of this happen.",{"data":205802,"content":205803,"nodeType":860},{},[205804,205808],{"data":205805,"marks":205806,"value":205807,"nodeType":864},{},[],"Now that we’re loaded up with funding, even more brain-power and a shiny new product release - we’re excited to share what we’ve been building at Push. ",{"data":205809,"marks":205810,"value":205812,"nodeType":864},{},[205811],{"type":899},"What’s Push all about anyway?",{"data":205814,"content":205815,"nodeType":860},{},[205816],{"data":205817,"marks":205818,"value":205819,"nodeType":864},{},[],"Push provides a super scalable way to secure SaaS, by equipping employees to join the fight against attackers and improve their own security. We provide them with just-in-time guidance to nudge and help them make good security decisions as they adopt and use SaaS. ",{"data":205821,"content":205822,"nodeType":860},{},[205823],{"data":205824,"marks":205825,"value":205826,"nodeType":864},{},[],"For example, we might encourage them to take actions like enabling MFA, setting strong passwords that haven’t been previously exposed, and removing third-party integrations that have privileged access to their personal data but are no longer being used.",{"data":205828,"content":205829,"nodeType":1116},{},[205830],{"data":205831,"content":205832,"nodeType":860},{},[205833],{"data":205834,"marks":205835,"value":205836,"nodeType":864},{},[],"A user-centric approach to security is a ridiculously scalable way to secure SaaS.",{"data":205838,"content":205839,"nodeType":860},{},[205840,205844,205849],{"data":205841,"marks":205842,"value":205843,"nodeType":864},{},[],"This is all part of a wider and quickly emerging industry trend that’s all the rage right now: using a user-centric approach to security. And the big driving force behind this trend is ",{"data":205845,"marks":205846,"value":205848,"nodeType":864},{},[205847],{"type":899},"decentralization",{"data":205850,"marks":205851,"value":2924,"nodeType":864},{},[],{"data":205853,"content":205854,"nodeType":860},{},[205855],{"data":205856,"marks":205857,"value":205858,"nodeType":864},{},[],"Modern companies are increasingly decentralized. Rather than having a central company network housing a number of work services, employees are working from home, bringing their own device, and signing up freely to the SaaS services they need.",{"data":205860,"content":205861,"nodeType":860},{},[205862,205866,205874],{"data":205863,"marks":205864,"value":205865,"nodeType":864},{},[],"We’ve now reached a tipping point whereby more SaaS platforms are adopted and owned by employees than centrally by IT. In fact, ",{"data":205867,"content":205868,"nodeType":883},{"uri":165034},[205869],{"data":205870,"marks":205871,"value":205873,"nodeType":864},{},[205872],{"type":1455},"G2 reported",{"data":205875,"marks":205876,"value":205877,"nodeType":864},{},[]," that “80% of workers admit to using SaaS applications at work without getting approval from IT.”",{"data":205879,"content":205880,"nodeType":860},{},[205881],{"data":205882,"marks":205883,"value":205884,"nodeType":864},{},[],"This shift has put employees in control of work services and where company data goes. It also gives an attacker an opportunity to quickly check across all popular SaaS services for weak user accounts and compromise company data.",{"data":205886,"content":205887,"nodeType":860},{},[205888],{"data":205889,"marks":205890,"value":205891,"nodeType":864},{},[],"If the company perimeter has now become ever expanding and under the security team's radar, the next logical shift is to focus on the employee and ensure that they are taking the right steps to protect that company data.",{"data":205893,"content":205894,"nodeType":860},{},[205895,205899,205907],{"data":205896,"marks":205897,"value":205898,"nodeType":864},{},[],"As an industry, we’ve barely scratched the surface with what’s possible. Push is here to level up the user-centric movement and we’re excited to see how far we can take it. Read more about our approach ",{"data":205900,"content":205903,"nodeType":27604},{"target":205901},{"sys":205902},{"id":190229,"type":1001,"linkType":1002},[205904],{"data":205905,"marks":205906,"value":29669,"nodeType":864},{},[],{"data":205908,"marks":205909,"value":2924,"nodeType":864},{},[],{"data":205911,"content":205912,"nodeType":860},{},[205913,205917,205923,205926,205932],{"data":205914,"marks":205915,"value":205916,"nodeType":864},{},[],"Watch this space on ",{"data":205918,"content":205919,"nodeType":883},{"uri":47677},[205920],{"data":205921,"marks":205922,"value":139691,"nodeType":864},{},[],{"data":205924,"marks":205925,"value":27405,"nodeType":864},{},[],{"data":205927,"content":205928,"nodeType":883},{"uri":47663},[205929],{"data":205930,"marks":205931,"value":47670,"nodeType":864},{},[],{"data":205933,"marks":205934,"value":205935,"nodeType":864},{},[],", with lots of exciting developments to come.",{"entries":205937},{"block":205938,"inline":205939,"hyperlink":205940},[],[],[205941],{"sys":205942,"__typename":2059,"title":190572,"slug":190574},{"id":190229},{"items":205944},[],[205946,205947,205948,205949],"UserCentricSecurity","UserPoweredSecurity","SaaSsecurity","startup",{},"What we’ve built with our seed funding round","2022-07-20T00:00:00.000Z",{"items":205954},[205955],{"__typename":2059,"sys":205956,"content":205957,"title":189960,"synopsis":190217,"hashTags":59,"publishedDate":190218,"slug":189961,"tagsCollection":206136,"authorsCollection":206140},{"id":188940},{"json":205958},{"data":205959,"content":205960,"nodeType":856},{},[205961,205987,205993,205999,206005,206011,206017,206023,206039,206046,206052,206078,206085,206101,206108,206114,206130],{"data":205962,"content":205963,"nodeType":860},{},[205964,205967,205974,205977,205984],{"data":205965,"marks":205966,"value":190021,"nodeType":864},{},[],{"data":205968,"content":205969,"nodeType":883},{"uri":190024},[205970],{"data":205971,"marks":205972,"value":47567,"nodeType":864},{},[205973],{"type":1455},{"data":205975,"marks":205976,"value":190033,"nodeType":864},{},[],{"data":205978,"content":205979,"nodeType":883},{"uri":190036},[205980],{"data":205981,"marks":205982,"value":190042,"nodeType":864},{},[205983],{"type":1455},{"data":205985,"marks":205986,"value":190046,"nodeType":864},{},[],{"data":205988,"content":205989,"nodeType":860},{},[205990],{"data":205991,"marks":205992,"value":190053,"nodeType":864},{},[],{"data":205994,"content":205995,"nodeType":860},{},[205996],{"data":205997,"marks":205998,"value":190060,"nodeType":864},{},[],{"data":206000,"content":206001,"nodeType":860},{},[206002],{"data":206003,"marks":206004,"value":190067,"nodeType":864},{},[],{"data":206006,"content":206007,"nodeType":860},{},[206008],{"data":206009,"marks":206010,"value":190074,"nodeType":864},{},[],{"data":206012,"content":206013,"nodeType":860},{},[206014],{"data":206015,"marks":206016,"value":190081,"nodeType":864},{},[],{"data":206018,"content":206019,"nodeType":860},{},[206020],{"data":206021,"marks":206022,"value":190088,"nodeType":864},{},[],{"data":206024,"content":206025,"nodeType":860},{},[206026,206029,206036],{"data":206027,"marks":206028,"value":190095,"nodeType":864},{},[],{"data":206030,"content":206031,"nodeType":883},{"uri":88658},[206032],{"data":206033,"marks":206034,"value":190103,"nodeType":864},{},[206035],{"type":1455},{"data":206037,"marks":206038,"value":190107,"nodeType":864},{},[],{"data":206040,"content":206041,"nodeType":860},{},[206042],{"data":206043,"marks":206044,"value":190115,"nodeType":864},{},[206045],{"type":899},{"data":206047,"content":206048,"nodeType":860},{},[206049],{"data":206050,"marks":206051,"value":190122,"nodeType":864},{},[],{"data":206053,"content":206054,"nodeType":860},{},[206055,206058,206065,206068,206075],{"data":206056,"marks":206057,"value":190129,"nodeType":864},{},[],{"data":206059,"content":206060,"nodeType":883},{"uri":88658},[206061],{"data":206062,"marks":206063,"value":190103,"nodeType":864},{},[206064],{"type":1455},{"data":206066,"marks":206067,"value":190140,"nodeType":864},{},[],{"data":206069,"content":206070,"nodeType":883},{"uri":47677},[206071],{"data":206072,"marks":206073,"value":190148,"nodeType":864},{},[206074],{"type":1455},{"data":206076,"marks":206077,"value":12252,"nodeType":864},{},[],{"data":206079,"content":206080,"nodeType":860},{},[206081],{"data":206082,"marks":206083,"value":190159,"nodeType":864},{},[206084],{"type":899},{"data":206086,"content":206087,"nodeType":860},{},[206088,206091,206098],{"data":206089,"marks":206090,"value":21,"nodeType":864},{},[],{"data":206092,"content":206093,"nodeType":883},{"uri":190168},[206094],{"data":206095,"marks":206096,"value":47567,"nodeType":864},{},[206097],{"type":1455},{"data":206099,"marks":206100,"value":190177,"nodeType":864},{},[],{"data":206102,"content":206103,"nodeType":860},{},[206104],{"data":206105,"marks":206106,"value":190185,"nodeType":864},{},[206107],{"type":899},{"data":206109,"content":206110,"nodeType":860},{},[206111],{"data":206112,"marks":206113,"value":190192,"nodeType":864},{},[],{"data":206115,"content":206116,"nodeType":860},{},[206117,206120,206127],{"data":206118,"marks":206119,"value":21,"nodeType":864},{},[],{"data":206121,"content":206122,"nodeType":883},{"uri":190201},[206123],{"data":206124,"marks":206125,"value":190207,"nodeType":864},{},[206126],{"type":1455},{"data":206128,"marks":206129,"value":21,"nodeType":864},{},[],{"data":206131,"content":206132,"nodeType":860},{},[206133],{"data":206134,"marks":206135,"value":90277,"nodeType":864},{},[],{"items":206137},[206138],{"sys":206139,"name":49660},{"id":49659},{"items":206141},[206142],{"fullName":150052,"firstName":150052,"jobTitle":59,"profilePicture":206143},{"url":150054},"what-weve-been-up-to-with-our-seed-funding","blog/what-weve-been-up-to-with-our-seed-funding",{"json":206147},{"data":206148,"content":206149,"nodeType":856},{},[206150],{"data":206151,"content":206152,"nodeType":860},{},[206153],{"data":206154,"marks":206155,"value":206156,"nodeType":864},{},[],"Yesterday we announced our $4m series seed funding round to level-up the user-centric security movement and secure SaaS at scale. In this post, we explain what Push is all about.","Yesterday, we announced our official launch and what Push Security is all about following our $4m series seed.",{"id":206159,"publishedAt":206160},"Wh59zDErDeWrjx6FkoUSv","2026-08-12T11:56:47.878Z",{"items":206162},[206163],{"sys":206164,"name":49660},{"id":49659},{"items":206166},[206167,206169,206171,206173,206175,206177],{"sys":206168,"name":297,"slug":298,"tier":31},{"id":294},{"sys":206170,"name":545,"slug":546,"tier":31},{"id":542},{"sys":206172,"name":413,"slug":414,"tier":31},{"id":410},{"sys":206174,"name":589,"slug":590,"tier":45},{"id":586},{"sys":206176,"name":457,"slug":458,"tier":45},{"id":454},{"sys":206178,"name":502,"slug":503,"tier":45},{"id":499},"P4D3c_uBgzRz1BTPO4y_U-9Alt7iLNyVHMKz5blTiog",{"id":206181,"title":190572,"authorsCollection":206182,"content":206186,"extension":228,"faqItemsCollection":206491,"faqTitle":59,"featured":6,"hashTags":59,"meta":206493,"metaTitle":206494,"ogImage":59,"postType":47747,"publishedDate":190218,"relatedBlogPostsCollection":206495,"slug":190574,"stem":206992,"subtitle":59,"summary":206993,"synopsis":190573,"sys":207004,"tagsCollection":207006,"topicsCollection":207010,"__hash__":207024},"blog/blog/building-a-culture-of-trust-to-secure-saas-together.json",{"items":206183},[206184],{"fullName":150052,"firstName":150052,"jobTitle":59,"socialLinks":59,"profilePicture":206185},{"url":150054},{"json":206187,"links":206478},{"data":206188,"content":206189,"nodeType":856},{},[206190,206196,206210,206216,206222,206228,206235,206241,206248,206273,206279,206285,206291,206297,206303,206309,206315,206321,206327,206333,206339,206345,206358,206364,206370,206376,206382,206388,206394,206400,206406,206412,206418,206423,206429,206451,206457,206463],{"data":206191,"content":206192,"nodeType":1009},{},[206193],{"data":206194,"marks":206195,"value":190240,"nodeType":864},{},[],{"data":206197,"content":206198,"nodeType":860},{},[206199,206203,206206],{"data":206200,"marks":206201,"value":190248,"nodeType":864},{},[206202],{"type":2246},{"data":206204,"marks":206205,"value":7961,"nodeType":864},{},[],{"data":206207,"marks":206208,"value":190256,"nodeType":864},{},[206209],{"type":2246},{"data":206211,"content":206212,"nodeType":860},{},[206213],{"data":206214,"marks":206215,"value":190263,"nodeType":864},{},[],{"data":206217,"content":206218,"nodeType":860},{},[206219],{"data":206220,"marks":206221,"value":190270,"nodeType":864},{},[],{"data":206223,"content":206224,"nodeType":860},{},[206225],{"data":206226,"marks":206227,"value":190277,"nodeType":864},{},[],{"data":206229,"content":206230,"nodeType":860},{},[206231],{"data":206232,"marks":206233,"value":190285,"nodeType":864},{},[206234],{"type":899},{"data":206236,"content":206237,"nodeType":860},{},[206238],{"data":206239,"marks":206240,"value":190292,"nodeType":864},{},[],{"data":206242,"content":206243,"nodeType":1009},{},[206244],{"data":206245,"marks":206246,"value":190300,"nodeType":864},{},[206247],{"type":899},{"data":206249,"content":206250,"nodeType":860},{},[206251,206254,206260,206263,206270],{"data":206252,"marks":206253,"value":190307,"nodeType":864},{},[],{"data":206255,"content":206256,"nodeType":883},{"uri":190310},[206257],{"data":206258,"marks":206259,"value":103347,"nodeType":864},{},[],{"data":206261,"marks":206262,"value":3731,"nodeType":864},{},[],{"data":206264,"content":206265,"nodeType":883},{"uri":190320},[206266],{"data":206267,"marks":206268,"value":190326,"nodeType":864},{},[206269],{"type":1455},{"data":206271,"marks":206272,"value":190330,"nodeType":864},{},[],{"data":206274,"content":206275,"nodeType":860},{},[206276],{"data":206277,"marks":206278,"value":190337,"nodeType":864},{},[],{"data":206280,"content":206281,"nodeType":1009},{},[206282],{"data":206283,"marks":206284,"value":190344,"nodeType":864},{},[],{"data":206286,"content":206287,"nodeType":860},{},[206288],{"data":206289,"marks":206290,"value":190351,"nodeType":864},{},[],{"data":206292,"content":206293,"nodeType":860},{},[206294],{"data":206295,"marks":206296,"value":190358,"nodeType":864},{},[],{"data":206298,"content":206299,"nodeType":860},{},[206300],{"data":206301,"marks":206302,"value":190365,"nodeType":864},{},[],{"data":206304,"content":206305,"nodeType":860},{},[206306],{"data":206307,"marks":206308,"value":190372,"nodeType":864},{},[],{"data":206310,"content":206311,"nodeType":860},{},[206312],{"data":206313,"marks":206314,"value":190379,"nodeType":864},{},[],{"data":206316,"content":206317,"nodeType":1312},{},[206318],{"data":206319,"marks":206320,"value":190386,"nodeType":864},{},[],{"data":206322,"content":206323,"nodeType":860},{},[206324],{"data":206325,"marks":206326,"value":190393,"nodeType":864},{},[],{"data":206328,"content":206329,"nodeType":860},{},[206330],{"data":206331,"marks":206332,"value":190400,"nodeType":864},{},[],{"data":206334,"content":206335,"nodeType":860},{},[206336],{"data":206337,"marks":206338,"value":190407,"nodeType":864},{},[],{"data":206340,"content":206341,"nodeType":860},{},[206342],{"data":206343,"marks":206344,"value":190414,"nodeType":864},{},[],{"data":206346,"content":206347,"nodeType":860},{},[206348,206351,206355],{"data":206349,"marks":206350,"value":190421,"nodeType":864},{},[],{"data":206352,"marks":206353,"value":21943,"nodeType":864},{},[206354],{"type":2246},{"data":206356,"marks":206357,"value":190429,"nodeType":864},{},[],{"data":206359,"content":206360,"nodeType":860},{},[206361],{"data":206362,"marks":206363,"value":190436,"nodeType":864},{},[],{"data":206365,"content":206366,"nodeType":860},{},[206367],{"data":206368,"marks":206369,"value":190443,"nodeType":864},{},[],{"data":206371,"content":206372,"nodeType":1009},{},[206373],{"data":206374,"marks":206375,"value":190450,"nodeType":864},{},[],{"data":206377,"content":206378,"nodeType":860},{},[206379],{"data":206380,"marks":206381,"value":190457,"nodeType":864},{},[],{"data":206383,"content":206384,"nodeType":860},{},[206385],{"data":206386,"marks":206387,"value":190464,"nodeType":864},{},[],{"data":206389,"content":206390,"nodeType":860},{},[206391],{"data":206392,"marks":206393,"value":190471,"nodeType":864},{},[],{"data":206395,"content":206396,"nodeType":1312},{},[206397],{"data":206398,"marks":206399,"value":190478,"nodeType":864},{},[],{"data":206401,"content":206402,"nodeType":860},{},[206403],{"data":206404,"marks":206405,"value":190485,"nodeType":864},{},[],{"data":206407,"content":206408,"nodeType":860},{},[206409],{"data":206410,"marks":206411,"value":190492,"nodeType":864},{},[],{"data":206413,"content":206414,"nodeType":860},{},[206415],{"data":206416,"marks":206417,"value":190499,"nodeType":864},{},[],{"data":206419,"content":206422,"nodeType":996},{"target":206420},{"sys":206421},{"id":190504,"type":1001,"linkType":1002},[],{"data":206424,"content":206425,"nodeType":1009},{},[206426],{"data":206427,"marks":206428,"value":190512,"nodeType":864},{},[],{"data":206430,"content":206431,"nodeType":860},{},[206432,206435,206439,206444,206448],{"data":206433,"marks":206434,"value":190519,"nodeType":864},{},[],{"data":206436,"marks":206437,"value":190524,"nodeType":864},{},[206438],{"type":899},{"data":206440,"marks":206441,"value":190530,"nodeType":864},{},[206442,206443],{"type":899},{"type":2246},{"data":206445,"marks":206446,"value":190535,"nodeType":864},{},[206447],{"type":899},{"data":206449,"marks":206450,"value":190539,"nodeType":864},{},[],{"data":206452,"content":206453,"nodeType":1009},{},[206454],{"data":206455,"marks":206456,"value":190546,"nodeType":864},{},[],{"data":206458,"content":206459,"nodeType":860},{},[206460],{"data":206461,"marks":206462,"value":190553,"nodeType":864},{},[],{"data":206464,"content":206465,"nodeType":860},{},[206466,206469,206475],{"data":206467,"marks":206468,"value":190560,"nodeType":864},{},[],{"data":206470,"content":206471,"nodeType":883},{"uri":47677},[206472],{"data":206473,"marks":206474,"value":190567,"nodeType":864},{},[],{"data":206476,"marks":206477,"value":190571,"nodeType":864},{},[],{"entries":206479},{"hyperlink":206480,"inline":206481,"block":206482},[],[],[206483],{"sys":206484,"__typename":1724,"title":206485,"caption":206486,"layoutMode":59,"file":206487},{"id":190504},"Chatops - weak password","Example of ChatOps guiding employee to create a stronger password",{"url":206488,"width":206489,"height":206490},"https://images.ctfassets.net/y1cdw1ablpvd/2R08rdQb7l5zrm42p7b87w/04d81e9828396b68e2fe5f6fc4101b3c/borderround.png",844,222,{"items":206492},[],{},"Push Security's 4M seed round",{"items":206496},[206497,206686],{"__typename":2059,"sys":206498,"content":206499,"title":189960,"synopsis":190217,"hashTags":59,"publishedDate":190218,"slug":189961,"tagsCollection":206678,"authorsCollection":206682},{"id":188940},{"json":206500},{"data":206501,"content":206502,"nodeType":856},{},[206503,206529,206535,206541,206547,206553,206559,206565,206581,206588,206594,206620,206627,206643,206650,206656,206672],{"data":206504,"content":206505,"nodeType":860},{},[206506,206509,206516,206519,206526],{"data":206507,"marks":206508,"value":190021,"nodeType":864},{},[],{"data":206510,"content":206511,"nodeType":883},{"uri":190024},[206512],{"data":206513,"marks":206514,"value":47567,"nodeType":864},{},[206515],{"type":1455},{"data":206517,"marks":206518,"value":190033,"nodeType":864},{},[],{"data":206520,"content":206521,"nodeType":883},{"uri":190036},[206522],{"data":206523,"marks":206524,"value":190042,"nodeType":864},{},[206525],{"type":1455},{"data":206527,"marks":206528,"value":190046,"nodeType":864},{},[],{"data":206530,"content":206531,"nodeType":860},{},[206532],{"data":206533,"marks":206534,"value":190053,"nodeType":864},{},[],{"data":206536,"content":206537,"nodeType":860},{},[206538],{"data":206539,"marks":206540,"value":190060,"nodeType":864},{},[],{"data":206542,"content":206543,"nodeType":860},{},[206544],{"data":206545,"marks":206546,"value":190067,"nodeType":864},{},[],{"data":206548,"content":206549,"nodeType":860},{},[206550],{"data":206551,"marks":206552,"value":190074,"nodeType":864},{},[],{"data":206554,"content":206555,"nodeType":860},{},[206556],{"data":206557,"marks":206558,"value":190081,"nodeType":864},{},[],{"data":206560,"content":206561,"nodeType":860},{},[206562],{"data":206563,"marks":206564,"value":190088,"nodeType":864},{},[],{"data":206566,"content":206567,"nodeType":860},{},[206568,206571,206578],{"data":206569,"marks":206570,"value":190095,"nodeType":864},{},[],{"data":206572,"content":206573,"nodeType":883},{"uri":88658},[206574],{"data":206575,"marks":206576,"value":190103,"nodeType":864},{},[206577],{"type":1455},{"data":206579,"marks":206580,"value":190107,"nodeType":864},{},[],{"data":206582,"content":206583,"nodeType":860},{},[206584],{"data":206585,"marks":206586,"value":190115,"nodeType":864},{},[206587],{"type":899},{"data":206589,"content":206590,"nodeType":860},{},[206591],{"data":206592,"marks":206593,"value":190122,"nodeType":864},{},[],{"data":206595,"content":206596,"nodeType":860},{},[206597,206600,206607,206610,206617],{"data":206598,"marks":206599,"value":190129,"nodeType":864},{},[],{"data":206601,"content":206602,"nodeType":883},{"uri":88658},[206603],{"data":206604,"marks":206605,"value":190103,"nodeType":864},{},[206606],{"type":1455},{"data":206608,"marks":206609,"value":190140,"nodeType":864},{},[],{"data":206611,"content":206612,"nodeType":883},{"uri":47677},[206613],{"data":206614,"marks":206615,"value":190148,"nodeType":864},{},[206616],{"type":1455},{"data":206618,"marks":206619,"value":12252,"nodeType":864},{},[],{"data":206621,"content":206622,"nodeType":860},{},[206623],{"data":206624,"marks":206625,"value":190159,"nodeType":864},{},[206626],{"type":899},{"data":206628,"content":206629,"nodeType":860},{},[206630,206633,206640],{"data":206631,"marks":206632,"value":21,"nodeType":864},{},[],{"data":206634,"content":206635,"nodeType":883},{"uri":190168},[206636],{"data":206637,"marks":206638,"value":47567,"nodeType":864},{},[206639],{"type":1455},{"data":206641,"marks":206642,"value":190177,"nodeType":864},{},[],{"data":206644,"content":206645,"nodeType":860},{},[206646],{"data":206647,"marks":206648,"value":190185,"nodeType":864},{},[206649],{"type":899},{"data":206651,"content":206652,"nodeType":860},{},[206653],{"data":206654,"marks":206655,"value":190192,"nodeType":864},{},[],{"data":206657,"content":206658,"nodeType":860},{},[206659,206662,206669],{"data":206660,"marks":206661,"value":21,"nodeType":864},{},[],{"data":206663,"content":206664,"nodeType":883},{"uri":190201},[206665],{"data":206666,"marks":206667,"value":190207,"nodeType":864},{},[206668],{"type":1455},{"data":206670,"marks":206671,"value":21,"nodeType":864},{},[],{"data":206673,"content":206674,"nodeType":860},{},[206675],{"data":206676,"marks":206677,"value":90277,"nodeType":864},{},[],{"items":206679},[206680],{"sys":206681,"name":49660},{"id":49659},{"items":206683},[206684],{"fullName":150052,"firstName":150052,"jobTitle":59,"profilePicture":206685},{"url":150054},{"__typename":2059,"sys":206687,"content":206688,"title":197280,"synopsis":197281,"hashTags":59,"publishedDate":197282,"slug":197283,"tagsCollection":206984,"authorsCollection":206988},{"id":196941},{"json":206689},{"data":206690,"content":206691,"nodeType":856},{},[206692,206698,206728,206734,206741,206756,206761,206774,206779,206785,206790,206796,206802,206817,206825,206831,206837,206874,206879,206885,206900,206906,206912,206918,206924,206930,206936,206942,206948,206953,206977],{"data":206693,"content":206694,"nodeType":860},{},[206695],{"data":206696,"marks":206697,"value":196952,"nodeType":864},{},[],{"data":206699,"content":206700,"nodeType":941},{},[206701,206710,206719],{"data":206702,"content":206703,"nodeType":945},{},[206704],{"data":206705,"content":206706,"nodeType":860},{},[206707],{"data":206708,"marks":206709,"value":196965,"nodeType":864},{},[],{"data":206711,"content":206712,"nodeType":945},{},[206713],{"data":206714,"content":206715,"nodeType":860},{},[206716],{"data":206717,"marks":206718,"value":196975,"nodeType":864},{},[],{"data":206720,"content":206721,"nodeType":945},{},[206722],{"data":206723,"content":206724,"nodeType":860},{},[206725],{"data":206726,"marks":206727,"value":196985,"nodeType":864},{},[],{"data":206729,"content":206730,"nodeType":1009},{},[206731],{"data":206732,"marks":206733,"value":196965,"nodeType":864},{},[],{"data":206735,"content":206736,"nodeType":860},{},[206737],{"data":206738,"marks":206739,"value":196999,"nodeType":864},{},[206740],{"type":2246},{"data":206742,"content":206743,"nodeType":860},{},[206744,206747,206753],{"data":206745,"marks":206746,"value":197006,"nodeType":864},{},[],{"data":206748,"content":206749,"nodeType":883},{"uri":152747},[206750],{"data":206751,"marks":206752,"value":197013,"nodeType":864},{},[],{"data":206754,"marks":206755,"value":73563,"nodeType":864},{},[],{"data":206757,"content":206760,"nodeType":996},{"target":206758},{"sys":206759},{"id":197021,"type":1001,"linkType":1002},[],{"data":206762,"content":206763,"nodeType":860},{},[206764,206767,206771],{"data":206765,"marks":206766,"value":197029,"nodeType":864},{},[],{"data":206768,"marks":206769,"value":197034,"nodeType":864},{},[206770],{"type":2246},{"data":206772,"marks":206773,"value":197038,"nodeType":864},{},[],{"data":206775,"content":206778,"nodeType":996},{"target":206776},{"sys":206777},{"id":197043,"type":1001,"linkType":1002},[],{"data":206780,"content":206781,"nodeType":860},{},[206782],{"data":206783,"marks":206784,"value":197051,"nodeType":864},{},[],{"data":206786,"content":206789,"nodeType":996},{"target":206787},{"sys":206788},{"id":197056,"type":1001,"linkType":1002},[],{"data":206791,"content":206792,"nodeType":860},{},[206793],{"data":206794,"marks":206795,"value":197064,"nodeType":864},{},[],{"data":206797,"content":206798,"nodeType":860},{},[206799],{"data":206800,"marks":206801,"value":197071,"nodeType":864},{},[],{"data":206803,"content":206804,"nodeType":860},{},[206805,206808,206814],{"data":206806,"marks":206807,"value":21,"nodeType":864},{},[],{"data":206809,"content":206810,"nodeType":883},{"uri":197080},[206811],{"data":206812,"marks":206813,"value":197085,"nodeType":864},{},[],{"data":206815,"marks":206816,"value":21,"nodeType":864},{},[],{"data":206818,"content":206821,"nodeType":1009},{"target":206819},{"sys":206820},{"id":197093,"type":1001,"linkType":1002},[206822],{"data":206823,"marks":206824,"value":196975,"nodeType":864},{},[],{"data":206826,"content":206827,"nodeType":860},{},[206828],{"data":206829,"marks":206830,"value":197104,"nodeType":864},{},[],{"data":206832,"content":206833,"nodeType":860},{},[206834],{"data":206835,"marks":206836,"value":197111,"nodeType":864},{},[],{"data":206838,"content":206839,"nodeType":941},{},[206840,206856,206865],{"data":206841,"content":206842,"nodeType":945},{},[206843],{"data":206844,"content":206845,"nodeType":860},{},[206846,206849,206853],{"data":206847,"marks":206848,"value":197124,"nodeType":864},{},[],{"data":206850,"marks":206851,"value":197129,"nodeType":864},{},[206852],{"type":2246},{"data":206854,"marks":206855,"value":197133,"nodeType":864},{},[],{"data":206857,"content":206858,"nodeType":945},{},[206859],{"data":206860,"content":206861,"nodeType":860},{},[206862],{"data":206863,"marks":206864,"value":197143,"nodeType":864},{},[],{"data":206866,"content":206867,"nodeType":945},{},[206868],{"data":206869,"content":206870,"nodeType":860},{},[206871],{"data":206872,"marks":206873,"value":197153,"nodeType":864},{},[],{"data":206875,"content":206878,"nodeType":996},{"target":206876},{"sys":206877},{"id":197158,"type":1001,"linkType":1002},[],{"data":206880,"content":206881,"nodeType":860},{},[206882],{"data":206883,"marks":206884,"value":21,"nodeType":864},{},[],{"data":206886,"content":206887,"nodeType":860},{},[206888,206891,206897],{"data":206889,"marks":206890,"value":21,"nodeType":864},{},[],{"data":206892,"content":206893,"nodeType":883},{"uri":197174},[206894],{"data":206895,"marks":206896,"value":197085,"nodeType":864},{},[],{"data":206898,"marks":206899,"value":21,"nodeType":864},{},[],{"data":206901,"content":206902,"nodeType":1009},{},[206903],{"data":206904,"marks":206905,"value":196985,"nodeType":864},{},[],{"data":206907,"content":206908,"nodeType":860},{},[206909],{"data":206910,"marks":206911,"value":197194,"nodeType":864},{},[],{"data":206913,"content":206914,"nodeType":860},{},[206915],{"data":206916,"marks":206917,"value":197201,"nodeType":864},{},[],{"data":206919,"content":206920,"nodeType":860},{},[206921],{"data":206922,"marks":206923,"value":197208,"nodeType":864},{},[],{"data":206925,"content":206926,"nodeType":860},{},[206927],{"data":206928,"marks":206929,"value":197215,"nodeType":864},{},[],{"data":206931,"content":206932,"nodeType":860},{},[206933],{"data":206934,"marks":206935,"value":197222,"nodeType":864},{},[],{"data":206937,"content":206938,"nodeType":860},{},[206939],{"data":206940,"marks":206941,"value":197229,"nodeType":864},{},[],{"data":206943,"content":206944,"nodeType":860},{},[206945],{"data":206946,"marks":206947,"value":197236,"nodeType":864},{},[],{"data":206949,"content":206952,"nodeType":996},{"target":206950},{"sys":206951},{"id":197241,"type":1001,"linkType":1002},[],{"data":206954,"content":206955,"nodeType":860},{},[206956,206959,206965,206968,206974],{"data":206957,"marks":206958,"value":197249,"nodeType":864},{},[],{"data":206960,"content":206961,"nodeType":883},{"uri":197252},[206962],{"data":206963,"marks":206964,"value":197257,"nodeType":864},{},[],{"data":206966,"marks":206967,"value":197261,"nodeType":864},{},[],{"data":206969,"content":206970,"nodeType":883},{"uri":197264},[206971],{"data":206972,"marks":206973,"value":190103,"nodeType":864},{},[],{"data":206975,"marks":206976,"value":197272,"nodeType":864},{},[],{"data":206978,"content":206979,"nodeType":860},{},[206980],{"data":206981,"marks":206982,"value":21,"nodeType":864},{},[206983],{"type":1455},{"items":206985},[206986],{"sys":206987,"name":73498},{"id":73497},{"items":206989},[206990],{"fullName":79005,"firstName":79006,"jobTitle":79007,"profilePicture":206991},{"url":79009},"blog/building-a-culture-of-trust-to-secure-saas-together",{"json":206994},{"data":206995,"content":206996,"nodeType":856},{},[206997],{"data":206998,"content":206999,"nodeType":860},{},[207000],{"data":207001,"marks":207002,"value":207003,"nodeType":864},{},[],"We’re excited to announce our $4M seed round, led by Decibel. In this blog, we’re going to share why we started Push, our plans for the future, and how we’re building technology that allows organizations to allow employees to freely and securely adopt and use SaaS.",{"id":190229,"publishedAt":207005},"2026-08-12T11:56:49.798Z",{"items":207007},[207008],{"sys":207009,"name":49660},{"id":49659},{"items":207011},[207012,207014,207016,207018,207020,207022],{"sys":207013,"name":297,"slug":298,"tier":31},{"id":294},{"sys":207015,"name":545,"slug":546,"tier":31},{"id":542},{"sys":207017,"name":413,"slug":414,"tier":31},{"id":410},{"sys":207019,"name":589,"slug":590,"tier":45},{"id":586},{"sys":207021,"name":457,"slug":458,"tier":45},{"id":454},{"sys":207023,"name":502,"slug":503,"tier":45},{"id":499},"07p2rSSyci-rU4IPq1_B_rBILwqLhejnIs6J8ahnWE4",{"id":207026,"title":189960,"authorsCollection":207027,"content":207031,"extension":228,"faqItemsCollection":207215,"faqTitle":59,"featured":6,"hashTags":59,"meta":207217,"metaTitle":207218,"ogImage":59,"postType":47747,"publishedDate":190218,"relatedBlogPostsCollection":207219,"slug":189961,"stem":207829,"subtitle":59,"summary":207830,"synopsis":190217,"sys":207860,"tagsCollection":207862,"topicsCollection":207866,"__hash__":207876},"blog/blog/push-security-announces-4m-seed-round-to-introduce-user-centric-approach.json",{"items":207028},[207029],{"fullName":150052,"firstName":150052,"jobTitle":59,"socialLinks":59,"profilePicture":207030},{"url":150054},{"json":207032,"links":207210},{"data":207033,"content":207034,"nodeType":856},{},[207035,207061,207067,207073,207079,207085,207091,207097,207113,207120,207126,207152,207159,207175,207182,207188,207204],{"data":207036,"content":207037,"nodeType":860},{},[207038,207041,207048,207051,207058],{"data":207039,"marks":207040,"value":190021,"nodeType":864},{},[],{"data":207042,"content":207043,"nodeType":883},{"uri":190024},[207044],{"data":207045,"marks":207046,"value":47567,"nodeType":864},{},[207047],{"type":1455},{"data":207049,"marks":207050,"value":190033,"nodeType":864},{},[],{"data":207052,"content":207053,"nodeType":883},{"uri":190036},[207054],{"data":207055,"marks":207056,"value":190042,"nodeType":864},{},[207057],{"type":1455},{"data":207059,"marks":207060,"value":190046,"nodeType":864},{},[],{"data":207062,"content":207063,"nodeType":860},{},[207064],{"data":207065,"marks":207066,"value":190053,"nodeType":864},{},[],{"data":207068,"content":207069,"nodeType":860},{},[207070],{"data":207071,"marks":207072,"value":190060,"nodeType":864},{},[],{"data":207074,"content":207075,"nodeType":860},{},[207076],{"data":207077,"marks":207078,"value":190067,"nodeType":864},{},[],{"data":207080,"content":207081,"nodeType":860},{},[207082],{"data":207083,"marks":207084,"value":190074,"nodeType":864},{},[],{"data":207086,"content":207087,"nodeType":860},{},[207088],{"data":207089,"marks":207090,"value":190081,"nodeType":864},{},[],{"data":207092,"content":207093,"nodeType":860},{},[207094],{"data":207095,"marks":207096,"value":190088,"nodeType":864},{},[],{"data":207098,"content":207099,"nodeType":860},{},[207100,207103,207110],{"data":207101,"marks":207102,"value":190095,"nodeType":864},{},[],{"data":207104,"content":207105,"nodeType":883},{"uri":88658},[207106],{"data":207107,"marks":207108,"value":190103,"nodeType":864},{},[207109],{"type":1455},{"data":207111,"marks":207112,"value":190107,"nodeType":864},{},[],{"data":207114,"content":207115,"nodeType":860},{},[207116],{"data":207117,"marks":207118,"value":190115,"nodeType":864},{},[207119],{"type":899},{"data":207121,"content":207122,"nodeType":860},{},[207123],{"data":207124,"marks":207125,"value":190122,"nodeType":864},{},[],{"data":207127,"content":207128,"nodeType":860},{},[207129,207132,207139,207142,207149],{"data":207130,"marks":207131,"value":190129,"nodeType":864},{},[],{"data":207133,"content":207134,"nodeType":883},{"uri":88658},[207135],{"data":207136,"marks":207137,"value":190103,"nodeType":864},{},[207138],{"type":1455},{"data":207140,"marks":207141,"value":190140,"nodeType":864},{},[],{"data":207143,"content":207144,"nodeType":883},{"uri":47677},[207145],{"data":207146,"marks":207147,"value":190148,"nodeType":864},{},[207148],{"type":1455},{"data":207150,"marks":207151,"value":12252,"nodeType":864},{},[],{"data":207153,"content":207154,"nodeType":860},{},[207155],{"data":207156,"marks":207157,"value":190159,"nodeType":864},{},[207158],{"type":899},{"data":207160,"content":207161,"nodeType":860},{},[207162,207165,207172],{"data":207163,"marks":207164,"value":21,"nodeType":864},{},[],{"data":207166,"content":207167,"nodeType":883},{"uri":190168},[207168],{"data":207169,"marks":207170,"value":47567,"nodeType":864},{},[207171],{"type":1455},{"data":207173,"marks":207174,"value":190177,"nodeType":864},{},[],{"data":207176,"content":207177,"nodeType":860},{},[207178],{"data":207179,"marks":207180,"value":190185,"nodeType":864},{},[207181],{"type":899},{"data":207183,"content":207184,"nodeType":860},{},[207185],{"data":207186,"marks":207187,"value":190192,"nodeType":864},{},[],{"data":207189,"content":207190,"nodeType":860},{},[207191,207194,207201],{"data":207192,"marks":207193,"value":21,"nodeType":864},{},[],{"data":207195,"content":207196,"nodeType":883},{"uri":190201},[207197],{"data":207198,"marks":207199,"value":190207,"nodeType":864},{},[207200],{"type":1455},{"data":207202,"marks":207203,"value":21,"nodeType":864},{},[],{"data":207205,"content":207206,"nodeType":860},{},[207207],{"data":207208,"marks":207209,"value":90277,"nodeType":864},{},[],{"entries":207211},{"hyperlink":207212,"block":207213,"inline":207214},[],[],[],{"items":207216},[],{},"Push announces $4M seed round",{"items":207220},[207221,207523],{"__typename":2059,"sys":207222,"content":207223,"title":190572,"synopsis":190573,"hashTags":59,"publishedDate":190218,"slug":190574,"tagsCollection":207515,"authorsCollection":207519},{"id":190229},{"json":207224},{"data":207225,"content":207226,"nodeType":856},{},[207227,207233,207247,207253,207259,207265,207272,207278,207285,207310,207316,207322,207328,207334,207340,207346,207352,207358,207364,207370,207376,207382,207395,207401,207407,207413,207419,207425,207431,207437,207443,207449,207455,207460,207466,207488,207494,207500],{"data":207228,"content":207229,"nodeType":1009},{},[207230],{"data":207231,"marks":207232,"value":190240,"nodeType":864},{},[],{"data":207234,"content":207235,"nodeType":860},{},[207236,207240,207243],{"data":207237,"marks":207238,"value":190248,"nodeType":864},{},[207239],{"type":2246},{"data":207241,"marks":207242,"value":7961,"nodeType":864},{},[],{"data":207244,"marks":207245,"value":190256,"nodeType":864},{},[207246],{"type":2246},{"data":207248,"content":207249,"nodeType":860},{},[207250],{"data":207251,"marks":207252,"value":190263,"nodeType":864},{},[],{"data":207254,"content":207255,"nodeType":860},{},[207256],{"data":207257,"marks":207258,"value":190270,"nodeType":864},{},[],{"data":207260,"content":207261,"nodeType":860},{},[207262],{"data":207263,"marks":207264,"value":190277,"nodeType":864},{},[],{"data":207266,"content":207267,"nodeType":860},{},[207268],{"data":207269,"marks":207270,"value":190285,"nodeType":864},{},[207271],{"type":899},{"data":207273,"content":207274,"nodeType":860},{},[207275],{"data":207276,"marks":207277,"value":190292,"nodeType":864},{},[],{"data":207279,"content":207280,"nodeType":1009},{},[207281],{"data":207282,"marks":207283,"value":190300,"nodeType":864},{},[207284],{"type":899},{"data":207286,"content":207287,"nodeType":860},{},[207288,207291,207297,207300,207307],{"data":207289,"marks":207290,"value":190307,"nodeType":864},{},[],{"data":207292,"content":207293,"nodeType":883},{"uri":190310},[207294],{"data":207295,"marks":207296,"value":103347,"nodeType":864},{},[],{"data":207298,"marks":207299,"value":3731,"nodeType":864},{},[],{"data":207301,"content":207302,"nodeType":883},{"uri":190320},[207303],{"data":207304,"marks":207305,"value":190326,"nodeType":864},{},[207306],{"type":1455},{"data":207308,"marks":207309,"value":190330,"nodeType":864},{},[],{"data":207311,"content":207312,"nodeType":860},{},[207313],{"data":207314,"marks":207315,"value":190337,"nodeType":864},{},[],{"data":207317,"content":207318,"nodeType":1009},{},[207319],{"data":207320,"marks":207321,"value":190344,"nodeType":864},{},[],{"data":207323,"content":207324,"nodeType":860},{},[207325],{"data":207326,"marks":207327,"value":190351,"nodeType":864},{},[],{"data":207329,"content":207330,"nodeType":860},{},[207331],{"data":207332,"marks":207333,"value":190358,"nodeType":864},{},[],{"data":207335,"content":207336,"nodeType":860},{},[207337],{"data":207338,"marks":207339,"value":190365,"nodeType":864},{},[],{"data":207341,"content":207342,"nodeType":860},{},[207343],{"data":207344,"marks":207345,"value":190372,"nodeType":864},{},[],{"data":207347,"content":207348,"nodeType":860},{},[207349],{"data":207350,"marks":207351,"value":190379,"nodeType":864},{},[],{"data":207353,"content":207354,"nodeType":1312},{},[207355],{"data":207356,"marks":207357,"value":190386,"nodeType":864},{},[],{"data":207359,"content":207360,"nodeType":860},{},[207361],{"data":207362,"marks":207363,"value":190393,"nodeType":864},{},[],{"data":207365,"content":207366,"nodeType":860},{},[207367],{"data":207368,"marks":207369,"value":190400,"nodeType":864},{},[],{"data":207371,"content":207372,"nodeType":860},{},[207373],{"data":207374,"marks":207375,"value":190407,"nodeType":864},{},[],{"data":207377,"content":207378,"nodeType":860},{},[207379],{"data":207380,"marks":207381,"value":190414,"nodeType":864},{},[],{"data":207383,"content":207384,"nodeType":860},{},[207385,207388,207392],{"data":207386,"marks":207387,"value":190421,"nodeType":864},{},[],{"data":207389,"marks":207390,"value":21943,"nodeType":864},{},[207391],{"type":2246},{"data":207393,"marks":207394,"value":190429,"nodeType":864},{},[],{"data":207396,"content":207397,"nodeType":860},{},[207398],{"data":207399,"marks":207400,"value":190436,"nodeType":864},{},[],{"data":207402,"content":207403,"nodeType":860},{},[207404],{"data":207405,"marks":207406,"value":190443,"nodeType":864},{},[],{"data":207408,"content":207409,"nodeType":1009},{},[207410],{"data":207411,"marks":207412,"value":190450,"nodeType":864},{},[],{"data":207414,"content":207415,"nodeType":860},{},[207416],{"data":207417,"marks":207418,"value":190457,"nodeType":864},{},[],{"data":207420,"content":207421,"nodeType":860},{},[207422],{"data":207423,"marks":207424,"value":190464,"nodeType":864},{},[],{"data":207426,"content":207427,"nodeType":860},{},[207428],{"data":207429,"marks":207430,"value":190471,"nodeType":864},{},[],{"data":207432,"content":207433,"nodeType":1312},{},[207434],{"data":207435,"marks":207436,"value":190478,"nodeType":864},{},[],{"data":207438,"content":207439,"nodeType":860},{},[207440],{"data":207441,"marks":207442,"value":190485,"nodeType":864},{},[],{"data":207444,"content":207445,"nodeType":860},{},[207446],{"data":207447,"marks":207448,"value":190492,"nodeType":864},{},[],{"data":207450,"content":207451,"nodeType":860},{},[207452],{"data":207453,"marks":207454,"value":190499,"nodeType":864},{},[],{"data":207456,"content":207459,"nodeType":996},{"target":207457},{"sys":207458},{"id":190504,"type":1001,"linkType":1002},[],{"data":207461,"content":207462,"nodeType":1009},{},[207463],{"data":207464,"marks":207465,"value":190512,"nodeType":864},{},[],{"data":207467,"content":207468,"nodeType":860},{},[207469,207472,207476,207481,207485],{"data":207470,"marks":207471,"value":190519,"nodeType":864},{},[],{"data":207473,"marks":207474,"value":190524,"nodeType":864},{},[207475],{"type":899},{"data":207477,"marks":207478,"value":190530,"nodeType":864},{},[207479,207480],{"type":899},{"type":2246},{"data":207482,"marks":207483,"value":190535,"nodeType":864},{},[207484],{"type":899},{"data":207486,"marks":207487,"value":190539,"nodeType":864},{},[],{"data":207489,"content":207490,"nodeType":1009},{},[207491],{"data":207492,"marks":207493,"value":190546,"nodeType":864},{},[],{"data":207495,"content":207496,"nodeType":860},{},[207497],{"data":207498,"marks":207499,"value":190553,"nodeType":864},{},[],{"data":207501,"content":207502,"nodeType":860},{},[207503,207506,207512],{"data":207504,"marks":207505,"value":190560,"nodeType":864},{},[],{"data":207507,"content":207508,"nodeType":883},{"uri":47677},[207509],{"data":207510,"marks":207511,"value":190567,"nodeType":864},{},[],{"data":207513,"marks":207514,"value":190571,"nodeType":864},{},[],{"items":207516},[207517],{"sys":207518,"name":49660},{"id":49659},{"items":207520},[207521],{"fullName":150052,"firstName":150052,"jobTitle":59,"profilePicture":207522},{"url":150054},{"__typename":2059,"sys":207524,"content":207525,"title":197280,"synopsis":197281,"hashTags":59,"publishedDate":197282,"slug":197283,"tagsCollection":207821,"authorsCollection":207825},{"id":196941},{"json":207526},{"data":207527,"content":207528,"nodeType":856},{},[207529,207535,207565,207571,207578,207593,207598,207611,207616,207622,207627,207633,207639,207654,207662,207668,207674,207711,207716,207722,207737,207743,207749,207755,207761,207767,207773,207779,207785,207790,207814],{"data":207530,"content":207531,"nodeType":860},{},[207532],{"data":207533,"marks":207534,"value":196952,"nodeType":864},{},[],{"data":207536,"content":207537,"nodeType":941},{},[207538,207547,207556],{"data":207539,"content":207540,"nodeType":945},{},[207541],{"data":207542,"content":207543,"nodeType":860},{},[207544],{"data":207545,"marks":207546,"value":196965,"nodeType":864},{},[],{"data":207548,"content":207549,"nodeType":945},{},[207550],{"data":207551,"content":207552,"nodeType":860},{},[207553],{"data":207554,"marks":207555,"value":196975,"nodeType":864},{},[],{"data":207557,"content":207558,"nodeType":945},{},[207559],{"data":207560,"content":207561,"nodeType":860},{},[207562],{"data":207563,"marks":207564,"value":196985,"nodeType":864},{},[],{"data":207566,"content":207567,"nodeType":1009},{},[207568],{"data":207569,"marks":207570,"value":196965,"nodeType":864},{},[],{"data":207572,"content":207573,"nodeType":860},{},[207574],{"data":207575,"marks":207576,"value":196999,"nodeType":864},{},[207577],{"type":2246},{"data":207579,"content":207580,"nodeType":860},{},[207581,207584,207590],{"data":207582,"marks":207583,"value":197006,"nodeType":864},{},[],{"data":207585,"content":207586,"nodeType":883},{"uri":152747},[207587],{"data":207588,"marks":207589,"value":197013,"nodeType":864},{},[],{"data":207591,"marks":207592,"value":73563,"nodeType":864},{},[],{"data":207594,"content":207597,"nodeType":996},{"target":207595},{"sys":207596},{"id":197021,"type":1001,"linkType":1002},[],{"data":207599,"content":207600,"nodeType":860},{},[207601,207604,207608],{"data":207602,"marks":207603,"value":197029,"nodeType":864},{},[],{"data":207605,"marks":207606,"value":197034,"nodeType":864},{},[207607],{"type":2246},{"data":207609,"marks":207610,"value":197038,"nodeType":864},{},[],{"data":207612,"content":207615,"nodeType":996},{"target":207613},{"sys":207614},{"id":197043,"type":1001,"linkType":1002},[],{"data":207617,"content":207618,"nodeType":860},{},[207619],{"data":207620,"marks":207621,"value":197051,"nodeType":864},{},[],{"data":207623,"content":207626,"nodeType":996},{"target":207624},{"sys":207625},{"id":197056,"type":1001,"linkType":1002},[],{"data":207628,"content":207629,"nodeType":860},{},[207630],{"data":207631,"marks":207632,"value":197064,"nodeType":864},{},[],{"data":207634,"content":207635,"nodeType":860},{},[207636],{"data":207637,"marks":207638,"value":197071,"nodeType":864},{},[],{"data":207640,"content":207641,"nodeType":860},{},[207642,207645,207651],{"data":207643,"marks":207644,"value":21,"nodeType":864},{},[],{"data":207646,"content":207647,"nodeType":883},{"uri":197080},[207648],{"data":207649,"marks":207650,"value":197085,"nodeType":864},{},[],{"data":207652,"marks":207653,"value":21,"nodeType":864},{},[],{"data":207655,"content":207658,"nodeType":1009},{"target":207656},{"sys":207657},{"id":197093,"type":1001,"linkType":1002},[207659],{"data":207660,"marks":207661,"value":196975,"nodeType":864},{},[],{"data":207663,"content":207664,"nodeType":860},{},[207665],{"data":207666,"marks":207667,"value":197104,"nodeType":864},{},[],{"data":207669,"content":207670,"nodeType":860},{},[207671],{"data":207672,"marks":207673,"value":197111,"nodeType":864},{},[],{"data":207675,"content":207676,"nodeType":941},{},[207677,207693,207702],{"data":207678,"content":207679,"nodeType":945},{},[207680],{"data":207681,"content":207682,"nodeType":860},{},[207683,207686,207690],{"data":207684,"marks":207685,"value":197124,"nodeType":864},{},[],{"data":207687,"marks":207688,"value":197129,"nodeType":864},{},[207689],{"type":2246},{"data":207691,"marks":207692,"value":197133,"nodeType":864},{},[],{"data":207694,"content":207695,"nodeType":945},{},[207696],{"data":207697,"content":207698,"nodeType":860},{},[207699],{"data":207700,"marks":207701,"value":197143,"nodeType":864},{},[],{"data":207703,"content":207704,"nodeType":945},{},[207705],{"data":207706,"content":207707,"nodeType":860},{},[207708],{"data":207709,"marks":207710,"value":197153,"nodeType":864},{},[],{"data":207712,"content":207715,"nodeType":996},{"target":207713},{"sys":207714},{"id":197158,"type":1001,"linkType":1002},[],{"data":207717,"content":207718,"nodeType":860},{},[207719],{"data":207720,"marks":207721,"value":21,"nodeType":864},{},[],{"data":207723,"content":207724,"nodeType":860},{},[207725,207728,207734],{"data":207726,"marks":207727,"value":21,"nodeType":864},{},[],{"data":207729,"content":207730,"nodeType":883},{"uri":197174},[207731],{"data":207732,"marks":207733,"value":197085,"nodeType":864},{},[],{"data":207735,"marks":207736,"value":21,"nodeType":864},{},[],{"data":207738,"content":207739,"nodeType":1009},{},[207740],{"data":207741,"marks":207742,"value":196985,"nodeType":864},{},[],{"data":207744,"content":207745,"nodeType":860},{},[207746],{"data":207747,"marks":207748,"value":197194,"nodeType":864},{},[],{"data":207750,"content":207751,"nodeType":860},{},[207752],{"data":207753,"marks":207754,"value":197201,"nodeType":864},{},[],{"data":207756,"content":207757,"nodeType":860},{},[207758],{"data":207759,"marks":207760,"value":197208,"nodeType":864},{},[],{"data":207762,"content":207763,"nodeType":860},{},[207764],{"data":207765,"marks":207766,"value":197215,"nodeType":864},{},[],{"data":207768,"content":207769,"nodeType":860},{},[207770],{"data":207771,"marks":207772,"value":197222,"nodeType":864},{},[],{"data":207774,"content":207775,"nodeType":860},{},[207776],{"data":207777,"marks":207778,"value":197229,"nodeType":864},{},[],{"data":207780,"content":207781,"nodeType":860},{},[207782],{"data":207783,"marks":207784,"value":197236,"nodeType":864},{},[],{"data":207786,"content":207789,"nodeType":996},{"target":207787},{"sys":207788},{"id":197241,"type":1001,"linkType":1002},[],{"data":207791,"content":207792,"nodeType":860},{},[207793,207796,207802,207805,207811],{"data":207794,"marks":207795,"value":197249,"nodeType":864},{},[],{"data":207797,"content":207798,"nodeType":883},{"uri":197252},[207799],{"data":207800,"marks":207801,"value":197257,"nodeType":864},{},[],{"data":207803,"marks":207804,"value":197261,"nodeType":864},{},[],{"data":207806,"content":207807,"nodeType":883},{"uri":197264},[207808],{"data":207809,"marks":207810,"value":190103,"nodeType":864},{},[],{"data":207812,"marks":207813,"value":197272,"nodeType":864},{},[],{"data":207815,"content":207816,"nodeType":860},{},[207817],{"data":207818,"marks":207819,"value":21,"nodeType":864},{},[207820],{"type":1455},{"items":207822},[207823],{"sys":207824,"name":73498},{"id":73497},{"items":207826},[207827],{"fullName":79005,"firstName":79006,"jobTitle":79007,"profilePicture":207828},{"url":79009},"blog/push-security-announces-4m-seed-round-to-introduce-user-centric-approach",{"json":207831},{"data":207832,"content":207833,"nodeType":856},{},[207834],{"data":207835,"content":207836,"nodeType":860},{},[207837,207841,207847,207850,207856],{"data":207838,"marks":207839,"value":207840,"nodeType":864},{},[],"Push Security announces it completed a $4 million seed round led by ",{"data":207842,"content":207843,"nodeType":883},{"uri":190024},[207844],{"data":207845,"marks":207846,"value":47567,"nodeType":864},{},[],{"data":207848,"marks":207849,"value":190033,"nodeType":864},{},[],{"data":207851,"content":207852,"nodeType":883},{"uri":190036},[207853],{"data":207854,"marks":207855,"value":190042,"nodeType":864},{},[],{"data":207857,"marks":207858,"value":207859,"nodeType":864},{},[],", including Jon Oberheide and Haroon Meer. With this funding, Push will continue to develop technology that equips employees to secure SaaS.",{"id":188940,"publishedAt":207861},"2026-08-12T11:57:19.971Z",{"items":207863},[207864],{"sys":207865,"name":49660},{"id":49659},{"items":207867},[207868,207870,207872,207874],{"sys":207869,"name":297,"slug":298,"tier":31},{"id":294},{"sys":207871,"name":545,"slug":546,"tier":31},{"id":542},{"sys":207873,"name":413,"slug":414,"tier":31},{"id":410},{"sys":207875,"name":589,"slug":590,"tier":45},{"id":586},"sHRRnL0HjJJr9pUmF51fbHaQsNls36_TOYdh1jpgek0",{"id":207878,"title":197280,"authorsCollection":207879,"content":207883,"extension":228,"faqItemsCollection":208218,"faqTitle":59,"featured":6,"hashTags":59,"meta":208220,"metaTitle":208221,"ogImage":59,"postType":79438,"publishedDate":197282,"relatedBlogPostsCollection":208222,"slug":197283,"stem":208413,"subtitle":59,"summary":208414,"synopsis":197281,"sys":208425,"tagsCollection":208427,"topicsCollection":208431,"__hash__":208449},"blog/blog/product-release-july-2022.json",{"items":207880},[207881],{"fullName":79005,"firstName":79006,"jobTitle":79007,"socialLinks":59,"profilePicture":207882},{"url":79009},{"json":207884,"links":208179},{"data":207885,"content":207886,"nodeType":856},{},[207887,207893,207923,207929,207936,207951,207956,207969,207974,207980,207985,207991,207997,208012,208020,208026,208032,208069,208074,208080,208095,208101,208107,208113,208119,208125,208131,208137,208143,208148,208172],{"data":207888,"content":207889,"nodeType":860},{},[207890],{"data":207891,"marks":207892,"value":196952,"nodeType":864},{},[],{"data":207894,"content":207895,"nodeType":941},{},[207896,207905,207914],{"data":207897,"content":207898,"nodeType":945},{},[207899],{"data":207900,"content":207901,"nodeType":860},{},[207902],{"data":207903,"marks":207904,"value":196965,"nodeType":864},{},[],{"data":207906,"content":207907,"nodeType":945},{},[207908],{"data":207909,"content":207910,"nodeType":860},{},[207911],{"data":207912,"marks":207913,"value":196975,"nodeType":864},{},[],{"data":207915,"content":207916,"nodeType":945},{},[207917],{"data":207918,"content":207919,"nodeType":860},{},[207920],{"data":207921,"marks":207922,"value":196985,"nodeType":864},{},[],{"data":207924,"content":207925,"nodeType":1009},{},[207926],{"data":207927,"marks":207928,"value":196965,"nodeType":864},{},[],{"data":207930,"content":207931,"nodeType":860},{},[207932],{"data":207933,"marks":207934,"value":196999,"nodeType":864},{},[207935],{"type":2246},{"data":207937,"content":207938,"nodeType":860},{},[207939,207942,207948],{"data":207940,"marks":207941,"value":197006,"nodeType":864},{},[],{"data":207943,"content":207944,"nodeType":883},{"uri":152747},[207945],{"data":207946,"marks":207947,"value":197013,"nodeType":864},{},[],{"data":207949,"marks":207950,"value":73563,"nodeType":864},{},[],{"data":207952,"content":207955,"nodeType":996},{"target":207953},{"sys":207954},{"id":197021,"type":1001,"linkType":1002},[],{"data":207957,"content":207958,"nodeType":860},{},[207959,207962,207966],{"data":207960,"marks":207961,"value":197029,"nodeType":864},{},[],{"data":207963,"marks":207964,"value":197034,"nodeType":864},{},[207965],{"type":2246},{"data":207967,"marks":207968,"value":197038,"nodeType":864},{},[],{"data":207970,"content":207973,"nodeType":996},{"target":207971},{"sys":207972},{"id":197043,"type":1001,"linkType":1002},[],{"data":207975,"content":207976,"nodeType":860},{},[207977],{"data":207978,"marks":207979,"value":197051,"nodeType":864},{},[],{"data":207981,"content":207984,"nodeType":996},{"target":207982},{"sys":207983},{"id":197056,"type":1001,"linkType":1002},[],{"data":207986,"content":207987,"nodeType":860},{},[207988],{"data":207989,"marks":207990,"value":197064,"nodeType":864},{},[],{"data":207992,"content":207993,"nodeType":860},{},[207994],{"data":207995,"marks":207996,"value":197071,"nodeType":864},{},[],{"data":207998,"content":207999,"nodeType":860},{},[208000,208003,208009],{"data":208001,"marks":208002,"value":21,"nodeType":864},{},[],{"data":208004,"content":208005,"nodeType":883},{"uri":197080},[208006],{"data":208007,"marks":208008,"value":197085,"nodeType":864},{},[],{"data":208010,"marks":208011,"value":21,"nodeType":864},{},[],{"data":208013,"content":208016,"nodeType":1009},{"target":208014},{"sys":208015},{"id":197093,"type":1001,"linkType":1002},[208017],{"data":208018,"marks":208019,"value":196975,"nodeType":864},{},[],{"data":208021,"content":208022,"nodeType":860},{},[208023],{"data":208024,"marks":208025,"value":197104,"nodeType":864},{},[],{"data":208027,"content":208028,"nodeType":860},{},[208029],{"data":208030,"marks":208031,"value":197111,"nodeType":864},{},[],{"data":208033,"content":208034,"nodeType":941},{},[208035,208051,208060],{"data":208036,"content":208037,"nodeType":945},{},[208038],{"data":208039,"content":208040,"nodeType":860},{},[208041,208044,208048],{"data":208042,"marks":208043,"value":197124,"nodeType":864},{},[],{"data":208045,"marks":208046,"value":197129,"nodeType":864},{},[208047],{"type":2246},{"data":208049,"marks":208050,"value":197133,"nodeType":864},{},[],{"data":208052,"content":208053,"nodeType":945},{},[208054],{"data":208055,"content":208056,"nodeType":860},{},[208057],{"data":208058,"marks":208059,"value":197143,"nodeType":864},{},[],{"data":208061,"content":208062,"nodeType":945},{},[208063],{"data":208064,"content":208065,"nodeType":860},{},[208066],{"data":208067,"marks":208068,"value":197153,"nodeType":864},{},[],{"data":208070,"content":208073,"nodeType":996},{"target":208071},{"sys":208072},{"id":197158,"type":1001,"linkType":1002},[],{"data":208075,"content":208076,"nodeType":860},{},[208077],{"data":208078,"marks":208079,"value":21,"nodeType":864},{},[],{"data":208081,"content":208082,"nodeType":860},{},[208083,208086,208092],{"data":208084,"marks":208085,"value":21,"nodeType":864},{},[],{"data":208087,"content":208088,"nodeType":883},{"uri":197174},[208089],{"data":208090,"marks":208091,"value":197085,"nodeType":864},{},[],{"data":208093,"marks":208094,"value":21,"nodeType":864},{},[],{"data":208096,"content":208097,"nodeType":1009},{},[208098],{"data":208099,"marks":208100,"value":196985,"nodeType":864},{},[],{"data":208102,"content":208103,"nodeType":860},{},[208104],{"data":208105,"marks":208106,"value":197194,"nodeType":864},{},[],{"data":208108,"content":208109,"nodeType":860},{},[208110],{"data":208111,"marks":208112,"value":197201,"nodeType":864},{},[],{"data":208114,"content":208115,"nodeType":860},{},[208116],{"data":208117,"marks":208118,"value":197208,"nodeType":864},{},[],{"data":208120,"content":208121,"nodeType":860},{},[208122],{"data":208123,"marks":208124,"value":197215,"nodeType":864},{},[],{"data":208126,"content":208127,"nodeType":860},{},[208128],{"data":208129,"marks":208130,"value":197222,"nodeType":864},{},[],{"data":208132,"content":208133,"nodeType":860},{},[208134],{"data":208135,"marks":208136,"value":197229,"nodeType":864},{},[],{"data":208138,"content":208139,"nodeType":860},{},[208140],{"data":208141,"marks":208142,"value":197236,"nodeType":864},{},[],{"data":208144,"content":208147,"nodeType":996},{"target":208145},{"sys":208146},{"id":197241,"type":1001,"linkType":1002},[],{"data":208149,"content":208150,"nodeType":860},{},[208151,208154,208160,208163,208169],{"data":208152,"marks":208153,"value":197249,"nodeType":864},{},[],{"data":208155,"content":208156,"nodeType":883},{"uri":197252},[208157],{"data":208158,"marks":208159,"value":197257,"nodeType":864},{},[],{"data":208161,"marks":208162,"value":197261,"nodeType":864},{},[],{"data":208164,"content":208165,"nodeType":883},{"uri":197264},[208166],{"data":208167,"marks":208168,"value":190103,"nodeType":864},{},[],{"data":208170,"marks":208171,"value":197272,"nodeType":864},{},[],{"data":208173,"content":208174,"nodeType":860},{},[208175],{"data":208176,"marks":208177,"value":21,"nodeType":864},{},[208178],{"type":1455},{"entries":208180},{"hyperlink":208181,"inline":208182,"block":208183},[],[],[208184,208191,208198,208205,208212],{"sys":208185,"__typename":1724,"title":208186,"caption":208187,"layoutMode":140740,"file":208188},{"id":197021},"Example SaaS page: July 22 release post","Visit the SaaS page to see all the SaaS you organization is using. Click on a tile to see who is using each platform.",{"url":208189,"width":142596,"height":208190},"https://images.ctfassets.net/y1cdw1ablpvd/2sS14VapZrnGmuSZj9B1lS/90c9d2409fb3a8b2e0034b95e0429749/Screenshot_2022-07-14_at_16.05.03.png",356,{"sys":208192,"__typename":1724,"title":208193,"caption":208194,"layoutMode":140740,"file":208195},{"id":197043},"Example employee page by SaaS: July 22 blog","See which employees are using which SaaS platforms on the Employees page",{"url":208196,"width":142596,"height":208197},"https://images.ctfassets.net/y1cdw1ablpvd/7IhW6buCo1ZmS0j5QDcdeu/51de35f7eea4bbdb728b015b68def540/Screenshot_2022-07-14_at_17.11.41.png",399,{"sys":208199,"__typename":1724,"title":208200,"caption":208201,"layoutMode":140740,"file":208202},{"id":197056},"Web extension enrolment process","How to enroll the browser extension",{"url":208203,"width":17,"height":208204},"https://images.ctfassets.net/y1cdw1ablpvd/7H6WoMz8ULUg7LvFbML0kZ/ef62e1f21dfd9b885556dc4c20fe7687/enrolment-clean-2.gif",542,{"sys":208206,"__typename":1724,"title":208207,"caption":208208,"layoutMode":140740,"file":208209},{"id":197158},"Example third-party integrations: July 22 blog","See all your third-party integrations in one place to understand which users have given third parties access to their data.",{"url":208210,"width":142596,"height":208211},"https://images.ctfassets.net/y1cdw1ablpvd/IASjOxQqQYIE9OG9wcnA7/10fbd772837e1d012e5f8df1abaf2c49/Screenshot_2022-07-15_at_08.29.18.png",246,{"sys":208213,"__typename":1724,"title":208214,"caption":208215,"layoutMode":140740,"file":208216},{"id":197241},"Example ChatOps page: July 22 release post","Use the new ChatOps screen to control which users can receive messages, which topics users will be messaged about, and which messages have been sent.",{"url":208217,"width":142596,"height":29551},"https://images.ctfassets.net/y1cdw1ablpvd/6eEHBzx8In3pf7RgRjZIRB/22de76ae3de580b0419f7d49c63674e5/Screenshot_2022-07-14_at_16.07.21.png",{"items":208219},[],{},"Push Security new product features for July 2022",{"items":208223},[208224],{"__typename":2059,"sys":208225,"content":208226,"title":189960,"synopsis":190217,"hashTags":59,"publishedDate":190218,"slug":189961,"tagsCollection":208405,"authorsCollection":208409},{"id":188940},{"json":208227},{"data":208228,"content":208229,"nodeType":856},{},[208230,208256,208262,208268,208274,208280,208286,208292,208308,208315,208321,208347,208354,208370,208377,208383,208399],{"data":208231,"content":208232,"nodeType":860},{},[208233,208236,208243,208246,208253],{"data":208234,"marks":208235,"value":190021,"nodeType":864},{},[],{"data":208237,"content":208238,"nodeType":883},{"uri":190024},[208239],{"data":208240,"marks":208241,"value":47567,"nodeType":864},{},[208242],{"type":1455},{"data":208244,"marks":208245,"value":190033,"nodeType":864},{},[],{"data":208247,"content":208248,"nodeType":883},{"uri":190036},[208249],{"data":208250,"marks":208251,"value":190042,"nodeType":864},{},[208252],{"type":1455},{"data":208254,"marks":208255,"value":190046,"nodeType":864},{},[],{"data":208257,"content":208258,"nodeType":860},{},[208259],{"data":208260,"marks":208261,"value":190053,"nodeType":864},{},[],{"data":208263,"content":208264,"nodeType":860},{},[208265],{"data":208266,"marks":208267,"value":190060,"nodeType":864},{},[],{"data":208269,"content":208270,"nodeType":860},{},[208271],{"data":208272,"marks":208273,"value":190067,"nodeType":864},{},[],{"data":208275,"content":208276,"nodeType":860},{},[208277],{"data":208278,"marks":208279,"value":190074,"nodeType":864},{},[],{"data":208281,"content":208282,"nodeType":860},{},[208283],{"data":208284,"marks":208285,"value":190081,"nodeType":864},{},[],{"data":208287,"content":208288,"nodeType":860},{},[208289],{"data":208290,"marks":208291,"value":190088,"nodeType":864},{},[],{"data":208293,"content":208294,"nodeType":860},{},[208295,208298,208305],{"data":208296,"marks":208297,"value":190095,"nodeType":864},{},[],{"data":208299,"content":208300,"nodeType":883},{"uri":88658},[208301],{"data":208302,"marks":208303,"value":190103,"nodeType":864},{},[208304],{"type":1455},{"data":208306,"marks":208307,"value":190107,"nodeType":864},{},[],{"data":208309,"content":208310,"nodeType":860},{},[208311],{"data":208312,"marks":208313,"value":190115,"nodeType":864},{},[208314],{"type":899},{"data":208316,"content":208317,"nodeType":860},{},[208318],{"data":208319,"marks":208320,"value":190122,"nodeType":864},{},[],{"data":208322,"content":208323,"nodeType":860},{},[208324,208327,208334,208337,208344],{"data":208325,"marks":208326,"value":190129,"nodeType":864},{},[],{"data":208328,"content":208329,"nodeType":883},{"uri":88658},[208330],{"data":208331,"marks":208332,"value":190103,"nodeType":864},{},[208333],{"type":1455},{"data":208335,"marks":208336,"value":190140,"nodeType":864},{},[],{"data":208338,"content":208339,"nodeType":883},{"uri":47677},[208340],{"data":208341,"marks":208342,"value":190148,"nodeType":864},{},[208343],{"type":1455},{"data":208345,"marks":208346,"value":12252,"nodeType":864},{},[],{"data":208348,"content":208349,"nodeType":860},{},[208350],{"data":208351,"marks":208352,"value":190159,"nodeType":864},{},[208353],{"type":899},{"data":208355,"content":208356,"nodeType":860},{},[208357,208360,208367],{"data":208358,"marks":208359,"value":21,"nodeType":864},{},[],{"data":208361,"content":208362,"nodeType":883},{"uri":190168},[208363],{"data":208364,"marks":208365,"value":47567,"nodeType":864},{},[208366],{"type":1455},{"data":208368,"marks":208369,"value":190177,"nodeType":864},{},[],{"data":208371,"content":208372,"nodeType":860},{},[208373],{"data":208374,"marks":208375,"value":190185,"nodeType":864},{},[208376],{"type":899},{"data":208378,"content":208379,"nodeType":860},{},[208380],{"data":208381,"marks":208382,"value":190192,"nodeType":864},{},[],{"data":208384,"content":208385,"nodeType":860},{},[208386,208389,208396],{"data":208387,"marks":208388,"value":21,"nodeType":864},{},[],{"data":208390,"content":208391,"nodeType":883},{"uri":190201},[208392],{"data":208393,"marks":208394,"value":190207,"nodeType":864},{},[208395],{"type":1455},{"data":208397,"marks":208398,"value":21,"nodeType":864},{},[],{"data":208400,"content":208401,"nodeType":860},{},[208402],{"data":208403,"marks":208404,"value":90277,"nodeType":864},{},[],{"items":208406},[208407],{"sys":208408,"name":49660},{"id":49659},{"items":208410},[208411],{"fullName":150052,"firstName":150052,"jobTitle":59,"profilePicture":208412},{"url":150054},"blog/product-release-july-2022",{"json":208415},{"data":208416,"content":208417,"nodeType":856},{},[208418],{"data":208419,"content":208420,"nodeType":860},{},[208421],{"data":208422,"marks":208423,"value":208424,"nodeType":864},{},[],"You can now use the Push platform to discover SaaS used in your organization, secure the accounts used on those SaaS platforms, find risky third-party integrations, and use ChatOps to solve problems at scale.",{"id":196941,"publishedAt":208426},"2026-08-12T11:56:51.172Z",{"items":208428},[208429],{"sys":208430,"name":73498},{"id":73497},{"items":208432},[208433,208435,208437,208439,208441,208443,208445,208447],{"sys":208434,"name":297,"slug":298,"tier":31},{"id":294},{"sys":208436,"name":545,"slug":546,"tier":31},{"id":542},{"sys":208438,"name":413,"slug":414,"tier":31},{"id":410},{"sys":208440,"name":589,"slug":590,"tier":45},{"id":586},{"sys":208442,"name":633,"slug":634,"tier":45},{"id":630},{"sys":208444,"name":502,"slug":503,"tier":45},{"id":499},{"sys":208446,"name":457,"slug":458,"tier":45},{"id":454},{"sys":208448,"name":484,"slug":485,"tier":45},{"id":481},"7qAPMn-TB3fp27tX0mwXZu7GFHgrpRo7fQhZjSvlGMg",{"id":208451,"title":164845,"authorsCollection":208452,"content":208457,"extension":228,"faqItemsCollection":208948,"faqTitle":59,"featured":6,"hashTags":208950,"meta":208951,"metaTitle":208952,"ogImage":59,"postType":38987,"publishedDate":187124,"relatedBlogPostsCollection":208953,"slug":164846,"stem":208955,"subtitle":59,"summary":208956,"synopsis":187117,"sys":208967,"tagsCollection":208969,"topicsCollection":208975,"__hash__":208983},"blog/blog/rolling-your-own-saas-discovery.json",{"items":208453},[208454],{"fullName":38408,"firstName":38409,"jobTitle":38410,"socialLinks":208455,"profilePicture":208456},[38494],{"url":38412},{"json":208458,"links":208937},{"data":208459,"content":208460,"nodeType":856},{},[208461,208467,208473,208479,208485,208491,208511,208517,208523,208529,208535,208545,208551,208585,208605,208611,208617,208631,208637,208643,208656,208662,208669,208682,208688,208694,208700,208707,208713,208719,208725,208747,208804,208810,208816,208822,208835,208841,208854,208860,208870,208876,208893,208898,208913],{"data":208462,"content":208463,"nodeType":860},{},[208464],{"data":208465,"marks":208466,"value":186567,"nodeType":864},{},[],{"data":208468,"content":208469,"nodeType":860},{},[208470],{"data":208471,"marks":208472,"value":186574,"nodeType":864},{},[],{"data":208474,"content":208475,"nodeType":1009},{},[208476],{"data":208477,"marks":208478,"value":186581,"nodeType":864},{},[],{"data":208480,"content":208481,"nodeType":860},{},[208482],{"data":208483,"marks":208484,"value":186588,"nodeType":864},{},[],{"data":208486,"content":208487,"nodeType":860},{},[208488],{"data":208489,"marks":208490,"value":186595,"nodeType":864},{},[],{"data":208492,"content":208493,"nodeType":860},{},[208494,208497,208501,208504,208508],{"data":208495,"marks":208496,"value":186602,"nodeType":864},{},[],{"data":208498,"marks":208499,"value":186607,"nodeType":864},{},[208500],{"type":2246},{"data":208502,"marks":208503,"value":186611,"nodeType":864},{},[],{"data":208505,"marks":208506,"value":186616,"nodeType":864},{},[208507],{"type":2246},{"data":208509,"marks":208510,"value":186620,"nodeType":864},{},[],{"data":208512,"content":208513,"nodeType":860},{},[208514],{"data":208515,"marks":208516,"value":186627,"nodeType":864},{},[],{"data":208518,"content":208519,"nodeType":1009},{},[208520],{"data":208521,"marks":208522,"value":186634,"nodeType":864},{},[],{"data":208524,"content":208525,"nodeType":860},{},[208526],{"data":208527,"marks":208528,"value":186641,"nodeType":864},{},[],{"data":208530,"content":208531,"nodeType":1009},{},[208532],{"data":208533,"marks":208534,"value":186648,"nodeType":864},{},[],{"data":208536,"content":208537,"nodeType":860},{},[208538,208541],{"data":208539,"marks":208540,"value":90277,"nodeType":864},{},[],{"data":208542,"marks":208543,"value":186659,"nodeType":864},{},[208544],{"type":2246},{"data":208546,"content":208547,"nodeType":860},{},[208548],{"data":208549,"marks":208550,"value":186666,"nodeType":864},{},[],{"data":208552,"content":208553,"nodeType":860},{},[208554,208557,208561,208564,208568,208571,208575,208578,208582],{"data":208555,"marks":208556,"value":186673,"nodeType":864},{},[],{"data":208558,"marks":208559,"value":186607,"nodeType":864},{},[208560],{"type":2246},{"data":208562,"marks":208563,"value":186681,"nodeType":864},{},[],{"data":208565,"marks":208566,"value":186686,"nodeType":864},{},[208567],{"type":2246},{"data":208569,"marks":208570,"value":186690,"nodeType":864},{},[],{"data":208572,"marks":208573,"value":186607,"nodeType":864},{},[208574],{"type":2246},{"data":208576,"marks":208577,"value":186698,"nodeType":864},{},[],{"data":208579,"marks":208580,"value":186616,"nodeType":864},{},[208581],{"type":2246},{"data":208583,"marks":208584,"value":2924,"nodeType":864},{},[],{"data":208586,"content":208587,"nodeType":860},{},[208588,208591,208595,208598,208602],{"data":208589,"marks":208590,"value":186712,"nodeType":864},{},[],{"data":208592,"marks":208593,"value":186717,"nodeType":864},{},[208594],{"type":2246},{"data":208596,"marks":208597,"value":186721,"nodeType":864},{},[],{"data":208599,"marks":208600,"value":186726,"nodeType":864},{},[208601],{"type":2246},{"data":208603,"marks":208604,"value":186730,"nodeType":864},{},[],{"data":208606,"content":208607,"nodeType":860},{},[208608],{"data":208609,"marks":208610,"value":186737,"nodeType":864},{},[],{"data":208612,"content":208613,"nodeType":1009},{},[208614],{"data":208615,"marks":208616,"value":186744,"nodeType":864},{},[],{"data":208618,"content":208619,"nodeType":860},{},[208620,208624,208627],{"data":208621,"marks":208622,"value":186752,"nodeType":864},{},[208623],{"type":2246},{"data":208625,"marks":208626,"value":1171,"nodeType":864},{},[],{"data":208628,"marks":208629,"value":186760,"nodeType":864},{},[208630],{"type":2246},{"data":208632,"content":208633,"nodeType":860},{},[208634],{"data":208635,"marks":208636,"value":186767,"nodeType":864},{},[],{"data":208638,"content":208639,"nodeType":860},{},[208640],{"data":208641,"marks":208642,"value":186774,"nodeType":864},{},[],{"data":208644,"content":208645,"nodeType":860},{},[208646,208649,208653],{"data":208647,"marks":208648,"value":186781,"nodeType":864},{},[],{"data":208650,"marks":208651,"value":186786,"nodeType":864},{},[208652],{"type":2246},{"data":208654,"marks":208655,"value":186790,"nodeType":864},{},[],{"data":208657,"content":208658,"nodeType":1009},{},[208659],{"data":208660,"marks":208661,"value":186797,"nodeType":864},{},[],{"data":208663,"content":208664,"nodeType":860},{},[208665],{"data":208666,"marks":208667,"value":186805,"nodeType":864},{},[208668],{"type":2246},{"data":208670,"content":208671,"nodeType":860},{},[208672,208675,208679],{"data":208673,"marks":208674,"value":186812,"nodeType":864},{},[],{"data":208676,"marks":208677,"value":186817,"nodeType":864},{},[208678],{"type":2246},{"data":208680,"marks":208681,"value":186821,"nodeType":864},{},[],{"data":208683,"content":208684,"nodeType":860},{},[208685],{"data":208686,"marks":208687,"value":186828,"nodeType":864},{},[],{"data":208689,"content":208690,"nodeType":860},{},[208691],{"data":208692,"marks":208693,"value":186835,"nodeType":864},{},[],{"data":208695,"content":208696,"nodeType":1009},{},[208697],{"data":208698,"marks":208699,"value":186842,"nodeType":864},{},[],{"data":208701,"content":208702,"nodeType":860},{},[208703],{"data":208704,"marks":208705,"value":186850,"nodeType":864},{},[208706],{"type":2246},{"data":208708,"content":208709,"nodeType":860},{},[208710],{"data":208711,"marks":208712,"value":186857,"nodeType":864},{},[],{"data":208714,"content":208715,"nodeType":860},{},[208716],{"data":208717,"marks":208718,"value":186864,"nodeType":864},{},[],{"data":208720,"content":208721,"nodeType":860},{},[208722],{"data":208723,"marks":208724,"value":186871,"nodeType":864},{},[],{"data":208726,"content":208727,"nodeType":860},{},[208728,208731,208735,208738,208744],{"data":208729,"marks":208730,"value":186878,"nodeType":864},{},[],{"data":208732,"marks":208733,"value":103895,"nodeType":864},{},[208734],{"type":899},{"data":208736,"marks":208737,"value":186886,"nodeType":864},{},[],{"data":208739,"content":208740,"nodeType":883},{"uri":186889},[208741],{"data":208742,"marks":208743,"value":186894,"nodeType":864},{},[],{"data":208745,"marks":208746,"value":186898,"nodeType":864},{},[],{"data":208748,"content":208749,"nodeType":941},{},[208750,208759,208768,208777,208786,208795],{"data":208751,"content":208752,"nodeType":945},{},[208753],{"data":208754,"content":208755,"nodeType":860},{},[208756],{"data":208757,"marks":208758,"value":186911,"nodeType":864},{},[],{"data":208760,"content":208761,"nodeType":945},{},[208762],{"data":208763,"content":208764,"nodeType":860},{},[208765],{"data":208766,"marks":208767,"value":186921,"nodeType":864},{},[],{"data":208769,"content":208770,"nodeType":945},{},[208771],{"data":208772,"content":208773,"nodeType":860},{},[208774],{"data":208775,"marks":208776,"value":186931,"nodeType":864},{},[],{"data":208778,"content":208779,"nodeType":945},{},[208780],{"data":208781,"content":208782,"nodeType":860},{},[208783],{"data":208784,"marks":208785,"value":186941,"nodeType":864},{},[],{"data":208787,"content":208788,"nodeType":945},{},[208789],{"data":208790,"content":208791,"nodeType":860},{},[208792],{"data":208793,"marks":208794,"value":186951,"nodeType":864},{},[],{"data":208796,"content":208797,"nodeType":945},{},[208798],{"data":208799,"content":208800,"nodeType":860},{},[208801],{"data":208802,"marks":208803,"value":186961,"nodeType":864},{},[],{"data":208805,"content":208806,"nodeType":860},{},[208807],{"data":208808,"marks":208809,"value":186968,"nodeType":864},{},[],{"data":208811,"content":208812,"nodeType":860},{},[208813],{"data":208814,"marks":208815,"value":186975,"nodeType":864},{},[],{"data":208817,"content":208818,"nodeType":1009},{},[208819],{"data":208820,"marks":208821,"value":176957,"nodeType":864},{},[],{"data":208823,"content":208824,"nodeType":860},{},[208825,208828,208832],{"data":208826,"marks":208827,"value":186988,"nodeType":864},{},[],{"data":208829,"marks":208830,"value":186993,"nodeType":864},{},[208831],{"type":2246},{"data":208833,"marks":208834,"value":186997,"nodeType":864},{},[],{"data":208836,"content":208837,"nodeType":1312},{},[208838],{"data":208839,"marks":208840,"value":187004,"nodeType":864},{},[],{"data":208842,"content":208843,"nodeType":860},{},[208844,208847,208851],{"data":208845,"marks":208846,"value":187011,"nodeType":864},{},[],{"data":208848,"marks":208849,"value":187016,"nodeType":864},{},[208850],{"type":2246},{"data":208852,"marks":208853,"value":187020,"nodeType":864},{},[],{"data":208855,"content":208856,"nodeType":860},{},[208857],{"data":208858,"marks":208859,"value":187027,"nodeType":864},{},[],{"data":208861,"content":208862,"nodeType":860},{},[208863,208867],{"data":208864,"marks":208865,"value":187035,"nodeType":864},{},[208866],{"type":2246},{"data":208868,"marks":208869,"value":187039,"nodeType":864},{},[],{"data":208871,"content":208872,"nodeType":860},{},[208873],{"data":208874,"marks":208875,"value":187046,"nodeType":864},{},[],{"data":208877,"content":208878,"nodeType":860},{},[208879,208883,208886,208890],{"data":208880,"marks":208881,"value":187054,"nodeType":864},{},[208882],{"type":2246},{"data":208884,"marks":208885,"value":187058,"nodeType":864},{},[],{"data":208887,"marks":208888,"value":187063,"nodeType":864},{},[208889],{"type":2246},{"data":208891,"marks":208892,"value":8618,"nodeType":864},{},[],{"data":208894,"content":208897,"nodeType":996},{"target":208895},{"sys":208896},{"id":187071,"type":1001,"linkType":1002},[],{"data":208899,"content":208900,"nodeType":860},{},[208901,208904,208910],{"data":208902,"marks":208903,"value":187079,"nodeType":864},{},[],{"data":208905,"content":208906,"nodeType":883},{"uri":186889},[208907],{"data":208908,"marks":208909,"value":187086,"nodeType":864},{},[],{"data":208911,"marks":208912,"value":2924,"nodeType":864},{},[],{"data":208914,"content":208915,"nodeType":860},{},[208916,208919,208925,208928,208934],{"data":208917,"marks":208918,"value":187096,"nodeType":864},{},[],{"data":208920,"content":208921,"nodeType":883},{"uri":47677},[208922],{"data":208923,"marks":208924,"value":187103,"nodeType":864},{},[],{"data":208926,"marks":208927,"value":27405,"nodeType":864},{},[],{"data":208929,"content":208930,"nodeType":883},{"uri":47663},[208931],{"data":208932,"marks":208933,"value":47670,"nodeType":864},{},[],{"data":208935,"marks":208936,"value":187116,"nodeType":864},{},[],{"entries":208938},{"hyperlink":208939,"inline":208940,"block":208941},[],[],[208942],{"sys":208943,"__typename":1724,"title":208944,"caption":59,"layoutMode":140740,"file":208945},{"id":187071},"Phone show user-powered Slack message",{"url":208946,"width":137436,"height":208947},"https://images.ctfassets.net/y1cdw1ablpvd/2fkn8Dn369b7spFF3pOQM5/a7d49e9c6e960dd28aa82cbc88766ed7/Screenshot_2022-05-10_at_22.45.38.png",405,{"items":208949},[],[187119,187120,187121,187122,187123],{},"Data sources that support IT asset discovery for cloud apps",{"items":208954},[],"blog/rolling-your-own-saas-discovery",{"json":208957},{"data":208958,"content":208959,"nodeType":856},{},[208960],{"data":208961,"content":208962,"nodeType":860},{},[208963],{"data":208964,"marks":208965,"value":208966,"nodeType":864},{},[],"We’ve compiled a list of various methods for discovering SaaS use in your organization. In this guide, we’ll explore pros and cons for each approach and introduce you to some new and novel ways to capture SaaS usage, discover unknown SaaS employees are using, and determine how securely it is being used.",{"id":149551,"publishedAt":208968},"2026-08-12T11:56:53.999Z",{"items":208970},[208971,208973],{"sys":208972,"name":4904},{"id":4903},{"sys":208974,"name":297},{"id":2732},{"items":208976},[208977,208979,208981],{"sys":208978,"name":545,"slug":546,"tier":31},{"id":542},{"sys":208980,"name":297,"slug":298,"tier":31},{"id":294},{"sys":208982,"name":589,"slug":590,"tier":45},{"id":586},"Js-H8f44SXCa1YDp2K9BLAgOYC4SgnUaQRqpDFNvB5M",{"id":208985,"title":199830,"authorsCollection":208986,"content":208990,"extension":228,"faqItemsCollection":209387,"faqTitle":59,"featured":6,"hashTags":59,"meta":209389,"metaTitle":209390,"ogImage":59,"postType":38987,"publishedDate":199832,"relatedBlogPostsCollection":209391,"slug":199833,"stem":209393,"subtitle":59,"summary":209394,"synopsis":199831,"sys":209405,"tagsCollection":209407,"topicsCollection":209413,"__hash__":209425},"blog/blog/how-to-find-a-malicious-oauth-app-on-microsoft-365.json",{"items":208987},[208988],{"fullName":79005,"firstName":79006,"jobTitle":79007,"socialLinks":59,"profilePicture":208989},{"url":79009},{"json":208991,"links":209364},{"data":208992,"content":208993,"nodeType":856},{},[208994,209020,209023,209029,209035,209040,209046,209059,209065,209071,209087,209137,209140,209146,209201,209214,209220,209226,209242,209248,209265,209271,209277,209283,209289,209295,209301,209306,209312,209318,209331,209334,209349],{"data":208995,"content":208996,"nodeType":860},{},[208997,209000,209007,209010,209017],{"data":208998,"marks":208999,"value":199397,"nodeType":864},{},[],{"data":209001,"content":209002,"nodeType":883},{"uri":199400},[209003],{"data":209004,"marks":209005,"value":199406,"nodeType":864},{},[209006],{"type":1455},{"data":209008,"marks":209009,"value":199410,"nodeType":864},{},[],{"data":209011,"content":209012,"nodeType":883},{"uri":199021},[209013],{"data":209014,"marks":209015,"value":199418,"nodeType":864},{},[209016],{"type":1455},{"data":209018,"marks":209019,"value":199422,"nodeType":864},{},[],{"data":209021,"content":209022,"nodeType":1005},{},[],{"data":209024,"content":209025,"nodeType":860},{},[209026],{"data":209027,"marks":209028,"value":199432,"nodeType":864},{},[],{"data":209030,"content":209031,"nodeType":860},{},[209032],{"data":209033,"marks":209034,"value":199439,"nodeType":864},{},[],{"data":209036,"content":209039,"nodeType":996},{"target":209037},{"sys":209038},{"id":139571,"type":1001,"linkType":1002},[],{"data":209041,"content":209042,"nodeType":860},{},[209043],{"data":209044,"marks":209045,"value":199451,"nodeType":864},{},[],{"data":209047,"content":209048,"nodeType":860},{},[209049,209052,209056],{"data":209050,"marks":209051,"value":199458,"nodeType":864},{},[],{"data":209053,"marks":209054,"value":199463,"nodeType":864},{},[209055],{"type":899},{"data":209057,"marks":209058,"value":199467,"nodeType":864},{},[],{"data":209060,"content":209061,"nodeType":860},{},[209062],{"data":209063,"marks":209064,"value":199474,"nodeType":864},{},[],{"data":209066,"content":209067,"nodeType":860},{},[209068],{"data":209069,"marks":209070,"value":199481,"nodeType":864},{},[],{"data":209072,"content":209073,"nodeType":860},{},[209074,209077,209084],{"data":209075,"marks":209076,"value":199488,"nodeType":864},{},[],{"data":209078,"content":209079,"nodeType":883},{"uri":199491},[209080],{"data":209081,"marks":209082,"value":199497,"nodeType":864},{},[209083],{"type":1455},{"data":209085,"marks":209086,"value":199501,"nodeType":864},{},[],{"data":209088,"content":209089,"nodeType":941},{},[209090,209109,209128],{"data":209091,"content":209092,"nodeType":945},{},[209093],{"data":209094,"content":209095,"nodeType":860},{},[209096,209099,209106],{"data":209097,"marks":209098,"value":199514,"nodeType":864},{},[],{"data":209100,"content":209101,"nodeType":883},{"uri":193859},[209102],{"data":209103,"marks":209104,"value":199522,"nodeType":864},{},[209105],{"type":1455},{"data":209107,"marks":209108,"value":22438,"nodeType":864},{},[],{"data":209110,"content":209111,"nodeType":945},{},[209112],{"data":209113,"content":209114,"nodeType":860},{},[209115,209118,209125],{"data":209116,"marks":209117,"value":199535,"nodeType":864},{},[],{"data":209119,"content":209120,"nodeType":883},{"uri":199538},[209121],{"data":209122,"marks":209123,"value":199544,"nodeType":864},{},[209124],{"type":1455},{"data":209126,"marks":209127,"value":199548,"nodeType":864},{},[],{"data":209129,"content":209130,"nodeType":945},{},[209131],{"data":209132,"content":209133,"nodeType":860},{},[209134],{"data":209135,"marks":209136,"value":199558,"nodeType":864},{},[],{"data":209138,"content":209139,"nodeType":1005},{},[],{"data":209141,"content":209142,"nodeType":860},{},[209143],{"data":209144,"marks":209145,"value":199568,"nodeType":864},{},[],{"data":209147,"content":209148,"nodeType":860},{},[209149,209152,209159,209162,209169,209172,209179,209182,209189,209192,209198],{"data":209150,"marks":209151,"value":199575,"nodeType":864},{},[],{"data":209153,"content":209154,"nodeType":883},{"uri":199578},[209155],{"data":209156,"marks":209157,"value":199584,"nodeType":864},{},[209158],{"type":1455},{"data":209160,"marks":209161,"value":199588,"nodeType":864},{},[],{"data":209163,"content":209164,"nodeType":883},{"uri":199591},[209165],{"data":209166,"marks":209167,"value":199597,"nodeType":864},{},[209168],{"type":1455},{"data":209170,"marks":209171,"value":199601,"nodeType":864},{},[],{"data":209173,"content":209174,"nodeType":883},{"uri":199604},[209175],{"data":209176,"marks":209177,"value":199610,"nodeType":864},{},[209178],{"type":1455},{"data":209180,"marks":209181,"value":12960,"nodeType":864},{},[],{"data":209183,"content":209184,"nodeType":883},{"uri":199616},[209185],{"data":209186,"marks":209187,"value":199622,"nodeType":864},{},[209188],{"type":1455},{"data":209190,"marks":209191,"value":199626,"nodeType":864},{},[],{"data":209193,"content":209194,"nodeType":883},{"uri":139668},[209195],{"data":209196,"marks":209197,"value":199633,"nodeType":864},{},[],{"data":209199,"marks":209200,"value":199637,"nodeType":864},{},[],{"data":209202,"content":209203,"nodeType":860},{},[209204,209207,209211],{"data":209205,"marks":209206,"value":199644,"nodeType":864},{},[],{"data":209208,"marks":209209,"value":199649,"nodeType":864},{},[209210],{"type":899},{"data":209212,"marks":209213,"value":199653,"nodeType":864},{},[],{"data":209215,"content":209216,"nodeType":860},{},[209217],{"data":209218,"marks":209219,"value":199660,"nodeType":864},{},[],{"data":209221,"content":209222,"nodeType":1312},{},[209223],{"data":209224,"marks":209225,"value":199667,"nodeType":864},{},[],{"data":209227,"content":209228,"nodeType":860},{},[209229,209232,209239],{"data":209230,"marks":209231,"value":199674,"nodeType":864},{},[],{"data":209233,"content":209234,"nodeType":883},{"uri":199677},[209235],{"data":209236,"marks":209237,"value":199683,"nodeType":864},{},[209238],{"type":1455},{"data":209240,"marks":209241,"value":12252,"nodeType":864},{},[],{"data":209243,"content":209244,"nodeType":1312},{},[209245],{"data":209246,"marks":209247,"value":199693,"nodeType":864},{},[],{"data":209249,"content":209250,"nodeType":860},{},[209251,209254,209262],{"data":209252,"marks":209253,"value":199700,"nodeType":864},{},[],{"data":209255,"content":209258,"nodeType":27604},{"target":209256},{"sys":209257},{"id":199705,"type":1001,"linkType":1002},[209259],{"data":209260,"marks":209261,"value":199710,"nodeType":864},{},[],{"data":209263,"marks":209264,"value":2924,"nodeType":864},{},[],{"data":209266,"content":209267,"nodeType":1312},{},[209268],{"data":209269,"marks":209270,"value":199720,"nodeType":864},{},[],{"data":209272,"content":209273,"nodeType":860},{},[209274],{"data":209275,"marks":209276,"value":199727,"nodeType":864},{},[],{"data":209278,"content":209279,"nodeType":860},{},[209280],{"data":209281,"marks":209282,"value":199734,"nodeType":864},{},[],{"data":209284,"content":209285,"nodeType":1312},{},[209286],{"data":209287,"marks":209288,"value":199741,"nodeType":864},{},[],{"data":209290,"content":209291,"nodeType":860},{},[209292],{"data":209293,"marks":209294,"value":199748,"nodeType":864},{},[],{"data":209296,"content":209297,"nodeType":860},{},[209298],{"data":209299,"marks":209300,"value":199755,"nodeType":864},{},[],{"data":209302,"content":209305,"nodeType":996},{"target":209303},{"sys":209304},{"id":199760,"type":1001,"linkType":1002},[],{"data":209307,"content":209308,"nodeType":1312},{},[209309],{"data":209310,"marks":209311,"value":199768,"nodeType":864},{},[],{"data":209313,"content":209314,"nodeType":860},{},[209315],{"data":209316,"marks":209317,"value":199775,"nodeType":864},{},[],{"data":209319,"content":209320,"nodeType":860},{},[209321,209324,209328],{"data":209322,"marks":209323,"value":199782,"nodeType":864},{},[],{"data":209325,"marks":209326,"value":199787,"nodeType":864},{},[209327],{"type":2246},{"data":209329,"marks":209330,"value":199791,"nodeType":864},{},[],{"data":209332,"content":209333,"nodeType":1005},{},[],{"data":209335,"content":209336,"nodeType":860},{},[209337,209340,209346],{"data":209338,"marks":209339,"value":199801,"nodeType":864},{},[],{"data":209341,"content":209342,"nodeType":883},{"uri":199804},[209343],{"data":209344,"marks":209345,"value":199584,"nodeType":864},{},[],{"data":209347,"marks":209348,"value":199812,"nodeType":864},{},[],{"data":209350,"content":209351,"nodeType":860},{},[209352,209355,209361],{"data":209353,"marks":209354,"value":199819,"nodeType":864},{},[],{"data":209356,"content":209357,"nodeType":883},{"uri":139668},[209358],{"data":209359,"marks":209360,"value":199826,"nodeType":864},{},[],{"data":209362,"marks":209363,"value":21,"nodeType":864},{},[],{"entries":209365},{"inline":209366,"hyperlink":209367,"block":209373},[],[209368],{"sys":209369,"__typename":79413,"title":209370,"slug":209371,"articleId":209372},{"id":199705},"What's the difference between application and delegated OAuth permissions on Microsoft 365?","application-and-delegated-oauth-permissions",10039,[209374,209380],{"sys":209375,"__typename":1724,"title":209376,"caption":209377,"layoutMode":140740,"file":209378},{"id":139571},"Consent phishing scopes","Microsoft OAuth integration screen",{"url":209379,"width":195526,"height":50222},"https://images.ctfassets.net/y1cdw1ablpvd/4z095o2LPpN7UmvHeTPi3U/5ff4d051360c244ba7f5ab332edea6ff/Scopes_v3.png",{"sys":209381,"__typename":1724,"title":209382,"caption":209383,"layoutMode":59,"file":209384},{"id":199760},"Example malicious Microsoft 365 OAuth app reply URL","Credit: Rob Lee from SANS (https://twitter.com/robtlee/status/1295847403942273038?s=20)",{"url":209385,"width":142596,"height":209386},"https://images.ctfassets.net/y1cdw1ablpvd/3ODNdUb4Bud2MRuwOrk4aw/bdce83ac22010681e4e24291f75caf97/Screenshot_2021-09-03_at_13.15.57.png",53,{"items":209388},[],{},"Find a malicious OAuth app on Microsoft O365 ",{"items":209392},[],"blog/how-to-find-a-malicious-oauth-app-on-microsoft-365",{"json":209395},{"data":209396,"content":209397,"nodeType":856},{},[209398],{"data":209399,"content":209400,"nodeType":860},{},[209401],{"data":209402,"marks":209403,"value":209404,"nodeType":864},{},[],"Despite measures by Microsoft to address the issue, consent phishing is still on the rise. When hunting for malicious OAuth apps, the most important things to look at are the permissions and reply URLs. Publisher verification status, or install count, are sometimes useful while other factors can be completely ignored.",{"id":199386,"publishedAt":209406},"2026-08-13T09:35:24.720Z",{"items":209408},[209409,209411],{"sys":209410,"name":297},{"id":2732},{"sys":209412,"name":342},{"id":6596},{"items":209414},[209415,209417,209419,209421,209423],{"sys":209416,"name":545,"slug":546,"tier":31},{"id":542},{"sys":209418,"name":413,"slug":414,"tier":31},{"id":410},{"sys":209420,"name":342,"slug":343,"tier":31},{"id":339},{"sys":209422,"name":484,"slug":485,"tier":45},{"id":481},{"sys":209424,"name":633,"slug":634,"tier":45},{"id":630},"5ziykjAsnE_ClaWnmexyrgalzOoE-B5UfMWOQpZJnPE",{"id":209427,"title":204779,"authorsCollection":209428,"content":209433,"extension":228,"faqItemsCollection":209803,"faqTitle":59,"featured":6,"hashTags":209805,"meta":209806,"metaTitle":209807,"ogImage":59,"postType":38987,"publishedDate":204787,"relatedBlogPostsCollection":209808,"slug":204788,"stem":210088,"subtitle":59,"summary":210089,"synopsis":204780,"sys":210100,"tagsCollection":210102,"topicsCollection":210108,"__hash__":210120},"blog/blog/investigating-user-delegated-oauth-tokens-in-google-workspace-a-ride-along.json",{"items":209429},[209430],{"fullName":38408,"firstName":38409,"jobTitle":38410,"socialLinks":209431,"profilePicture":209432},[38494],{"url":38412},{"json":209434,"links":209751},{"data":209435,"content":209436,"nodeType":856},{},[209437,209443,209449,209455,209460,209466,209472,209478,209508,209514,209520,209535,209540,209546,209552,209567,209572,209578,209593,209598,209627,209649,209654,209667,209689,209694,209700,209706,209711,209733,209739,209745],{"data":209438,"content":209439,"nodeType":1312},{},[209440],{"data":209441,"marks":209442,"value":204414,"nodeType":864},{},[],{"data":209444,"content":209445,"nodeType":860},{},[209446],{"data":209447,"marks":209448,"value":204421,"nodeType":864},{},[],{"data":209450,"content":209451,"nodeType":860},{},[209452],{"data":209453,"marks":209454,"value":204428,"nodeType":864},{},[],{"data":209456,"content":209459,"nodeType":996},{"target":209457},{"sys":209458},{"id":204433,"type":1001,"linkType":1002},[],{"data":209461,"content":209462,"nodeType":860},{},[209463],{"data":209464,"marks":209465,"value":204441,"nodeType":864},{},[],{"data":209467,"content":209468,"nodeType":1312},{},[209469],{"data":209470,"marks":209471,"value":204448,"nodeType":864},{},[],{"data":209473,"content":209474,"nodeType":860},{},[209475],{"data":209476,"marks":209477,"value":204455,"nodeType":864},{},[],{"data":209479,"content":209480,"nodeType":941},{},[209481,209490,209499],{"data":209482,"content":209483,"nodeType":945},{},[209484],{"data":209485,"content":209486,"nodeType":860},{},[209487],{"data":209488,"marks":209489,"value":204468,"nodeType":864},{},[],{"data":209491,"content":209492,"nodeType":945},{},[209493],{"data":209494,"content":209495,"nodeType":860},{},[209496],{"data":209497,"marks":209498,"value":204478,"nodeType":864},{},[],{"data":209500,"content":209501,"nodeType":945},{},[209502],{"data":209503,"content":209504,"nodeType":860},{},[209505],{"data":209506,"marks":209507,"value":204488,"nodeType":864},{},[],{"data":209509,"content":209510,"nodeType":860},{},[209511],{"data":209512,"marks":209513,"value":204495,"nodeType":864},{},[],{"data":209515,"content":209516,"nodeType":1312},{},[209517],{"data":209518,"marks":209519,"value":204502,"nodeType":864},{},[],{"data":209521,"content":209522,"nodeType":860},{},[209523,209526,209532],{"data":209524,"marks":209525,"value":204509,"nodeType":864},{},[],{"data":209527,"content":209528,"nodeType":883},{"uri":139596},[209529],{"data":209530,"marks":209531,"value":204516,"nodeType":864},{},[],{"data":209533,"marks":209534,"value":204520,"nodeType":864},{},[],{"data":209536,"content":209539,"nodeType":996},{"target":209537},{"sys":209538},{"id":204525,"type":1001,"linkType":1002},[],{"data":209541,"content":209542,"nodeType":860},{},[209543],{"data":209544,"marks":209545,"value":204533,"nodeType":864},{},[],{"data":209547,"content":209548,"nodeType":860},{},[209549],{"data":209550,"marks":209551,"value":204540,"nodeType":864},{},[],{"data":209553,"content":209554,"nodeType":860},{},[209555,209558,209564],{"data":209556,"marks":209557,"value":186878,"nodeType":864},{},[],{"data":209559,"content":209560,"nodeType":883},{"uri":204549},[209561],{"data":209562,"marks":209563,"value":204554,"nodeType":864},{},[],{"data":209565,"marks":209566,"value":204558,"nodeType":864},{},[],{"data":209568,"content":209571,"nodeType":996},{"target":209569},{"sys":209570},{"id":204563,"type":1001,"linkType":1002},[],{"data":209573,"content":209574,"nodeType":860},{},[209575],{"data":209576,"marks":209577,"value":204571,"nodeType":864},{},[],{"data":209579,"content":209580,"nodeType":860},{},[209581,209584,209590],{"data":209582,"marks":209583,"value":204578,"nodeType":864},{},[],{"data":209585,"content":209586,"nodeType":883},{"uri":204581},[209587],{"data":209588,"marks":209589,"value":204586,"nodeType":864},{},[],{"data":209591,"marks":209592,"value":204590,"nodeType":864},{},[],{"data":209594,"content":209597,"nodeType":996},{"target":209595},{"sys":209596},{"id":204595,"type":1001,"linkType":1002},[],{"data":209599,"content":209600,"nodeType":860},{},[209601,209604,209610,209613,209617,209620,209624],{"data":209602,"marks":209603,"value":204603,"nodeType":864},{},[],{"data":209605,"content":209606,"nodeType":883},{"uri":198706},[209607],{"data":209608,"marks":209609,"value":204610,"nodeType":864},{},[],{"data":209611,"marks":209612,"value":204614,"nodeType":864},{},[],{"data":209614,"marks":209615,"value":204619,"nodeType":864},{},[209616],{"type":2246},{"data":209618,"marks":209619,"value":204623,"nodeType":864},{},[],{"data":209621,"marks":209622,"value":204619,"nodeType":864},{},[209623],{"type":2246},{"data":209625,"marks":209626,"value":204631,"nodeType":864},{},[],{"data":209628,"content":209629,"nodeType":860},{},[209630,209633,209637,209640,209646],{"data":209631,"marks":209632,"value":204638,"nodeType":864},{},[],{"data":209634,"marks":209635,"value":204643,"nodeType":864},{},[209636],{"type":2246},{"data":209638,"marks":209639,"value":204647,"nodeType":864},{},[],{"data":209641,"content":209642,"nodeType":883},{"uri":204650},[209643],{"data":209644,"marks":209645,"value":204655,"nodeType":864},{},[],{"data":209647,"marks":209648,"value":204659,"nodeType":864},{},[],{"data":209650,"content":209653,"nodeType":996},{"target":209651},{"sys":209652},{"id":204664,"type":1001,"linkType":1002},[],{"data":209655,"content":209656,"nodeType":860},{},[209657,209660,209664],{"data":209658,"marks":209659,"value":204672,"nodeType":864},{},[],{"data":209661,"marks":209662,"value":204619,"nodeType":864},{},[209663],{"type":2246},{"data":209665,"marks":209666,"value":204680,"nodeType":864},{},[],{"data":209668,"content":209669,"nodeType":860},{},[209670,209673,209677,209680,209686],{"data":209671,"marks":209672,"value":204687,"nodeType":864},{},[],{"data":209674,"marks":209675,"value":204619,"nodeType":864},{},[209676],{"type":2246},{"data":209678,"marks":209679,"value":204695,"nodeType":864},{},[],{"data":209681,"content":209682,"nodeType":883},{"uri":204698},[209683],{"data":209684,"marks":209685,"value":204703,"nodeType":864},{},[],{"data":209687,"marks":209688,"value":204707,"nodeType":864},{},[],{"data":209690,"content":209693,"nodeType":996},{"target":209691},{"sys":209692},{"id":204712,"type":1001,"linkType":1002},[],{"data":209695,"content":209696,"nodeType":860},{},[209697],{"data":209698,"marks":209699,"value":204720,"nodeType":864},{},[],{"data":209701,"content":209702,"nodeType":860},{},[209703],{"data":209704,"marks":209705,"value":204727,"nodeType":864},{},[],{"data":209707,"content":209710,"nodeType":996},{"target":209708},{"sys":209709},{"id":204732,"type":1001,"linkType":1002},[],{"data":209712,"content":209713,"nodeType":860},{},[209714,209717,209721,209724,209730],{"data":209715,"marks":209716,"value":204740,"nodeType":864},{},[],{"data":209718,"marks":209719,"value":204619,"nodeType":864},{},[209720],{"type":2246},{"data":209722,"marks":209723,"value":29595,"nodeType":864},{},[],{"data":209725,"content":209726,"nodeType":883},{"uri":204650},[209727],{"data":209728,"marks":209729,"value":204754,"nodeType":864},{},[],{"data":209731,"marks":209732,"value":204758,"nodeType":864},{},[],{"data":209734,"content":209735,"nodeType":1312},{},[209736],{"data":209737,"marks":209738,"value":204765,"nodeType":864},{},[],{"data":209740,"content":209741,"nodeType":860},{},[209742],{"data":209743,"marks":209744,"value":204772,"nodeType":864},{},[],{"data":209746,"content":209747,"nodeType":860},{},[209748],{"data":209749,"marks":209750,"value":90277,"nodeType":864},{},[],{"entries":209752},{"hyperlink":209753,"inline":209754,"block":209755},[],[],[209756,209763,209770,209776,209782,209790,209796],{"sys":209757,"__typename":1724,"title":209758,"caption":209759,"layoutMode":140740,"file":209760},{"id":204433},"oauth consent screen example","Example of an OAuth consent screen in Google Workspace",{"url":209761,"width":195579,"height":209762},"https://images.ctfassets.net/y1cdw1ablpvd/5RrFP6v1oOwfg00Kg9OAVQ/dcad6df4ee4db41629e519e505cd4801/consent-screen.png",607,{"sys":209764,"__typename":1724,"title":209765,"caption":209766,"layoutMode":140740,"file":209767},{"id":204525},"OAuth app details","Apps with access to your account",{"url":209768,"width":142596,"height":209769},"https://images.ctfassets.net/y1cdw1ablpvd/3wvxHVo7ggg3Q6KLOJ0OBc/b05cd2cd5087b9415ad354409b92c628/Screenshot_2021-07-15_at_12.02.40.png",615,{"sys":209771,"__typename":1724,"title":209772,"caption":209772,"layoutMode":145447,"file":209773},{"id":204563},"User connected apps in Workspace admin console",{"url":209774,"width":197733,"height":209775},"https://images.ctfassets.net/y1cdw1ablpvd/3JwxdzuBQFtWZfZhnaJ9O7/dd6b85e70c0f12e37de811cb4d1a44d2/Screenshot_2021-07-15_at_12.12.41.png",225,{"sys":209777,"__typename":1724,"title":209778,"caption":209779,"layoutMode":145447,"file":209780},{"id":204595},"Workspace token audit report","Sample of a Workspace token audit report",{"url":209781,"width":197733,"height":137410},"https://images.ctfassets.net/y1cdw1ablpvd/1fvEWaCemaKVA4M8CUK9LI/0a6d69f932cf3e496b315e5412b8e6bb/audit-log.png",{"sys":209783,"__typename":1724,"title":209784,"caption":209785,"layoutMode":59,"file":209786},{"id":204664},"API Explorer for OAuth tokens resource","Sample output from API Explorer for OAuth tokens resource",{"url":209787,"width":209788,"height":209789},"https://images.ctfassets.net/y1cdw1ablpvd/1dMLvB8qIweqnIt9OXcGcW/c58d40cbce1e8fbd2a1848c97bed92c0/Screenshot_2021-07-15_at_12.29.21.png",380,428,{"sys":209791,"__typename":1724,"title":209792,"caption":209793,"layoutMode":59,"file":209794},{"id":204712},"Workspace admin console trusted apps detail","Example of the details of a trusted app",{"url":209795,"width":142596,"height":133277},"https://images.ctfassets.net/y1cdw1ablpvd/6tmcl2Z7ZZtFrih6VGUftC/f347fe1e70fb1e88d46c19dceb19e5f4/Screenshot_2021-07-15_at_12.38.57.png",{"sys":209797,"__typename":1724,"title":209798,"caption":209799,"layoutMode":59,"file":209800},{"id":204732},"Trusted OAuth apps in Workspace admin panel","Trusted OAuth apps with the same display name",{"url":209801,"width":142596,"height":209802},"https://images.ctfassets.net/y1cdw1ablpvd/MODcUpyrv9yjpgm5u75wn/690c8a732c0700d808a1b55063a17e02/Screenshot_2021-07-15_at_12.40.24.png",321,{"items":209804},[],[204782,204783,204784,204785,204786],{},"Investigating user delegated OAuth tokens in Google",{"items":209809},[209810,209971],{"__typename":2059,"sys":209811,"content":209812,"title":139705,"synopsis":139706,"hashTags":59,"publishedDate":139707,"slug":139708,"tagsCollection":209961,"authorsCollection":209967},{"id":137501},{"json":209813},{"data":209814,"content":209815,"nodeType":856},{},[209816,209822,209828,209833,209846,209851,209857,209863,209887,209892,209907,209922,209937],{"data":209817,"content":209818,"nodeType":860},{},[209819],{"data":209820,"marks":209821,"value":139537,"nodeType":864},{},[],{"data":209823,"content":209824,"nodeType":860},{},[209825],{"data":209826,"marks":209827,"value":139544,"nodeType":864},{},[],{"data":209829,"content":209832,"nodeType":996},{"target":209830},{"sys":209831},{"id":139549,"type":1001,"linkType":1002},[],{"data":209834,"content":209835,"nodeType":860},{},[209836,209839,209843],{"data":209837,"marks":209838,"value":139557,"nodeType":864},{},[],{"data":209840,"marks":209841,"value":139562,"nodeType":864},{},[209842],{"type":899},{"data":209844,"marks":209845,"value":139566,"nodeType":864},{},[],{"data":209847,"content":209850,"nodeType":996},{"target":209848},{"sys":209849},{"id":139571,"type":1001,"linkType":1002},[],{"data":209852,"content":209853,"nodeType":860},{},[209854],{"data":209855,"marks":209856,"value":139579,"nodeType":864},{},[],{"data":209858,"content":209859,"nodeType":860},{},[209860],{"data":209861,"marks":209862,"value":139586,"nodeType":864},{},[],{"data":209864,"content":209865,"nodeType":860},{},[209866,209869,209875,209878,209884],{"data":209867,"marks":209868,"value":139593,"nodeType":864},{},[],{"data":209870,"content":209871,"nodeType":883},{"uri":139596},[209872],{"data":209873,"marks":209874,"value":139601,"nodeType":864},{},[],{"data":209876,"marks":209877,"value":902,"nodeType":864},{},[],{"data":209879,"content":209880,"nodeType":883},{"uri":139607},[209881],{"data":209882,"marks":209883,"value":139612,"nodeType":864},{},[],{"data":209885,"marks":209886,"value":2924,"nodeType":864},{},[],{"data":209888,"content":209891,"nodeType":996},{"target":209889},{"sys":209890},{"id":139620,"type":1001,"linkType":1002},[],{"data":209893,"content":209894,"nodeType":860},{},[209895,209898,209904],{"data":209896,"marks":209897,"value":139628,"nodeType":864},{},[],{"data":209899,"content":209900,"nodeType":883},{"uri":139631},[209901],{"data":209902,"marks":209903,"value":139636,"nodeType":864},{},[],{"data":209905,"marks":209906,"value":139640,"nodeType":864},{},[],{"data":209908,"content":209909,"nodeType":860},{},[209910,209913,209919],{"data":209911,"marks":209912,"value":139647,"nodeType":864},{},[],{"data":209914,"content":209915,"nodeType":883},{"uri":139650},[209916],{"data":209917,"marks":209918,"value":79166,"nodeType":864},{},[],{"data":209920,"marks":209921,"value":139658,"nodeType":864},{},[],{"data":209923,"content":209924,"nodeType":860},{},[209925,209928,209934],{"data":209926,"marks":209927,"value":139665,"nodeType":864},{},[],{"data":209929,"content":209930,"nodeType":883},{"uri":139668},[209931],{"data":209932,"marks":209933,"value":139673,"nodeType":864},{},[],{"data":209935,"marks":209936,"value":139677,"nodeType":864},{},[],{"data":209938,"content":209939,"nodeType":860},{},[209940,209943,209949,209952,209958],{"data":209941,"marks":209942,"value":139684,"nodeType":864},{},[],{"data":209944,"content":209945,"nodeType":883},{"uri":47677},[209946],{"data":209947,"marks":209948,"value":139691,"nodeType":864},{},[],{"data":209950,"marks":209951,"value":3731,"nodeType":864},{},[],{"data":209953,"content":209954,"nodeType":883},{"uri":47663},[209955],{"data":209956,"marks":209957,"value":47670,"nodeType":864},{},[],{"data":209959,"marks":209960,"value":139704,"nodeType":864},{},[],{"items":209962},[209963,209965],{"sys":209964,"name":6593},{"id":6592},{"sys":209966,"name":342},{"id":6596},{"items":209968},[209969],{"fullName":139718,"firstName":4879,"jobTitle":139719,"profilePicture":209970},{"url":139721},{"__typename":2059,"sys":209972,"content":209973,"title":201079,"synopsis":210074,"hashTags":210075,"publishedDate":210077,"slug":201080,"tagsCollection":210078,"authorsCollection":210084},{"id":193517},{"json":209974},{"data":209975,"content":209976,"nodeType":856},{},[209977,209984,209987,209994,210001,210007,210014,210021,210028,210035,210042,210047,210054,210060,210067],{"data":209978,"content":209979,"nodeType":860},{},[209980],{"data":209981,"marks":209982,"value":209983,"nodeType":864},{},[],"The following is a personal account from the owner of an engineering consulting and projects company of how a Business Email Compromise (BEC) attack played out against his company, almost costing them millions.",{"data":209985,"content":209986,"nodeType":1005},{},[],{"data":209988,"content":209989,"nodeType":860},{},[209990],{"data":209991,"marks":209992,"value":209993,"nodeType":864},{},[],"It started with a phone call from one of our customers. They wanted to make a payment to us and asked to confirm that our banking details had changed. They had not. Our customer explained they had received another email from us after our original invoice, stating that our banking details had changed.",{"data":209995,"content":209996,"nodeType":860},{},[209997],{"data":209998,"marks":209999,"value":210000,"nodeType":864},{},[],"So many questions ran through my mind. I assured them our details had not changed and asked them to send me the email that they had received.",{"data":210002,"content":210006,"nodeType":996},{"target":210003},{"sys":210004},{"id":210005,"type":1001,"linkType":1002},"7oS3I99lcdKeHo0a4SM7f2",[],{"data":210008,"content":210009,"nodeType":860},{},[210010],{"data":210011,"marks":210012,"value":210013,"nodeType":864},{},[],"There it was. It even had our company logo and signature at the bottom.",{"data":210015,"content":210016,"nodeType":860},{},[210017],{"data":210018,"marks":210019,"value":210020,"nodeType":864},{},[],"We didn't know how the attacker got access to that email account and we assumed they were logging in and reading emails. So we changed the password on the affected email account and moved on.",{"data":210022,"content":210023,"nodeType":860},{},[210024],{"data":210025,"marks":210026,"value":210027,"nodeType":864},{},[],"A day later, the attacker followed up again with the customer and we got another phone call. After having a really difficult conversation, we had to dig deeper and find out what was going on. So we contacted our IT provider and launched an investigation.",{"data":210029,"content":210030,"nodeType":860},{},[210031],{"data":210032,"marks":210033,"value":210034,"nodeType":864},{},[],"We found that the email we sent containing the invoice was also forwarded to an external Gmail address. The attacker had also registered a visually similar domain name and cloned the look and feel of our emails to reply to our customers and trick them into believing it was from us. This 1-letter difference in the domain is highlighted in the image above.",{"data":210036,"content":210037,"nodeType":860},{},[210038],{"data":210039,"marks":210040,"value":210041,"nodeType":864},{},[],"The primary culprit behind the forwarding of the message was then discovered. A mail rule had been created that forwarded emails with the word \"payment\" (among others) in the subject.",{"data":210043,"content":210046,"nodeType":996},{"target":210044},{"sys":210045},{"id":201456,"type":1001,"linkType":1002},[],{"data":210048,"content":210049,"nodeType":860},{},[210050],{"data":210051,"marks":210052,"value":210053,"nodeType":864},{},[],"Some senior employees had received phishing emails a few days prior to this incident taking place. The email took them to a fake Microsoft login page and unfortunately one of them entered their password.",{"data":210055,"content":210059,"nodeType":996},{"target":210056},{"sys":210057},{"id":210058,"type":1001,"linkType":1002},"3LqNjM8OlZLI6XQVtLaOe1",[],{"data":210061,"content":210062,"nodeType":860},{},[210063],{"data":210064,"marks":210065,"value":210066,"nodeType":864},{},[],"This stolen password was used to log in and set up the forwarding rule. This closed the loop and we understood what happened fully.",{"data":210068,"content":210069,"nodeType":860},{},[210070],{"data":210071,"marks":210072,"value":210073,"nodeType":864},{},[],"We learned a lot from the incident (and aged a few years!) and the main recommendations from our IT provider were to delete the mail rule, change the password again and enable MFA on all our email accounts. Had this customer paid this invoice without questioning the change of details, we would have lost millions.","A story by the owner of an Engineering company on how they almost lost millions from a Business Email Compromise (BEC) style attack. An interesting BEC example.",[198576,271,198577,198578,210076],"warstory","2021-06-14T00:00:00.000+01:00",{"items":210079},[210080,210082],{"sys":210081,"name":6593},{"id":6592},{"sys":210083,"name":2729},{"id":2728},{"items":210085},[210086],{"fullName":141682,"firstName":141683,"jobTitle":141684,"profilePicture":210087},{"url":141686},"blog/investigating-user-delegated-oauth-tokens-in-google-workspace-a-ride-along",{"json":210090},{"data":210091,"content":210092,"nodeType":856},{},[210093],{"data":210094,"content":210095,"nodeType":860},{},[210096],{"data":210097,"marks":210098,"value":210099,"nodeType":864},{},[],"A brief discussion about OAuth tokens, how they are used, reasons you might want to review them, and then an exploration of how you might start actually doing this in Google Workspace, which (TL;DR) turns out to not be neither trivial or easy to automate.",{"id":204403,"publishedAt":210101},"2026-08-13T09:35:26.636Z",{"items":210103},[210104,210106],{"sys":210105,"name":342},{"id":6596},{"sys":210107,"name":297},{"id":2732},{"items":210109},[210110,210112,210114,210116,210118],{"sys":210111,"name":545,"slug":546,"tier":31},{"id":542},{"sys":210113,"name":413,"slug":414,"tier":31},{"id":410},{"sys":210115,"name":342,"slug":343,"tier":31},{"id":339},{"sys":210117,"name":484,"slug":485,"tier":45},{"id":481},{"sys":210119,"name":633,"slug":634,"tier":45},{"id":630},"-Pm9Et6rruDbCi6lndem6XXfQigD3AaeOd7XENmB_0E",1787040107211]