Skip to content

Rust: Update supported-frameworks.rst and add a few more native-tls models - #22382

Open
geoffw0 wants to merge 4 commits into
github:mainfrom
geoffw0:nativetls
Open

Rust: Update supported-frameworks.rst and add a few more native-tls models#22382
geoffw0 wants to merge 4 commits into
github:mainfrom
geoffw0:nativetls

Conversation

@geoffw0

@geoffw0 geoffw0 commented Aug 19, 2026

Copy link
Copy Markdown
Contributor

I spotted some gaps in supported-frameworks.rst, which motivated (via a Copilot suggestion) a few model improvements as well:

  • axum is supported (sources + sinks).
  • native-tls and async-native-tls are supported (sinks).
  • in the latter case I added a couple of new models for better coverage.

@geoffw0 geoffw0 added the Rust Pull requests that update Rust code label Aug 19, 2026
Copilot AI balanced review requested due to automatic review settings August 19, 2026 13:10
@geoffw0
geoffw0 requested review from a team as code owners August 19, 2026 13:10

Copilot AI 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

Updates Rust framework documentation and expands TLS taint-flow modeling.

Changes:

  • Documents Axum and native TLS crates.
  • Adds native, async-native, and Tokio-native TLS summaries.
  • Adds synchronous native-tls flow coverage.
Show a summary per file
File Description
test.rs Adds native-tls flow test.
TaintSources.expected Updates source expectations.
options.yml Adds native-tls dependency.
InlineFlow.expected Updates flow expectations.
Cargo.lock Records direct dependency.
native-tls.model.yml Adds TLS summaries.
Change note Announces analysis improvements.
supported-frameworks.rst Documents supported Rust crates.

Review details

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

  • Files reviewed: 7/8 changed files
  • Comments generated: 3
  • Review effort level: Balanced

data:
- ["<native_tls::TlsConnector>::connect", "Argument[1]", "ReturnValue.Field[core::result::Result::Ok(0)]", "taint", "manual"]
- ["<async_native_tls::connect::TlsConnector>::connect", "Argument[1]", "ReturnValue.Future.Field[core::result::Result::Ok(0)]", "taint", "manual"]
- ["async_native_tls::connect", "Argument[1]", "ReturnValue.Future.Field[core::result::Result::Ok(0)]", "taint", "manual"]

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

The original Copilot suggested model was async_native_tls::connect::connect, I looked at the crate and decided it probably should be just async_native_tls::connect. Given what you've stated above I'll add a test case to confirm with confidence which version is actually correct.

Comment on lines +15 to +17
- ["<async_native_tls::connect::TlsConnector>::connect", "Argument[1]", "ReturnValue.Future.Field[core::result::Result::Ok(0)]", "taint", "manual"]
- ["async_native_tls::connect", "Argument[1]", "ReturnValue.Future.Field[core::result::Result::Ok(0)]", "taint", "manual"]
- ["<tokio_native_tls::TlsConnector>::connect", "Argument[1]", "ReturnValue.Future.Field[core::result::Result::Ok(0)]", "taint", "manual"]

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

We don't, in general, aim to test every single model individually.

I will add a test for the async_native_tls case as there's a legitimate question over the correct canonical path in that case.

- ["<native_tls::TlsConnector>::connect", "Argument[1]", "ReturnValue.Field[core::result::Result::Ok(0)]", "taint", "manual"]
- ["<async_native_tls::connect::TlsConnector>::connect", "Argument[1]", "ReturnValue.Future.Field[core::result::Result::Ok(0)]", "taint", "manual"]
- ["async_native_tls::connect", "Argument[1]", "ReturnValue.Future.Field[core::result::Result::Ok(0)]", "taint", "manual"]
- ["<tokio_native_tls::TlsConnector>::connect", "Argument[1]", "ReturnValue.Future.Field[core::result::Result::Ok(0)]", "taint", "manual"]

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

That's true, but modelling of tokio_native_tls is rather minimal at the moment (literally just this one model). So I'd rather not claim coverage at this time.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Rust Pull requests that update Rust code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants