Close dialogue1/1Next imagePrevious imageToggle captionPrint subscriptionsNewsletters Sign indocument.addEventListener('DOMContentLoaded', function () { /** The checkbox input element used to toggle the navigation menu. */ const navInputCheckbox = document.getElementById('header-nav-input-checkbox'); /** The veggie burger button element used to open/close the menu. */ const veggieBurger = document.getElementById('header-veggie-burger'); /** List of menu items that should be selectable when the menu is open. */ const expandedMenuClickableTags = document.querySelectorAll( '.selectableMenuItem', ); /** The root element of the expanded menu. */ const expandedMenu = document.getElementById('header-expanded-menu-root'); /** The label for the first column in the menu, assumed to be "News".*/ const firstColLabel = document.getElementById('News-button'); /** The link element in the second list item under news links. */ const firstColLink = document.querySelector( '#newsLinks > li:nth-of-type(2) > a', ); /** * Focuses on the first navigation element depending on whether the first column label is visible. * * If the first column label is not visible, the function focuses on the first link element. * Otherwise, it focuses on the first column label. */ const focusOnFirstNavElement = () => { if (window.getComputedStyle(firstColLabel).display === 'none') { firstColLink.focus(); } else { firstColLabel.focus(); } }; /** * Updates ARIA attributes and tabindex values based on whether the menu is open or closed. */ const updateAttributesForMenu = (isOpen) => { firstColLabel.setAttribute('aria-expanded', isOpen ? 'true' : 'false'); veggieBurger.setAttribute( 'data-link-name', isOpen ? 'header : veggie-burger : hide' : 'header : veggie-burger : show', ); expandedMenuClickableTags.forEach((tag) => { tag.setAttribute('tabindex', isOpen ? '0' : '-1'); }); }; /** Toggles the navigation menu by simulating a click on the checkbox. */ const toggleMainMenu = () => { if (navInputCheckbox) { navInputCheckbox.click(); } }; /** * Handles keydown events to toggle the menu when the Enter or Space key is pressed. */ const keydownToggleMainMenu = (e) => { if (e.key === 'Enter' || e.key === ' ') { e.preventDefault(); toggleMainMenu(); } }; /** * Handles click events to manage the state of the navigation menu. * * - Toggles the menu open/close state when the menu button (veggieBurger) is clicked. */ const handleMenuClick = (e) => { const menuButtonClicked = navInputCheckbox === e.target; const clickInsideMenu = expandedMenu.contains(e.target); const menuIsOpen = navInputCheckbox.checked if (menuButtonClicked && !menuIsOpen) { document.body.classList.toggle('nav-is-open') firstColLabel.setAttribute('aria-expanded', 'false') veggieBurger.setAttribute('data-link-name','header : veggie-burger : show') expandedMenuClickableTags.forEach(function($selectableElement){ $selectableElement.setAttribute('tabindex','-1') }) } else if (menuButtonClicked && menuIsOpen) { document.body.classList.toggle('nav-is-open') firstColLabel.setAttribute('aria-expanded', 'true') veggieBurger.setAttribute('data-link-name','header : veggie-burger : hide') expandedMenuClickableTags.forEach(function($selectableElement){ $selectableElement.setAttribute('tabindex','0') }) focusOnFirstNavElement() } }; /** Adds event listeners to manage the navigation menu. */ if (navInputCheckbox) { navInputCheckbox.addEventListener('click', handleMenuClick); veggieBurger.addEventListener('keydown', keydownToggleMainMenu); document.addEventListener('keydown', (e) => { if (e.key === 'Escape' && navInputCheckbox.checked) { toggleMainMenu(); veggieBurger.focus(); } }); /** * Handles mouse down events to manage the state of the navigation menu. * * - Closes the menu if the click occurs outside both the menu button and the expanded menu. */ document.addEventListener('mousedown', function(e){ if(navInputCheckbox.checked && !expandedMenu.contains(e.target) && !veggieBurger.contains(e.target)){ toggleMainMenu() } }); } });USUS editionUK editionAustralia editionEurope editionInternational editionThe Guardian - Back to homeThe GuardianNewsOpinionSportCultureLifestyleShow moreHide expanded menudocument.addEventListener('DOMContentLoaded', function(){ var columnInput = document.getElementById('News-button'); if (!columnInput) return; // Sticky nav replaces the nav so element no longer exists for users in test. columnInput.addEventListener('keydown', function(e){ // keyCode: 13 => Enter key | keyCode: 32 => Space key if (e.keyCode === 13 || e.keyCode === 32) { e.preventDefault() document.getElementById('News-checkbox-input').click(); } }) })NewsView all NewsUS newsUS politicsMidterms 2026World newsClimate crisisMiddle EastUkraineUS immigrationSoccerBusinessEnvironmentTechScienceNewslettersThe FilterWellnessdocument.addEventListener('DOMContentLoaded', function(){ var columnInput = document.getElementById('Opinion-button'); if (!columnInput) return; // Sticky nav replaces the nav so element no longer exists for users in test. columnInput.addEventListener('keydown', function(e){ // keyCode: 13 => Enter key | keyCode: 32 => Space key if (e.keyCode === 13 || e.keyCode === 32) { e.preventDefault() document.getElementById('Opinion-checkbox-input').click(); } }) })OpinionView all OpinionThe Guardian viewColumnistsLettersOpinion videosCartoonsdocument.addEventListener('DOMContentLoaded', function(){ var columnInput = document.getElementById('Sport-button'); if (!columnInput) return; // Sticky nav replaces the nav so element no longer exists for users in test. columnInput.addEventListener('keydown', function(e){ // keyCode: 13 => Enter key | keyCode: 32 => Space key if (e.keyCode === 13 || e.keyCode === 32) { e.preventDefault() document.getElementById('Sport-checkbox-input').click(); } }) })SportView all SportSoccerNFLTennisMLBMLSNBAWNBANHLF1Golfdocument.addEventListener('DOMContentLoaded', function(){ var columnInput = document.getElementById('Culture-button'); if (!columnInput) return; // Sticky nav replaces the nav so element no longer exists for users in test. columnInput.addEventListener('keydown', function(e){ // keyCode: 13 => Enter key | keyCode: 32 => Space key if (e.keyCode === 13 || e.keyCode === 32) { e.preventDefault() document.getElementById('Culture-checkbox-input').click(); } }) })CultureView all CultureFilmBooksMusicArt & designTV & radioStageClassicalGamesDesign a better worlddocument.addEventListener('DOMContentLoaded', function(){ var columnInput = document.getElementById('Lifestyle-button'); if (!columnInput) return; // Sticky nav replaces the nav so element no longer exists for users in test. columnInput.addEventListener('keydown', function(e){ // keyCode: 13 => Enter key | keyCode: 32 => Space key if (e.keyCode === 13 || e.keyCode === 32) { e.preventDefault() document.getElementById('Lifestyle-checkbox-input').click(); } }) })LifestyleView all LifestyleThe FilterWellnessFashionFoodRecipesLove & sexHome & gardenHealth & fitnessFamilyTravelMoneySearch input google-search SearchSupport usPrint subscriptionsNewslettersDownload the appSearch jobsDigital ArchiveGuardian LicensingLive eventsAbout UsThe Guardian appVideoPodcastsPicturesInside the GuardianGuardian WeeklyCrosswordsWordiplyCorrectionsTipsSearch input google-search SearchSearch jobsDigital ArchiveGuardian LicensingLive eventsAbout UsAustraliaWorldAU politicsEnvironmentClimate crisisIndigenous AustraliaImmigrationMediaBusinessHealthScienceTechPodcastsNewsletters Prime minister Anthony Albanese (left) previously said he had expressed ‘Australia’s extreme concern about the incident’ to OpenAI CEO Sam Altman. Photograph: Getty ImagesView image in fullscreenPrime minister Anthony Albanese (left) previously said he had expressed ‘Australia’s extreme concern about the incident’ to OpenAI CEO Sam Altman. Photograph: Getty ImagesOpenAI‘New kind of cyber incident’: OpenAI apologises for Medicare hack and reveals extent of attackChief strategy officer to fly to Australia to front joint committee on AI after breaches of government websites
Prefer the Guardian on GoogleOpenAI has apologised to Australians for its agent attack on Medicare, and will front parliament next week, as the tech company revealed more details about its June hack of Australian government websites.
The company also provided more detail on the incident revealed by the Australian prime minister, Anthony Albanese, last week.
OpenAI said it became aware of agent activity on Australian government websites in mid-August after the company reviewed earlier training incidents after the Hugging Face attack in July.
The agents gained non-public access to a Services Australia portal for Medicare statistics, and OpenAI said the agent was able to run commands, retrieve internal files, credentials, and write files, but no patient or client records were accessed.
This article was aggregated automatically by CyberWire Daily's newsfeed engine. Original reporting: www.theguardian.com.
