Papers › Misleading Authorship Attribution of Source Code using Adversarial Learning

Misleading Authorship Attribution of Source Code using Adversarial Learning

29 May 2019arXiv:1905.12386archive 2025-07-28

Erwin Quiring, Alwin Maier, Konrad Rieck

In this paper, we present a novel attack against authorship attribution of source code. We exploit that recent attribution methods rest on machine learning and thus can be deceived by adversarial examples of source code. Our attack performs a series of semantics-preserving code transformations that mislead learning-based attribution but appear plausible to a developer. The attack is guided by Monte-Carlo tree search that enables us to operate in the discrete domain of source code. In an empirical evaluation with source code from 204 programmers, we demonstrate that our attack has a substantial effect on two recent attribution methods, whose accuracy drops from over 88% to 1% under attack. Furthermore, we show that our attack can imitate the coding style of developers with high accuracy and thereby induce false attributions. We conclude that current approaches for authorship attribution are inappropriate for practical application and there is a need for resilient analysis techniques.

PaperPDFCode

In Syntology View this paper on Syntology: its repositories, every harvested function with whether it ran, its licence and the call to fetch it.

Open this paper in Syntology's Atlas, the map of the papers in Syntology's graph and their citations.

Code

equiw/code-imitator mentioned on GitHubGPL-3.0 report

Repository list and official/mentioned flags are the archive's, frozen 2025-07-28. Reachability, where shown, is from one Syntology probe window (2026-09-16 to 2026-09-18); repositories not probed show nothing. GitHub stars are not tracked.

Code Syntology ran Syntology

Not run by Syntology. Nothing on this page verifies that the listed code works.

Tasks

Authorship Attribution

Results from the paper archive 2025-07-28

No leaderboard rows for this paper in the archive.

Methods

Monte-Carlo Tree Search

Report a problem or propose a change · a person checks every report against the paper or source before anything changes; decisions are listed on /corrections