EN: Read in English
Dunia 8: Perisai: Keselamatan
Asas CodeQL
Anda akan belajar: cara CodeQL cari kod berisiko sebelum penyerang jumpa.
Teks BM belum disemak oleh penutur asli.
Masalahnya
Laman log masuk anda berfungsi. Ujian pun lulus. Tapi satu baris benarkan penipu baca data setiap pengguna. Bolehkah anda jumpa baris itu dalam 500 fail?
Tengok
CodeQL: Detektif kod GitHub. Ia jadikan kod sebagai data dan tanya soalan untuk cari kod berisiko. ialah detektif kod dari GitHub. Ia jadikan kod anda sebagai data. Kemudian ia tanya soalan. Contohnya: “bolehkah teks yang ditaip sampai ke pangkalan data?”
Cuba
Jadi detektif. Ketik baris yang lekatkan teks ditaip terus ke soalan pangkalan data.
Ketik baris yang lekatkan teks ditaip ke dalam query.
0 daripada 1 dijumpai
Petunjuk
Cari tanda + yang lekatkan nama itu pada soalan.Tengok
CodeQL berjalan sebagai code scanning (imbasan kod) (code scanning): Semakan automatik, contohnya CodeQL, yang cari masalah keselamatan dalam kod anda. (imbasan kod). Hidupkan, dan GitHub Actions semak kod anda setiap push dan pull request. Masalah muncul sebagai amaran pada baris yang tepat.
Cuba
Tiga pengawal, tiga tugas. Siapa tangkap apa?
Seret kad ke dalam kotak. Atau ketik kad, kemudian ketik kotak.
Teka
CodeQL tanda satu baris dalam pull request anda. Apa sekarang?
Pilih satu jawapan.
Semak
Susun kitaran code scanning, yang pertama di atas.
Langkah pertama di atas. Susun ikut turutan. Guna anak panah, atau seret.
- Hidupkan code scanning
- Buka pull request
- Anda baca amaran dan baiki baris itu
- CodeQL semak kod baru
Anda berjaya!
Kini anda boleh biar CodeQL memburu kod berisiko.
Nak tahu lebih (pilihan)
Pepijat dalam kad detektif tadi dipanggil SQL injection. CodeQL faham banyak bahasa, contohnya JavaScript, Python, Java, Go, C# dan Ruby. Default setup pilih tetapan untuk anda. Advanced setup tambah fail workflow yang anda boleh ubah.
English
Your login page works. The tests pass. But one line lets a trickster read every user’s data. Could you find it in 500 files?
CodeQL is a code detective from GitHub. It turns your code into data. Then it asks questions, like “can typed text reach the database?”
Be the detective. Tap the line that glues typed text into a database question.
CodeQL runs as code scanning. Turn it on. Then GitHub Actions checks your code on pushes and pull requests. Problems show up as alerts on the exact line.
Three guards, three jobs. Who catches what?
CodeQL flags a line in your pull request. What now?
Put the code scanning loop in order, first at the top.
You can now let CodeQL hunt for risky code.
Anda dah siapkan ini. Latihan lagi pun bagus!
Dokumentasi rasmi: About code scanning with CodeQL · About code scanning
Anda dah belajar 25 minit. Rehat sekejap bantu otak anda.
Pecutan selesai! Fokus yang hebat. Regangkan badan seminit?