ΠΠ°ΡΠΈΡΠΈΡΡ: Π½Π°ΠΏΠΈΡΠ°ΡΡ Π»Π°Π±ΠΎΡΠ°ΡΠΎΡΠ½ΡΡ. ΠΠ΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°ΠΏΠΈΡΠ°ΡΡ 5 ΠΏΡΠ°Π²ΠΈΠ» (ΠΏΠΎΠ΄ 5 CVE), ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π°Ρ
ΠΎΠ΄ΡΡ ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠ΅ cve Π½Π° codeql (Linux Ubuntu 22.04.4, Visual Studio Code). ΠΡΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π° Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΡΠ°ΠΌΠΈ ΠΏΠΎ ΡΠ΅Π±Π΅ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΠΌΠΈ (ΡΠΎ Π΅ΡΡΡ, Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΡΠ°ΠΊ, ΡΡΠΎ ΠΎΠ½ΠΈ ΠΈΡΡΡ ΠΏΠΎ Π½Π°Π·Π²Π°Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ°ΠΌΠΈ cve. ΠΠ΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ taintedflow Π°Π½Π°Π»ΠΈΠ· ΠΈ dataflow Π°Π½Π°Π»ΠΈΠ·). ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ Π² VSCode Π΄Π»Ρ codeql. ΠΡΠΎΠ΅ΠΊΡ Ffmpeg n6.1. Π ΠΏΡΠ°Π²ΠΈΠ»Π°Ρ
Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΌΠ΅Π½ΡΡΠ΅ false-positive ΠΈΠ»ΠΈ ΠΈΡ
Π²ΠΎΠΎΠ±ΡΠ΅ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ. ΠΡΠΈΠΌΠ΅ΡΡ ΠΏΠΎΠΈΡΠΊΠ° ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠ΅ΠΉ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ Π΄Π»Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΏΡΠ°Π²ΠΈΠ» ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Ρ Π½ΠΈΠΆΠ΅. Π‘ΡΡΠ»ΠΊΠ° Π½Π° ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π°: GitHub - github/vscode-codeql-starter: Starter workspace to use with the CodeQL extension for Visual Studio Code. ΠΠ΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°ΠΏΠΈΡΠ°ΡΡ 5 ΠΏΡΠ°Π²ΠΈΠ» (ΠΏΠΎΠ΄ 5 CVE), ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π°Ρ
ΠΎΠ΄ΡΡ ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠ΅ cve Π½Π° codeql (Linux Ubuntu 22.04.4, Visual Studio Code). ΠΡΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π° Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΡΠ°ΠΌΠΈ ΠΏΠΎ ΡΠ΅Π±Π΅ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΠΌΠΈ (ΡΠΎ Π΅ΡΡΡ, Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΡΠ°ΠΊ, ΡΡΠΎ ΠΎΠ½ΠΈ ΠΈΡΡΡ ΠΏΠΎ Π½Π°Π·Π²Π°Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ°ΠΌΠΈ cve. ΠΠ΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ taintedflow Π°Π½Π°Π»ΠΈΠ· ΠΈ dataflow Π°Π½Π°Π»ΠΈΠ·). ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ Π² VSCode Π΄Π»Ρ codeql. ΠΡΠΎΠ΅ΠΊΡ Ffmpeg n6.1. Π ΠΏΡΠ°Π²ΠΈΠ»Π°Ρ
Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΌΠ΅Π½ΡΡΠ΅ false-positive ΠΈΠ»ΠΈ ΠΈΡ
Π²ΠΎΠΎΠ±ΡΠ΅ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ. ΠΡΠΈΠΌΠ΅ΡΡ ΠΏΠΎΠΈΡΠΊΠ° ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠ΅ΠΉ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ Π΄Π»Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΏΡΠ°Π²ΠΈΠ» ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Ρ Π½ΠΈΠΆΠ΅. Π‘ΡΡΠ»ΠΊΠ° Π½Π° ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π°: GitHub - github/vscode-codeql-starter: Starter workspace to use with the CodeQL extension for Visual Studio Code. ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΏΠΎ CodeQL: https://docs.github.com/ru/code-security/codeql-for-vs-code/getting-started-with-codeql-for-vs-code CodeQL CLI: https://github.com/github/codeql-cli-binaries/releases ΠΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π² Visual Studio Code ΡΡΠΎ Π²ΡΡ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ΄Π΅Π»Π°ΡΡ. ΠΠΎΡ Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ: CodeQL extension version: 1.17.1 CodeQL CLI version: 2.20.0 Platform: linux x64 Π’Π°ΠΊΠΆΠ΅, ΠΊΠ°ΠΊ Ρ ΠΏΠΈΡΠ°Π» Π²ΡΡΠ΅, Π½Π΅Π΄Π°Π²Π½ΠΎ Π² CodeQL Π±ΡΠ»ΠΎ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ API. ΠΠΎ ΡΡΠΎΠΉ ΡΡΡΠ»ΠΊΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΠΌΠΈ Π² Taintedflow, Dataflow Π°Π½Π°Π»ΠΈΠ·Π°Ρ
ΠΈΡΠ΄. https://github.blog/changelog/2023-08-14-new-dataflow-api-for-writing-custom-codeql-queries/ ΠΡΡΡ ΡΠ°ΠΊΠΆΠ΅ Π²ΠΈΠ΄Π΅ΠΎ, ΠΏΠΎ ΠΊΠΎΡΠΎΡΠΎΠΌΡ Π»ΠΈΡΠ½ΠΎ Ρ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π» codeql: https://www.youtube.com/watch?v=VrF1RwnJzBk&t=400s ΠΠΎΡ ΡΡΡΠ»ΠΊΠ° Π½Π° ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ: https://github.com/FFmpeg/FFmpeg/tree/n6.1.