Skip to content

Go: Debugging queries #120

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Apr 18, 2025
Merged

Go: Debugging queries #120

merged 3 commits into from
Apr 18, 2025

Conversation

GeekMasher
Copy link
Contributor

@GeekMasher GeekMasher commented Apr 17, 2025

This pull request introduces significant updates to the Go CodeQL library, focusing on debugging and security analysis. Key changes include updates to dependencies, the addition of new query modules for identifying sources and sinks, and improvements to partial path exploration for debugging. These changes enhance the library's ability to detect security vulnerabilities and improve debugging capabilities.

Dependency Updates:

  • Updated versions of dependencies in go/lib/codeql-pack.lock.yml, including codeql/dataflow, codeql/go-all, codeql/typetracking, and others, to ensure compatibility with the latest features and fixes.

New Debugging Features:

  • Sink Analysis:
    • Added AllSinks class in go/lib/ghsl/Sinks.qll to define a comprehensive list of sinks for various security vulnerabilities (e.g., SQL injection, command injection).
    • Introduced go/src/debugging/Sinks.ql query to list all known sinks with their types for debugging purposes.
  • Source Analysis:
    • Added AllSources and LocalSources classes in go/lib/ghsl/Utils.qll to identify remote and local sources.
    • Introduced go/src/debugging/Sources.ql query to list all known sources categorized by threat models.

Partial Path Analysis:

  • Added go/src/debugging/PartialPathsFromSink.ql and go/src/debugging/PartialPathsFromSource.ql queries to enable partial path analysis, helping identify data flow between sources and sinks for debugging purposes. [1] [2]

Suite Configuration:

  • Added go/src/suites/go-debugging.qls to define a debugging suite for the CodeQL queries, focusing on high-precision and debugging-related problems.

@GeekMasher GeekMasher requested review from felickz and Copilot April 17, 2025 09:45
Copy link
Contributor

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR updates several CodeQL dependency versions in the Go lock file to support improved debugging queries.

  • Upgraded codeql/dataflow from 1.1.8 to 2.0.4
  • Upgraded codeql/go-all from 3.0.1 to 4.2.2
  • Upgraded additional CodeQL packages to newer versions
Files not reviewed (8)
  • go/lib/ghsl.qll: Language not supported
  • go/lib/ghsl/Sinks.qll: Language not supported
  • go/lib/ghsl/Utils.qll: Language not supported
  • go/src/debugging/PartialPathsFromSink.ql: Language not supported
  • go/src/debugging/PartialPathsFromSource.ql: Language not supported
  • go/src/debugging/Sinks.ql: Language not supported
  • go/src/debugging/Sources.ql: Language not supported
  • go/src/suites/go-debugging.qls: Language not supported

Copy link
Contributor

@felickz felickz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@GeekMasher GeekMasher merged commit 12fdb1e into main Apr 18, 2025
15 checks passed
@GeekMasher GeekMasher deleted the go/debugging-queries branch April 18, 2025 08:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants