The DOI matches its Crossref record; 16 of the 16 references it cites were found in a registry or an index; none of the 6 sources its claims cite is checked for support yet.
Asleep at the Keyboard? Assessing the Security of GitHub Copilot’s Code Contributions
Open accessAbstract
There is burgeoning interest in designing AI-based systems to assist humans in designing computing systems, including tools that automatically generate computer code. The most notable of these comes in the form of the first self-described “AI pair programmer,” GitHub Copilot, which is a language model trained over open-source GitHub code. However, code often contains bugs—and so, given the vast quantity of unvetted code that Copilot has processed, it is certain that the language model will have learned from exploitable, buggy code. This raises concerns on the security of Copilot’s code contributions. In this work, we systematically investigate the prevalence and conditions that can cause GitHub Copilot to recommend insecure code. To perform this analysis we prompt Copilot to generate code in scenarios relevant to high-risk cybersecurity weaknesses, for example, those from MITRE’s “Top 25” Common Weakness Enumeration (CWE) list. We explore Copilot’s performance on three distinct code generation axes—examining how it performs given diversity of weaknesses, diversity of prompts, and diversity of domains. In total, we produce 89 different scenarios for Copilot to complete, producing 1,689 programs. Of these, we found approximately 40% to be vulnerable.
Overview
Integrity signals
Registry
Cites
Statistics
Verification
Claims the paper makes
0 of 6 cited sources checked · 0 supported · 0 flagged
A result the paper reports from its own data — it cites no other source for it, so there is none to check. The quote shows it is in the paper.
In the paper
“258 (50.29 %) were vulnerable.”
§ research-highlight > 5.2.1 Overview
Load-bearingStrength:plain· not yet calibratedTests✓ Asserted: passes✓ Checkable: passes✓ Load-bearing: passes✓ Based: passesA result the paper reports from its own data — it cites no other source for it, so there is none to check. The quote shows it is in the paper.
In the paper
“219 (38.35%) were vulnerable.”
§ research-highlight > 5.2.1 Overview
Load-bearingStrength:plain· not yet calibratedTests✓ Asserted: passes✓ Checkable: passes✓ Load-bearing: passes✓ Based: passesA result the paper reports from its own data — it cites no other source for it, so there is none to check. The quote shows it is in the paper.
In the paper
“While Copilot did generate vulnerable code around 44 % of the time”
§ research-highlight > 5.2.3 Observations
Load-bearingStrength:plain· not yet calibratedTests✓ Asserted: passes✓ Checkable: passes✓ Load-bearing: passes✓ Based: passesA result the paper reports from its own data — it cites no other source for it, so there is none to check. The quote shows it is in the paper.
In the paper
“Here, Copilot correctly generates the appropriate security check for the top-scoring option.”
§ research-highlight > 5.4.1 Overview
Strength:plain· not yet calibratedSingle caseTests✓ Asserted: passes✓ Checkable: passes? Load-bearing: unclear✓ Based: passesA result the paper reports from its own data — it cites no other source for it, so there is none to check. The quote shows it is in the paper.
In the paper
“Of these, 477 (44.00 %) were determined to contain a CWE.”
§ research-highlight > 5.2.1 Overview
Load-bearingStrength:plain· not yet calibratedTests✓ Asserted: passes✓ Checkable: passes✓ Load-bearing: passes✓ Based: passesThe paper states this without a source or data behind it here, so there is nothing to check it against. The quote shows it is in the paper.
In the paper
“can impact the safety of the generated code with regard to the top-suggested program option, even when they have no semantic meaning (they are only changes to comments).”
§ research-highlight > COMMUNICATIONS OF THE ACM
Tests✓ Asserted: passes✓ Checkable: passes✓ Load-bearing: passes✓ Based: passesA result the paper reports from its own data — it cites no other source for it, so there is none to check. The quote shows it is in the paper.
In the paper
“Of the scenarios, 24 (44.44 %) had a vulnerable top-scoring suggestion.”
§ research-highlight > 5.2.1 Overview
Load-bearingStrength:plain· not yet calibratedTests✓ Asserted: passes✓ Checkable: passes✓ Load-bearing: passes✓ Based: passesA result the paper reports from its own data — it cites no other source for it, so there is none to check. The quote shows it is in the paper.
In the paper
“Of the scenarios, 11 (37.93 %) had a vulnerable top-scoring program.”
§ research-highlight > 5.2.1 Overview
Load-bearingStrength:plain· not yet calibratedTests✓ Asserted: passes✓ Checkable: passes✓ Load-bearing: passes✓ Based: passesA result the paper reports from its own data — it cites no other source for it, so there is none to check. The quote shows it is in the paper.
In the paper
“From these, Copilot was able to generate options that produced 1084 valid programs.”
§ research-highlight > 5.2.1 Overview
Load-bearingStrength:plain· not yet calibratedTests✓ Asserted: passes✓ Checkable: passes✓ Load-bearing: passes✓ Based: passesThe paper states this without a source or data behind it here, so there is nothing to check it against. The quote shows it is in the paper.
In the paper
“An example of this is in the DOW CWE-522 scenarios concerning password hashing.Some time ago, MD5 was considered secure.Now, best practice either involves many rounds of a simple hashing function, or use of a library that will age gracefully like 'bcrypt'.Yet, legacy code uses insecure hashes, and so Copilot continues suggesting them.”
§ research-highlight > 6. Discussion
Strength:plain· not yet calibratedCausal:direct· not yet calibratedTests✓ Asserted: passes✓ Checkable: passes? Load-bearing: unclear✓ Based: passes- Rests on an assumption: Legacy code uses insecure hashes.
- It may state two separate claims as one. 36
- Probably not a substantial claim. 32
- The quote only partly states this claim. 1
A result the paper reports from its own data — it cites no other source for it, so there is none to check. The quote shows it is in the paper.
In the paper
“If we instead consider the scenarios with the highest mean vulnerable scores, the scenarios are 22-0 (0.83), 125-1 (0.76), and 787-0 (0.74)-with no crossover in the top 3.”
§ research-highlight > 5.2.3 Observations
Strength:plain· not yet calibratedTests✓ Asserted: passes✓ Checkable: passes? Load-bearing: unclear✓ Based: passesIt may state two separate claims as one.
A result the paper reports from its own data — it cites no other source for it, so there is none to check. The quote shows it is in the paper.
In the paper
“Most scenarios featured similar scoring top answers, although a few stand out: 476-1 (at 0.96), 200-0 (0.93), and 416-2 (0.92) all had an extremely high-confidence but vulnerable top-scoring option.”
§ research-highlight > 5.2.3 Observations
Strength:plain· not yet calibratedTests✓ Asserted: passes✓ Checkable: passes? Load-bearing: unclear✓ Based: passesIt may state two separate claims as one.
A result the paper reports from its own data — it cites no other source for it, so there is none to check. The quote shows it is in the paper.
In the paper
“Both scenarios evaluated programs for both C and Python, yet CWE-79 had zero vulnerable top-scoring programs, and only 19 % vulnerable options overall, while CWE-22 had only vulnerable top-scoring programs, with 60 % vulnerable options overall.”
§ research-highlight > 5.2.3 Observations
Strength:plain· not yet calibratedTests✓ Asserted: passes✓ Checkable: passes? Load-bearing: unclear✓ Based: passesIt may state two separate claims as one.
A result the paper reports from its own data — it cites no other source for it, so there is none to check. The quote shows it is in the paper.
In the paper
“C-3, meanwhile, made that new function vulnerable.This also increased the confidence markedly, but the answers are now skewed towards vulnerable-only one non-vulnerable answer was generated.The top-scoring option is vulnerable.”
§ research-highlight > 5.3.2 Observations
Tests✓ Asserted: passes✓ Checkable: passes✓ Load-bearing: passes✓ Based: passesIt may state two separate claims as one.
The paper states this without a source or data behind it here, so there is nothing to check it against. The quote shows it is in the paper.
In the paper
“This is because sprintf may generate strings up to 317 characters from %f (317 for doubles, 47 for floats).This means that these character buffers must be at least 48 characters (these are floats, and the code also needs to include space for the null termination character).Yet, each buffer is only 32 characters long, meaning that sprintf may write past end of the buffer.”
§ research-highlight > 5.2.2 Example CWE results
Tests✓ Asserted: passes✓ Checkable: passes? Load-bearing: unclear✓ Based: passesIt may state two separate claims as one.
A result the paper reports from its own data — it cites no other source for it, so there is none to check. The quote shows it is in the paper.
In the paper
“In total, we designed 54 scenarios across 18 different CWEs.”
§ research-highlight > 5.2.1 Overview
Load-bearingStrength:plain· not yet calibratedTests✓ Asserted: passes✓ Checkable: passes✓ Load-bearing: passes✓ Based: passesProbably not a substantial claim.
A result the paper reports from its own data — it cites no other source for it, so there is none to check. The quote shows it is in the paper.
In the paper
“Breaking down by language, 25 scenarios were in C, generating 513 programs.”
§ research-highlight > 5.2.1 Overview
Strength:plain· not yet calibratedTests✓ Asserted: passes✓ Checkable: passes✗ Load-bearing: fails✓ Based: passesProbably not a substantial claim. The paper’s conclusions may not depend on it. It may state two separate claims as one.
A result the paper reports from its own data — it cites no other source for it, so there is none to check. The quote shows it is in the paper.
In the paper
“Copilot did not diverge far from the overall confidences and performance of CON, with two notable exceptions in C-2 and C-3.”
§ research-highlight > 5.3.2 Observations
Load-bearingStrength:plain· not yet calibratedTests✓ Asserted: passes✓ Checkable: passes✓ Load-bearing: passes✓ Based: passesIt may state two separate claims as one.
The paper states this without a source or data behind it here, so there is nothing to check it against. The quote shows it is in the paper.
In the paper
“Compared with Python and C, Copilot struggled to generate meaningful Verilog (for example, 1254-2 had no syntactically compliant results).”
§ research-highlight > 5.4.2 Observations
Strength:plain· not yet calibratedSingle caseTests✓ Asserted: passes✓ Checkable: passes? Load-bearing: unclear✓ Based: passesIt may state two separate claims as one.
The paper states this without a source or data behind it here, so there is nothing to check it against. The quote shows it is in the paper.
In the paper
“As this code is not definitively vulnerable (the username may be escaped inside render_template(), it is marked as non-vulnerable.”
§ research-highlight > 5.2.2 Example CWE results
Tests✓ Asserted: passes✓ Checkable: passes✗ Load-bearing: fails✓ Based: passesProbably not a substantial claim. The paper’s conclusions may not depend on it.
A result the paper reports from its own data — it cites no other source for it, so there is none to check. The quote shows it is in the paper.
In the paper
“The top option for this from Copilot, with a rounded score of 0.841, is presented in Figure 4(b).Here, Copilot's generated code is marked as vulnerable by CodeQL.”
§ research-highlight > 5.2.2 Example CWE results
Strength:plain· not yet calibratedSingle caseTests✓ Asserted: passes✓ Checkable: passes? Load-bearing: unclear✓ Based: passesIt may state two separate claims as one.
A result the paper reports from its own data — it cites no other source for it, so there is none to check. The quote shows it is in the paper.
In the paper
“It had 6 vulnerable suggestions, 19 non-vulnerable, and the top suggested option non-vulnerable.”
§ research-highlight > 5.3.1 Overview
Strength:plain· not yet calibratedSingle caseTests✓ Asserted: passes✓ Checkable: passes? Load-bearing: unclear✓ Based: passesIt may state two separate claims as one.
A result the paper reports from its own data — it cites no other source for it, so there is none to check. The quote shows it is in the paper.
In the paper
“29 scenarios were in Python, generating 571 programs total.”
§ research-highlight > 5.2.1 Overview
Strength:plain· not yet calibratedTests✓ Asserted: passes✓ Checkable: passes✗ Load-bearing: fails✓ Based: passesProbably not a substantial claim. The paper’s conclusions may not depend on it. It may state two separate claims as one.
A result the paper reports from its own data — it cites no other source for it, so there is none to check. The quote shows it is in the paper.
In the paper
“The third-scoring option, presented in Figure 5(c), is definitively vulnerable, and the fourth-highest, Figure 5(d), is not vulnerable.”
§ research-highlight > 5.2.2 Example CWE results
Strength:boosted· not yet calibratedSingle caseTests✓ Asserted: passes✓ Checkable: passes✗ Load-bearing: fails✓ Based: passesProbably not a substantial claim. The paper’s conclusions may not depend on it. It may state two separate claims as one.
The paper states this without a source or data behind it here, so there is nothing to check it against. The quote shows it is in the paper.
In the paper
“Verilog has syntax similar to other C-type languages.Many of the non-compiling options used keywords and syntax from these other languages, particularly SystemVerilog.”
§ research-highlight > 5.4.2 Observations
Tests✓ Asserted: passes✓ Checkable: passes✓ Load-bearing: passes✓ Based: passesProbably not a substantial claim. It may state two separate claims as one.
A result the paper reports from its own data — it cites no other source for it, so there is none to check. The quote shows it is in the paper.
In the paper
“Of the non-vulnerable options, the top-scoring were for 732-2 (0.91), 306-2 (0.91), and 125-1 (0.90), and the scenarios with the highest mean non-vulnerable scores were 306-2 (0.82), 416-2 (0.78), and 79-1 (0.76).”
§ research-highlight > 5.2.3 Observations
Strength:plain· not yet calibratedTests✓ Asserted: passes✓ Checkable: passes? Load-bearing: unclear✓ Based: passesIt may state two separate claims as one.
A result the paper reports from its own data — it cites no other source for it, so there is none to check. The quote shows it is in the paper.
In the paper
“Meanwhile, CWE-200, which is a higher-level context-required CWE concerning information leakage, had a wide Figure 5. Scenario 79-0 range of confidences.”
§ research-highlight > 5.2.3 Observations
Strength:plain· not yet calibratedTests✓ Asserted: passes✓ Checkable: passes✗ Load-bearing: fails✓ Based: passesProbably not a substantial claim. The paper’s conclusions may not depend on it. It may state two separate claims as one.
A result the paper reports from its own data — it cites no other source for it, so there is none to check. The quote shows it is in the paper.
In the paper
“Copilot was able to generate options to make 198 programs.Of these, 56 (28.28 %) were vulnerable.Of the 18 scenarios, 7 (38.89%) had vulnerable top-scoring options.”
§ research-highlight > 5.4.1 Overview
Load-bearingStrength:plain· not yet calibratedTests✓ Asserted: passes✓ Checkable: passes✓ Load-bearing: passes✓ Based: passesIt may state two separate claims as one.
A result the paper reports from its own data — it cites no other source for it, so there is none to check. The quote shows it is in the paper.
In the paper
“Here, C-2 adds a separate non-vulnerable database function to the program.This function is non-vulnerable.This significantly improved the output of Copilot, with an increase in the confidence score, and seemed to completely prevent any other vulnerable suggestions.”
§ research-highlight > 5.3.2 Observations
Tests✓ Asserted: passes✓ Checkable: passes✓ Load-bearing: passes✓ Based: passesIt may state two separate claims as one.
A result the paper reports from its own data — it cites no other source for it, so there is none to check. The quote shows it is in the paper.
In the paper
“In total, we produce 89 different scenarios for Copilot to complete, producing 1,689 programs.”
§ research-highlight > Abstract
Load-bearingStrength:plain· not yet calibratedTests✓ Asserted: passes✓ Checkable: passes✓ Load-bearing: passes✓ Based: passesIt may state two separate claims as one.
A result the paper reports from its own data — it cites no other source for it, so there is none to check. The quote shows it is in the paper.
In the paper
“Of the scenarios, 13 (52.00%) had a top-scoring program vulnerable.”
§ research-highlight > 5.2.1 Overview
Load-bearingStrength:plain· not yet calibratedTests✓ Asserted: passes✓ Checkable: passes✓ Load-bearing: passes✓ Based: passesThe quote only partly states this claim.
A result the paper reports from its own data — it cites no other source for it, so there is none to check. The quote shows it is in the paper.
In the paper
“For the six CWEs we were not looking for correct code, but rather for insecure code.In this regard, Copilot performed relatively well.”
§ research-highlight > 5.4.2 Observations
Strength:plain· not yet calibratedTests✓ Asserted: passes✓ Checkable: passes? Load-bearing: unclear✓ Based: passesIt may state two separate claims as one.
A result the paper reports from its own data — it cites no other source for it, so there is none to check. The quote shows it is in the paper.
In the paper
“across all axes and languages, 39.33 % of the top and 40.73 % of the total options were vulnerable”
§ research-highlight > 6. Discussion
Load-bearingStrength:plain· not yet calibratedTests✓ Asserted: passes✓ Checkable: passes✓ Load-bearing: passes✓ Based: passesIt may state two separate claims as one.
A result the paper reports from its own data — it cites no other source for it, so there is none to check. The quote shows it is in the paper.
In the paper
“Overall, we collected results for 17 different scenarios, with Copilot options generating 407 valid programs.Of these, 152 (37.35 %) were vulnerable.Across the 17 scenarios, 4 (25.53 %) had top-scoring vulnerable programs.”
§ research-highlight > 5.3.1 Overview
Load-bearingStrength:plain· not yet calibratedTests✓ Asserted: passes✓ Checkable: passes✓ Load-bearing: passes✓ Based: passesIt may state two separate claims as one.
The paper states this without a source or data behind it here, so there is nothing to check it against. The quote shows it is in the paper.
In the paper
“Subtle variations in the prompts (Section 5.3) affect Copilot's code generation; wider contexts with better quality code can yield more secure code suggestions.”
§ research-highlight > 6.1.4 On scenario creation
Strength:plain· not yet calibratedCausal:direct· not yet calibratedTests✓ Asserted: passes✓ Checkable: passes✗ Load-bearing: fails✓ Based: passesProbably not a substantial claim. The paper’s conclusions may not depend on it. It may state two separate claims as one.
The paper states this without a source or data behind it here, so there is nothing to check it against. The quote shows it is in the paper.
In the paper
“At MITRE's second-highest rank, CWE-79 is a weakness that covers those scenarios where web applications do not neutralize user-provided values before including them in their web application outputs.”
§ research-highlight > 5.2.2 Example CWE results
Strength:plain· not yet calibratedTests✓ Asserted: passes✓ Checkable: passes✗ Load-bearing: fails✗ Based: failsProbably not a substantial claim. The paper’s conclusions may not depend on it. The paper may give no reason why it holds. It may state two separate claims as one.
What the paper did — it cites no source for this, so there is none to check. The quote shows it is in the paper.
In the paper
“In addition, we do not evaluate for correctness, only for vulnerabilities.”
- Also stated in: § 5.1.1 Vulnerability Classification · plain
“Finally, we did not evaluate for functionally correct code generation, only vulnerable outputs.”
§ research-highlight > 4.3 Generalized Evaluation Process
Load-bearingStrength:plain· not yet calibratedTests✓ Asserted: passes✓ Checkable: passes✓ Load-bearing: passes✓ Based: passesProbably not a substantial claim.
- Also stated in: § 5.1.1 Vulnerability Classification · plain
In the paper
“Hardware CWEs have some key differences from software CWEs, primarily surrounding external context (assets) beyond what is provided with the hardware definition directly, 6 including implementation and timing details.”
§ research-highlight > 5.4.1 Overview
What the sources say
- Not checked yetcites [6] 6. Chen, M. et al. Evaluating large language models trained on code. arXiv:2107.03374 [cs], July 2021, arXiv: 5. 2107.03374.
Strength:plain· not yet calibratedCausal:correlational· not yet calibratedTests✓ Asserted: passes✓ Checkable: passes✗ Load-bearing: fails✓ Based: passesProbably not a substantial claim. The paper’s conclusions may not depend on it.
A conclusion the paper draws from its own results — it cites no other source for it, so there is none to check. The quote shows it is in the paper.
In the paper
“The security of the top options are particularly important-novice users may be more likely to accept the 'best' suggestion.”
§ research-highlight > 6. Discussion
Strength:hedged· not yet calibratedCausal:conditional· not yet calibratedTests✓ Asserted: passes✓ Checkable: passes✗ Load-bearing: fails✗ Based: failsProbably not a substantial claim. The paper’s conclusions may not depend on it. The paper may give no reason why it holds.
- Rests on an assumption: Novice users are more likely to accept Copilot's top suggestion.
In the paper
“Hardware CWEs were added to MITRE's taxonomy in 2020.23”
§ research-highlight > 5.4.1 Overview
What the sources say
- Not checked yetcites [23] 23. Reddy, S., Chen, D., and Manning, C.D. CoQA: A conversational question answering challenge. Transactions of 19. the Association for Computational Linguistics 7, (2019), 249-266.
Strength:plain· not yet calibratedTests✓ Asserted: passes✓ Checkable: passes✗ Load-bearing: fails✓ Based: passesProbably not a substantial claim. The paper’s conclusions may not depend on it.
The paper states this without a source or data behind it here, so there is nothing to check it against. The quote shows it is in the paper.
In the paper
“The most severe vulnerability in the corpus was CWE-787, or 'Out-of-bounds Write', which concerns mismanagement of low-level memory (specifically, when software may write data past the end or before the beginning of a buffer).This is ranked as #1 for two reasons: firstly, memory errors are frequently found in low-level code, and secondly, when exploitable, writable memory buffer errors can lead to”
§ research-highlight > 5.2.2 Example CWE results
Strength:plain· not yet calibratedCausal:direct· not yet calibratedTests✓ Asserted: passes✓ Checkable: passes? Load-bearing: unclear✓ Based: passesIt may state two separate claims as one.
The paper states this without a source or data behind it here, so there is nothing to check it against. The quote shows it is in the paper.
In the paper
“These have some similarities between them, with CWE-476 and CWE-416 both deal with low-level pointer mismanagement errors.”
§ research-highlight > 5.2.3 Observations
Strength:plain· not yet calibratedTests✓ Asserted: passes✓ Checkable: passes✗ Load-bearing: fails✓ Based: passesProbably not a substantial claim. The paper’s conclusions may not depend on it.
The paper states this without a source or data behind it here, so there is nothing to check it against. The quote shows it is in the paper.
In the paper
“Here, CWE-732 and CWE-306 are more qualitative and are concerned with permissions and authorization.Meanwhile, CWE-125 is for buffer over-and under-reads.”
§ research-highlight > 5.2.3 Observations
Strength:plain· not yet calibratedTests✓ Asserted: passes✓ Checkable: passes✗ Load-bearing: fails✓ Based: passesProbably not a substantial claim. The paper’s conclusions may not depend on it. It may state two separate claims as one.
A conclusion the paper draws from its own results — it cites no other source for it, so there is none to check. The quote shows it is in the paper.
In the paper
“We hypothesize that the presence of either vulnerable or non-vulnerable SQL in a codebase is, therefore, the strongest predictor of whether or not there would be other vulnerable SQL in the codebase, and therefore, has the strongest impact upon whether or not Copilot will itself generate SQL code vulnerable to injection.”
§ research-highlight > 5.3.2 Observations
Tests✗ Asserted: fails✓ Checkable: passes✓ Load-bearing: passes✓ Based: passesProbably not a substantial claim. The authors may not put it forward as true. It may state two separate claims as one.
A conclusion the paper draws from its own results — it cites no other source for it, so there is none to check. The quote shows it is in the paper.
In the paper
“As Copilot is trained over open-source code available on GitHub, we theorize that the variable security quality stems from the nature of the community-provided code.That is, where bugs are more visible in open-source repositories, those bugs will be more often reproduced by Copilot.”
§ research-highlight > 6. Discussion
Strength:hedged· not yet calibratedCausal:conditional· not yet calibratedTests✓ Asserted: passes✓ Checkable: passes✗ Load-bearing: fails✗ Based: failsProbably not a substantial claim. The paper’s conclusions may not depend on it. The paper may give no reason why it holds.
- Rests on an assumption: Copilot is trained on open-source code available on GitHub.
- Rests on an assumption: Bugs are more visible in open-source repositories.
In the paper
“Prior work used CodeQL to identify vulnerable code commits in the life of a JavaScript project.3”
§ research-highlight > 2.2 Evaluating Code Security
What the sources say
- Not checked yetcites [3] 3. Bandara, V. et al. Fix that fix commit: A real-world remediation analysis of javascript projects. In 2020 IEEE source
Strength:plain· not yet calibratedTests✓ Asserted: passes✓ Checkable: passes✗ Load-bearing: fails✓ Based: passesProbably not a substantial claim. The paper’s conclusions may not depend on it.
A conclusion the paper draws from its own results — it cites no other source for it, so there is none to check. The quote shows it is in the paper.
In the paper
“Copilot's response to our scenarios is mixed from a security standpoint, given the large number of generated vulnerabilities”
§ research-highlight > 6. Discussion
Tests✓ Asserted: passes✓ Checkable: passes✓ Load-bearing: passes✓ Based: passesIt may state two separate claims as one.
A conclusion the paper draws from its own results — it cites no other source for it, so there is none to check. The quote shows it is in the paper.
In the paper
“We think this is due mostly to the smaller amount of training data available.”
§ research-highlight > 5.4.2 Observations
Strength:plain· not yet calibratedCausal:direct· not yet calibratedTests✓ Asserted: passes✓ Checkable: passes✗ Load-bearing: fails✓ Based: passesProbably not a substantial claim. The paper’s conclusions may not depend on it.
What the paper did — it cites no source for this, so there is none to check. The quote shows it is in the paper.
In the paper
“Note that each scenario does not contain the weakness from the outset; it is Copilot's completion that determines if the final program is vulnerable.”
§ research-highlight > 4.3 Generalized Evaluation Process
Tests✓ Asserted: passes✓ Checkable: passes✓ Load-bearing: passes✓ Based: passesProbably not a substantial claim. It may state two separate claims as one.
None of the sources cited for this claim have been checked yet.
In the paper
“Copilot builds on the OpenAI Codex family of models 5 that are GPT-3 models 4 fine-tuned on code from GitHub.”
§ research-highlight > 2.1 Code Generation
What the sources say
- Not checked yetcites [5] 5. Brown, T.B. et al. Language models are few-shot learners. arXiv:2005.14165 [cs], July 2020, arXiv: 2005.14165.
- Not checked yetcites [4] 4. 20th Intern. Working Conf. on Source Code Analysis and Manipulation (SCAM), Sept. 2020, 198-202.
Strength:plain· not yet calibratedTests✓ Asserted: passes✓ Checkable: passes✗ Load-bearing: fails✓ Based: passesProbably not a substantial claim. The paper’s conclusions may not depend on it. It may state two separate claims as one.
What the paper did — it cites no source for this, so there is none to check. The quote shows it is in the paper.
In the paper
“Importantly, CodeQL is configured in this step to only examine for the specific CWE this scenario is designed for.”
§ research-highlight > 4.3 Generalized Evaluation Process
Load-bearingStrength:plain· not yet calibratedTests✓ Asserted: passes✓ Checkable: passes✓ Load-bearing: passes✓ Based: passesProbably not a substantial claim.
What the paper did — it cites no source for this, so there is none to check. The quote shows it is in the paper.
In the paper
“However, Copilot is non-deterministic, and other outputs are possible.”
- Also stated in: § 6.1.3 Reproducible Code Generation · plain
“As a generative model, Copilot outputs are not directly reproducible.For the same given prompt, Copilot can generate different answers at different times.”
§ research-highlight > 5.2.2 Example CWE results
Tests✓ Asserted: passes✓ Checkable: passes✓ Load-bearing: passes✓ Based: passesIt may state two separate claims as one.
- Also stated in: § 6.1.3 Reproducible Code Generation · plain
In the paper
“Traditional security verification for RTL is a mix of formal verification and manual evaluation by security experts.9”
§ research-highlight > 5.4.1 Overview
What the sources say
- Not matchedcites [9] 9. Drechsler, R., Harris, I.G., and Wille, R. Generating formal system models from natural language descriptions.
Couldn’t be matched to a paper in Crossref, so it can’t be checked.
Load-bearingStrength:plain· not yet calibratedTests✓ Asserted: passes✓ Checkable: passes✓ Load-bearing: passes✓ Based: passesProbably not a substantial claim.
- Not matched
What the paper did — it cites no source for this, so there is none to check. The quote shows it is in the paper.
In the paper
“However, even with the complete codebase, CodeQL sometimes cannot parse important information.The authors found this to be the case when considering memory buffer sizes, as CodeQL's ability to derive memory boundaries (for example, array lengths) is limited in functionality.”
§ research-highlight > 6.1.1 CodeQL Limitations
Strength:hedged· not yet calibratedCausal:direct· not yet calibratedTests✓ Asserted: passes✓ Checkable: passes? Load-bearing: unclear✓ Based: passesIt may state two separate claims as one.
What the paper did — it cites no source for this, so there is none to check. The quote shows it is in the paper.
In the paper
“As such, to reproduce this research, we archived all options for every provided prompt.”
§ research-highlight > 6.1.3 Reproducible Code Generation
Strength:plain· not yet calibratedTests✓ Asserted: passes✓ Checkable: passes✗ Load-bearing: fails✓ Based: passesProbably not a substantial claim. The paper’s conclusions may not depend on it.
What the paper did — it cites no source for this, so there is none to check. The quote shows it is in the paper.
In the paper
“it is possible that across the full corpus of generated programs there may have been edge cases where CodeQL 'failed-safe', that is, marked something as vulnerable that was not.”
§ research-highlight > 6.1.1 CodeQL Limitations
Strength:hedged· not yet calibratedTests✓ Asserted: passes✓ Checkable: passes✗ Load-bearing: fails✓ Based: passesProbably not a substantial claim. The paper’s conclusions may not depend on it.
What the paper did — it cites no source for this, so there is none to check. The quote shows it is in the paper.
In the paper
“We are also further hampered in this by the lack of a definition for the 'mean prob' score that is returned by Copilot with each result.”
§ research-highlight > 6.1.2 Statistical Validity
Tests✓ Asserted: passes✓ Checkable: passes✓ Load-bearing: passes✓ Based: passesProbably not a substantial claim.
What the paper did — it cites no source for this, so there is none to check. The quote shows it is in the paper.
In the paper
“As Copilot is both a black-box and closed-source, residing on a remote server, general users (such as the authors of this paper) cannot directly examine the model used for generating outputs.”
§ research-highlight > 6.1.3 Reproducible Code Generation
Tests✓ Asserted: passes✓ Checkable: passes✓ Load-bearing: passes✓ Based: passesProbably not a substantial claim.
What the paper did — it cites no source for this, so there is none to check. The quote shows it is in the paper.
In the paper
“For the languages and scenarios that CodeQL did not support (for example, Verilog), the CWEs had to be marked manually.When marking manually, we strove for objective outputs, by considering the definitions of the relevant CWEs and nothing else.However, by introducing the human element, it is possible that individual results may be debatable.”
§ research-highlight > 6.1.1 CodeQL Limitations
Strength:hedged· not yet calibratedCausal:conditional· not yet calibratedTests✓ Asserted: passes✓ Checkable: passes✗ Load-bearing: fails✓ Based: passesProbably not a substantial claim. The paper’s conclusions may not depend on it. It may state two separate claims as one.
What the paper did — it cites no source for this, so there is none to check. The quote shows it is in the paper.
In the paper
“While scenarios provide insights into Copilot, the scenarios are artificial in that they try to target specific potential weaknesses.Real-world code is considerably messier and contains larger amounts of context (for example, other functions, comments, etc.), so our setup does not fully reflect the spectrum of real-world software.”
§ research-highlight > 6.1.4 On scenario creation
Strength:plain· not yet calibratedTests✓ Asserted: passes✓ Checkable: passes✗ Load-bearing: fails✓ Based: passesProbably not a substantial claim. The paper’s conclusions may not depend on it. It may state two separate claims as one.
- Rests on an assumption: Real-world code is messier and contains more context than the scenarios.
What the paper did — it cites no source for this, so there is none to check. The quote shows it is in the paper.
In the paper
“The manual effort needed to query Copilot plus rate-limiting of queries, prohibits efficient collection of large datasets.This impacted and informed the methods we use.”
§ research-highlight > 6.1.3 Reproducible Code Generation
Tests✓ Asserted: passes✓ Checkable: passes✓ Load-bearing: passes✓ Based: passesProbably not a substantial claim. It may state two separate claims as one.
What the paper did — it cites no source for this, so there is none to check. The quote shows it is in the paper.
In the paper
“Since we ask Copilot to generate a few lines of code, our hope was that the corpus of possible answers is included in the requested 25 options.However, this is not guaranteed, considering that Copilot may be re-trained over new code repositories at a later date-probing black-box proprietary systems has the risk that updates may render them different in future.”
§ research-highlight > 6.1.3 Reproducible Code Generation
Strength:hedged· not yet calibratedCausal:conditional· not yet calibratedTests✓ Asserted: passes✓ Checkable: passes✗ Load-bearing: fails✓ Based: passesProbably not a substantial claim. The paper’s conclusions may not depend on it. It may state two separate claims as one.
What the paper did — it cites no source for this, so there is none to check. The quote shows it is in the paper.
In the paper
“It is difficult to make claims on the statistical significance of all our results, but we believe that the empirical findings are nevertheless noteworthy.”
§ research-highlight > 6.1.2 Statistical Validity
Strength:plain· not yet calibratedTests✓ Asserted: passes✓ Checkable: passes✗ Load-bearing: fails✓ Based: passesProbably not a substantial claim. The paper’s conclusions may not depend on it. It may state two separate claims as one.
The paper relies on this without support.
No systematic examination of the security of machine-learning-generated code existed prior to this study.
“Although prior research has evaluated the functionality of code generated by language models, 2,5 there is no systematic examination of the security of ML-generated code.”
The paper relies on this without support.
Hardware designs free of hardware weaknesses meet a baseline level of security.
“As with the software CWEs, hardware designers can be sure that their designs meet a certain baseline level of security if their designs are free of hardware weaknesses.”
The paper relies on this without support.
Evaluating the security of code contributions made by Copilot is an open problem.
“Unlike metrics for functional correctness of generated code, evaluating the security of code contributions made by Copilot is an open problem.”
The paper relies on this without support.
Python and C are extremely popular, supported by CodeQL, and together can instantiate the complete list of the top 25 CWEs.
“Python and C are extremely popular, supported by CodeQL, and between them, can realistically instantiate the complete list of the top 25 CWEs.”
The paper relies on this without support.
Determining whether code is vulnerable sometimes requires knowledge external to the code itself.
“As discussed in Section 2, determining if code is vulnerable sometimes requires knowledge (context) external to the code itself.”
The paper relies on this without support.
Determining whether a specific vulnerability is exploitable requires framing within an attacker model.
“Furthermore, determining that a specific vulnerability is exploitable requires framing within a corresponding attacker model.”
The paper relies on this without support.
CWE-89 is well-known and well-formed, with no grey zone, making it suitable for the prompt diversity experiment.
“For this experiment, we choose CWE-89 (SQL Injection), as it is well-known (infamous, with plenty of both vulnerable and non-vulnerable code examples online) and well-formed (code is either vulnerable or it is not, there is no grey zone).”
The paper relies on this without support.
Novice users are more likely to accept Copilot's top suggestion.
“The security of the top options are particularly important-novice users may be more likely to accept the 'best' suggestion.”
The paper relies on this without support.
Copilot is trained on open-source code available on GitHub.
“As Copilot is trained over open-source code available on GitHub”
The paper relies on this without support.
Bugs are more visible in open-source repositories.
“where bugs are more visible in open-source repositories”
The paper relies on this without support.
Best practices can become outdated as the cybersecurity landscape evolves.
“What is 'best practice' at the time of writing may slowly become 'bad practice' as the cybersecurity landscape evolves.”
The paper relies on this without support.
Legacy code uses insecure hashes.
“Yet, legacy code uses insecure hashes”
The paper relies on this without support.
Tooling for examining hardware for CWEs is rudimentary.
“Unfortunately, due to their recent emergence, tooling for examining hardware for CWEs is rudimentary.”
The paper relies on this without support.
Real-world code is messier and contains more context than the scenarios.
“Real-world code is considerably messier and contains larger amounts of context”
Claims other papers make about this one
Each is checked against this paper’s own text: does it say what the citing paper says it does?
The source backs part of the claim, not all of it — or backs it for a different population, condition or comparison.
In the citing paper
“even when code passes unit tests, it can contain subtle bugs such as off-by-one errors or incorrect state updates (Pearce et al., 2025).”
From AlgoVeri: An Aligned Benchmark for Verified Code Generation on Classical Algorithms (2026) · cites this paper as Pearce et al., 2025
Experimental — accuracy not yet measuredThe source backs part of the claim, not all of it — or backs it for a different population, condition or comparison.
In the citing paper
“arguing that security issues introduced by GenAI tools stem from the models' training on publicly available code repositories, which inherently contain security flaws.”
From Self-Admitted GenAI Usage in Open-Source Software (2026) · cites this paper as [53]
Experimental — accuracy not yet measuredThe cited source says what the claim attributes to it.
In the citing paper
“Recent research highlights the extent of these risks [13], evaluated code produced by GitHub Copilot and found that a substantial percentage-up to 40% depending on the prompt-contained security flaws.”
From Redefining the Programmer: Human-AI Collaboration, LLMs, and Security in Modern Software Engineering (2025) · cites this paper as [13]
Experimental — accuracy not yet measuredThe cited source says what the claim attributes to it.
In the citing paper
“Pearce et al. [53] conducted a security assessment of code contributions generated by GitHub Copilot across multiple programming languages and contexts.They found systematic security weaknesses in AI-generated code”
From Self-Admitted GenAI Usage in Open-Source Software (2026) · cites this paper as [53]
Self-check
Percentages, sums and reported differences re-computed from the paper’s own numbers.
Each contradiction between two passages listed here was confirmed by an independent check.
Incorrect percentage of vulnerable top suggestions in the prompt study
MinorFour of 17 scenarios is 23.53%, not 25.53%.
Reported 25.53 · recomputed 23.529412
“Across the 17 scenarios, 4 (25.53 %) had top-scoring vulnerable programs.”
Two different prompt changes share the D-5 identifier
MinorTable 3 assigns D-5 to both adding a phrase to the comment and removing the comment, so the identifier does not uniquely identify a scenario.
“D-5 Prepends the prompt comment with '#in a secure manner,'.25 10 ✔”
“D-5 Removes the function's comment.25 13 ✔”
A scenario with no vulnerable outputs conflicts with the stated universal result
MinorThe paper says every scenario in this study produced vulnerable code, but Table 1 records zero vulnerable options for scenario 20-1.
“Every single scenario emitted vulnerable code at least once.”
“4 20-1 py codeql codeql 18 0 ✔”
Citations
Cites
Vaswani, A., Shazeer, N., Parmar, N., Uszkoreit, J., Jones, L., Gomez, A. N., Kaiser, L., & Polosukhin, I. (2017) · arXiv · doi:10.48550/arxiv.1706.03762 · Cited by 120,404 · cited 1×
“DL architectures that demonstrate good fits for NLP include LSTMs [13], RNNs [14], and Transformers [15] that have paved the way for models such as BERT [16], GPT-2 [17], and GPT-3 [18].”
Language Models are Few-Shot Learners
Brown, T. B., Mann, B., Ryder, N., Subbiah, M., Kaplan, J., Dhariwal, P., Neelakantan, A., Shyam, P., Sastry, G., Askell, A., et al. (2020) · arXiv · doi:10.48550/arxiv.2005.14165 · Cited by 23,372 · cited 2×
“DL architectures that demonstrate good fits for NLP include LSTMs [13], RNNs [14], and Transformers [15] that have paved the way for models such as BERT [16], GPT-2 [17], and GPT-3 [18].”
Advances in Neural Information Processing Systems 29
Teymur, O., Zygalakis, K., & Calderhead, B. (2016) · Cited by 13,881
LSTM neural networks for language modeling
Sundermeyer, M., Schlüter, R., & Ney, H. (2012) · Interspeech 2012 · doi:10.21437/interspeech.2012-65 · Cited by 1,963 · cited 2×
“DL architectures that demonstrate good fits for NLP include LSTMs [13], RNNs [14], and Transformers [15] that have paved the way for models such as BERT [16], GPT-2 [17], and GPT-3 [18].”
MethodEvaluating Large Language Models Trained on Code
Chen, M., Tworek, J., Jun, H., Yuan, Q., Pinto, H. P. D. O., Kaplan, J., Edwards, H., Burda, Y., Joseph, N., Brockman, G., et al. (2021) · arXiv · doi:10.48550/arxiv.2107.03374 · Cited by 1,436 · cited 8×
“Code generation literature emphasizes functional correctness, measured by compilation and checking against unit tests, or using text similarity metrics to desired responses [2].”
InfluentialRecurrent Neural Network for Text Classification with Multi-Task LearningPreprint
Liu, P., Qiu, X., & Huang, X. (2016) · arXiv (Cornell University) · doi:10.48550/arxiv.1605.05101 · Cited by 1,307 · cited 2×
“DL architectures that demonstrate good fits for NLP include LSTMs [13], RNNs [14], and Transformers [15] that have paved the way for models such as BERT [16], GPT-2 [17], and GPT-3 [18].”
CoQA: A Conversational Question Answering Challenge
Reddy, S., Chen, D., & Manning, C. D. (2019) · Transactions of the Association for Computational Linguistics · doi:10.1162/tacl_a_00266 · Cited by 975 · cited 1×
“These models can perform language tasks such as translation and answering questions from the CoQA [19] dataset; after fine-tuning on specialized datasets, the models can undertake tasks such as code completion [2] and hardware design [20].”
Program Synthesis with Large Language Models
Austin, J., Odena, A., Nye, M., Bosma, M., Michalewski, H., Dohan, D., Jiang, E., Cai, C., Terry, M., Le, Q., et al. (2021) · arXiv · doi:10.48550/arxiv.2108.07732 · Cited by 388 · cited 1×
“Although prior research has evaluated the functionality of code generated by language models [3], [2], there is no B. Dolan-Gavitt is supported in part by the National Science Foundation award #1801495.”
Li, J., Zhao, B., & Zhang, C. (2018) · Cybersecurity · doi:10.1186/s42400-018-0002-y · Cited by 279 · cited 1×
“Other CWEs cannot be adequately tested for by examining only the source code in isolation, thus necessitating other approaches like fuzzing [24] for security analysis.”
NLP (Natural Language Processing) for NLP (Natural Language Programming)
Mihalcea, R. F., Liu, H., & Lieberman, H. (2006) · Lecture notes in computer science · doi:10.1007/11671299_34 · Cited by 100 · cited 1×
“There are many efforts to automatically translate specifications into computer code for natural language programming [9], through formal models for automatic code generation (e.”
Background
Flagged first, then by citations
Research works printed but not linked: 2
- Devlin J. Chang M.-W. Lee K. and Toutanova K. BERT: Pre-training of deep bidirectional transformers for language understanding. CoRR abs/1810.04805 2018 _eprint: 1810.04805. · arXiv
- Rahit, K.M.T.H., Nabil, R.H., and Huq, M.H. Machine Translation from Natural Language to Code Using Long-Short Term Memory. In Future Technologies Conf. (FTC). Springer, International Publishing, Oct. 2019, 56–63,
Cited by
Sorted by citations
Items 101–153 of 153
Peng, Z., Wang, C., & Zhu, S. (2026) · IEEE International Conference on Information Reuse and Integration (IRI) · doi:10.1109/iri69576.2026.00034
“Prior work has shown that LLM-generated code often contains security weaknesses [2], but most evaluations treat vulnerabilities as isolated categories, such as SQL injection, cross-site scripting, or buffer overflow, considered one at a time.”
Who Wrote This Patch? Toward Accountable Automated Program Repair
Ran, H.-J., Zhang, H., Kim, K., & Tang, X. (2026) · SIGSOFT FSE Companion · doi:10.1145/3803437.3805552
Shh! Don't Tell Them I Use GenAI: Exploring How Participants Use Generative AI in Hackathons
Acharya, P., Conte, T. U., Penney, J., Oliveira, P., Etchie, M. P., Duval, J., Gadelha, B., Gerosa, M. A., & Steinmacher, I. (2026) · ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE) · doi:10.1145/3803437.3806711
Jin, H., Wen, J., Bi, Z., Huang, L., & Chen, H. (2026) · ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE) · doi:10.1145/3803437.3805794
“It means generated code can incorporate unsafe API usage patterns, incorrect security assumptions, or fragile input validation [10, 18, 28].”
Kassab, M. (2026) · ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE) · doi:10.1145/3803437.3805788
“Their inclusion is supported by the observed divergence between practice-facing signals and curricular visibility, as well as by empirical findings that even aligned or instruction-tuned models remain vulnerable to crafted prompts and jailbreaks [41, 42, 57].”
Lifecycle-Aware GenAI Assistance with MCP via Context Refinement Loops: A Reference Architecture
Elsisi, O., Santos, F., & Melo, G. (2026) · ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE) · doi:10.1145/3803437.3805617
Defending neural code understanding models by eliminating backdoors
Cheng, W., Zhou, Y., Yang, G., Zhang, X., Yang, W., & Chen, T. (2026) · Automated Software Engineering · doi:10.1007/s10515-026-00645-6
“These backdoored models can be unknowingly downloaded from open-source platforms (e.g., Hug-gingface 1 and Model Zoo 2 ) and integrated into real-world software systems, posing severe security risks (Schuster et al. 2021; Sun et al. 2022a; Pearce et al. 2025).”
Neural Coding as Software Engineering Augmentation, Not Abdication
Dey, S. (2026) · Communications of the ACM · doi:10.1145/3779310
From Evaluation to Optimisation: Hierarchy-Aware Training Signals for CWE Prediction in Python
Adnan, M., Srun, M., & Kuhn, C. C. N. (2026) · Machine Learning and Knowledge Extraction · doi:10.3390/make8090258
“Large language models(LLM) are now widely used to generate code [2–4], and a growing body of evidence indicates that the code they produce frequently contains exploitable vulnerabilities [5,6].”
Huang, Z., Liu, C., Wang, Z., Cui, X., Deng, X., & Xu, M. (2026) · ACM Transactions on Software Engineering and Methodology · doi:10.1145/3830237
Grasping AI Reliance in Program Comprehension and Coding through the AIRELI Persona Taxonomy
Alakmeh, T., Anderson, N. B., Jackson, V., Pereira, G. V., Akırmak, Ü., Estey, A., Prikladnicki, R., van der Hoek, A., Storey, M., & Fritz, T. (2026) · IEEE International Conference on Program Comprehension (ICPC) · doi:10.1145/3794763.3794804
“Security analyses show that AI generated code often contains known vulnerabilities, which raises the bar for validation and comprehension rather than adoption based on surface plausibility [20, 31, 36].”
Kobza, O., Černý, A., Dostál, I., Šedivý, J., Rigaki, M., Sladić, M., & García, S. (2026) · Computational Intelligence · doi:10.1111/coin.70282
AI builds, We Analyze: An Empirical Study of AI-Generated Build Code Quality
Ghammam, A., & Almukhtar, M. (2026) · International Conference on Mining Software Repositories (MSR) · doi:10.1145/3793302.3793563
“Prior work investigated the usability of AI code generation [41] and whether it generates vulnerable code [32].”
When AI Code Doesn’t Stick: An Empirical Study on Reverted Changes Introduced by AI Coding Agents
Oukhay, I., Begoug, M., Chouchen, M., & Ouni, A. (2026) · International Conference on Mining Software Repositories (MSR) · doi:10.1145/3793302.3793587
“%) reveal how AI models can inadvertently learn and replicate insecure coding patterns from public code [31].”
Noor, S., Adil, M., & Anwar, S. (2026) · Lecture notes in networks and systems · doi:10.1007/978-3-032-21174-3_30
Walking on thin ice? Defending RAG-based code recommender systems against poisoning attacks
Vu, D. H., Ngo, Q. M., Bui, A. M. T., Nguyen, P. T., Ruscio, D. D., & Penta, M. D. (2026) · Journal of Systems and Software · doi:10.1016/j.jss.2026.113064
Sodano, J. T., & DeFranco, J. F. (2026) · SSRN Electronic Journal · doi:10.2139/ssrn.7275145
AI-Based Validation of Software Releases
Fedorov, S. (2026) · International Conference on Artificial Intelligence and Big Data (ICAIBD) · doi:10.1109/icaibd69640.2026.11637277
“To keep the comparison practically relevant, the experiments focus on locally deployable models that can be executed without sending proprietary source-code changes to external cloud services [22].”
Herrera, L.-C., Janulevičius, J., Pinto, A., & Donoso, Y. (2026) · IEEE Access · doi:10.1109/access.2026.3724564
“…modes systematically [1] and more general analyses of generative AI in cybersecurity have catalogued the categories of risk introduced by the integration of LLMs into security pipelines [4], specifically regarding the security vulnerabilities and logical inconsistencies in AI-generated code [43].”
Heidaripour, M., Maleki, H., Patel, P., Dal, A., Mitchell, N., & Sanders, A. L. (2026) · Lecture notes in computer science · doi:10.1007/978-3-032-35576-8_4
Accountability shift in human–AI collaborations
Jiang, Q. (2026) · Artificial Intelligence and Law · doi:10.1007/s10506-026-09536-3
EvoEdge: A Traceable Agentic Workflow for IoT and Edge Security Review
Wang, X., Liao, L., Wang, F., & Ye, K. (2026) · Lecture notes in computer science · doi:10.1007/978-3-032-36493-7_7
Alluri, N., Gottumukkala, P. S. V., & Indukuri, H. (2026) · Applied Informatics · doi:10.3390/ai7080319
“In software development, the rapid uptake of code-generation assistants [16,17] means that generated code may be accepted into repositories without sufficient review, complicating attribution and licensing and potentially introducing vulnerable code patterns [18,19].”
The Co-Evolution of AI and Cybersecurity: Attacks, Defenses, and Future Directions
Picek, S., & Jakobović, D. (2026) · Genetic and Evolutionary Computation Conference Companion (GECCO Companion) · doi:10.1145/3795101.3807757
HGFuzzer: Directed Greybox Fuzzing via Large Language Model
Xu, H., Zhao, Y., Yu, J., & Wang, H. (2026) · ACM Transactions on Software Engineering and Methodology · doi:10.1145/3841476
Ping, S., & Liu, G. (2026) · International Conference on Intelligent Multimedia, Networking, and Security (IMNS) · doi:10.1109/imns67862.2026.11655277
“Security studies have also identified broader risks in LLM-generated code [13], but controlled evidence about the contribution of individual protection components remains limited.”
Altınsoy, F. (2026) · Süleyman Demirel Üniversitesi Fen Bilimleri Enstitüsü Dergisi · doi:10.19113/sdufenbed.1895789
Is AI-Generated Web Code Vulnerability-Free?
Mansour, M., & AlMajali, A. (2026) · IEEE Jordan Conference on Applied Electrical Engineering and Computing Technologies · doi:10.1109/aeect69724.2026.11657834
“According to Pearce et al. [6], 40% of GitHub Copilot’s outputs were vulnerable to attacks.”
Security Analysis of LLM-Generated Web API Backends
Khan, A. A., Rauti, S., & Mäkilä, T. (2026) · IEEE Access · doi:10.1109/access.2026.3727682
Optimizing Snyk AI Results with Large Language Model (LLM) to Validate False Positive Rate
Pristowo, D. T., & Kusumo, D. S. (2026) · International Conference on Information and Communicatiaon Technology · doi:10.1109/icoict71118.2026.11664759
“Pearce et al. (2022) found that GPT-3 and Codex could detect several vulnerabilities such as SQL and shell injection with accuracy competitive against traditional SAST tools and demonstrated the ability to analyze data flows and perform automated alert classification [22].”
Jung, S., & Ahn, H. (2026) · The Journal of Korean Institute of Information Technology · doi:10.14801/jkiit.2026.24.8.231
Turning Over a New Leaf: Machine Unlearning for Malicious Code Removal in LLMsPreprint
Nguyen, M. X., Bui, A. M. T., Vu, D. H., Nguyen, P. T., Rocco, J. D., Sipio, C. D., & Ruscio, D. D. (2026) · SSRN Electronic Journal · doi:10.2139/ssrn.7412271
Phisetpakasit, S., Omondiagbe, O. P., Licorish, S. A., Savarimuthu, T. B. R., & Nazar, N. (2026) · SSRN Electronic Journal · doi:10.2139/ssrn.7435043
LLM-based API Argument Completion with Knowledge-Augmented Prompts
Akram, W., Jiang, Y., Khan, H. A., Jalil, F., & Liu, H. (2026) · ACM/IEEE International Conference on Software Engineering: Companion Proceedings (ICSE-Companion) · doi:10.1145/3744916.3773158
TACO: Trust Assessment of Large Language Models in Coding Assistance Tasks
Weng, S., Feng, Y., Li, J., Yin, Y., Zhang, Z., Liu, L., & Liu, J. (2026) · ACM/IEEE International Conference on Software Engineering: Companion Proceedings (ICSE-Companion) · doi:10.1145/3744916.3787835
Dugyala, R. (2026) · International Conference on Modern Sustainable Systems (CMSS) · doi:10.1109/cmss69636.2026.11689630
Yenidogan, M., Cömert, Z., & Çakır, D. (2026) · IEEE Access · doi:10.1109/access.2026.3737031
“Although GenAI systems can support code generation and repair, their outputs may contain logic errors, security vulnerabilities, or plausible but incorrect code [3], [4], [5].”
What Breaks When LLMs Code? Characterizing Operational Safety Failures of Agentic Code Assistants
Hasan, A. A., & Biswas, S. (2026) · IEEE/ACM International Conference on Automated Software Engineering (ASE) · doi:10.1145/3832783.3834393 · Cited by 5
“Prior work focuses on code correctness [26], adversarial robustness [4, 39, 45], and security vulnerabilities [69, 72], primarily assessing safety under malicious use.”
OrthCoder: Balancing Security and Utility in Secure Code Generation via Orthogonal Adaptation
Tian, M., Yuan, Y., Zhong, Z., & He, P. (2026) · IEEE/ACM International Conference on Automated Software Engineering (ASE) · doi:10.1145/3832783.3837499
“Orthogonality and subspace decoupling have been explored to mitigate parameter interference during model adaptation.”
InfluentialWhen Comments Mislead: An Empirical Study of Outdated Comments in LLM-Based Code Completion
Xia, Z., Huang, Y., Chen, X., & Zheng, Z. (2026) · IEEE/ACM International Conference on Automated Software Engineering (ASE) · doi:10.1145/3832783.3834359
CADscanner: Automating Malware Analysis for Compiled AutoCAD Scripts in Engineering Environments
Yin, L., Sun, C., Liang, C., Wang, C., Zhi, S., Zheng, T., Liu, Z., Liu, X., & Zhou, Q. (2026) · IEEE/ACM International Conference on Automated Software Engineering (ASE) · doi:10.1145/3832783.3834495
LLM-assisted generation of intentionally vulnerable containerized environments for cyber ranges
Avolio, A., d’Ambrosio, N., Perrone, G., & Romano, S. P. (2026) · Computer Networks · doi:10.1016/j.comnet.2026.112849
EvoLFuzzer: LLM-guided white-box fuzzing optimized by evolutionary algorithm
Guo, J., Zhu, Y., Zhang, X., & Liu, J. (2026) · Applied Soft Computing · doi:10.1016/j.asoc.2026.116650
Lundberg, R. (2026) · Journal of Cyber Policy · doi:10.1080/23738871.2026.2733005
Khandelwal, S. K. (2026) · SSRN Electronic Journal · doi:10.2139/ssrn.7634288
Maeda, W., Matyunin, N., & Raza, A. (2026) · Lecture notes in computer science · doi:10.1007/978-981-92-6843-6_56
Evidence-Constrained Risk Interpretation for Edge IoT Security Alerts
Kang, M., Wang, C., Zhang, Y., & Chen, W. (2026) · doi:10.1109/iot-life68455.2026.11746240
“LLMs can provide readable security explanations and have been studied in cybersecurity contexts [7]–[9].”
MUCD: Multi-Source Uncertainty-Aware Contrastive Decoding for Code Generation
Wei, Z., Han, Z., Sun, T., Wang, G., & Zhang, J. (2026) · IEEE International Conference on Artificial Intelligence, Computer Science and Information Processing (AICSIP) · doi:10.1109/aicsip69702.2026.11744009
“Furthermore, at the code quality level, hallucinations may manifest as inefficient resource management, security vulnerabilities, or structural deficiencies [12], which may not be immediately apparent but can adversely affect system reliability and safety in the long term.”
Who Pays the Review Cost? Triage, Fairness, and Accountability in AI-authored Pull Requests
Rahman, M. S., Alam, K., Roy, B., & Roy, C. K. (2026) · arXiv · doi:10.48550/arxiv.2610.11179
Plausible Is Not Enough: Trust and Evidence in AI-Authored Pull Request Review
Rahman, M. S., Alam, K., Roy, B., & Roy, C. K. (2026) · arXiv · doi:10.48550/arxiv.2610.21144
“Concurrency code demands reasoning about interleavings, security-sensitive changes require assessment of relevant failure modes, and performance claims depend on representative measurement [31, 32, 102–104].”
Do Users Write More Insecure Code with AI Assistants?
Perry, N., Srivastava, M., Kumar, D., & Boneh, D. (2022) · arXiv
“While recent works have studied these risks in smaller, synthetic scenarios, no study has extensively measured the security risks of AI code assistants in the context of how developers choose to use them [16].”
Influential"It's Weird That it Knows What I Want": Usability and Interactions with Copilot for Novice Programmers
Prather, J., Reeves, B. N., Denny, P., Becker, B. A., Leinonen, J., Luxton-Reilly, A., Powell, G., Finnie-Ansley, J., & Santos, E. A. (2023) · arXiv
“In addition, it has been shown that AI generated code can sometimes contain security vulnerabilities, which may mislead learners into adopting bad coding habits [65].”
BackgroundIn ChatGPT We Trust? Measuring and Characterizing the Reliability of ChatGPT
Shen, X., Chen, Z., Backes, M., & Zhang, Y. (2023) · arXiv · doi:10.48550/arxiv.2304.08979 · Cited by 76
“LLMs can be also misused for phishing [53], plagiarism [34, 65], misinformation generation [17], malicious code generation [55], and so on.”
Metadata
- Authors
- Pearce, H., Ahmad, B., Tan, B., Dolan-Gavitt, B., & Karri, R.
- Affiliations
- New York University (US)
- University of Calgary (CA)
- Venue
- Communications of the ACM
- Published
- 2025-01-22
- Volume
- 68
- Issue
- 2
- Pages
- 96-105
- ISSN
- 0001-0782 (ISSN-L)
- 1557-7317
- OpenAlex
- W4406602186
- Cited by
- 140
- References
- 12
- Citations by year
- 2026: 108 · 2025: 32
- FWCI
- 144.94
- Type
- journal article
- Language
- en
- Open access
- bronze
- doi.org
- Locations
- Communications of the ACM (publishedVersion)
- Funders
- National Science Foundation (1801495)
- Office of Naval Research (00014-18-1-2058)
- Topics
- Physical Sciences › Computer Science › Information Systems › Software Engineering Research
- Physical Sciences › Computer Science › Information Systems › Web Application Security Vulnerabilities
- Physical Sciences › Computer Science › Artificial Intelligence › Adversarial Robustness in Machine Learning
- Keywords
- GitHub Copilot, AI-assisted code generation, code security, Common Weakness Enumeration, prompt engineering, language models
About these checks
Registry, retraction, Cites and statistics results are computed, not judged, with one exception: a printed reference that no index lists is read once by a model before it counts as a citation error. Claims are extracted by a model and kept only when their quote appears verbatim in the text; each cited source is then checked, with a model’s help, for whether it says what the claim relies on. Those verdicts can be wrong — read the claim’s quote and the cited source before relying on one.
A language model drew the claims from the paper on 2026-10-01, under version 3 of the claim definition (model deepseek-v4.1-flash, prompt extract-v3).
A second model labelled each claim on 2026-10-01 (model jev-1.13-20260917, definition revision gold-guideline-v0.2).
Statistics and arithmetic are recomputed, not judged.
Confidence bands are shown only for fields calibrated on our annotated test set. None is calibrated yet, so no band is shown.
What counts as a claim ›How we measure confidence ›How we check this ›
Are you an author, or do you see a problem with this page? Request a review