遇见数据集

Stripped but not Silent: Rust Crate Identity Survives in Panic Metadata that Reverse-Engineering Tools Display but Do Not Attribute

收藏
Zenodo2026-07-13 更新2026-08-01 收录
官方服务:

资源简介:

v3.0.1 - Supplementary source and benign binaries; artefact/paper reconciliation A maintenance release that completes the supplementary materials the manuscript's appendices and Data Availability statement refer to, and folds in post-v3.0.0 scoring and hygiene improvements. No headline result changes; every paper figure retains the runnable check introduced in v3.0.0. The safety model is unchanged: no malware binaries are stored or redistributed, in-the-wild samples are referenced by SHA-256 only, and malware is analysed statically (Docker, no network, read-only) and never executed. New: appendix source examples (source-examples/) The manuscript's Appendix A and Appendix B pointed to source-examples/trait_object and source-examples/async_future, which were not present in the v3.0.0 artefact. This release adds source-examples/ with the two appendix programmes at exactly those paths, plus the remaining benign single-construct Cargo projects (25 projects in total: Result/Option discriminants, trait-object dispatch, async state machines, slice and structure layouts, monomorphised generics, niche/tagged-union layouts, and mangling examples). A source-examples/README.md documents the vtable-offset and async state-machine source-to-binary mappings referenced in the appendices. New: benign test binaries (benign-binaries/) The Data Availability statement lists "benign Rust test binaries (x86-64 PE, release and debug builds)"; these are now shipped under benign-binaries/ (42 PE32+ executables, release and debug), with SHA256SUMS.txt for integrity and a README mapping each binary to its source-examples/<construct>/ project. Binary Ninja databases (.bndb) and other tool-specific project files remain excluded so the evaluation reproduces on any tool version. New: lifetime-erasure verification note (verification/lifetime_erasure/) A reproducible check behind the manuscript's claim that borrow-checker and lifetime constraints are erased before code generation and leave no recoverable metadata in the binary. It ships a self-contained Rust programme, a rustc-only harness, primary-source citations (the rustc dev guide, the LLVM Language Reference, and rust-lang/rust #54878), and a Binary Ninja / IDA Pro procedure. It separates the fully-erased lifetime/region claim from the aliasing (noalias) nuance. This material is not in the paper (word budget) and is published here instead. Reconciliation and hygiene README DOI corrected. The open-record DOI in README.md is aligned with CITATION.cff and the manuscript so all three cite the same Zenodo record. Ghidra symbol-channel rows added to results/tables/xtool_master.csv (append-only; existing OXIDIZER, IDA, Binary Ninja, and radare2 cells unchanged). Ghidra reads only the native symbol table, so its third-party coverage equals the symbol-channel baseline; the rows obey the strip law (0.000 on stripped or symbol-poor MSVC PE, high on symbol-retaining PE), generated by common/scoring/add_ghidra_rows.py. Crate-recovery parity fix in common/scoring/b_crate_shared.py (_crate_from_mangled_impl): recovers the impl-subject crate from legacy _ZN trait-impl symbols, for parity with the demangled-tool branch. This is source-level only; published tables are unchanged. Manifest sanitisation. Hard-coded C:\Users\user\... paths in captured rustbininfo tracebacks are rewritten to %USERPROFILE%\.... Line-ending and litter cleanup. Spurious CRLF churn is normalised to LF, and editor and mount artefacts are excluded via .gitignore. Compatibility No breaking changes to the v2 or v3.0.0 layout. source-examples/, benign-binaries/, and verification/lifetime_erasure/ are additive. The full v3.0.0 notes remain in RELEASE_NOTES_v3.0.0.md.

提供机构:
Zenodo
创建时间:
2026-07-13
二维码
社区交流群
二维码
科研交流群
商业服务