Skip to content

th BINARIES

VD $ VD171 @ Priv8 edited this page Nov 4, 2026 · 2 revisions

Languages: English | العربية | Čeština | Deutsch | Español | فارسی | Français | हिन्दी | Bahasa Indonesia | Italiano | 日本語 | 한국어 | Nederlands | Polski | Português | Русский | Svenska | ไทย | Türkçe | Tiếng Việt | 中文


ไบนารีที่มาพร้อม: ที่มาและการตรวจสอบ

ความเป็นส่วนตัวและความปลอดภัยไม่ใช่สิ่งที่เลือกได้ใน VDBackup เครื่องมือสำรองข้อมูลทำงานในฐานะ root บนข้อมูลส่วนตัวที่สุดของคุณ ดังนั้นคุณต้องสามารถเห็นได้อย่างชัดเจนว่ามีอะไรอยู่ภายในบ้าง หน้านี้บันทึกทุกไบนารีและไลบรารีที่สร้างไว้ล่วงหน้าซึ่งโมดูลพกพามา แต่ละตัวมาจากที่ใด และวิธี ตรวจสอบว่าไม่มีสิ่งที่ไม่โปร่งใสถูกแอบใส่เข้ามา

หลักการ

  • ไม่มีสิ่งที่ไม่โปร่งใส ทุกไบนารีและไลบรารีที่มาพร้อมสามารถสืบย้อนไปยังอัปสตรีมสาธารณะที่มีชื่อ ณ เวอร์ชันที่ตรึงไว้ พร้อมด้วย SHA-256 ที่บันทึกไว้ ไม่มีบล็อบใดถูกมาพร้อมโดยไม่มีรายการที่คุณ ตรวจสอบได้
  • ดึงมาจากอัปสตรีม ไม่เคยดึงจากอุปกรณ์ เครื่องมือเนทีฟมาจากคลังแพ็กเกจ Termux อย่างเป็นทางการ (ไฟล์ .deb ที่ลงนามแล้วที่ packages.termux.dev/apt) ไม่เคยคัดลอกออกมาจาก Termux ที่ติดตั้งบน โทรศัพท์เครื่องใด การสร้างจะล้มเหลวอย่างชัดเจน ไม่เคยทำแบบชั่วคราว
  • ทำซ้ำได้ รันการสร้างอีกครั้งแล้วคุณจะได้ไฟล์เดิม ดึงแหล่งที่ตรึงไว้อีกครั้งแล้วค่า SHA-256 จะ ตรงกัน
  • ร่องรอยการตรวจสอบมาพร้อมกับโมดูล ไม่ได้อยู่แค่บนเว็บไซต์ แต่เดินทางมาพร้อมภายในโมดูลที่ติดตั้ง บนอุปกรณ์ของคุณ ดังนั้นคุณสามารถตรวจสอบแบบออฟไลน์ได้

มีอะไรมาพร้อม และมาจากที่ใด

สิ่งที่ได้ แหล่งที่มา สร้างอย่างไร
เครื่องมือเนทีฟ bin/<abi>/ (tar, zstd, gzip, lz4, jq, rclone, restic, rsync, ssh/scp/sftp, age, age-keygen, script, sqlite3) และคลอเชอร์ lib/ ของมัน คลัง apt Termux อย่างเป็นทางการ (packages.termux.dev/apt), แพ็กเกจ .deb อย่างเป็นทางการ .github/scripts/build_bin.sh ดาวน์โหลดไฟล์ .deb พร้อมทั้ง dependency แบบส่งผ่าน แตกไฟล์ออกมา และคัดลอกเฉพาะไบนารีกับไลบรารีที่ใช้ร่วมกันซึ่งแต่ละตัวต้องการเท่านั้น
bin/<abi>/abx2xml, bin/<abi>/xml2abx (ตัวแปลง ABX สำรอง) GitHub release ของ rhythmcache/android-xml-converter (ABX_RELEASE, ELF แบบ static) ดาวน์โหลดจาก release ที่ตรึงไว้โดย build_bin.sh
companion.apk (คอมแพเนียน Google Drive เสริม) ที่เก็บนี้, companion/ (Gradle/Kotlin) สร้างจากซอร์สโดย CI และลงนามด้วยคีย์ของโครงการ (VD_Key) ไม่ใช่บล็อบที่สร้างไว้ล่วงหน้า
vdbhelper.dex (ตัวช่วยเฟรมเวิร์ก) ที่เก็บนี้, dex/src/ (Java) คอมไพล์จากซอร์สโดย CI ด้วย javac + d8

มีเพียงสองแถวแรกเท่านั้นที่เป็นไบนารีจากบุคคลที่สามที่สร้างไว้ล่วงหน้า สองรายการหลังสร้างจากซอร์ส ที่อยู่ในที่เก็บนี้ ซึ่งสามารถอ่านและสร้างใหม่ได้

รุ่น Full เทียบกับ lite รุ่น lite ละเว้นเฉพาะ rclone และ restic (ไบนารีสองตัวที่ใหญ่ที่สุด) เพื่อให้ขนาดเล็ก rsync และ ssh/scp/sftp ยังคงมีอยู่ และไบนารีอื่น ๆ ทั้งหมดที่ระบุไว้ข้างต้นก็มีอยู่ด้วย รุ่น Full เพิ่ม rclone (ผู้ให้บริการคลาวด์) และ restic (สแนปช็อต)

ไฟล์ Manifest บนอุปกรณ์: PROVENANCE.json

build_bin.sh เขียน bin/<abi>/PROVENANCE.json หนึ่งไฟล์ต่อหนึ่ง ABI เมื่อติดตั้ง โมดูลจะเก็บไว้ เฉพาะ ABI ของอุปกรณ์คุณ ดังนั้นไฟล์นั้นจึงอยู่บนอุปกรณ์ที่ /data/adb/modules/vdbackup/bin/<abi>/PROVENANCE.json โดยบันทึก:

  • sources: ทุก .deb จากอัปสตรีม (แพ็กเกจ, เวอร์ชัน, URL แบบเต็ม, SHA-256 ของ .deb) และ ABX release (URL, SHA-256 ของอาร์ไคฟ์)
  • files: ทุกไฟล์ที่มาพร้อมจริงภายใต้ bin/<abi>/ (พาธ, ขนาด, SHA-256)

คุณสามารถอ่านได้ใน WebUI (แท็บ About ลิงก์ไปยังมัน) หรือผ่าน API ของเอเจนต์:

sh /data/adb/modules/vdbackup/helper.sh provenance '' | jq .

วิธีตรวจสอบ (ทีละขั้น)

  1. ตรวจไฟล์ที่มาพร้อม แฮชแต่ละไฟล์ภายใต้ bin/<abi>/ บนอุปกรณ์ของคุณ และเปรียบเทียบกับ files[].sha256 ใน PROVENANCE.json:
    cd /data/adb/modules/vdbackup/bin/<abi>
    sha256sum tar zstd jq rclone ... lib/*
  2. ตรวจไฟล์เทียบกับอัปสตรีม สำหรับแต่ละรายการใน sources[] ให้ดาวน์โหลด .deb ที่ตรึงไว้จาก URL ของมัน ยืนยันว่า SHA-256 ตรงกับ deb_sha256 แตกไฟล์ออกมา และยืนยันว่าไบนารี/ไลบรารีที่อยู่ ข้างในแฮชเป็นค่าเดียวกันกับที่มาพร้อม ไฟล์ .deb ในคลัง Termux เองก็ให้บริการจากคลัง apt ของ Termux ที่ลงนามแล้ว
  3. สร้างใหม่ตั้งแต่ต้น รัน .github/scripts/build_bin.sh ด้วยตนเอง (ต้องการเพียง curl, ar, tar, xz, zstd, readelf) และเปรียบเทียบผลลัพธ์กับที่มาพร้อม
  4. คอมแพเนียนและ dex สร้าง companion/ และ dex/ ใหม่จากซอร์ส ลายเซ็นของคอมแพเนียนคือคีย์ ของโครงการ VD_Key (SHA-256 F3:F8:2B:B9:2F:2C:69:A1:75:90:1D:40:BD:65:DD:A6:8F:2B:B5:88:69:77:F5:EA:8B:BA:AA:51:40:E5:25:2B)

การรายงาน

หากไฟล์ที่มาพร้อมใดไม่ตรงกับแหล่งที่มาที่บันทึกไว้ ให้ถือว่าเป็นปัญหาด้านความปลอดภัยและรายงาน (ดู SECURITY.md) นี่คือความไม่สอดคล้องชนิดที่ Manifest นี้มีอยู่เพื่อทำให้มองเห็นได้ อย่างแท้จริง

Clone this wiki locally