Repository logo

Infoscience

  • English
  • French
Log In
Logo EPFL, École polytechnique fédérale de Lausanne

Infoscience

  • English
  • French
Log In
  1. Home
  2. Academic and Research Output
  3. Conferences, Workshops, Symposiums, and Seminars
  4. REFLECTA: Reflection-based Scalable and Semantic Scripting Language Fuzzing
 
conference paper

REFLECTA: Reflection-based Scalable and Semantic Scripting Language Fuzzing

Zhang, Chibin  
•
Lee, Gwangmu  
•
Liu, Qiang
Show more
August 24, 2025
Proceedings of the 20th ACM Asia Conference on Computer and Communications Security
20th ACM Asia Conference on Computer and Communications Security (ACM ASIA CCS 2025)

Information & Contributors Bibliometrics & Citations

References59

Share

Abstract Scripting languages such as Python and JavaScript have revolutionized modern software development thanks to their flexibility and rich functionalities. However, scripting languages provide a large attack surface, allowing adversaries to exploit bugs in the execution engines to perform sandbox escapes or execute arbitrary code. While fuzzing successfully revealed vulnerabilities in execution engines, current techniques still face scalability and semantic correctness challenges. Specifically, existing approaches fail to scale to multiple scripting languages and often lack semantic correctness. Reflecta, our novel scripting language fuzzer, relies solely on a common introspection feature in programming languages, namely reflection, enabling a generic fuzzer design across different scripting languages. With reflection, Reflecta gains the capabilities to explore the rich set of language features dynamically, significantly reducing manual efforts. Reflecta thus manages to generate language-feature-rich programs and perform type-aware mutation, producing programs with high semantic correctness. We implemented Reflecta to fuzz six execution engines for four prevalent scripting languages, Python, JavaScript, Ruby, and PHP. Reflecta achieves 1.74 x 3.35x improvement in semantic correctness and 1.63 x 2.21x improvement in code coverage compared to state-of-the-art language-general fuzzers and favorably compares to manually-augmented language-specific fuzzers without any prior semantic information. Moreover, Reflecta has discovered 25 unknown bugs confirmed by the developers of PHP, MRuby, and MicroPython, 16 of which have already been fixed.

  • Details
  • Metrics
Type
conference paper
DOI
10.1145/3708821.3710818
Author(s)
Zhang, Chibin  

École Polytechnique Fédérale de Lausanne

Lee, Gwangmu  

École Polytechnique Fédérale de Lausanne

Liu, Qiang

École Polytechnique Fédérale de Lausanne

Payer, Mathias  

École Polytechnique Fédérale de Lausanne

Date Issued

2025-08-24

Publisher

ACM

Publisher place

New York, NY, USA

Published in
Proceedings of the 20th ACM Asia Conference on Computer and Communications Security
DOI of the book
https://doi.org/10.1145/3696630.3728703
ISBN of the book

979-8-4007-1276-0

Start page

1772

End page

1787

Editorial or Peer reviewed

REVIEWED

Written at

EPFL

EPFL units
HEXHIVE  
Event nameEvent acronymEvent placeEvent date
20th ACM Asia Conference on Computer and Communications Security (ACM ASIA CCS 2025)

ASIA CCS '25

Hanoi Vietnam

2025-08-25 - 2025-08-29

FunderFunding(s)Grant NumberGrant URL

European Research Council

850868

SNSF

186794

FFG

888338

Available on Infoscience
August 20, 2025
Use this identifier to reference this record
https://infoscience.epfl.ch/handle/20.500.14299/252945
Logo EPFL, École polytechnique fédérale de Lausanne
  • Contact
  • infoscience@epfl.ch

  • Follow us on Facebook
  • Follow us on Instagram
  • Follow us on LinkedIn
  • Follow us on X
  • Follow us on Youtube
AccessibilityLegal noticePrivacy policyCookie settingsEnd User AgreementGet helpFeedback

Infoscience is a service managed and provided by the Library and IT Services of EPFL. © EPFL, tous droits réservés