CINXE.COM

Category: Security - Ars Technica

<!doctype html> <html lang="en-US" class="view-grid"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>Category: Security &#x2d; Ars Technica</title> <link rel="preconnect" href="https://c.arstechnica.com"> <!-- The SEO Framework by Sybre Waaijer --> <meta name="robots" content="max-snippet:-1,max-image-preview:large,max-video-preview:-1" /> <link rel="canonical" href="https://arstechnica.com/security/" /> <meta property="og:type" content="website" /> <meta property="og:locale" content="en_US" /> <meta property="og:site_name" content="Ars Technica" /> <meta property="og:title" content="Category: Security" /> <meta property="og:url" content="https://arstechnica.com/security/" /> <meta property="og:image" content="https://cdn.arstechnica.net/wp-content/uploads/2016/10/cropped-ars-logo-512_480.png" /> <meta property="og:image:width" content="512" /> <meta property="og:image:height" content="512" /> <meta name="twitter:card" content="summary_large_image" /> <meta name="twitter:title" content="Category: Security" /> <meta name="twitter:image" content="https://cdn.arstechnica.net/wp-content/uploads/2016/10/cropped-ars-logo-512_480.png" /> <script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebSite","@id":"https://arstechnica.com/#/schema/WebSite","url":"https://arstechnica.com/","name":"Ars Technica","description":"Serving the Technologist since 1998. News, reviews, and analysis.","inLanguage":"en-US","potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://arstechnica.com/search/{search_term_string}/"},"query-input":"required name=search_term_string"},"publisher":{"@type":"Organization","@id":"https://arstechnica.com/#/schema/Organization","name":"Ars Technica","url":"https://arstechnica.com/","logo":{"@type":"ImageObject","url":"https://cdn.arstechnica.net/wp-content/uploads/2016/10/cropped-ars-logo-512_480.png","contentUrl":"https://cdn.arstechnica.net/wp-content/uploads/2016/10/cropped-ars-logo-512_480.png","width":512,"height":512,"contentSize":"34417"}}},{"@type":"CollectionPage","@id":"https://arstechnica.com/security/","url":"https://arstechnica.com/security/","name":"Category: Security &#x2d; Ars Technica","inLanguage":"en-US","isPartOf":{"@id":"https://arstechnica.com/#/schema/WebSite"},"breadcrumb":{"@type":"BreadcrumbList","@id":"https://arstechnica.com/#/schema/BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"item":"https://arstechnica.com/","name":"Ars Technica"},{"@type":"ListItem","position":2,"name":"Category: Security"}]}}]}</script> <!-- / The SEO Framework by Sybre Waaijer | 4.17ms meta | 0.39ms boot --> <link rel="preconnect" href="https://cdn.cookielaw.org"> <link rel="preconnect" href="https://geolocation.onetrust.com"> <!-- OneTrust Cookies Consent Notice start --> <script src="https://cdn.cookielaw.org/scripttemplates/otSDKStub.js" data-domain-script="b10882a1-8446-4e7d-bfb2-ce2c770ad910" ></script> <script id="oneTrustScripts"> window.OptanonWrapper = function() { var CCPAButton = document.getElementById('ot-sdk-btn'); CCPAButton && CCPAButton.classList.add('ot-sdk-btn--visible'); window.dataLayer && window.dataLayer.push({ event: 'OneTrustGroupsUpdated' }); window.cnBus && window.cnBus.emit('onetrust.OneTrustGroupsUpdated'); }; </script> <script src="https://cdn.cookielaw.org/opt-out/otCCPAiab.js" ccpa-opt-out-ids="C0002,C0003,C0004,C0005" ccpa-opt-out-geo="ca" ccpa-opt-out-lspa="true" ></script> <!-- OneTrust Cookies Consent Notice end --> <link rel="alternate" type="application/rss+xml" title="Ars Technica &raquo; Security Category Feed" href="https://arstechnica.com/security/feed/" /> <!-- Google Tag Manager DataLayer --> <script> window.dataLayer = window.dataLayer || []; window.dataLayer.push({"event":"data-layer-loaded","user":{"ars_userId":undefined,"amg_userId":undefined,"uID":undefined,"sID":undefined,"loginStatus":false,"subscriberStatus":"none","infinityId":undefined,"registrationSource":undefined,"mdw_cnd_id":undefined,"monthlyVisits":undefined,"accessPaywall":undefined,"view":"grid","theme":"system","show_comments":undefined},"content":{"pageTemplate":"archive","pageType":"archive","contentCategory":undefined,"section":"homepage","subsection":undefined,"contributor":undefined,"contentID":undefined,"contentLength":undefined,"display":"Security","contentSource":"web","pageAssets":undefined,"uniqueContentCount":undefined,"monthlyContentCount":undefined,"publishDate":undefined,"modifiedDate":undefined,"keywords":undefined,"dataSource":undefined},"marketing":{"campaignName":undefined,"circCampaignId":undefined,"internalCampaignId":undefined,"brand":"Ars Technica","certified_mrc_data":undefined,"condeNastId":undefined},"page":{"pID":undefined,"syndicatorUrl":undefined,"pageURL":"https:\/\/arstechnica.com\/security\/","canonical":"https:\/\/arstechnica.com\/security\/","canonicalPathName":"\/security\/"},"search":{"facets":undefined,"searchTerms":undefined},"site":{"appVersion":"1.0.0"}}); </script> <!-- End Google Tag Manager DataLayer --> <!-- Google Tag Manager --> <script> (function(w, d, s, l, i) { w[l] = w[l] || []; w[l].push({ 'gtm.start': new Date().getTime(), event: 'gtm.js' }); var f = d.getElementsByTagName(s)[0], j = d.createElement(s), dl = l != 'dataLayer' ? '&l=' + l : ''; j.async = true; j.src = 'https://www.googletagmanager.com/gtm.js?id=' + i + dl; f.parentNode.insertBefore(j, f); })(window, document, 'script', 'dataLayer', 'GTM-NLXNPCQ'); </script> <!-- End Google Tag Manager --> <style id='elasticpress-related-posts-style-inline-css'> .editor-styles-wrapper .wp-block-elasticpress-related-posts ul,.wp-block-elasticpress-related-posts ul{list-style-type:none;padding:0}.editor-styles-wrapper .wp-block-elasticpress-related-posts ul li a>div{display:inline} </style> <link rel='stylesheet' id='elasticpress-facets-css' href='https://cdn.arstechnica.net/wp-content/plugins/_composer_elasticpress/dist/css/facets-styles.css?ver=7d568203f3965dc85d8a' media='all' /> <link rel='stylesheet' id='searchterm-highlighting-css' href='https://cdn.arstechnica.net/wp-content/plugins/_composer_elasticpress/dist/css/highlighting-styles.css?ver=252562c4ed9241547293' media='all' /> <link rel='stylesheet' id='app/0-css' href='https://cdn.arstechnica.net/wp-content/themes/ars-v9/public/css/app.eec9eb.css' media='all' /> <link rel='stylesheet' id='ads/0-css' href='https://cdn.arstechnica.net/wp-content/themes/ars-v9/public/css/ads.872a06.css' media='all' /> <script src="https://cdn.arstechnica.net/wp-content/themes/ars-v9/resources/scripts/jquery-3.7.1.min.js?ver=3.7.1" id="jquery-js"></script> <script>window.ars = {"subscriber":false,"hasAdFree":false,"hasTrackerFree":false,"loggedIn":false}</script> <script> const theme = "system"; let darkMode = false; if (theme === "dark" || (theme === "system" && (window.matchMedia("(prefers-color-scheme: dark)").matches))) { darkMode = true; document.documentElement.classList.add("dark"); } window.darkMode = darkMode; </script> <script> const settings = JSON.parse(localStorage.getItem("text-settings")) || {}; const { size = "standard", links = "standard", width = "standard", position="story" } = settings; const html = document.querySelector("html"); html.classList.add(`text-settings-size-${size}`); html.classList.add(`text-settings-links-${links}`); html.classList.add(`text-settings-width-${width}`); html.classList.add(`text-settings-position-${position}`); </script> <meta name="twitter:site" content="@arstechnica" /> <meta name="twitter:domain" content="arstechnica.com" /> <meta property="facebook-domain-verification" content="qptjyerza2q11uv3fe6aay6hbsncr8" /> <style>[x-cloak] { display: none !important; }</style> <link rel="preconnect" href="https://globalservices.conde.digital"> <link rel="preconnect" href="https://player.cnevids.com"> <script> window.permutiveCohorts = {"cached_until":{"date":"2024-11-27 21:40:43.018013","timezone_type":3,"timezone":"UTC"},"cohorts":["bvgx","bjfa","bvvp","butb","bvne","bute","byoo","bvbx","butc","bvpe","busz","bvlq","bvpx","bvgs","bvoz","busy"],"gam":["bvgx","bjfa","bvvp","butb","bvne","bute","bvbx","butc","bvpe","busz","bvlq","bvpx","bvgs","bvoz","busy"],"xandr":[]}; window.permutiveContextInfo = {"pageProperties":{"client":{"url":"https:\/\/arstechnica.com\/security\/","referrer":"","type":"web","user_agent":"Mozilla\/5.0 (Windows NT 6.1; WOW64; rv:29.0) Gecko\/20100101 Firefox\/29.0","domain":"arstechnica.com","title":"Category: Security &#x2d; Ars Technica"},"type":"bundle"},"url":"https:\/\/arstechnica.com\/security\/"}; </script> <script src="https://www.googletagservices.com/tag/js/gpt.js" id="gpt-script" async ></script> <script> window.googletag = window.googletag || {}; window.googletag.cmd = window.googletag.cmd || []; window.cns = window.cns || {}; window.cns.queue = []; window.cns.async = function(s, c) { cns.queue.push({ service: s, callback: c }) }; window.cns.pageContext = {"contentType":"bundle","templateType":"_default","channel":"security","subChannel":"","slug":"security","server":"production","keywords":{"tags":["index"],"cm":[],"platform":["wordpress"],"copilotid":""}}; </script> <script src="https://ads-static.conde.digital/production/cns/builds/ars-technica/ars-technica.min.js" async ></script> <script type="text/javascript"> window._taboola = window._taboola || []; _taboola.push({ article: 'auto' }); ! function(e, f, u, i) { if (!document.getElementById(i)) { e.async = 1; e.src = u; e.id = i; f.parentNode.insertBefore(e, f); } }(document.createElement('script'), document.getElementsByTagName('script')[0], '//cdn.taboola.com/libtrc/condenast1-network/loader.js', 'tb_loader_script'); if (window.performance && typeof window.performance.mark == 'function') { window.performance.mark('tbl_ic'); } </script> <script type="text/javascript">!(function(o,_name){function n(){(n.q=n.q||[]).push(arguments)}n.v=1,o[_name]=o[_name]||n;!(function(o,t,n,c){function e(n){(function(){try{return(localStorage.getItem("v4ac1eiZr0")||"").split(",")[4]>0}catch(o){}return!1})()&&(n=o[t].pubads())&&n.setTargeting("admiral-engaged","true")}(c=o[t]=o[t]||{}).cmd=c.cmd||[],typeof c.pubads===n?e():typeof c.cmd.unshift===n?c.cmd.unshift(e):c.cmd.push(e)})(window,"googletag","function");})(window,String.fromCharCode(97,100,109,105,114,97,108));!(function(t,c,i){i=t.createElement(c),t=t.getElementsByTagName(c)[0],i.async=1,i.src="https://shiverscissors.com/v2fumwIJOo-LsCB0dlG18VSTW43CpWhUEPJuKeRTzrEQdSPPlMr5GymU",t.parentNode.insertBefore(i,t)})(document,"script");</script> <meta name="twitter:partner" content="tfwp"><!-- Start Headline A/B --> <script type="text/javascript"> class ABTest { constructor(post_id, init_method) { this.post_id = post_id; this.ajaxurl = '/services/ars-ajax-handler.php'; this.expireDays = 1 / 48; // 30 min this.group = this.getGroup(); this.uid = this.getUid(); this.init_method = init_method; this.setTitle(); if (this.init_method === 'click') { this.click(); } else { this.impression(); } } setCookie(name, value, days) { var expires = ""; if (days) { var date = new Date(); date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000)); expires = "; expires=" + date.toUTCString(); } document.cookie = name + "=" + (value || "") + expires + "; path=/"; } getCookie(name) { var nameEQ = name + "="; var ca = document.cookie.split(';'); for (var i = 0; i < ca.length; i++) { var c = ca[i]; while (c.charAt(0) == ' ') c = c.substring(1, c.length); if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length); } return null; } // Retrieves a unique id for determining whether the event should be recorded getUid() { var uid = this.getCookie('ars_ab_' + this.post_id + '_uid'); if (!uid) { uid = (Math.random() + 1).toString(36).substring(2, 7); this.setCookie('ars_ab_' + this.post_id + '_uid', uid, this.expireDays); } return uid; }; // Places the user in either A or B for this post id getGroup() { var group = this.getCookie('ars_ab_' + this.post_id + '_group'); if (!group) { group = String.fromCharCode(Math.floor(Math.random() * 2) + 65).toLowerCase(); this.setCookie('ars_ab_' + this.post_id + '_group', group, this.expireDays); } return group; }; // Records a headline impression (from homepage or other listing) impression() { // Send fake ajax var params = { nonce: 'cac9c55907', action: 'ars_ab_impression', id: this.post_id, group: this.group, uid: this.uid, ts: (new Date()).getTime() }; var url = this.ajaxurl + '?' + this.encodeParams(params); document.write('\x3Cscript type="text/javascript" src="' + url + '">\x3C/script>'); }; // Records a headline click from the actual post page click() { // Send fake ajax var params = { nonce: 'e86b21157d', action: 'ars_ab_click', id: this.post_id, group: this.group, uid: this.uid, ts: (new Date()).getTime() }; var url = this.ajaxurl + '?' + this.encodeParams(params); document.write('\x3Cscript type="text/javascript" src="' + url + '">\x3C/script>'); }; // If user is in B group, dynamically set title setTitle() { if (this.group == 'b') { var span = document.getElementById('ars_ab_' + this.post_id); var title = span.parentNode; title.innerHTML = span.getAttribute('data-title-b'); } }; encodeParams(data) { var ret = []; for (var d in data) ret.push(encodeURIComponent(d) + "=" + encodeURIComponent(data[d])); return ret.join("&"); }; }; </script> <!-- End Headline A/B --> <link rel="icon" href="https://cdn.arstechnica.net/wp-content/uploads/2016/10/cropped-ars-logo-512_480-60x60.png" sizes="32x32" /> <link rel="icon" href="https://cdn.arstechnica.net/wp-content/uploads/2016/10/cropped-ars-logo-512_480-300x300.png" sizes="192x192" /> <link rel="apple-touch-icon" href="https://cdn.arstechnica.net/wp-content/uploads/2016/10/cropped-ars-logo-512_480-300x300.png" /> <meta name="msapplication-TileImage" content="https://cdn.arstechnica.net/wp-content/uploads/2016/10/cropped-ars-logo-512_480-300x300.png" /> <!-- generated 21 seconds ago generated in 0.282 seconds served from batcache in 0.004 seconds expires in 279 seconds view: grid xf_style_id: 3 --> </head> <body class="archive category category-security category-76662 wp-embed-responsive bg-gray-100 text-gray-700 dark:text-gray-250 dark:bg-gray-50"> <!-- Google Tag Manager (noscript) --> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-NLXNPCQ" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <!-- End Google Tag Manager (noscript) --> <div id="app"> <a class="sr-only focus:not-sr-only" href="#main"> Skip to content </a> <div class="ad-wrapper is-fullwidth is-hero"> <div class="ad-wrapper-inner"> <div class="ad ad--hero"></div> </div> </div> <header class="banner font-impact xxl:max-w-xxl mdl:rounded-sm sticky top-0 z-30 mx-auto flex h-14 max-w-6xl flex-row flex-nowrap items-center justify-between bg-gray-700 px-[15px] font-semibold uppercase transition-[top] duration-500 dark:bg-black sm:px-5 md:my-5 md:h-10 lg:my-10" id="site-header"> <a id = "header-logo" href="https://arstechnica.com/" aria-label="Ars Technica home"> <span class="sr-only">Ars Technica home</span> <svg class="h-[36px] w-[109px] md:h-[65px] md:w-[197px]" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 436 144.1"><defs><clipPath id="ars-full_svg__a"><path fill="none" d="M0 0h436v144.1H0z"/></clipPath><clipPath id="ars-full_svg__b"><path fill="none" d="M0 0h436v144.1H0z"/></clipPath></defs><g clip-path="url(#ars-full_svg__a)"><g fill="none" clip-path="url(#ars-full_svg__b)"><path fill="#ff4e00" d="M72 0c39.8 0 72.1 32.3 72.1 72.1s-32.3 72.1-72.1 72.1S0 111.8 0 72.1 32.3 0 72 0"/><path fill="#fff" d="m46.5 94-.9-5.9c-4 4.4-9.6 6.8-15.6 6.8-8 0-13-4.8-13-12.3 0-11 9.4-15.4 27.8-17.3v-1.9c0-5.6-3.3-7.5-8.4-7.5s-10.5 1.7-15.3 3.8L20 52.6c5.3-2.1 10.3-3.7 17.1-3.7 10.7 0 15.9 4.3 15.9 14.2v30.8h-6.7Zm-1.6-22.4c-16.3 1.6-19.7 6-19.7 10.6s2.4 5.9 6.6 5.9 9.4-2.4 13.1-6.2zm27.3-3.7v26H64v-44h6.6l1.4 9c3.1-5 8.2-9.5 15.5-9.9l1.3 7.9c-7.4.3-13.6 5.2-16.6 11m37.2 26.9c-5.6-.1-11.1-1.6-16.1-4.2l1.2-7.8c4.6 3.2 10 5 15.6 5.1 5.6 0 9-2.1 9-5.8s-2.5-5.6-10.5-7.5C98.2 72 94.1 68.9 94.1 61s5.9-12.2 15.6-12.2c5 0 9.9 1 14.5 3l-1.3 7.8c-4.1-2.4-8.7-3.7-13.4-3.8-5 0-7.6 1.9-7.6 5.1s2.2 4.6 9.2 6.4c10.9 2.8 15.8 5.9 15.8 14.3s-6.1 13.2-17.5 13.2m109.4-11.1c-4.4 3.7-8.4 5-12.8 5-7.7 0-12.7-5.3-13.5-14h24.8l.9-5.5h-25.7c.8-8.7 5.7-14.1 12.9-14.1s8.8 1.7 12.9 5.1l1-5.9c-4-2.9-8.8-4.4-13.7-4.3-10.7 0-19.2 7.8-19.2 21.9s8.3 21.9 18.9 21.9c5.2.1 10.2-1.6 14.3-4.8zm-48.7-27.5v36.9h-5.8V56.2h-13.4v-5.3H183l.9 5.3H170Zm74.5 37.6c-11.9 0-19.5-8.8-19.5-21.8s7.8-22 19.6-22c4.3-.1 8.5 1.1 12 3.5l-.9 5.9c-3.2-2.6-7.1-4-11.2-4.1-8.6 0-13.6 6.5-13.6 16.6s5.1 16.6 13.6 16.6c4.3 0 8.5-1.6 11.9-4.2l.9 5.4c-3.7 2.6-8.2 4.1-12.8 4.1M292 93V73.5h-21.4V93h-5.8V50.9h5.8v17.5H292V50.9h5.8V93zm42.9 0-23.2-32.8V93h-5.3V50.9h5.1l22.4 31.5V50.9h5.3V93zm13.4-42.1h5.8V93h-5.8zm32.6 42.9c-11.9 0-19.5-8.8-19.5-21.8s7.8-22 19.6-22c4.3-.1 8.5 1.1 12 3.5l-.9 5.9c-3.2-2.6-7.1-4-11.2-4.1-8.6 0-13.6 6.5-13.6 16.6s5.1 16.6 13.6 16.6c4.3 0 8.5-1.6 11.9-4.2l.9 5.4c-3.7 2.6-8.2 4.1-12.8 4.1m32.9-43.1h5.8l16.3 41.5-5.6 1.2-5-13.1h-17.4L403.1 93h-5.8zm-4 24.6h13.5l-6.8-17.9z"/></g></g></svg> </a> <div class="flex flex-row flex-nowrap items-center gap-3 md:gap-5 xl:gap-4"> <div class="xxl:hidden"> <div x-data="{ open: false, toggle() { if (this.open) { return this.close() } // If we're inside main header, add a data attribute to the header if (this.$el.closest('#site-header')) { this.$el.closest('#site-header').dataset.dropdownOpen = 'true'; } this.open = true }, close() { if (!this.open) { return; } // If we're inside main header, add a data attribute to the header if (this.$el.closest('#site-header')) { this.$el.closest('#site-header').dataset.dropdownOpen = 'false'; } this.open = false } }" @keydown.escape.prevent.stop="close($refs.button)" @focusin.window="! $refs.panel.contains($event.target) && close()" x-id="['dropdown-button']"> <!-- Button --> <button type="button" x-ref="button" x-on:click=" toggle(); $dispatch('dropdown-opened', { panel: $refs.panel }); " :aria-expanded="open" :aria-controls="$id('dropdown-button')" :class="{ selected: open }" class="group flex items-center focus:outline-none" arial-label="" aria-label="Open Sections menu dropdown"> <svg class="group-with-selected:text-gray-200 h-5 w-5 text-gray-300 hover:text-gray-100 group-focus:text-gray-100 sm:hidden" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40"><path fill="currentColor" d="M0 0h40v8H0zm0 16h40v8H0zm24 24H0v-8h16z"/><path fill="#04cc74" d="M23 32h17l-8 8h-.3z"/></svg> <span class="group-with-selected:text-gray-100 hidden flex-row flex-nowrap items-center gap-1 uppercase text-gray-300 hover:text-gray-100 group-focus:text-gray-100 sm:flex xl:text-sm"> Sections <svg class="h-1 text-gray-300" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 19.3"><defs><clipPath id="arrow-down_svg__a"><path fill="none" d="M0 0h40v19.3H0z"/></clipPath><clipPath id="arrow-down_svg__b"><path fill="none" d="M0 0h40v19.3H0z"/></clipPath></defs><g clip-path="url(#arrow-down_svg__a)"><g fill="none" clip-path="url(#arrow-down_svg__b)"><path fill="currentColor" d="m0 0 18.9 18.9c.6.6 1.6.6 2.2 0L40 0z"/></g></g></svg> </span> </button> <!-- Panel --> <div x-cloak x-ref="panel" x-show="open" x-transition.origin.top.center x-on:click.outside="close()" :id="$id('dropdown-button')" class="absolute overflow-hidden z-50 bg-gray-550 xxs:max-w-[400px] absolute right-0 top-14 mt-[1px] w-full rounded-sm sm:right-auto sm:max-w-[200px] md:top-10"> <nav class="topnav-sections"> <div class="flex flex-row flex-nowrap items-center justify-between bg-gray-700 px-10 py-2 sm:hidden sm:flex-col sm:items-start"> <a class="text-green-400 hover:text-green-500 focus:text-green-500" href="/civis/"> Forum </a> <div class="h-5 w-[1px] bg-gray-400"></div> <a class="text-orange-400 hover:text-orange-500 focus:text-orange-500" href="/store/product/subscriptions/"> Subscribe </a> <div class="h-5 w-[1px] bg-gray-400"></div> <a class="flex flex-row flex-nowrap items-center gap-2 text-gray-300 hover:text-gray-100 focus:text-gray-100" href="/search/"> <svg class="h-5 w-5" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40"><defs><clipPath id="magnify_svg__a"><path fill="none" d="M0 0h40v40H0z"/></clipPath><clipPath id="magnify_svg__b"><path fill="none" d="M0 0h40v40H0z"/></clipPath></defs><g clip-path="url(#magnify_svg__a)"><g fill="none" clip-path="url(#magnify_svg__b)"><path fill="currentColor" d="M39.2 35.4 29 25.2c4.4-6.2 3.9-15-1.7-20.6C24.2 1.6 20.1 0 16 0S7.8 1.6 4.7 4.7c-6.2 6.2-6.2 16.4 0 22.6C7.8 30.4 11.9 32 16 32s6.5-1 9.3-3l10.2 10.2c.5.5 1.2.8 1.9.8s1.4-.3 1.9-.8c1-1 1-2.7 0-3.8M8.5 23.5c-2-2-3.1-4.7-3.1-7.5s1.1-5.5 3.1-7.5 4.7-3.1 7.5-3.1 5.5 1.1 7.5 3.1c4.2 4.2 4.2 10.9 0 15.1-2 2-4.7 3.1-7.5 3.1s-5.5-1.1-7.5-3.1"/></g></g></svg> </a> </div> <ul class="my-3 grid grid-cols-2 sm:grid-cols-1"> <li> <a class="group flex flex-row items-center px-5 py-2 text-gray-300 hover:bg-gray-700 hover:text-green-400 focus:bg-gray-700 focus:text-green-400" href="https://arstechnica.com/ai/"> <svg class="mr-2 inline-block h-5 w-5 text-gray-100 group-hover:text-green-400 group-focus:text-green-400" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40"><defs><clipPath id="section-ai_svg__a"><path fill="none" d="M0 0h40v40H0z"/></clipPath><clipPath id="section-ai_svg__b"><path fill="none" d="M0 0h40v40H0z"/></clipPath></defs><g clip-path="url(#section-ai_svg__a)"><g fill="currentColor" clip-path="url(#section-ai_svg__b)"><path d="M20 2.4c9.7 0 17.6 7.9 17.6 17.6S29.7 37.6 20 37.6 2.4 29.7 2.4 20 10.3 2.4 20 2.4M20 0C9 0 0 9 0 20s9 20 20 20 20-9 20-20S31 0 20 0"/><path d="M20 13q2.85 0 5.4.9c.7.2 1.4-.1 1.6-.9l1.4-5.5C26 5.9 23.1 4.9 20 4.9s-6 .9-8.4 2.6L13 13c.2.7.9 1.1 1.6.9Q17 13 20 13M8.9 18.3c.4-.8 1-1.5 1.7-2.1l-2.2-5.7C7 12.2 6 14.1 5.5 16.3l1.3 2.1c.5.8 1.7.8 2.2 0m24.3 0 1.3-2.1c-.5-2.2-1.5-4.1-2.9-5.8l-2.2 5.7c.7.6 1.3 1.3 1.7 2.1.5.8 1.6.9 2.2 0M23.2 20c0 1.8-1.5 3.2-3.2 3.2s-3.2-1.4-3.2-3.2 1.5-3.2 3.2-3.2 3.2 1.4 3.2 3.2"/></g></g></svg> AI </a> </li> <li> <a class="group flex flex-row items-center px-5 py-2 text-gray-300 hover:bg-gray-700 hover:text-green-400 focus:bg-gray-700 focus:text-green-400" href="https://arstechnica.com/information-technology/"> <svg class="mr-2 inline-block h-5 w-5 text-gray-100 group-hover:text-green-400 group-focus:text-green-400" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40"><defs><clipPath id="section-information-technology_svg__a"><path fill="none" d="M0 0h40v40H0z"/></clipPath><clipPath id="section-information-technology_svg__b"><path fill="none" d="M0 0h40v40H0z"/></clipPath></defs><g clip-path="url(#section-information-technology_svg__a)"><g fill="currentColor" clip-path="url(#section-information-technology_svg__b)"><path d="M35 0H5C2.2 0 0 2.2 0 5s2.2 5 5 5h30c2.8 0 5-2.2 5-5s-2.2-5-5-5m-6.9 7c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2m6 0c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2m.9 8H5c-2.8 0-5 2.2-5 5s2.2 5 5 5h30c2.8 0 5-2.2 5-5s-2.2-5-5-5m-6.9 7.2c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2m6 0c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2M35 30H5c-2.8 0-5 2.2-5 5s2.2 5 5 5h30c2.8 0 5-2.2 5-5s-2.2-5-5-5m-6.9 7.4c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2m6 0c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2"/></g></g></svg> Biz &amp; IT </a> </li> <li> <a class="group flex flex-row items-center px-5 py-2 text-gray-300 hover:bg-gray-700 hover:text-green-400 focus:bg-gray-700 focus:text-green-400" href="https://arstechnica.com/cars/"> <svg class="mr-2 inline-block h-5 w-5 text-gray-100 group-hover:text-green-400 group-focus:text-green-400" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40"><defs><clipPath id="section-cars_svg__a"><path fill="none" d="M0 0h40v40H0z"/></clipPath><clipPath id="section-cars_svg__b"><path fill="none" d="M0 0h40v40H0z"/></clipPath></defs><g clip-path="url(#section-cars_svg__a)"><g fill="none" clip-path="url(#section-cars_svg__b)"><path fill="currentColor" d="M39.7 23.5c.2-1.2.3-2.3.3-3.5s-.1-2.4-.3-3.5l-1.3-.4c-.1-.6-.3-1.2-.5-1.8l.9-1c-.8-2.3-2-4.3-3.5-6.1l-1.3.3c-.4-.4-.8-.9-1.3-1.3l.3-1.3a20.6 20.6 0 0 0-6.1-3.5l-1 .9c-.6-.2-1.2-.3-1.8-.5L23.7.5C22.4.1 21.2 0 20 0s-2.4.1-3.5.3l-.4 1.3c-.6.1-1.2.3-1.8.5l-1-.9C11 2 9 3.2 7.2 4.7L7.5 6c-.4.4-.9.8-1.3 1.3L4.9 7a20.6 20.6 0 0 0-3.5 6.1l.9 1c-.2.6-.3 1.2-.5 1.8l-1.3.4C.1 17.6 0 18.8 0 20s.1 2.4.3 3.5l1.3.4c.1.6.3 1.2.5 1.8l-.9 1c.8 2.3 2 4.3 3.5 6.1l1.3-.3c.4.4.8.9 1.3 1.3L7 35.1c1.8 1.5 3.9 2.7 6.1 3.5l1-.9c.6.2 1.2.3 1.8.5l.4 1.3c1.1.2 2.3.3 3.5.3s2.4-.1 3.5-.3l.4-1.3c.6-.1 1.2-.3 1.8-.5l1 .9c2.3-.8 4.3-2 6.1-3.5l-.3-1.3c.4-.4.9-.8 1.3-1.3l1.3.3c1.5-1.8 2.7-3.9 3.5-6.1l-.9-1c.2-.6.3-1.2.5-1.8l1.3-.4ZM25.9 8.2c1.3.6 2.4 1.5 3.4 2.5l-3.1 6.2-2.6.9c-.6-.9-1.5-1.6-2.6-1.9v-2.8zM22 19.9c0 1.1-.9 2-2 2s-2-.9-2-2 .9-2 2-2 2 .9 2 2M20 6.8q2.1 0 3.9.6L20 11.3l-3.9-3.9q1.8-.6 3.9-.6m-5.9 1.4 4.9 4.9v2.8c-1.1.3-2 .9-2.6 1.9l-2.6-.9-3.1-6.2c1-1 2.2-1.9 3.4-2.5m-4.8 4.2 2.5 4.9-4.9 2.5c0-2.7.9-5.3 2.4-7.4m.2 15.4 5.4-.9.9 5.4c-2.5-.9-4.7-2.5-6.3-4.5m5.7-2.9L8.4 26c-.6-1.2-1.1-2.6-1.3-4.1l6.2-3.1 2.6.9v.3c0 1 .4 2 1 2.7l-1.6 2.2Zm7 8c-.7.1-1.4.2-2.1.2s-1.4 0-2.1-.2l-1.1-6.8 1.6-2.2c.5.2 1 .3 1.6.3s1.1-.1 1.6-.3l1.6 2.2zm2.1-.5.9-5.4 5.4.9c-1.6 2.1-3.7 3.7-6.3 4.5m7.4-6.4-6.8-1.1-1.6-2.2c.6-.7 1-1.7 1-2.7v-.3l2.6-.9 6.2 3.1c-.2 1.4-.7 2.8-1.3 4.1m-3.4-8.7 2.5-4.9c1.5 2.1 2.4 4.6 2.4 7.4z"/></g></g></svg> Cars </a> </li> <li> <a class="group flex flex-row items-center px-5 py-2 text-gray-300 hover:bg-gray-700 hover:text-green-400 focus:bg-gray-700 focus:text-green-400" href="https://arstechnica.com/culture/"> <svg class="mr-2 inline-block h-5 w-5 text-gray-100 group-hover:text-green-400 group-focus:text-green-400" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40"><defs><clipPath id="section-culture_svg__a"><path fill="none" d="M0 0h40v40H0z"/></clipPath><clipPath id="section-culture_svg__b"><path fill="none" d="M0 0h40v40H0z"/></clipPath></defs><g clip-path="url(#section-culture_svg__a)"><g fill="currentColor" clip-path="url(#section-culture_svg__b)"><path d="M19 32v7.1c0 .5.4 1 1 1s1-.4 1-1V32zm2-24V1c0-.6-.5-1-1-1s-1 .4-1 1v7.1h2m-8.3 22.6L9.6 36c-.3.5-.1 1 .3 1.3.5.3 1 .1 1.3-.3l3.3-5.7c-.5-.1-1-.3-1.5-.4-.1 0-.3 0-.4-.1M27.3 9.3 30.4 4c.3-.5.1-1-.3-1.3-.5-.3-1-.1-1.3.3l-3.3 5.7c.5.1 1 .2 1.5.4.1 0 .3 0 .4.1m-21.8 18L3 28.7c-.5.3-.6.8-.3 1.3s.8.6 1.3.3l3.5-2-.9-.6-.9-.6m28.7-14.3 2.6-1.5c.5-.3.6-.8.3-1.3s-.8-.6-1.3-.3l-3.5 2c.3.2.6.3 1 .5zm-9 18.5 3.3 5.7c.3.5.8.6 1.3.3s.6-.8.3-1.3l-3.1-5.3c-.1 0-.3 0-.4.1-.5.2-1 .3-1.5.4M14.6 8.7 11.3 3c-.3-.5-.8-.6-1.3-.3s-.6.8-.3 1.3l3.1 5.3c.1 0 .3 0 .4-.1.5-.2 1-.3 1.5-.4m17.9 19.6 3.5 2c.5.3 1 .1 1.3-.3.3-.5.1-1-.3-1.3l-2.6-1.5-.9.6-.9.6M7.4 11.6l-3.5-2c-.5-.3-1-.1-1.3.3-.3.5-.1 1 .3 1.3l2.6 1.5.9-.6.9-.6m25.2 2.4c-.6-.4-1.3-.7-1.9-1.1-1.3-.7-2.7-1.3-4.3-1.8-.6-.2-1.3-.4-1.9-.5-1.1-.3-2.3-.4-3.4-.5h-2c-1.2 0-2.3.2-3.4.5-.6.1-1.3.3-1.9.5-1.5.5-2.9 1.1-4.3 1.8-.7.3-1.3.7-1.9 1.1C2.9 16.7 0 20 0 20s2.9 3.3 7.5 6.1c.6.4 1.3.7 1.9 1.1 1.3.7 2.7 1.3 4.3 1.8.6.2 1.3.4 1.9.5 1.1.3 2.3.4 3.4.5h2c1.2 0 2.3-.2 3.4-.5.6-.1 1.3-.3 1.9-.5 1.5-.5 2.9-1.1 4.3-1.8.7-.3 1.3-.7 1.9-1.1C37.1 23.3 40 20 40 20s-2.9-3.3-7.5-6.1M20 28c-4.4 0-8-3.6-8-8s3.6-8 8-8 8 3.6 8 8-3.6 8-8 8"/><path d="M25 20c0 2.8-2.2 5-5 5s-5-2.2-5-5 2.2-5 5-5 5 2.2 5 5"/></g></g></svg> Culture </a> </li> <li> <a class="group flex flex-row items-center px-5 py-2 text-gray-300 hover:bg-gray-700 hover:text-green-400 focus:bg-gray-700 focus:text-green-400" href="https://arstechnica.com/gaming/"> <svg class="mr-2 inline-block h-5 w-5 text-gray-100 group-hover:text-green-400 group-focus:text-green-400" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40"><defs><clipPath id="section-gaming_svg__a"><path fill="none" d="M0 0h40v40H0z"/></clipPath><clipPath id="section-gaming_svg__b"><path fill="none" d="M0 0h40v40H0z"/></clipPath></defs><g clip-path="url(#section-gaming_svg__a)"><g fill="none" clip-path="url(#section-gaming_svg__b)"><path fill="currentColor" d="M30.7 39.7c-.7-1.1-1.7-1.8-2.5-2.8-.9-1.2 0-2 .8-3 .6-.9 1-1.9.8-3-.6-2.7-3.4-3.3-5.8-3.6-.7-.1-1.8-.2-2.3-.7s-.5-1.4-.5-2.1v-.4l15.5-3.6c2.3-.5 3.7-2.8 3.2-5.1l-2.8-12C36.6 1.1 34.3-.3 32 .2L3.3 6.8C1 7.4-.4 9.7.1 12l2.8 12c.5 2.3 2.8 3.7 5.1 3.2l11.1-2.6c0 1 .2 2.1.7 2.9 1.7 2.7 6 .8 7.6 3.3.8 1.2-.5 2.3-1.1 3.3-.6.9-.9 2-.4 3 .4 1.1 1.4 1.8 2.2 2.6 0 .1.2.2.3.3h2.4c0-.1-.1-.2-.2-.3m.7-28.7c1.3-.3 2.7.5 3 1.9.3 1.3-.5 2.7-1.9 3-1.3.3-2.7-.5-3-1.9-.3-1.3.5-2.7 1.9-3m-6-3.7c1.3-.3 2.7.5 3 1.9.3 1.3-.5 2.7-1.9 3-1.3.3-2.7-.5-3-1.9-.3-1.3.5-2.7 1.9-3m-9.9 13.2-2.7.6-1-4.1-4.1 1-.6-2.7 4.1-1-1-4.1 2.7-.6 1 4.1 4.1-1 .6 2.7-4.1 1z"/></g></g></svg> Gaming </a> </li> <li> <a class="group flex flex-row items-center px-5 py-2 text-gray-300 hover:bg-gray-700 hover:text-green-400 focus:bg-gray-700 focus:text-green-400" href="https://arstechnica.com/health/"> <svg class="mr-2 inline-block h-5 w-5 text-gray-100 group-hover:text-green-400 group-focus:text-green-400" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40"><defs><clipPath id="section-health_svg__a"><path fill="none" d="M0 0h40v40H0z"/></clipPath><clipPath id="section-health_svg__b"><path fill="none" d="M0 0h40v40H0z"/></clipPath></defs><g clip-path="url(#section-health_svg__a)"><g fill="currentColor" clip-path="url(#section-health_svg__b)"><path d="M10.4 21.6c-.4-.4-1-.4-1.4 0l-3.9 3.9c-.4.4-.4 1 0 1.4s1 .4 1.4 0l3.9-3.9c.4-.4.4-1 0-1.4"/><path d="M40 10.6c0-2.7-1-5.4-3.1-7.5C33.8 0 29.2-.8 25.4.8c-1.3.5-2.5 1.3-3.5 2.3L3.1 21.9c-4.2 4.2-4.2 10.9 0 15C5.2 39 7.9 40 10.6 40s5.4-1 7.5-3.1l18.7-18.7c2.1-2.1 3.1-4.8 3.1-7.5m-6.6-4c-.4-.4-.4-1 0-1.4s1-.4 1.4 0c3 3 3 7.8 0 10.8L26 24.8c-.4.4-1 .4-1.4 0s-.4-1 0-1.4l8.7-8.7c2.2-2.2 2.2-5.8 0-8M10.6 38.1c-2.3 0-4.5-.9-6.1-2.5-3.4-3.4-3.4-8.8 0-12.2l7.6-7.6c.6 2.1 2.3 4.9 4.8 7.4s5.2 4.2 7.4 4.8l-7.6 7.6c-1.6 1.6-3.8 2.5-6.1 2.5"/></g></g></svg> Health </a> </li> <li> <a class="group flex flex-row items-center px-5 py-2 text-gray-300 hover:bg-gray-700 hover:text-green-400 focus:bg-gray-700 focus:text-green-400" href="https://arstechnica.com/tech-policy/"> <svg class="mr-2 inline-block h-5 w-5 text-gray-100 group-hover:text-green-400 group-focus:text-green-400" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40"><defs><clipPath id="section-tech-policy_svg__a"><path fill="none" d="M0 0h40v40H0z"/></clipPath><clipPath id="section-tech-policy_svg__b"><path fill="none" d="M0 0h40v40H0z"/></clipPath></defs><g clip-path="url(#section-tech-policy_svg__a)"><path fill="currentColor" d="M12.8 0 6.4 6.4 0 12.8l4 1.4L14.2 4z"/><g clip-path="url(#section-tech-policy_svg__b)"><path fill="currentColor" d="M34.8 31.7c-4.4-10.4-6.1-23.6-6.1-23.6L15.4 5.4l-9.9 10 2.7 13.3s13.2 1.6 23.6 6.1c-.4 1.4 0 2.9 1.1 4 1.4 1.4 3.6 1.6 5.2.6L18.5 19.8c-1.6 1-3.8.8-5.2-.6-1.6-1.6-1.6-4.3 0-5.9s4.3-1.6 5.9 0c1.4 1.4 1.6 3.6.6 5.2L39.3 38c1-1.6.8-3.8-.6-5.2-1.1-1.1-2.6-1.4-4-1.1"/></g></g></svg> Policy </a> </li> <li> <a class="group flex flex-row items-center px-5 py-2 text-gray-300 hover:bg-gray-700 hover:text-green-400 focus:bg-gray-700 focus:text-green-400" href="https://arstechnica.com/science/"> <svg class="mr-2 inline-block h-5 w-5 text-gray-100 group-hover:text-green-400 group-focus:text-green-400" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40"><defs><clipPath id="section-science_svg__a"><path fill="none" d="M0 0h40v40H0z"/></clipPath><clipPath id="section-science_svg__b"><path fill="none" d="M0 0h40v40H0z"/></clipPath></defs><g clip-path="url(#section-science_svg__a)"><g fill="none" clip-path="url(#section-science_svg__b)"><path fill="currentColor" d="M39.6 34.5 28 14.6V4h1.1c.5 0 .9-.4.9-.9V.9c0-.5-.4-.9-.9-.9H10.9c-.5 0-.9.4-.9.9V3c0 .5.4.9.9.9H12v10.6L.4 34.5C-.9 37 .8 40 3.6 40h32.8c2.7 0 4.5-3 3.2-5.5M21.9 13.2c1.7 0 3 1.3 3 3s-1.3 3-3 3-3-1.3-3-3 1.3-3 3-3m-5-6c1.1 0 2 .9 2 2s-.9 2-2 2-2-.9-2-2 .9-2 2-2M4.1 36l6-10.3c.2-.3.5-.5.8-.5H13c-.1-.3-.2-.6-.2-1 0-1.7 1.3-3 3-3s3 1.3 3 3 0 .7-.2 1h4.2c0-1.1.9-2 2-2s2 .9 2 2h2.1c.3 0 .6.2.8.5l6 10.3H4.2Z"/></g></g></svg> Science </a> </li> <li> <a class="group flex flex-row items-center px-5 py-2 text-gray-300 hover:bg-gray-700 hover:text-green-400 focus:bg-gray-700 focus:text-green-400" href="https://arstechnica.com/security/"> <svg class="mr-2 inline-block h-5 w-5 text-gray-100 group-hover:text-green-400 group-focus:text-green-400" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40"><defs><clipPath id="section-security_svg__a"><path fill="none" d="M0 0h40v40H0z"/></clipPath><clipPath id="section-security_svg__b"><path fill="none" d="M0 0h40v40H0z"/></clipPath></defs><g clip-path="url(#section-security_svg__a)"><g fill="none" clip-path="url(#section-security_svg__b)"><path fill="currentColor" d="M37.7 21.1C39.7 10.4 32.8 0 20.8 0h-1.6C7.2 0 .3 10.4 2.3 21.1c.5 2.6-2.3 3.5-2.3 6.6 0 3.2 3.5 4 5.9 4.1h2.8c1.3 0 1.8.5 1.8 1.6 0 1.5.2 4.1.3 5.6 0 .2.7.4 1.9.5v-3.4c0-.4.3-.8.7-.8s.8.3.8.8v3.5c.9 0 1.8.1 2.9.1v-3.6c0-.4.3-.8.8-.8s.8.3.8.8v3.7h2.9v-3.7c0-.4.3-.8.8-.8s.8.3.8.8v3.6c1 0 2 0 2.9-.1v-3.5c0-.4.3-.8.8-.8s.8.3.8.8v3.4c1.1-.1 1.8-.3 1.9-.5.1-1.5.3-4.1.3-5.6 0-1.1.5-1.7 1.8-1.6h2.8c2.4-.1 5.9-.9 5.9-4.1 0-3.1-2.8-4-2.3-6.7m-26.7 4.7c-4 0-6.6-4-4.9-7.2 1.1-2 3.1-3.2 5.2-3.7 4.1-.9 7.6 2.9 6.7 6.6-.7 2.7-3.5 3.9-7 4.2m8.6 2.1-1 3c-.2.5-.7.8-1.1.6s-.7-.8-.5-1.3l.9-3c.2-.5.7-.8 1.1-.6s.7.8.5 1.3m2.8 3.6c-.4.2-.9 0-1.1-.6l-1-3c-.2-.5 0-1.1.5-1.3.4-.2.9 0 1.1.6l.9 3c.2.5 0 1.1-.5 1.3m6.6-5.7c-3.5-.4-6.3-1.5-7-4.2-.9-3.7 2.6-7.6 6.7-6.6 2.1.5 4.1 1.7 5.2 3.7 1.8 3.2-.9 7.2-4.9 7.2"/></g></g></svg> Security </a> </li> <li> <a class="group flex flex-row items-center px-5 py-2 text-gray-300 hover:bg-gray-700 hover:text-green-400 focus:bg-gray-700 focus:text-green-400" href="https://arstechnica.com/space/"> <svg class="mr-2 inline-block h-5 w-5 text-gray-100 group-hover:text-green-400 group-focus:text-green-400" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40"><defs><clipPath id="section-space_svg__a"><path fill="none" d="M0 0h40v40H0z"/></clipPath><clipPath id="section-space_svg__b"><path fill="none" d="M0 0h40v40H0z"/></clipPath></defs><g clip-path="url(#section-space_svg__a)"><g fill="currentColor" clip-path="url(#section-space_svg__b)"><path d="M32.9 13.1c-2.5-4.7-7.5-7.8-13.2-7.8-8.3 0-15 6.7-15 15s3.1 10.6 7.7 13.1c3.1-2.5 6.9-5.8 11-10 3.9-3.9 7-7.4 9.4-10.3M14.4 34.3c1.6.6 3.4 1 5.2 1 8.3 0 15-6.7 15-15s-.3-3.5-.9-5.2c-2.5 3-5.5 6.4-8.9 9.7-3.6 3.6-7.2 6.9-10.4 9.5"/><path d="M28.5 5.8c.6.4 1.2.8 1.7 1.2 3.5-2.7 6.1-4.2 7.6-4.8-.5 1.4-2.1 4.1-4.8 7.6-2.6 3.4-6.2 7.5-10.9 12.3s-9.6 8.9-13 11.5c-3.2 2.4-5.5 3.7-6.9 4.2.5-1.3 1.9-3.7 4.2-6.9-.4-.5-.8-1.1-1.2-1.7-4 5.4-6 9.4-4.9 10.5s5.1-.9 10.5-4.9c3.8-2.9 8.2-6.8 12.7-11.3s7.9-8.4 10.7-12c4.4-5.7 6.7-10 5.5-11.2s-5.5 1.1-11.2 5.5"/></g></g></svg> Space </a> </li> <li> <a class="group flex flex-row items-center px-5 py-2 text-gray-300 hover:bg-gray-700 hover:text-green-400 focus:bg-gray-700 focus:text-green-400" href="https://arstechnica.com/gadgets/"> <svg class="mr-2 inline-block h-5 w-5 text-gray-100 group-hover:text-green-400 group-focus:text-green-400" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40"><defs><clipPath id="section-gadgets_svg__a"><path fill="none" d="M0 0h40v40H0z"/></clipPath><clipPath id="section-gadgets_svg__b"><path fill="none" d="M0 0h40v40H0z"/></clipPath></defs><g clip-path="url(#section-gadgets_svg__a)"><g fill="currentColor" clip-path="url(#section-gadgets_svg__b)"><path d="M38 22c1.1 0 2-.9 2-2s-.9-2-2-2h-2v-6h2c1.1 0 2-.9 2-2s-.9-2-2-2h-2V4h-4V2c0-1.1-.9-2-2-2s-2 .9-2 2v2h-6V2c0-1.1-.9-2-2-2s-2 .9-2 2v2h-6V2c0-1.1-.9-2-2-2S8 .9 8 2v2H4v4H2c-1.1 0-2 .9-2 2s.9 2 2 2h2v6H2c-1.1 0-2 .9-2 2s.9 2 2 2h2v6H2c-1.1 0-2 .9-2 2s.9 2 2 2h2v4h4v2c0 1.1.9 2 2 2s2-.9 2-2v-2h6v2c0 1.1.9 2 2 2s2-.9 2-2v-2h6v2c0 1.1.9 2 2 2s2-.9 2-2v-2h4v-4h2c1.1 0 2-.9 2-2s-.9-2-2-2h-2v-6zm-6 10H8V8h24z"/><path d="M24.7 17.3 20 12h-7.1c-.6 0-1 .4-1 1s.4 1 1 1h6.3l4.1 4.7L20 22h8v-8z"/><path d="m15.2 22.7 4.7 5.3H27c.6 0 1-.4 1-1s-.4-1-1-1h-6.3l-4.1-4.7 3.3-3.3h-8v8z"/></g></g></svg> Tech </a> </li> </ul> <div class="mx-3 h-[1px] bg-gray-400"></div> <ul class="my-3 grid grid-cols-2 sm:grid-cols-1"> <li> <a class="group flex flex-row items-center px-5 py-2 text-gray-300 hover:bg-gray-700 hover:text-green-400 focus:bg-gray-700 focus:text-green-400" href="/features/"> <svg class="mr-2 inline-block h-5 w-5 text-gray-100 group-hover:text-green-400 group-focus:text-green-400" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 37.8"><defs><clipPath id="star_svg__a"><path fill="none" d="M0 0h40v37.8H0z"/></clipPath></defs><g fill="none" clip-path="url(#star_svg__a)"><path fill="currentColor" d="m20 0-6.2 12.4-13.8 2L10 24 7.6 37.8 20 31.3l12.4 6.5L30 24l10-9.6-13.8-2z"/></g></svg> Feature </a> </li> <li> <a class="group flex flex-row items-center px-5 py-2 text-gray-300 hover:bg-gray-700 hover:text-green-400 focus:bg-gray-700 focus:text-green-400" href="/reviews/"> <svg class="mr-2 inline-block h-5 w-5 text-gray-100 group-hover:text-green-400 group-focus:text-green-400" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40"><defs><clipPath id="section-reviews_svg__a"><path fill="none" d="M0 0h40v40H0z"/></clipPath><clipPath id="section-reviews_svg__b"><path fill="none" d="M0 0h40v40H0z"/></clipPath></defs><g clip-path="url(#section-reviews_svg__a)"><g fill="currentColor" clip-path="url(#section-reviews_svg__b)"><path d="M19.3 9.4V16l4.7 4.7h6.6l4.7-4.7V9.4l-4.7-4.7H24zm10.8.5c1.6 1.6 1.6 4.1 0 5.7s-4.1 1.6-5.7 0-1.6-4.1 0-5.7 4.1-1.6 5.7 0"/><path d="M31.4 22.7h-8.3l-5.9-5.9V8.5L25.9 0H12L6.9 5.1V19L0 25.9C0 33.7 6.3 40 14.1 40l6.9-6.9h13.9L40 28V14.1z"/></g></g></svg> Reviews </a> </li> <li> <a class="group flex flex-row items-center px-5 py-2 text-gray-300 hover:bg-gray-700 hover:text-green-400 focus:bg-gray-700 focus:text-green-400" href="/store/"> <svg class="mr-2 inline-block h-5 w-5 text-gray-100 group-hover:text-green-400 group-focus:text-green-400" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40"><defs><clipPath id="section-store_svg__a"><path fill="none" d="M0 0h40v40H0z"/></clipPath><clipPath id="section-store_svg__b"><path fill="none" d="M0 0h40v40H0z"/></clipPath></defs><g clip-path="url(#section-store_svg__a)"><g fill="none" clip-path="url(#section-store_svg__b)"><path fill="currentColor" d="M37.9 8.5h-9.4C28.5 3.8 24.7 0 20 0s-8.5 3.8-8.5 8.5H2.1L0 40h40zM20 2c3.6 0 6.5 2.9 6.5 6.5h-13C13.5 4.9 16.4 2 20 2m0 17c-4.7 0-8.5-3.8-8.5-8.5h2c0 3.6 2.9 6.5 6.5 6.5s6.5-2.9 6.5-6.5h2c0 4.7-3.8 8.5-8.5 8.5"/></g></g></svg> Store </a> </li> </ul> </nav> </div> </div> </div> <ul class="xxl:flex hidden gap-4 text-sm"> <li> <a class="text-gray-250 hover:text-green-400 focus:text-green-400" href="https://arstechnica.com/ai/"> AI </a> </li> <li> <a class="text-gray-250 hover:text-green-400 focus:text-green-400" href="https://arstechnica.com/information-technology/"> Biz &amp; IT </a> </li> <li> <a class="text-gray-250 hover:text-green-400 focus:text-green-400" href="https://arstechnica.com/cars/"> Cars </a> </li> <li> <a class="text-gray-250 hover:text-green-400 focus:text-green-400" href="https://arstechnica.com/culture/"> Culture </a> </li> <li> <a class="text-gray-250 hover:text-green-400 focus:text-green-400" href="https://arstechnica.com/gaming/"> Gaming </a> </li> <li> <a class="text-gray-250 hover:text-green-400 focus:text-green-400" href="https://arstechnica.com/health/"> Health </a> </li> <li> <a class="text-gray-250 hover:text-green-400 focus:text-green-400" href="https://arstechnica.com/tech-policy/"> Policy </a> </li> <li> <a class="text-gray-250 hover:text-green-400 focus:text-green-400" href="https://arstechnica.com/science/"> Science </a> </li> <li> <a class="text-gray-250 hover:text-green-400 focus:text-green-400" href="https://arstechnica.com/security/"> Security </a> </li> <li> <a class="text-gray-250 hover:text-green-400 focus:text-green-400" href="https://arstechnica.com/space/"> Space </a> </li> <li> <a class="text-gray-250 hover:text-green-400 focus:text-green-400" href="https://arstechnica.com/gadgets/"> Tech </a> </li> </ul> <a class="hidden text-green-400 sm:block xl:text-sm" href="/civis/"> Forum </a> <div class="hidden h-5 w-[1px] bg-gray-400 lg:block"></div> <a class="hidden text-orange-400 lg:block xl:text-sm" href="/store/product/subscriptions/"> Subscribe </a> <div class="h-5 w-[1px] bg-gray-400"></div> <div class=""> <div x-data="{ open: false, toggle() { if (this.open) { return this.close() } // If we're inside main header, add a data attribute to the header if (this.$el.closest('#site-header')) { this.$el.closest('#site-header').dataset.dropdownOpen = 'true'; } this.open = true }, close() { if (!this.open) { return; } // If we're inside main header, add a data attribute to the header if (this.$el.closest('#site-header')) { this.$el.closest('#site-header').dataset.dropdownOpen = 'false'; } this.open = false } }" @keydown.escape.prevent.stop="close($refs.button)" @focusin.window="! $refs.panel.contains($event.target) && close()" x-id="['dropdown-button']"> <!-- Button --> <button type="button" x-ref="button" x-on:click=" toggle(); $dispatch('dropdown-opened', { panel: $refs.panel }); " :aria-expanded="open" :aria-controls="$id('dropdown-button')" :class="{ selected: open }" class="group flex items-center group" arial-label="" aria-label="Open Theme selection dropdown"> <span class="sr-only">Theme</span> <span x-data="{ placeholder: true }"> <span class="inline-block h-5 w-5" x-show="placeholder"></span> <span x-show="darkMode" x-cloak x-init="placeholder = false"> <svg class="h-5 w-5 text-yellow-100 group-hover:text-yellow-200" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 38.4 38.4"><defs><clipPath id="theme-dark_svg__a"><path fill="none" d="M0 0h38.4v38.4H0z"/></clipPath><clipPath id="theme-dark_svg__b"><path fill="none" d="M0 0h38.4v38.4H0z"/></clipPath></defs><g clip-path="url(#theme-dark_svg__a)"><g fill="currentColor" clip-path="url(#theme-dark_svg__b)"><path d="M14.5 11.4c0-4.3 1.4-8.2 3.7-11.4C8.8 1.3 1.6 9.3 1.6 19.1s8.6 19.3 19.3 19.3 12.1-3.1 15.6-7.9c-.9.1-1.8.2-2.7.2-10.7 0-19.3-8.6-19.3-19.3m17.8-6.8v2.1c0 .8-.6 1.4-1.4 1.4s-1.4-.6-1.4-1.4V4.6c0-.8.6-1.4 1.4-1.4s1.4.6 1.4 1.4m0 6.8v2.1c0 .8-.6 1.4-1.4 1.4s-1.4-.6-1.4-1.4v-2.1c0-.8.6-1.4 1.4-1.4s1.4.6 1.4 1.4m-5.8-3.7h2.1c.8 0 1.4.6 1.4 1.4s-.6 1.4-1.4 1.4h-2.1c-.8 0-1.4-.6-1.4-1.4s.6-1.4 1.4-1.4m6.8 0h2.1c.8 0 1.4.6 1.4 1.4s-.6 1.4-1.4 1.4h-2.1c-.8 0-1.4-.6-1.4-1.4s.6-1.4 1.4-1.4"/></g></g></svg> </span> <span x-show="!darkMode" x-cloak x-init="placeholder = false"> <svg class="h-5 w-5 text-yellow-400 group-hover:text-yellow-200" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40"><defs><clipPath id="theme-light_svg__a"><path fill="none" d="M0 0h40v40H0z"/></clipPath><clipPath id="theme-light_svg__b"><path fill="none" d="M0 0h40v40H0z"/></clipPath></defs><g clip-path="url(#theme-light_svg__a)"><g fill="currentColor" clip-path="url(#theme-light_svg__b)"><path d="M30 20c0 5.5-4.5 10-10 10s-10-4.5-10-10 4.5-10 10-10 10 4.5 10 10m8.6 1.4h-2.2c-.8 0-1.4-.6-1.4-1.4s.6-1.4 1.4-1.4h2.2c.8 0 1.4.6 1.4 1.4s-.6 1.4-1.4 1.4M34.1 7.9l-1.5 1.5c-.6.6-1.5.6-2 0-.6-.6-.6-1.5 0-2l1.5-1.5c.6-.6 1.5-.6 2 0 .6.6.6 1.5 0 2M21.4 1.4v2.2c0 .8-.6 1.4-1.4 1.4s-1.4-.6-1.4-1.4V1.4c0-.8.6-1.4 1.4-1.4s1.4.6 1.4 1.4M7.9 5.9l1.5 1.5c.6.6.6 1.5 0 2-.6.6-1.5.6-2 0L5.9 7.9c-.6-.6-.6-1.5 0-2 .6-.6 1.5-.6 2 0M1.4 18.6h2.2c.8 0 1.4.6 1.4 1.4s-.6 1.4-1.4 1.4H1.4C.6 21.4 0 20.8 0 20s.6-1.4 1.4-1.4m4.5 13.5 1.5-1.5c.6-.6 1.4-.6 2 0s.6 1.5 0 2l-1.5 1.5c-.6.6-1.5.6-2 0-.6-.6-.6-1.5 0-2m12.7 6.5v-2.2c0-.8.6-1.4 1.4-1.4s1.4.6 1.4 1.4v2.2c0 .8-.6 1.4-1.4 1.4s-1.4-.6-1.4-1.4m13.5-4.5-1.5-1.5c-.6-.6-.6-1.4 0-2s1.5-.6 2 0l1.5 1.5c.6.6.6 1.5 0 2-.6.6-1.5.6-2 0"/></g></g></svg> </span> </span> </button> <!-- Panel --> <div x-cloak x-ref="panel" x-show="open" x-transition.origin.top.center x-on:click.outside="close()" :id="$id('dropdown-button')" class="absolute overflow-hidden z-50 bg-gray-550 absolute right-0 top-14 mt-[1px] min-w-[200px] rounded-sm py-3 md:top-10"> <form action="." method="post"> <nav> <ul class=""> <li> <button class=" group flex w-full flex-row items-center px-5 py-2 text-gray-300 hover:bg-gray-700 hover:text-green-400 focus:bg-gray-700 focus:text-green-400" name="theme" type="submit" value="light" aria-label="Set theme to Light"> <svg class="group-with-selected:text-green-400 mr-2 inline-block h-5 w-5 text-gray-100 group-hover:text-green-400 group-focus:text-green-400" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40"><defs><clipPath id="theme-light_svg__a"><path fill="none" d="M0 0h40v40H0z"/></clipPath><clipPath id="theme-light_svg__b"><path fill="none" d="M0 0h40v40H0z"/></clipPath></defs><g clip-path="url(#theme-light_svg__a)"><g fill="currentColor" clip-path="url(#theme-light_svg__b)"><path d="M30 20c0 5.5-4.5 10-10 10s-10-4.5-10-10 4.5-10 10-10 10 4.5 10 10m8.6 1.4h-2.2c-.8 0-1.4-.6-1.4-1.4s.6-1.4 1.4-1.4h2.2c.8 0 1.4.6 1.4 1.4s-.6 1.4-1.4 1.4M34.1 7.9l-1.5 1.5c-.6.6-1.5.6-2 0-.6-.6-.6-1.5 0-2l1.5-1.5c.6-.6 1.5-.6 2 0 .6.6.6 1.5 0 2M21.4 1.4v2.2c0 .8-.6 1.4-1.4 1.4s-1.4-.6-1.4-1.4V1.4c0-.8.6-1.4 1.4-1.4s1.4.6 1.4 1.4M7.9 5.9l1.5 1.5c.6.6.6 1.5 0 2-.6.6-1.5.6-2 0L5.9 7.9c-.6-.6-.6-1.5 0-2 .6-.6 1.5-.6 2 0M1.4 18.6h2.2c.8 0 1.4.6 1.4 1.4s-.6 1.4-1.4 1.4H1.4C.6 21.4 0 20.8 0 20s.6-1.4 1.4-1.4m4.5 13.5 1.5-1.5c.6-.6 1.4-.6 2 0s.6 1.5 0 2l-1.5 1.5c-.6.6-1.5.6-2 0-.6-.6-.6-1.5 0-2m12.7 6.5v-2.2c0-.8.6-1.4 1.4-1.4s1.4.6 1.4 1.4v2.2c0 .8-.6 1.4-1.4 1.4s-1.4-.6-1.4-1.4m13.5-4.5-1.5-1.5c-.6-.6-.6-1.4 0-2s1.5-.6 2 0l1.5 1.5c.6.6.6 1.5 0 2-.6.6-1.5.6-2 0"/></g></g></svg> Light </button> </li> <li> <button class=" group flex w-full flex-row items-center px-5 py-2 text-gray-300 hover:bg-gray-700 hover:text-green-400 focus:bg-gray-700 focus:text-green-400" name="theme" type="submit" value="dark" aria-label="Set theme to Dark"> <svg class="group-with-selected:text-green-400 mr-2 inline-block h-5 w-5 text-gray-100 group-hover:text-green-400 group-focus:text-green-400" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 38.4 38.4"><defs><clipPath id="theme-dark_svg__a"><path fill="none" d="M0 0h38.4v38.4H0z"/></clipPath><clipPath id="theme-dark_svg__b"><path fill="none" d="M0 0h38.4v38.4H0z"/></clipPath></defs><g clip-path="url(#theme-dark_svg__a)"><g fill="currentColor" clip-path="url(#theme-dark_svg__b)"><path d="M14.5 11.4c0-4.3 1.4-8.2 3.7-11.4C8.8 1.3 1.6 9.3 1.6 19.1s8.6 19.3 19.3 19.3 12.1-3.1 15.6-7.9c-.9.1-1.8.2-2.7.2-10.7 0-19.3-8.6-19.3-19.3m17.8-6.8v2.1c0 .8-.6 1.4-1.4 1.4s-1.4-.6-1.4-1.4V4.6c0-.8.6-1.4 1.4-1.4s1.4.6 1.4 1.4m0 6.8v2.1c0 .8-.6 1.4-1.4 1.4s-1.4-.6-1.4-1.4v-2.1c0-.8.6-1.4 1.4-1.4s1.4.6 1.4 1.4m-5.8-3.7h2.1c.8 0 1.4.6 1.4 1.4s-.6 1.4-1.4 1.4h-2.1c-.8 0-1.4-.6-1.4-1.4s.6-1.4 1.4-1.4m6.8 0h2.1c.8 0 1.4.6 1.4 1.4s-.6 1.4-1.4 1.4h-2.1c-.8 0-1.4-.6-1.4-1.4s.6-1.4 1.4-1.4"/></g></g></svg> Dark </button> </li> <li> <button class="selected bg-gray-700 text-green-400 group flex w-full flex-row items-center px-5 py-2 text-gray-300 hover:bg-gray-700 hover:text-green-400 focus:bg-gray-700 focus:text-green-400" name="theme" type="submit" value="system" aria-label="Set theme to System"> <svg class="group-with-selected:text-green-400 mr-2 inline-block h-5 w-5 text-gray-100 group-hover:text-green-400 group-focus:text-green-400" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40"><defs><clipPath id="theme-system_svg__a"><path fill="none" d="M0 0h40v40H0z"/></clipPath><clipPath id="theme-system_svg__b"><path fill="none" d="M0 0h40v40H0z"/></clipPath></defs><g clip-path="url(#theme-system_svg__a)"><g fill="currentColor" clip-path="url(#theme-system_svg__b)"><path d="M32 4c2.2 0 4 1.8 4 4v24c0 2.2-1.8 4-4 4H8c-2.2 0-4-1.8-4-4V8c0-2.2 1.8-4 4-4zm0-4H8C3.6 0 0 3.6 0 8v24c0 4.4 3.6 8 8 8h24c4.4 0 8-3.6 8-8V8c0-4.4-3.6-8-8-8"/><path d="M8 8h8v8H8z"/></g></g></svg> System </button> </li> </ul> </nav> </form> </div> </div> </div> <div class="hidden md:flex md:justify-center" data-modal-id="search" x-data="{ open: false, init() { this.modalId = this.$el.dataset.modalId; }, show() { console.log(this.data); this.open = true; this.$dispatch('modal-opened', { panel: this.$refs.panel, modalId: this.modalId, }); }, hide() { this.open = false }, }"> <button type="button" aria-label="Search dialog..." class="search-button flex flex-row items-center text-gray-300 hover:text-gray-100" aria-label="Open search dialog" x-on:click="show()"> <svg class="h-5 w-5" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40"><defs><clipPath id="magnify_svg__a"><path fill="none" d="M0 0h40v40H0z"/></clipPath><clipPath id="magnify_svg__b"><path fill="none" d="M0 0h40v40H0z"/></clipPath></defs><g clip-path="url(#magnify_svg__a)"><g fill="none" clip-path="url(#magnify_svg__b)"><path fill="currentColor" d="M39.2 35.4 29 25.2c4.4-6.2 3.9-15-1.7-20.6C24.2 1.6 20.1 0 16 0S7.8 1.6 4.7 4.7c-6.2 6.2-6.2 16.4 0 22.6C7.8 30.4 11.9 32 16 32s6.5-1 9.3-3l10.2 10.2c.5.5 1.2.8 1.9.8s1.4-.3 1.9-.8c1-1 1-2.7 0-3.8M8.5 23.5c-2-2-3.1-4.7-3.1-7.5s1.1-5.5 3.1-7.5 4.7-3.1 7.5-3.1 5.5 1.1 7.5 3.1c4.2 4.2 4.2 10.9 0 15.1-2 2-4.7 3.1-7.5 3.1s-5.5-1.1-7.5-3.1"/></g></g></svg> </button> <template x-teleport="body"> <div class="fixed inset-0 z-[99999] overflow-y-auto" role="dialog" aria-modal="true" x-cloak x-show="open" x-on:keydown.escape.window.prevent.stop="open = false" x-id="['modal-title']" x-ref="panel" :aria-labelledby="$id('modal-title')"> <div class="fixed inset-0 bg-slate-900/80 opacity-100 backdrop-blur" x-show="open" x-transition.duration.150ms> </div> <div class="relative flex min-h-screen items-center justify-center" x-on:click="open = false" x-show="open" x-transition.duration.150ms> <div x-on:click.stop x-trap.noscroll.inert="open"> <span class="sr-only" :id="$id('modal-title')"> Search dialog... </span> <div class="search-wrapper relative z-[99999] w-screen p-5"> <div class="gcse-search"></div> </div> </div> </div> </div> </template> </div> <div class="h-5 w-[1px] bg-gray-400"></div> <div class="flex md:justify-center" data-modal-id="sign-in" x-data="{ open: false, init() { this.modalId = this.$el.dataset.modalId; }, show() { console.log(this.data); this.open = true; this.$dispatch('modal-opened', { panel: this.$refs.panel, modalId: this.modalId, }); }, hide() { this.open = false }, }"> <button type="button" aria-label="Sign in dialog..." class="whitespace-nowrap text-gray-300 hover:text-gray-100" aria-label="Open sign in dialog" x-on:click="show()"> Sign In </button> <template x-teleport="body"> <div class="fixed inset-0 z-[99999] overflow-y-auto" role="dialog" aria-modal="true" x-cloak x-show="open" x-on:keydown.escape.window.prevent.stop="open = false" x-id="['modal-title']" x-ref="panel" :aria-labelledby="$id('modal-title')"> <div class="fixed inset-0 bg-slate-900/80 opacity-100 backdrop-blur" x-show="open" x-transition.duration.150ms> </div> <div class="relative flex min-h-screen items-center justify-center" x-on:click="open = false" x-show="open" x-transition.duration.150ms> <div x-on:click.stop x-trap.noscroll.inert="open"> <span class="sr-only" :id="$id('modal-title')"> Sign in dialog... </span> <div class="sign-in-panel absolute left-1/2 top-1/2 w-3/4 min-w-[320px] max-w-xl -translate-x-1/2 -translate-y-1/2" > <header class="font-impact flex items-center justify-between bg-gray-600 px-7 py-4 font-semibold uppercase" > <div class="text-gray-350 flex items-center gap-3"> <svg class="h-3 w-3 text-green-400" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40"><defs><clipPath id="arrow-blocks-right_svg__a"><path fill="none" d="M0 0h40v40H0z"/></clipPath></defs><g fill="currentColor" clip-path="url(#arrow-blocks-right_svg__a)"><path d="M32 16h8v8h-8zm-8 8h8v8h-8zm-8 8h8v8h-8zm8-24h8v8h-8zm-8-8h8v8h-8zM0 16h16v8H0z"/></g></svg> Sign in </div> <button class="text-gray-300 hover:text-gray-100 focus:text-gray-100" x-on:click="open = false" > <svg class="h-3 w-3" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 34.7 40"><defs><clipPath id="x_svg__a"><path fill="none" d="M0 0h34.7v40H0z"/></clipPath></defs><g fill="none" clip-path="url(#x_svg__a)"><path fill="currentColor" d="m26.4 0-8.5 16.9h-1.1L8.3 0H.8l10.1 19.4L0 40h7.6l9.2-18.3h1.1L27.1 40h7.6L23.8 19.4 33.9 0z"/></g></svg> </button> </header> <div class="sign-in-panel-body bg-gray-700 px-7 py-4"> <div class="col-span-3 normal-case text-gray-300" x-data="{ html: '', form: '', triggered: false }" x-on:modal-opened.window=" panel = $el.parentElement.parentElement.parentElement.parentElement.parentElement; if (triggered || panel !== event.detail.panel) { return; } triggered = true; html = await (await fetch('/civis/login')).text(); // Parse html for form with action=/civis/login/login parser = new DOMParser(); doc = parser.parseFromString(html, 'text/html'); form = doc.querySelector('form[action=&quot;/civis/login/login&quot;]'); // Remove autofocus and set focus to username field username = form.querySelector('input[name=&quot;login&quot;]'); username.removeAttribute('autofocus'); document.querySelector('.sign-in-form').appendChild(form); username.focus(); " > <div class="sign-in-form"></div> </div> </div> </div> </div> </div> </div> </template> </div> </div> </header> <main class="main relative -mt-4 lg:mt-6" id="main"> <div class="mx-auto mb-3 mt-7 max-w-md px-[15px] sm:max-w-3xl sm:px-5 lg:max-w-6xl xl:px-0"> <h1 class="font-impact dark:text-gray-250 mb-4 flex items-center gap-3 text-lg font-semibold uppercase text-gray-400 sm:text-2xl lg:text-3xl"> <svg class="h-6 w-6 text-green-400 sm:h-10 sm:w-10" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40"><defs><clipPath id="section-security_svg__a"><path fill="none" d="M0 0h40v40H0z"/></clipPath><clipPath id="section-security_svg__b"><path fill="none" d="M0 0h40v40H0z"/></clipPath></defs><g clip-path="url(#section-security_svg__a)"><g fill="none" clip-path="url(#section-security_svg__b)"><path fill="currentColor" d="M37.7 21.1C39.7 10.4 32.8 0 20.8 0h-1.6C7.2 0 .3 10.4 2.3 21.1c.5 2.6-2.3 3.5-2.3 6.6 0 3.2 3.5 4 5.9 4.1h2.8c1.3 0 1.8.5 1.8 1.6 0 1.5.2 4.1.3 5.6 0 .2.7.4 1.9.5v-3.4c0-.4.3-.8.7-.8s.8.3.8.8v3.5c.9 0 1.8.1 2.9.1v-3.6c0-.4.3-.8.8-.8s.8.3.8.8v3.7h2.9v-3.7c0-.4.3-.8.8-.8s.8.3.8.8v3.6c1 0 2 0 2.9-.1v-3.5c0-.4.3-.8.8-.8s.8.3.8.8v3.4c1.1-.1 1.8-.3 1.9-.5.1-1.5.3-4.1.3-5.6 0-1.1.5-1.7 1.8-1.6h2.8c2.4-.1 5.9-.9 5.9-4.1 0-3.1-2.8-4-2.3-6.7m-26.7 4.7c-4 0-6.6-4-4.9-7.2 1.1-2 3.1-3.2 5.2-3.7 4.1-.9 7.6 2.9 6.7 6.6-.7 2.7-3.5 3.9-7 4.2m8.6 2.1-1 3c-.2.5-.7.8-1.1.6s-.7-.8-.5-1.3l.9-3c.2-.5.7-.8 1.1-.6s.7.8.5 1.3m2.8 3.6c-.4.2-.9 0-1.1-.6l-1-3c-.2-.5 0-1.1.5-1.3.4-.2.9 0 1.1.6l.9 3c.2.5 0 1.1-.5 1.3m6.6-5.7c-3.5-.4-6.3-1.5-7-4.2-.9-3.7 2.6-7.6 6.7-6.6 2.1.5 4.1 1.7 5.2 3.7 1.8 3.2-.9 7.2-4.9 7.2"/></g></g></svg> <span>Security</span> </h1> </div> <div class="mx-auto my-5 px-[15px] sm:px-5 sm:px-5 lg:grid lg:max-w-6xl lg:grid-cols-3 lg:gap-8 xl:px-0"> <div class="grid grid-cols-1 gap-5 lg:col-span-2"> <article id="card-2063979" data-id="2063979" class="relative group card-list-square post-2063979 post type-post status-publish format-standard has-post-thumbnail hentry category-information-technology category-security tag-bootkit tag-malware tag-uefi"> <div class="overflow-hidden rounded-sm"> <div class="flex flex-nowrap items-start"> <a class="relative block aspect-square h-auto w-16 overflow-hidden rounded-sm md:w-24" href="https://arstechnica.com/security/2024/11/found-in-the-wild-the-worlds-first-unkillable-uefi-bootkit-for-linux/"><img width="150" height="150" src="https://cdn.arstechnica.net/wp-content/uploads/2022/07/chip-based-rootkit-150x150.jpeg" class="group-hover:saturate-150 object-cover h-auto min-w-full min-h-full absolute wp-post-image" alt="" loading="lazy" decoding="async" srcset="https://cdn.arstechnica.net/wp-content/uploads/2022/07/chip-based-rootkit-150x150.jpeg 150w, https://cdn.arstechnica.net/wp-content/uploads/2022/07/chip-based-rootkit-500x500.jpeg 500w" sizes="auto, (max-width: 150px) 100vw, 150px" /></a> <div class="flex flex-1 flex-col justify-between pl-3 sm:pl-5"> <div> <h2 class="-mt-1 font-serif text-xl font-bold leading-none md:text-2xl md:leading-none"> <a class="text-gray-700 visited:text-gray-300 hover:text-orange-400 dark:text-gray-100 dark:visited:text-gray-400 dark:hover:text-orange-400" href="https://arstechnica.com/security/2024/11/found-in-the-wild-the-worlds-first-unkillable-uefi-bootkit-for-linux/">Found in the wild: The world’s first unkillable UEFI bootkit for Linux</a> </h2> <p class="leading-tighter dark:text-gray-250 my-1 text-base text-gray-400"> "Bootkitty" is likely a proof-of-concept, but may portend working UEFI malware for Linux. </p> <div class="font-impact text-xs font-semibold uppercase text-gray-300"><span>Dan Goodin</span> – <span class="whitespace-nowrap"> <time class="mr-[2px] inline-block cursor-default" title="2024-11-27T14:21:05-05:00" datetime="2024-11-27T14:21:05-05:00" x-data="{ compact: true, open: false, date: new Date('2024-11-27T14:21:05-05:00'), updatedTimestamp: false, format: function() { let dateFormat = { year: 'numeric', month: 'short', day: 'numeric' }; let timeFormat = { hour: 'numeric', minute: 'numeric' }; let formatted = this.date.toLocaleDateString(undefined, dateFormat) + ' ' + this.date.toLocaleTimeString(undefined, timeFormat); if (this.compact) { if (this.date.toDateString() === new Date().toDateString()) { formatted = this.date.toLocaleTimeString(undefined, timeFormat); if (this.updatedTimestamp) { formatted = 'at ' + formatted; } } else { formatted = this.date.toLocaleDateString(undefined, { year: 'numeric', month: 'numeric', day: 'numeric' }); } } if (this.updatedTimestamp) { formatted = 'Updated ' + formatted; } return formatted; } }" x-text="format()"> 11/27/2024 </time> <span class="text-gray-550">|</span> <a class="view-comments text-gray-300 hover:text-gray-500" href="https://arstechnica.com/security/2024/11/found-in-the-wild-the-worlds-first-unkillable-uefi-bootkit-for-linux/#comments" title="32 comments"> <svg class="-mt-1 ml-1 mr-[2px] inline-block h-4 w-4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80"><defs><clipPath id="bubble-zero_svg__a"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath><clipPath id="bubble-zero_svg__b"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath></defs><g clip-path="url(#bubble-zero_svg__a)"><g fill="currentColor" clip-path="url(#bubble-zero_svg__b)"><path d="M80 40c0 22.09-17.91 40-40 40S0 62.09 0 40 17.91 0 40 0s40 17.91 40 40"/><path d="M40 40 .59 76.58C-.67 77.84.22 80 2.01 80H40z"/></g></g></svg> 32 </a> </span></div> </div> </div> </div> </div> </article> <article id="card-2063515" data-id="2063515" class="relative group card-list-square post-2063515 post type-post status-publish format-standard has-post-thumbnail hentry category-information-technology category-security tag-advanced-persistent-threats tag-hacking tag-tradecraft"> <div class="overflow-hidden rounded-sm"> <div class="flex flex-nowrap items-start"> <a class="relative block aspect-square h-auto w-16 overflow-hidden rounded-sm md:w-24" href="https://arstechnica.com/security/2024/11/spies-hack-wi-fi-networks-in-far-off-land-to-launch-attack-on-target-next-door/"><img width="150" height="150" src="https://cdn.arstechnica.net/wp-content/uploads/2024/01/russia-state-hacking-150x150.jpg" class="group-hover:saturate-150 object-cover h-auto min-w-full min-h-full absolute wp-post-image" alt="" loading="lazy" decoding="async" srcset="https://cdn.arstechnica.net/wp-content/uploads/2024/01/russia-state-hacking-150x150.jpg 150w, https://cdn.arstechnica.net/wp-content/uploads/2024/01/russia-state-hacking-500x500.jpg 500w" sizes="auto, (max-width: 150px) 100vw, 150px" /></a> <div class="flex flex-1 flex-col justify-between pl-3 sm:pl-5"> <div> <h2 class="-mt-1 font-serif text-xl font-bold leading-none md:text-2xl md:leading-none"> <a class="text-gray-700 visited:text-gray-300 hover:text-orange-400 dark:text-gray-100 dark:visited:text-gray-400 dark:hover:text-orange-400" href="https://arstechnica.com/security/2024/11/spies-hack-wi-fi-networks-in-far-off-land-to-launch-attack-on-target-next-door/">Spies hack Wi-Fi networks in far-off land to launch attack on target next door</a> </h2> <p class="leading-tighter dark:text-gray-250 my-1 text-base text-gray-400"> “Nearest Neighbor Attack” finally lets Russia’s Fancy Bear into target’s Wi-Fi network. </p> <div class="font-impact text-xs font-semibold uppercase text-gray-300"><span>Dan Goodin</span> – <span class="whitespace-nowrap"> <time class="mr-[2px] inline-block cursor-default" title="2024-11-22T21:03:27-05:00" datetime="2024-11-22T21:03:27-05:00" x-data="{ compact: true, open: false, date: new Date('2024-11-22T21:03:27-05:00'), updatedTimestamp: false, format: function() { let dateFormat = { year: 'numeric', month: 'short', day: 'numeric' }; let timeFormat = { hour: 'numeric', minute: 'numeric' }; let formatted = this.date.toLocaleDateString(undefined, dateFormat) + ' ' + this.date.toLocaleTimeString(undefined, timeFormat); if (this.compact) { if (this.date.toDateString() === new Date().toDateString()) { formatted = this.date.toLocaleTimeString(undefined, timeFormat); if (this.updatedTimestamp) { formatted = 'at ' + formatted; } } else { formatted = this.date.toLocaleDateString(undefined, { year: 'numeric', month: 'numeric', day: 'numeric' }); } } if (this.updatedTimestamp) { formatted = 'Updated ' + formatted; } return formatted; } }" x-text="format()"> 11/22/2024 </time> <span class="text-gray-550">|</span> <a class="view-comments text-gray-300 hover:text-gray-500" href="https://arstechnica.com/security/2024/11/spies-hack-wi-fi-networks-in-far-off-land-to-launch-attack-on-target-next-door/#comments" title="55 comments"> <svg class="-mt-1 ml-1 mr-[2px] inline-block h-4 w-4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80"><defs><clipPath id="bubble-zero_svg__a"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath><clipPath id="bubble-zero_svg__b"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath></defs><g clip-path="url(#bubble-zero_svg__a)"><g fill="currentColor" clip-path="url(#bubble-zero_svg__b)"><path d="M80 40c0 22.09-17.91 40-40 40S0 62.09 0 40 17.91 0 40 0s40 17.91 40 40"/><path d="M40 40 .59 76.58C-.67 77.84.22 80 2.01 80H40z"/></g></g></svg> 55 </a> </span></div> </div> </div> </div> </div> </article> <article id="card-2063311" data-id="2063311" class="relative group card-list-square post-2063311 post type-post status-publish format-standard has-post-thumbnail hentry category-security tag-china tag-cybersecurity tag-fancy-bear tag-hacking tag-microsoft-3 tag-russia tag-syndication"> <div class="overflow-hidden rounded-sm"> <div class="flex flex-nowrap items-start"> <a class="relative block aspect-square h-auto w-16 overflow-hidden rounded-sm md:w-24" href="https://arstechnica.com/security/2024/11/microsoft-president-asks-trump-to-push-harder-against-russian-hacks/"><img width="150" height="150" src="https://cdn.arstechnica.net/wp-content/uploads/2024/06/GettyImages-2156786701-150x150.jpg" class="group-hover:saturate-150 object-cover h-auto min-w-full min-h-full absolute wp-post-image" alt="" loading="lazy" decoding="async" srcset="https://cdn.arstechnica.net/wp-content/uploads/2024/06/GettyImages-2156786701-150x150.jpg 150w, https://cdn.arstechnica.net/wp-content/uploads/2024/06/GettyImages-2156786701-500x500.jpg 500w" sizes="auto, (max-width: 150px) 100vw, 150px" /></a> <div class="flex flex-1 flex-col justify-between pl-3 sm:pl-5"> <div> <h2 class="-mt-1 font-serif text-xl font-bold leading-none md:text-2xl md:leading-none"> <a class="text-gray-700 visited:text-gray-300 hover:text-orange-400 dark:text-gray-100 dark:visited:text-gray-400 dark:hover:text-orange-400" href="https://arstechnica.com/security/2024/11/microsoft-president-asks-trump-to-push-harder-against-russian-hacks/">Microsoft president asks Trump to “push harder” against Russian hacks</a> </h2> <p class="leading-tighter dark:text-gray-250 my-1 text-base text-gray-400"> Brad Smith wants US to take a tougher approach to state-sponsored cyberattacks. </p> <div class="font-impact text-xs font-semibold uppercase text-gray-300"><span>Financial Times</span> – <span class="whitespace-nowrap"> <time class="mr-[2px] inline-block cursor-default" title="2024-11-22T09:17:19-05:00" datetime="2024-11-22T09:17:19-05:00" x-data="{ compact: true, open: false, date: new Date('2024-11-22T09:17:19-05:00'), updatedTimestamp: false, format: function() { let dateFormat = { year: 'numeric', month: 'short', day: 'numeric' }; let timeFormat = { hour: 'numeric', minute: 'numeric' }; let formatted = this.date.toLocaleDateString(undefined, dateFormat) + ' ' + this.date.toLocaleTimeString(undefined, timeFormat); if (this.compact) { if (this.date.toDateString() === new Date().toDateString()) { formatted = this.date.toLocaleTimeString(undefined, timeFormat); if (this.updatedTimestamp) { formatted = 'at ' + formatted; } } else { formatted = this.date.toLocaleDateString(undefined, { year: 'numeric', month: 'numeric', day: 'numeric' }); } } if (this.updatedTimestamp) { formatted = 'Updated ' + formatted; } return formatted; } }" x-text="format()"> 11/22/2024 </time> <span class="text-gray-550">|</span> <a class="view-comments text-gray-300 hover:text-gray-500" href="https://arstechnica.com/security/2024/11/microsoft-president-asks-trump-to-push-harder-against-russian-hacks/#comments" title="126 comments"> <svg class="-mt-1 ml-1 mr-[2px] inline-block h-4 w-4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80"><defs><clipPath id="bubble-zero_svg__a"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath><clipPath id="bubble-zero_svg__b"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath></defs><g clip-path="url(#bubble-zero_svg__a)"><g fill="currentColor" clip-path="url(#bubble-zero_svg__b)"><path d="M80 40c0 22.09-17.91 40-40 40S0 62.09 0 40 17.91 0 40 0s40 17.91 40 40"/><path d="M40 40 .59 76.58C-.67 77.84.22 80 2.01 80H40z"/></g></g></svg> 126 </a> </span></div> </div> </div> </div> </div> </article> <article id="card-2063034" data-id="2063034" class="relative group card-list-square post-2063034 post type-post status-publish format-standard has-post-thumbnail hentry category-information-technology category-security tag-courts tag-department-of-justice tag-phishing"> <div class="overflow-hidden rounded-sm"> <div class="flex flex-nowrap items-start"> <a class="relative block aspect-square h-auto w-16 overflow-hidden rounded-sm md:w-24" href="https://arstechnica.com/information-technology/2024/11/prosecutors-charge-5-in-phishing-scams-that-stole-millions-of-dollars/"><img width="150" height="150" src="https://cdn.arstechnica.net/wp-content/uploads/2022/03/phishing-150x150.jpeg" class="group-hover:saturate-150 object-cover h-auto min-w-full min-h-full absolute wp-post-image" alt="" loading="lazy" decoding="async" srcset="https://cdn.arstechnica.net/wp-content/uploads/2022/03/phishing-150x150.jpeg 150w, https://cdn.arstechnica.net/wp-content/uploads/2022/03/phishing-500x500.jpeg 500w" sizes="auto, (max-width: 150px) 100vw, 150px" /></a> <div class="flex flex-1 flex-col justify-between pl-3 sm:pl-5"> <div> <h2 class="-mt-1 font-serif text-xl font-bold leading-none md:text-2xl md:leading-none"> <a class="text-gray-700 visited:text-gray-300 hover:text-orange-400 dark:text-gray-100 dark:visited:text-gray-400 dark:hover:text-orange-400" href="https://arstechnica.com/information-technology/2024/11/prosecutors-charge-5-in-phishing-scams-that-stole-millions-of-dollars/">5 charged in “Scattered Spider,” one of the most profitable phishing scams ever</a> </h2> <p class="leading-tighter dark:text-gray-250 my-1 text-base text-gray-400"> Phishing attacks were so well-orchestrated that they fooled some of the best in the business. </p> <div class="font-impact text-xs font-semibold uppercase text-gray-300"><span>Dan Goodin</span> – <span class="whitespace-nowrap"> <time class="mr-[2px] inline-block cursor-default" title="2024-11-21T08:00:21-05:00" datetime="2024-11-21T08:00:21-05:00" x-data="{ compact: true, open: false, date: new Date('2024-11-21T08:00:21-05:00'), updatedTimestamp: false, format: function() { let dateFormat = { year: 'numeric', month: 'short', day: 'numeric' }; let timeFormat = { hour: 'numeric', minute: 'numeric' }; let formatted = this.date.toLocaleDateString(undefined, dateFormat) + ' ' + this.date.toLocaleTimeString(undefined, timeFormat); if (this.compact) { if (this.date.toDateString() === new Date().toDateString()) { formatted = this.date.toLocaleTimeString(undefined, timeFormat); if (this.updatedTimestamp) { formatted = 'at ' + formatted; } } else { formatted = this.date.toLocaleDateString(undefined, { year: 'numeric', month: 'numeric', day: 'numeric' }); } } if (this.updatedTimestamp) { formatted = 'Updated ' + formatted; } return formatted; } }" x-text="format()"> 11/21/2024 </time> <span class="text-gray-550">|</span> <a class="view-comments text-gray-300 hover:text-gray-500" href="https://arstechnica.com/information-technology/2024/11/prosecutors-charge-5-in-phishing-scams-that-stole-millions-of-dollars/#comments" title="62 comments"> <svg class="-mt-1 ml-1 mr-[2px] inline-block h-4 w-4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80"><defs><clipPath id="bubble-zero_svg__a"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath><clipPath id="bubble-zero_svg__b"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath></defs><g clip-path="url(#bubble-zero_svg__a)"><g fill="currentColor" clip-path="url(#bubble-zero_svg__b)"><path d="M80 40c0 22.09-17.91 40-40 40S0 62.09 0 40 17.91 0 40 0s40 17.91 40 40"/><path d="M40 40 .59 76.58C-.67 77.84.22 80 2.01 80H40z"/></g></g></svg> 62 </a> </span></div> </div> </div> </div> </div> </article> <div class="h-[1px] bg-gray-300 dark:bg-gray-700"></div> <div class="ars-interlude-container mx-auto max-w-xl"> </div> <div class="h-[1px] bg-gray-300 dark:bg-gray-700"></div> <article id="card-2061080" data-id="2061080" class="relative group card-list-square post-2061080 post type-post status-publish format-standard has-post-thumbnail hentry category-information-technology category-security tag-cybercrime tag-interpol tag-police"> <div class="overflow-hidden rounded-sm"> <div class="flex flex-nowrap items-start"> <a class="relative block aspect-square h-auto w-16 overflow-hidden rounded-sm md:w-24" href="https://arstechnica.com/information-technology/2024/11/law-enforcement-operation-takes-down-22000-malicious-ip-addresses-worldwide/"><img width="150" height="150" src="https://cdn.arstechnica.net/wp-content/uploads/2024/02/police-150x150.jpg" class="group-hover:saturate-150 object-cover h-auto min-w-full min-h-full absolute wp-post-image" alt="" loading="lazy" decoding="async" srcset="https://cdn.arstechnica.net/wp-content/uploads/2024/02/police-150x150.jpg 150w, https://cdn.arstechnica.net/wp-content/uploads/2024/02/police-500x500.jpg 500w" sizes="auto, (max-width: 150px) 100vw, 150px" /></a> <div class="flex flex-1 flex-col justify-between pl-3 sm:pl-5"> <div> <h2 class="-mt-1 font-serif text-xl font-bold leading-none md:text-2xl md:leading-none"> <a class="text-gray-700 visited:text-gray-300 hover:text-orange-400 dark:text-gray-100 dark:visited:text-gray-400 dark:hover:text-orange-400" href="https://arstechnica.com/information-technology/2024/11/law-enforcement-operation-takes-down-22000-malicious-ip-addresses-worldwide/">Law enforcement operation takes down 22,000 malicious IP addresses worldwide</a> </h2> <p class="leading-tighter dark:text-gray-250 my-1 text-base text-gray-400"> Operation Synergia II took aim at phishing, ransomware, and information stealing. </p> <div class="font-impact text-xs font-semibold uppercase text-gray-300"><span>Dan Goodin</span> – <span class="whitespace-nowrap"> <time class="mr-[2px] inline-block cursor-default" title="2024-11-07T18:12:23-05:00" datetime="2024-11-07T18:12:23-05:00" x-data="{ compact: true, open: false, date: new Date('2024-11-07T18:12:23-05:00'), updatedTimestamp: false, format: function() { let dateFormat = { year: 'numeric', month: 'short', day: 'numeric' }; let timeFormat = { hour: 'numeric', minute: 'numeric' }; let formatted = this.date.toLocaleDateString(undefined, dateFormat) + ' ' + this.date.toLocaleTimeString(undefined, timeFormat); if (this.compact) { if (this.date.toDateString() === new Date().toDateString()) { formatted = this.date.toLocaleTimeString(undefined, timeFormat); if (this.updatedTimestamp) { formatted = 'at ' + formatted; } } else { formatted = this.date.toLocaleDateString(undefined, { year: 'numeric', month: 'numeric', day: 'numeric' }); } } if (this.updatedTimestamp) { formatted = 'Updated ' + formatted; } return formatted; } }" x-text="format()"> 11/7/2024 </time> <span class="text-gray-550">|</span> <a class="view-comments text-gray-300 hover:text-gray-500" href="https://arstechnica.com/information-technology/2024/11/law-enforcement-operation-takes-down-22000-malicious-ip-addresses-worldwide/#comments" title="24 comments"> <svg class="-mt-1 ml-1 mr-[2px] inline-block h-4 w-4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80"><defs><clipPath id="bubble-zero_svg__a"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath><clipPath id="bubble-zero_svg__b"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath></defs><g clip-path="url(#bubble-zero_svg__a)"><g fill="currentColor" clip-path="url(#bubble-zero_svg__b)"><path d="M80 40c0 22.09-17.91 40-40 40S0 62.09 0 40 17.91 0 40 0s40 17.91 40 40"/><path d="M40 40 .59 76.58C-.67 77.84.22 80 2.01 80H40z"/></g></g></svg> 24 </a> </span></div> </div> </div> </div> </div> </article> <article id="card-2060551" data-id="2060551" class="relative group card-list-square post-2060551 post type-post status-publish format-standard has-post-thumbnail hentry category-information-technology category-security tag-data-breaches tag-infostealers"> <div class="overflow-hidden rounded-sm"> <div class="flex flex-nowrap items-start"> <a class="relative block aspect-square h-auto w-16 overflow-hidden rounded-sm md:w-24" href="https://arstechnica.com/security/2024/11/suspect-arrested-in-snowflake-data-theft-attacks-affecting-millions/"><img width="150" height="150" src="https://cdn.arstechnica.net/wp-content/uploads/2021/07/data-breach-150x150.jpeg" class="group-hover:saturate-150 object-cover h-auto min-w-full min-h-full absolute wp-post-image" alt="A cartoon man runs across a white field of ones and zeroes." loading="lazy" decoding="async" srcset="https://cdn.arstechnica.net/wp-content/uploads/2021/07/data-breach-150x150.jpeg 150w, https://cdn.arstechnica.net/wp-content/uploads/2021/07/data-breach-500x500.jpeg 500w" sizes="auto, (max-width: 150px) 100vw, 150px" /></a> <div class="flex flex-1 flex-col justify-between pl-3 sm:pl-5"> <div> <h2 class="-mt-1 font-serif text-xl font-bold leading-none md:text-2xl md:leading-none"> <a class="text-gray-700 visited:text-gray-300 hover:text-orange-400 dark:text-gray-100 dark:visited:text-gray-400 dark:hover:text-orange-400" href="https://arstechnica.com/security/2024/11/suspect-arrested-in-snowflake-data-theft-attacks-affecting-millions/">Suspect arrested in Snowflake data-theft attacks affecting millions</a> </h2> <p class="leading-tighter dark:text-gray-250 my-1 text-base text-gray-400"> Threat actor exploited account credentials swept up by infostealers years earlier. </p> <div class="font-impact text-xs font-semibold uppercase text-gray-300"><span>Dan Goodin</span> – <span class="whitespace-nowrap"> <time class="mr-[2px] inline-block cursor-default" title="2024-11-05T17:03:42-05:00" datetime="2024-11-05T17:03:42-05:00" x-data="{ compact: true, open: false, date: new Date('2024-11-05T17:03:42-05:00'), updatedTimestamp: false, format: function() { let dateFormat = { year: 'numeric', month: 'short', day: 'numeric' }; let timeFormat = { hour: 'numeric', minute: 'numeric' }; let formatted = this.date.toLocaleDateString(undefined, dateFormat) + ' ' + this.date.toLocaleTimeString(undefined, timeFormat); if (this.compact) { if (this.date.toDateString() === new Date().toDateString()) { formatted = this.date.toLocaleTimeString(undefined, timeFormat); if (this.updatedTimestamp) { formatted = 'at ' + formatted; } } else { formatted = this.date.toLocaleDateString(undefined, { year: 'numeric', month: 'numeric', day: 'numeric' }); } } if (this.updatedTimestamp) { formatted = 'Updated ' + formatted; } return formatted; } }" x-text="format()"> 11/5/2024 </time> <span class="text-gray-550">|</span> <a class="view-comments text-gray-300 hover:text-gray-500" href="https://arstechnica.com/security/2024/11/suspect-arrested-in-snowflake-data-theft-attacks-affecting-millions/#comments" title="11 comments"> <svg class="-mt-1 ml-1 mr-[2px] inline-block h-4 w-4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80"><defs><clipPath id="bubble-zero_svg__a"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath><clipPath id="bubble-zero_svg__b"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath></defs><g clip-path="url(#bubble-zero_svg__a)"><g fill="currentColor" clip-path="url(#bubble-zero_svg__b)"><path d="M80 40c0 22.09-17.91 40-40 40S0 62.09 0 40 17.91 0 40 0s40 17.91 40 40"/><path d="M40 40 .59 76.58C-.67 77.84.22 80 2.01 80H40z"/></g></g></svg> 11 </a> </span></div> </div> </div> </div> </div> </article> <article id="card-2060350" data-id="2060350" class="relative group card-list-square post-2060350 post type-post status-publish format-standard has-post-thumbnail hentry category-security tag-code-libraries tag-malware tag-typosquatting"> <div class="overflow-hidden rounded-sm"> <div class="flex flex-nowrap items-start"> <a class="relative block aspect-square h-auto w-16 overflow-hidden rounded-sm md:w-24" href="https://arstechnica.com/security/2024/11/javascript-developers-targeted-by-hundreds-of-malicious-code-libraries/"><img width="150" height="150" src="https://cdn.arstechnica.net/wp-content/uploads/2023/07/exploit-vulnerability-security-1-150x150.jpg" class="group-hover:saturate-150 object-cover h-auto min-w-full min-h-full absolute wp-post-image" alt="" loading="lazy" decoding="async" srcset="https://cdn.arstechnica.net/wp-content/uploads/2023/07/exploit-vulnerability-security-1-150x150.jpg 150w, https://cdn.arstechnica.net/wp-content/uploads/2023/07/exploit-vulnerability-security-1-500x500.jpg 500w" sizes="auto, (max-width: 150px) 100vw, 150px" /></a> <div class="flex flex-1 flex-col justify-between pl-3 sm:pl-5"> <div> <h2 class="-mt-1 font-serif text-xl font-bold leading-none md:text-2xl md:leading-none"> <a class="text-gray-700 visited:text-gray-300 hover:text-orange-400 dark:text-gray-100 dark:visited:text-gray-400 dark:hover:text-orange-400" href="https://arstechnica.com/security/2024/11/javascript-developers-targeted-by-hundreds-of-malicious-code-libraries/">Hundreds of code libraries posted to NPM try to install malware on dev machines</a> </h2> <p class="leading-tighter dark:text-gray-250 my-1 text-base text-gray-400"> These are not the the developer tools you think they are. </p> <div class="font-impact text-xs font-semibold uppercase text-gray-300"><span>Dan Goodin</span> – <span class="whitespace-nowrap"> <time class="mr-[2px] inline-block cursor-default" title="2024-11-04T18:28:49-05:00" datetime="2024-11-04T18:28:49-05:00" x-data="{ compact: true, open: false, date: new Date('2024-11-04T18:28:49-05:00'), updatedTimestamp: false, format: function() { let dateFormat = { year: 'numeric', month: 'short', day: 'numeric' }; let timeFormat = { hour: 'numeric', minute: 'numeric' }; let formatted = this.date.toLocaleDateString(undefined, dateFormat) + ' ' + this.date.toLocaleTimeString(undefined, timeFormat); if (this.compact) { if (this.date.toDateString() === new Date().toDateString()) { formatted = this.date.toLocaleTimeString(undefined, timeFormat); if (this.updatedTimestamp) { formatted = 'at ' + formatted; } } else { formatted = this.date.toLocaleDateString(undefined, { year: 'numeric', month: 'numeric', day: 'numeric' }); } } if (this.updatedTimestamp) { formatted = 'Updated ' + formatted; } return formatted; } }" x-text="format()"> 11/4/2024 </time> <span class="text-gray-550">|</span> <a class="view-comments text-gray-300 hover:text-gray-500" href="https://arstechnica.com/security/2024/11/javascript-developers-targeted-by-hundreds-of-malicious-code-libraries/#comments" title="63 comments"> <svg class="-mt-1 ml-1 mr-[2px] inline-block h-4 w-4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80"><defs><clipPath id="bubble-zero_svg__a"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath><clipPath id="bubble-zero_svg__b"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath></defs><g clip-path="url(#bubble-zero_svg__a)"><g fill="currentColor" clip-path="url(#bubble-zero_svg__b)"><path d="M80 40c0 22.09-17.91 40-40 40S0 62.09 0 40 17.91 0 40 0s40 17.91 40 40"/><path d="M40 40 .59 76.58C-.67 77.84.22 80 2.01 80H40z"/></g></g></svg> 63 </a> </span></div> </div> </div> </div> </div> </article> <article id="card-2059983" data-id="2059983" class="relative group card-list-square post-2059983 post type-post status-publish format-standard has-post-thumbnail hentry category-health category-security tag-2024-election tag-anxieities tag-anxiety tag-mental-health tag-syndication"> <div class="overflow-hidden rounded-sm"> <div class="flex flex-nowrap items-start"> <a class="relative block aspect-square h-auto w-16 overflow-hidden rounded-sm md:w-24" href="https://arstechnica.com/security/2024/11/here-are-3-science-backed-strategies-to-rein-in-election-anxiety/"><img width="300" height="217" src="https://cdn.arstechnica.net/wp-content/uploads/2024/11/GettyImages-1488366966.jpg" class="group-hover:saturate-150 object-cover h-auto min-w-full min-h-full absolute wp-post-image" alt="Two men both checking their smartphones as they sit together on the sofa at home." loading="lazy" decoding="async" srcset="https://cdn.arstechnica.net/wp-content/uploads/2024/11/GettyImages-1488366966.jpg 8307w, https://cdn.arstechnica.net/wp-content/uploads/2024/11/GettyImages-1488366966-300x217.jpg 300w, https://cdn.arstechnica.net/wp-content/uploads/2024/11/GettyImages-1488366966-640x464.jpg 640w, https://cdn.arstechnica.net/wp-content/uploads/2024/11/GettyImages-1488366966-768x556.jpg 768w, https://cdn.arstechnica.net/wp-content/uploads/2024/11/GettyImages-1488366966-980x710.jpg 980w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a> <div class="flex flex-1 flex-col justify-between pl-3 sm:pl-5"> <div> <h2 class="-mt-1 font-serif text-xl font-bold leading-none md:text-2xl md:leading-none"> <a class="text-gray-700 visited:text-gray-300 hover:text-orange-400 dark:text-gray-100 dark:visited:text-gray-400 dark:hover:text-orange-400" href="https://arstechnica.com/security/2024/11/here-are-3-science-backed-strategies-to-rein-in-election-anxiety/">Here are 3 science-backed strategies to rein in election anxiety</a> </h2> <p class="leading-tighter dark:text-gray-250 my-1 text-base text-gray-400"> A clinical psychologist offers guidance on how to deal with ramping stress. </p> <div class="font-impact text-xs font-semibold uppercase text-gray-300"><span>The Conversation</span> – <span class="whitespace-nowrap"> <time class="mr-[2px] inline-block cursor-default" title="2024-11-03T07:05:38-05:00" datetime="2024-11-03T07:05:38-05:00" x-data="{ compact: true, open: false, date: new Date('2024-11-03T07:05:38-05:00'), updatedTimestamp: false, format: function() { let dateFormat = { year: 'numeric', month: 'short', day: 'numeric' }; let timeFormat = { hour: 'numeric', minute: 'numeric' }; let formatted = this.date.toLocaleDateString(undefined, dateFormat) + ' ' + this.date.toLocaleTimeString(undefined, timeFormat); if (this.compact) { if (this.date.toDateString() === new Date().toDateString()) { formatted = this.date.toLocaleTimeString(undefined, timeFormat); if (this.updatedTimestamp) { formatted = 'at ' + formatted; } } else { formatted = this.date.toLocaleDateString(undefined, { year: 'numeric', month: 'numeric', day: 'numeric' }); } } if (this.updatedTimestamp) { formatted = 'Updated ' + formatted; } return formatted; } }" x-text="format()"> 11/3/2024 </time> <span class="text-gray-550">|</span> <a class="view-comments text-gray-300 hover:text-gray-500" href="https://arstechnica.com/security/2024/11/here-are-3-science-backed-strategies-to-rein-in-election-anxiety/#comments" title="478 comments"> <svg class="-mt-1 ml-1 mr-[2px] inline-block h-4 w-4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80"><defs><clipPath id="bubble-zero_svg__a"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath><clipPath id="bubble-zero_svg__b"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath></defs><g clip-path="url(#bubble-zero_svg__a)"><g fill="currentColor" clip-path="url(#bubble-zero_svg__b)"><path d="M80 40c0 22.09-17.91 40-40 40S0 62.09 0 40 17.91 0 40 0s40 17.91 40 40"/><path d="M40 40 .59 76.58C-.67 77.84.22 80 2.01 80H40z"/></g></g></svg> 478 </a> </span></div> </div> </div> </div> </div> </article> </div> <div class="hidden justify-self-end bg-gray-100 dark:bg-gray-50 lg:block"> <div class="component-most-read font-impact flex h-full min-h-[300px] flex-col flex-nowrap gap-5 pb-5 uppercase text-white"> <div> <header class="flex flex-row flex-nowrap items-center justify-center gap-2 bg-gray-600 px-5 py-2"> <svg class="h-[20px] w-[30px] text-gray-100" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 26"><defs><clipPath id="most-read_svg__a"><path fill="none" d="M0 0h40v26H0z"/></clipPath><clipPath id="most-read_svg__b"><path fill="none" d="M0 0h40v26H0z"/></clipPath></defs><g clip-path="url(#most-read_svg__a)"><g fill="none" clip-path="url(#most-read_svg__b)"><path fill="currentColor" d="M20 2h.8q1.5 0 3 .6c.6.2 1.1.4 1.7.6 1.3.5 2.6 1.3 3.9 2.1.6.4 1.2.8 1.8 1.3 2.9 2.3 5.1 4.9 6.3 6.4-1.1 1.5-3.4 4-6.3 6.4-.6.5-1.2.9-1.8 1.3q-1.95 1.35-3.9 2.1c-.6.2-1.1.4-1.7.6q-1.5.45-3 .6h-1.6q-1.5 0-3-.6c-.6-.2-1.1-.4-1.7-.6-1.3-.5-2.6-1.3-3.9-2.1-.6-.4-1.2-.8-1.8-1.3-2.9-2.3-5.1-4.9-6.3-6.4 1.1-1.5 3.4-4 6.3-6.4.6-.5 1.2-.9 1.8-1.3q1.95-1.35 3.9-2.1c.6-.2 1.1-.4 1.7-.6q1.5-.45 3-.6zm0-2h-1c-1.2 0-2.3.3-3.4.6-.6.2-1.3.4-1.9.7-1.5.6-2.9 1.4-4.3 2.3-.7.5-1.3.9-1.9 1.4C2.9 8.7 0 13 0 13s2.9 4.3 7.5 7.9c.6.5 1.3 1 1.9 1.4 1.3.9 2.7 1.7 4.3 2.3.6.3 1.3.5 1.9.7 1.1.3 2.3.6 3.4.6h2c1.2 0 2.3-.3 3.4-.6.6-.2 1.3-.4 1.9-.7 1.5-.6 2.9-1.4 4.3-2.3.7-.5 1.3-.9 1.9-1.4C37.1 17.3 40 13 40 13s-2.9-4.3-7.5-7.9c-.6-.5-1.3-1-1.9-1.4-1.3-.9-2.8-1.7-4.3-2.3-.6-.3-1.3-.5-1.9-.7C23.3.4 22.1.1 21 .1h-1"/><path fill="#ff4e00" d="M20 5c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8m0 11c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.3 3-3 3"/></g></g></svg> <div class="font-impact inline text-xl font-extrabold uppercase text-green-400"> Most Read</div> </header> <ol> <li class="group relative"> <a href="https://arstechnica.com/space/2024/11/with-dragonfly-contract-nasa-will-certify-spacex-for-nuclear-powered-payloads/"> <img class="h-auto w-full rounded-sm group-hover:saturate-150" src="https://cdn.arstechnica.net/wp-content/uploads/2024/11/graphite-impact-shell-gis-768x432.jpg" alt="Listing image for first story in Most Read: NASA awards SpaceX a contract for one of the few things it hasn’t done yet" decoding="async" loading="lazy"> </a> <div class="relative px-[15px] py-4 sm:px-5"> <div class="most-read-divider absolute left-5 top-[-3px] h-[5px] w-1/4 bg-green-400"> </div> <span class="flex flex-row flex-nowrap items-start gap-4 font-serif text-xl font-bold normal-case leading-tight"> <span class="shrink-0 text-green-400">1.</span> <a class="most-read-title text-gray-100 visited:text-gray-400 hover:text-orange-400" href="https://arstechnica.com/space/2024/11/with-dragonfly-contract-nasa-will-certify-spacex-for-nuclear-powered-payloads/">NASA awards SpaceX a contract for one of the few things it hasn’t done yet</a> </span> </div> </li> <li class="group relative"> <div class="relative px-[15px] py-4 sm:px-5"> <div class="most-read-divider absolute left-5 top-0 h-[1px] w-1/4 bg-gray-400"> </div> <span class="flex flex-row flex-nowrap items-start gap-4 font-serif text-xl font-bold normal-case leading-tight"> <span class="shrink-0 text-green-400">2.</span> <a class="most-read-title text-gray-100 visited:text-gray-400 hover:text-orange-400" href="https://arstechnica.com/space/2024/11/after-russian-ship-docks-to-space-station-astronauts-report-a-foul-smell/">After Russian ship docks to space station, astronauts report a foul smell</a> </span> </div> </li> <li class="group relative"> <div class="relative px-[15px] py-4 sm:px-5"> <div class="most-read-divider absolute left-5 top-0 h-[1px] w-1/4 bg-gray-400"> </div> <span class="flex flex-row flex-nowrap items-start gap-4 font-serif text-xl font-bold normal-case leading-tight"> <span class="shrink-0 text-green-400">3.</span> <a class="most-read-title text-gray-100 visited:text-gray-400 hover:text-orange-400" href="https://arstechnica.com/ai/2024/11/nvidias-new-ai-audio-model-can-synthesize-sounds-that-have-never-existed/">Nvidia’s new AI audio model can synthesize sounds that have never existed</a> </span> </div> </li> <li class="group relative"> <div class="relative px-[15px] py-4 sm:px-5"> <div class="most-read-divider absolute left-5 top-0 h-[1px] w-1/4 bg-gray-400"> </div> <span class="flex flex-row flex-nowrap items-start gap-4 font-serif text-xl font-bold normal-case leading-tight"> <span class="shrink-0 text-green-400">4.</span> <a class="most-read-title text-gray-100 visited:text-gray-400 hover:text-orange-400" href="https://arstechnica.com/tech-policy/2024/11/isps-say-their-excellent-customer-service-is-why-users-dont-switch-providers/">ISPs say their “excellent customer service” is why users don’t switch providers</a> </span> </div> </li> <li class="group relative"> <div class="relative px-[15px] py-4 sm:px-5"> <div class="most-read-divider absolute left-5 top-0 h-[1px] w-1/4 bg-gray-400"> </div> <span class="flex flex-row flex-nowrap items-start gap-4 font-serif text-xl font-bold normal-case leading-tight"> <span class="shrink-0 text-green-400">5.</span> <a class="most-read-title text-gray-100 visited:text-gray-400 hover:text-orange-400" href="https://arstechnica.com/tech-policy/2024/11/workers-demand-more-transparency-after-intel-secures-8b-chips-funding/">Workers demand more transparency after Intel secures $8B CHIPS funding</a> </span> </div> </li> </ol> </div> <div class="most-read-customize text-center"> <button class="btn-customize font-impact mt-5 inline-flex flex-row flex-nowrap items-center justify-center gap-2 font-semibold uppercase text-gray-300 hover:text-gray-100" aria-label="Customize view settings" x-data x-on:click="$dispatch('view-settings-bar-open');"> <svg class="h-5 w-5" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 39.8 40"><defs><clipPath id="settings_svg__a"><path fill="none" d="M0 0h39.8v40H0z"/></clipPath><clipPath id="settings_svg__b"><path fill="none" d="M0 0h39.8v40H0z"/></clipPath></defs><g clip-path="url(#settings_svg__a)"><g fill="currentColor" clip-path="url(#settings_svg__b)"><path d="M17.4 3c-.8-1.8-2.5-3-4.5-3S9.1 1.2 8.3 3H0v4h8.3c.8 1.8 2.5 3 4.6 3s3.8-1.2 4.6-3h22.4V3H17.5Zm-4.6 4.5c-1.4 0-2.5-1.1-2.5-2.5s1.1-2.5 2.5-2.5 2.5 1.1 2.5 2.5-1.1 2.5-2.5 2.5M27 15c-2 0-3.8 1.2-4.6 3H0v4h22.4c.8 1.8 2.5 3 4.6 3s3.8-1.2 4.6-3h8.3v-4h-8.3c-.8-1.8-2.5-3-4.6-3m0 7.5c-1.4 0-2.5-1.1-2.5-2.5s1.1-2.5 2.5-2.5 2.5 1.1 2.5 2.5-1.1 2.5-2.5 2.5M12.9 30c-2 0-3.8 1.2-4.6 3H0v4h8.3c.8 1.8 2.5 3 4.6 3s3.8-1.2 4.6-3h22.4v-4H17.5c-.8-1.8-2.5-3-4.6-3m0 7.5c-1.4 0-2.5-1.1-2.5-2.5s1.1-2.5 2.5-2.5 2.5 1.1 2.5 2.5-1.1 2.5-2.5 2.5"/></g></g></svg> <span>Customize</span> </button> </div> </div> </div> </div> <div class="ad-wrapper with-label is-fullwidth"> <div class="ad-wrapper-inner"> <div class="ad ad--mid-content"> </div> </div> </div> <div class="mx-auto my-5 px-[15px] sm:px-5 sm:px-5 lg:grid lg:max-w-6xl lg:grid-cols-3 lg:gap-8 xl:px-0"> <div class="grid grid-cols-1 gap-5 lg:col-span-2"> <article id="card-2059949" data-id="2059949" class="relative group card-list-square post-2059949 post type-post status-publish format-standard has-post-thumbnail hentry category-science category-security category-space tag-icbm tag-military-space tag-north-korea tag-russia tag-ukraine"> <div class="overflow-hidden rounded-sm"> <div class="flex flex-nowrap items-start"> <a class="relative block aspect-square h-auto w-16 overflow-hidden rounded-sm md:w-24" href="https://arstechnica.com/space/2024/11/in-exchange-for-troops-in-ukraine-russian-aid-to-north-korea-may-extend-to-space/"><img width="150" height="150" src="https://cdn.arstechnica.net/wp-content/uploads/2024/11/GettyImages-1661838316-150x150.jpg" class="group-hover:saturate-150 object-cover h-auto min-w-full min-h-full absolute wp-post-image" alt="" loading="lazy" decoding="async" srcset="https://cdn.arstechnica.net/wp-content/uploads/2024/11/GettyImages-1661838316-150x150.jpg 150w, https://cdn.arstechnica.net/wp-content/uploads/2024/11/GettyImages-1661838316-500x500.jpg 500w, https://cdn.arstechnica.net/wp-content/uploads/2024/11/GettyImages-1661838316-1000x1000.jpg 1000w" sizes="auto, (max-width: 150px) 100vw, 150px" /></a> <div class="flex flex-1 flex-col justify-between pl-3 sm:pl-5"> <div> <h2 class="-mt-1 font-serif text-xl font-bold leading-none md:text-2xl md:leading-none"> <a class="text-gray-700 visited:text-gray-300 hover:text-orange-400 dark:text-gray-100 dark:visited:text-gray-400 dark:hover:text-orange-400" href="https://arstechnica.com/space/2024/11/in-exchange-for-troops-in-ukraine-russian-aid-to-north-korea-may-extend-to-space/">As North Korean troops march toward Ukraine, does a Russian quid pro quo reach space?</a> </h2> <p class="leading-tighter dark:text-gray-250 my-1 text-base text-gray-400"> The budding partnership between Russia and North Korea may now be blossoming into space. </p> <div class="font-impact text-xs font-semibold uppercase text-gray-300"><span>Stephen Clark</span> – <span class="whitespace-nowrap"> <time class="mr-[2px] inline-block cursor-default" title="2024-11-01T20:24:51-04:00" datetime="2024-11-01T20:24:51-04:00" x-data="{ compact: true, open: false, date: new Date('2024-11-01T20:24:51-04:00'), updatedTimestamp: false, format: function() { let dateFormat = { year: 'numeric', month: 'short', day: 'numeric' }; let timeFormat = { hour: 'numeric', minute: 'numeric' }; let formatted = this.date.toLocaleDateString(undefined, dateFormat) + ' ' + this.date.toLocaleTimeString(undefined, timeFormat); if (this.compact) { if (this.date.toDateString() === new Date().toDateString()) { formatted = this.date.toLocaleTimeString(undefined, timeFormat); if (this.updatedTimestamp) { formatted = 'at ' + formatted; } } else { formatted = this.date.toLocaleDateString(undefined, { year: 'numeric', month: 'numeric', day: 'numeric' }); } } if (this.updatedTimestamp) { formatted = 'Updated ' + formatted; } return formatted; } }" x-text="format()"> 11/1/2024 </time> <span class="text-gray-550">|</span> <a class="view-comments text-gray-300 hover:text-gray-500" href="https://arstechnica.com/space/2024/11/in-exchange-for-troops-in-ukraine-russian-aid-to-north-korea-may-extend-to-space/#comments" title="368 comments"> <svg class="-mt-1 ml-1 mr-[2px] inline-block h-4 w-4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80"><defs><clipPath id="bubble-zero_svg__a"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath><clipPath id="bubble-zero_svg__b"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath></defs><g clip-path="url(#bubble-zero_svg__a)"><g fill="currentColor" clip-path="url(#bubble-zero_svg__b)"><path d="M80 40c0 22.09-17.91 40-40 40S0 62.09 0 40 17.91 0 40 0s40 17.91 40 40"/><path d="M40 40 .59 76.58C-.67 77.84.22 80 2.01 80H40z"/></g></g></svg> 368 </a> </span></div> </div> </div> </div> </div> </article> <article id="card-2059993" data-id="2059993" class="relative group card-list-square post-2059993 post type-post status-publish format-standard has-post-thumbnail hentry category-information-technology category-security tag-botnets tag-microsoft-3 tag-password-spraying tag-tp-link"> <div class="overflow-hidden rounded-sm"> <div class="flex flex-nowrap items-start"> <a class="relative block aspect-square h-auto w-16 overflow-hidden rounded-sm md:w-24" href="https://arstechnica.com/information-technology/2024/11/microsoft-warns-of-8000-strong-botnet-used-in-password-spraying-attacks/"><img width="150" height="150" src="https://cdn.arstechnica.net/wp-content/uploads/2020/04/botnet6-150x150.jpg" class="group-hover:saturate-150 object-cover h-auto min-w-full min-h-full absolute wp-post-image" alt="Rows of 1950s-style robots operate computer workstations." loading="lazy" decoding="async" srcset="https://cdn.arstechnica.net/wp-content/uploads/2020/04/botnet6-150x150.jpg 150w, https://cdn.arstechnica.net/wp-content/uploads/2020/04/botnet6-500x500.jpg 500w" sizes="auto, (max-width: 150px) 100vw, 150px" /></a> <div class="flex flex-1 flex-col justify-between pl-3 sm:pl-5"> <div> <h2 class="-mt-1 font-serif text-xl font-bold leading-none md:text-2xl md:leading-none"> <a class="text-gray-700 visited:text-gray-300 hover:text-orange-400 dark:text-gray-100 dark:visited:text-gray-400 dark:hover:text-orange-400" href="https://arstechnica.com/information-technology/2024/11/microsoft-warns-of-8000-strong-botnet-used-in-password-spraying-attacks/">Thousands of hacked TP-Link routers used in yearslong account takeover attacks</a> </h2> <p class="leading-tighter dark:text-gray-250 my-1 text-base text-gray-400"> The botnet is being skillfully used to launch "highly evasive" password-spraying attacks. </p> <div class="font-impact text-xs font-semibold uppercase text-gray-300"><span>Dan Goodin</span> – <span class="whitespace-nowrap"> <time class="mr-[2px] inline-block cursor-default" title="2024-11-01T20:13:20-04:00" datetime="2024-11-01T20:13:20-04:00" x-data="{ compact: true, open: false, date: new Date('2024-11-01T20:13:20-04:00'), updatedTimestamp: false, format: function() { let dateFormat = { year: 'numeric', month: 'short', day: 'numeric' }; let timeFormat = { hour: 'numeric', minute: 'numeric' }; let formatted = this.date.toLocaleDateString(undefined, dateFormat) + ' ' + this.date.toLocaleTimeString(undefined, timeFormat); if (this.compact) { if (this.date.toDateString() === new Date().toDateString()) { formatted = this.date.toLocaleTimeString(undefined, timeFormat); if (this.updatedTimestamp) { formatted = 'at ' + formatted; } } else { formatted = this.date.toLocaleDateString(undefined, { year: 'numeric', month: 'numeric', day: 'numeric' }); } } if (this.updatedTimestamp) { formatted = 'Updated ' + formatted; } return formatted; } }" x-text="format()"> 11/1/2024 </time> <span class="text-gray-550">|</span> <a class="view-comments text-gray-300 hover:text-gray-500" href="https://arstechnica.com/information-technology/2024/11/microsoft-warns-of-8000-strong-botnet-used-in-password-spraying-attacks/#comments" title="105 comments"> <svg class="-mt-1 ml-1 mr-[2px] inline-block h-4 w-4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80"><defs><clipPath id="bubble-zero_svg__a"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath><clipPath id="bubble-zero_svg__b"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath></defs><g clip-path="url(#bubble-zero_svg__a)"><g fill="currentColor" clip-path="url(#bubble-zero_svg__b)"><path d="M80 40c0 22.09-17.91 40-40 40S0 62.09 0 40 17.91 0 40 0s40 17.91 40 40"/><path d="M40 40 .59 76.58C-.67 77.84.22 80 2.01 80H40z"/></g></g></svg> 105 </a> </span></div> </div> </div> </div> </div> </article> <article id="card-2059383" data-id="2059383" class="relative group card-list-square post-2059383 post type-post status-publish format-standard has-post-thumbnail hentry category-information-technology category-security tag-android-2 tag-bank-fraud tag-malware tag-trojans"> <div class="overflow-hidden rounded-sm"> <div class="flex flex-nowrap items-start"> <a class="relative block aspect-square h-auto w-16 overflow-hidden rounded-sm md:w-24" href="https://arstechnica.com/information-technology/2024/10/android-trojan-that-intercepts-voice-calls-to-banks-just-got-more-stealthy/"><img width="150" height="150" src="https://cdn.arstechnica.net/wp-content/uploads/2024/10/infected-phone-150x150.jpg" class="group-hover:saturate-150 object-cover h-auto min-w-full min-h-full absolute wp-post-image" alt="Security concept: smartphone with text Virus" loading="lazy" decoding="async" srcset="https://cdn.arstechnica.net/wp-content/uploads/2024/10/infected-phone-150x150.jpg 150w, https://cdn.arstechnica.net/wp-content/uploads/2024/10/infected-phone-500x500.jpg 500w" sizes="auto, (max-width: 150px) 100vw, 150px" /></a> <div class="flex flex-1 flex-col justify-between pl-3 sm:pl-5"> <div> <h2 class="-mt-1 font-serif text-xl font-bold leading-none md:text-2xl md:leading-none"> <a class="text-gray-700 visited:text-gray-300 hover:text-orange-400 dark:text-gray-100 dark:visited:text-gray-400 dark:hover:text-orange-400" href="https://arstechnica.com/information-technology/2024/10/android-trojan-that-intercepts-voice-calls-to-banks-just-got-more-stealthy/">Android Trojan that intercepts voice calls to banks just got more stealthy</a> </h2> <p class="leading-tighter dark:text-gray-250 my-1 text-base text-gray-400"> FakeCall malware can reroute calls intended for banks to attacker-controlled numbers. </p> <div class="font-impact text-xs font-semibold uppercase text-gray-300"><span>Dan Goodin</span> – <span class="whitespace-nowrap"> <time class="mr-[2px] inline-block cursor-default" title="2024-10-30T15:59:03-04:00" datetime="2024-10-30T15:59:03-04:00" x-data="{ compact: true, open: false, date: new Date('2024-10-30T15:59:03-04:00'), updatedTimestamp: false, format: function() { let dateFormat = { year: 'numeric', month: 'short', day: 'numeric' }; let timeFormat = { hour: 'numeric', minute: 'numeric' }; let formatted = this.date.toLocaleDateString(undefined, dateFormat) + ' ' + this.date.toLocaleTimeString(undefined, timeFormat); if (this.compact) { if (this.date.toDateString() === new Date().toDateString()) { formatted = this.date.toLocaleTimeString(undefined, timeFormat); if (this.updatedTimestamp) { formatted = 'at ' + formatted; } } else { formatted = this.date.toLocaleDateString(undefined, { year: 'numeric', month: 'numeric', day: 'numeric' }); } } if (this.updatedTimestamp) { formatted = 'Updated ' + formatted; } return formatted; } }" x-text="format()"> 10/30/2024 </time> <span class="text-gray-550">|</span> <a class="view-comments text-gray-300 hover:text-gray-500" href="https://arstechnica.com/information-technology/2024/10/android-trojan-that-intercepts-voice-calls-to-banks-just-got-more-stealthy/#comments" title="35 comments"> <svg class="-mt-1 ml-1 mr-[2px] inline-block h-4 w-4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80"><defs><clipPath id="bubble-zero_svg__a"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath><clipPath id="bubble-zero_svg__b"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath></defs><g clip-path="url(#bubble-zero_svg__a)"><g fill="currentColor" clip-path="url(#bubble-zero_svg__b)"><path d="M80 40c0 22.09-17.91 40-40 40S0 62.09 0 40 17.91 0 40 0s40 17.91 40 40"/><path d="M40 40 .59 76.58C-.67 77.84.22 80 2.01 80H40z"/></g></g></svg> 35 </a> </span></div> </div> </div> </div> </div> </article> <article id="card-2059052" data-id="2059052" class="relative group card-list-square post-2059052 post type-post status-publish format-standard has-post-thumbnail hentry category-information-technology category-features category-security tag-encryption tag-post-quantum-cryptography tag-quantum-computing"> <div class="overflow-hidden rounded-sm"> <div class="flex flex-nowrap items-start"> <a class="relative block aspect-square h-auto w-16 overflow-hidden rounded-sm md:w-24" href="https://arstechnica.com/information-technology/2024/10/the-sad-bizarre-tale-of-hype-fueling-fears-that-modern-cryptography-is-dead/"><img width="150" height="150" src="https://cdn.arstechnica.net/wp-content/uploads/2023/11/encryption-key-recovery-attack-150x150.jpg" class="group-hover:saturate-150 object-cover h-auto min-w-full min-h-full absolute wp-post-image" alt="" loading="lazy" decoding="async" srcset="https://cdn.arstechnica.net/wp-content/uploads/2023/11/encryption-key-recovery-attack-150x150.jpg 150w, https://cdn.arstechnica.net/wp-content/uploads/2023/11/encryption-key-recovery-attack-500x500.jpg 500w" sizes="auto, (max-width: 150px) 100vw, 150px" /></a> <div class="flex flex-1 flex-col justify-between pl-3 sm:pl-5"> <div> <h2 class="-mt-1 font-serif text-xl font-bold leading-none md:text-2xl md:leading-none"> <a class="text-gray-700 visited:text-gray-300 hover:text-orange-400 dark:text-gray-100 dark:visited:text-gray-400 dark:hover:text-orange-400" href="https://arstechnica.com/information-technology/2024/10/the-sad-bizarre-tale-of-hype-fueling-fears-that-modern-cryptography-is-dead/">Here’s the paper no one read before declaring the demise of modern cryptography</a> </h2> <p class="leading-tighter dark:text-gray-250 my-1 text-base text-gray-400"> The advance was incremental at best. So why did so many think it was a breakthrough? </p> <div class="font-impact text-xs font-semibold uppercase text-gray-300"><span>Dan Goodin</span> – <span class="whitespace-nowrap"> <time class="mr-[2px] inline-block cursor-default" title="2024-10-30T07:00:32-04:00" datetime="2024-10-30T07:00:32-04:00" x-data="{ compact: true, open: false, date: new Date('2024-10-30T07:00:32-04:00'), updatedTimestamp: false, format: function() { let dateFormat = { year: 'numeric', month: 'short', day: 'numeric' }; let timeFormat = { hour: 'numeric', minute: 'numeric' }; let formatted = this.date.toLocaleDateString(undefined, dateFormat) + ' ' + this.date.toLocaleTimeString(undefined, timeFormat); if (this.compact) { if (this.date.toDateString() === new Date().toDateString()) { formatted = this.date.toLocaleTimeString(undefined, timeFormat); if (this.updatedTimestamp) { formatted = 'at ' + formatted; } } else { formatted = this.date.toLocaleDateString(undefined, { year: 'numeric', month: 'numeric', day: 'numeric' }); } } if (this.updatedTimestamp) { formatted = 'Updated ' + formatted; } return formatted; } }" x-text="format()"> 10/30/2024 </time> <span class="text-gray-550">|</span> <a class="view-comments text-gray-300 hover:text-gray-500" href="https://arstechnica.com/information-technology/2024/10/the-sad-bizarre-tale-of-hype-fueling-fears-that-modern-cryptography-is-dead/#comments" title="110 comments"> <svg class="-mt-1 ml-1 mr-[2px] inline-block h-4 w-4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80"><defs><clipPath id="bubble-zero_svg__a"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath><clipPath id="bubble-zero_svg__b"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath></defs><g clip-path="url(#bubble-zero_svg__a)"><g fill="currentColor" clip-path="url(#bubble-zero_svg__b)"><path d="M80 40c0 22.09-17.91 40-40 40S0 62.09 0 40 17.91 0 40 0s40 17.91 40 40"/><path d="M40 40 .59 76.58C-.67 77.84.22 80 2.01 80H40z"/></g></g></svg> 110 </a> </span></div> </div> </div> </div> </div> </article> <article id="card-2058565" data-id="2058565" class="relative group card-list-square post-2058565 post type-post status-publish format-standard has-post-thumbnail hentry category-information-technology category-security tag-espionage tag-influence tag-kremlin tag-malware tag-russia tag-ukraine"> <div class="overflow-hidden rounded-sm"> <div class="flex flex-nowrap items-start"> <a class="relative block aspect-square h-auto w-16 overflow-hidden rounded-sm md:w-24" href="https://arstechnica.com/security/2024/10/kremlin-backed-hackers-have-new-windows-and-android-to-foist-on-ukrainian-foes/"><img width="150" height="150" src="https://cdn.arstechnica.net/wp-content/uploads/2024/01/russia-state-hacking-150x150.jpg" class="group-hover:saturate-150 object-cover h-auto min-w-full min-h-full absolute wp-post-image" alt="" loading="lazy" decoding="async" srcset="https://cdn.arstechnica.net/wp-content/uploads/2024/01/russia-state-hacking-150x150.jpg 150w, https://cdn.arstechnica.net/wp-content/uploads/2024/01/russia-state-hacking-500x500.jpg 500w" sizes="auto, (max-width: 150px) 100vw, 150px" /></a> <div class="flex flex-1 flex-col justify-between pl-3 sm:pl-5"> <div> <h2 class="-mt-1 font-serif text-xl font-bold leading-none md:text-2xl md:leading-none"> <a class="text-gray-700 visited:text-gray-300 hover:text-orange-400 dark:text-gray-100 dark:visited:text-gray-400 dark:hover:text-orange-400" href="https://arstechnica.com/security/2024/10/kremlin-backed-hackers-have-new-windows-and-android-to-foist-on-ukrainian-foes/">Kremlin-backed hackers have new Windows and Android malware to foist on Ukrainian foes</a> </h2> <p class="leading-tighter dark:text-gray-250 my-1 text-base text-gray-400"> "Civil Defense" pushes hybrid espionage/influence campaign targeting recruits. </p> <div class="font-impact text-xs font-semibold uppercase text-gray-300"><span>Dan Goodin</span> – <span class="whitespace-nowrap"> <time class="mr-[2px] inline-block cursor-default" title="2024-10-28T13:58:54-04:00" datetime="2024-10-28T13:58:54-04:00" x-data="{ compact: true, open: false, date: new Date('2024-10-28T13:58:54-04:00'), updatedTimestamp: false, format: function() { let dateFormat = { year: 'numeric', month: 'short', day: 'numeric' }; let timeFormat = { hour: 'numeric', minute: 'numeric' }; let formatted = this.date.toLocaleDateString(undefined, dateFormat) + ' ' + this.date.toLocaleTimeString(undefined, timeFormat); if (this.compact) { if (this.date.toDateString() === new Date().toDateString()) { formatted = this.date.toLocaleTimeString(undefined, timeFormat); if (this.updatedTimestamp) { formatted = 'at ' + formatted; } } else { formatted = this.date.toLocaleDateString(undefined, { year: 'numeric', month: 'numeric', day: 'numeric' }); } } if (this.updatedTimestamp) { formatted = 'Updated ' + formatted; } return formatted; } }" x-text="format()"> 10/28/2024 </time> <span class="text-gray-550">|</span> <a class="view-comments text-gray-300 hover:text-gray-500" href="https://arstechnica.com/security/2024/10/kremlin-backed-hackers-have-new-windows-and-android-to-foist-on-ukrainian-foes/#comments" title="17 comments"> <svg class="-mt-1 ml-1 mr-[2px] inline-block h-4 w-4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80"><defs><clipPath id="bubble-zero_svg__a"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath><clipPath id="bubble-zero_svg__b"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath></defs><g clip-path="url(#bubble-zero_svg__a)"><g fill="currentColor" clip-path="url(#bubble-zero_svg__b)"><path d="M80 40c0 22.09-17.91 40-40 40S0 62.09 0 40 17.91 0 40 0s40 17.91 40 40"/><path d="M40 40 .59 76.58C-.67 77.84.22 80 2.01 80H40z"/></g></g></svg> 17 </a> </span></div> </div> </div> </div> </div> </article> <article id="card-2058083" data-id="2058083" class="relative group card-list-square post-2058083 post type-post status-publish format-standard has-post-thumbnail hentry category-apple category-information-technology category-google category-security tag-location tag-phones-2 tag-privacy tag-surveillance"> <div class="overflow-hidden rounded-sm"> <div class="flex flex-nowrap items-start"> <a class="relative block aspect-square h-auto w-16 overflow-hidden rounded-sm md:w-24" href="https://arstechnica.com/information-technology/2024/10/phone-tracking-tool-lets-government-agencies-follow-your-every-move/"><img width="150" height="150" src="https://cdn.arstechnica.net/wp-content/uploads/2023/03/hacked-150x150.jpg" class="group-hover:saturate-150 object-cover h-auto min-w-full min-h-full absolute wp-post-image" alt="" loading="lazy" decoding="async" srcset="https://cdn.arstechnica.net/wp-content/uploads/2023/03/hacked-150x150.jpg 150w, https://cdn.arstechnica.net/wp-content/uploads/2023/03/hacked-500x500.jpg 500w" sizes="auto, (max-width: 150px) 100vw, 150px" /></a> <div class="flex flex-1 flex-col justify-between pl-3 sm:pl-5"> <div> <h2 class="-mt-1 font-serif text-xl font-bold leading-none md:text-2xl md:leading-none"> <a class="text-gray-700 visited:text-gray-300 hover:text-orange-400 dark:text-gray-100 dark:visited:text-gray-400 dark:hover:text-orange-400" href="https://arstechnica.com/information-technology/2024/10/phone-tracking-tool-lets-government-agencies-follow-your-every-move/">Location tracking of phones is out of control. Here’s how to fight back.</a> </h2> <p class="leading-tighter dark:text-gray-250 my-1 text-base text-gray-400"> Unique IDs assigned to Android and iOS devices threaten your privacy. Who knew? </p> <div class="font-impact text-xs font-semibold uppercase text-gray-300"><span>Dan Goodin</span> – <span class="whitespace-nowrap"> <time class="mr-[2px] inline-block cursor-default" title="2024-10-23T19:03:15-04:00" datetime="2024-10-23T19:03:15-04:00" x-data="{ compact: true, open: false, date: new Date('2024-10-23T19:03:15-04:00'), updatedTimestamp: false, format: function() { let dateFormat = { year: 'numeric', month: 'short', day: 'numeric' }; let timeFormat = { hour: 'numeric', minute: 'numeric' }; let formatted = this.date.toLocaleDateString(undefined, dateFormat) + ' ' + this.date.toLocaleTimeString(undefined, timeFormat); if (this.compact) { if (this.date.toDateString() === new Date().toDateString()) { formatted = this.date.toLocaleTimeString(undefined, timeFormat); if (this.updatedTimestamp) { formatted = 'at ' + formatted; } } else { formatted = this.date.toLocaleDateString(undefined, { year: 'numeric', month: 'numeric', day: 'numeric' }); } } if (this.updatedTimestamp) { formatted = 'Updated ' + formatted; } return formatted; } }" x-text="format()"> 10/23/2024 </time> <span class="text-gray-550">|</span> <a class="view-comments text-gray-300 hover:text-gray-500" href="https://arstechnica.com/information-technology/2024/10/phone-tracking-tool-lets-government-agencies-follow-your-every-move/#comments" title="203 comments"> <svg class="-mt-1 ml-1 mr-[2px] inline-block h-4 w-4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80"><defs><clipPath id="bubble-zero_svg__a"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath><clipPath id="bubble-zero_svg__b"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath></defs><g clip-path="url(#bubble-zero_svg__a)"><g fill="currentColor" clip-path="url(#bubble-zero_svg__b)"><path d="M80 40c0 22.09-17.91 40-40 40S0 62.09 0 40 17.91 0 40 0s40 17.91 40 40"/><path d="M40 40 .59 76.58C-.67 77.84.22 80 2.01 80H40z"/></g></g></svg> 203 </a> </span></div> </div> </div> </div> </div> </article> <article id="card-2057741" data-id="2057741" class="relative group card-list-square post-2057741 post type-post status-publish format-standard has-post-thumbnail hentry category-information-technology category-security tag-exploits tag-fortigate tag-fortinet tag-zeroday"> <div class="overflow-hidden rounded-sm"> <div class="flex flex-nowrap items-start"> <a class="relative block aspect-square h-auto w-16 overflow-hidden rounded-sm md:w-24" href="https://arstechnica.com/security/2024/10/fortinet-stays-mum-on-critical-0-day-reportedly-under-active-exploitation/"><img width="150" height="150" src="https://cdn.arstechnica.net/wp-content/uploads/2016/01/fortigate-150x150.jpg" class="group-hover:saturate-150 object-cover h-auto min-w-full min-h-full absolute wp-post-image" alt="A cake made to resemble Fortigate device" loading="lazy" decoding="async" srcset="https://cdn.arstechnica.net/wp-content/uploads/2016/01/fortigate-150x150.jpg 150w, https://cdn.arstechnica.net/wp-content/uploads/2016/01/fortigate-500x500.jpg 500w" sizes="auto, (max-width: 150px) 100vw, 150px" /></a> <div class="flex flex-1 flex-col justify-between pl-3 sm:pl-5"> <div> <h2 class="-mt-1 font-serif text-xl font-bold leading-none md:text-2xl md:leading-none"> <a class="text-gray-700 visited:text-gray-300 hover:text-orange-400 dark:text-gray-100 dark:visited:text-gray-400 dark:hover:text-orange-400" href="https://arstechnica.com/security/2024/10/fortinet-stays-mum-on-critical-0-day-reportedly-under-active-exploitation/">FortiGate admins report active exploitation 0-day. Vendor isn’t talking.</a> </h2> <p class="leading-tighter dark:text-gray-250 my-1 text-base text-gray-400"> Vulnerability allowing remote code execution has been discussed since at least 9 days ago. </p> <div class="font-impact text-xs font-semibold uppercase text-gray-300"><span>Dan Goodin</span> – <span class="whitespace-nowrap"> <time class="mr-[2px] inline-block cursor-default" title="2024-10-22T15:49:07-04:00" datetime="2024-10-22T15:49:07-04:00" x-data="{ compact: true, open: false, date: new Date('2024-10-22T15:49:07-04:00'), updatedTimestamp: false, format: function() { let dateFormat = { year: 'numeric', month: 'short', day: 'numeric' }; let timeFormat = { hour: 'numeric', minute: 'numeric' }; let formatted = this.date.toLocaleDateString(undefined, dateFormat) + ' ' + this.date.toLocaleTimeString(undefined, timeFormat); if (this.compact) { if (this.date.toDateString() === new Date().toDateString()) { formatted = this.date.toLocaleTimeString(undefined, timeFormat); if (this.updatedTimestamp) { formatted = 'at ' + formatted; } } else { formatted = this.date.toLocaleDateString(undefined, { year: 'numeric', month: 'numeric', day: 'numeric' }); } } if (this.updatedTimestamp) { formatted = 'Updated ' + formatted; } return formatted; } }" x-text="format()"> 10/22/2024 </time> <span class="text-gray-550">|</span> <a class="view-comments text-gray-300 hover:text-gray-500" href="https://arstechnica.com/security/2024/10/fortinet-stays-mum-on-critical-0-day-reportedly-under-active-exploitation/#comments" title="68 comments"> <svg class="-mt-1 ml-1 mr-[2px] inline-block h-4 w-4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80"><defs><clipPath id="bubble-zero_svg__a"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath><clipPath id="bubble-zero_svg__b"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath></defs><g clip-path="url(#bubble-zero_svg__a)"><g fill="currentColor" clip-path="url(#bubble-zero_svg__b)"><path d="M80 40c0 22.09-17.91 40-40 40S0 62.09 0 40 17.91 0 40 0s40 17.91 40 40"/><path d="M40 40 .59 76.58C-.67 77.84.22 80 2.01 80H40z"/></g></g></svg> 68 </a> </span></div> </div> </div> </div> </div> </article> </div> <div class="hidden justify-self-end bg-gray-100 dark:bg-gray-50 lg:block"> <div class="ad-wrapper is-sticky is-rail"> <div class="ad-wrapper-inner"> <div class="ad ad--rail"></div> </div> </div> </div> </div> <div class="ad-wrapper with-label is-fullwidth"> <div class="ad-wrapper-inner"> <div class="ad ad--mid-content"> </div> </div> </div> <div class="mx-auto my-5 px-[15px] sm:px-5 sm:px-5 lg:grid lg:max-w-6xl lg:grid-cols-3 lg:gap-8 xl:px-0"> <div class="grid grid-cols-1 gap-5 lg:col-span-2"> <article id="card-2057014" data-id="2057014" class="relative group card-list-square post-2057014 post type-post status-publish format-standard has-post-thumbnail hentry category-security tag-account-takeover tag-federal-courts tag-indictment tag-sim-swap"> <div class="overflow-hidden rounded-sm"> <div class="flex flex-nowrap items-start"> <a class="relative block aspect-square h-auto w-16 overflow-hidden rounded-sm md:w-24" href="https://arstechnica.com/security/2024/10/how-alleged-sim-swap-and-hacked-x-account-drove-up-price-of-bitcoin-by-1k/"><img width="150" height="150" src="https://cdn.arstechnica.net/wp-content/uploads/2022/02/sim-cards-150x150.jpeg" class="group-hover:saturate-150 object-cover h-auto min-w-full min-h-full absolute wp-post-image" alt="" loading="lazy" decoding="async" srcset="https://cdn.arstechnica.net/wp-content/uploads/2022/02/sim-cards-150x150.jpeg 150w, https://cdn.arstechnica.net/wp-content/uploads/2022/02/sim-cards-500x500.jpeg 500w" sizes="auto, (max-width: 150px) 100vw, 150px" /></a> <div class="flex flex-1 flex-col justify-between pl-3 sm:pl-5"> <div> <h2 class="-mt-1 font-serif text-xl font-bold leading-none md:text-2xl md:leading-none"> <a class="text-gray-700 visited:text-gray-300 hover:text-orange-400 dark:text-gray-100 dark:visited:text-gray-400 dark:hover:text-orange-400" href="https://arstechnica.com/security/2024/10/how-alleged-sim-swap-and-hacked-x-account-drove-up-price-of-bitcoin-by-1k/">Here’s how SIM swap in alleged bitcoin pump-and-dump scheme worked</a> </h2> <p class="leading-tighter dark:text-gray-250 my-1 text-base text-gray-400"> False information posted to official SEC account caused spike in the currency. </p> <div class="font-impact text-xs font-semibold uppercase text-gray-300"><span>Dan Goodin</span> – <span class="whitespace-nowrap"> <time class="mr-[2px] inline-block cursor-default" title="2024-10-17T16:15:03-04:00" datetime="2024-10-17T16:15:03-04:00" x-data="{ compact: true, open: false, date: new Date('2024-10-17T16:15:03-04:00'), updatedTimestamp: false, format: function() { let dateFormat = { year: 'numeric', month: 'short', day: 'numeric' }; let timeFormat = { hour: 'numeric', minute: 'numeric' }; let formatted = this.date.toLocaleDateString(undefined, dateFormat) + ' ' + this.date.toLocaleTimeString(undefined, timeFormat); if (this.compact) { if (this.date.toDateString() === new Date().toDateString()) { formatted = this.date.toLocaleTimeString(undefined, timeFormat); if (this.updatedTimestamp) { formatted = 'at ' + formatted; } } else { formatted = this.date.toLocaleDateString(undefined, { year: 'numeric', month: 'numeric', day: 'numeric' }); } } if (this.updatedTimestamp) { formatted = 'Updated ' + formatted; } return formatted; } }" x-text="format()"> 10/17/2024 </time> <span class="text-gray-550">|</span> <a class="view-comments text-gray-300 hover:text-gray-500" href="https://arstechnica.com/security/2024/10/how-alleged-sim-swap-and-hacked-x-account-drove-up-price-of-bitcoin-by-1k/#comments" title="47 comments"> <svg class="-mt-1 ml-1 mr-[2px] inline-block h-4 w-4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80"><defs><clipPath id="bubble-zero_svg__a"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath><clipPath id="bubble-zero_svg__b"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath></defs><g clip-path="url(#bubble-zero_svg__a)"><g fill="currentColor" clip-path="url(#bubble-zero_svg__b)"><path d="M80 40c0 22.09-17.91 40-40 40S0 62.09 0 40 17.91 0 40 0s40 17.91 40 40"/><path d="M40 40 .59 76.58C-.67 77.84.22 80 2.01 80H40z"/></g></g></svg> 47 </a> </span></div> </div> </div> </div> </div> </article> <article id="card-2056586" data-id="2056586" class="relative group card-list-square post-2056586 post type-post status-publish format-standard has-post-thumbnail hentry category-google category-security category-gadgets tag-android-2 tag-android-15 tag-google-2 tag-one-time-passwords tag-otp tag-privacy tag-private-space tag-security"> <div class="overflow-hidden rounded-sm"> <div class="flex flex-nowrap items-start"> <a class="relative block aspect-square h-auto w-16 overflow-hidden rounded-sm md:w-24" href="https://arstechnica.com/gadgets/2024/10/android-15s-security-and-privacy-features-are-the-updates-highlight/"><img width="150" height="150" src="https://cdn.arstechnica.net/wp-content/uploads/2024/10/Blog-header_android15.width-1200.format-webp-150x150.jpeg" class="group-hover:saturate-150 object-cover h-auto min-w-full min-h-full absolute wp-post-image" alt="" loading="lazy" decoding="async" srcset="https://cdn.arstechnica.net/wp-content/uploads/2024/10/Blog-header_android15.width-1200.format-webp-150x150.jpeg 150w, https://cdn.arstechnica.net/wp-content/uploads/2024/10/Blog-header_android15.width-1200.format-webp-500x500.jpeg 500w" sizes="auto, (max-width: 150px) 100vw, 150px" /></a> <div class="flex flex-1 flex-col justify-between pl-3 sm:pl-5"> <div> <h2 class="-mt-1 font-serif text-xl font-bold leading-none md:text-2xl md:leading-none"> <a class="text-gray-700 visited:text-gray-300 hover:text-orange-400 dark:text-gray-100 dark:visited:text-gray-400 dark:hover:text-orange-400" href="https://arstechnica.com/gadgets/2024/10/android-15s-security-and-privacy-features-are-the-updates-highlight/">Android 15’s security and privacy features are the update’s highlight</a> </h2> <p class="leading-tighter dark:text-gray-250 my-1 text-base text-gray-400"> New tools aim at phone snatchers, snooping kids or partners, and cell hijackers. </p> <div class="font-impact text-xs font-semibold uppercase text-gray-300"><span>Kevin Purdy</span> – <span class="whitespace-nowrap"> <time class="mr-[2px] inline-block cursor-default" title="2024-10-17T12:57:54-04:00" datetime="2024-10-17T12:57:54-04:00" x-data="{ compact: true, open: false, date: new Date('2024-10-17T12:57:54-04:00'), updatedTimestamp: false, format: function() { let dateFormat = { year: 'numeric', month: 'short', day: 'numeric' }; let timeFormat = { hour: 'numeric', minute: 'numeric' }; let formatted = this.date.toLocaleDateString(undefined, dateFormat) + ' ' + this.date.toLocaleTimeString(undefined, timeFormat); if (this.compact) { if (this.date.toDateString() === new Date().toDateString()) { formatted = this.date.toLocaleTimeString(undefined, timeFormat); if (this.updatedTimestamp) { formatted = 'at ' + formatted; } } else { formatted = this.date.toLocaleDateString(undefined, { year: 'numeric', month: 'numeric', day: 'numeric' }); } } if (this.updatedTimestamp) { formatted = 'Updated ' + formatted; } return formatted; } }" x-text="format()"> 10/17/2024 </time> <span class="text-gray-550">|</span> <a class="view-comments text-gray-300 hover:text-gray-500" href="https://arstechnica.com/gadgets/2024/10/android-15s-security-and-privacy-features-are-the-updates-highlight/#comments" title="66 comments"> <svg class="-mt-1 ml-1 mr-[2px] inline-block h-4 w-4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80"><defs><clipPath id="bubble-zero_svg__a"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath><clipPath id="bubble-zero_svg__b"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath></defs><g clip-path="url(#bubble-zero_svg__a)"><g fill="currentColor" clip-path="url(#bubble-zero_svg__b)"><path d="M80 40c0 22.09-17.91 40-40 40S0 62.09 0 40 17.91 0 40 0s40 17.91 40 40"/><path d="M40 40 .59 76.58C-.67 77.84.22 80 2.01 80H40z"/></g></g></svg> 66 </a> </span></div> </div> </div> </div> </div> </article> <article id="card-2056879" data-id="2056879" class="relative group card-list-square post-2056879 post type-post status-publish format-standard has-post-thumbnail hentry category-information-technology category-security"> <div class="overflow-hidden rounded-sm"> <div class="flex flex-nowrap items-start"> <a class="relative block aspect-square h-auto w-16 overflow-hidden rounded-sm md:w-24" href="https://arstechnica.com/information-technology/2024/10/us-prosecutors-take-down-operation-accused-of-35000-ddoses-over-14-months/"><img width="150" height="150" src="https://cdn.arstechnica.net/wp-content/uploads/2021/01/ddos-150x150.jpg" class="group-hover:saturate-150 object-cover h-auto min-w-full min-h-full absolute wp-post-image" alt="Stylized illustration of a hooded figure at a laptop." loading="lazy" decoding="async" srcset="https://cdn.arstechnica.net/wp-content/uploads/2021/01/ddos-150x150.jpg 150w, https://cdn.arstechnica.net/wp-content/uploads/2021/01/ddos-500x500.jpg 500w" sizes="auto, (max-width: 150px) 100vw, 150px" /></a> <div class="flex flex-1 flex-col justify-between pl-3 sm:pl-5"> <div> <h2 class="-mt-1 font-serif text-xl font-bold leading-none md:text-2xl md:leading-none"> <a class="text-gray-700 visited:text-gray-300 hover:text-orange-400 dark:text-gray-100 dark:visited:text-gray-400 dark:hover:text-orange-400" href="https://arstechnica.com/information-technology/2024/10/us-prosecutors-take-down-operation-accused-of-35000-ddoses-over-14-months/">Two accused of DDoSing some of the world’s biggest tech companies</a> </h2> <p class="leading-tighter dark:text-gray-250 my-1 text-base text-gray-400"> Hospitals, government agencies, and a large roster of tech companies all targeted. </p> <div class="font-impact text-xs font-semibold uppercase text-gray-300"><span>Dan Goodin</span> – <span class="whitespace-nowrap"> <time class="mr-[2px] inline-block cursor-default" title="2024-10-16T18:40:56-04:00" datetime="2024-10-16T18:40:56-04:00" x-data="{ compact: true, open: false, date: new Date('2024-10-16T18:40:56-04:00'), updatedTimestamp: false, format: function() { let dateFormat = { year: 'numeric', month: 'short', day: 'numeric' }; let timeFormat = { hour: 'numeric', minute: 'numeric' }; let formatted = this.date.toLocaleDateString(undefined, dateFormat) + ' ' + this.date.toLocaleTimeString(undefined, timeFormat); if (this.compact) { if (this.date.toDateString() === new Date().toDateString()) { formatted = this.date.toLocaleTimeString(undefined, timeFormat); if (this.updatedTimestamp) { formatted = 'at ' + formatted; } } else { formatted = this.date.toLocaleDateString(undefined, { year: 'numeric', month: 'numeric', day: 'numeric' }); } } if (this.updatedTimestamp) { formatted = 'Updated ' + formatted; } return formatted; } }" x-text="format()"> 10/16/2024 </time> <span class="text-gray-550">|</span> <a class="view-comments text-gray-300 hover:text-gray-500" href="https://arstechnica.com/information-technology/2024/10/us-prosecutors-take-down-operation-accused-of-35000-ddoses-over-14-months/#comments" title="43 comments"> <svg class="-mt-1 ml-1 mr-[2px] inline-block h-4 w-4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80"><defs><clipPath id="bubble-zero_svg__a"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath><clipPath id="bubble-zero_svg__b"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath></defs><g clip-path="url(#bubble-zero_svg__a)"><g fill="currentColor" clip-path="url(#bubble-zero_svg__b)"><path d="M80 40c0 22.09-17.91 40-40 40S0 62.09 0 40 17.91 0 40 0s40 17.91 40 40"/><path d="M40 40 .59 76.58C-.67 77.84.22 80 2.01 80H40z"/></g></g></svg> 43 </a> </span></div> </div> </div> </div> </div> </article> <article id="card-2055170" data-id="2055170" class="relative group card-list-square post-2055170 post type-post status-publish format-standard has-post-thumbnail hentry category-security tag-animal-behavior tag-animals tag-biology tag-dna-analysis tag-forensic-archaeology tag-lions"> <div class="overflow-hidden rounded-sm"> <div class="flex flex-nowrap items-start"> <a class="relative block aspect-square h-auto w-16 overflow-hidden rounded-sm md:w-24" href="https://arstechnica.com/security/2024/10/scientists-found-human-hairs-in-teeth-of-19th-century-lions/"><img width="150" height="150" src="https://cdn.arstechnica.net/wp-content/uploads/2024/10/lions1-150x150.jpg" class="group-hover:saturate-150 object-cover h-auto min-w-full min-h-full absolute wp-post-image" alt="19th century lions teeth had thousands of hairs embedded in the cavities" loading="lazy" decoding="async" srcset="https://cdn.arstechnica.net/wp-content/uploads/2024/10/lions1-150x150.jpg 150w, https://cdn.arstechnica.net/wp-content/uploads/2024/10/lions1-500x500.jpg 500w" sizes="auto, (max-width: 150px) 100vw, 150px" /></a> <div class="flex flex-1 flex-col justify-between pl-3 sm:pl-5"> <div> <h2 class="-mt-1 font-serif text-xl font-bold leading-none md:text-2xl md:leading-none"> <a class="text-gray-700 visited:text-gray-300 hover:text-orange-400 dark:text-gray-100 dark:visited:text-gray-400 dark:hover:text-orange-400" href="https://arstechnica.com/security/2024/10/scientists-found-human-hairs-in-teeth-of-19th-century-lions/">DNA confirms these 19th-century lions ate humans</a> </h2> <p class="leading-tighter dark:text-gray-250 my-1 text-base text-gray-400"> “Tsavo Man-Eaters” killed dozens of people in late 1890s, including Kenya-Uganda Railway workers. </p> <div class="font-impact text-xs font-semibold uppercase text-gray-300"><span>Jennifer Ouellette</span> – <span class="whitespace-nowrap"> <time class="mr-[2px] inline-block cursor-default" title="2024-10-16T17:46:17-04:00" datetime="2024-10-16T17:46:17-04:00" x-data="{ compact: true, open: false, date: new Date('2024-10-16T17:46:17-04:00'), updatedTimestamp: false, format: function() { let dateFormat = { year: 'numeric', month: 'short', day: 'numeric' }; let timeFormat = { hour: 'numeric', minute: 'numeric' }; let formatted = this.date.toLocaleDateString(undefined, dateFormat) + ' ' + this.date.toLocaleTimeString(undefined, timeFormat); if (this.compact) { if (this.date.toDateString() === new Date().toDateString()) { formatted = this.date.toLocaleTimeString(undefined, timeFormat); if (this.updatedTimestamp) { formatted = 'at ' + formatted; } } else { formatted = this.date.toLocaleDateString(undefined, { year: 'numeric', month: 'numeric', day: 'numeric' }); } } if (this.updatedTimestamp) { formatted = 'Updated ' + formatted; } return formatted; } }" x-text="format()"> 10/16/2024 </time> <span class="text-gray-550">|</span> <a class="view-comments text-gray-300 hover:text-gray-500" href="https://arstechnica.com/security/2024/10/scientists-found-human-hairs-in-teeth-of-19th-century-lions/#comments" title="42 comments"> <svg class="-mt-1 ml-1 mr-[2px] inline-block h-4 w-4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80"><defs><clipPath id="bubble-zero_svg__a"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath><clipPath id="bubble-zero_svg__b"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath></defs><g clip-path="url(#bubble-zero_svg__a)"><g fill="currentColor" clip-path="url(#bubble-zero_svg__b)"><path d="M80 40c0 22.09-17.91 40-40 40S0 62.09 0 40 17.91 0 40 0s40 17.91 40 40"/><path d="M40 40 .59 76.58C-.67 77.84.22 80 2.01 80H40z"/></g></g></svg> 42 </a> </span></div> </div> </div> </div> </div> </article> <article id="card-2056701" data-id="2056701" class="relative group card-list-square post-2056701 post type-post status-publish format-standard has-post-thumbnail hentry category-ai category-security tag-ai-video tag-deepfakes tag-syndication tag-zoom"> <div class="overflow-hidden rounded-sm"> <div class="flex flex-nowrap items-start"> <a class="relative block aspect-square h-auto w-16 overflow-hidden rounded-sm md:w-24" href="https://arstechnica.com/security/2024/10/startup-can-catch-identify-deepfake-video-in-realtime/"><img width="150" height="150" src="https://cdn.arstechnica.net/wp-content/uploads/2019/10/GettyImages-1167464772-150x150.jpg" class="group-hover:saturate-150 object-cover h-auto min-w-full min-h-full absolute wp-post-image" alt="" loading="lazy" decoding="async" srcset="https://cdn.arstechnica.net/wp-content/uploads/2019/10/GettyImages-1167464772-150x150.jpg 150w, https://cdn.arstechnica.net/wp-content/uploads/2019/10/GettyImages-1167464772-500x500.jpg 500w, https://cdn.arstechnica.net/wp-content/uploads/2019/10/GettyImages-1167464772-1000x1000.jpg 1000w" sizes="auto, (max-width: 150px) 100vw, 150px" /></a> <div class="flex flex-1 flex-col justify-between pl-3 sm:pl-5"> <div> <h2 class="-mt-1 font-serif text-xl font-bold leading-none md:text-2xl md:leading-none"> <a class="text-gray-700 visited:text-gray-300 hover:text-orange-400 dark:text-gray-100 dark:visited:text-gray-400 dark:hover:text-orange-400" href="https://arstechnica.com/security/2024/10/startup-can-catch-identify-deepfake-video-in-realtime/">Startup can identify deepfake video in real time</a> </h2> <p class="leading-tighter dark:text-gray-250 my-1 text-base text-gray-400"> Reality Defender says it has a solution for AI-generated video scams. </p> <div class="font-impact text-xs font-semibold uppercase text-gray-300"><span>WIRED</span> – <span class="whitespace-nowrap"> <time class="mr-[2px] inline-block cursor-default" title="2024-10-16T10:16:23-04:00" datetime="2024-10-16T10:16:23-04:00" x-data="{ compact: true, open: false, date: new Date('2024-10-16T10:16:23-04:00'), updatedTimestamp: false, format: function() { let dateFormat = { year: 'numeric', month: 'short', day: 'numeric' }; let timeFormat = { hour: 'numeric', minute: 'numeric' }; let formatted = this.date.toLocaleDateString(undefined, dateFormat) + ' ' + this.date.toLocaleTimeString(undefined, timeFormat); if (this.compact) { if (this.date.toDateString() === new Date().toDateString()) { formatted = this.date.toLocaleTimeString(undefined, timeFormat); if (this.updatedTimestamp) { formatted = 'at ' + formatted; } } else { formatted = this.date.toLocaleDateString(undefined, { year: 'numeric', month: 'numeric', day: 'numeric' }); } } if (this.updatedTimestamp) { formatted = 'Updated ' + formatted; } return formatted; } }" x-text="format()"> 10/16/2024 </time> <span class="text-gray-550">|</span> <a class="view-comments text-gray-300 hover:text-gray-500" href="https://arstechnica.com/security/2024/10/startup-can-catch-identify-deepfake-video-in-realtime/#comments" title="65 comments"> <svg class="-mt-1 ml-1 mr-[2px] inline-block h-4 w-4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80"><defs><clipPath id="bubble-zero_svg__a"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath><clipPath id="bubble-zero_svg__b"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath></defs><g clip-path="url(#bubble-zero_svg__a)"><g fill="currentColor" clip-path="url(#bubble-zero_svg__b)"><path d="M80 40c0 22.09-17.91 40-40 40S0 62.09 0 40 17.91 0 40 0s40 17.91 40 40"/><path d="M40 40 .59 76.58C-.67 77.84.22 80 2.01 80H40z"/></g></g></svg> 65 </a> </span></div> </div> </div> </div> </div> </article> <article id="card-2056607" data-id="2056607" class="relative group card-list-square post-2056607 post type-post status-publish format-standard has-post-thumbnail hentry category-information-technology category-security tag-banks tag-hiddencobra tag-linux-2 tag-malware tag-north-korea"> <div class="overflow-hidden rounded-sm"> <div class="flex flex-nowrap items-start"> <a class="relative block aspect-square h-auto w-16 overflow-hidden rounded-sm md:w-24" href="https://arstechnica.com/security/2024/10/north-korean-hackers-use-newly-discovered-linux-malware-to-raid-atms/"><img width="150" height="150" src="https://cdn.arstechnica.net/wp-content/uploads/2022/03/north-korea-hacking-150x150.jpeg" class="group-hover:saturate-150 object-cover h-auto min-w-full min-h-full absolute wp-post-image" alt="" loading="lazy" decoding="async" srcset="https://cdn.arstechnica.net/wp-content/uploads/2022/03/north-korea-hacking-150x150.jpeg 150w, https://cdn.arstechnica.net/wp-content/uploads/2022/03/north-korea-hacking-500x500.jpeg 500w" sizes="auto, (max-width: 150px) 100vw, 150px" /></a> <div class="flex flex-1 flex-col justify-between pl-3 sm:pl-5"> <div> <h2 class="-mt-1 font-serif text-xl font-bold leading-none md:text-2xl md:leading-none"> <a class="text-gray-700 visited:text-gray-300 hover:text-orange-400 dark:text-gray-100 dark:visited:text-gray-400 dark:hover:text-orange-400" href="https://arstechnica.com/security/2024/10/north-korean-hackers-use-newly-discovered-linux-malware-to-raid-atms/">North Korean hackers use newly discovered Linux malware to raid ATMs</a> </h2> <p class="leading-tighter dark:text-gray-250 my-1 text-base text-gray-400"> Once, FASTCash ran only on Unix. Then came Windows. Now it can target Linux, too. </p> <div class="font-impact text-xs font-semibold uppercase text-gray-300"><span>Dan Goodin</span> – <span class="whitespace-nowrap"> <time class="mr-[2px] inline-block cursor-default" title="2024-10-15T17:16:05-04:00" datetime="2024-10-15T17:16:05-04:00" x-data="{ compact: true, open: false, date: new Date('2024-10-15T17:16:05-04:00'), updatedTimestamp: false, format: function() { let dateFormat = { year: 'numeric', month: 'short', day: 'numeric' }; let timeFormat = { hour: 'numeric', minute: 'numeric' }; let formatted = this.date.toLocaleDateString(undefined, dateFormat) + ' ' + this.date.toLocaleTimeString(undefined, timeFormat); if (this.compact) { if (this.date.toDateString() === new Date().toDateString()) { formatted = this.date.toLocaleTimeString(undefined, timeFormat); if (this.updatedTimestamp) { formatted = 'at ' + formatted; } } else { formatted = this.date.toLocaleDateString(undefined, { year: 'numeric', month: 'numeric', day: 'numeric' }); } } if (this.updatedTimestamp) { formatted = 'Updated ' + formatted; } return formatted; } }" x-text="format()"> 10/15/2024 </time> <span class="text-gray-550">|</span> <a class="view-comments text-gray-300 hover:text-gray-500" href="https://arstechnica.com/security/2024/10/north-korean-hackers-use-newly-discovered-linux-malware-to-raid-atms/#comments" title="38 comments"> <svg class="-mt-1 ml-1 mr-[2px] inline-block h-4 w-4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80"><defs><clipPath id="bubble-zero_svg__a"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath><clipPath id="bubble-zero_svg__b"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath></defs><g clip-path="url(#bubble-zero_svg__a)"><g fill="currentColor" clip-path="url(#bubble-zero_svg__b)"><path d="M80 40c0 22.09-17.91 40-40 40S0 62.09 0 40 17.91 0 40 0s40 17.91 40 40"/><path d="M40 40 .59 76.58C-.67 77.84.22 80 2.01 80H40z"/></g></g></svg> 38 </a> </span></div> </div> </div> </div> </div> </article> <article id="card-2056007" data-id="2056007" class="relative group card-list-square post-2056007 post type-post status-publish format-standard has-post-thumbnail hentry category-ai category-information-technology category-features category-security tag-large-language-models tag-llms tag-steganography tag-unicode"> <div class="overflow-hidden rounded-sm"> <div class="flex flex-nowrap items-start"> <a class="relative block aspect-square h-auto w-16 overflow-hidden rounded-sm md:w-24" href="https://arstechnica.com/security/2024/10/ai-chatbots-can-read-and-write-invisible-text-creating-an-ideal-covert-channel/"><img width="150" height="150" src="https://cdn.arstechnica.net/wp-content/uploads/2024/10/hidden-eye-150x150.jpg" class="group-hover:saturate-150 object-cover h-auto min-w-full min-h-full absolute wp-post-image" alt="" loading="lazy" decoding="async" srcset="https://cdn.arstechnica.net/wp-content/uploads/2024/10/hidden-eye-150x150.jpg 150w, https://cdn.arstechnica.net/wp-content/uploads/2024/10/hidden-eye-500x500.jpg 500w, https://cdn.arstechnica.net/wp-content/uploads/2024/10/hidden-eye-1000x1000.jpg 1000w" sizes="auto, (max-width: 150px) 100vw, 150px" /></a> <div class="flex flex-1 flex-col justify-between pl-3 sm:pl-5"> <div> <h2 class="-mt-1 font-serif text-xl font-bold leading-none md:text-2xl md:leading-none"> <a class="text-gray-700 visited:text-gray-300 hover:text-orange-400 dark:text-gray-100 dark:visited:text-gray-400 dark:hover:text-orange-400" href="https://arstechnica.com/security/2024/10/ai-chatbots-can-read-and-write-invisible-text-creating-an-ideal-covert-channel/">Invisible text that AI chatbots understand and humans can’t? Yep, it’s a thing.</a> </h2> <p class="leading-tighter dark:text-gray-250 my-1 text-base text-gray-400"> A quirk in the Unicode standard harbors an ideal steganographic code channel. </p> <div class="font-impact text-xs font-semibold uppercase text-gray-300"><span>Dan Goodin</span> – <span class="whitespace-nowrap"> <time class="mr-[2px] inline-block cursor-default" title="2024-10-14T15:06:27-04:00" datetime="2024-10-14T15:06:27-04:00" x-data="{ compact: true, open: false, date: new Date('2024-10-14T15:06:27-04:00'), updatedTimestamp: false, format: function() { let dateFormat = { year: 'numeric', month: 'short', day: 'numeric' }; let timeFormat = { hour: 'numeric', minute: 'numeric' }; let formatted = this.date.toLocaleDateString(undefined, dateFormat) + ' ' + this.date.toLocaleTimeString(undefined, timeFormat); if (this.compact) { if (this.date.toDateString() === new Date().toDateString()) { formatted = this.date.toLocaleTimeString(undefined, timeFormat); if (this.updatedTimestamp) { formatted = 'at ' + formatted; } } else { formatted = this.date.toLocaleDateString(undefined, { year: 'numeric', month: 'numeric', day: 'numeric' }); } } if (this.updatedTimestamp) { formatted = 'Updated ' + formatted; } return formatted; } }" x-text="format()"> 10/14/2024 </time> <span class="text-gray-550">|</span> <a class="view-comments text-gray-300 hover:text-gray-500" href="https://arstechnica.com/security/2024/10/ai-chatbots-can-read-and-write-invisible-text-creating-an-ideal-covert-channel/#comments" title="88 comments"> <svg class="-mt-1 ml-1 mr-[2px] inline-block h-4 w-4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80"><defs><clipPath id="bubble-zero_svg__a"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath><clipPath id="bubble-zero_svg__b"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath></defs><g clip-path="url(#bubble-zero_svg__a)"><g fill="currentColor" clip-path="url(#bubble-zero_svg__b)"><path d="M80 40c0 22.09-17.91 40-40 40S0 62.09 0 40 17.91 0 40 0s40 17.91 40 40"/><path d="M40 40 .59 76.58C-.67 77.84.22 80 2.01 80H40z"/></g></g></svg> 88 </a> </span></div> </div> </div> </div> </div> </article> </div> <div class="hidden justify-self-end bg-gray-100 dark:bg-gray-50 lg:block"> <div class="ad-wrapper is-sticky is-rail"> <div class="ad-wrapper-inner"> <div class="ad ad--rail"></div> </div> </div> </div> </div> <div class="ad-wrapper with-label is-fullwidth"> <div class="ad-wrapper-inner"> <div class="ad ad--mid-content"> </div> </div> </div> <div class="mx-auto my-5 px-[15px] sm:px-5 sm:px-5 lg:grid lg:max-w-6xl lg:grid-cols-3 lg:gap-8 xl:px-0"> <div class="grid grid-cols-1 gap-5 lg:col-span-2"> <article id="card-2055418" data-id="2055418" class="relative group card-list-square post-2055418 post type-post status-publish format-standard has-post-thumbnail hentry category-information-technology category-security"> <div class="overflow-hidden rounded-sm"> <div class="flex flex-nowrap items-start"> <a class="relative block aspect-square h-auto w-16 overflow-hidden rounded-sm md:w-24" href="https://arstechnica.com/information-technology/2024/10/archive-org-a-repository-storing-the-entire-history-of-the-internet-has-been-hacked/"><img width="150" height="150" src="https://cdn.arstechnica.net/wp-content/uploads/2018/03/ledger-pwned-card-150x150.jpg" class="group-hover:saturate-150 object-cover h-auto min-w-full min-h-full absolute wp-post-image" alt="" loading="lazy" decoding="async" srcset="https://cdn.arstechnica.net/wp-content/uploads/2018/03/ledger-pwned-card-150x150.jpg 150w, https://cdn.arstechnica.net/wp-content/uploads/2018/03/ledger-pwned-card-500x500.jpg 500w" sizes="auto, (max-width: 150px) 100vw, 150px" /></a> <div class="flex flex-1 flex-col justify-between pl-3 sm:pl-5"> <div> <h2 class="-mt-1 font-serif text-xl font-bold leading-none md:text-2xl md:leading-none"> <a class="text-gray-700 visited:text-gray-300 hover:text-orange-400 dark:text-gray-100 dark:visited:text-gray-400 dark:hover:text-orange-400" href="https://arstechnica.com/information-technology/2024/10/archive-org-a-repository-storing-the-entire-history-of-the-internet-has-been-hacked/">Archive.org, a repository of the history of the Internet, has a data breach</a> </h2> <p class="leading-tighter dark:text-gray-250 my-1 text-base text-gray-400"> 31 million records containing email addresses and password hashes exposed. </p> <div class="font-impact text-xs font-semibold uppercase text-gray-300"><span>Dan Goodin</span> – <span class="whitespace-nowrap"> <time class="mr-[2px] inline-block cursor-default" title="2024-10-09T20:12:56-04:00" datetime="2024-10-09T20:12:56-04:00" x-data="{ compact: true, open: false, date: new Date('2024-10-09T20:12:56-04:00'), updatedTimestamp: false, format: function() { let dateFormat = { year: 'numeric', month: 'short', day: 'numeric' }; let timeFormat = { hour: 'numeric', minute: 'numeric' }; let formatted = this.date.toLocaleDateString(undefined, dateFormat) + ' ' + this.date.toLocaleTimeString(undefined, timeFormat); if (this.compact) { if (this.date.toDateString() === new Date().toDateString()) { formatted = this.date.toLocaleTimeString(undefined, timeFormat); if (this.updatedTimestamp) { formatted = 'at ' + formatted; } } else { formatted = this.date.toLocaleDateString(undefined, { year: 'numeric', month: 'numeric', day: 'numeric' }); } } if (this.updatedTimestamp) { formatted = 'Updated ' + formatted; } return formatted; } }" x-text="format()"> 10/9/2024 </time> <span class="text-gray-550">|</span> <a class="view-comments text-gray-300 hover:text-gray-500" href="https://arstechnica.com/information-technology/2024/10/archive-org-a-repository-storing-the-entire-history-of-the-internet-has-been-hacked/#comments" title="137 comments"> <svg class="-mt-1 ml-1 mr-[2px] inline-block h-4 w-4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80"><defs><clipPath id="bubble-zero_svg__a"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath><clipPath id="bubble-zero_svg__b"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath></defs><g clip-path="url(#bubble-zero_svg__a)"><g fill="currentColor" clip-path="url(#bubble-zero_svg__b)"><path d="M80 40c0 22.09-17.91 40-40 40S0 62.09 0 40 17.91 0 40 0s40 17.91 40 40"/><path d="M40 40 .59 76.58C-.67 77.84.22 80 2.01 80H40z"/></g></g></svg> 137 </a> </span></div> </div> </div> </div> </div> </article> <article id="card-2055195" data-id="2055195" class="relative group card-list-square post-2055195 post type-post status-publish format-standard has-post-thumbnail hentry category-information-technology category-security tag-air-gaps tag-espionage tag-malware"> <div class="overflow-hidden rounded-sm"> <div class="flex flex-nowrap items-start"> <a class="relative block aspect-square h-auto w-16 overflow-hidden rounded-sm md:w-24" href="https://arstechnica.com/security/2024/10/two-never-before-seen-tools-from-same-group-infect-air-gapped-devices/"><img width="150" height="150" src="https://cdn.arstechnica.net/wp-content/uploads/2024/10/unplugged-ethernet-cable-150x150.jpg" class="group-hover:saturate-150 object-cover h-auto min-w-full min-h-full absolute wp-post-image" alt="" loading="lazy" decoding="async" srcset="https://cdn.arstechnica.net/wp-content/uploads/2024/10/unplugged-ethernet-cable-150x150.jpg 150w, https://cdn.arstechnica.net/wp-content/uploads/2024/10/unplugged-ethernet-cable-500x500.jpg 500w" sizes="auto, (max-width: 150px) 100vw, 150px" /></a> <div class="flex flex-1 flex-col justify-between pl-3 sm:pl-5"> <div> <h2 class="-mt-1 font-serif text-xl font-bold leading-none md:text-2xl md:leading-none"> <a class="text-gray-700 visited:text-gray-300 hover:text-orange-400 dark:text-gray-100 dark:visited:text-gray-400 dark:hover:text-orange-400" href="https://arstechnica.com/security/2024/10/two-never-before-seen-tools-from-same-group-infect-air-gapped-devices/">Two never-before-seen tools, from same group, infect air-gapped devices</a> </h2> <p class="leading-tighter dark:text-gray-250 my-1 text-base text-gray-400"> It's hard enough creating one air-gap-jumping tool. GoldenJackal did it 2x in 5 years. </p> <div class="font-impact text-xs font-semibold uppercase text-gray-300"><span>Dan Goodin</span> – <span class="whitespace-nowrap"> <time class="mr-[2px] inline-block cursor-default" title="2024-10-09T08:26:26-04:00" datetime="2024-10-09T08:26:26-04:00" x-data="{ compact: true, open: false, date: new Date('2024-10-09T08:26:26-04:00'), updatedTimestamp: false, format: function() { let dateFormat = { year: 'numeric', month: 'short', day: 'numeric' }; let timeFormat = { hour: 'numeric', minute: 'numeric' }; let formatted = this.date.toLocaleDateString(undefined, dateFormat) + ' ' + this.date.toLocaleTimeString(undefined, timeFormat); if (this.compact) { if (this.date.toDateString() === new Date().toDateString()) { formatted = this.date.toLocaleTimeString(undefined, timeFormat); if (this.updatedTimestamp) { formatted = 'at ' + formatted; } } else { formatted = this.date.toLocaleDateString(undefined, { year: 'numeric', month: 'numeric', day: 'numeric' }); } } if (this.updatedTimestamp) { formatted = 'Updated ' + formatted; } return formatted; } }" x-text="format()"> 10/9/2024 </time> <span class="text-gray-550">|</span> <a class="view-comments text-gray-300 hover:text-gray-500" href="https://arstechnica.com/security/2024/10/two-never-before-seen-tools-from-same-group-infect-air-gapped-devices/#comments" title="143 comments"> <svg class="-mt-1 ml-1 mr-[2px] inline-block h-4 w-4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80"><defs><clipPath id="bubble-zero_svg__a"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath><clipPath id="bubble-zero_svg__b"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath></defs><g clip-path="url(#bubble-zero_svg__a)"><g fill="currentColor" clip-path="url(#bubble-zero_svg__b)"><path d="M80 40c0 22.09-17.91 40-40 40S0 62.09 0 40 17.91 0 40 0s40 17.91 40 40"/><path d="M40 40 .59 76.58C-.67 77.84.22 80 2.01 80H40z"/></g></g></svg> 143 </a> </span></div> </div> </div> </div> </div> </article> <article id="card-2054282" data-id="2054282" class="relative group card-list-square post-2054282 post type-post status-publish format-standard has-post-thumbnail hentry category-information-technology category-security tag-exploits tag-linux-2 tag-malware tag-vulnerabilities"> <div class="overflow-hidden rounded-sm"> <div class="flex flex-nowrap items-start"> <a class="relative block aspect-square h-auto w-16 overflow-hidden rounded-sm md:w-24" href="https://arstechnica.com/security/2024/10/persistent-stealthy-linux-malware-has-infected-thousands-since-2021/"><img width="150" height="150" src="https://cdn.arstechnica.net/wp-content/uploads/2024/10/linux-scripts-150x150.jpg" class="group-hover:saturate-150 object-cover h-auto min-w-full min-h-full absolute wp-post-image" alt="Real Java Script code developing screen. Programing workflow abstract algorithm concept. Closeup of Java Script and HTML code." loading="lazy" decoding="async" srcset="https://cdn.arstechnica.net/wp-content/uploads/2024/10/linux-scripts-150x150.jpg 150w, https://cdn.arstechnica.net/wp-content/uploads/2024/10/linux-scripts-500x500.jpg 500w, https://cdn.arstechnica.net/wp-content/uploads/2024/10/linux-scripts-1000x1000.jpg 1000w" sizes="auto, (max-width: 150px) 100vw, 150px" /></a> <div class="flex flex-1 flex-col justify-between pl-3 sm:pl-5"> <div> <h2 class="-mt-1 font-serif text-xl font-bold leading-none md:text-2xl md:leading-none"> <a class="text-gray-700 visited:text-gray-300 hover:text-orange-400 dark:text-gray-100 dark:visited:text-gray-400 dark:hover:text-orange-400" href="https://arstechnica.com/security/2024/10/persistent-stealthy-linux-malware-has-infected-thousands-since-2021/">Thousands of Linux systems infected by stealthy malware since 2021</a> </h2> <p class="leading-tighter dark:text-gray-250 my-1 text-base text-gray-400"> The ability to remain installed and undetected makes Perfctl hard to fight. </p> <div class="font-impact text-xs font-semibold uppercase text-gray-300"><span>Dan Goodin</span> – <span class="whitespace-nowrap"> <time class="mr-[2px] inline-block cursor-default" title="2024-10-03T19:42:05-04:00" datetime="2024-10-03T19:42:05-04:00" x-data="{ compact: true, open: false, date: new Date('2024-10-03T19:42:05-04:00'), updatedTimestamp: false, format: function() { let dateFormat = { year: 'numeric', month: 'short', day: 'numeric' }; let timeFormat = { hour: 'numeric', minute: 'numeric' }; let formatted = this.date.toLocaleDateString(undefined, dateFormat) + ' ' + this.date.toLocaleTimeString(undefined, timeFormat); if (this.compact) { if (this.date.toDateString() === new Date().toDateString()) { formatted = this.date.toLocaleTimeString(undefined, timeFormat); if (this.updatedTimestamp) { formatted = 'at ' + formatted; } } else { formatted = this.date.toLocaleDateString(undefined, { year: 'numeric', month: 'numeric', day: 'numeric' }); } } if (this.updatedTimestamp) { formatted = 'Updated ' + formatted; } return formatted; } }" x-text="format()"> 10/3/2024 </time> <span class="text-gray-550">|</span> <a class="view-comments text-gray-300 hover:text-gray-500" href="https://arstechnica.com/security/2024/10/persistent-stealthy-linux-malware-has-infected-thousands-since-2021/#comments" title="49 comments"> <svg class="-mt-1 ml-1 mr-[2px] inline-block h-4 w-4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80"><defs><clipPath id="bubble-zero_svg__a"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath><clipPath id="bubble-zero_svg__b"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath></defs><g clip-path="url(#bubble-zero_svg__a)"><g fill="currentColor" clip-path="url(#bubble-zero_svg__b)"><path d="M80 40c0 22.09-17.91 40-40 40S0 62.09 0 40 17.91 0 40 0s40 17.91 40 40"/><path d="M40 40 .59 76.58C-.67 77.84.22 80 2.01 80H40z"/></g></g></svg> 49 </a> </span></div> </div> </div> </div> </div> </article> <article id="card-2054027" data-id="2054027" class="relative group card-list-square post-2054027 post type-post status-publish format-standard has-post-thumbnail hentry category-information-technology category-security tag-email tag-vulnerabilities tag-webshells tag-zimbra"> <div class="overflow-hidden rounded-sm"> <div class="flex flex-nowrap items-start"> <a class="relative block aspect-square h-auto w-16 overflow-hidden rounded-sm md:w-24" href="https://arstechnica.com/security/2024/10/attackers-exploit-critical-vulnerability-recently-patched-in-zimbra-servers/"><img width="150" height="150" src="https://cdn.arstechnica.net/wp-content/uploads/2023/07/exploit-vulnerability-security-1-150x150.jpg" class="group-hover:saturate-150 object-cover h-auto min-w-full min-h-full absolute wp-post-image" alt="" loading="lazy" decoding="async" srcset="https://cdn.arstechnica.net/wp-content/uploads/2023/07/exploit-vulnerability-security-1-150x150.jpg 150w, https://cdn.arstechnica.net/wp-content/uploads/2023/07/exploit-vulnerability-security-1-500x500.jpg 500w" sizes="auto, (max-width: 150px) 100vw, 150px" /></a> <div class="flex flex-1 flex-col justify-between pl-3 sm:pl-5"> <div> <h2 class="-mt-1 font-serif text-xl font-bold leading-none md:text-2xl md:leading-none"> <a class="text-gray-700 visited:text-gray-300 hover:text-orange-400 dark:text-gray-100 dark:visited:text-gray-400 dark:hover:text-orange-400" href="https://arstechnica.com/security/2024/10/attackers-exploit-critical-vulnerability-recently-patched-in-zimbra-servers/">Attackers exploit critical Zimbra vulnerability using cc’d email addresses</a> </h2> <p class="leading-tighter dark:text-gray-250 my-1 text-base text-gray-400"> When successful, attacks install a backdoor. Getting it to work reliably is another matter. </p> <div class="font-impact text-xs font-semibold uppercase text-gray-300"><span>Dan Goodin</span> – <span class="whitespace-nowrap"> <time class="mr-[2px] inline-block cursor-default" title="2024-10-02T17:50:28-04:00" datetime="2024-10-02T17:50:28-04:00" x-data="{ compact: true, open: false, date: new Date('2024-10-02T17:50:28-04:00'), updatedTimestamp: false, format: function() { let dateFormat = { year: 'numeric', month: 'short', day: 'numeric' }; let timeFormat = { hour: 'numeric', minute: 'numeric' }; let formatted = this.date.toLocaleDateString(undefined, dateFormat) + ' ' + this.date.toLocaleTimeString(undefined, timeFormat); if (this.compact) { if (this.date.toDateString() === new Date().toDateString()) { formatted = this.date.toLocaleTimeString(undefined, timeFormat); if (this.updatedTimestamp) { formatted = 'at ' + formatted; } } else { formatted = this.date.toLocaleDateString(undefined, { year: 'numeric', month: 'numeric', day: 'numeric' }); } } if (this.updatedTimestamp) { formatted = 'Updated ' + formatted; } return formatted; } }" x-text="format()"> 10/2/2024 </time> <span class="text-gray-550">|</span> <a class="view-comments text-gray-300 hover:text-gray-500" href="https://arstechnica.com/security/2024/10/attackers-exploit-critical-vulnerability-recently-patched-in-zimbra-servers/#comments" title="8 comments"> <svg class="-mt-1 ml-1 mr-[2px] inline-block h-4 w-4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80"><defs><clipPath id="bubble-zero_svg__a"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath><clipPath id="bubble-zero_svg__b"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath></defs><g clip-path="url(#bubble-zero_svg__a)"><g fill="currentColor" clip-path="url(#bubble-zero_svg__b)"><path d="M80 40c0 22.09-17.91 40-40 40S0 62.09 0 40 17.91 0 40 0s40 17.91 40 40"/><path d="M40 40 .59 76.58C-.67 77.84.22 80 2.01 80H40z"/></g></g></svg> 8 </a> </span></div> </div> </div> </div> </div> </article> <article id="card-2053721" data-id="2053721" class="relative group card-list-square post-2053721 post type-post status-publish format-standard has-post-thumbnail hentry category-information-technology category-security tag-insider-trading tag-password-resets tag-passwords"> <div class="overflow-hidden rounded-sm"> <div class="flex flex-nowrap items-start"> <a class="relative block aspect-square h-auto w-16 overflow-hidden rounded-sm md:w-24" href="https://arstechnica.com/security/2024/10/crook-made-millions-by-breaking-into-execs-office365-inboxes-feds-say/"><img width="150" height="150" src="https://cdn.arstechnica.net/wp-content/uploads/2024/10/email-inbox-150x150.jpg" class="group-hover:saturate-150 object-cover h-auto min-w-full min-h-full absolute wp-post-image" alt="" loading="lazy" decoding="async" srcset="https://cdn.arstechnica.net/wp-content/uploads/2024/10/email-inbox-150x150.jpg 150w, https://cdn.arstechnica.net/wp-content/uploads/2024/10/email-inbox-500x500.jpg 500w" sizes="auto, (max-width: 150px) 100vw, 150px" /></a> <div class="flex flex-1 flex-col justify-between pl-3 sm:pl-5"> <div> <h2 class="-mt-1 font-serif text-xl font-bold leading-none md:text-2xl md:leading-none"> <a class="text-gray-700 visited:text-gray-300 hover:text-orange-400 dark:text-gray-100 dark:visited:text-gray-400 dark:hover:text-orange-400" href="https://arstechnica.com/security/2024/10/crook-made-millions-by-breaking-into-execs-office365-inboxes-feds-say/">Crook made millions by breaking into execs’ Office365 inboxes, feds say</a> </h2> <p class="leading-tighter dark:text-gray-250 my-1 text-base text-gray-400"> Email accounts inside 5 US companies unlawfully breached through password resets. </p> <div class="font-impact text-xs font-semibold uppercase text-gray-300"><span>Dan Goodin</span> – <span class="whitespace-nowrap"> <time class="mr-[2px] inline-block cursor-default" title="2024-10-01T15:40:59-04:00" datetime="2024-10-01T15:40:59-04:00" x-data="{ compact: true, open: false, date: new Date('2024-10-01T15:40:59-04:00'), updatedTimestamp: false, format: function() { let dateFormat = { year: 'numeric', month: 'short', day: 'numeric' }; let timeFormat = { hour: 'numeric', minute: 'numeric' }; let formatted = this.date.toLocaleDateString(undefined, dateFormat) + ' ' + this.date.toLocaleTimeString(undefined, timeFormat); if (this.compact) { if (this.date.toDateString() === new Date().toDateString()) { formatted = this.date.toLocaleTimeString(undefined, timeFormat); if (this.updatedTimestamp) { formatted = 'at ' + formatted; } } else { formatted = this.date.toLocaleDateString(undefined, { year: 'numeric', month: 'numeric', day: 'numeric' }); } } if (this.updatedTimestamp) { formatted = 'Updated ' + formatted; } return formatted; } }" x-text="format()"> 10/1/2024 </time> <span class="text-gray-550">|</span> <a class="view-comments text-gray-300 hover:text-gray-500" href="https://arstechnica.com/security/2024/10/crook-made-millions-by-breaking-into-execs-office365-inboxes-feds-say/#comments" title="44 comments"> <svg class="-mt-1 ml-1 mr-[2px] inline-block h-4 w-4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80"><defs><clipPath id="bubble-zero_svg__a"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath><clipPath id="bubble-zero_svg__b"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath></defs><g clip-path="url(#bubble-zero_svg__a)"><g fill="currentColor" clip-path="url(#bubble-zero_svg__b)"><path d="M80 40c0 22.09-17.91 40-40 40S0 62.09 0 40 17.91 0 40 0s40 17.91 40 40"/><path d="M40 40 .59 76.58C-.67 77.84.22 80 2.01 80H40z"/></g></g></svg> 44 </a> </span></div> </div> </div> </div> </div> </article> <article id="card-2053460" data-id="2053460" class="relative group card-list-square post-2053460 post type-post status-publish format-standard has-post-thumbnail hentry category-information-technology category-security tag-courts tag-governments tag-vulnerabilities"> <div class="overflow-hidden rounded-sm"> <div class="flex flex-nowrap items-start"> <a class="relative block aspect-square h-auto w-16 overflow-hidden rounded-sm md:w-24" href="https://arstechnica.com/security/2024/09/systems-used-by-courts-and-govs-across-the-us-riddled-with-vulnerabilities/"><img width="150" height="150" src="https://cdn.arstechnica.net/wp-content/uploads/2023/07/exploit-vulnerability-security-150x150.jpg" class="group-hover:saturate-150 object-cover h-auto min-w-full min-h-full absolute wp-post-image" alt="" loading="lazy" decoding="async" srcset="https://cdn.arstechnica.net/wp-content/uploads/2023/07/exploit-vulnerability-security-150x150.jpg 150w, https://cdn.arstechnica.net/wp-content/uploads/2023/07/exploit-vulnerability-security-500x500.jpg 500w" sizes="auto, (max-width: 150px) 100vw, 150px" /></a> <div class="flex flex-1 flex-col justify-between pl-3 sm:pl-5"> <div> <h2 class="-mt-1 font-serif text-xl font-bold leading-none md:text-2xl md:leading-none"> <a class="text-gray-700 visited:text-gray-300 hover:text-orange-400 dark:text-gray-100 dark:visited:text-gray-400 dark:hover:text-orange-400" href="https://arstechnica.com/security/2024/09/systems-used-by-courts-and-govs-across-the-us-riddled-with-vulnerabilities/">Systems used by courts and governments across the US riddled with vulnerabilities</a> </h2> <p class="leading-tighter dark:text-gray-250 my-1 text-base text-gray-400"> With hundreds of courts and agencies affected, chances are one near you is, too. </p> <div class="font-impact text-xs font-semibold uppercase text-gray-300"><span>Dan Goodin</span> – <span class="whitespace-nowrap"> <time class="mr-[2px] inline-block cursor-default" title="2024-09-30T16:30:26-04:00" datetime="2024-09-30T16:30:26-04:00" x-data="{ compact: true, open: false, date: new Date('2024-09-30T16:30:26-04:00'), updatedTimestamp: false, format: function() { let dateFormat = { year: 'numeric', month: 'short', day: 'numeric' }; let timeFormat = { hour: 'numeric', minute: 'numeric' }; let formatted = this.date.toLocaleDateString(undefined, dateFormat) + ' ' + this.date.toLocaleTimeString(undefined, timeFormat); if (this.compact) { if (this.date.toDateString() === new Date().toDateString()) { formatted = this.date.toLocaleTimeString(undefined, timeFormat); if (this.updatedTimestamp) { formatted = 'at ' + formatted; } } else { formatted = this.date.toLocaleDateString(undefined, { year: 'numeric', month: 'numeric', day: 'numeric' }); } } if (this.updatedTimestamp) { formatted = 'Updated ' + formatted; } return formatted; } }" x-text="format()"> 9/30/2024 </time> <span class="text-gray-550">|</span> <a class="view-comments text-gray-300 hover:text-gray-500" href="https://arstechnica.com/security/2024/09/systems-used-by-courts-and-govs-across-the-us-riddled-with-vulnerabilities/#comments" title="36 comments"> <svg class="-mt-1 ml-1 mr-[2px] inline-block h-4 w-4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80"><defs><clipPath id="bubble-zero_svg__a"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath><clipPath id="bubble-zero_svg__b"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath></defs><g clip-path="url(#bubble-zero_svg__a)"><g fill="currentColor" clip-path="url(#bubble-zero_svg__b)"><path d="M80 40c0 22.09-17.91 40-40 40S0 62.09 0 40 17.91 0 40 0s40 17.91 40 40"/><path d="M40 40 .59 76.58C-.67 77.84.22 80 2.01 80H40z"/></g></g></svg> 36 </a> </span></div> </div> </div> </div> </div> </article> <article id="card-2053118" data-id="2053118" class="relative group card-list-square post-2053118 post type-post status-publish format-standard has-post-thumbnail hentry category-information-technology category-security tag-authentication tag-cryptography tag-hashing tag-passwords tag-privacy"> <div class="overflow-hidden rounded-sm"> <div class="flex flex-nowrap items-start"> <a class="relative block aspect-square h-auto w-16 overflow-hidden rounded-sm md:w-24" href="https://arstechnica.com/security/2024/09/meta-slapped-with-101-million-fine-for-storing-passwords-in-plaintext/"><img width="150" height="150" src="https://cdn.arstechnica.net/wp-content/uploads/2022/07/password-login-150x150.jpeg" class="group-hover:saturate-150 object-cover h-auto min-w-full min-h-full absolute wp-post-image" alt="" loading="lazy" decoding="async" srcset="https://cdn.arstechnica.net/wp-content/uploads/2022/07/password-login-150x150.jpeg 150w, https://cdn.arstechnica.net/wp-content/uploads/2022/07/password-login-500x500.jpeg 500w" sizes="auto, (max-width: 150px) 100vw, 150px" /></a> <div class="flex flex-1 flex-col justify-between pl-3 sm:pl-5"> <div> <h2 class="-mt-1 font-serif text-xl font-bold leading-none md:text-2xl md:leading-none"> <a class="text-gray-700 visited:text-gray-300 hover:text-orange-400 dark:text-gray-100 dark:visited:text-gray-400 dark:hover:text-orange-400" href="https://arstechnica.com/security/2024/09/meta-slapped-with-101-million-fine-for-storing-passwords-in-plaintext/">Meta pays the price for storing hundreds of millions of passwords in plaintext</a> </h2> <p class="leading-tighter dark:text-gray-250 my-1 text-base text-gray-400"> Company failed to follow one of the most sacrosanct rules for password storage. </p> <div class="font-impact text-xs font-semibold uppercase text-gray-300"><span>Dan Goodin</span> – <span class="whitespace-nowrap"> <time class="mr-[2px] inline-block cursor-default" title="2024-09-27T13:53:28-04:00" datetime="2024-09-27T13:53:28-04:00" x-data="{ compact: true, open: false, date: new Date('2024-09-27T13:53:28-04:00'), updatedTimestamp: false, format: function() { let dateFormat = { year: 'numeric', month: 'short', day: 'numeric' }; let timeFormat = { hour: 'numeric', minute: 'numeric' }; let formatted = this.date.toLocaleDateString(undefined, dateFormat) + ' ' + this.date.toLocaleTimeString(undefined, timeFormat); if (this.compact) { if (this.date.toDateString() === new Date().toDateString()) { formatted = this.date.toLocaleTimeString(undefined, timeFormat); if (this.updatedTimestamp) { formatted = 'at ' + formatted; } } else { formatted = this.date.toLocaleDateString(undefined, { year: 'numeric', month: 'numeric', day: 'numeric' }); } } if (this.updatedTimestamp) { formatted = 'Updated ' + formatted; } return formatted; } }" x-text="format()"> 9/27/2024 </time> <span class="text-gray-550">|</span> <a class="view-comments text-gray-300 hover:text-gray-500" href="https://arstechnica.com/security/2024/09/meta-slapped-with-101-million-fine-for-storing-passwords-in-plaintext/#comments" title="190 comments"> <svg class="-mt-1 ml-1 mr-[2px] inline-block h-4 w-4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80"><defs><clipPath id="bubble-zero_svg__a"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath><clipPath id="bubble-zero_svg__b"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath></defs><g clip-path="url(#bubble-zero_svg__a)"><g fill="currentColor" clip-path="url(#bubble-zero_svg__b)"><path d="M80 40c0 22.09-17.91 40-40 40S0 62.09 0 40 17.91 0 40 0s40 17.91 40 40"/><path d="M40 40 .59 76.58C-.67 77.84.22 80 2.01 80H40z"/></g></g></svg> 190 </a> </span></div> </div> </div> </div> </div> </article> </div> <div class="hidden justify-self-end bg-gray-100 dark:bg-gray-50 lg:block"> <div class="ad-wrapper is-sticky is-rail"> <div class="ad-wrapper-inner"> <div class="ad ad--rail"></div> </div> </div> </div> </div> <div class="ad-wrapper with-label is-fullwidth"> <div class="ad-wrapper-inner"> <div class="ad ad--mid-content"> </div> </div> </div> <div class="mx-auto my-5 px-[15px] sm:px-5 sm:px-5 lg:grid lg:max-w-6xl lg:grid-cols-3 lg:gap-8 xl:px-0"> <div class="grid grid-cols-1 gap-5 lg:col-span-2"> <article id="card-2053063" data-id="2053063" class="relative group card-list-square post-2053063 post type-post status-publish format-standard has-post-thumbnail hentry category-ai category-security tag-captcha"> <div class="overflow-hidden rounded-sm"> <div class="flex flex-nowrap items-start"> <a class="relative block aspect-square h-auto w-16 overflow-hidden rounded-sm md:w-24" href="https://arstechnica.com/ai/2024/09/ai-defeats-traffic-image-captcha-in-another-triumph-of-machine-over-man/"><img width="150" height="150" src="https://cdn.arstechnica.net/wp-content/uploads/2024/09/captcha-150x150.png" class="group-hover:saturate-150 object-cover h-auto min-w-full min-h-full absolute wp-post-image" alt="" loading="lazy" decoding="async" /></a> <div class="flex flex-1 flex-col justify-between pl-3 sm:pl-5"> <div> <h2 class="-mt-1 font-serif text-xl font-bold leading-none md:text-2xl md:leading-none"> <a class="text-gray-700 visited:text-gray-300 hover:text-orange-400 dark:text-gray-100 dark:visited:text-gray-400 dark:hover:text-orange-400" href="https://arstechnica.com/ai/2024/09/ai-defeats-traffic-image-captcha-in-another-triumph-of-machine-over-man/">AI bots now beat 100% of those traffic-image CAPTCHAs</a> </h2> <p class="leading-tighter dark:text-gray-250 my-1 text-base text-gray-400"> I, for one, welcome our traffic light-identifying overlords. </p> <div class="font-impact text-xs font-semibold uppercase text-gray-300"><span>Kyle Orland</span> – <span class="whitespace-nowrap"> <time class="mr-[2px] inline-block cursor-default" title="2024-09-27T13:16:53-04:00" datetime="2024-09-27T13:16:53-04:00" x-data="{ compact: true, open: false, date: new Date('2024-09-27T13:16:53-04:00'), updatedTimestamp: false, format: function() { let dateFormat = { year: 'numeric', month: 'short', day: 'numeric' }; let timeFormat = { hour: 'numeric', minute: 'numeric' }; let formatted = this.date.toLocaleDateString(undefined, dateFormat) + ' ' + this.date.toLocaleTimeString(undefined, timeFormat); if (this.compact) { if (this.date.toDateString() === new Date().toDateString()) { formatted = this.date.toLocaleTimeString(undefined, timeFormat); if (this.updatedTimestamp) { formatted = 'at ' + formatted; } } else { formatted = this.date.toLocaleDateString(undefined, { year: 'numeric', month: 'numeric', day: 'numeric' }); } } if (this.updatedTimestamp) { formatted = 'Updated ' + formatted; } return formatted; } }" x-text="format()"> 9/27/2024 </time> <span class="text-gray-550">|</span> <a class="view-comments text-gray-300 hover:text-gray-500" href="https://arstechnica.com/ai/2024/09/ai-defeats-traffic-image-captcha-in-another-triumph-of-machine-over-man/#comments" title="99 comments"> <svg class="-mt-1 ml-1 mr-[2px] inline-block h-4 w-4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80"><defs><clipPath id="bubble-zero_svg__a"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath><clipPath id="bubble-zero_svg__b"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath></defs><g clip-path="url(#bubble-zero_svg__a)"><g fill="currentColor" clip-path="url(#bubble-zero_svg__b)"><path d="M80 40c0 22.09-17.91 40-40 40S0 62.09 0 40 17.91 0 40 0s40 17.91 40 40"/><path d="M40 40 .59 76.58C-.67 77.84.22 80 2.01 80H40z"/></g></g></svg> 99 </a> </span></div> </div> </div> </div> </div> </article> <article id="card-2053030" data-id="2053030" class="relative group card-list-square post-2053030 post type-post status-publish format-standard has-post-thumbnail hentry category-security tag-cell-phone tag-eric-adams tag-new-york tag-nyc-fbi tag-passcode"> <div class="overflow-hidden rounded-sm"> <div class="flex flex-nowrap items-start"> <a class="relative block aspect-square h-auto w-16 overflow-hidden rounded-sm md:w-24" href="https://arstechnica.com/security/2024/09/indicted-nyc-mayor-to-fbi-i-uh-forgot-my-phones-passcode/"><img width="150" height="150" src="https://cdn.arstechnica.net/wp-content/uploads/2023/05/head-150x150.jpg" class="group-hover:saturate-150 object-cover h-auto min-w-full min-h-full absolute wp-post-image" alt="NYC Mayor Eric Adams holding an AirTag." loading="lazy" decoding="async" srcset="https://cdn.arstechnica.net/wp-content/uploads/2023/05/head-150x150.jpg 150w, https://cdn.arstechnica.net/wp-content/uploads/2023/05/head-500x500.jpg 500w, https://cdn.arstechnica.net/wp-content/uploads/2023/05/head-1000x1000.jpg 1000w" sizes="auto, (max-width: 150px) 100vw, 150px" /></a> <div class="flex flex-1 flex-col justify-between pl-3 sm:pl-5"> <div> <h2 class="-mt-1 font-serif text-xl font-bold leading-none md:text-2xl md:leading-none"> <a class="text-gray-700 visited:text-gray-300 hover:text-orange-400 dark:text-gray-100 dark:visited:text-gray-400 dark:hover:text-orange-400" href="https://arstechnica.com/security/2024/09/indicted-nyc-mayor-to-fbi-i-uh-forgot-my-phones-passcode/">Indicted NYC mayor to FBI: I, uh, forgot my phone’s passcode</a> </h2> <p class="leading-tighter dark:text-gray-250 my-1 text-base text-gray-400"> I think it starts with a 2? </p> <div class="font-impact text-xs font-semibold uppercase text-gray-300"><span>Nate Anderson</span> – <span class="whitespace-nowrap"> <time class="mr-[2px] inline-block cursor-default" title="2024-09-27T12:11:35-04:00" datetime="2024-09-27T12:11:35-04:00" x-data="{ compact: true, open: false, date: new Date('2024-09-27T12:11:35-04:00'), updatedTimestamp: false, format: function() { let dateFormat = { year: 'numeric', month: 'short', day: 'numeric' }; let timeFormat = { hour: 'numeric', minute: 'numeric' }; let formatted = this.date.toLocaleDateString(undefined, dateFormat) + ' ' + this.date.toLocaleTimeString(undefined, timeFormat); if (this.compact) { if (this.date.toDateString() === new Date().toDateString()) { formatted = this.date.toLocaleTimeString(undefined, timeFormat); if (this.updatedTimestamp) { formatted = 'at ' + formatted; } } else { formatted = this.date.toLocaleDateString(undefined, { year: 'numeric', month: 'numeric', day: 'numeric' }); } } if (this.updatedTimestamp) { formatted = 'Updated ' + formatted; } return formatted; } }" x-text="format()"> 9/27/2024 </time> <span class="text-gray-550">|</span> <a class="view-comments text-gray-300 hover:text-gray-500" href="https://arstechnica.com/security/2024/09/indicted-nyc-mayor-to-fbi-i-uh-forgot-my-phones-passcode/#comments" title="200 comments"> <svg class="-mt-1 ml-1 mr-[2px] inline-block h-4 w-4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80"><defs><clipPath id="bubble-zero_svg__a"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath><clipPath id="bubble-zero_svg__b"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath></defs><g clip-path="url(#bubble-zero_svg__a)"><g fill="currentColor" clip-path="url(#bubble-zero_svg__b)"><path d="M80 40c0 22.09-17.91 40-40 40S0 62.09 0 40 17.91 0 40 0s40 17.91 40 40"/><path d="M40 40 .59 76.58C-.67 77.84.22 80 2.01 80H40z"/></g></g></svg> 200 </a> </span></div> </div> </div> </div> </div> </article> <article id="card-2052925" data-id="2052925" class="relative group card-list-square post-2052925 post type-post status-publish format-standard has-post-thumbnail hentry category-cars category-security tag-connected-cars tag-kia tag-syndication tag-toyota"> <div class="overflow-hidden rounded-sm"> <div class="flex flex-nowrap items-start"> <a class="relative block aspect-square h-auto w-16 overflow-hidden rounded-sm md:w-24" href="https://arstechnica.com/cars/2024/09/flaw-in-kia-web-portal-let-researchers-track-hack-cars/"><img width="150" height="150" src="https://cdn.arstechnica.net/wp-content/uploads/2024/09/carhack-150x150.jpg" class="group-hover:saturate-150 object-cover h-auto min-w-full min-h-full absolute wp-post-image" alt="car center console with the word HACKED" loading="lazy" decoding="async" srcset="https://cdn.arstechnica.net/wp-content/uploads/2024/09/carhack-150x150.jpg 150w, https://cdn.arstechnica.net/wp-content/uploads/2024/09/carhack-500x500.jpg 500w, https://cdn.arstechnica.net/wp-content/uploads/2024/09/carhack-1000x1000.jpg 1000w" sizes="auto, (max-width: 150px) 100vw, 150px" /></a> <div class="flex flex-1 flex-col justify-between pl-3 sm:pl-5"> <div> <h2 class="-mt-1 font-serif text-xl font-bold leading-none md:text-2xl md:leading-none"> <a class="text-gray-700 visited:text-gray-300 hover:text-orange-400 dark:text-gray-100 dark:visited:text-gray-400 dark:hover:text-orange-400" href="https://arstechnica.com/cars/2024/09/flaw-in-kia-web-portal-let-researchers-track-hack-cars/">Flaw in Kia’s web portal let researchers track, hack cars</a> </h2> <p class="leading-tighter dark:text-gray-250 my-1 text-base text-gray-400"> Bug let researchers track millions of cars, unlock doors, and start engines at will. </p> <div class="font-impact text-xs font-semibold uppercase text-gray-300"><span>WIRED</span> – <span class="whitespace-nowrap"> <time class="mr-[2px] inline-block cursor-default" title="2024-09-27T07:02:20-04:00" datetime="2024-09-27T07:02:20-04:00" x-data="{ compact: true, open: false, date: new Date('2024-09-27T07:02:20-04:00'), updatedTimestamp: false, format: function() { let dateFormat = { year: 'numeric', month: 'short', day: 'numeric' }; let timeFormat = { hour: 'numeric', minute: 'numeric' }; let formatted = this.date.toLocaleDateString(undefined, dateFormat) + ' ' + this.date.toLocaleTimeString(undefined, timeFormat); if (this.compact) { if (this.date.toDateString() === new Date().toDateString()) { formatted = this.date.toLocaleTimeString(undefined, timeFormat); if (this.updatedTimestamp) { formatted = 'at ' + formatted; } } else { formatted = this.date.toLocaleDateString(undefined, { year: 'numeric', month: 'numeric', day: 'numeric' }); } } if (this.updatedTimestamp) { formatted = 'Updated ' + formatted; } return formatted; } }" x-text="format()"> 9/27/2024 </time> <span class="text-gray-550">|</span> <a class="view-comments text-gray-300 hover:text-gray-500" href="https://arstechnica.com/cars/2024/09/flaw-in-kia-web-portal-let-researchers-track-hack-cars/#comments" title="117 comments"> <svg class="-mt-1 ml-1 mr-[2px] inline-block h-4 w-4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80"><defs><clipPath id="bubble-zero_svg__a"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath><clipPath id="bubble-zero_svg__b"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath></defs><g clip-path="url(#bubble-zero_svg__a)"><g fill="currentColor" clip-path="url(#bubble-zero_svg__b)"><path d="M80 40c0 22.09-17.91 40-40 40S0 62.09 0 40 17.91 0 40 0s40 17.91 40 40"/><path d="M40 40 .59 76.58C-.67 77.84.22 80 2.01 80H40z"/></g></g></svg> 117 </a> </span></div> </div> </div> </div> </div> </article> <article id="card-2052906" data-id="2052906" class="relative group card-list-square post-2052906 post type-post status-publish format-standard has-post-thumbnail hentry category-information-technology category-security tag-anonymity tag-privacy tag-tails tag-tor-network tag-tor-project"> <div class="overflow-hidden rounded-sm"> <div class="flex flex-nowrap items-start"> <a class="relative block aspect-square h-auto w-16 overflow-hidden rounded-sm md:w-24" href="https://arstechnica.com/security/2024/09/tor-project-and-tails-merge-to-pool-resources-and-collaborate-better/"><img width="150" height="150" src="https://cdn.arstechnica.net/wp-content/uploads/2024/09/tor-tails-150x150.webp" class="group-hover:saturate-150 object-cover h-auto min-w-full min-h-full absolute wp-post-image" alt="" loading="lazy" decoding="async" srcset="https://cdn.arstechnica.net/wp-content/uploads/2024/09/tor-tails-150x150.webp 150w, https://cdn.arstechnica.net/wp-content/uploads/2024/09/tor-tails-500x500.webp 500w" sizes="auto, (max-width: 150px) 100vw, 150px" /></a> <div class="flex flex-1 flex-col justify-between pl-3 sm:pl-5"> <div> <h2 class="-mt-1 font-serif text-xl font-bold leading-none md:text-2xl md:leading-none"> <a class="text-gray-700 visited:text-gray-300 hover:text-orange-400 dark:text-gray-100 dark:visited:text-gray-400 dark:hover:text-orange-400" href="https://arstechnica.com/security/2024/09/tor-project-and-tails-merge-to-pool-resources-and-collaborate-better/">Tails OS joins forces with Tor Project in merger</a> </h2> <p class="leading-tighter dark:text-gray-250 my-1 text-base text-gray-400"> The organizations have worked closely together over the years. </p> <div class="font-impact text-xs font-semibold uppercase text-gray-300"><span>Dan Goodin</span> – <span class="whitespace-nowrap"> <time class="mr-[2px] inline-block cursor-default" title="2024-09-26T16:57:23-04:00" datetime="2024-09-26T16:57:23-04:00" x-data="{ compact: true, open: false, date: new Date('2024-09-26T16:57:23-04:00'), updatedTimestamp: false, format: function() { let dateFormat = { year: 'numeric', month: 'short', day: 'numeric' }; let timeFormat = { hour: 'numeric', minute: 'numeric' }; let formatted = this.date.toLocaleDateString(undefined, dateFormat) + ' ' + this.date.toLocaleTimeString(undefined, timeFormat); if (this.compact) { if (this.date.toDateString() === new Date().toDateString()) { formatted = this.date.toLocaleTimeString(undefined, timeFormat); if (this.updatedTimestamp) { formatted = 'at ' + formatted; } } else { formatted = this.date.toLocaleDateString(undefined, { year: 'numeric', month: 'numeric', day: 'numeric' }); } } if (this.updatedTimestamp) { formatted = 'Updated ' + formatted; } return formatted; } }" x-text="format()"> 9/26/2024 </time> <span class="text-gray-550">|</span> <a class="view-comments text-gray-300 hover:text-gray-500" href="https://arstechnica.com/security/2024/09/tor-project-and-tails-merge-to-pool-resources-and-collaborate-better/#comments" title="58 comments"> <svg class="-mt-1 ml-1 mr-[2px] inline-block h-4 w-4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80"><defs><clipPath id="bubble-zero_svg__a"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath><clipPath id="bubble-zero_svg__b"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath></defs><g clip-path="url(#bubble-zero_svg__a)"><g fill="currentColor" clip-path="url(#bubble-zero_svg__b)"><path d="M80 40c0 22.09-17.91 40-40 40S0 62.09 0 40 17.91 0 40 0s40 17.91 40 40"/><path d="M40 40 .59 76.58C-.67 77.84.22 80 2.01 80H40z"/></g></g></svg> 58 </a> </span></div> </div> </div> </div> </div> </article> <article id="card-2052508" data-id="2052508" class="relative group card-list-square post-2052508 post type-post status-publish format-standard has-post-thumbnail hentry category-information-technology category-security tag-authentication tag-nist tag-passwords"> <div class="overflow-hidden rounded-sm"> <div class="flex flex-nowrap items-start"> <a class="relative block aspect-square h-auto w-16 overflow-hidden rounded-sm md:w-24" href="https://arstechnica.com/security/2024/09/nist-proposes-barring-some-of-the-most-nonsensical-password-rules/"><img width="150" height="150" src="https://cdn.arstechnica.net/wp-content/uploads/2021/04/password-150x150.jpeg" class="group-hover:saturate-150 object-cover h-auto min-w-full min-h-full absolute wp-post-image" alt="" loading="lazy" decoding="async" srcset="https://cdn.arstechnica.net/wp-content/uploads/2021/04/password-150x150.jpeg 150w, https://cdn.arstechnica.net/wp-content/uploads/2021/04/password-500x500.jpeg 500w" sizes="auto, (max-width: 150px) 100vw, 150px" /></a> <div class="flex flex-1 flex-col justify-between pl-3 sm:pl-5"> <div> <h2 class="-mt-1 font-serif text-xl font-bold leading-none md:text-2xl md:leading-none"> <a class="text-gray-700 visited:text-gray-300 hover:text-orange-400 dark:text-gray-100 dark:visited:text-gray-400 dark:hover:text-orange-400" href="https://arstechnica.com/security/2024/09/nist-proposes-barring-some-of-the-most-nonsensical-password-rules/">NIST proposes barring some of the most nonsensical password rules</a> </h2> <p class="leading-tighter dark:text-gray-250 my-1 text-base text-gray-400"> Proposed guidelines aim to inject badly needed common sense into password hygiene. </p> <div class="font-impact text-xs font-semibold uppercase text-gray-300"><span>Dan Goodin</span> – <span class="whitespace-nowrap"> <time class="mr-[2px] inline-block cursor-default" title="2024-09-25T18:39:38-04:00" datetime="2024-09-25T18:39:38-04:00" x-data="{ compact: true, open: false, date: new Date('2024-09-25T18:39:38-04:00'), updatedTimestamp: false, format: function() { let dateFormat = { year: 'numeric', month: 'short', day: 'numeric' }; let timeFormat = { hour: 'numeric', minute: 'numeric' }; let formatted = this.date.toLocaleDateString(undefined, dateFormat) + ' ' + this.date.toLocaleTimeString(undefined, timeFormat); if (this.compact) { if (this.date.toDateString() === new Date().toDateString()) { formatted = this.date.toLocaleTimeString(undefined, timeFormat); if (this.updatedTimestamp) { formatted = 'at ' + formatted; } } else { formatted = this.date.toLocaleDateString(undefined, { year: 'numeric', month: 'numeric', day: 'numeric' }); } } if (this.updatedTimestamp) { formatted = 'Updated ' + formatted; } return formatted; } }" x-text="format()"> 9/25/2024 </time> <span class="text-gray-550">|</span> <a class="view-comments text-gray-300 hover:text-gray-500" href="https://arstechnica.com/security/2024/09/nist-proposes-barring-some-of-the-most-nonsensical-password-rules/#comments" title="352 comments"> <svg class="-mt-1 ml-1 mr-[2px] inline-block h-4 w-4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80"><defs><clipPath id="bubble-zero_svg__a"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath><clipPath id="bubble-zero_svg__b"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath></defs><g clip-path="url(#bubble-zero_svg__a)"><g fill="currentColor" clip-path="url(#bubble-zero_svg__b)"><path d="M80 40c0 22.09-17.91 40-40 40S0 62.09 0 40 17.91 0 40 0s40 17.91 40 40"/><path d="M40 40 .59 76.58C-.67 77.84.22 80 2.01 80H40z"/></g></g></svg> 352 </a> </span></div> </div> </div> </div> </div> </article> <article id="card-2052198" data-id="2052198" class="relative group card-list-square post-2052198 post type-post status-publish format-standard has-post-thumbnail hentry category-ai category-information-technology category-security tag-chatgpt tag-openai tag-privacy tag-prompt-injection"> <div class="overflow-hidden rounded-sm"> <div class="flex flex-nowrap items-start"> <a class="relative block aspect-square h-auto w-16 overflow-hidden rounded-sm md:w-24" href="https://arstechnica.com/security/2024/09/false-memories-planted-in-chatgpt-give-hacker-persistent-exfiltration-channel/"><img width="150" height="150" src="https://cdn.arstechnica.net/wp-content/uploads/2024/09/memory-150x150.jpg" class="group-hover:saturate-150 object-cover h-auto min-w-full min-h-full absolute wp-post-image" alt="" loading="lazy" decoding="async" srcset="https://cdn.arstechnica.net/wp-content/uploads/2024/09/memory-150x150.jpg 150w, https://cdn.arstechnica.net/wp-content/uploads/2024/09/memory-500x500.jpg 500w" sizes="auto, (max-width: 150px) 100vw, 150px" /></a> <div class="flex flex-1 flex-col justify-between pl-3 sm:pl-5"> <div> <h2 class="-mt-1 font-serif text-xl font-bold leading-none md:text-2xl md:leading-none"> <a class="text-gray-700 visited:text-gray-300 hover:text-orange-400 dark:text-gray-100 dark:visited:text-gray-400 dark:hover:text-orange-400" href="https://arstechnica.com/security/2024/09/false-memories-planted-in-chatgpt-give-hacker-persistent-exfiltration-channel/">Hacker plants false memories in ChatGPT to steal user data in perpetuity</a> </h2> <p class="leading-tighter dark:text-gray-250 my-1 text-base text-gray-400"> Emails, documents, and other untrusted content can plant malicious memories. </p> <div class="font-impact text-xs font-semibold uppercase text-gray-300"><span>Dan Goodin</span> – <span class="whitespace-nowrap"> <time class="mr-[2px] inline-block cursor-default" title="2024-09-24T16:56:26-04:00" datetime="2024-09-24T16:56:26-04:00" x-data="{ compact: true, open: false, date: new Date('2024-09-24T16:56:26-04:00'), updatedTimestamp: false, format: function() { let dateFormat = { year: 'numeric', month: 'short', day: 'numeric' }; let timeFormat = { hour: 'numeric', minute: 'numeric' }; let formatted = this.date.toLocaleDateString(undefined, dateFormat) + ' ' + this.date.toLocaleTimeString(undefined, timeFormat); if (this.compact) { if (this.date.toDateString() === new Date().toDateString()) { formatted = this.date.toLocaleTimeString(undefined, timeFormat); if (this.updatedTimestamp) { formatted = 'at ' + formatted; } } else { formatted = this.date.toLocaleDateString(undefined, { year: 'numeric', month: 'numeric', day: 'numeric' }); } } if (this.updatedTimestamp) { formatted = 'Updated ' + formatted; } return formatted; } }" x-text="format()"> 9/24/2024 </time> <span class="text-gray-550">|</span> <a class="view-comments text-gray-300 hover:text-gray-500" href="https://arstechnica.com/security/2024/09/false-memories-planted-in-chatgpt-give-hacker-persistent-exfiltration-channel/#comments" title="105 comments"> <svg class="-mt-1 ml-1 mr-[2px] inline-block h-4 w-4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80"><defs><clipPath id="bubble-zero_svg__a"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath><clipPath id="bubble-zero_svg__b"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath></defs><g clip-path="url(#bubble-zero_svg__a)"><g fill="currentColor" clip-path="url(#bubble-zero_svg__b)"><path d="M80 40c0 22.09-17.91 40-40 40S0 62.09 0 40 17.91 0 40 0s40 17.91 40 40"/><path d="M40 40 .59 76.58C-.67 77.84.22 80 2.01 80H40z"/></g></g></svg> 105 </a> </span></div> </div> </div> </div> </div> </article> <article id="card-2051854" data-id="2051854" class="relative group card-list-square post-2051854 post type-post status-publish format-standard has-post-thumbnail hentry category-information-technology category-security tag-android-2 tag-botnet tag-google-play tag-malware"> <div class="overflow-hidden rounded-sm"> <div class="flex flex-nowrap items-start"> <a class="relative block aspect-square h-auto w-16 overflow-hidden rounded-sm md:w-24" href="https://arstechnica.com/security/2024/09/11-million-devices-infected-with-botnet-malware-hosted-in-google-play/"><img width="150" height="150" src="https://cdn.arstechnica.net/wp-content/uploads/2021/05/android-hack-150x150.jpg" class="group-hover:saturate-150 object-cover h-auto min-w-full min-h-full absolute wp-post-image" alt="A computer screen filled with ones and zeros also contains a Google logo and the word hacked." loading="lazy" decoding="async" srcset="https://cdn.arstechnica.net/wp-content/uploads/2021/05/android-hack-150x150.jpg 150w, https://cdn.arstechnica.net/wp-content/uploads/2021/05/android-hack-500x500.jpg 500w" sizes="auto, (max-width: 150px) 100vw, 150px" /></a> <div class="flex flex-1 flex-col justify-between pl-3 sm:pl-5"> <div> <h2 class="-mt-1 font-serif text-xl font-bold leading-none md:text-2xl md:leading-none"> <a class="text-gray-700 visited:text-gray-300 hover:text-orange-400 dark:text-gray-100 dark:visited:text-gray-400 dark:hover:text-orange-400" href="https://arstechnica.com/security/2024/09/11-million-devices-infected-with-botnet-malware-hosted-in-google-play/">11 million devices infected with botnet malware hosted in Google Play</a> </h2> <p class="leading-tighter dark:text-gray-250 my-1 text-base text-gray-400"> Necro infiltrated Google Play in 2019. It recently returned. </p> <div class="font-impact text-xs font-semibold uppercase text-gray-300"><span>Dan Goodin</span> – <span class="whitespace-nowrap"> <time class="mr-[2px] inline-block cursor-default" title="2024-09-23T16:27:36-04:00" datetime="2024-09-23T16:27:36-04:00" x-data="{ compact: true, open: false, date: new Date('2024-09-23T16:27:36-04:00'), updatedTimestamp: false, format: function() { let dateFormat = { year: 'numeric', month: 'short', day: 'numeric' }; let timeFormat = { hour: 'numeric', minute: 'numeric' }; let formatted = this.date.toLocaleDateString(undefined, dateFormat) + ' ' + this.date.toLocaleTimeString(undefined, timeFormat); if (this.compact) { if (this.date.toDateString() === new Date().toDateString()) { formatted = this.date.toLocaleTimeString(undefined, timeFormat); if (this.updatedTimestamp) { formatted = 'at ' + formatted; } } else { formatted = this.date.toLocaleDateString(undefined, { year: 'numeric', month: 'numeric', day: 'numeric' }); } } if (this.updatedTimestamp) { formatted = 'Updated ' + formatted; } return formatted; } }" x-text="format()"> 9/23/2024 </time> <span class="text-gray-550">|</span> <a class="view-comments text-gray-300 hover:text-gray-500" href="https://arstechnica.com/security/2024/09/11-million-devices-infected-with-botnet-malware-hosted-in-google-play/#comments" title="44 comments"> <svg class="-mt-1 ml-1 mr-[2px] inline-block h-4 w-4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80"><defs><clipPath id="bubble-zero_svg__a"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath><clipPath id="bubble-zero_svg__b"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath></defs><g clip-path="url(#bubble-zero_svg__a)"><g fill="currentColor" clip-path="url(#bubble-zero_svg__b)"><path d="M80 40c0 22.09-17.91 40-40 40S0 62.09 0 40 17.91 0 40 0s40 17.91 40 40"/><path d="M40 40 .59 76.58C-.67 77.84.22 80 2.01 80H40z"/></g></g></svg> 44 </a> </span></div> </div> </div> </div> </div> </article> </div> <div class="hidden justify-self-end bg-gray-100 dark:bg-gray-50 lg:block"> <div class="ad-wrapper is-sticky is-rail"> <div class="ad-wrapper-inner"> <div class="ad ad--rail"></div> </div> </div> </div> </div> <div class="mx-auto my-5 max-w-md px-[15px] sm:max-w-3xl sm:px-5 lg:max-w-6xl xl:px-0"> <div class="h-[1px] bg-gray-300 dark:bg-gray-700"></div> <div class="post-navigation py-5"> <div class="flex w-full justify-center"> <div class="nav-more post-navigation-link-wrapper"> <a class="post-navigation-link" href="https://arstechnica.com/security/page/2/" title="Load older stories"><span class="post-navigation-link-text">Load more</span><svg class="text-orange-400" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40"><defs><clipPath id="arrow-blocks-right_svg__a"><path fill="none" d="M0 0h40v40H0z"/></clipPath></defs><g fill="currentColor" clip-path="url(#arrow-blocks-right_svg__a)"><path d="M32 16h8v8h-8zm-8 8h8v8h-8zm-8 8h8v8h-8zm8-24h8v8h-8zm-8-8h8v8h-8zM0 16h16v8H0z"/></g></svg> </a> </div> </div> </div> </div> </main> <div class="ad-wrapper is-fullwidth"> <div class="ad-wrapper-inner"> <div class="ad ad--footer"></div> </div> </div> <footer class="site-footer bg-black"> <div class="mx-auto max-w-6xl px-4 text-gray-300"> <div class="justify-between gap-10 py-8 md:flex"> <div class="site-footer-statement text-center md:w-3/5 md:text-left"> <svg class="mb-6 inline h-10 md:mb-4 md:h-12 lg:h-14" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 436 144.1"><defs><clipPath id="ars-full-mono_svg__a"><path fill="none" d="M0 0h436v144.1H0z"/></clipPath><clipPath id="ars-full-mono_svg__b"><path fill="none" d="M0 0h436v144.1H0z"/></clipPath></defs><g clip-path="url(#ars-full-mono_svg__a)"><g fill="currentColor" clip-path="url(#ars-full-mono_svg__b)"><path d="M218.8 83.7c-4.4 3.7-8.4 5-12.8 5-7.7 0-12.7-5.3-13.5-14h24.8l.9-5.5h-25.7c.8-8.7 5.7-14.1 12.9-14.1s8.8 1.7 12.9 5.1l1-5.9c-4-2.9-8.8-4.4-13.7-4.3-10.7 0-19.2 7.8-19.2 21.9s8.3 21.9 18.9 21.9c5.2.1 10.2-1.6 14.3-4.8zm-48.7-27.5v36.9h-5.8V56.2h-13.4v-5.3H183l.9 5.3H170Zm74.5 37.6c-11.9 0-19.5-8.8-19.5-21.8s7.8-22 19.6-22c4.3-.1 8.5 1.1 12 3.5l-.9 5.9c-3.2-2.6-7.1-4-11.2-4.1-8.6 0-13.6 6.5-13.6 16.6s5.1 16.6 13.6 16.6c4.3 0 8.5-1.6 11.9-4.2l.9 5.4c-3.7 2.6-8.2 4.1-12.8 4.1M292 93V73.5h-21.4V93h-5.8V50.9h5.8v17.5H292V50.9h5.8V93zm42.9 0-23.2-32.8V93h-5.3V50.9h5.1l22.4 31.5V50.9h5.3V93zm13.4-42.1h5.8V93h-5.8zm32.6 42.9c-11.9 0-19.5-8.8-19.5-21.8s7.8-22 19.6-22c4.3-.1 8.5 1.1 12 3.5l-.9 5.9c-3.2-2.6-7.1-4-11.2-4.1-8.6 0-13.6 6.5-13.6 16.6s5.1 16.6 13.6 16.6c4.3 0 8.5-1.6 11.9-4.2l.9 5.4c-3.7 2.6-8.2 4.1-12.8 4.1m32.9-43.1h5.8l16.3 41.5-5.6 1.2-5-13.1h-17.4L403.1 93h-5.8zm-4 24.6h13.5l-6.8-17.9zM72 0C32.3 0 0 32.3 0 72.1s32.3 72.1 72 72.1 72.1-32.3 72.1-72.1S111.8 0 72 0M53 94h-6.6l-.9-5.9c-4 4.4-9.6 6.8-15.6 6.8-8 0-13-4.8-13-12.3 0-11 9.4-15.4 27.8-17.3v-1.9c0-5.6-3.3-7.5-8.4-7.5S25.8 57.6 21 59.7l-1.1-7.1c5.3-2.1 10.3-3.7 17.1-3.7 10.7 0 15.9 4.3 15.9 14.2v30.8Zm19.2-26v26H64V50h6.6l1.4 9c3.1-5 8.2-9.5 15.5-9.9l1.3 7.9c-7.4.3-13.6 5.2-16.6 11m37.2 26.9c-5.6-.1-11.1-1.6-16.1-4.2l1.2-7.8c4.6 3.2 10 5 15.6 5.1 5.6 0 9-2.1 9-5.8s-2.5-5.6-10.5-7.5C98.2 72.1 94.1 69 94.1 61.1s5.9-12.2 15.6-12.2c5 0 9.9 1 14.5 3l-1.3 7.8c-4.1-2.4-8.7-3.7-13.4-3.8-5 0-7.6 1.9-7.6 5.1s2.2 4.6 9.2 6.4c10.9 2.8 15.8 5.9 15.8 14.3s-6.1 13.2-17.5 13.2"/><path d="M25.2 82.2c0 4.6 2.4 5.9 6.6 5.9s9.4-2.4 13.1-6.2V71.6c-16.3 1.6-19.7 6-19.7 10.6"/></g></g></svg> <p>Ars Technica has been separating the signal from the noise for over 25 years. With our unique combination of technical savvy and wide-ranging interest in the technological arts and sciences, Ars is the trusted source in a sea of information. After all, you don’t need to know everything, only what’s important.</p> <p class="mt-4"> <a href="https://twitter.com/arstechnica" aria-label="Follow Ars Technica on Twitter/X"> <svg class="inline h-12 w-12" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40"><defs><clipPath id="twitter_svg__a"><path fill="none" d="M0 0h40v40H0z"/></clipPath><clipPath id="twitter_svg__b"><path fill="none" d="M0 0h40v40H0z"/></clipPath></defs><g clip-path="url(#twitter_svg__a)"><g fill="none" clip-path="url(#twitter_svg__b)"><path fill="currentColor" d="M16.3 28.1c7.5 0 11.7-6.3 11.7-11.7v-.5c.8-.6 1.5-1.3 2-2.1q-1.05.45-2.4.6c.9-.5 1.5-1.3 1.8-2.3-.8.5-1.7.8-2.6 1-.6-.7-1.4-1.1-2.3-1.2s-1.8 0-2.6.4-1.4 1.1-1.8 1.9-.5 1.7-.3 2.6c-1.6 0-3.2-.5-4.7-1.2s-2.7-1.8-3.8-3c-.5.9-.7 2-.5 3s.9 1.9 1.7 2.5c-.7 0-1.3-.2-1.9-.5q0 1.5.9 2.7c.6.7 1.4 1.2 2.4 1.4-.6.2-1.2.2-1.9 0 .3.8.8 1.5 1.5 2s1.5.8 2.4.8c-1.5 1.1-3.2 1.8-5.1 1.8h-1c1.9 1.2 4.1 1.8 6.3 1.8"/></g></g></svg> </a> <a href="https://mastodon.social/@arstechnica" aria-label="Follow Ars Technica on Mastodon"> <svg class="inline h-12 w-12" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40"><defs><clipPath id="mastodon_svg__a"><path fill="none" d="M0 0h40v40H0z"/></clipPath><clipPath id="mastodon_svg__b"><path fill="none" d="M0 0h40v40H0z"/></clipPath></defs><g clip-path="url(#mastodon_svg__a)"><g fill="none" clip-path="url(#mastodon_svg__b)"><path fill="currentColor" d="M29.3 16.6c0-4.3-2.8-5.6-2.8-5.6-1.4-.7-3.9-.9-6.5-1-2.6 0-5 .3-6.4 1 0 0-2.8 1.3-2.8 5.6V20c.1 4.2.8 8.4 4.7 9.5 1.8.5 3.4.6 4.6.5 2.3-.1 3.5-.8 3.5-.8v-1.6s-1.7.5-3.5.4c-1.8 0-3.7-.2-4-2.4V25s1.8.4 4 .5c1.4 0 2.7 0 4-.2 2.5-.3 4.7-1.8 5-3.3.4-2.2.4-5.4.4-5.4Zm-3.4 5.6h-2.1v-5.1c0-1.1-.5-1.6-1.4-1.6s-1.5.6-1.5 1.9v2.8h-2.1v-2.8c0-1.3-.5-1.9-1.5-1.9s-1.4.5-1.4 1.6v5.1h-2.1v-5.3c0-1.1.3-1.9.8-2.6.6-.6 1.3-1 2.2-1s1.9.4 2.4 1.2l.5.9.5-.9q.75-1.2 2.4-1.2c1.65 0 1.7.3 2.2 1 .6.6.8 1.5.8 2.6v5.3Z"/></g></g></svg> </a> <a href="https://www.facebook.com/arstechnica" aria-label="Follow Ars Technica on Facebook"> <svg class="inline h-12 w-12" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40"><defs><clipPath id="facebook_svg__a"><path fill="none" d="M0 0h40v40H0z"/></clipPath><clipPath id="facebook_svg__b"><path fill="none" d="M0 0h40v40H0z"/></clipPath></defs><g clip-path="url(#facebook_svg__a)"><g fill="none" clip-path="url(#facebook_svg__b)"><path fill="currentColor" d="M17.3 13.9v2.8h-2v3.4h2v10h4.2v-10h2.8s.3-1.6.4-3.4h-3.2v-2.3c0-.3.5-.8.9-.8h2.3v-3.5h-3.1c-4.4 0-4.3 3.4-4.3 3.9"/></g></g></svg> </a> <a href="https://www.youtube.com/@arstechnica" aria-label="Follow Ars Technica on YouTube"> <svg class="inline h-12 w-12" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40"><defs><clipPath id="youtube_svg__a"><path fill="none" d="M0 0h40v40H0z"/></clipPath><clipPath id="youtube_svg__b"><path fill="none" d="M0 0h40v40H0z"/></clipPath></defs><g clip-path="url(#youtube_svg__a)"><g fill="none" clip-path="url(#youtube_svg__b)"><path fill="currentColor" d="M29.6 15.2c-.1-.4-.3-.8-.6-1.1s-.7-.5-1.1-.7c-1.6-.4-7.8-.4-7.8-.4s-6.3 0-7.8.4c-.4.1-.8.3-1.1.7-.3.3-.5.7-.6 1.1-.4 1.6-.4 4.8-.4 4.8s0 3.3.4 4.8c.1.4.3.8.6 1.1s.7.5 1.1.7c1.6.4 7.8.4 7.8.4s6.3 0 7.8-.4c.4-.1.8-.3 1.1-.7s.5-.7.6-1.1c.4-1.6.4-4.8.4-4.8s0-3.3-.4-4.8M18 23v-5.9l5.2 3-5.2 3Z"/></g></g></svg> </a> <a href="https://www.instagram.com/arstechnica/" aria-label="Follow Ars Technica on Instagram"> <svg class="inline h-12 w-12" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40"><defs><clipPath id="instagram_svg__a"><path fill="none" d="M0 0h40v40H0z"/></clipPath><clipPath id="instagram_svg__b"><path fill="none" d="M0 0h40v40H0z"/></clipPath></defs><g clip-path="url(#instagram_svg__a)"><g fill="none" clip-path="url(#instagram_svg__b)"><path fill="currentColor" d="M20 10h4.1c1.1 0 1.8.2 2.4.5.7.3 1.2.6 1.8 1.2s.9 1.1 1.2 1.8c.2.6.4 1.4.5 2.4v8.2c0 1.1-.2 1.8-.5 2.4-.3.7-.6 1.3-1.2 1.8-.6.6-1.1.9-1.8 1.2-.6.2-1.4.4-2.4.5h-8.2c-1.1 0-1.8-.2-2.4-.5-.7-.3-1.3-.6-1.8-1.2q-.75-.75-1.2-1.8c-.2-.6-.4-1.4-.5-2.4v-8.2c0-1.1.2-1.8.5-2.4.3-.7.6-1.2 1.2-1.8s1.1-.9 1.8-1.2c.6-.2 1.4-.4 2.4-.5zm0 2.5h-3.7c-.9 0-1.4.2-1.7.3-.4.1-.8.4-1.1.7s-.5.6-.7 1.1c-.1.3-.3.8-.3 1.7v7.4c0 .9.2 1.4.3 1.7.2.4.4.7.7 1.1.3.3.6.5 1.1.7.3.1.8.3 1.7.3h7.4c.9 0 1.4-.2 1.7-.3.4-.2.7-.4 1.1-.7.3-.3.5-.6.7-1.1.1-.3.3-.8.3-1.7v-7.4c0-.9-.2-1.4-.3-1.7-.1-.4-.4-.8-.7-1.1s-.7-.5-1.1-.7c-.3-.1-.8-.3-1.7-.3zm0 2.2c.7 0 1.4.1 2 .4s1.2.7 1.7 1.1c.5.5.9 1.1 1.1 1.7.3.6.4 1.3.4 2s-.1 1.4-.4 2-.7 1.2-1.1 1.7c-.5.5-1.1.9-1.7 1.1-.6.3-1.3.4-2 .4-1.4 0-2.7-.6-3.7-1.5-1-1-1.5-2.3-1.5-3.7s.6-2.7 1.5-3.7 2.3-1.5 3.7-1.5m0 8.3q1.2 0 2.1-.9T23 20c0-1.2-.3-1.5-.9-2.1q-.9-.9-2.1-.9c-1.2 0-1.5.3-2.1.9q-.9.9-.9 2.1c0 1.2.3 1.5.9 2.1q.9.9 2.1.9m6.6-8.1c0 .4-.2.7-.4 1s-.6.4-1 .4-.7-.2-1-.4c-.3-.3-.4-.6-.4-1s.2-.7.4-1c.3-.3.6-.4 1-.4s.7.2 1 .4c.3.3.4.6.4 1"/></g></g></svg> </a> </p> </div> <div class="text-center md:w-1/5 md:text-left"> <span class="font-impact mb-4 mt-6 block font-semibold uppercase">More from Ars </span> <ul id="menu-more_navigation" class="menu"><li id="menu-item-1971876" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1971876"><a href="https://arstechnica.com/about-us/">About Us</a></li> <li id="menu-item-1971877" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1971877"><a href="https://arstechnica.com/staff-directory/">Staff Directory</a></li> <li id="menu-item-1971878" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1971878"><a href="https://arstechnica.com/newsletters/">Newsletters</a></li> <li id="menu-item-1980432" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-1980432"><a href="https://arstechnica.com/video/">Ars Videos</a></li> <li id="menu-item-1971879" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1971879"><a href="https://arstechnica.com/general-faq/">General FAQ</a></li> <li id="menu-item-1971880" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1971880"><a href="https://arstechnica.com/rss-feeds/">RSS Feeds</a></li> </ul> </div> <div class="text-center md:w-1/5 md:text-left"> <span class="font-impact mb-4 mt-6 block font-semibold uppercase">Contact</span> <ul id="menu-contact_navigation" class="menu"><li id="menu-item-1971881" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1971881"><a href="https://arstechnica.com/contact-us/">Contact us</a></li> <li id="menu-item-1971884" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-1971884"><a target="_blank" href="https://www.condenast.com/brands/ars-technica">Advertise with us</a></li> <li id="menu-item-1971882" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1971882"><a href="https://arstechnica.com/reprints/">Reprints</a></li> </ul> </div> </div> <div class="pb-10 pt-5" id="copyright-terms"> <div class="mb-4 flex flex-row flex-nowrap items-center gap-2"> <svg class="h-4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 14"><path d="M7.4 12.8h6.8l3.1-11.6H7.4C4.2 1.2 1.6 3.8 1.6 7s2.6 5.8 5.8 5.8" style="fill-rule:evenodd;clip-rule:evenodd;fill:#fff"/><path d="M22.6 0H7.4c-3.9 0-7 3.1-7 7s3.1 7 7 7h15.2c3.9 0 7-3.1 7-7s-3.2-7-7-7m-21 7c0-3.2 2.6-5.8 5.8-5.8h9.9l-3.1 11.6H7.4c-3.2 0-5.8-2.6-5.8-5.8" style="fill-rule:evenodd;clip-rule:evenodd;fill:#06f"/><path d="M24.6 4c.2.2.2.6 0 .8L22.5 7l2.2 2.2c.2.2.2.6 0 .8s-.6.2-.8 0l-2.2-2.2-2.2 2.2c-.2.2-.6.2-.8 0s-.2-.6 0-.8L20.8 7l-2.2-2.2c-.2-.2-.2-.6 0-.8s.6-.2.8 0l2.2 2.2L23.8 4c.2-.2.6-.2.8 0" style="fill:#fff"/><path d="M12.7 4.1c.2.2.3.6.1.8L8.6 9.8c-.1.1-.2.2-.3.2-.2.1-.5.1-.7-.1L5.4 7.7c-.2-.2-.2-.6 0-.8s.6-.2.8 0L8 8.6l3.8-4.5c.2-.2.6-.2.9 0" style="fill:#06f"/></svg> <a class="ot-sdk-show-settings" id="ot-sdk-btn">Do Not Sell My Personal Information</a> </div> © 2024 Condé Nast. All rights reserved. Use of and/or registration on any portion of this site constitutes acceptance of our <a href="https://www.condenast.com/user-agreement/">User Agreement</a> and <a href="https://www.condenast.com/privacy-policy/">Privacy Policy and Cookie Statement</a> and <a href="/amendment-to-conde-nast-user-agreement-privacy-policy/">Ars Technica Addendum</a> and <a href="https://www.condenast.com/privacy-policy/#california">Your California Privacy Rights</a>. Ars Technica may earn compensation on sales from links on this site. <a href="/affiliate-link-policy/">Read our affiliate link policy</a>. The material on this site may not be reproduced, distributed, transmitted, cached or otherwise used, except with the prior written permission of Condé Nast. <a href="https://www.aboutads.info/">Ad Choices</a> </div> </div> </footer> </div> <script> (function() { const div = document.querySelector('.ars-interlude-container'); if (!div) { return; } // Exclude on sponsored posts if (document.querySelector('.single-ars_sponsored_post')) { return; } // If on an article page and the interlude container exists if (document.querySelector('body.single')) { const parent = div.parentElement; // Get all the top level elements in the parent that aren't the interlude container const elems = Array.from(parent.children).filter((elem) => elem !== div); // Loop over the elements in reverse order for (let i = elems.length - 1; i >= 0; i--) { const elem = elems[i]; // If the next element isn't one of: h1, h2, h3, h4, h5, h6, or div, insert the interlude container before it const nextElem = elems[i - 1]; if (nextElem && !['H1', 'H2', 'H3', 'H4', 'H5', 'H6', 'DIV'].includes(nextElem.tagName)) { // Add .my-5 to the interlude container div.classList.add('my-5'); parent.insertBefore(div, elem); break; } } } const src = 'https://player.cnevids.com/interlude/arstechnica.js'; const s = document.createElement('script'); s.setAttribute('async', true); s.setAttribute('src', src); document.body.appendChild(s); })(); </script> <!-- Parse.ly start --> <script type="text/plain" class="optanon-category-C0002" id="parsely-cfg" src="//fpa-cdn.arstechnica.com/keys/arstechnica.com/p.js"></script> <!-- Parse.ly end --> <script id="snowplow-js-before"> window.snowplowQueue = window.snowplowQueue || []; window.snowplowContexts = {"site":{"orgId":"4gKgcFGUFUvCGFzHakTPfYp85Yi8","orgAppId":null,"appVersion":null,"env":"production"},"content":{"functionalTags":null,"hasBuyButtons":null,"noOfRevisions":null,"editorNames":null,"author_name":null,"contentId":null,"contentLength":null,"contentTitle":"Security \u2013 Ars Technica","contentSource":"web","authorIds":null,"publishDate":null,"modifiedDate":null,"tags":null,"contentLang":"en-US","galleryName":null,"totalGalleryImages":null,"wordCount":null,"contentType":null,"templateType":null,"primaryTag":null,"contentFlag":null,"isCommerceContent":null,"pageTypeProperties":null,"section":"security","subsection":null,"subsection2":null,"dataSource":"web"},"syndication":{"content":null,"originalSource":null,"originalContentLanguage":null},"page":{"canonical":"https:\/\/arstechnica.com\/security\/","syndicatorUrl":null},"user":{"amguuid":null}}; window.snowplowConfig = {"SNOWPLOW_COLLECTOR":"c.arstechnica.com","SNOWPLOW_SCRIPT":"https:\/\/globalservices.conde.digital\/p77xzrbz9z.js","AVO_API_KEY":"FTJO6mVPBIzdGhjn2Ruy","APP_ID":"ars-technica","APP_NAME":"ars-technica","APP_ENV":"production","APP_VERSION":"1.0.0","COOKIE_DOMAIN":".arstechnica.com"}; </script> <script src="https://cdn.arstechnica.net/wp-content/mu-plugins/ars-snowplow/ars-snowplow-js/dist/main-1-0-4.js?ver=1.0.4" id="snowplow-js"></script> <script src="https://cdn.arstechnica.net/wp-content/plugins/article-forum-connect/public/js/iframe-resizer.parent.js?ver=5.3.1" id="article_forum_connect_iframe_resizer-js"></script> <script src="https://cdn.arstechnica.net/wp-content/plugins/article-forum-connect/public/js/iframe.js?ver=1.2.4" id="article_forum_connect_iframe-js"></script> <script id="app/0-js-before"> (()=>{"use strict";var r,e={},o={};function t(r){var n=o[r];if(void 0!==n)return n.exports;var a=o[r]={exports:{}};return e[r](a,a.exports,t),a.exports}t.m=e,r=[],t.O=(e,o,n,a)=>{if(!o){var s=1/0;for(u=0;u<r.length;u++){o=r[u][0],n=r[u][1],a=r[u][2];for(var i=!0,f=0;f<o.length;f++)(!1&a||s>=a)&&Object.keys(t.O).every((r=>t.O[r](o[f])))?o.splice(f--,1):(i=!1,a<s&&(s=a));if(i){r.splice(u--,1);var l=n();void 0!==l&&(e=l)}}return e}a=a||0;for(var u=r.length;u>0&&r[u-1][2]>a;u--)r[u]=r[u-1];r[u]=[o,n,a]},t.d=(r,e)=>{for(var o in e)t.o(e,o)&&!t.o(r,o)&&Object.defineProperty(r,o,{enumerable:!0,get:e[o]})},t.o=(r,e)=>Object.prototype.hasOwnProperty.call(r,e),(()=>{var r={121:0};t.O.j=e=>0===r[e];var e=(e,o)=>{var n,a,s=o[0],i=o[1],f=o[2],l=0;if(s.some((e=>0!==r[e]))){for(n in i)t.o(i,n)&&(t.m[n]=i[n]);if(f)var u=f(t)}for(e&&e(o);l<s.length;l++)a=s[l],t.o(r,a)&&r[a]&&r[a][0](),r[a]=0;return t.O(u)},o=self.webpackChunk_roots_bud_sage=self.webpackChunk_roots_bud_sage||[];o.forEach(e.bind(null,0)),o.push=e.bind(null,o.push.bind(o))})()})(); </script> <script src="https://cdn.arstechnica.net/wp-content/themes/ars-v9/public/js/app.2f0f0b.js" id="app/0-js"></script> <script src="https://cdn.arstechnica.net/wp-content/themes/ars-v9/public/js/ads.b1f8e1.js" id="ads/0-js"></script> <script src="https://cdn.arstechnica.net/wp-content/themes/ars-v9/public/js/stats.ce8765.js" id="stats/0-js"></script> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10