{"id":3485,"date":"2025-04-24T03:00:08","date_gmt":"2025-04-24T03:00:08","guid":{"rendered":"https:\/\/serisec.com\/index.php\/2025\/04\/24\/doge-workers-code-supports-nlrb-whistleblower\/"},"modified":"2025-04-24T03:00:08","modified_gmt":"2025-04-24T03:00:08","slug":"doge-workers-code-supports-nlrb-whistleblower","status":"publish","type":"post","link":"https:\/\/serisec.com\/index.php\/2025\/04\/24\/doge-workers-code-supports-nlrb-whistleblower\/","title":{"rendered":"DOGE Worker\u2019s Code Supports NLRB Whistleblower"},"content":{"rendered":"<p>    DOGE Worker\u2019s Code Supports NLRB Whistleblower<br \/>\n \t<BR><br \/>\n<BR><\/BR><br \/>\n    <!-- no image --><br \/>\n \t<BR><br \/>\n<BR><\/BR><\/p>\n<div>\n<p>A whistleblower at the <strong>National Labor Relations Board<\/strong> (NLRB) alleged last week that denizens of Elon Musk\u2019s <strong>Department of Government Efficiency<\/strong> (DOGE) siphoned gigabytes of data from the agency\u2019s sensitive case files in early March. The whistleblower said accounts created for DOGE at the NLRB downloaded three code repositories from <strong>GitHub<\/strong>. Further investigation into one of those code bundles shows it is remarkably similar to a program published in January 2025 by <strong>Marko Elez<\/strong>, a 25-year-old DOGE employee who has worked at a number of Musk\u2019s companies.<\/p>\n<div id=\"attachment_71090\" style=\"width: 758px\" class=\"wp-caption aligncenter\">\n<a href=\"https:\/\/i0.wp.com\/krebsonsecurity.com\/wp-content\/uploads\/2025\/04\/db-powershellcmds.png?ssl=1\" target=\"_blank\" rel=\"noopener\"><img data-recalc-dims=\"1\" loading=\"lazy\" aria-describedby=\"caption-attachment-71090\" decoding=\"async\" class=\"wp-image-71090\" src=\"https:\/\/i0.wp.com\/krebsonsecurity.com\/wp-content\/uploads\/2025\/04\/db-powershellcmds.png?resize=748%2C323&#038;ssl=1\" alt=\"\" width=\"748\" height=\"323\" srcset=\"https:\/\/krebsonsecurity.com\/wp-content\/uploads\/2025\/04\/db-powershellcmds.png 1287w, https:\/\/krebsonsecurity.com\/wp-content\/uploads\/2025\/04\/db-powershellcmds-768x331.png 768w, https:\/\/krebsonsecurity.com\/wp-content\/uploads\/2025\/04\/db-powershellcmds-782x337.png 782w\" sizes=\"(max-width: 748px) 100vw, 748px\"><\/a><\/p>\n<p id=\"caption-attachment-71090\" class=\"wp-caption-text\">A screenshot shared by NLRB whistleblower Daniel Berulis shows three downloads from GitHub.<\/p>\n<\/div>\n<p>According to <a href=\"https:\/\/krebsonsecurity.com\/2025\/04\/whistleblower-doge-siphoned-nlrb-case-data\/\" target=\"_blank\" rel=\"noopener\">a whistleblower complaint<\/a> filed last week by\u00a0<strong>Daniel J. Berulis<\/strong>, a 38-year-old security architect at the NLRB, officials from DOGE met with NLRB leaders on March 3 and demanded the creation of several\u00a0all-powerful \u201ctenant admin\u201d accounts that were to be exempted from network logging activity that would otherwise keep a detailed record of all actions taken by those accounts.<\/p>\n<p>Berulis said the new DOGE accounts had unrestricted permission to read, copy, and alter information contained in NLRB databases. The new accounts also could restrict log visibility, delay retention, route logs elsewhere, or even remove them entirely \u2014 top-tier user privileges that neither Berulis nor his boss possessed.<\/p>\n<p>Berulis said he discovered one of the DOGE accounts had downloaded three external code libraries from <strong>GitHub<\/strong> that neither NLRB nor its contractors ever used. A \u201creadme\u201d file in one of the code bundles explained it was created to rotate connections through a large pool of cloud Internet addresses that serve \u201c<em>as a proxy to generate pseudo-infinite IPs for web scraping and brute forcing<\/em>.\u201d Brute force attacks involve automated login attempts that try many credential combinations in rapid sequence.<\/p>\n<p>A search on that description in Google brings up a code repository at GitHub for a user with the account name \u201c<strong>Ge0rg3<\/strong>\u201d who published a program roughly four years ago called \u201c<a href=\"https:\/\/github.com\/Ge0rg3\/requests-ip-rotator\" target=\"_blank\" rel=\"noopener\">requests-ip-rotator<\/a>,\u201d described as a library that will allow the user \u201cto bypass IP-based rate-limits for sites and services.\u201d<\/p>\n<div id=\"attachment_71091\" style=\"width: 759px\" class=\"wp-caption aligncenter\">\n<img data-recalc-dims=\"1\" aria-describedby=\"caption-attachment-71091\" decoding=\"async\" loading=\"lazy\" class=\" wp-image-71091\" src=\"https:\/\/i0.wp.com\/krebsonsecurity.com\/wp-content\/uploads\/2025\/04\/ge0rge-gh.png?resize=749%2C543&#038;ssl=1\" alt=\"\" width=\"749\" height=\"543\" srcset=\"https:\/\/krebsonsecurity.com\/wp-content\/uploads\/2025\/04\/ge0rge-gh.png 1171w, https:\/\/krebsonsecurity.com\/wp-content\/uploads\/2025\/04\/ge0rge-gh-768x557.png 768w, https:\/\/krebsonsecurity.com\/wp-content\/uploads\/2025\/04\/ge0rge-gh-782x568.png 782w\" sizes=\"(max-width: 749px) 100vw, 749px\"><\/p>\n<p id=\"caption-attachment-71091\" class=\"wp-caption-text\">The README file from the GitHub user Ge0rg3\u2019s page for requests-ip-rotator includes the exact wording of a program the whistleblower said was downloaded by one of the DOGE users. Marko Elez created an offshoot of this program in January 2025.<\/p>\n<\/div>\n<p>\u201cA Python library to utilize AWS API Gateway\u2019s large IP pool as a proxy to generate pseudo-infinite IPs for web scraping and brute forcing,\u201d the description reads.<\/p>\n<p>Ge0rg3\u2019s code is \u201copen source,\u201d in that anyone can copy it and reuse it non-commercially. As it happens, there is a newer version of this project that was derived or \u201cforked\u201d from Ge0rg3\u2019s code \u2014 called \u201c<a href=\"https:\/\/github.com\/markoelez\/async-ip-rotator\/blob\/master\/README.md\" target=\"_blank\" rel=\"noopener\">async-ip-rotator<\/a>\u201d \u2014 and it was committed to GitHub in January 2025 by DOGE captain <a href=\"https:\/\/github.com\/markoelez\" target=\"_blank\" rel=\"noopener\">Marko Elez<\/a>.<\/p>\n<div id=\"attachment_71085\" style=\"width: 760px\" class=\"wp-caption aligncenter\">\n<a href=\"https:\/\/i0.wp.com\/krebsonsecurity.com\/wp-content\/uploads\/2025\/04\/melez-gh.png?ssl=1\" target=\"_blank\" rel=\"noopener\"><img data-recalc-dims=\"1\" aria-describedby=\"caption-attachment-71085\" decoding=\"async\" loading=\"lazy\" class=\"wp-image-71085\" src=\"https:\/\/i0.wp.com\/krebsonsecurity.com\/wp-content\/uploads\/2025\/04\/melez-gh.png?resize=750%2C492&#038;ssl=1\" alt=\"\" width=\"750\" height=\"492\" srcset=\"https:\/\/krebsonsecurity.com\/wp-content\/uploads\/2025\/04\/melez-gh.png 1150w, https:\/\/krebsonsecurity.com\/wp-content\/uploads\/2025\/04\/melez-gh-768x504.png 768w, https:\/\/krebsonsecurity.com\/wp-content\/uploads\/2025\/04\/melez-gh-782x513.png 782w\" sizes=\"(max-width: 750px) 100vw, 750px\"><\/a><\/p>\n<p id=\"caption-attachment-71085\" class=\"wp-caption-text\">The whistleblower stated that one of the GitHub files downloaded by the DOGE employees who transferred sensitive files from an NLRB case database was an archive whose README file read: \u201cPython library to utilize AWS API Gateway\u2019s large IP pool as a proxy to generate pseudo-infinite IPs for web scraping and brute forcing.\u201d Elez\u2019s code pictured here was forked in January 2025 from a code library that shares the same description.<\/p>\n<\/div>\n<p>A key DOGE staff member who gained access to the Treasury Department\u2019s central payments system, Elez has worked for a number of Musk companies, including <strong>X<\/strong>, <strong>SpaceX<\/strong>, and <strong>xAI<\/strong>. Elez was among the first DOGE employees to face public scrutiny, after <strong>The Wall Street Journal<\/strong> <a href=\"https:\/\/www.wsj.com\/tech\/doge-staffer-resigns-over-racist-posts-d9f11a93\" target=\"_blank\" rel=\"noopener\">linked him to social media posts<\/a> that advocated racism and eugenics.<\/p>\n<p>Elez resigned after that brief scandal, but was rehired after President Donald Trump and Vice President JD Vance expressed support for him. <strong>Politico<\/strong> <a href=\"https:\/\/www.politico.com\/news\/2025\/03\/29\/doge-marco-elez-software-engineer-us-payroll-00259303\" target=\"_blank\" rel=\"noopener\">reports<\/a> Elez is now a <strong>Labor Department<\/strong> aide detailed to multiple agencies, including the <strong>Department of Health and Human Services<\/strong>.<\/p>\n<p>\u201cDuring Elez\u2019s initial stint at Treasury, he violated the agency\u2019s information security policies by sending a spreadsheet containing names and payments information to officials at the General Services Administration,\u201d Politico wrote, citing court filings.<\/p>\n<p>KrebsOnSecurity sought comment from both the NLRB and DOGE, and will update this story if either responds.<span id=\"more-71075\"><\/span><\/p>\n<p>The NLRB has been effectively hobbled since <strong>President Trump<\/strong> fired three board members, leaving the agency without the quorum it needs to function. Both\u00a0<strong>Amazon<\/strong>\u00a0and Musk\u2019s\u00a0<strong>SpaceX<\/strong>\u00a0have\u00a0<a href=\"https:\/\/apnews.com\/article\/amazon-nlrb-unconstitutional-spacex-elon-musk-ab42977117d883e97110a7bf8e8b257f\" target=\"_blank\" rel=\"noopener\">been suing<\/a>\u00a0the NLRB over complaints the agency filed in disputes about workers\u2019 rights and union organizing, arguing that the NLRB\u2019s very existence is unconstitutional. On March 5, a U.S. appeals court\u00a0<a href=\"https:\/\/www.reuters.com\/legal\/government\/musks-spacex-loses-early-legal-challenge-us-labor-boards-powers-2025-03-05\/\" target=\"_blank\" rel=\"noopener\">unanimously rejected<\/a>\u00a0Musk\u2019s claim that the NLRB\u2019s structure somehow violates the Constitution.<\/p>\n<p>Berulis\u2019s complaint alleges the DOGE accounts at NLRB downloaded more than 10 gigabytes of data from the agency\u2019s case files, a database that includes reams of sensitive records including information about employees who want to form unions and proprietary business documents. Berulis said he went public after higher-ups at the agency told him not to report the matter to the US-CERT, as they\u2019d previously agreed.<\/p>\n<p>Berulis told KrebsOnSecurity he worried the unauthorized data transfer by DOGE could unfairly advantage defendants in a number of ongoing labor disputes before the agency.<\/p>\n<p>\u201cIf any company got the case data that would be an unfair advantage,\u201d Berulis said. \u201cThey could identify and fire employees and union organizers without saying why.\u201d<\/p>\n<div id=\"attachment_71106\" style=\"width: 454px\" class=\"wp-caption aligncenter\">\n<img data-recalc-dims=\"1\" aria-describedby=\"caption-attachment-71106\" decoding=\"async\" loading=\"lazy\" class=\"size-full wp-image-71106\" src=\"https:\/\/i0.wp.com\/krebsonsecurity.com\/wp-content\/uploads\/2025\/04\/markoelez.png?resize=444%2C515&#038;ssl=1\" alt=\"\" width=\"444\" height=\"515\"><\/p>\n<p id=\"caption-attachment-71106\" class=\"wp-caption-text\">Marko Elez, in a photo from a social media profile.<\/p>\n<\/div>\n<p>Berulis said the other two GitHub archives that DOGE employees downloaded to NLRB systems included <strong>Integuru<\/strong>, a software framework designed to reverse engineer application programming interfaces (APIs) that websites use to fetch data; and a \u201cheadless\u201d browser called <strong>Browserless<\/strong>, which is made for automating web-based tasks that require a pool of browsers, such as web scraping and automated testing.<\/p>\n<p>On February 6, someone <a href=\"https:\/\/web.archive.org\/web\/20250423135719\/https:\/\/github.com\/markoelez\/async-ip-rotator\/issues\/1\" target=\"_blank\" rel=\"noopener\">posted a lengthy and detailed critique<\/a> of Elez\u2019s code on the GitHub \u201cissues\u201d page for async-ip-rotator, calling it \u201cinsecure, unscalable and a fundamental engineering failure.\u201d<\/p>\n<p>\u201cIf this were a side project, it would just be bad code,\u201d the reviewer wrote. \u201cBut if this is representative of how you build production systems, then there are much larger concerns. This implementation is fundamentally broken, and if anything similar to this is deployed in an environment handling sensitive data, it should be audited immediately.\u201d<\/p>\n<p>Further reading:\u00a0<a href=\"https:\/\/whistlebloweraid.org\/wp-content\/uploads\/2025\/04\/2025_0414_Berulis-Disclosure-with-Exhibits.s.pdf\" target=\"_blank\" rel=\"noopener\">Berulis\u2019s complaint<\/a>\u00a0(PDF).<\/p>\n<p><strong>Update 7:06 p.m. ET<\/strong>: Elez\u2019s code repo was deleted after this story was published. An archived version of it <a href=\"https:\/\/github.com\/ricci\/async-ip-rotator\" target=\"_blank\" rel=\"noopener\">is here<\/a>.<\/p>\n<\/div>\n<p> \t<BR><br \/>\n <BR><\/BR><br \/>\n    BrianKrebs<br \/>\n \t<BR><br \/>\n<BR><\/BR><br \/>\n<a href=\"https:\/\/krebsonsecurity.com\/2025\/04\/doge-workers-code-supports-nlrb-whistleblower\/\">Go to krebsonsecurity<\/a><br \/>\n \t<BR><br \/>\n <BR><\/BR><\/p>\n","protected":false},"excerpt":{"rendered":"<p>DOGE Worker\u2019s Code Supports NLRB Whistleblower A whistleblower at the National Labor Relations Board (NLRB) alleged last week that denizens of Elon Musk\u2019s Department of Government Efficiency (DOGE) siphoned gigabytes of data from the agency\u2019s sensitive case files in early March. The whistleblower said accounts created for DOGE at the NLRB downloaded three code repositories [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[188,1174,1175,1165,813,1176,747,1177,899,1178,55,1179,1180,1181,1182,207,1142],"tags":[72],"class_list":["post-3485","post","type-post","status-publish","format-standard","hentry","category-a-little-sunshine","category-async-ip-rotator","category-browserless","category-daniel-j-berulis","category-department-of-government-efficiency","category-department-of-health-and-human-services","category-doge","category-ge0rg3","category-github","category-integuru","category-krebsonsecurity","category-labor-department","category-marko-elez","category-national-labor-relations-board","category-politico","category-the-coming-storm","category-the-wall-street-journal","tag-krebsonsecurity"],"_links":{"self":[{"href":"https:\/\/serisec.com\/index.php\/wp-json\/wp\/v2\/posts\/3485"}],"collection":[{"href":"https:\/\/serisec.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/serisec.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/serisec.com\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/serisec.com\/index.php\/wp-json\/wp\/v2\/comments?post=3485"}],"version-history":[{"count":0,"href":"https:\/\/serisec.com\/index.php\/wp-json\/wp\/v2\/posts\/3485\/revisions"}],"wp:attachment":[{"href":"https:\/\/serisec.com\/index.php\/wp-json\/wp\/v2\/media?parent=3485"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/serisec.com\/index.php\/wp-json\/wp\/v2\/categories?post=3485"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/serisec.com\/index.php\/wp-json\/wp\/v2\/tags?post=3485"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}