{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/bileve-securing-text-provenance-in-large","title":"Bileve: Securing Text Provenance in Large Language Models Against Spoofing with Bi-level Signature","arxiv_id":"2406.01946","date":"2024-06-04","proceeding":null,"authors":["Tong Zhou","Xuandong Zhao","Xiaolin Xu","Shaolei Ren"],"abstract":"Text watermarks for large language models (LLMs) have been commonly used to identify the origins of machine-generated content, which is promising for assessing liability when combating deepfake or harmful content. While existing watermarking techniques typically prioritize robustness against removal attacks, unfortunately, they are vulnerable to spoofing attacks: malicious actors can subtly alter the meanings of LLM-generated responses or even forge harmful content, potentially misattributing blame to the LLM developer. To overcome this, we introduce a bi-level signature scheme, Bileve, which embeds fine-grained signature bits for integrity checks (mitigating spoofing attacks) as well as a coarse-grained signal to trace text sources when the signature is invalid (enhancing detectability) via a novel rank-based sampling strategy. Compared to conventional watermark detectors that only output binary results, Bileve can differentiate 5 scenarios during detection, reliably tracing text provenance and regulating LLMs. The experiments conducted on OPT-1.3B and LLaMA-7B demonstrate the effectiveness of Bileve in defeating spoofing attacks with enhanced detectability. Code is available at https://github.com/Tongzhou0101/Bileve-official.","url_abs":"https://arxiv.org/abs/2406.01946v3","url_pdf":"https://arxiv.org/pdf/2406.01946v3.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"bileve-securing-text-provenance-in-large","repo_url":"https://github.com/tongzhou0101/bileve-official","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok","spdx":"NOASSERTION"}}],"tasks":[{"task_slug":"face-swapping","task_name":"Face Swapping"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2406.01946","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2406.01946"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"deterministic:regex_extraction","url":"https://github.com/Tongzhou0101/Bileve-official","reach":{"status":"ok","spdx":"NOASSERTION"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/tongzhou0101/bileve-official","reach":{"status":"ok","spdx":"NOASSERTION"}}],"summary":{"ran":4,"ran_draft_wrong":1,"unverified":1},"by_repo_kind":{"official":{"samples":6,"ran":5,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":6,"samples":[{"code_sha256_prefix":"d2daa1ecb4377554","entry":"deletion_attack","repo":"Tongzhou0101/Bileve-official","repo_kind":"official","path":"edit.py","file_url":"https://github.com/Tongzhou0101/Bileve-official/blob/HEAD/edit.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"d2daa1ecb4377554"}},{"code_sha256_prefix":"10189519bf49509e","entry":"exp_sampling","repo":"tongzhou0101/bileve-official","repo_kind":"official","path":"bileve.py","file_url":"https://github.com/tongzhou0101/bileve-official/blob/HEAD/bileve.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"10189519bf49509e"}},{"code_sha256_prefix":"98d61df60fb52e96","entry":"insertion_attack","repo":"Tongzhou0101/Bileve-official","repo_kind":"official","path":"edit.py","file_url":"https://github.com/Tongzhou0101/Bileve-official/blob/HEAD/edit.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"98d61df60fb52e96"}},{"code_sha256_prefix":"c708dd26a18ad6cb","entry":"nucleus_sampling","repo":"Tongzhou0101/Bileve-official","repo_kind":"official","path":"utils.py","file_url":"https://github.com/Tongzhou0101/Bileve-official/blob/HEAD/utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"c708dd26a18ad6cb"}},{"code_sha256_prefix":"279d81470398c513","entry":"substitution_attack","repo":"Tongzhou0101/Bileve-official","repo_kind":"official","path":"edit.py","file_url":"https://github.com/Tongzhou0101/Bileve-official/blob/HEAD/edit.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"279d81470398c513"}},{"code_sha256_prefix":"262b7a7cfae70913","entry":"calculate_ppl","repo":"Tongzhou0101/Bileve-official","repo_kind":"official","path":"utils.py","file_url":"https://github.com/Tongzhou0101/Bileve-official/blob/HEAD/utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"262b7a7cfae70913"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}