วิเคราะห์ปัญหาโดยใช้โหมดถามของ GitHub Copilot
การระบุและทําความเข้าใจปัญหาด้านความปลอดภัยเป็นขั้นตอนแรกในการแก้ไขปัญหา ตัวแทน Ask ของ GitHub Copilot มอบวิธีโต้ตอบในการวิเคราะห์โค้ด ระบุช่องโหว่ และวางแผนกลยุทธ์การแก้ไข
ตัวแทน Ask คืออะไร?
ตัวแทน Ask เป็นหนึ่งในสามตัวแทนในตัวใน GitHub Copilot Chat ซึ่งรวมเข้ากับ Visual Studio Code คุณถามคําถามเกี่ยวกับโค้ดของคุณ และ GitHub Copilot จะตอบกลับโดยใช้บริบทที่คุณให้ไว้ ตัวแทน Ask ทําหน้าที่เหมือนเพื่อนร่วมงานที่มีความรู้ซึ่งสามารถอ่านโค้ดของคุณและให้คําแนะนําได้ หากต้องการเปิดใช้งาน สอบถามตัวแทน ในมุมมอง แชท ให้เลือก ถาม จากดรอปดาวน์ ตั้งค่าตัวแทน
ตัวแทน Ask เหมาะสําหรับ:
- ทําความเข้าใจว่าโค้ดเฉพาะทําอะไร
- การระบุช่องโหว่ด้านความปลอดภัยที่อาจเกิดขึ้น
- สํารวจแนวทางการนําไปใช้ทางเลือก
- รับคําอธิบายเกี่ยวกับแนวคิดด้านความปลอดภัย
- วางแผนกลยุทธ์การแก้ไขก่อนทําการเปลี่ยนแปลง
ตัวแทน Ask จะไม่แก้ไขไฟล์โค้ดของคุณ ให้การวิเคราะห์ คําอธิบาย และข้อเสนอแนะที่คุณสามารถใช้เพื่อตัดสินใจอย่างชาญฉลาดเกี่ยวกับวิธีดําเนินการต่อ
วิเคราะห์ปัญหาด้านความปลอดภัยโดยใช้ตัวแทน Ask
คุณสามารถใช้ตัวแทน Ask เพื่อระบุและทําความเข้าใจช่องโหว่ด้านความปลอดภัยในฐานรหัสของคุณอย่างเป็นระบบ GitHub Copilot ช่วยให้คุณเข้าใจลักษณะของปัญหาด้านความปลอดภัย ผลกระทบที่อาจเกิดขึ้น และแนวทางการแก้ไขที่เหมาะสม
กลยุทธ์ในการวิเคราะห์ปัญหาด้านความปลอดภัย
ต่อไปนี้เป็นกลยุทธ์ที่มีประสิทธิภาพสําหรับการใช้ตัวแทน Ask เพื่อวิเคราะห์ปัญหาด้านความปลอดภัย:
ทําความเข้าใจโค้ด: ขอให้ GitHub Copilot อธิบายว่าโค้ดที่มีช่องโหว่ทําอะไรและประมวลผลข้อมูลอย่างไร
ระบุช่องโหว่: ขอการวิเคราะห์ปัญหาด้านความปลอดภัยที่อาจเกิดขึ้นในส่วนโค้ดเฉพาะ
ประเมินผลกระทบ: สํารวจผลที่อาจเกิดขึ้นจากช่องโหว่หากถูกใช้ประโยชน์
ค้นหากรณีพิเศษ: ระบุสถานการณ์ที่โค้ดอาจทํางานโดยไม่คาดคิดหรือไม่ปลอดภัย
ประเมินวิธีแก้ปัญหา: ขอแนวทางต่างๆ ในการแก้ไขปัญหาและทําความเข้าใจการแลกเปลี่ยน
ยืนยันความเข้าใจ: ยืนยันการตีความปัญหาด้านความปลอดภัยก่อนดําเนินการแก้ไข
วางแผนอย่างเป็นระบบ: พัฒนาแผนการแก้ไขทีละขั้นตอนที่จัดการกับทุกแง่มุมของช่องโหว่
สอบถามเจ้าหน้าที่เพื่อวิเคราะห์ความปลอดภัย
ข้อความแจ้งที่มีประสิทธิภาพมีความเฉพาะเจาะจง ให้บริบท และมุ่งเน้นไปที่ข้อมูลเชิงลึกที่นําไปใช้ได้จริง
ความเข้าใจและการวิเคราะห์
ข้อความแจ้งเหล่านี้ช่วยให้คุณเข้าใจว่าโค้ดทําอะไรและระบุผลกระทบด้านความปลอดภัย
- "อธิบายว่าฟังก์ชันการรับรองความถูกต้องที่เลือกทําอะไรและระบุข้อกังวลด้านความปลอดภัย"
- "วิเคราะห์โค้ดที่เลือกสําหรับช่องโหว่ในการแทรก SQL และอธิบายว่าสามารถใช้ประโยชน์ได้อย่างไร"
- "ตรวจสอบการใช้งานการจัดเก็บรหัสผ่านที่เลือกและอธิบายว่าเหตุใดจึงไม่ปลอดภัย"
- "มีความเสี่ยงด้านความปลอดภัยอะไรบ้างในรหัสการจัดการไฟล์ที่เลือก"
การประเมินช่องโหว่
ใช้ข้อความแจ้งเหล่านี้เพื่อวิเคราะห์ช่องโหว่ที่อาจเกิดขึ้นอย่างลึกซึ้งและประเมินความรุนแรงของปัญหาด้านความปลอดภัย
- "ระบุวิธีทั้งหมดที่ผู้โจมตีสามารถใช้ประโยชน์จากการตรวจสอบอินพุตที่เลือกได้"
- "ข้อมูลที่ละเอียดอ่อนใดที่อาจถูกเปิดเผยผ่านการจัดการข้อผิดพลาดที่เลือก"
- "วิเคราะห์การใช้งานการเข้ารหัสที่เลือกเพื่อหาจุดอ่อน"
- "รหัสที่เลือกเป็นไปตามแนวทางความปลอดภัย OWASP Top 10 หรือไม่ อธิบายการละเมิดใด ๆ "
การสํารวจโซลูชัน
ข้อความแจ้งเหล่านี้ช่วยให้คุณประเมินแนวทางต่างๆ ในการแก้ไขปัญหาด้านความปลอดภัยและทําความเข้าใจการแลกเปลี่ยน
- "วิธีการที่แนะนําสําหรับการแก้ไขการแทรก SQL ในแบบสอบถามที่เลือกคืออะไร"
- "แสดงทางเลือกที่ปลอดภัยสําหรับการใช้งานการแฮชรหัสผ่านที่เลือก"
- "ฉันควรใช้การตรวจสอบเส้นทางเพื่อป้องกันการสํารวจไดเรกทอรีอย่างไร"
- "วิธีใดที่ปลอดภัยที่สุดในการบันทึกข้อผิดพลาดโดยไม่เปิดเผยข้อมูลที่ละเอียดอ่อน"
การวิเคราะห์ผลที่ตามมา
ใช้ข้อความแจ้งเหล่านี้เพื่อทําความเข้าใจผลที่อาจเกิดขึ้นจากช่องโหว่ด้านความปลอดภัยหากมีการใช้ประโยชน์
- "ผลกระทบที่อาจเกิดขึ้นหากมีช่องโหว่ในการแทรก SQL ที่เลือกถูกใช้ประโยชน์คืออะไร"
- "อธิบายผลที่ตามมาของการจัดเก็บรหัสผ่านเป็นข้อความธรรมดา"
- "ข้อมูลใดบ้างที่อาจถูกบุกรุกผ่านช่องโหว่การข้ามเส้นทางที่เลือก"
- "ปัญหาการบันทึกที่เลือกร้ายแรงแค่ไหนเมื่อเทียบกับช่องโหว่อื่นๆ ในฐานรหัส"
การยืนยันแนวทางปฏิบัติแนะนํา
ข้อความแจ้งเหล่านี้ช่วยให้คุณมั่นใจได้ว่าโค้ดของคุณเป็นไปตามมาตรฐานอุตสาหกรรมและแนวทางความปลอดภัย
- "รหัสที่เลือกเป็นไปตามแนวทางความปลอดภัยของ Microsoft สําหรับ .NET หรือไม่"
- "การใช้งานการเข้ารหัสที่เลือกใช้แนวทางปฏิบัติที่ดีที่สุดในปัจจุบันหรือไม่"
- "คุณอยากแนะนําการปรับปรุงความปลอดภัยอะไรบ้างสําหรับขั้นตอนการรับรองความถูกต้องที่เลือก"
- "รหัสที่เลือกเปรียบเทียบกับมาตรฐานอุตสาหกรรมสําหรับการจัดเก็บรหัสผ่านที่ปลอดภัยอย่างไร"
สร้างบริบทการแชทที่มีประสิทธิภาพ
คุณภาพการวิเคราะห์ของ GitHub Copilot ขึ้นอยู่กับบริบทที่คุณให้ไว้ ปฏิบัติตามแนวทางปฏิบัติเหล่านี้เพื่อให้แน่ใจว่า Copilot มีข้อมูลที่เพียงพอ:
เพิ่มไฟล์และโค้ดที่เกี่ยวข้อง
การให้บริบทที่ครอบคลุมช่วยให้ GitHub Copilot นําเสนอการวิเคราะห์ความปลอดภัยที่แม่นยําและเกี่ยวข้องมากขึ้น
- พิมพ์
#อินพุตแชทเพื่ออ้างอิงไฟล์เฉพาะ (เช่น#file:SearchProducts.cs) โฟลเดอร์ สัญลักษณ์ หรือฐานรหัสทั้งหมดของคุณ (#codebase) - เลือกส่วนโค้ดเฉพาะก่อนถามคําถามเพื่อมุ่งเน้นการวิเคราะห์
- รวมไฟล์ที่เกี่ยวข้องที่ให้บริบท (เช่น ไฟล์การกําหนดค่า คลาสตัวช่วย หรือแบบจําลองข้อมูล)
- เอาต์พุตเทอร์มินัลอ้างอิง (
#terminalSelection) เพื่อรวมข้อผิดพลาดของคอมไพเลอร์หรือความล้มเหลวในการทดสอบเป็นบริบท - แนบภาพหน้าจอของข้อผิดพลาดหรือผลการสแกนความปลอดภัย — เจ้าหน้าที่ Ask รองรับการมองเห็น คุณจึงสามารถวางรูปภาพลงในแชทได้โดยตรง
ให้คําอธิบายปัญหาที่ชัดเจน
บริบทที่ชัดเจนช่วยให้ GitHub Copilot เข้าใจสถานการณ์เฉพาะของคุณและให้คําแนะนําด้านความปลอดภัยที่ตรงเป้าหมายมากขึ้น
- อธิบายสิ่งที่คุณพยายามทําให้สําเร็จ
- กล่าวถึงข้อจํากัดหรือข้อกําหนดใดๆ (ข้อควรพิจารณาด้านประสิทธิภาพ ข้อกําหนดในการปฏิบัติตามข้อกําหนด)
- ระบุข้อกังวลด้านความปลอดภัยของคุณอย่างชัดเจน
- จดบันทึกมาตรฐานหรือหลักเกณฑ์การเขียนโค้ดที่เกี่ยวข้องที่ทีมปฏิบัติตาม
สอบถามเวิร์กโฟลว์ของเจ้าหน้าที่สําหรับการวิเคราะห์ความปลอดภัย
ทําตามเวิร์กโฟลว์ที่เป็นระบบนี้เพื่อวิเคราะห์ปัญหาด้านความปลอดภัยโดยใช้ตัวแทน Ask:
ขั้นตอนที่ 1: เปิดและเลือกรหัสที่มีปัญหา
ขั้นตอนแรกในการวิเคราะห์ปัญหาด้านความปลอดภัยคือการจัดหาโค้ดเฉพาะที่คุณต้องการวิเคราะห์ให้กับ GitHub Copilot
ไปที่ไฟล์ที่มีปัญหาด้านความปลอดภัย และเลือกส่วนรหัสที่เกี่ยวข้อง การเลือกส่วนไฟล์หรือโค้ดจะเน้นการวิเคราะห์ของ GitHub Copilot ในด้านเฉพาะที่น่ากังวล
ขั้นตอนที่ 2: ขอคําอธิบาย
เริ่มต้นการวิเคราะห์ของคุณโดยทําความเข้าใจว่าโค้ดทําอะไรและยืนยันว่ามีช่องโหว่อยู่
เริ่มต้นด้วยคําถามที่เข้าใจกว้างๆ เพื่อยืนยันช่องโหว่และทําความเข้าใจว่าช่องโหว่นั้นถูกใช้ประโยชน์ได้อย่างไร
ตัวอย่างพรอมต์: "อธิบายว่าฟังก์ชันการค้นหานี้ทําอะไรและระบุข้อกังวลด้านความปลอดภัย"
GitHub Copilot อธิบายวิธีการทํางานของโค้ด ระบุประเภทช่องโหว่ และอธิบายวิธีการแสวงหาผลประโยชน์ที่อาจเกิดขึ้น
ขั้นตอนที่ 3: ถามคําถามที่ตรงเป้าหมายเกี่ยวกับช่องโหว่
เมื่อคุณเข้าใจช่องโหว่พื้นฐานแล้ว ให้เจาะลึกลงไปเพื่อทําความเข้าใจเวกเตอร์การโจมตีที่เป็นไปได้ทั้งหมด
เจาะลึกลงไปในแง่มุมเฉพาะของปัญหาด้านความปลอดภัย
ตัวอย่างพรอมต์: "วิธีต่าง ๆ ที่ผู้โจมตีสามารถใช้ประโยชน์จากช่องโหว่การแทรก SQL นี้มีอะไรบ้าง"
คําถามที่กําหนดเป้าหมายช่วยให้คุณเข้าใจขอบเขตทั้งหมดของความเสี่ยง รวมถึงการบายพาสการรับรองความถูกต้อง การแยกข้อมูล การแก้ไขข้อมูล และการปฏิเสธความเป็นไปได้ในการให้บริการ
ขั้นตอนที่ 4: สํารวจตัวเลือกการแก้ไข
การทําความเข้าใจแนวทางการแก้ปัญหาที่หลากหลายช่วยให้คุณเลือกการแก้ไขที่เหมาะสมที่สุดสําหรับบริบทเฉพาะของคุณ
ขอกลยุทธ์การแก้ปัญหาที่มีข้อดีและข้อเสีย
ตัวอย่างพรอมต์: "แนวทางที่แนะนําในการแก้ไขช่องโหว่การแทรก SQL นี้มีอะไรบ้าง รวมข้อดีข้อเสียของแต่ละแนวทาง"
GitHub Copilot สามารถแนะนําโซลูชันได้หลายวิธี เช่น การสืบค้นที่มีพารามิเตอร์ เฟรมเวิร์ก Object-Relational Mapping (ORM) หรือกระบวนงานที่เก็บไว้ ซึ่งช่วยให้คุณเลือกการแก้ไขที่เหมาะสมที่สุดสําหรับสถานการณ์ของคุณ
ขั้นตอนที่ 5: ตรวจสอบกรณีและข้อกําหนดของ Edge
ก่อนดําเนินการแก้ไข ให้แน่ใจว่าคุณเข้าใจสถานการณ์และกรณีพิเศษทั้งหมดที่ต้องจัดการ
ตรวจสอบให้แน่ใจว่าการแก้ไขได้ผลในทุกสถานการณ์โดยถามเกี่ยวกับข้อควรพิจารณาพิเศษ
ตัวอย่างพรอมต์: "มีกรณีพิเศษหรือข้อควรพิจารณาพิเศษที่ฉันควรจัดการเมื่อใช้คิวรีที่มีพารามิเตอร์สําหรับฟังก์ชันการค้นหานี้หรือไม่"
GitHub Copilot สามารถระบุข้อกําหนดในการตรวจสอบอินพุต ข้อควรพิจารณาด้านประสิทธิภาพ และข้อกังวลเกี่ยวกับตรรกะทางธุรกิจที่คุณต้องแก้ไข
ขั้นตอนที่ 6: วางแผนการใช้งาน
ขั้นตอนสุดท้ายก่อนการเข้ารหัสคือการสร้างแผนที่ครอบคลุมซึ่งเป็นแนวทางในกระบวนการนําไปใช้
ขอแผนการดําเนินงานที่ครอบคลุมซึ่งรวมถึงข้อกําหนดการทดสอบ
ตัวอย่างพรอมต์: "จากการอภิปรายของเรา ให้สร้างแผนทีละขั้นตอนสําหรับการแก้ไขช่องโหว่การแทรก SQL นี้ รวมถึงข้อกําหนดในการทดสอบ"
GitHub Copilot สามารถจัดเตรียมแผนโครงสร้างที่ครอบคลุมการเตรียมการ การใช้งาน การทดสอบ (หน่วย ความปลอดภัย และการถดถอย) การปรับใช้ และขั้นตอนการจัดทําเอกสาร
Tip
หลังจากเสร็จสิ้นการวิเคราะห์ตัวแทนถามแล้ว ให้พิจารณาใช้ ตัวแทนแผน เพื่อกําหนดแผนการดําเนินงานอย่างเป็นทางการ ตัวแทนแผนจะสร้างแผนการนําไปใช้ทีละขั้นตอนที่มีโครงสร้างจากผลการวิเคราะห์ของคุณ และสามารถส่งต่อไปยังตัวแทนเพื่อนําไปใช้ได้โดยตรง เลือก วางแผน จากตัวเลือกตัวแทนในมุมมอง แชท
แนวทางการวิเคราะห์ซ้ํา
การวิเคราะห์ความปลอดภัยมักต้องใช้คําถามหลายรอบ แนะนําให้ทําตามขั้นตอนต่อไปนี้สําหรับวิธีการวนซ้ํา:
- ถามคําถามติดตามผลเพื่อขอคําชี้แจง
- ขอตัวอย่างโค้ดสําหรับโซลูชันที่แนะนํา
- สํารวจแนวทางอื่น
- ตรวจสอบให้แน่ใจว่ามีความเข้าใจอย่างครอบคลุมเกี่ยวกับปัญหาและกระบวนการแก้ไข
พิจารณาชุดข้อความแจ้งต่อไปนี้ในแนวทางการวิเคราะห์ซ้ํา สถานการณ์สมมตินี้ถือว่าคุณเปิดแฟ้มที่มีฟังก์ชันการค้นหาที่เสี่ยงต่อการแทรก SQL และเลือกรหัส:
สร้างความเข้าใจทั่วไปเกี่ยวกับรหัสและปัญหา: "อธิบายว่าฟังก์ชันการค้นหาที่เลือกทําอะไรและระบุข้อกังวลด้านความปลอดภัย"
เจาะลึกลงไปในความเสี่ยงที่เฉพาะเจาะจง: "วิธีต่างๆ ที่ผู้โจมตีสามารถใช้ประโยชน์จากช่องโหว่ในการแทรก SQL นี้มีอะไรบ้าง"
สํารวจตัวเลือกโซลูชัน: "แนวทางที่แนะนําในการแก้ไขช่องโหว่การแทรก SQL นี้มีอะไรบ้าง รวมข้อดีข้อเสียของแต่ละแนวทาง"
ปรับปรุงความเข้าใจของคุณเกี่ยวกับวิธีการที่แนะนํา: "เหตุใดคิวรีที่มีพารามิเตอร์จึงดีกว่าการหลีกหนีอินพุตด้วยฟังก์ชันการฆ่าเชื้อ"
ตรวจสอบความเข้าใจที่ครบถ้วนและครอบคลุม: "มีกรณีพิเศษหรือข้อควรพิจารณาพิเศษที่ฉันควรจัดการเมื่อใช้การสืบค้นที่มีพารามิเตอร์สําหรับฟังก์ชันการค้นหานี้หรือไม่"
วางแผนการใช้งาน: "จากการอภิปรายของเรา ให้สร้างแผนทีละขั้นตอนสําหรับการแก้ไขช่องโหว่การแทรก SQL นี้ รวมถึงข้อกําหนดในการทดสอบ"
วิธีการวนซ้ํานี้สร้างความเข้าใจที่ครอบคลุมและทําให้แน่ใจว่าคุณมีกลยุทธ์การแก้ไขที่สมบูรณ์ก่อนที่จะแก้ไขโค้ด
การจัดการการตอบสนองของ GitHub Copilot
แม้ว่า GitHub Copilot จะมีความรู้ แต่ให้ถือว่าการตอบสนองเป็นแนวทางที่มีข้อมูลมากกว่าความจริงที่แท้จริง
ตรวจสอบการตัดสินใจด้านความปลอดภัยที่สําคัญ
ตรวจสอบความถูกต้องของคําแนะนําด้านความปลอดภัยกับแหล่งข้อมูลที่เชื่อถือได้และข้อกําหนดเฉพาะของคุณเสมอ
- อ้างอิงโยงคําแนะนําของ GitHub Copilot พร้อมเอกสารอย่างเป็นทางการ
- ศึกษาแนวทาง OWASP สําหรับแนวทางปฏิบัติที่ดีที่สุดด้านความปลอดภัย
- ตรวจทานคําแนะนําด้านความปลอดภัยของ Microsoft สําหรับ .NET
- พิจารณาข้อกําหนดการปฏิบัติตามข้อกําหนดเฉพาะของคุณ
ตระหนักถึงข้อจํากัดของ GitHub Copilot
การทําความเข้าใจว่า GitHub Copilot สามารถทําอะไรได้บ้างและไม่สามารถทําได้จะช่วยให้คุณใช้งานได้อย่างมีประสิทธิภาพในขณะที่ยังคงรักษาการกํากับดูแลที่เหมาะสม
GitHub Copilot เป็นเครื่องมือที่ทรงพลัง แต่มีข้อจํากัดที่คุณต้องระวัง
พิจารณาข้อจํากัดต่อไปนี้:
- GitHub Copilot วิเคราะห์โค้ดแบบคงที่ แต่ไม่มีบริบทรันไทม์
- GitHub Copilot อาจไม่ทราบเกี่ยวกับโครงสร้างพื้นฐานหรือสถาปัตยกรรมเฉพาะของคุณ
- GitHub Copilot ไม่สามารถเข้าถึงนโยบายความปลอดภัยที่เป็นกรรมสิทธิ์ได้
- GitHub Copilot อาจพลาดช่องโหว่เล็กน้อยที่ต้องใช้ความเชี่ยวชาญด้านโดเมน
ให้บริบทที่ชัดเจน
คุณภาพของการตอบกลับของ GitHub Copilot จะดีขึ้นอย่างมากเมื่อคุณให้บริบทและรายละเอียดเพิ่มเติม
ความแม่นยําของ GitHub Copilot ดีขึ้นตามบริบทที่ดีขึ้น หากคําตอบดูเหมือนไม่ตรงเป้าหมาย ให้ทําดังนี้
- เพิ่มบริบทเพิ่มเติมเกี่ยวกับสภาพแวดล้อมของคุณ
- รวมไฟล์รหัสที่เกี่ยวข้องในการแชท
- ระบุข้อจํากัดหรือข้อกําหนดอย่างชัดเจน
- ใช้ถ้อยคําใหม่ของคําถามด้วยรายละเอียดเพิ่มเติม
ประโยชน์หลักของตัวแทน Ask สําหรับการวิเคราะห์ความปลอดภัย
การใช้ตัวแทน Ask สําหรับการวิเคราะห์ความปลอดภัยมีข้อดีหลายประการ:
- การประเมินอย่างรวดเร็ว: รับการวิเคราะห์ทันทีโดยไม่ต้องค้นคว้าเอกสาร
- มุมมองที่ครอบคลุม: GitHub Copilot พิจารณารูปแบบจากฐานรหัสหลายล้านรายการ
- การศึกษา: เรียนรู้หลักการรักษาความปลอดภัยผ่านคําอธิบาย
- ความช่วยเหลือในการวางแผน: พัฒนากลยุทธ์การใช้งานก่อนเขียนโค้ด
- การสํารวจที่ปราศจากความเสี่ยง: ตรวจสอบหลายวิธีโดยไม่ต้องแก้ไขโค้ด
Summary
ตัวแทน Ask เป็นเครื่องมือที่มีประสิทธิภาพสําหรับการวิเคราะห์ปัญหาด้านความปลอดภัยอย่างเป็นระบบ ถามคําถามที่ตรงเป้าหมายและให้บริบทที่เหมาะสมเพื่อให้ได้ผลลัพธ์ที่ดีที่สุด ทําตามเวิร์กโฟลว์ที่ทําซ้ําเพื่อทําความเข้าใจช่องโหว่อย่างละเอียดและสํารวจตัวเลือกการแก้ไข ใช้ตัวแทน Ask เพื่อพัฒนาแผนการใช้งานที่ครอบคลุมก่อนที่จะเขียนโค้ด จากนั้นเปลี่ยนไปใช้ตัวแทน Plan เพื่อจัดโครงสร้างแนวทางของคุณ หรือตัวแทนเพื่อดําเนินการแก้ไขโดยตรง วิธีนี้ช่วยให้คุณแก้ไขปัญหาด้านความปลอดภัยได้อย่างมั่นใจในขณะที่เรียนรู้หลักการรักษาความปลอดภัยที่ปรับปรุงโค้ดในอนาคตของคุณ