cd /news/ai-safety/how-hacktron-hacked-openai-what-i-le… Β· home β€Ί topics β€Ί ai-safety β€Ί article
[ARTICLE Β· art-136055] src=dev.to β†— pub= topic=ai-safety verified=true sentiment=↓ negative

How Hacktron Hacked OpenAI: What I Learned from an AI-Assisted Attack Chain

Security researchers at Hacktron chained a libheif image-decoding heap overflow with an OpenAI SSO misconfiguration to compromise employee accounts and reach internal GitHub repositories, according to a published report. The attack began with HEIF/HEIC image processing through ImageMagick and libheif, then moved through Discourse and OpenAI's authentication infrastructure to connected GitHub integrations. The report notes the underlying libheif flaw had been fixed upstream but never went through the standard security advisory process, leaving downstream environments exposed.

by read7 min views3 publishedSep 21, 2026

A few days ago, I came across a security research report from Hacktron that caught my attention.

The researchers described how they chained multiple vulnerabilities to compromise OpenAI employee accounts and reach internal GitHub repositories.

What makes the story particularly interesting isn't just the final impact.

It's the attack chain.

The initial vulnerability involved image processing. From there, the researchers were able to move through Discourse, OpenAI's authentication infrastructure, employee accounts, and connected GitHub integrations.

Even more interestingly, AI models were used throughout parts of the research process.

This made me want to break down the attack at a high level and understand what developers can learn from it.

Disclaimer: This is my analysis of publicly reported security research by Hacktron. I'm intentionally not reproducing exploit code, credentials, or instructions that could be used to compromise real systems.

The entire chain can be simplified to:

HEIF / HEIC image
        ↓
   ImageMagick
        ↓
     libheif
        ↓
Remote Code Execution
        ↓
     Discourse
        ↓
 OpenAI SSO issue
        ↓
Employee ChatGPT / Codex account
        ↓
 Connected GitHub integration
        ↓
 Internal repositories

The important part is that this wasn't a single vulnerability magically giving researchers access to OpenAI's internal repositories.

It was a chain of different trust boundaries.

Hacktron's published research describes the chain as involving a libheif image-decoding vulnerability, Debian's security backport situation, ImageMagick, Discourse image uploads, an OpenAI SSO issue, and eventually connected GitHub access. (Routley News)

And that's probably the biggest lesson from the whole story.

Image uploads are something developers deal with constantly.

You upload an image.

The application validates it.

Maybe it generates a thumbnail.

Maybe it converts the format.

Maybe it extracts metadata.

From the application's perspective, it can look like a simple feature.

But behind the scenes, an image might pass through several native libraries.

In this case, Hacktron focused on the processing of HEIF/HEIC images and the native libraries involved in decoding them.

The important detail is that the application itself didn't necessarily contain the vulnerable code.

A web application can depend on:

Application
    ↓
ImageMagick
    ↓
libheif
    ↓
libde265
    ↓
native C/C++ code

This creates a dependency chain that developers don't always think about when looking at their own source code.

According to Hacktron's research, the vulnerability in libheif could be leveraged during image processing to obtain remote code execution in the affected environment. (Routley News)

This is one of the parts I found most interesting.

When we think about dependency security, we usually think about:

npm install package
        ↓
package vulnerability

But production software is often much deeper than that.

A project might use:

React
  ↓
Node package
  ↓
Native dependency
  ↓
System package
  ↓
C/C++ library

And vulnerabilities can exist several layers below the code we're actually writing.

Hacktron reported that the underlying libheif issue had previously been fixed upstream but had not gone through the usual security advisory process, meaning the vulnerable version could remain present in downstream environments. (SecurityWeek)

That creates an important distinction:

"The latest version of my application dependencies" doesn't necessarily mean "every component in my execution environment is secure."

Dependency management has to include the operating system, container images, native libraries and transitive dependencies.

The vulnerable image-processing path was exposed through Discourse, the software used by OpenAI's community forum.

That changed the situation significantly.

The vulnerability wasn't sitting on an isolated research machine.

It was reachable through a real application processing user-uploaded content.

The simplified model was:

Attacker-controlled file
        ↓
Discourse
        ↓
Image processing
        ↓
Vulnerable native library
        ↓
Code execution

This is a classic example of why file uploads should be treated as an attack surface.

An image isn't necessarily "just an image."

It's an input that may eventually be interpreted by complex native software.

This is where the research gets particularly interesting.

Getting remote code execution on one component doesn't automatically mean you have access to everything.

There are supposed to be boundaries:

Compromised server
       βœ•
OpenAI employee account
       βœ•
GitHub
       βœ•
Internal repositories

The researchers found another weakness involving OpenAI's SSO flow.

According to Hacktron, this allowed the attack to move from the compromised forum environment toward employee ChatGPT/Codex accounts. (Routley News)

This is a good example of why identity systems are part of an application's security perimeter.

A vulnerability in one service can become much more serious if that service has a trusted relationship with an identity provider.

Imagine a system like this:

Community Forum
       β”‚
       β”‚ SSO
       ↓
OpenAI Account
       β”‚
       β”‚ OAuth / integration
       ↓
GitHub
       β”‚
       ↓
Internal repositories

Every arrow represents a trust relationship.

If the first component is compromised, the attacker may try to abuse the trust relationships that follow.

This is why security reviews shouldn't only ask:

"Can an attacker compromise this application?"

They should also ask:

"What can an attacker reach if this application is compromised?"

That's a very different question.

Another part of the research received a lot of attention: the researchers used AI models during the investigation.

According to reporting on the research, Hacktron used Anthropic's Claude models to assist with analyzing the vulnerability and developing parts of the exploit. The researchers still performed the security research themselves, including adapting and validating the results. (The Verge)

This distinction matters.

This wasn't:

AI
 ↓
"hack OpenAI"
 ↓
done

It was closer to:

Security researchers
        ↓
AI-assisted analysis
        ↓
Hypotheses
        ↓
Testing
        ↓
Debugging
        ↓
Human validation
        ↓
Working research

AI can dramatically reduce the amount of time required to understand unfamiliar code, generate hypotheses, investigate libraries and iterate on technical problems.

But the researcher still needs to know what to ask, what to test and whether the result actually makes sense.

For me, this is the biggest takeaway.

If you looked at the individual components separately, the final impact would be difficult to predict.

You had:

Image processing vulnerability
+
Application exposure
+
SSO configuration issue
+
Employee account
+
GitHub integration

Together, they created something much more significant.

This is why vulnerability severity shouldn't always be considered in isolation.

A vulnerability that looks limited when viewed independently can become much more serious when combined with another weakness.

There are several practical lessons here that apply far beyond OpenAI.

Images, PDFs, archives and other files can trigger complex parsers.

Don't assume that because a file has a familiar extension, processing it is harmless.

Don't only track the libraries you explicitly installed.

Understand what your application ultimately depends on:

Application
    ↓
Framework
    ↓
Package
    ↓
Native library
    ↓
Operating system

Libraries written in C/C++ are often extremely powerful because they operate close to the system.

They're also capable of memory-safety vulnerabilities.

Keeping them updated and isolating their execution can significantly reduce the impact of a compromise.

If a community forum can somehow become a path toward employee accounts, that's a sign that the boundaries between systems deserve careful review.

Every integration should have the minimum privileges necessary.

Authentication isn't just about passwords.

SSO introduces relationships between different systems.

Those relationships need to be treated as security boundaries.

A useful security question is:

"If this component is completely compromised, what can the attacker do next?"

That question can reveal problems that aren't obvious when reviewing each application independently.

The part I find most interesting isn't necessarily that AI can write exploit code.

We've known for a while that models can generate code.

The bigger change is the speed of iteration.

Security research often involves:

Read code
   ↓
Understand behavior
   ↓
Form hypothesis
   ↓
Write test
   ↓
Observe result
   ↓
Debug
   ↓
Try again

AI can accelerate several of these steps.

That doesn't eliminate the need for expertise.

Instead, it potentially allows a small team to explore a much larger technical surface in a shorter amount of time.

And that applies to both sides.

The same tools can help defenders understand vulnerabilities, audit dependencies and investigate suspicious behavior.

What started as an image-processing vulnerability ultimately became a much larger security problem because it could be chained across multiple systems.

That's what I found most interesting about Hacktron's research.

The lesson isn't simply:

"Image processing is dangerous."

It's:

Security is often about the connections between systems, not just the systems themselves.

A vulnerable library, a web application, an identity provider and a third-party integration might each look manageable on their own.

When they're connected, the security properties of the entire chain matter.

And as AI becomes better at assisting security researchers, understanding those chains may become even more important.

I'm Ramiro Quintana, a Software Engineer & Full Stack Developer from Argentina.

I build web applications, browser extensions and software projects under quintana.dev.

I'm particularly interested in software engineering, automation, reverse engineering and cybersecurity.

You can find my projects and other technical posts on my website:

── more in #ai-safety 4 stories Β· sorted by recency
── more on @hacktron 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain β€” perfect for shipping the agent you just read about.

$git push zahid main
β†’ Live at https://your-agent.zahid.host βœ“
Get free account β†’ Pricing
from €0/mo Β· no card required
LIVE [news/how-hacktron-hacked-…] indexed:0 read:7min 2026-09-21 Β· β€”