วิธีเล่นเป็น JSR ที่ Spearbit
ไม่ใช่ไกด์ แต่ประสบการณ์ของฉันจนถึงตอนนี้
หลังจากเริ่มการตรวจสอบครั้งแรกที่ Spearbit ฉัน พบว่าตัวเองหลงทางอยู่ครู่หนึ่ง มีเอกสารประกอบมากมายเกี่ยวกับบางหัวข้อ เช่น วิธีการเขียนประเด็นต่างๆ ซึ่งความรู้ที่จำเป็นสำหรับ Junior Security Researchers (JSRs) เป็นต้น
อย่างไรก็ตาม จำเป็นต้องชี้แจงบางประเด็นก่อนที่จะเสร็จสิ้นการตรวจสอบครั้งแรก หลายสัปดาห์ต่อมา ผู้สอบบัญชีคนอื่นๆ ถาม ฉันด้วยคำถามเดียวกัน ดังนั้นฉันจึงตัดสินใจที่จะนำแสงเล็กน้อยมาสู่สิ่งนี้ ลองดำดิ่งลงไปในนี้
ก่อนอื่น พวกคุณบางคนอาจจะถามว่าฉันเป็นใคร
ฉันใช้ชื่อเล่นว่าDeivitto ฉันเป็นวิศวกรซอฟต์แวร์และนักวิจัยด้านความปลอดภัยของบล็อกเชน นักล่าแมลงและผู้ที่ชื่นชอบความท้าทาย รายละเอียดอื่นๆ สามารถพบได้ในGithubหรือTwitter ของ ฉัน
ข้ามไปที่บทความกันเถอะ!
ทำไมฉันถึงเขียนสิ่งนี้
เมื่อฉันเข้าร่วมการตรวจสอบครั้งแรกกับ Spearbit ในฐานะ Junior Security Researcher (JSR)ความคิดแรกของฉันคือ:
“ตกลง ไปทำงานกันเถอะ!”,
อันต่อไปคือ:
“ทุกสิ่งที่ฉันควรทำในบทบาทของฉันคืออะไร? ฉันควรจะเริ่มต้นที่ไหน lmao”
แม้ว่าฉันจะสามารถหาข้อมูลมากมายเกี่ยวกับวิธีการเขียนปัญหาสำหรับ Spearbit ความรับผิดชอบใด และความรู้ใดที่ฉันต้องมี แต่ฉันไม่พบขอบเขตงานที่แน่นอนที่ฉันควรจะทำ
ต่อมามีผู้สอบบัญชีรายอื่นถามข้าพเจ้าด้วยความสงสัยเช่นเดียวกัน
โชคดีที่หลังจากมีคำถามสองสามข้อทีม Spearbit และ Lead Security Researchers (LSR) ได้ให้ความรู้ที่จำเป็นแก่ฉัน (คำถามที่ดีกว่า คำตอบที่ดีกว่า)
วิธีที่จะไม่ตื่นตระหนกกับการตรวจสอบของ Spearbit ในฐานะสมาชิกใหม่
ประการแรก การตรวจสอบ Spearbit นั้นไม่แตกต่างจากการตรวจสอบครั้งก่อนของฉันที่แพลตฟอร์มเช่น C4 หรือ Sherlock
เป็นเพียงการตรวจสอบอื่นดังนั้นเรามาตรงไปตรงมา: อ่านโค้ด ค้นหาปัญหา อ่านเอกสารประกอบ ทำความเข้าใจค่าคงที่แต่ละค่าและตรวจสอบว่ามีค่าคงที่หรือไม่ และค้นหาแนวคิดที่เสียหายหรือมีปัญหาเล็กน้อย คุณเป็นผู้สอบบัญชี คุณควรจะทำตัวเป็นอย่างนั้น
และคุณยังสามารถเรียกใช้การวิเคราะห์แบบคงที่หรือเครื่องมืออื่นๆ เพื่อค้นหาปัญหาทั่วไปหรือการปรับปรุง แต่ละวิธีนั้นแตกต่างกัน ฉันชอบทำเช่นนี้เพื่อจับสิ่งทั่วไปก่อนและทำความเข้าใจพื้นฐานเกี่ยวกับสิ่งที่โค้ดควรทำ
นี่ไม่ใช่การแข่งขัน นี่คือความร่วมมือ
หากคุณมาจากการแข่งขัน C4 / Sherlock และไม่ได้มาจากสำนักงานตรวจสอบบัญชีเช่นฉัน คุณรู้จักการสอบแข่งขันเป็นอย่างดี อย่างไรก็ตาม ตอนนี้คุณเป็นส่วนหนึ่งของทีม ไม่ใช่ส่วนหนึ่งของการแข่งขัน
โชคดีที่ฉันเคยตรวจสอบร่วมกับทีมมาก่อน
สิ่งหนึ่งที่ฉันสังเกตเห็นในการตรวจสอบกับBronicle ที่ C4 นั้นดีเพียงใดในการตรวจสอบกับผู้อื่นที่ไม่เพียงเข้าใจสิ่งที่คุณพูด แต่ยังเติมเต็มความเชี่ยวชาญที่ขาดหายไปด้วยตัวของพวกเขาเอง
แล้วคุณจะทำอย่างไรในการตรวจสอบทีม?
- ก่อนอื่น ตรวจสอบ . ใช่ อย่างที่บอก นี่เป็นเพียงการตรวจสอบอีกครั้งหนึ่ง มองหาปัญหาและความคลาดเคลื่อน แสดงทักษะและความรู้ของคุณ
- ประการที่สองสื่อสารพูดทุกอย่างชัดเจนและให้ทุกคนทราบหากมีบางสิ่งที่ดูน่าสงสัย ปัญหาที่คุณพบ การโจมตีเวกเตอร์ที่คุณจินตนาการ หรือปล่อยให้คำถามของคุณเกิดขึ้นในแชท ฉันชอบดูโง่ๆ สักครั้ง โดยไม่รู้ว่าอะไรมีค่าด้วยเหตุผลอัตตา อัตตาอาจทำให้ผู้ใช้เสียค่าใช้จ่ายหลายล้านคน
- อ่านความคิดเห็น ใหม่ทั้งหมดของทีมคุณ นอกจากนี้ ทีมตรวจสอบบางส่วนอาจตอบความคิดเห็นของคุณ ให้การสื่อสาร นี่คือสิ่งที่ฉันแนะนำให้ทำทุกวันก่อนที่จะมองหาปัญหาใหม่
- ตรวจสอบหรือทำลายความคิดเห็นอย่าเพิกเฉย คุณอาจเข้าใจบางสิ่งที่อาจเป็นการค้นหาปัญหาใหม่ หรืออาจถึงขั้นวิกฤต
- ทุกสิ่งที่คุณพบอาจได้รับการกล่าวถึงหรือพูดคุยในช่อง Discord ที่เกี่ยวข้องกับการตรวจสอบหรือแสดงความคิดเห็นใน PR ของไฟล์
- เขียนประเด็น. ไม่ใช่แค่ของคุณ ถ้าคุณมีเวลา และคุณเป็น JSR เช่นเดียวกับฉัน แต่คนอื่นๆ วิธีนี้จะประหยัดเวลา สำหรับผู้ตรวจสอบที่มี ประสบการณ์มากกว่า และจะสอนคุณ ด้วย คุณจะได้เรียนรู้สิ่งใหม่ ๆ จาก LSR รู้เพิ่มเติมเกี่ยวกับสิ่งที่พวกเขาคิดว่ามีค่าสำหรับการตรวจสอบต่อไปนี้ของคุณ คุณอยู่ในช่องโดยตรงกับดาวเด่นของสนาม
สิ่งมีค่าอื่น ๆ ที่ให้คุณค่าและประหยัดเวลาสำหรับสมาชิกคนอื่น ๆ
- ทำกราฟการโทรและสคีมาที่มีค่า อื่นๆ แล้วแบ่งปัน
- ตรวจสอบการทดสอบหน่วยทำอย่างถูกต้องและการทดสอบครอบคลุมทุกอย่าง คุณอาจพบบางอย่างหากต้องการความช่วยเหลือ
- Fuzz / การดำเนินการเชิงสัญลักษณ์ ถ้าเก่งก็ทำไป
- ค้นคว้าแนวคิดบางอย่างและตรวจสอบความถูกต้องของแนวคิดบางอย่าง ยืนยันว่าไลบรารีกำลังทำในสิ่งที่ควรทำ ตรวจสอบการเปลี่ยนแปลงเวอร์ชันคอมไพเลอร์ ฯลฯ
- ตรวจสอบการเปลี่ยนแปลงระหว่าง โค้ด เวอร์ชันล่าสุดกับเวอร์ชันจริง
- แก้ไขข้อผิดพลาดในประเด็น รวมสไตล์ (โดยปกติจะกล่าวถึงใน Discord)
อะไรต่อไป?
- สองสัปดาห์ของการติดตาม การแก้ไข ขั้นแรก หากคุณยังไม่ได้ดำเนินการ ให้เปิดการแจ้งเตือนสำหรับที่เก็บการแก้ไข
- ตอนนี้เพียงตรวจสอบการเปลี่ยนแปลงเพื่อให้ดำเนินการได้อย่างถูกต้อง
- หากมีคนอื่นตรวจสอบการเปลี่ยนแปลงเหล่านั้นก่อนคุณ และคุณเห็นด้วยให้เพิ่มการยกนิ้วให้ / แสดงความคิดเห็นเพื่อแจ้งให้ทราบว่าคุณเห็นด้วย (หรือไม่ )
- เปิดใช้งานการแจ้งเตือนที่ Github repo
- แม้ว่าปัญหาบางอย่างจะได้รับการแก้ไขหลังจากเริ่มการตรวจสอบแนวทางปฏิบัติที่ดีในการแก้ไขปัญหาเพื่อให้ผู้ใช้ทุกคนทราบ (คุณสามารถระบุว่าปัญหาได้รับการแก้ไขแล้วที่ PR#XX)
นอกจากนี้ ฉันรู้สึกขอบคุณสำหรับความรู้และความเป็นผู้นำทั้งหมดที่มอบให้จนถึงขณะนี้โดย LSR ที่น่าทึ่งเช่น@TheSecureum , @GerardPersoon , @cmichelและ@saw-mon-and- natalie





































![รายการที่เชื่อมโยงคืออะไร? [ส่วนที่ 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)