Improvements to CodeQL’s data flow library for C++
Blog post from GitHub
Recent changes to CodeQL's data flow and taint tracking libraries for C++ have been introduced to enhance precision in standard queries and improve the experience for custom query authors. These updates include a shift from a "def-use" pattern to a "use-use" pattern, simplifying query implementation by integrating conditional sanitizers directly into the dataflow graph. Additionally, the new system offers more precise tracking of pointers and indirections, allowing specific identification of tainted data levels, such as those in command-line arguments. Custom query authors can adopt these changes by opting into the new library and adjusting their queries to reflect the nuanced handling of pointers and indirections. The update aims to maintain a high standard of security analysis while ensuring a seamless developer experience.