Automatic Generation of a Cryptography Misuse Taxonomy Using Large Language Models Article Swipe
YOU?
·
· 2025
· Open Access
·
· DOI: https://doi.org/10.48550/arxiv.2509.10814
The prevalence of cryptographic API misuse (CAM) is compromising the effectiveness of cryptography and in turn the security of modern systems and applications. Despite extensive efforts to develop CAM detection tools, these tools typically rely on a limited set of predefined rules from human-curated knowledge. This rigid, rule-based approach hinders adaptation to evolving CAM patterns in real practices. We propose leveraging large language models (LLMs), trained on publicly available cryptography-related data, to automatically detect and classify CAMs in real-world code to address this limitation. Our method enables the development and continuous expansion of a CAM taxonomy, supporting developers and detection tools in tracking and understanding emerging CAM patterns. Specifically, we develop an LLM-agnostic prompt engineering method to guide LLMs in detecting CAM instances from C/C++, Java, Python, and Go code, and then classifying them into a hierarchical taxonomy. Using a data set of 3,492 real-world software programs, we demonstrate the effectiveness of our approach with mainstream LLMs, including GPT, Llama, Gemini, and Claude. It also allows us to quantitatively measure and compare the performance of these LLMs in analyzing CAM in realistic code. Our evaluation produced a taxonomy with 279 base CAM categories, 36 of which are not addressed by existing taxonomies. To validate its practical value, we encode 11 newly identified CAM types into detection rules and integrate them into existing tools. Experiments show that such integration expands the tools' detection capabilities.
Related Topics
- Type
- preprint
- Language
- en
- Landing Page
- http://arxiv.org/abs/2509.10814
- https://arxiv.org/pdf/2509.10814
- OA Status
- green
- OpenAlex ID
- https://openalex.org/W4415087066
Raw OpenAlex JSON
- OpenAlex ID
-
https://openalex.org/W4415087066Canonical identifier for this work in OpenAlex
- DOI
-
https://doi.org/10.48550/arxiv.2509.10814Digital Object Identifier
- Title
-
Automatic Generation of a Cryptography Misuse Taxonomy Using Large Language ModelsWork title
- Type
-
preprintOpenAlex work type
- Language
-
enPrimary language
- Publication year
-
2025Year of publication
- Publication date
-
2025-09-13Full publication date if available
- Authors
-
Jie Gui, Wenyi Ouyang, Yi Zhang, Liang Cheng, Chen Wu, Wenxin HuList of authors in order
- Landing page
-
https://arxiv.org/abs/2509.10814Publisher landing page
- PDF URL
-
https://arxiv.org/pdf/2509.10814Direct link to full text PDF
- Open access
-
YesWhether a free full text is available
- OA status
-
greenOpen access status per OpenAlex
- OA URL
-
https://arxiv.org/pdf/2509.10814Direct OA link when available
- Cited by
-
0Total citation count in OpenAlex
Full payload
| id | https://openalex.org/W4415087066 |
|---|---|
| doi | https://doi.org/10.48550/arxiv.2509.10814 |
| ids.doi | https://doi.org/10.48550/arxiv.2509.10814 |
| ids.openalex | https://openalex.org/W4415087066 |
| fwci | |
| type | preprint |
| title | Automatic Generation of a Cryptography Misuse Taxonomy Using Large Language Models |
| biblio.issue | |
| biblio.volume | |
| biblio.last_page | |
| biblio.first_page | |
| topics[0].id | https://openalex.org/T12380 |
| topics[0].field.id | https://openalex.org/fields/17 |
| topics[0].field.display_name | Computer Science |
| topics[0].score | 0.9628999829292297 |
| topics[0].domain.id | https://openalex.org/domains/3 |
| topics[0].domain.display_name | Physical Sciences |
| topics[0].subfield.id | https://openalex.org/subfields/1702 |
| topics[0].subfield.display_name | Artificial Intelligence |
| topics[0].display_name | Authorship Attribution and Profiling |
| topics[1].id | https://openalex.org/T11644 |
| topics[1].field.id | https://openalex.org/fields/17 |
| topics[1].field.display_name | Computer Science |
| topics[1].score | 0.9319000244140625 |
| topics[1].domain.id | https://openalex.org/domains/3 |
| topics[1].domain.display_name | Physical Sciences |
| topics[1].subfield.id | https://openalex.org/subfields/1710 |
| topics[1].subfield.display_name | Information Systems |
| topics[1].display_name | Spam and Phishing Detection |
| is_xpac | False |
| apc_list | |
| apc_paid | |
| language | en |
| locations[0].id | pmh:oai:arXiv.org:2509.10814 |
| locations[0].is_oa | True |
| locations[0].source.id | https://openalex.org/S4306400194 |
| locations[0].source.issn | |
| locations[0].source.type | repository |
| locations[0].source.is_oa | True |
| locations[0].source.issn_l | |
| locations[0].source.is_core | False |
| locations[0].source.is_in_doaj | False |
| locations[0].source.display_name | arXiv (Cornell University) |
| locations[0].source.host_organization | https://openalex.org/I205783295 |
| locations[0].source.host_organization_name | Cornell University |
| locations[0].source.host_organization_lineage | https://openalex.org/I205783295 |
| locations[0].license | |
| locations[0].pdf_url | https://arxiv.org/pdf/2509.10814 |
| locations[0].version | submittedVersion |
| locations[0].raw_type | text |
| locations[0].license_id | |
| locations[0].is_accepted | False |
| locations[0].is_published | False |
| locations[0].raw_source_name | |
| locations[0].landing_page_url | http://arxiv.org/abs/2509.10814 |
| locations[1].id | doi:10.48550/arxiv.2509.10814 |
| locations[1].is_oa | True |
| locations[1].source.id | https://openalex.org/S4306400194 |
| locations[1].source.issn | |
| locations[1].source.type | repository |
| locations[1].source.is_oa | True |
| locations[1].source.issn_l | |
| locations[1].source.is_core | False |
| locations[1].source.is_in_doaj | False |
| locations[1].source.display_name | arXiv (Cornell University) |
| locations[1].source.host_organization | https://openalex.org/I205783295 |
| locations[1].source.host_organization_name | Cornell University |
| locations[1].source.host_organization_lineage | https://openalex.org/I205783295 |
| locations[1].license | |
| locations[1].pdf_url | |
| locations[1].version | |
| locations[1].raw_type | article |
| locations[1].license_id | |
| locations[1].is_accepted | False |
| locations[1].is_published | |
| locations[1].raw_source_name | |
| locations[1].landing_page_url | https://doi.org/10.48550/arxiv.2509.10814 |
| indexed_in | arxiv, datacite |
| authorships[0].author.id | https://openalex.org/A5110740283 |
| authorships[0].author.orcid | https://orcid.org/0000-0002-9450-1759 |
| authorships[0].author.display_name | Jie Gui |
| authorships[0].author_position | first |
| authorships[0].raw_author_name | Zhang, Yang |
| authorships[0].is_corresponding | False |
| authorships[1].author.id | https://openalex.org/A5007902857 |
| authorships[1].author.orcid | |
| authorships[1].author.display_name | Wenyi Ouyang |
| authorships[1].author_position | middle |
| authorships[1].raw_author_name | Ouyang, Wenyi |
| authorships[1].is_corresponding | False |
| authorships[2].author.id | https://openalex.org/A5003533933 |
| authorships[2].author.orcid | https://orcid.org/0000-0001-8196-0668 |
| authorships[2].author.display_name | Yi Zhang |
| authorships[2].author_position | middle |
| authorships[2].raw_author_name | Zhang, Yi |
| authorships[2].is_corresponding | False |
| authorships[3].author.id | https://openalex.org/A5101910670 |
| authorships[3].author.orcid | https://orcid.org/0000-0002-4491-6681 |
| authorships[3].author.display_name | Liang Cheng |
| authorships[3].author_position | middle |
| authorships[3].raw_author_name | Cheng, Liang |
| authorships[3].is_corresponding | False |
| authorships[4].author.id | https://openalex.org/A5100834917 |
| authorships[4].author.orcid | |
| authorships[4].author.display_name | Chen Wu |
| authorships[4].author_position | middle |
| authorships[4].raw_author_name | Wu, Chen |
| authorships[4].is_corresponding | False |
| authorships[5].author.id | https://openalex.org/A5004454415 |
| authorships[5].author.orcid | https://orcid.org/0009-0002-7887-8502 |
| authorships[5].author.display_name | Wenxin Hu |
| authorships[5].author_position | last |
| authorships[5].raw_author_name | Hu, Wenxin |
| authorships[5].is_corresponding | False |
| has_content.pdf | False |
| has_content.grobid_xml | False |
| is_paratext | False |
| open_access.is_oa | True |
| open_access.oa_url | https://arxiv.org/pdf/2509.10814 |
| open_access.oa_status | green |
| open_access.any_repository_has_fulltext | False |
| created_date | 2025-10-12T00:00:00 |
| display_name | Automatic Generation of a Cryptography Misuse Taxonomy Using Large Language Models |
| has_fulltext | False |
| is_retracted | False |
| updated_date | 2025-11-06T06:51:31.235846 |
| primary_topic.id | https://openalex.org/T12380 |
| primary_topic.field.id | https://openalex.org/fields/17 |
| primary_topic.field.display_name | Computer Science |
| primary_topic.score | 0.9628999829292297 |
| primary_topic.domain.id | https://openalex.org/domains/3 |
| primary_topic.domain.display_name | Physical Sciences |
| primary_topic.subfield.id | https://openalex.org/subfields/1702 |
| primary_topic.subfield.display_name | Artificial Intelligence |
| primary_topic.display_name | Authorship Attribution and Profiling |
| cited_by_count | 0 |
| locations_count | 2 |
| best_oa_location.id | pmh:oai:arXiv.org:2509.10814 |
| best_oa_location.is_oa | True |
| best_oa_location.source.id | https://openalex.org/S4306400194 |
| best_oa_location.source.issn | |
| best_oa_location.source.type | repository |
| best_oa_location.source.is_oa | True |
| best_oa_location.source.issn_l | |
| best_oa_location.source.is_core | False |
| best_oa_location.source.is_in_doaj | False |
| best_oa_location.source.display_name | arXiv (Cornell University) |
| best_oa_location.source.host_organization | https://openalex.org/I205783295 |
| best_oa_location.source.host_organization_name | Cornell University |
| best_oa_location.source.host_organization_lineage | https://openalex.org/I205783295 |
| best_oa_location.license | |
| best_oa_location.pdf_url | https://arxiv.org/pdf/2509.10814 |
| best_oa_location.version | submittedVersion |
| best_oa_location.raw_type | text |
| best_oa_location.license_id | |
| best_oa_location.is_accepted | False |
| best_oa_location.is_published | False |
| best_oa_location.raw_source_name | |
| best_oa_location.landing_page_url | http://arxiv.org/abs/2509.10814 |
| primary_location.id | pmh:oai:arXiv.org:2509.10814 |
| primary_location.is_oa | True |
| primary_location.source.id | https://openalex.org/S4306400194 |
| primary_location.source.issn | |
| primary_location.source.type | repository |
| primary_location.source.is_oa | True |
| primary_location.source.issn_l | |
| primary_location.source.is_core | False |
| primary_location.source.is_in_doaj | False |
| primary_location.source.display_name | arXiv (Cornell University) |
| primary_location.source.host_organization | https://openalex.org/I205783295 |
| primary_location.source.host_organization_name | Cornell University |
| primary_location.source.host_organization_lineage | https://openalex.org/I205783295 |
| primary_location.license | |
| primary_location.pdf_url | https://arxiv.org/pdf/2509.10814 |
| primary_location.version | submittedVersion |
| primary_location.raw_type | text |
| primary_location.license_id | |
| primary_location.is_accepted | False |
| primary_location.is_published | False |
| primary_location.raw_source_name | |
| primary_location.landing_page_url | http://arxiv.org/abs/2509.10814 |
| publication_date | 2025-09-13 |
| publication_year | 2025 |
| referenced_works_count | 0 |
| abstract_inverted_index.a | 36, 93, 135, 139, 186 |
| abstract_inverted_index.11 | 209 |
| abstract_inverted_index.36 | 193 |
| abstract_inverted_index.Go | 128 |
| abstract_inverted_index.It | 163 |
| abstract_inverted_index.To | 202 |
| abstract_inverted_index.We | 58 |
| abstract_inverted_index.an | 111 |
| abstract_inverted_index.by | 199 |
| abstract_inverted_index.in | 14, 55, 77, 101, 119, 177, 180 |
| abstract_inverted_index.is | 7 |
| abstract_inverted_index.of | 2, 11, 18, 39, 92, 142, 151, 174, 194 |
| abstract_inverted_index.on | 35, 66 |
| abstract_inverted_index.to | 26, 51, 71, 80, 116, 167 |
| abstract_inverted_index.us | 166 |
| abstract_inverted_index.we | 109, 147, 207 |
| abstract_inverted_index.279 | 189 |
| abstract_inverted_index.API | 4 |
| abstract_inverted_index.CAM | 28, 53, 94, 106, 121, 179, 191, 212 |
| abstract_inverted_index.Our | 84, 183 |
| abstract_inverted_index.The | 0 |
| abstract_inverted_index.and | 13, 21, 74, 89, 98, 103, 127, 130, 161, 170, 217 |
| abstract_inverted_index.are | 196 |
| abstract_inverted_index.its | 204 |
| abstract_inverted_index.not | 197 |
| abstract_inverted_index.our | 152 |
| abstract_inverted_index.set | 38, 141 |
| abstract_inverted_index.the | 9, 16, 87, 149, 172, 229 |
| abstract_inverted_index.CAMs | 76 |
| abstract_inverted_index.GPT, | 158 |
| abstract_inverted_index.LLMs | 118, 176 |
| abstract_inverted_index.This | 45 |
| abstract_inverted_index.also | 164 |
| abstract_inverted_index.base | 190 |
| abstract_inverted_index.code | 79 |
| abstract_inverted_index.data | 140 |
| abstract_inverted_index.from | 42, 123 |
| abstract_inverted_index.into | 134, 214, 220 |
| abstract_inverted_index.real | 56 |
| abstract_inverted_index.rely | 34 |
| abstract_inverted_index.show | 224 |
| abstract_inverted_index.such | 226 |
| abstract_inverted_index.that | 225 |
| abstract_inverted_index.them | 133, 219 |
| abstract_inverted_index.then | 131 |
| abstract_inverted_index.this | 82 |
| abstract_inverted_index.turn | 15 |
| abstract_inverted_index.with | 154, 188 |
| abstract_inverted_index.(CAM) | 6 |
| abstract_inverted_index.3,492 | 143 |
| abstract_inverted_index.Java, | 125 |
| abstract_inverted_index.LLMs, | 156 |
| abstract_inverted_index.Using | 138 |
| abstract_inverted_index.code, | 129 |
| abstract_inverted_index.code. | 182 |
| abstract_inverted_index.data, | 70 |
| abstract_inverted_index.guide | 117 |
| abstract_inverted_index.large | 61 |
| abstract_inverted_index.newly | 210 |
| abstract_inverted_index.rules | 41, 216 |
| abstract_inverted_index.these | 31, 175 |
| abstract_inverted_index.tools | 32, 100 |
| abstract_inverted_index.types | 213 |
| abstract_inverted_index.which | 195 |
| abstract_inverted_index.C/C++, | 124 |
| abstract_inverted_index.Llama, | 159 |
| abstract_inverted_index.allows | 165 |
| abstract_inverted_index.detect | 73 |
| abstract_inverted_index.encode | 208 |
| abstract_inverted_index.method | 85, 115 |
| abstract_inverted_index.misuse | 5 |
| abstract_inverted_index.models | 63 |
| abstract_inverted_index.modern | 19 |
| abstract_inverted_index.prompt | 113 |
| abstract_inverted_index.rigid, | 46 |
| abstract_inverted_index.tools' | 230 |
| abstract_inverted_index.tools, | 30 |
| abstract_inverted_index.tools. | 222 |
| abstract_inverted_index.value, | 206 |
| abstract_inverted_index.(LLMs), | 64 |
| abstract_inverted_index.Claude. | 162 |
| abstract_inverted_index.Despite | 23 |
| abstract_inverted_index.Gemini, | 160 |
| abstract_inverted_index.Python, | 126 |
| abstract_inverted_index.address | 81 |
| abstract_inverted_index.compare | 171 |
| abstract_inverted_index.develop | 27, 110 |
| abstract_inverted_index.efforts | 25 |
| abstract_inverted_index.enables | 86 |
| abstract_inverted_index.expands | 228 |
| abstract_inverted_index.hinders | 49 |
| abstract_inverted_index.limited | 37 |
| abstract_inverted_index.measure | 169 |
| abstract_inverted_index.propose | 59 |
| abstract_inverted_index.systems | 20 |
| abstract_inverted_index.trained | 65 |
| abstract_inverted_index.approach | 48, 153 |
| abstract_inverted_index.classify | 75 |
| abstract_inverted_index.emerging | 105 |
| abstract_inverted_index.evolving | 52 |
| abstract_inverted_index.existing | 200, 221 |
| abstract_inverted_index.language | 62 |
| abstract_inverted_index.patterns | 54 |
| abstract_inverted_index.produced | 185 |
| abstract_inverted_index.publicly | 67 |
| abstract_inverted_index.security | 17 |
| abstract_inverted_index.software | 145 |
| abstract_inverted_index.taxonomy | 187 |
| abstract_inverted_index.tracking | 102 |
| abstract_inverted_index.validate | 203 |
| abstract_inverted_index.addressed | 198 |
| abstract_inverted_index.analyzing | 178 |
| abstract_inverted_index.available | 68 |
| abstract_inverted_index.detecting | 120 |
| abstract_inverted_index.detection | 29, 99, 215, 231 |
| abstract_inverted_index.expansion | 91 |
| abstract_inverted_index.extensive | 24 |
| abstract_inverted_index.including | 157 |
| abstract_inverted_index.instances | 122 |
| abstract_inverted_index.integrate | 218 |
| abstract_inverted_index.patterns. | 107 |
| abstract_inverted_index.practical | 205 |
| abstract_inverted_index.programs, | 146 |
| abstract_inverted_index.realistic | 181 |
| abstract_inverted_index.taxonomy, | 95 |
| abstract_inverted_index.taxonomy. | 137 |
| abstract_inverted_index.typically | 33 |
| abstract_inverted_index.adaptation | 50 |
| abstract_inverted_index.continuous | 90 |
| abstract_inverted_index.developers | 97 |
| abstract_inverted_index.evaluation | 184 |
| abstract_inverted_index.identified | 211 |
| abstract_inverted_index.knowledge. | 44 |
| abstract_inverted_index.leveraging | 60 |
| abstract_inverted_index.mainstream | 155 |
| abstract_inverted_index.practices. | 57 |
| abstract_inverted_index.predefined | 40 |
| abstract_inverted_index.prevalence | 1 |
| abstract_inverted_index.real-world | 78, 144 |
| abstract_inverted_index.rule-based | 47 |
| abstract_inverted_index.supporting | 96 |
| abstract_inverted_index.Experiments | 223 |
| abstract_inverted_index.categories, | 192 |
| abstract_inverted_index.classifying | 132 |
| abstract_inverted_index.demonstrate | 148 |
| abstract_inverted_index.development | 88 |
| abstract_inverted_index.engineering | 114 |
| abstract_inverted_index.integration | 227 |
| abstract_inverted_index.limitation. | 83 |
| abstract_inverted_index.performance | 173 |
| abstract_inverted_index.taxonomies. | 201 |
| abstract_inverted_index.LLM-agnostic | 112 |
| abstract_inverted_index.compromising | 8 |
| abstract_inverted_index.cryptography | 12 |
| abstract_inverted_index.hierarchical | 136 |
| abstract_inverted_index.Specifically, | 108 |
| abstract_inverted_index.applications. | 22 |
| abstract_inverted_index.automatically | 72 |
| abstract_inverted_index.capabilities. | 232 |
| abstract_inverted_index.cryptographic | 3 |
| abstract_inverted_index.effectiveness | 10, 150 |
| abstract_inverted_index.human-curated | 43 |
| abstract_inverted_index.understanding | 104 |
| abstract_inverted_index.quantitatively | 168 |
| abstract_inverted_index.cryptography-related | 69 |
| cited_by_percentile_year | |
| countries_distinct_count | 0 |
| institutions_distinct_count | 6 |
| citation_normalized_percentile |