โค้ดสี่บรรทัด
กว่า 1,596 BTC หายไป
ในเดือนมีนาคม ปี 2021 เฟิร์มแวร์ของ COLDCARD รุ่นหนึ่งหยุดขอตัวเลขสุ่มจากชิปฮาร์ดแวร์และให้ซอฟต์แวร์ธรรมดาคำนวณแทน ไม่มีใครสังเกตเห็นเรื่องนี้เป็นเวลาห้าปี จนกระทั่งเดือนกรกฎาคม ปี 2026 ผู้ไม่ประสงค์ดีคำนวณตัวเลขดังกล่าวและเริ่มกวาดเหรียญออกจากกระเป๋าเงิน
การตรวจสอบความปลอดภัยที่มีอยู่ แต่กลับไม่ได้ทำหน้าที่ใดๆ
การป้องกันทั้งหมดขึ้นอยู่กับตัวเลขตัวเดียวที่ไม่มีใครเดาได้
ฮาร์ดแวร์วอลเล็ตมีหน้าที่หลายอย่าง มันแสดงสิ่งที่คุณกำลังเซ็นจริงๆ แทนที่จะขอให้คุณเชื่อหน้าจอของคอมพิวเตอร์ที่ติดไวรัส และมันเก็บกุญแจของคุณไว้ในชิปที่สร้างมาเพื่อป้องกันการถูกเปิดออก การป้องกันเหล่านี้ตั้งอยู่บนสมมติฐานที่ว่าตัวเลขที่เป็นที่มาของกุญแจของคุณจะไม่สามารถคาดเดาได้ หากคาดเดาได้ ผู้โจมตีก็ไม่ต้องเสียเวลาผ่านด่านป้องกันใดๆ เลย ชุดตัวเลขสำหรับวลี 24 คำมีจำนวนประมาณหนึ่งหมายเลขต่ออะตอมหนึ่งพันตัวในจักรวาลที่สังเกตได้ ชุดตัวเลขขนาดนั้นไม่สามารถใช้วิธีสุ่มค้นหาจนเจอได้ นั่นคือโมเดลความปลอดภัยทั้งหมด
วลี 12 คำบรรจุเอนโทรปี 128 บิต, 24 คำบรรจุ 256 บิต บวกกับเช็คซัม (Checksum) จากค่า SHA-256 ของเอนโทรปีนั้น BIP-39 ขยายผลลัพธ์ดังกล่าวให้กลายเป็นมาสเตอร์คีย์ (Master key) ของ BIP-32
วลี 12 คำบรรจุเอนโทรปี 128 บิต, 24 คำบรรจุ 256 บิต บวกกับเช็คซัม (Checksum) จากค่า SHA-256 ของเอนโทรปีนั้น BIP-39 ขยายผลลัพธ์ดังกล่าวให้กลายเป็นมาสเตอร์คีย์ (Master key) ของ BIP-32
COLDCARD หยุดดึงข้อมูลจากกลุ่มตัวเลขนั้น
การเปลี่ยนแปลงเฟิร์มแวร์ในปี 2021 ทำให้กระเป๋าเงินหยุดส่งคำขอตัวเลขดังกล่าวไปยังชิปสร้างความสุ่มโดยเฉพาะอย่างเงียบๆ และให้ซอฟต์แวร์ธรรมดาคำนวณตัวเลขขึ้นมาแทน เมื่อเปรียบเทียบกัน นี่คือภาพรวมทั้งหมดของเหตุการณ์:
นั่นไม่ใช่ความปลอดภัยที่ลดลงไปสองในสาม บิตแต่ละบิตเพิ่มงานเป็นสองเท่า ดังนั้น 88 บิตที่หายไปจึงทำให้งานลดลงด้วยตัวประกอบ 2⁸⁸ หนึ่งล้านล้านเป็นตัวเลขที่ใหญ่สำหรับมนุษย์ แต่เป็นตัวเลขที่เล็กสำหรับผู้ที่เช่าเครื่องประมวลผลประสิทธิภาพสูงมาใช้งาน
กระบวนการสร้างซีดถูกเปลี่ยนจาก ckcc.rng_bytes() ไปเป็น ngu.random.bytes() Coinkite ประเมินว่ามีพื้นที่การค้นหาที่เหลืออยู่ประมาณ 40 บิตบนรุ่น Mk3 และประมาณ 72 บิตบนรุ่น Mk4/Mk5/Q จากเป้าหมาย 128 บิต การวิเคราะห์อิสระโดย Block ได้ผลลัพธ์ในระดับเดียวกัน (ต่ำกว่า 2⁴⁰·⁷ และต่ำกว่า 2⁷³·³) พร้อมทั้งพบเงื่อนไขที่จำกัดยิ่งขึ้นซึ่งทำให้เหลือพื้นที่ค้นหาน้อยลงไปอีก2
กระบวนการสร้างซีดถูกเปลี่ยนจาก ckcc.rng_bytes() ไปเป็น ngu.random.bytes() Coinkite ประเมินว่ามีพื้นที่การค้นหาที่เหลืออยู่ประมาณ 40 บิตบนรุ่น Mk3 และประมาณ 72 บิตบนรุ่น Mk4/Mk5/Q จากเป้าหมาย 128 บิต การวิเคราะห์อิสระโดย Block ได้ผลลัพธ์ในระดับเดียวกัน (ต่ำกว่า 2⁴⁰·⁷ และต่ำกว่า 2⁷³·³) พร้อมทั้งพบเงื่อนไขที่จำกัดยิ่งขึ้นซึ่งทำให้เหลือพื้นที่ค้นหาน้อยลงไปอีก2
เนื่องจากซอฟต์แวร์ไม่สามารถมีความสุ่มที่แท้จริงได้
ลองนึกถึงสิ่งที่ทำให้การโยนเหรียญเดาผลไม่ได้ แรงของการโยน แรงโน้มถ่วง ลมจากเครื่องปรับอากาศ แรงสั่นสะเทือนเล็กน้อยบนพื้นดิน อิทธิพลนับสิบที่คุณรู้ชื่อและนับสิบที่คุณไม่รู้ ไม่มีใครคำนวณวิถีได้ ดังนั้นจึงไม่มีใครบอกผลลัพธ์ล่วงหน้าได้ ซอฟต์แวร์ทำงานต่างออกไป มันรันสูตรคงที่บนค่าตั้งต้นจำนวนหนึ่งและให้ผลลัพธ์ตายตัว ในกรณีนี้ ค่าเหล่านั้นคือหมายเลขประจำตัวของชิปและระยะเวลาที่อุปกรณ์เปิดใช้งาน ผู้โจมตีที่เรียนรู้สูตรและส่วนผสมสามารถคำนวณผลลัพธ์ออกมาได้ใหม่แทนที่จะเดาเอา
เมื่อตัวสร้างความสุ่มฮาร์ดแวร์ถูกปิดใช้งาน ฟังก์ชัน rng_get() จะเชื่อมโยงไปที่ Yasmarang PRNG ของ MicroPython ซึ่งถูกใส่ค่าเริ่มต้นจากสถานะที่ไม่ใช่ความลับ (UID, SysTick, RTC) และหลังจากนั้นมันก็ไม่ได้เก็บความสุ่มใหม่เพิ่มอีก ทำให้สามารถทำการแจแจงค่าที่เป็นไปได้แบบออฟไลน์ได้ Coinkite ไม่ถือว่าซีดที่ผสมกับการทอดลูกเต๋าที่เที่ยงตรงและเป็นความลับตั้งแต่ 50 ครั้งขึ้นไปมีความเสี่ยงจากปัญหานี้โดยลำพัง: 50 × log₂6 ≈ 129 บิต3
เมื่อตัวสร้างความสุ่มฮาร์ดแวร์ถูกปิดใช้งาน ฟังก์ชัน rng_get() จะเชื่อมโยงไปที่ Yasmarang PRNG ของ MicroPython ซึ่งถูกใส่ค่าเริ่มต้นจากสถานะที่ไม่ใช่ความลับ (UID, SysTick, RTC) และหลังจากนั้นมันก็ไม่ได้เก็บความสุ่มใหม่เพิ่มอีก ทำให้สามารถทำการแจแจงค่าที่เป็นไปได้แบบออฟไลน์ได้ Coinkite ไม่ถือว่าซีดที่ผสมกับการทอดลูกเต๋าที่เที่ยงตรงและเป็นความลับตั้งแต่ 50 ครั้งขึ้นไปมีความเสี่ยงจากปัญหานี้โดยลำพัง: 50 × log₂6 ≈ 129 บิต3
และระบบตรวจสอบที่ออกแบบมาเพื่อหยุดยั้งเรื่องนี้กลับตั้งคำถามผิดประเด็น
มีระบบตรวจสอบความปลอดภัยในชุดคำสั่งที่เขียนขึ้นเพื่อป้องกันไม่ให้เฟิร์มแวร์ถูกส่งออกโดยไม่มีตัวสร้างความสุ่มแบบฮาร์ดแวร์ แต่มันตรวจสอบว่ามีการตั้งค่าอยู่หรือไม่ ไม่ได้ตรวจสอบว่าการตั้งค่าถูกเปิดใช้งานอยู่หรือเปล่า การตั้งค่ามีอยู่จริงและมันถูกปิดไว้ ระบบตรวจสอบจึงนิ่งเงียบ การสร้างเฟิร์มแวร์ไม่รายงานข้อผิดพลาดใดๆ และเฟิร์มแวร์ก็ถูกส่งออกไป
#ifndef ตรวจสอบเพียงว่ามีการกำหนดค่าไว้หรือไม่ การตั้งค่าบอร์ดกำหนดให้ MICROPY_HW_ENABLE_RNG เป็น 0 ซึ่งเป็นการกำหนดค่าและปิดใช้งานไว้ ข้อความ #error จึงไม่เคยทำงาน และตัวลิงก์จึงเชื่อมโยง rng_get() ไปยังฟังก์ชันสำรองของซอฟต์แวร์แทน3
#ifndef ตรวจสอบเพียงว่ามีการกำหนดค่าไว้หรือไม่ การตั้งค่าบอร์ดกำหนดให้ MICROPY_HW_ENABLE_RNG เป็น 0 ซึ่งเป็นการกำหนดค่าและปิดใช้งานไว้ ข้อความ #error จึงไม่เคยทำงาน และตัวลิงก์จึงเชื่อมโยง rng_get() ไปยังฟังก์ชันสำรองของซอฟต์แวร์แทน3
ข้อบกพร่อง อ้างอิงจากซอร์สโค้ด3
ไม่มีสิ่งใดที่ดูผิดปกติเลยตลอดระยะเวลาห้าปี
วลีฟื้นฟูที่อ่อนแอจะดูเหมือนกับวลีที่แข็งแกร่งทุกประการ ยี่สิบสี่คำสามัญ เช็คซัมที่ถูกต้อง อุปกรณ์ที่ทำงานตามปกติ ไม่มีอะไรเตือนบนหน้าจอและไม่มีข้อผิดพลาดในการสร้างเฟิร์มแวร์ ซอร์สโค้ดเปิดเผยต่อสาธารณะมาโดยตลอด แต่การจะอ่านมันได้ก็ยังต้องมีใครสักคนเปิดไฟล์นั้นขึ้นมาดู
ความยาวของผลลัพธ์, การไม่ใช่ค่าศูนย์ทั้งหมด (Non-zero-ness) และการไม่ซ้ำกัน (Non-repetition) ล้วนผ่านเกณฑ์บน PRNG ที่อ่อนแอ ดังนั้นการทดสอบเบื้องต้นทั่วไป (Smoke tests) จึงไม่สามารถตรวจจับมันได้เช่นกัน
ความยาวของผลลัพธ์, การไม่ใช่ค่าศูนย์ทั้งหมด (Non-zero-ness) และการไม่ซ้ำกัน (Non-repetition) ล้วนผ่านเกณฑ์บน PRNG ที่อ่อนแอ ดังนั้นการทดสอบเบื้องต้นทั่วไป (Smoke tests) จึงไม่สามารถตรวจจับมันได้เช่นกัน
จากนั้นจึงมีคนทำการคำนวณ
พวกเขาไม่เคยแตะต้องอุปกรณ์สักเครื่องเดียว พวกเขา Avoid สร้างวลีที่มีความเป็นไปได้สูงบนเครื่องของตนเอง คำนวณว่าวลีแต่ละชุดจะสร้างแอดเดรส Bitcoin ใดขึ้นมาบ้าง และตรวจสอบแอดเดรสเหล่านั้นกับบล็อกเชนสาธารณะ ทุกแอดเดรสที่มีมียอดเงินคงเหลือถูกกวาดเกลี้ยง กระเป๋าเงินที่ถูกเก็บไว้ในลิ้นชักโดยไม่ได้เสียบปลั๊กมาตั้งแต่ปี 2022 มีความเสี่ยงเท่ากันทุกประการกับกระเป๋าเงินที่ใช้งานอยู่ทุกวัน
แอดเดรสที่เป็นไปได้ถูกอนุพันธ์แบบออฟไลน์ผ่าน BIP-39/BIP-32 มีเพียงขั้นตอนการตรวจสอบยอดคงเหลือขั้นสุดท้ายเท่านั้นที่เชื่อมต่อกับเครือข่าย ดังนั้นจึงไม่มีสัญญาณเตือนภัยใดๆ ฝั่งเหยื่อก่อนล่วงหน้า3
แอดเดรสที่เป็นไปได้ถูกอนุพันธ์แบบออฟไลน์ผ่าน BIP-39/BIP-32 มีเพียงขั้นตอนการตรวจสอบยอดคงเหลือขั้นสุดท้ายเท่านั้นที่เชื่อมต่อกับเครือข่าย ดังนั้นจึงไม่มีสัญญาณเตือนภัยใดๆ ฝั่งเหยื่อก่อนล่วงหน้า3
หน้านี้ไม่ใช่การประกาศชัยชนะเพื่อโอ้อวด
Coinkite เปิดเผยข้อบกพร่อง เผยแพร่รายงานทางเทคนิค และปล่อยแพตช์แก้ไข นักวิจัยภายนอกสามารถแกะรอยสิ่งที่เกิดขึ้นได้เนื่องจาก COLDCARD เป็นโอเพนซอร์ส
ข้อควรระวังประการหนึ่งเกี่ยวกับการประเมิน: สิ่งเหล่านี้อธิบายถึงขอบเขตการคาดเดาที่ผู้โจมตีต้องเผชิญภายใต้สมมติฐานปัจจุบัน ไม่ใช่การจับเวลาด้วยนาฬิกาจับเวลา ไม่มีใครสามารถบอกคุณได้ว่ากระเป๋าเงินใบใดใบหนึ่งจะต้องใช้เวลานานเท่าใดจึงจะถูกเจาะ2
โปรดอ่านสิ่งนี้ก่อนเรื่องอื่นใด
สิ่งที่คุณต้องทำขึ้นอยู่กับว่าคุณใช้อุปกรณ์รุ่นใดในตอนที่สร้างวลีฟื้นฟูขึ้นมาเป็นครั้งแรก ไม่ใช่รุ่นที่คุณถืออยู่ทุกวันนี้
ให้สันนิษฐานว่าเหตุการณ์นี้ยังคงเกิดขึ้นอยู่ วลีเหล่านี้ถูกทำให้เดาได้ง่ายตั้งแต่ปี 2021 และตอนนี้วิธีการก็ถูกเปิดเผยต่อสาธารณะแล้ว ใครๆ จึงสามารถรันการค้นหาแบบเดียวกันนี้ได้ ไม่มีแพตช์ใดที่จะปิดช่องโหว่นี้จากภายนอกได้ และไม่มีเหตุผลใดที่ผู้โจมตีจะหยุดมือ หากคุณได้รับผลกระทบ สมมติฐานที่ปลอดภัยที่สุดคือเวลานהคือสิ่งเดียวที่ขวางกั้นระหว่างคุณกับพวกเขา
Mk2 และ Mk3: ย้ายเหรียญของคุณเดี๋ยวนี้
เฟิร์มแวร์ที่ได้รับผลกระทบคือเวอร์ชัน 4.0.1 ถึง 4.1.9 เวอร์ชัน 4.2.0 แก้ไขวิธีการสร้างวลีใหม่แล้ว แต่ไม่มีการอัปเดตใดที่สามารถย้อนเวลากลับไปเพิ่มความสุ่มให้กับวลีที่มีอยู่เดิมได้ ให้สร้างกระเป๋าเงินใหม่บนอุปกรณ์ที่คุณเชื่อถือแล้วย้ายกองทุนของคุณข้ามไป1
Mk4 และ Mk5: ตรวจสอบเวอร์ชันเฟิร์มแวร์
หากวลีดังกล่าวถูกสร้างขึ้นบนเฟิร์มแวร์ที่เก่ากว่าเวอร์ชัน 5.6.0 (หรือ 6.6.0X บนบิวด์แบบ Edge) ให้ทำการอัปเดต สร้างกระเป๋าเงินใหม่เอี่ยมบนเฟิร์มแวร์ที่อัปเดตแล้ว จากนั้นจึงย้ายเงินของคุณ การอัปเดตเฟิร์มแวร์เพียงอย่างเดียวไม่สามารถซ่อมแซมวลีเก่าได้1
Q: เช่นเดียวกัน จุดตัดคือเวอร์ชัน 1.5.0Q
อัปเดตเป็น 1.5.0Q หรือใหม่กว่า หรือ 6.6.0QX บนบิวด์ Edge, สร้างกระเป๋าเงินใหม่, จดและทดสอบข้อมูลสำรอง, ส่งธุรกรรมทดสอบขนาดเล็กหนึ่งรายการ จากนั้นจึงย้ายส่วนที่เหลือ1
การอัปเดตเฟิร์มแวร์ COLDCARD จะช่วยแก้ไขวลีกู้คืนที่มีอยู่แล้วหรือไม่?
ฉันจะทราบได้อย่างไรว่าวลีกู้คืนของ COLDCARD ถูกสร้างขึ้นด้วยเฟิร์มแวร์เวอร์ชันใด?
ฉันจะตรวจสอบได้อย่างไรว่าที่อยู่ของฉันเข้าไปพัวพันกับเรื่องนี้ด้วยหรือไม่?
การทอดลูกเต๋าหรือรหัสผ่านผ่าน (passphrase) สามารถปกป้องวลีสำรองของ COLDCARD ได้หรือไม่?
ประกาศของ Coinkiteครอบคลุม COLDCARD ทุกรุ่นที่ได้รับผลกระทบหรือไม่?
ไม่มีอุปกรณ์ OneKey ใดได้รับผลกระทบ
ไม่ใช่สักรุ่นเดียวที่เราเคยส่งออก เฟิร์มแวร์ของเราไม่มีส่วนที่พึ่งพา libngu, Coinkite, COLDCARD หรือ CKCC ดังนั้นเส้นทางโค้ดที่มีปัญหาจึงไม่มีอยู่ให้เข้าถึงได้ และคุณสามารถตรวจสอบเรื่องนี้ด้วยตัวเองได้ในที่เก็บโค้ดของเรา ในฮาร์ดแวร์ปัจจุบันของเรา กุญแจมาจากตัวสร้างความสุ่มแท้ภายในซีเคียวร์เอเลเมนต์ที่ได้รับการรับรอง ไม่ใช่จากซอฟต์แวร์บนหน่วยประมวลผลหลัก การใช้ซอฟต์แวร์แทนที่นี่คือจุดที่เกิดความล้มเหลว
เราไม่ได้เชื่อถือคำกล่าวอ้างเฉยๆ เช่นกัน เมื่อข่าวนี้แพร่ออกไป Anzen Lab ได้ตรวจสอบระบบความสุ่มของเราตั้งแต่ต้นทางจนถึงปลายทาง (แหล่งที่มา การเรียกใช้งาน และการตั้งค่าการสร้างที่กำหนดว่าเวอร์ชันใดจะไปถึงอุปกรณ์ของคุณ) พร้อมทั้งเผยแพร่ไฟล์จริงที่พวกเขาตรวจสอบ12
อ่านผลการตรวจสอบซ้ำของ Anzen Labสิ่งนี้สามารถเกิดขึ้น กับ OneKey ได้หรือไม่?
ความล้มเหลวครั้งนี้ต้องอาศัยเงื่อนไขสามประการที่เกิดขึ้นพร้อมกัน บน OneKey ไม่มีเงื่อนไขใดที่เป็นจริงเลย และคุณสามารถตรวจสอบทั้งสามข้อนี้ได้ด้วยตัวเอง
แล้วความสุ่มของ OneKey มาจากไหน?
สร้างขึ้นภายในชิปที่ได้รับการรับรองมาตรฐาน EAL 6+
คีย์ของคุณถูกสร้างและเก็บรักษาไว้ภายในชิปเฉพาะกิจที่ป้องกันการงัดแงะ แทนที่จะเป็นโปรเซสเซอร์อเนกประสงค์ที่รันระบบส่วนอื่นๆ EAL 6+ คือระดับความมั่นใจที่ใช้สำหรับบัตรชำระเงินและบัตรประจำตัว
ความสุ่มที่คอยตรวจสอบตัวเอง
ชิปดังกล่าวสร้างความสุ่มจากสัญญาณรบกวนทางกายภาพจริงและทดสอบผลลัพธ์ของตัวเองอย่างต่อเนื่อง หากความสุ่มเริ่มทำงานผิดปกติ ชิปจะสังเกตเห็นได้ทันทีแทนที่จะทำงานต่อไปเงียบๆ
เราได้กลับไปตรวจสอบระบบของเราอีกครั้ง
หลังจากข่าวของ COLDCARD ออกมา Anzen Lab ได้ตรวจสอบความสุ่มของเราเองตลอดกระบวนการ (แหล่งที่มา การเรียกใช้งานจริง และการตั้งค่าการสร้างที่กำหนดว่าเวอร์ชันใดจะไปอยู่บนอุปกรณ์ของคุณ) และเผยแพร่ไฟล์ที่พวกเขาตรวจสอบให้ดูชัดเจน11


การตรวจสอบ 4 ชั้นสำหรับ OneKey ทุกเครื่อง และไม่มีชั้นไหนเลยที่ไว้วางใจอีก 3 ชั้นที่เหลือ
แต่ละชั้นอาจเกิดความผิดพลาดได้ แต่ประเด็นคือทั้งสี่ชั้นจะต้องพลาดเหมือนกันหมด ซึ่ง COLDCARD ไม่มีระบบสำรองเช่นนี้: การตั้งค่าบิลด์ที่ไม่ได้ตรวจสอบเพียงครั้งเดียวก็สร้างความเสียหายได้แล้ว
โอเพนซอร์สที่คุณสามารถตรวจสอบได้จริง
เฟิร์มแวร์และแอปพลิเคชันของเราเป็นโอเพนซอร์สบน GitHub และการสร้างบิวด์ของเราสามารถทำซ้ำได้ ซึ่งหมายความว่าคุณสามารถคอมไพล์โค้ดด้วยตัวเองและยืนยันได้ว่ามันผลิตซอฟต์แวร์ตัวเดียวกับที่รันอยู่บนอุปกรณ์ของคุณ นั่นคือขั้นตอนที่ช่วยจับปัญหา "โค้ดถูก แต่เวอร์ชันผิด"
OneKey บน GitHub
ผู้เชี่ยวชาญภายนอกตรวจสอบเราอย่างเป็นทางการ
บริษัทด้านความปลอดภัย SlowMist เป็นผู้ตรวจสอบระบบของเราและเผยแพร่รายงาน ผลการประเมินแยกต่างหากครอบคลุมถึง OneKey Pro, Classic 1S และ SDK ของเรา แนวปฏิบัติด้านความปลอดภัยของเราได้รับการรับรองมาตรฐาน ISO/IEC 27001 และสายการผลิต Pro กับ Classic 1S ได้รับการรับรองตามมาตรฐาน EN 18031 โดยหน่วยงานที่ได้รับการแต่งตั้งจากสหภาพยุโรป ทุกอย่างถูกเผยแพร่ต่อสาธารณะ ไม่ได้ประเมินกันเองภายใน13
อ่านสรุปผลการตรวจสอบจาก SlowMistทีมงานที่ได้รับค่าจ้างให้เจาะผลิตภัณฑ์ของเราเอง
Anzen Lab คือทีมความปลอดภัยภายในของเราซึ่งประกอบด้วยวิศวกรความปลอดภัยด้านฮาร์ดแวร์ เฟิร์มแวร์ และแอปพลิเคชัน ทำงานร่วมกับทีมนักวิจัยภายนอกที่หมุนเวียนกันมา หน้าที่ของพวกเขาคือการเจาะระบบฮาร์ดแวร์วอลเล็ต รวมถึงของเราเอง ก่อนที่สินค้าจะถูกส่งออกไป เมื่อข่าวนี้เกิดขึ้น พวกเขาได้ตรวจสอบระบบความสุ่มของ OneKey ตั้งแต่ต้นทางจนถึงปลายทางอีกครั้งและเผยแพร่รายชื่อไฟล์ที่พวกเขาตรวจสอบอย่างละเอียด11
อ่านการวิเคราะห์จาก Anzen Labเราจ่ายเงินให้คนแปลกหน้าเพื่อค้นหาข้อผิดพลาดของเรา
ทุกคนสามารถรายงานข้อบกพร่องมายังเราได้แบบส่วนตัว ผ่านโปรแกรมสาธารณะของเราบน BugRap หรือส่งตรงไปที่ [email protected] และจะได้รับเงินรางวัล ความรุนแรงของปัญหาจะเป็นตัวกำหนดเงินรางวัลโดยอิงตามคะแนน CVSS เป้าหมายหลักคือการทำให้การแจ้งเรามีความน่าสนใจมากกว่าการนำไปขายต่อ15
OneKey บน BugRapทดสอบกระเป๋าเงินในมือคุณ
entro.tools เป็นเครื่องมือโอเพนซอร์สฟรีที่อ่านตัวเลขสุ่มจริงที่ออกจากฮาร์ดแวร์วอลเล็ตและรันการทดสอบสุขภาพทางสถิติมาตรฐานบนตัวเลขเหล่านั้น ในเบราว์เซอร์ของคุณ ผ่าน USB โดยไม่มีการอัปโหลดข้อมูลใดๆ ไปที่ไหน และไม่ต้องอัปเดตเฟิร์มแวร์
รันการทดสอบสุขภาพตามมาตรฐาน FIPS 140-2, NIST SP 800-22 และ SP 800-90B ในเครื่องผ่าน WebUSB (บนเดสก์ท็อป Chrome หรือ Edge) อุปกรณ์จะขอส่งออกความสุ่ม ซึ่งก็คือชุดตัวเลขสุ่มที่เพิ่งสร้างขึ้นมา ไม่ใช่วลีฟื้นฟูของคุณ16
การทดสอบ universal ของ Maurer ต้องใช้อย่างน้อย 387,840 บิต หากน้อยกว่านั้นรายงานจะระบุว่าถูกข้าม แทนที่จะตัดออกเงียบ ๆ16
กระเป๋าเงินรุ่นใดที่สามารถตรวจสอบได้
ความสามารถของบุคคลภายนอกในการอ่านตัวเลขสุ่มดิบของอุปกรณ์ นี่เป็นเพียงแง่มุมแคบๆ แง่มุมหนึ่ง โปรดดูหมายเหตุด้านล่าง
คำถามที่เหตุการณ์นี้นำมาสู่ผู้ผลิตกระเป๋าเงินรายอื่น
OneKey ได้รับผลกระทบจากปัญหาเอนโทรปีของ COLDCARD หรือไม่?
ความล้มเหลวของเอนโทรปี COLDCARD ส่งผลกระทบต่อฮาร์ดแวร์วอลเล็ตใดบ้าง?
ฉันจะทดสอบความสุ่มของกระเป๋าเงินตัวเองได้อย่างไร?
เราจะประเมินได้อย่างไรว่าฮาร์ดแวร์วอลเล็ตใดน่าเชื่อถือ?
การอธิบายเรื่องซับซ้อนให้เข้าใจ คืองานของเรา
ความปลอดภัยที่คุณตรวจสอบได้เอง ไม่ใช่ความปลอดภัยที่คุณถูกขอให้เชื่อตาม
โอเพนซอร์สที่ตรวจสอบซ้ำได้ ผ่านการตรวจสอบโดยบุคคลภายนอก ถูกโจมตีโดยแล็บของเราเอง และมีเงินรางวัลให้เมื่อมีคนพบช่องโหว่ สิ่งเหล่านี้คือสิ่งที่อุปกรณ์เหล่านี้กำลังพิสูจน์อยู่
แหล่งอ้างอิง
แหล่งอ้างอิงด้านล่าง ดึงข้อมูลเมื่อวันที่ 6 สิงหาคม 2026 คำแนะนำและรายงานทางเทคนิคของ Coinkite มาเป็นอันดับแรก ตามด้วยการวิเคราะห์ระดับซอร์สโค้ดอิสระและการตรวจสอบบนเชน ตัวเลขความเสียหายยังคงถูกปรับเพิ่มขึ้นเรื่อยๆ: Galaxy Research ยืนยันตัวเลข 1,596 BTC เมื่อวันที่ 4 สิงหาคม และประเมินว่าความเสียหายที่น่าจะเกิดขึ้นน่าจะใกล้เคียง 2,055 BTC
- 1. Coinkite · COLDCARD Mk3 Seed Generation Security Advisory
- 2. Coinkite · Technical Deep Dive into the Entropy Issue
- 3. Block Engineering · Predictable RNG Fallback and 32-Bit Reseed in COLDCARD Firmware
- 4. CoinDesk · Bitcoin cold-wallet attack spreads to 4,500 addresses as losses near $89 million
- 5. CoinDesk · Major bitcoin wallet flaw drains 594 BTC in 25-minute sweep
- 6. Crypto Briefing (Galaxy Research) · Galaxy Research identifies 1,367 BTC drained in attacks on Coldcard addresses
- 7. The Crypto Times (Galaxy Research) · Coldcard hack losses hit $100M with 1,596 BTC stolen in ongoing attack
- 8. The Crypto Times (Galaxy Research) · 15 attackers exploit ongoing Coldcard hack as losses approach $130M
- 9. The Hacker News · Coldcard Hardware Wallet Flaw Linked to $70 Million Bitcoin Theft in 41 Minutes
- 10. Bitcoin Magazine · Coinkite Releases Fixed Firmware After Coldcard Bug
- 11. OneKey Anzen Lab · The COLDCARD Entropy Failure: How a Silent RNG Fallback Cost Users $38 Million
- 12. OneKey · Statement: OneKey devices are not affected by this issue
- 13. OneKey · OneKey has passed a security audit by SlowMist — separate reports cover the Pro, the Classic 1S and the SDK
- 14. SlowMist · SlowMist Audit Report — OneKey Pro
- 15. BugRap · OneKey Bug Bounty Program
- 16. entro.tools · Entropy Check — verify your hardware wallet's randomness (device support matrix)








