Skip to content

Rust: Improve FS models - #20270

Merged
geoffw0 merged 19 commits into
github:mainfrom
geoffw0:pathi
Aug 28, 2025
Merged

Rust: Improve FS models#20270
geoffw0 merged 19 commits into
github:mainfrom
geoffw0:pathi

Conversation

@geoffw0

Copy link
Copy Markdown
Contributor

Improve models of the Rust std::fs, async_std::fs and tokio::fs libraries. There are some new sources and summaries, but the main change is probably a significant expansion of path injection sinks.

@geoffw0
geoffw0 requested a review from a team as a code ownerAugust 22, 2025 13:53
CopilotAI review requested due to automatic review settings August 22, 2025 13:53
@geoffw0geoffw0 added the Rust Pull requests that update Rust code label Aug 22, 2025

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

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 improves the modeling of Rust filesystem libraries (std::fs, async_std::fs, and tokio::fs) to enhance path injection detection capabilities. The main improvement is a significant expansion of path injection sinks along with some new sources and summaries.

Key changes:

  • Expanded path injection sink coverage across all three filesystem libraries
  • Added new source and summary models for file operations
  • Enhanced test cases to verify the improved modeling

Reviewed Changes

Copilot reviewed 9 out of 10 changed files in this pull request and generated no comments.

Show a summary per file
FileDescription
rust/ql/test/query-tests/security/CWE-022/src/main.rsUpdated test cases with new path injection scenarios and corrected source annotations
rust/ql/test/query-tests/security/CWE-022/options.ymlAdded tokio and async-std dependencies for testing
rust/ql/test/query-tests/security/CWE-022/TaintedPath.expectedUpdated expected test results reflecting improved path injection detection
rust/ql/test/library-tests/dataflow/sources/test.rsEnhanced filesystem source tests with additional scenarios and path operations
rust/ql/test/library-tests/dataflow/sources/TaintSources.expectedUpdated expected source detection results
rust/ql/lib/codeql/rust/frameworks/tokio/fs.model.ymlAdded comprehensive path injection sinks and canonicalize summaries for tokio::fs
rust/ql/lib/codeql/rust/frameworks/stdlib/fs.model.ymlExpanded path injection sinks and added path manipulation summaries for std::fs
rust/ql/lib/codeql/rust/frameworks/asyncstd/fs.model.ymlNew model file for async-std filesystem operations
rust/ql/lib/change-notes/2025-08-22-fs.mdAdded release note documenting the improvements

@geoffw0
geoffw0 requested a review from a team as a code ownerAugust 22, 2025 15:55
@geoffw0
geoffw0 merged commit e8b7ce4 into github:mainAug 28, 2025
18 checks passed
@geoffw0
geoffw0 deleted the pathi branch June 25, 2026 11:40
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentationRustPull requests that update Rust code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@geoffw0@hvitved