สรุปและฝึกฝน
ประเด็นสำคัญ
- โค้ดที่ AI สร้างไม่ปลอดภัยโดยค่าเริ่มต้น ให้สมมติว่ามีช่องโหว่อยู่และไปค้นหามัน แทนที่จะเชื่อความประทับใจแรกที่ดูสะอาด
- หมวดหมู่ใหญ่ ๆ ซ้ำเดิมเสมอ: injection, ความลับที่เปิดเผย, การตรวจสอบสิทธิ์ที่ขาดหาย, การอัปโหลดไฟล์ที่ไม่ปลอดภัย และดีเพนเดนซีที่ถูกคิดขึ้นเอง
- Authorization เป็นเรื่องต่อคำขอ ไม่ใช่ต่อการล็อกอิน — ทุกเอนด์พอยต์ต้องตรวจสอบว่าผู้ใช้ คนนี้ สามารถทำ การกระทำนี้ ได้หรือไม่ ไม่ใช่แค่ว่าพวกเขาล็อกอินอยู่
- รัน scanner อย่าง
gitleaksก่อนทุกครั้งที่ push และหมุนคีย์ใดก็ตามที่เคยรั่วไหล เชื่อมการสแกนเข้ากับ เพื่อที่คุณจะข้ามมันไม่ได้ - วันที่เก้าสิบอันตรายกว่าวันแรก — ทำให้ประตูตรวจสอบความปลอดภัยถูกจนไม่ข้าม และเป็นอัตโนมัติมากพอจนข้ามไม่ได้
ลองทำดู
หยิบฟีเจอร์ใดก็ได้ของคุณที่แตะ auth ข้อมูลผู้ใช้ หรือการอัปโหลด แล้วรันพรอมป์ตรวจสอบเชิงปฏิปักษ์ด้านล่างนี้กับมัน สำหรับแต่ละช่องโหว่ที่ AI รายงาน ให้ขอคำขอที่ใช้โจมตีมันจริง ๆ และวิธีแก้ที่น้อยที่สุด จากนั้นนำวิธีแก้ไปใช้และรันพรอมป์อีกครั้ง ปิดท้ายด้วยการรัน gitleaks (หรือการสแกนความลับของแพลตฟอร์มคุณ) กับรีโพและประวัติของมัน
พรอมป์ประจำบท
Here is the code for a feature that handles [auth / user data / uploads]:
[paste the code].
Act as an attacker reviewing this for security holes. Specifically check:
- broken authorization (can a user act on another user's data?)
- injection via input (SQL injection, XSS, command injection)
- exposed secrets or keys in code or responses
- unsafe file handling (type, size, path, generated names)
- missing validation or rate limits
For EACH issue, show the exact request that exploits it, then the fix.
Do NOT reassure me — assume there IS a vulnerability and find it.