91³Ô¹ÏÍø

Watch CBS News

Tesla Cybertruck bomber used ChatGPT to plan Las Vegas attack, police say

The decorated soldier behind the Tesla Cybertruck bombing outside the Trump International Hotel in Las Vegas last week used the artificial intelligence platform ChatGPT to plan the New Year's Day attack, law enforcement said Tuesday.

U.S. Army Special Forces Master Sgt. Matthew Livelsberger looked into the amount of explosives he'd need, where to buy fireworks and how to buy a phone without providing identifying information, Kevin McMahill, sheriff for the Las Vegas Metropolitan Police Department, said during a press conference. McMahill called the use of the generative AI a "game changer."

"We knew that AI was going to change the game at some point or another in really all of our lives," McMahill said. "This is the first incident that I'm aware of on U.S. soil where ChatGPT is utilized to help an individual build a particular device."

A spokesperson for ChatGPT developer OpenAI told CBS News the company is committed to seeing artificial intelligence used responsibly.

"Our models are designed to refuse harmful instructions and minimize harmful content. In this case, ChatGPT responded with information already publicly available on the internet and provided warnings against harmful or illegal activities," the OpenAI spokesperson said. "We're working with law enforcement to support their investigation."

Las Vegas law enforcement officials and an agent with the Bureau of Alcohol, Tobacco, Firearms and Explosives shared other new details during Tuesday's press conference, including new information on what caused the explosion. Police shared video of Livelsberger pouring racing fuel onto the Cybertruck. 

"You'll see a trail of liquid falling from the back of the vehicle," Las Vegas Assistant Sheriff Dori Koren said. 

Officials are still working to determine what exactly detonated the explosion, but said it could have been the muzzle flash from the firearm Livelsberger used to fatally shoot himself.

Koren said a review of a note on Livelsberger's phone showed that Livelsberger believed people were following him. The note, titled "surveillance" or "surveil," was more of a journal of activities. It included details on Livelsberger's activities leading up to the bombing, including his purchase of guns and picking up the Cybertruck as a rental. 

The log showed Livelsberger had considered carrying out his plot in Arizona at the Grand Canyon's glass skywalk. Koren said investigators don't know when or why Livelsberger changed his plans.

Las Vegas police also said they'd uncovered a six-page document they were reviewing with assistance from the Pentagon. Some of the material in the document may be classified, officials said. 

McMahill said investigators also still need to recover information from a laptop, a mobile phone and a smartwatch. 

Last week, the FBI said that investigators had determined the bombing was likely a suicide. The FBI said that information uncovered by federal investigators and the Army found that Livelsberger likely had post-traumatic stress disorder, along with family issues and personal grievances that may have contributed to his actions. An Army spokesperson confirmed to CBS News in a statement that Livelsberger had received counseling through its Preservation of the Force and Family program.

Livelsberger did not have a criminal history. He was not on the radar of the FBI or the Las Vegas Metropolitan Police Department before the explosion, McMahill said. Officials previously said Livelsberger had no animosity toward President-elect Donald Trump.

View CBS News In
CBS News App Open
Chrome Safari Continue
const link = doc.createElement('link'); link.rel = 'stylesheet'; link.href = '/fly/fly/bundles/cbsnewscontent/css/cmp-banner.min.css?v=50747257b890e014813016b79ece0fb2'; doc.head.appendChild(link); doc.body.innerHTML = CONSENT_MESSAGE; } else { el.insertAdjacentHTML('afterend', CONSENT_MESSAGE); } }); } function hidePrivacyMessage() { // Remove from the main document document.querySelectorAll(`.${CONSENT_MESSAGE_CLASS}`).forEach(el => el.remove()); // Remove from inside any iframes document.querySelectorAll('iframe').forEach(iframe => { const doc = iframe.contentDocument || iframe.contentWindow.document; doc.querySelectorAll(`.${CONSENT_MESSAGE_CLASS}`).forEach(el => el.remove()); }); } function activateGatedScripts() { // Handle both new format (cmp-gated-script) and old OneTrust/Ketch format (optanon-category-4) const gatedScripts = Array.from(document.querySelectorAll('script.cmp-gated-script, script.optanon-category-4')); // Activate scripts sequentially with a small delay to avoid timing issues let delay = 0; gatedScripts.forEach(function(placeholder, index) { setTimeout(function() { // Skip if already processed if (placeholder.hasAttribute('data-cmp-processed')) { return; } placeholder.setAttribute('data-cmp-processed', 'true'); const newScript = document.createElement('script'); newScript.type = 'text/javascript'; // Try new format first (data-cmp-src), then fall back to old format (data-src) const src = placeholder.getAttribute('data-cmp-src') || placeholder.getAttribute('data-src'); if (src) { newScript.src = src; } else if (placeholder.textContent) { // Inline script - just copy the content newScript.textContent = placeholder.textContent; } // Handle new format attributes (data-cmp-attrs) - for both inline and external scripts const attrs = placeholder.getAttribute('data-cmp-attrs'); if (attrs) { const tempDiv = document.createElement('div'); tempDiv.innerHTML = '
<\/div>'; const tempAttrs = tempDiv.firstChild.attributes; for (let i = 0; i < tempAttrs.length; i++) { // For external scripts, allow defer/async. For inline scripts, skip them (not valid) if (src || (tempAttrs[i].name !== 'async' && tempAttrs[i].name !== 'defer')) { newScript.setAttribute(tempAttrs[i].name, tempAttrs[i].value); } } } // Copy other attributes from old OneTrust format for (let i = 0; i < placeholder.attributes.length; i++) { const attr = placeholder.attributes[i]; // Skip attributes we've already handled or don't want to copy if (!['class', 'data-src', 'data-type', 'data-cmp-src', 'data-cmp-attrs', 'data-cmp-processed', 'type', 'async', 'defer', 'src'].includes(attr.name)) { newScript.setAttribute(attr.name, attr.value); } } placeholder.parentNode.replaceChild(newScript, placeholder); // If external script, manually trigger window.onload handlers after it loads // This handles widgets that use window.onload for initialization if (src) { newScript.addEventListener('load', function() { // If page already loaded and script set a new onload handler, trigger it if (document.readyState === 'complete' && window.onload) { const originalOnload = window.onload; window.onload = null; // Clear temporarily to prevent loops originalOnload(); // Execute the handler } }); } }, delay); delay += 500; // 500ms delay between each script to allow full loading }); } cbsoptanon.onScriptsReady(function(cmp) { cmp.ot.targetingAllowed(function(allowed) { if (!allowed) { showPrivacyMessage(); } else { activateGatedScripts(); } }); cmp.ot.awaitInitialConsent(function(consent_model) { cmp.ot.addOnConsentChangedHandler(function() { cmp.ot.targetingAllowed(function(allowed) { if (allowed) { hidePrivacyMessage(); activateGatedScripts(); } else { showPrivacyMessage(); } }); }); }); });