Skip to main content
Hamza Haroon

Hamza Haroon

Security Researcher
Nua Security
Hamza Haroon is a Security Researcher at Nua Security, where his work focuses on agentic AI for offensive security. He specializes in vulnerability research, web application security, source code auditing, and software supply chain security. He has contributed to Shax, an autonomous AI agent for web and mobile penetration testing, and researches how AI agents can discover and exploit vulnerabilities at scale. He has been recognized by Google and Microsoft for reporting security vulnerabilities and holds over 25 CVEs in widely used software. Hamza has also secured podium finishes in national and international CTF competitions and is currently completing his Masters at NUST, Pakistan.

Speaker sessions

Briefings and Arsenals | Confirmed Speakers | No Session Assigned

Placeholder session for confirmed speakers without an assigned session, allowing them to be pushed to Swapcard and Visit.

  • 07:30
  • Tue
  • 01 Dec
Stage: Briefing Stage 2
Sessions Type: Keynote

Generated, Not Reviewed: 23 CVEs and One Trust Boundary Across Code Generators

Everybody reviews generated code. Nobody reviews the generator.An API or schema description is treated as trusted configuration. In practice it is attacker-reachable: fetched from a URL at build time, pulled from a public registry, or edited in a pull request. Feed a crafted description to a generator and the generator writes the attacker's code into your codebase for you.The cleanest example is Microsoft Kiota. Description text from the spec lands in a C# doc comment without newlines stripped, so you break out of the comment and inject statements into the generated client. It compiles and runs when someone builds the project.The point is not one bug. The same boundary failed in five generators sharing no code, no language and no maintainers: datamodel-code-generator, swagger-typescript-api, Kiota, Redocly CLI and genql. Twenty-three CVEs across Python, TypeScript, C# and PHP, reached through five input formats: OpenAPI, JSON Schema, GraphQL SDL, XSD and Arazzo. Thirteen inject code into generated output, four are server-side request forgery, three read arbitrary local files, two leak credentials to attacker-controlled hosts during spec resolution, one executes on the build host.The failure predates this work. openapi-python-client shipped arbitrary code generation from a malicious spec in 2020, and Modelina's 2023 advisory conceded that fully guarding against it is not possible.This session covers the method that finds these and what to change in a pipeline that runs a generator.
  • 13:50
  • Wed
  • 02 Dec
Stage: Briefing Stage 1
Sessions Type: Keynote