15 comments

  • maxwg2 hours ago
    JS was never really obfuscated - it wasn&#x27;t the goal of minification. Minifiers especially struggle with ES6 classes&#x2F;etc, outputting code that is almost human readable.<p>Proper obfuscation libraries exist, typically at the cost of a pretty notable amount of performance that I&#x27;d wager most are not willing to sacrifice<p>And like even the best of client-side DRM, everything can be reverse engineered. All the code has been downloaded to the user&#x27;s machine. It&#x27;s one of the (IMO terrible) excuses for the SaaSification of all software
    • integralid1 hour ago
      minification was originally about sending less bytes on the wire and saving a bit of performance. Somewhere along the road people started misusing this for security, because JS evolved from &quot;a few snippets of code to make my site more interactive&quot; to SPAs
  • layer82 hours ago
    &gt; AfterPack approaches this differently. Instead of layering reversible transforms on top of each other, AfterPack uses non-linear, irreversible transforms — closer to how a hash function works than how a traditional obfuscator works. The output is functionally equivalent to the input, but the transformation destroys semantic meaning in a way that cannot be reversed — even by AfterPack itself. There&#x27;s no inverse function. No secret key that unlocks the original.<p>That’s probably fun when trying to analyze bugs occurring in production. :)
    • Retr0id2 hours ago
      What they describe is snake oil. Even if you assume it is mathematically possible in the general case (which is debatable!), it&#x27;ll likely have a <i>huge</i> performance overhead. See <a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Indistinguishability_obfuscation#Practicality" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Indistinguishability_obfuscati...</a>
    • throwup2382 hours ago
      What they’re describing is a polymorphic virus. A great analogy for SV startups.<p>It works great in assembly, not so much for higher level languages.
      • brookst1 hour ago
        Is all polymorphic code virii?
        • throwup2381 hour ago
          Not necessarily, but in practice no one has any use for the technique except to obfuscate viruses, with the exception of academic research.<p>The nonvirus equivalent is JITs which are present in all major browsers and tons of other runtimes, but they have no use for polymorphism except at a theoretical level (they all use it extensively, but at the type level).
  • Retr0id2 hours ago
    Minification is not obfuscation and obfuscation is not security, but no amount of deobfuscation will recover the <i>comments</i> in the source, which are often more insightful than the source itself.
    • JollySharp01 hour ago
      Obfuscation is meant to slow someone by making it difficult to understand. Slowing an attacker down is often employed as a form of security, that is why castles had walls, moats and multiple layers once you got inside to hinder progress.<p>It has been often used by companies, malware authors etc. to make it difficult for someone else to understand what is internally happening.
    • postalrat1 hour ago
      Often like 1 in 100 js files?
    • TurdF3rguson2 hours ago
      If the comments were in the original source that the model trained on... Then sure, those are recoverable too.
  • notepad0x902 hours ago
    It&#x27;s a cat and mouse game, it provides the desired level of security for people who use it. It isn&#x27;t used to prevent people from finding vulnerabilities (not mostly at least). It&#x27;s used to deter competition, prevent clones of the application,etc.. it&#x27;s make-shift &quot;DRM&quot;. There are ways to defeat even AI-assisted analysis running in a proper browser. But I think it&#x27;s not a good idea to give anyone ideas on this subject. proper-DRM is hellish enough.<p>Was there ever an obfuscated JS code a human couldn&#x27;t reverse given enough time? It&#x27;s like most people&#x27;s doors, it won&#x27;t stop someone with a battering ram, but it will ideally slow them down enough for you to hide or get your guns. in this case, it won&#x27;t even slow them down, until it does (hence: cat and mouse game).
    • integralid1 hour ago
      &gt;Was there ever an obfuscated JS code a human couldn&#x27;t reverse given enough time?<p>I reverse malware for a living and no there wasn&#x27;t. With some experience even the best obfuscation is actually pretty easy to defeat. But the goal of malware analysis is to extract some knowledge (what this code does, IPs, URLs, tokens). Getting a runnable, clean version would often be a long tedious work.
  • throwaway99801 hour ago
    Nicholson entered the mantrap and the double doors closed behind him. He emptied his pockets and disrobed before donning the clean suit that had been provided to him by the orderlies. The camera watching him appeared satisfied that he was properly prepared and, more to the point, that the vendor was properly protected. The doors to the inner chamber opened and he proceeded into the hallway. He passed several doors until he reached the one that was labeled with the name of the vendor. He pressed the button on the doorframe. A satisfying tactile click, a spinning light illuminating around the button, a click, and then the door opened soundlessly. A single desk with a small chair and a computer terminal awaited him. He sat down and the screen turned on automatically. Finally, he was able to set about classifying his expenses from a recent trip to Tokyo. It was inconvenient, but a small price to pay to ensure that the vendor’s unique interfaces, their intellectual property, couldn’t be copied by the replication machines. Their eyes and their ears were everywhere in the outside world. Simply by seeing your software, these machines could copy its essence. The risks of operating software in the wild required that proprietary software be protected. Hidden away from eavesdroppers. Such was the world in 2037.
  • tw042 hours ago
    Huh? Their justification for &quot;ofuscation isn&#x27;t security&quot; is by pointing out that the Claude source wasn&#x27;t obfuscated, it was minified. And it could be &quot;deobfuscated by claude itself&quot; - even though, again, they said the code wasn&#x27;t obfuscated.<p>So I guess, ask Claude to deobfuscate some code that&#x27;s <i>ACTUALLY OBFUSCATED</i> if you want to claim obfuscation provides <i>ZERO</i> additional security.<p>&gt;We analyzed this file at AfterPack as part of a deobfuscation case study. What we found: it&#x27;s minified, not obfuscated.<p>&gt;Here&#x27;s the difference. Minification — what every bundler (esbuild, Webpack, Rollup) does by default — shortens variable names and removes whitespace. It makes code smaller for shipping. It was never designed to hide anything.<p>&gt;Here&#x27;s where it gets interesting. We didn&#x27;t need source maps to extract Claude Code&#x27;s internals. We asked Claude — Anthropic&#x27;s own model — to analyze and deobfuscate the minified cli.js file.
    • what1 hour ago
      It seems pretty clearly ai written.
  • ryandrake2 hours ago
    I successfully did this the other day. There was a web app I used quite a bit with an annoying performance issue (in some cases its graphics code would spin my CPU at 100% constantly, fans full-blast). I asked Claude to fetch the code and fed it a few performance traces I took through Firefox, and it cut through all those obfuscated variables like they weren&#x27;t even there, easily re-interpreting what each function <i>actually</i> did, finding a plausible root cause and workaround (which worked).<p>Can you generally trust it to de-obfuscate reliably? No idea. My sample size is 1.
    • josephg2 hours ago
      I did something similar yesterday. I&#x27;m playing a little idle game, and wanted to optimise my playthrough. I pointed claude at the game&#x27;s data files, and in a few short minutes it reverse engineered the game data and extracted it to CSV &#x2F; JSON files for analysis.<p>In this case, it turned out the data - and source code for the game - was in a big minified javascript file. Claude extracted all the data I wanted in about 2 minutes.
    • danelliot1 hour ago
      [dead]
    • quangtrn2 hours ago
      [dead]
  • 0x3f2 hours ago
    The _any_ part is not clear to me. Obfuscation is an arms race. Reverse engineers have always been tool-assisted. Now they just have new tools and the obfuscators need to catch up.
  • socalgal22 hours ago
    And read through native code as well
  • beej711 hour ago
    About 8 months ago I deliberately obfuscated some merge sort code to give to my software engineering students to make them upset. :) I munged it up pretty good, changing the structure, making the variable names completely misleading, destroying the symmetry, etc. Out of curiosity, I fed it into ChatGPT and it had it figured out in zero seconds.
  • mediumsmart1 hour ago
    JavaScript code is the essence of minified security.
  • sublinear2 hours ago
    &gt; No one talks about this. There&#x27;s no VentureBeat headline about GitHub shipping email addresses in their JS bundles. No Hacker News thread about internal URLs exposed in Anthropic&#x27;s CDN scripts<p>That&#x27;s a huge sign none of that information is truly sensitive. What is being implied here?<p>&gt; AI Makes This Urgent<p>No it doesn&#x27;t. This is blogspam and media hype nobody is interested in. Unless the demographics have really shifted that much in the last few years, HN is one of the worst places to attempt this marketing style.
  • durzo222 hours ago
    write your blog yourself if ppl are supposed to read it not this llm slop
    • notepad0x902 hours ago
      isn&#x27;t it fair for an article about AI deobfuscating code to be written by AI?
      • socalgal22 hours ago
        If it’s too hard to read ask your ai to deobfuscate it :D
      • gertop2 hours ago
        Fair? No. Par for the course? Unfortunately yes.
      • Gigachad2 hours ago
        I expect it these days but it’s still disrespectful slop pushing out real work.
      • Retr0id2 hours ago
        Not really, no.
  • motohagiography2 hours ago
    slight historical note, it might be interesting to see how the brief period of &quot;white box cryptography&quot; stands up to AI today. At the time there were a few companies with products that had trouble finding fit (for straightforward security reasons) but they were essentially commercial obfuscators that made heavy use of lookup tables, miniature virtual machines, and esolang concepts that worked mainly against human reverse engineers.<p>An example was this early AES proposal: <a href="https:&#x2F;&#x2F;link.springer.com&#x2F;chapter&#x2F;10.1007&#x2F;3-540-36492-7_17" rel="nofollow">https:&#x2F;&#x2F;link.springer.com&#x2F;chapter&#x2F;10.1007&#x2F;3-540-36492-7_17</a>
    • Retr0id2 hours ago
      Whitebox cryptography is widely deployed, in browser plugins for DRM.
  • techpulselab2 hours ago
    [dead]