-
Notifications
You must be signed in to change notification settings - Fork 316
Add CodeQL suppression for DefaultAzureCredential use in Production #3542
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
Conversation
There was a problem hiding this 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 adds a CodeQL suppression comment to address a security analysis warning about DefaultAzureCredential instantiation in production code. The change restructures the comment placement to comply with CodeQL's requirement that suppression comments appear on the same line as the flagged code.
- Moved CodeQL suppression comment to the same line as the
DefaultAzureCredentialinstantiation - Added explanatory documentation about CodeQL suppression placement requirements
- Split the credential instantiation and return statement for better code organization
Comments suppressed due to low confidence (1)
src/Microsoft.Data.SqlClient/src/Microsoft/Data/SqlClient/ActiveDirectoryAuthenticationProvider.cs:599
- The variable name 'cred' is too abbreviated and unclear. Consider using a more descriptive name like 'credential' or 'azureCredential' to improve code readability.
DefaultAzureCredential cred = new(defaultAzureCredentialOptions); // CodeQL [SM05137] See above for justification.
- Adjusted CodeQL suppression to meet the strict requirements of where it may appear relative to the flagged code.
1449402 to
f01bd3b
Compare
- Adding catch for macOS socket error to log and ignore.
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #3542 +/- ##
==========================================
+ Coverage 60.32% 64.58% +4.25%
==========================================
Files 270 270
Lines 62098 62110 +12
==========================================
+ Hits 37463 40113 +2650
+ Misses 24635 21997 -2638
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
This will be back-ported to release branches as well? |
|
Yes, we can backport for the ReceiveTimeout change. The CodeQL part is benign on non-default branches AFAIK. |
src/Microsoft.Data.SqlClient/src/Microsoft/Data/SqlClient/ManagedSni/SniTcpHandle.netcore.cs
Show resolved
Hide resolved
…3542) * Task 37261: [S360] [SM05137] DefaultAzureCredential use in Production - Adjusted CodeQL suppression to meet the strict requirements of where it may appear relative to the flagged code. * Task 37261: [S360] [SM05137] DefaultAzureCredential use in Production - Adding catch for macOS socket error to log and ignore.
…3542) * Task 37261: [S360] [SM05137] DefaultAzureCredential use in Production - Adjusted CodeQL suppression to meet the strict requirements of where it may appear relative to the flagged code. * Task 37261: [S360] [SM05137] DefaultAzureCredential use in Production - Adding catch for macOS socket error to log and ignore.
…3542) (#3550) * Task 37261: [S360] [SM05137] DefaultAzureCredential use in Production - Adjusted CodeQL suppression to meet the strict requirements of where it may appear relative to the flagged code. * Task 37261: [S360] [SM05137] DefaultAzureCredential use in Production - Adding catch for macOS socket error to log and ignore.
… CI failures (#3551) * Add CodeQL suppression for DefaultAzureCredential use in Production (#3542) * Task 37261: [S360] [SM05137] DefaultAzureCredential use in Production - Adjusted CodeQL suppression to meet the strict requirements of where it may appear relative to the flagged code. * Task 37261: [S360] [SM05137] DefaultAzureCredential use in Production - Adding catch for macOS socket error to log and ignore. * Fixed SniTcpHandle -> SNITCPHandle class case difference.
…3542) - Adjusted CodeQL suppression to meet the strict requirements of where it may appear relative to the flagged code. - Adding catch for macOS socket error to log and ignore.
…3542) - Adjusted CodeQL suppression to meet the strict requirements of where it may appear relative to the flagged code. - Adding catch for macOS socket error to log and ignore.
* User Story 38467: Backport mac server name fix - Backported part of #3494 and #3591: - Added configurable test jobs timeout, defaulting to 90 minutes. - Reduced generated database names to 96 chars to try to fix macOS test failures. * User Story 38481: Fix unique db object name issues - Fixed the unique name generators to: - Keep max lengths to 30 and 96 characters respectively. - Ensure uniqueness at the start of the names. - Added link to database identifier syntax. * User Story 38481: Fix unique db object name issues - Removed DateOnly tests that aren't supported on 5.1. * Add CodeQL suppression for DefaultAzureCredential use in Production (#3542) - Adjusted CodeQL suppression to meet the strict requirements of where it may appear relative to the flagged code. - Adding catch for macOS socket error to log and ignore. * - Added back some blocks that were removed by cherry-picks. - Added console diagnostics to see when Enclave tables are dropped. * - Fixed typo in code that only gets compiled when building on Windows (eek!) * Tests | Remove hardcoded credentials from ManualTests (#3204) * Initial removal of CertificateUtility.CreateCertificate One test implied that DataTestUtility.AKVUrl would point to an RSA key which aligned with the certificate's private key. Switching this to dynamically generate the key in places. * Hotfix for Azure Key Vault tests * Removed hardcoded references to Azure Key Vault key * Removed hardcoded references to CertificateUtilityWin These were mostly related to generating CSP keys. * Code review changes * Reorder properties and constructors * Move AEConnectionStringProviderWithCspParameters to its own file * Tweak to the AKV token acquisition * Code review Redundant bracket, alphabetised the ManualTesting csproj * Update src/Microsoft.Data.SqlClient/tests/ManualTests/AlwaysEncrypted/TestFixtures/SQLSetupStrategy.cs Let's try @edwardneal's idea Co-authored-by: Edward Neal <55035479+edwardneal@users.noreply.github.com> * Update src/Microsoft.Data.SqlClient/tests/ManualTests/AlwaysEncrypted/TestFixtures/SQLSetupStrategy.cs Co-authored-by: Edward Neal <55035479+edwardneal@users.noreply.github.com> * Fixes as per @edwardneal's suggestions * Fix as per @edwardneal's suggestion * Fix missing `new` Co-authored-by: Edward Neal <55035479+edwardneal@users.noreply.github.com> * Update src/Microsoft.Data.SqlClient/tests/ManualTests/AlwaysEncrypted/TestFixtures/SQLSetupStrategyAzureKeyVault.cs Co-authored-by: Edward Neal <55035479+edwardneal@users.noreply.github.com> * Update src/Microsoft.Data.SqlClient/tests/ManualTests/AlwaysEncrypted/TestFixtures/SQLSetupStrategyAzureKeyVault.cs Co-authored-by: Edward Neal <55035479+edwardneal@users.noreply.github.com> * Address comment that we don't need a CspParameters object as part of the test arguments * Move test arguments into property (the class was only used in a single location) * Cleanup test code * Tweak default provider discovery code to handle edge cases a bit better * Address comment regarding readonly member variables Apply long line chomping * Addressing the last of the comments. --------- Co-authored-by: Edward Neal <55035479+edwardneal@users.noreply.github.com> * Update test utilities target frameworks. Fix compilation issues. * Construct valid X500 distinguished name. * Print rsa key type for debugging. * Clean up net version ifdefs to fix certificate exportability. --------- Co-authored-by: Benjamin Russell <russellben@microsoft.com> Co-authored-by: Edward Neal <55035479+edwardneal@users.noreply.github.com> Co-authored-by: Malcolm Daigle <mdaigle@microsoft.com>
Uh oh!
There was an error while loading. Please reload this page.