From e0034e566f4d77c1c412b298059385b07e6d3619 Mon Sep 17 00:00:00 2001 From: Lindsay Simpkins Date: Wed, 5 Feb 2025 15:01:12 -0500 Subject: [PATCH 1/7] csharp update MaD for HttpRequestMessage and UriBuilder --- csharp/ql/lib/ext/System.Net.Http.model.yml | 2 ++ csharp/ql/lib/ext/System.model.yml | 27 ++++++++++++++ .../dataflow/library/FlowSummaries.expected | 35 +++++++++++++++---- .../library/FlowSummariesFiltered.expected | 35 +++++++++++++++---- 4 files changed, 87 insertions(+), 12 deletions(-) diff --git a/csharp/ql/lib/ext/System.Net.Http.model.yml b/csharp/ql/lib/ext/System.Net.Http.model.yml index 7d4fbf87a575..2becfec11d62 100644 --- a/csharp/ql/lib/ext/System.Net.Http.model.yml +++ b/csharp/ql/lib/ext/System.Net.Http.model.yml @@ -10,6 +10,8 @@ extensions: data: - ["System.Net.Http", "HttpRequestMessage", False, "HttpRequestMessage", "(System.Net.Http.HttpMethod,System.String)", "", "Argument[0]", "Argument[this]", "taint", "manual"] - ["System.Net.Http", "HttpRequestMessage", False, "HttpRequestMessage", "(System.Net.Http.HttpMethod,System.String)", "", "Argument[1]", "Argument[this]", "taint", "manual"] + - ["System.Net.Http", "HttpRequestMessage", False, "HttpRequestMessage", "(System.Net.Http.HttpMethod,System.Uri)", "", "Argument[0]", "Argument[this]", "taint", "manual"] + - ["System.Net.Http", "HttpRequestMessage", False, "HttpRequestMessage", "(System.Net.Http.HttpMethod,System.Uri)", "", "Argument[1]", "Argument[this]", "taint", "manual"] - ["System.Net.Http", "HttpRequestOptions", False, "Add", "(System.Collections.Generic.KeyValuePair)", "", "Argument[0].Property[System.Collections.Generic.KeyValuePair`2.Key]", "Argument[this].Element.Property[System.Collections.Generic.KeyValuePair`2.Key]", "value", "manual"] - ["System.Net.Http", "HttpRequestOptions", False, "Add", "(System.Collections.Generic.KeyValuePair)", "", "Argument[0].Property[System.Collections.Generic.KeyValuePair`2.Value]", "Argument[this].Element.Property[System.Collections.Generic.KeyValuePair`2.Value]", "value", "manual"] - ["System.Net.Http", "MultipartContent", False, "Add", "(System.Net.Http.HttpContent)", "", "Argument[0]", "Argument[this].Element", "value", "manual"] diff --git a/csharp/ql/lib/ext/System.model.yml b/csharp/ql/lib/ext/System.model.yml index 48719f87c4dc..b1fd32a8dd61 100644 --- a/csharp/ql/lib/ext/System.model.yml +++ b/csharp/ql/lib/ext/System.model.yml @@ -784,6 +784,33 @@ extensions: - ["System", "Uri", False, "get_OriginalString", "()", "", "Argument[this]", "ReturnValue", "taint", "manual"] - ["System", "Uri", False, "get_PathAndQuery", "()", "", "Argument[this]", "ReturnValue", "taint", "manual"] - ["System", "Uri", False, "get_Query", "()", "", "Argument[this]", "ReturnValue", "taint", "manual"] + - ["System", "UriBuilder", False, "ToString", "()", "", "Argument[this]", "ReturnValue", "taint", "manual"] + - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String)", "", "Argument[0]", "Argument[this].SyntheticField[System.UriBuilder._uri]", "taint", "manual"] + - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String)", "", "Argument[1]", "Argument[this].SyntheticField[System.UriBuilder._uri]", "taint", "manual"] + - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32)", "", "Argument[0]", "Argument[this].SyntheticField[System.UriBuilder._uri]", "taint", "manual"] + - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32)", "", "Argument[1]", "Argument[this].SyntheticField[System.UriBuilder._uri]", "taint", "manual"] + - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32)", "", "Argument[2]", "Argument[this].SyntheticField[System.UriBuilder._uri]", "taint", "manual"] + - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32,System.String)", "", "Argument[0]", "Argument[this].SyntheticField[System.UriBuilder._uri]", "taint", "manual"] + - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32,System.String)", "", "Argument[1]", "Argument[this].SyntheticField[System.UriBuilder._uri]", "taint", "manual"] + - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32,System.String)", "", "Argument[2]", "Argument[this].SyntheticField[System.UriBuilder._uri]", "taint", "manual"] + - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32,System.String)", "", "Argument[3]", "Argument[this].SyntheticField[System.UriBuilder._uri]", "taint", "manual"] + - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32,System.String,System.String)", "", "Argument[0]", "Argument[this].SyntheticField[System.UriBuilder._uri]", "taint", "manual"] + - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32,System.String,System.String)", "", "Argument[1]", "Argument[this].SyntheticField[System.UriBuilder._uri]", "taint", "manual"] + - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32,System.String,System.String)", "", "Argument[2]", "Argument[this].SyntheticField[System.UriBuilder._uri]", "taint", "manual"] + - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32,System.String,System.String)", "", "Argument[3]", "Argument[this].SyntheticField[System.UriBuilder._uri]", "taint", "manual"] + - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32,System.String,System.String)", "", "Argument[4]", "Argument[this].SyntheticField[System.UriBuilder._uri]", "taint", "manual"] + - ["System", "UriBuilder", False, "get_Fragment", "()", "", "Argument[this]", "ReturnValue", "taint", "manual"] + - ["System", "UriBuilder", False, "get_Host", "()", "", "Argument[this]", "ReturnValue", "taint", "manual"] + - ["System", "UriBuilder", False, "get_Path", "()", "", "Argument[this]", "ReturnValue", "taint", "manual"] + - ["System", "UriBuilder", False, "get_Port", "()", "", "Argument[this]", "ReturnValue", "taint", "manual"] + - ["System", "UriBuilder", False, "get_Query", "()", "", "Argument[this]", "ReturnValue", "taint", "manual"] + - ["System", "UriBuilder", False, "get_Scheme", "()", "", "Argument[this]", "ReturnValue", "taint", "manual"] + - ["System", "UriBuilder", False, "set_Fragment", "(System.String)", "", "Argument[0]", "Argument[this].SyntheticField[System.UriBuilder._uri]", "taint", "manual"] + - ["System", "UriBuilder", False, "set_Host", "(System.String)", "", "Argument[0]", "Argument[this].SyntheticField[System.UriBuilder._uri]", "taint", "manual"] + - ["System", "UriBuilder", False, "set_Path", "(System.String)", "", "Argument[0]", "Argument[this].SyntheticField[System.UriBuilder._uri]", "taint", "manual"] + - ["System", "UriBuilder", False, "set_Port", "(System.Int32)", "", "Argument[0]", "Argument[this].SyntheticField[System.UriBuilder._uri]", "taint", "manual"] + - ["System", "UriBuilder", False, "set_Query", "(System.String)", "", "Argument[0]", "Argument[this].SyntheticField[System.UriBuilder._uri]", "taint", "manual"] + - ["System", "UriBuilder", False, "set_Scheme", "(System.String)", "", "Argument[0]", "Argument[this].SyntheticField[System.UriBuilder._uri]", "taint", "manual"] - ["System", "ValueTuple", False, "Create", "(T1,T2,T3,T4,T5,T6,T7,T8)", "", "Argument[0]", "ReturnValue.Field[System.ValueTuple`8.Item1]", "value", "manual"] - ["System", "ValueTuple", False, "Create", "(T1,T2,T3,T4,T5,T6,T7,T8)", "", "Argument[1]", "ReturnValue.Field[System.ValueTuple`8.Item2]", "value", "manual"] - ["System", "ValueTuple", False, "Create", "(T1,T2,T3,T4,T5,T6,T7,T8)", "", "Argument[2]", "ReturnValue.Field[System.ValueTuple`8.Item3]", "value", "manual"] diff --git a/csharp/ql/test/library-tests/dataflow/library/FlowSummaries.expected b/csharp/ql/test/library-tests/dataflow/library/FlowSummaries.expected index 7fd85f03b050..fe8c44577995 100644 --- a/csharp/ql/test/library-tests/dataflow/library/FlowSummaries.expected +++ b/csharp/ql/test/library-tests/dataflow/library/FlowSummaries.expected @@ -13779,8 +13779,8 @@ summary | System.Net.Http;HttpMethod;get_Method;();Argument[this].SyntheticField[System.Net.Http.HttpMethod._method];ReturnValue;value;dfc-generated | | System.Net.Http;HttpRequestMessage;HttpRequestMessage;(System.Net.Http.HttpMethod,System.String);Argument[0];Argument[this];taint;manual | | System.Net.Http;HttpRequestMessage;HttpRequestMessage;(System.Net.Http.HttpMethod,System.String);Argument[1];Argument[this];taint;manual | -| System.Net.Http;HttpRequestMessage;HttpRequestMessage;(System.Net.Http.HttpMethod,System.Uri);Argument[0];Argument[this].SyntheticField[System.Net.Http.HttpRequestMessage._method];value;dfc-generated | -| System.Net.Http;HttpRequestMessage;HttpRequestMessage;(System.Net.Http.HttpMethod,System.Uri);Argument[1];Argument[this].SyntheticField[System.Net.Http.HttpRequestMessage._requestUri];value;dfc-generated | +| System.Net.Http;HttpRequestMessage;HttpRequestMessage;(System.Net.Http.HttpMethod,System.Uri);Argument[0];Argument[this];taint;manual | +| System.Net.Http;HttpRequestMessage;HttpRequestMessage;(System.Net.Http.HttpMethod,System.Uri);Argument[1];Argument[this];taint;manual | | System.Net.Http;HttpRequestMessage;ToString;();Argument[this].SyntheticField[System.Net.Http.HttpRequestMessage._method];ReturnValue;taint;dfc-generated | | System.Net.Http;HttpRequestMessage;ToString;();Argument[this].SyntheticField[System.Net.Http.HttpRequestMessage._requestUri];ReturnValue;taint;dfc-generated | | System.Net.Http;HttpRequestMessage;get_Properties;();Argument[this].Property[System.Net.Http.HttpRequestMessage.Options];ReturnValue;value;dfc-generated | @@ -22234,13 +22234,36 @@ summary | System;Uri;get_Query;();Argument[this];ReturnValue;taint;manual | | System;Uri;get_Scheme;();Argument[this];ReturnValue;taint;df-generated | | System;Uri;get_UserInfo;();Argument[this];ReturnValue;taint;df-generated | +| System;UriBuilder;ToString;();Argument[this];ReturnValue;taint;manual | | System;UriBuilder;UriBuilder;(System.String);Argument[0];Argument[this].SyntheticField[System.UriBuilder._uri];taint;dfc-generated | -| System;UriBuilder;UriBuilder;(System.String,System.String);Argument[0];Argument[this];taint;df-generated | -| System;UriBuilder;UriBuilder;(System.String,System.String);Argument[1];Argument[this];taint;df-generated | -| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String);Argument[3];Argument[this];taint;df-generated | -| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String,System.String);Argument[4];Argument[this];taint;df-generated | +| System;UriBuilder;UriBuilder;(System.String,System.String);Argument[0];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String);Argument[1];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32);Argument[0];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32);Argument[1];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32);Argument[2];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String);Argument[0];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String);Argument[1];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String);Argument[2];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String);Argument[3];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String,System.String);Argument[0];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String,System.String);Argument[1];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String,System.String);Argument[2];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String,System.String);Argument[3];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String,System.String);Argument[4];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | | System;UriBuilder;UriBuilder;(System.Uri);Argument[0];Argument[this].SyntheticField[System.UriBuilder._uri];value;dfc-generated | +| System;UriBuilder;get_Fragment;();Argument[this];ReturnValue;taint;manual | +| System;UriBuilder;get_Host;();Argument[this];ReturnValue;taint;manual | +| System;UriBuilder;get_Path;();Argument[this];ReturnValue;taint;manual | +| System;UriBuilder;get_Port;();Argument[this];ReturnValue;taint;manual | +| System;UriBuilder;get_Query;();Argument[this];ReturnValue;taint;manual | +| System;UriBuilder;get_Scheme;();Argument[this];ReturnValue;taint;manual | | System;UriBuilder;get_Uri;();Argument[this].SyntheticField[System.UriBuilder._uri];ReturnValue;value;dfc-generated | +| System;UriBuilder;set_Fragment;(System.String);Argument[0];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | +| System;UriBuilder;set_Host;(System.String);Argument[0];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | +| System;UriBuilder;set_Path;(System.String);Argument[0];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | +| System;UriBuilder;set_Port;(System.Int32);Argument[0];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | +| System;UriBuilder;set_Query;(System.String);Argument[0];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | +| System;UriBuilder;set_Scheme;(System.String);Argument[0];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | | System;UriFormatException;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);Argument[this];Argument[0];taint;df-generated | | System;UriParser;GetComponents;(System.Uri,System.UriComponents,System.UriFormat);Argument[0];ReturnValue;taint;df-generated | | System;UriParser;OnNewUri;();Argument[this];ReturnValue;value;dfc-generated | diff --git a/csharp/ql/test/library-tests/dataflow/library/FlowSummariesFiltered.expected b/csharp/ql/test/library-tests/dataflow/library/FlowSummariesFiltered.expected index d40ca375c19c..9480f82e9d99 100644 --- a/csharp/ql/test/library-tests/dataflow/library/FlowSummariesFiltered.expected +++ b/csharp/ql/test/library-tests/dataflow/library/FlowSummariesFiltered.expected @@ -10452,8 +10452,8 @@ | System.Net.Http;HttpMethod;get_Method;();Argument[this].SyntheticField[System.Net.Http.HttpMethod._method];ReturnValue;value;dfc-generated | | System.Net.Http;HttpRequestMessage;HttpRequestMessage;(System.Net.Http.HttpMethod,System.String);Argument[0];Argument[this];taint;manual | | System.Net.Http;HttpRequestMessage;HttpRequestMessage;(System.Net.Http.HttpMethod,System.String);Argument[1];Argument[this];taint;manual | -| System.Net.Http;HttpRequestMessage;HttpRequestMessage;(System.Net.Http.HttpMethod,System.Uri);Argument[0];Argument[this].SyntheticField[System.Net.Http.HttpRequestMessage._method];value;dfc-generated | -| System.Net.Http;HttpRequestMessage;HttpRequestMessage;(System.Net.Http.HttpMethod,System.Uri);Argument[1];Argument[this].SyntheticField[System.Net.Http.HttpRequestMessage._requestUri];value;dfc-generated | +| System.Net.Http;HttpRequestMessage;HttpRequestMessage;(System.Net.Http.HttpMethod,System.Uri);Argument[0];Argument[this];taint;manual | +| System.Net.Http;HttpRequestMessage;HttpRequestMessage;(System.Net.Http.HttpMethod,System.Uri);Argument[1];Argument[this];taint;manual | | System.Net.Http;HttpRequestMessage;ToString;();Argument[this].SyntheticField[System.Net.Http.HttpRequestMessage._method];ReturnValue;taint;dfc-generated | | System.Net.Http;HttpRequestMessage;ToString;();Argument[this].SyntheticField[System.Net.Http.HttpRequestMessage._requestUri];ReturnValue;taint;dfc-generated | | System.Net.Http;HttpRequestMessage;get_Properties;();Argument[this].Property[System.Net.Http.HttpRequestMessage.Options];ReturnValue;value;dfc-generated | @@ -16955,13 +16955,36 @@ | System;Uri;get_Query;();Argument[this];ReturnValue;taint;manual | | System;Uri;get_Scheme;();Argument[this];ReturnValue;taint;df-generated | | System;Uri;get_UserInfo;();Argument[this];ReturnValue;taint;df-generated | +| System;UriBuilder;ToString;();Argument[this];ReturnValue;taint;manual | | System;UriBuilder;UriBuilder;(System.String);Argument[0];Argument[this].SyntheticField[System.UriBuilder._uri];taint;dfc-generated | -| System;UriBuilder;UriBuilder;(System.String,System.String);Argument[0];Argument[this];taint;df-generated | -| System;UriBuilder;UriBuilder;(System.String,System.String);Argument[1];Argument[this];taint;df-generated | -| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String);Argument[3];Argument[this];taint;df-generated | -| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String,System.String);Argument[4];Argument[this];taint;df-generated | +| System;UriBuilder;UriBuilder;(System.String,System.String);Argument[0];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String);Argument[1];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32);Argument[0];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32);Argument[1];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32);Argument[2];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String);Argument[0];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String);Argument[1];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String);Argument[2];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String);Argument[3];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String,System.String);Argument[0];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String,System.String);Argument[1];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String,System.String);Argument[2];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String,System.String);Argument[3];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String,System.String);Argument[4];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | | System;UriBuilder;UriBuilder;(System.Uri);Argument[0];Argument[this].SyntheticField[System.UriBuilder._uri];value;dfc-generated | +| System;UriBuilder;get_Fragment;();Argument[this];ReturnValue;taint;manual | +| System;UriBuilder;get_Host;();Argument[this];ReturnValue;taint;manual | +| System;UriBuilder;get_Path;();Argument[this];ReturnValue;taint;manual | +| System;UriBuilder;get_Port;();Argument[this];ReturnValue;taint;manual | +| System;UriBuilder;get_Query;();Argument[this];ReturnValue;taint;manual | +| System;UriBuilder;get_Scheme;();Argument[this];ReturnValue;taint;manual | | System;UriBuilder;get_Uri;();Argument[this].SyntheticField[System.UriBuilder._uri];ReturnValue;value;dfc-generated | +| System;UriBuilder;set_Fragment;(System.String);Argument[0];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | +| System;UriBuilder;set_Host;(System.String);Argument[0];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | +| System;UriBuilder;set_Path;(System.String);Argument[0];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | +| System;UriBuilder;set_Port;(System.Int32);Argument[0];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | +| System;UriBuilder;set_Query;(System.String);Argument[0];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | +| System;UriBuilder;set_Scheme;(System.String);Argument[0];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | | System;UriParser;GetComponents;(System.Uri,System.UriComponents,System.UriFormat);Argument[0];ReturnValue;taint;df-generated | | System;UriParser;OnNewUri;();Argument[this];ReturnValue;value;dfc-generated | | System;UriParser;Register;(System.UriParser,System.String,System.Int32);Argument[1];Argument[0];taint;df-generated | From 6f2832401c7f0cf9cf32a0789b12446a72793a18 Mon Sep 17 00:00:00 2001 From: Lindsay Simpkins Date: Wed, 5 Feb 2025 16:37:53 -0500 Subject: [PATCH 2/7] csharp MaD add change note --- ...et.http.httprequestmessage-and-system.uribuilder-models.md | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 csharp/ql/lib/change-notes/2025-02-05-update-system.net.http.httprequestmessage-and-system.uribuilder-models.md diff --git a/csharp/ql/lib/change-notes/2025-02-05-update-system.net.http.httprequestmessage-and-system.uribuilder-models.md b/csharp/ql/lib/change-notes/2025-02-05-update-system.net.http.httprequestmessage-and-system.uribuilder-models.md new file mode 100644 index 000000000000..df0c3f15af4d --- /dev/null +++ b/csharp/ql/lib/change-notes/2025-02-05-update-system.net.http.httprequestmessage-and-system.uribuilder-models.md @@ -0,0 +1,4 @@ +--- +category: minorAnalysis +--- +* The models for `System.Net.Http.HttpRequestMessage` and `System.UriBuilder` have been modified to better model the flow of tainted URIs. \ No newline at end of file From 011f889588080413c82901ed7134795de34764c2 Mon Sep 17 00:00:00 2001 From: Lindsay Simpkins Date: Fri, 7 Feb 2025 16:01:35 -0500 Subject: [PATCH 3/7] csharp MaD UriBuilder update model --- csharp/ql/lib/ext/System.model.yml | 71 +++++++++++++++++++----------- 1 file changed, 45 insertions(+), 26 deletions(-) diff --git a/csharp/ql/lib/ext/System.model.yml b/csharp/ql/lib/ext/System.model.yml index b1fd32a8dd61..9f9159af1700 100644 --- a/csharp/ql/lib/ext/System.model.yml +++ b/csharp/ql/lib/ext/System.model.yml @@ -785,32 +785,51 @@ extensions: - ["System", "Uri", False, "get_PathAndQuery", "()", "", "Argument[this]", "ReturnValue", "taint", "manual"] - ["System", "Uri", False, "get_Query", "()", "", "Argument[this]", "ReturnValue", "taint", "manual"] - ["System", "UriBuilder", False, "ToString", "()", "", "Argument[this]", "ReturnValue", "taint", "manual"] - - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String)", "", "Argument[0]", "Argument[this].SyntheticField[System.UriBuilder._uri]", "taint", "manual"] - - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String)", "", "Argument[1]", "Argument[this].SyntheticField[System.UriBuilder._uri]", "taint", "manual"] - - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32)", "", "Argument[0]", "Argument[this].SyntheticField[System.UriBuilder._uri]", "taint", "manual"] - - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32)", "", "Argument[1]", "Argument[this].SyntheticField[System.UriBuilder._uri]", "taint", "manual"] - - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32)", "", "Argument[2]", "Argument[this].SyntheticField[System.UriBuilder._uri]", "taint", "manual"] - - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32,System.String)", "", "Argument[0]", "Argument[this].SyntheticField[System.UriBuilder._uri]", "taint", "manual"] - - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32,System.String)", "", "Argument[1]", "Argument[this].SyntheticField[System.UriBuilder._uri]", "taint", "manual"] - - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32,System.String)", "", "Argument[2]", "Argument[this].SyntheticField[System.UriBuilder._uri]", "taint", "manual"] - - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32,System.String)", "", "Argument[3]", "Argument[this].SyntheticField[System.UriBuilder._uri]", "taint", "manual"] - - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32,System.String,System.String)", "", "Argument[0]", "Argument[this].SyntheticField[System.UriBuilder._uri]", "taint", "manual"] - - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32,System.String,System.String)", "", "Argument[1]", "Argument[this].SyntheticField[System.UriBuilder._uri]", "taint", "manual"] - - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32,System.String,System.String)", "", "Argument[2]", "Argument[this].SyntheticField[System.UriBuilder._uri]", "taint", "manual"] - - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32,System.String,System.String)", "", "Argument[3]", "Argument[this].SyntheticField[System.UriBuilder._uri]", "taint", "manual"] - - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32,System.String,System.String)", "", "Argument[4]", "Argument[this].SyntheticField[System.UriBuilder._uri]", "taint", "manual"] - - ["System", "UriBuilder", False, "get_Fragment", "()", "", "Argument[this]", "ReturnValue", "taint", "manual"] - - ["System", "UriBuilder", False, "get_Host", "()", "", "Argument[this]", "ReturnValue", "taint", "manual"] - - ["System", "UriBuilder", False, "get_Path", "()", "", "Argument[this]", "ReturnValue", "taint", "manual"] - - ["System", "UriBuilder", False, "get_Port", "()", "", "Argument[this]", "ReturnValue", "taint", "manual"] - - ["System", "UriBuilder", False, "get_Query", "()", "", "Argument[this]", "ReturnValue", "taint", "manual"] - - ["System", "UriBuilder", False, "get_Scheme", "()", "", "Argument[this]", "ReturnValue", "taint", "manual"] - - ["System", "UriBuilder", False, "set_Fragment", "(System.String)", "", "Argument[0]", "Argument[this].SyntheticField[System.UriBuilder._uri]", "taint", "manual"] - - ["System", "UriBuilder", False, "set_Host", "(System.String)", "", "Argument[0]", "Argument[this].SyntheticField[System.UriBuilder._uri]", "taint", "manual"] - - ["System", "UriBuilder", False, "set_Path", "(System.String)", "", "Argument[0]", "Argument[this].SyntheticField[System.UriBuilder._uri]", "taint", "manual"] - - ["System", "UriBuilder", False, "set_Port", "(System.Int32)", "", "Argument[0]", "Argument[this].SyntheticField[System.UriBuilder._uri]", "taint", "manual"] - - ["System", "UriBuilder", False, "set_Query", "(System.String)", "", "Argument[0]", "Argument[this].SyntheticField[System.UriBuilder._uri]", "taint", "manual"] - - ["System", "UriBuilder", False, "set_Scheme", "(System.String)", "", "Argument[0]", "Argument[this].SyntheticField[System.UriBuilder._uri]", "taint", "manual"] + - ["System", "UriBuilder", False, "UriBuilder", "(System.String)", "", "Argument[0]", "Argument[this].Property[System.UriBuilder.Scheme]", "taint", "manual"] + - ["System", "UriBuilder", False, "UriBuilder", "(System.String)", "", "Argument[0]", "Argument[this].Property[System.UriBuilder.Host]", "taint", "manual"] + - ["System", "UriBuilder", False, "UriBuilder", "(System.String)", "", "Argument[0]", "Argument[this].Property[System.UriBuilder.Port]", "taint", "manual"] + - ["System", "UriBuilder", False, "UriBuilder", "(System.String)", "", "Argument[0]", "Argument[this].Property[System.UriBuilder.Path]", "taint", "manual"] + - ["System", "UriBuilder", False, "UriBuilder", "(System.String)", "", "Argument[0]", "Argument[this].Property[System.UriBuilder.Query]", "taint", "manual"] + - ["System", "UriBuilder", False, "UriBuilder", "(System.String)", "", "Argument[0]", "Argument[this].Property[System.UriBuilder.Fragment]", "taint", "manual"] + - ["System", "UriBuilder", False, "UriBuilder", "(System.Uri)", "", "Argument[0]", "Argument[this].Property[System.UriBuilder.Scheme]", "taint", "manual"] + - ["System", "UriBuilder", False, "UriBuilder", "(System.Uri)", "", "Argument[0]", "Argument[this].Property[System.UriBuilder.Host]", "taint", "manual"] + - ["System", "UriBuilder", False, "UriBuilder", "(System.Uri)", "", "Argument[0]", "Argument[this].Property[System.UriBuilder.Port]", "taint", "manual"] + - ["System", "UriBuilder", False, "UriBuilder", "(System.Uri)", "", "Argument[0]", "Argument[this].Property[System.UriBuilder.Path]", "taint", "manual"] + - ["System", "UriBuilder", False, "UriBuilder", "(System.Uri)", "", "Argument[0]", "Argument[this].Property[System.UriBuilder.Query]", "taint", "manual"] + - ["System", "UriBuilder", False, "UriBuilder", "(System.Uri)", "", "Argument[0]", "Argument[this].Property[System.UriBuilder.Fragment]", "taint", "manual"] + - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String)", "", "Argument[0]", "Argument[this].Property[System.UriBuilder.Scheme]", "taint", "manual"] + - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String)", "", "Argument[1]", "Argument[this].Property[System.UriBuilder.Host]", "taint", "manual"] + - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32)", "", "Argument[0]", "Argument[this].Property[System.UriBuilder.Scheme]", "taint", "manual"] + - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32)", "", "Argument[1]", "Argument[this].Property[System.UriBuilder.Host]", "taint", "manual"] + - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32)", "", "Argument[2]", "Argument[this].Property[System.UriBuilder.Port]", "taint", "manual"] + - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32,System.String)", "", "Argument[0]", "Argument[this].Property[System.UriBuilder.Scheme]", "taint", "manual"] + - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32,System.String)", "", "Argument[1]", "Argument[this].Property[System.UriBuilder.Host]", "taint", "manual"] + - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32,System.String)", "", "Argument[2]", "Argument[this].Property[System.UriBuilder.Port]", "taint", "manual"] + - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32,System.String)", "", "Argument[3]", "Argument[this].Property[System.UriBuilder.Path]", "taint", "manual"] + - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32,System.String,System.String)", "", "Argument[0]", "Argument[this].Property[System.UriBuilder.Scheme]", "taint", "manual"] + - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32,System.String,System.String)", "", "Argument[1]", "Argument[this].Property[System.UriBuilder.Host]", "taint", "manual"] + - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32,System.String,System.String)", "", "Argument[2]", "Argument[this].Property[System.UriBuilder.Port]", "taint", "manual"] + - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32,System.String,System.String)", "", "Argument[3]", "Argument[this].Property[System.UriBuilder.Path]", "taint", "manual"] + - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32,System.String,System.String)", "", "Argument[4]", "Argument[this].Property[System.UriBuilder.Query]", "taint", "manual"] + - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32,System.String,System.String)", "", "Argument[4]", "Argument[this].Property[System.UriBuilder.Fragment]", "taint", "manual"] + - ["System", "UriBuilder", False, "get_Fragment", "()", "", "Argument[this].Property[System.UriBuilder.Fragment]", "ReturnValue", "taint", "manual"] + - ["System", "UriBuilder", False, "get_Host", "()", "", "Argument[this].Property[System.UriBuilder.Host]", "ReturnValue", "taint", "manual"] + - ["System", "UriBuilder", False, "get_Path", "()", "", "Argument[this].Property[System.UriBuilder.Path]", "ReturnValue", "taint", "manual"] + - ["System", "UriBuilder", False, "get_Port", "()", "", "Argument[this].Property[System.UriBuilder.Port]", "ReturnValue", "taint", "manual"] + - ["System", "UriBuilder", False, "get_Query", "()", "", "Argument[this].Property[System.UriBuilder.Query]", "ReturnValue", "taint", "manual"] + - ["System", "UriBuilder", False, "get_Scheme", "()", "", "Argument[this].Property[System.UriBuilder.Scheme]", "ReturnValue", "taint", "manual"] + - ["System", "UriBuilder", False, "get_Uri", "()", "", "Argument[this].Property[System.UriBuilder.Scheme]", "ReturnValue", "taint", "manual"] + - ["System", "UriBuilder", False, "get_Uri", "()", "", "Argument[this].Property[System.UriBuilder.Host]", "ReturnValue", "taint", "manual"] + - ["System", "UriBuilder", False, "get_Uri", "()", "", "Argument[this].Property[System.UriBuilder.Port]", "ReturnValue", "taint", "manual"] + - ["System", "UriBuilder", False, "get_Uri", "()", "", "Argument[this].Property[System.UriBuilder.Path]", "ReturnValue", "taint", "manual"] + - ["System", "UriBuilder", False, "get_Uri", "()", "", "Argument[this].Property[System.UriBuilder.Query]", "ReturnValue", "taint", "manual"] + - ["System", "UriBuilder", False, "get_Uri", "()", "", "Argument[this].Property[System.UriBuilder.Fragment]", "ReturnValue", "taint", "manual"] + - ["System", "UriBuilder", False, "set_Fragment", "(System.String)", "", "Argument[0]", "Argument[this].Property[System.UriBuilder.Fragment]", "taint", "manual"] + - ["System", "UriBuilder", False, "set_Host", "(System.String)", "", "Argument[0]", "Argument[this].Property[System.UriBuilder.Host]", "taint", "manual"] + - ["System", "UriBuilder", False, "set_Path", "(System.String)", "", "Argument[0]", "Argument[this].Property[System.UriBuilder.Path]", "taint", "manual"] + - ["System", "UriBuilder", False, "set_Port", "(System.Int32)", "", "Argument[0]", "Argument[this].Property[System.UriBuilder.Port]", "taint", "manual"] + - ["System", "UriBuilder", False, "set_Query", "(System.String)", "", "Argument[0]", "Argument[this].Property[System.UriBuilder.Query]", "taint", "manual"] + - ["System", "UriBuilder", False, "set_Scheme", "(System.String)", "", "Argument[0]", "Argument[this].Property[System.UriBuilder.Scheme]", "taint", "manual"] - ["System", "ValueTuple", False, "Create", "(T1,T2,T3,T4,T5,T6,T7,T8)", "", "Argument[0]", "ReturnValue.Field[System.ValueTuple`8.Item1]", "value", "manual"] - ["System", "ValueTuple", False, "Create", "(T1,T2,T3,T4,T5,T6,T7,T8)", "", "Argument[1]", "ReturnValue.Field[System.ValueTuple`8.Item2]", "value", "manual"] - ["System", "ValueTuple", False, "Create", "(T1,T2,T3,T4,T5,T6,T7,T8)", "", "Argument[2]", "ReturnValue.Field[System.ValueTuple`8.Item3]", "value", "manual"] From 3c9e41d9b93315e69ae6b20afb8fe69e6a2ae208 Mon Sep 17 00:00:00 2001 From: Lindsay Simpkins Date: Fri, 7 Feb 2025 16:08:26 -0500 Subject: [PATCH 4/7] csharp MaD UriBuilder update tests --- .../dataflow/library/FlowSummaries.expected | 74 +++++++++++-------- .../library/FlowSummariesFiltered.expected | 74 +++++++++++-------- 2 files changed, 90 insertions(+), 58 deletions(-) diff --git a/csharp/ql/test/library-tests/dataflow/library/FlowSummaries.expected b/csharp/ql/test/library-tests/dataflow/library/FlowSummaries.expected index fe8c44577995..209087474b53 100644 --- a/csharp/ql/test/library-tests/dataflow/library/FlowSummaries.expected +++ b/csharp/ql/test/library-tests/dataflow/library/FlowSummaries.expected @@ -22235,35 +22235,51 @@ summary | System;Uri;get_Scheme;();Argument[this];ReturnValue;taint;df-generated | | System;Uri;get_UserInfo;();Argument[this];ReturnValue;taint;df-generated | | System;UriBuilder;ToString;();Argument[this];ReturnValue;taint;manual | -| System;UriBuilder;UriBuilder;(System.String);Argument[0];Argument[this].SyntheticField[System.UriBuilder._uri];taint;dfc-generated | -| System;UriBuilder;UriBuilder;(System.String,System.String);Argument[0];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | -| System;UriBuilder;UriBuilder;(System.String,System.String);Argument[1];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | -| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32);Argument[0];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | -| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32);Argument[1];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | -| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32);Argument[2];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | -| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String);Argument[0];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | -| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String);Argument[1];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | -| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String);Argument[2];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | -| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String);Argument[3];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | -| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String,System.String);Argument[0];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | -| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String,System.String);Argument[1];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | -| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String,System.String);Argument[2];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | -| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String,System.String);Argument[3];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | -| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String,System.String);Argument[4];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | -| System;UriBuilder;UriBuilder;(System.Uri);Argument[0];Argument[this].SyntheticField[System.UriBuilder._uri];value;dfc-generated | -| System;UriBuilder;get_Fragment;();Argument[this];ReturnValue;taint;manual | -| System;UriBuilder;get_Host;();Argument[this];ReturnValue;taint;manual | -| System;UriBuilder;get_Path;();Argument[this];ReturnValue;taint;manual | -| System;UriBuilder;get_Port;();Argument[this];ReturnValue;taint;manual | -| System;UriBuilder;get_Query;();Argument[this];ReturnValue;taint;manual | -| System;UriBuilder;get_Scheme;();Argument[this];ReturnValue;taint;manual | -| System;UriBuilder;get_Uri;();Argument[this].SyntheticField[System.UriBuilder._uri];ReturnValue;value;dfc-generated | -| System;UriBuilder;set_Fragment;(System.String);Argument[0];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | -| System;UriBuilder;set_Host;(System.String);Argument[0];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | -| System;UriBuilder;set_Path;(System.String);Argument[0];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | -| System;UriBuilder;set_Port;(System.Int32);Argument[0];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | -| System;UriBuilder;set_Query;(System.String);Argument[0];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | -| System;UriBuilder;set_Scheme;(System.String);Argument[0];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | +| System;UriBuilder;UriBuilder;(System.String);Argument[0];Argument[this].Property[System.UriBuilder.Fragment];taint;manual | +| System;UriBuilder;UriBuilder;(System.String);Argument[0];Argument[this].Property[System.UriBuilder.Host];taint;manual | +| System;UriBuilder;UriBuilder;(System.String);Argument[0];Argument[this].Property[System.UriBuilder.Path];taint;manual | +| System;UriBuilder;UriBuilder;(System.String);Argument[0];Argument[this].Property[System.UriBuilder.Port];taint;manual | +| System;UriBuilder;UriBuilder;(System.String);Argument[0];Argument[this].Property[System.UriBuilder.Query];taint;manual | +| System;UriBuilder;UriBuilder;(System.String);Argument[0];Argument[this].Property[System.UriBuilder.Scheme];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String);Argument[0];Argument[this].Property[System.UriBuilder.Scheme];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String);Argument[1];Argument[this].Property[System.UriBuilder.Host];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32);Argument[0];Argument[this].Property[System.UriBuilder.Scheme];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32);Argument[1];Argument[this].Property[System.UriBuilder.Host];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32);Argument[2];Argument[this].Property[System.UriBuilder.Port];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String);Argument[0];Argument[this].Property[System.UriBuilder.Scheme];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String);Argument[1];Argument[this].Property[System.UriBuilder.Host];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String);Argument[2];Argument[this].Property[System.UriBuilder.Port];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String);Argument[3];Argument[this].Property[System.UriBuilder.Path];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String,System.String);Argument[0];Argument[this].Property[System.UriBuilder.Scheme];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String,System.String);Argument[1];Argument[this].Property[System.UriBuilder.Host];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String,System.String);Argument[2];Argument[this].Property[System.UriBuilder.Port];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String,System.String);Argument[3];Argument[this].Property[System.UriBuilder.Path];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String,System.String);Argument[4];Argument[this].Property[System.UriBuilder.Fragment];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String,System.String);Argument[4];Argument[this].Property[System.UriBuilder.Query];taint;manual | +| System;UriBuilder;UriBuilder;(System.Uri);Argument[0];Argument[this].Property[System.UriBuilder.Fragment];taint;manual | +| System;UriBuilder;UriBuilder;(System.Uri);Argument[0];Argument[this].Property[System.UriBuilder.Host];taint;manual | +| System;UriBuilder;UriBuilder;(System.Uri);Argument[0];Argument[this].Property[System.UriBuilder.Path];taint;manual | +| System;UriBuilder;UriBuilder;(System.Uri);Argument[0];Argument[this].Property[System.UriBuilder.Port];taint;manual | +| System;UriBuilder;UriBuilder;(System.Uri);Argument[0];Argument[this].Property[System.UriBuilder.Query];taint;manual | +| System;UriBuilder;UriBuilder;(System.Uri);Argument[0];Argument[this].Property[System.UriBuilder.Scheme];taint;manual | +| System;UriBuilder;get_Fragment;();Argument[this].Property[System.UriBuilder.Fragment];ReturnValue;taint;manual | +| System;UriBuilder;get_Host;();Argument[this].Property[System.UriBuilder.Host];ReturnValue;taint;manual | +| System;UriBuilder;get_Path;();Argument[this].Property[System.UriBuilder.Path];ReturnValue;taint;manual | +| System;UriBuilder;get_Port;();Argument[this].Property[System.UriBuilder.Port];ReturnValue;taint;manual | +| System;UriBuilder;get_Query;();Argument[this].Property[System.UriBuilder.Query];ReturnValue;taint;manual | +| System;UriBuilder;get_Scheme;();Argument[this].Property[System.UriBuilder.Scheme];ReturnValue;taint;manual | +| System;UriBuilder;get_Uri;();Argument[this].Property[System.UriBuilder.Fragment];ReturnValue;taint;manual | +| System;UriBuilder;get_Uri;();Argument[this].Property[System.UriBuilder.Host];ReturnValue;taint;manual | +| System;UriBuilder;get_Uri;();Argument[this].Property[System.UriBuilder.Path];ReturnValue;taint;manual | +| System;UriBuilder;get_Uri;();Argument[this].Property[System.UriBuilder.Port];ReturnValue;taint;manual | +| System;UriBuilder;get_Uri;();Argument[this].Property[System.UriBuilder.Query];ReturnValue;taint;manual | +| System;UriBuilder;get_Uri;();Argument[this].Property[System.UriBuilder.Scheme];ReturnValue;taint;manual | +| System;UriBuilder;set_Fragment;(System.String);Argument[0];Argument[this].Property[System.UriBuilder.Fragment];taint;manual | +| System;UriBuilder;set_Host;(System.String);Argument[0];Argument[this].Property[System.UriBuilder.Host];taint;manual | +| System;UriBuilder;set_Path;(System.String);Argument[0];Argument[this].Property[System.UriBuilder.Path];taint;manual | +| System;UriBuilder;set_Port;(System.Int32);Argument[0];Argument[this].Property[System.UriBuilder.Port];taint;manual | +| System;UriBuilder;set_Query;(System.String);Argument[0];Argument[this].Property[System.UriBuilder.Query];taint;manual | +| System;UriBuilder;set_Scheme;(System.String);Argument[0];Argument[this].Property[System.UriBuilder.Scheme];taint;manual | | System;UriFormatException;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);Argument[this];Argument[0];taint;df-generated | | System;UriParser;GetComponents;(System.Uri,System.UriComponents,System.UriFormat);Argument[0];ReturnValue;taint;df-generated | | System;UriParser;OnNewUri;();Argument[this];ReturnValue;value;dfc-generated | diff --git a/csharp/ql/test/library-tests/dataflow/library/FlowSummariesFiltered.expected b/csharp/ql/test/library-tests/dataflow/library/FlowSummariesFiltered.expected index 9480f82e9d99..25acc9d59082 100644 --- a/csharp/ql/test/library-tests/dataflow/library/FlowSummariesFiltered.expected +++ b/csharp/ql/test/library-tests/dataflow/library/FlowSummariesFiltered.expected @@ -16956,35 +16956,51 @@ | System;Uri;get_Scheme;();Argument[this];ReturnValue;taint;df-generated | | System;Uri;get_UserInfo;();Argument[this];ReturnValue;taint;df-generated | | System;UriBuilder;ToString;();Argument[this];ReturnValue;taint;manual | -| System;UriBuilder;UriBuilder;(System.String);Argument[0];Argument[this].SyntheticField[System.UriBuilder._uri];taint;dfc-generated | -| System;UriBuilder;UriBuilder;(System.String,System.String);Argument[0];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | -| System;UriBuilder;UriBuilder;(System.String,System.String);Argument[1];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | -| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32);Argument[0];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | -| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32);Argument[1];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | -| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32);Argument[2];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | -| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String);Argument[0];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | -| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String);Argument[1];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | -| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String);Argument[2];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | -| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String);Argument[3];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | -| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String,System.String);Argument[0];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | -| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String,System.String);Argument[1];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | -| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String,System.String);Argument[2];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | -| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String,System.String);Argument[3];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | -| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String,System.String);Argument[4];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | -| System;UriBuilder;UriBuilder;(System.Uri);Argument[0];Argument[this].SyntheticField[System.UriBuilder._uri];value;dfc-generated | -| System;UriBuilder;get_Fragment;();Argument[this];ReturnValue;taint;manual | -| System;UriBuilder;get_Host;();Argument[this];ReturnValue;taint;manual | -| System;UriBuilder;get_Path;();Argument[this];ReturnValue;taint;manual | -| System;UriBuilder;get_Port;();Argument[this];ReturnValue;taint;manual | -| System;UriBuilder;get_Query;();Argument[this];ReturnValue;taint;manual | -| System;UriBuilder;get_Scheme;();Argument[this];ReturnValue;taint;manual | -| System;UriBuilder;get_Uri;();Argument[this].SyntheticField[System.UriBuilder._uri];ReturnValue;value;dfc-generated | -| System;UriBuilder;set_Fragment;(System.String);Argument[0];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | -| System;UriBuilder;set_Host;(System.String);Argument[0];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | -| System;UriBuilder;set_Path;(System.String);Argument[0];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | -| System;UriBuilder;set_Port;(System.Int32);Argument[0];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | -| System;UriBuilder;set_Query;(System.String);Argument[0];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | -| System;UriBuilder;set_Scheme;(System.String);Argument[0];Argument[this].SyntheticField[System.UriBuilder._uri];taint;manual | +| System;UriBuilder;UriBuilder;(System.String);Argument[0];Argument[this].Property[System.UriBuilder.Fragment];taint;manual | +| System;UriBuilder;UriBuilder;(System.String);Argument[0];Argument[this].Property[System.UriBuilder.Host];taint;manual | +| System;UriBuilder;UriBuilder;(System.String);Argument[0];Argument[this].Property[System.UriBuilder.Path];taint;manual | +| System;UriBuilder;UriBuilder;(System.String);Argument[0];Argument[this].Property[System.UriBuilder.Port];taint;manual | +| System;UriBuilder;UriBuilder;(System.String);Argument[0];Argument[this].Property[System.UriBuilder.Query];taint;manual | +| System;UriBuilder;UriBuilder;(System.String);Argument[0];Argument[this].Property[System.UriBuilder.Scheme];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String);Argument[0];Argument[this].Property[System.UriBuilder.Scheme];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String);Argument[1];Argument[this].Property[System.UriBuilder.Host];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32);Argument[0];Argument[this].Property[System.UriBuilder.Scheme];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32);Argument[1];Argument[this].Property[System.UriBuilder.Host];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32);Argument[2];Argument[this].Property[System.UriBuilder.Port];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String);Argument[0];Argument[this].Property[System.UriBuilder.Scheme];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String);Argument[1];Argument[this].Property[System.UriBuilder.Host];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String);Argument[2];Argument[this].Property[System.UriBuilder.Port];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String);Argument[3];Argument[this].Property[System.UriBuilder.Path];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String,System.String);Argument[0];Argument[this].Property[System.UriBuilder.Scheme];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String,System.String);Argument[1];Argument[this].Property[System.UriBuilder.Host];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String,System.String);Argument[2];Argument[this].Property[System.UriBuilder.Port];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String,System.String);Argument[3];Argument[this].Property[System.UriBuilder.Path];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String,System.String);Argument[4];Argument[this].Property[System.UriBuilder.Fragment];taint;manual | +| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String,System.String);Argument[4];Argument[this].Property[System.UriBuilder.Query];taint;manual | +| System;UriBuilder;UriBuilder;(System.Uri);Argument[0];Argument[this].Property[System.UriBuilder.Fragment];taint;manual | +| System;UriBuilder;UriBuilder;(System.Uri);Argument[0];Argument[this].Property[System.UriBuilder.Host];taint;manual | +| System;UriBuilder;UriBuilder;(System.Uri);Argument[0];Argument[this].Property[System.UriBuilder.Path];taint;manual | +| System;UriBuilder;UriBuilder;(System.Uri);Argument[0];Argument[this].Property[System.UriBuilder.Port];taint;manual | +| System;UriBuilder;UriBuilder;(System.Uri);Argument[0];Argument[this].Property[System.UriBuilder.Query];taint;manual | +| System;UriBuilder;UriBuilder;(System.Uri);Argument[0];Argument[this].Property[System.UriBuilder.Scheme];taint;manual | +| System;UriBuilder;get_Fragment;();Argument[this].Property[System.UriBuilder.Fragment];ReturnValue;taint;manual | +| System;UriBuilder;get_Host;();Argument[this].Property[System.UriBuilder.Host];ReturnValue;taint;manual | +| System;UriBuilder;get_Path;();Argument[this].Property[System.UriBuilder.Path];ReturnValue;taint;manual | +| System;UriBuilder;get_Port;();Argument[this].Property[System.UriBuilder.Port];ReturnValue;taint;manual | +| System;UriBuilder;get_Query;();Argument[this].Property[System.UriBuilder.Query];ReturnValue;taint;manual | +| System;UriBuilder;get_Scheme;();Argument[this].Property[System.UriBuilder.Scheme];ReturnValue;taint;manual | +| System;UriBuilder;get_Uri;();Argument[this].Property[System.UriBuilder.Fragment];ReturnValue;taint;manual | +| System;UriBuilder;get_Uri;();Argument[this].Property[System.UriBuilder.Host];ReturnValue;taint;manual | +| System;UriBuilder;get_Uri;();Argument[this].Property[System.UriBuilder.Path];ReturnValue;taint;manual | +| System;UriBuilder;get_Uri;();Argument[this].Property[System.UriBuilder.Port];ReturnValue;taint;manual | +| System;UriBuilder;get_Uri;();Argument[this].Property[System.UriBuilder.Query];ReturnValue;taint;manual | +| System;UriBuilder;get_Uri;();Argument[this].Property[System.UriBuilder.Scheme];ReturnValue;taint;manual | +| System;UriBuilder;set_Fragment;(System.String);Argument[0];Argument[this].Property[System.UriBuilder.Fragment];taint;manual | +| System;UriBuilder;set_Host;(System.String);Argument[0];Argument[this].Property[System.UriBuilder.Host];taint;manual | +| System;UriBuilder;set_Path;(System.String);Argument[0];Argument[this].Property[System.UriBuilder.Path];taint;manual | +| System;UriBuilder;set_Port;(System.Int32);Argument[0];Argument[this].Property[System.UriBuilder.Port];taint;manual | +| System;UriBuilder;set_Query;(System.String);Argument[0];Argument[this].Property[System.UriBuilder.Query];taint;manual | +| System;UriBuilder;set_Scheme;(System.String);Argument[0];Argument[this].Property[System.UriBuilder.Scheme];taint;manual | | System;UriParser;GetComponents;(System.Uri,System.UriComponents,System.UriFormat);Argument[0];ReturnValue;taint;df-generated | | System;UriParser;OnNewUri;();Argument[this];ReturnValue;value;dfc-generated | | System;UriParser;Register;(System.UriParser,System.String,System.Int32);Argument[1];Argument[0];taint;df-generated | From 04269f956958f56ea1528975f3f69a91687c2d7f Mon Sep 17 00:00:00 2001 From: Lindsay Simpkins Date: Fri, 7 Feb 2025 19:42:31 -0500 Subject: [PATCH 5/7] csharp MaD UriBuilder switch to shorthand notation --- csharp/ql/lib/ext/System.model.yml | 26 ++++--------------- .../dataflow/library/FlowSummaries.expected | 7 ++++- .../library/FlowSummariesFiltered.expected | 7 ++++- 3 files changed, 17 insertions(+), 23 deletions(-) diff --git a/csharp/ql/lib/ext/System.model.yml b/csharp/ql/lib/ext/System.model.yml index 9f9159af1700..b5d57934c145 100644 --- a/csharp/ql/lib/ext/System.model.yml +++ b/csharp/ql/lib/ext/System.model.yml @@ -784,19 +784,9 @@ extensions: - ["System", "Uri", False, "get_OriginalString", "()", "", "Argument[this]", "ReturnValue", "taint", "manual"] - ["System", "Uri", False, "get_PathAndQuery", "()", "", "Argument[this]", "ReturnValue", "taint", "manual"] - ["System", "Uri", False, "get_Query", "()", "", "Argument[this]", "ReturnValue", "taint", "manual"] - - ["System", "UriBuilder", False, "ToString", "()", "", "Argument[this]", "ReturnValue", "taint", "manual"] - - ["System", "UriBuilder", False, "UriBuilder", "(System.String)", "", "Argument[0]", "Argument[this].Property[System.UriBuilder.Scheme]", "taint", "manual"] - - ["System", "UriBuilder", False, "UriBuilder", "(System.String)", "", "Argument[0]", "Argument[this].Property[System.UriBuilder.Host]", "taint", "manual"] - - ["System", "UriBuilder", False, "UriBuilder", "(System.String)", "", "Argument[0]", "Argument[this].Property[System.UriBuilder.Port]", "taint", "manual"] - - ["System", "UriBuilder", False, "UriBuilder", "(System.String)", "", "Argument[0]", "Argument[this].Property[System.UriBuilder.Path]", "taint", "manual"] - - ["System", "UriBuilder", False, "UriBuilder", "(System.String)", "", "Argument[0]", "Argument[this].Property[System.UriBuilder.Query]", "taint", "manual"] - - ["System", "UriBuilder", False, "UriBuilder", "(System.String)", "", "Argument[0]", "Argument[this].Property[System.UriBuilder.Fragment]", "taint", "manual"] - - ["System", "UriBuilder", False, "UriBuilder", "(System.Uri)", "", "Argument[0]", "Argument[this].Property[System.UriBuilder.Scheme]", "taint", "manual"] - - ["System", "UriBuilder", False, "UriBuilder", "(System.Uri)", "", "Argument[0]", "Argument[this].Property[System.UriBuilder.Host]", "taint", "manual"] - - ["System", "UriBuilder", False, "UriBuilder", "(System.Uri)", "", "Argument[0]", "Argument[this].Property[System.UriBuilder.Port]", "taint", "manual"] - - ["System", "UriBuilder", False, "UriBuilder", "(System.Uri)", "", "Argument[0]", "Argument[this].Property[System.UriBuilder.Path]", "taint", "manual"] - - ["System", "UriBuilder", False, "UriBuilder", "(System.Uri)", "", "Argument[0]", "Argument[this].Property[System.UriBuilder.Query]", "taint", "manual"] - - ["System", "UriBuilder", False, "UriBuilder", "(System.Uri)", "", "Argument[0]", "Argument[this].Property[System.UriBuilder.Fragment]", "taint", "manual"] + - ["System", "UriBuilder", False, "ToString", "()", "", "Argument[this].Property[System.UriBuilder.Scheme,System.UriBuilder.Host,System.UriBuilder.Port,System.UriBuilder.Path,System.UriBuilder.Query,System.UriBuilder.Fragment]", "ReturnValue", "taint", "manual"] + - ["System", "UriBuilder", False, "UriBuilder", "(System.String)", "", "Argument[0]", "Argument[this].Property[System.UriBuilder.Scheme,System.UriBuilder.Host,System.UriBuilder.Port,System.UriBuilder.Path,System.UriBuilder.Query,System.UriBuilder.Fragment]", "taint", "manual"] + - ["System", "UriBuilder", False, "UriBuilder", "(System.Uri)", "", "Argument[0]", "Argument[this].Property[System.UriBuilder.Scheme,System.UriBuilder.Host,System.UriBuilder.Port,System.UriBuilder.Path,System.UriBuilder.Query,System.UriBuilder.Fragment]", "taint", "manual"] - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String)", "", "Argument[0]", "Argument[this].Property[System.UriBuilder.Scheme]", "taint", "manual"] - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String)", "", "Argument[1]", "Argument[this].Property[System.UriBuilder.Host]", "taint", "manual"] - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32)", "", "Argument[0]", "Argument[this].Property[System.UriBuilder.Scheme]", "taint", "manual"] @@ -810,20 +800,14 @@ extensions: - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32,System.String,System.String)", "", "Argument[1]", "Argument[this].Property[System.UriBuilder.Host]", "taint", "manual"] - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32,System.String,System.String)", "", "Argument[2]", "Argument[this].Property[System.UriBuilder.Port]", "taint", "manual"] - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32,System.String,System.String)", "", "Argument[3]", "Argument[this].Property[System.UriBuilder.Path]", "taint", "manual"] - - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32,System.String,System.String)", "", "Argument[4]", "Argument[this].Property[System.UriBuilder.Query]", "taint", "manual"] - - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32,System.String,System.String)", "", "Argument[4]", "Argument[this].Property[System.UriBuilder.Fragment]", "taint", "manual"] + - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32,System.String,System.String)", "", "Argument[4]", "Argument[this].Property[System.UriBuilder.Query,System.UriBuilder.Fragment]", "taint", "manual"] - ["System", "UriBuilder", False, "get_Fragment", "()", "", "Argument[this].Property[System.UriBuilder.Fragment]", "ReturnValue", "taint", "manual"] - ["System", "UriBuilder", False, "get_Host", "()", "", "Argument[this].Property[System.UriBuilder.Host]", "ReturnValue", "taint", "manual"] - ["System", "UriBuilder", False, "get_Path", "()", "", "Argument[this].Property[System.UriBuilder.Path]", "ReturnValue", "taint", "manual"] - ["System", "UriBuilder", False, "get_Port", "()", "", "Argument[this].Property[System.UriBuilder.Port]", "ReturnValue", "taint", "manual"] - ["System", "UriBuilder", False, "get_Query", "()", "", "Argument[this].Property[System.UriBuilder.Query]", "ReturnValue", "taint", "manual"] - ["System", "UriBuilder", False, "get_Scheme", "()", "", "Argument[this].Property[System.UriBuilder.Scheme]", "ReturnValue", "taint", "manual"] - - ["System", "UriBuilder", False, "get_Uri", "()", "", "Argument[this].Property[System.UriBuilder.Scheme]", "ReturnValue", "taint", "manual"] - - ["System", "UriBuilder", False, "get_Uri", "()", "", "Argument[this].Property[System.UriBuilder.Host]", "ReturnValue", "taint", "manual"] - - ["System", "UriBuilder", False, "get_Uri", "()", "", "Argument[this].Property[System.UriBuilder.Port]", "ReturnValue", "taint", "manual"] - - ["System", "UriBuilder", False, "get_Uri", "()", "", "Argument[this].Property[System.UriBuilder.Path]", "ReturnValue", "taint", "manual"] - - ["System", "UriBuilder", False, "get_Uri", "()", "", "Argument[this].Property[System.UriBuilder.Query]", "ReturnValue", "taint", "manual"] - - ["System", "UriBuilder", False, "get_Uri", "()", "", "Argument[this].Property[System.UriBuilder.Fragment]", "ReturnValue", "taint", "manual"] + - ["System", "UriBuilder", False, "get_Uri", "()", "", "Argument[this].Property[System.UriBuilder.Scheme,System.UriBuilder.Host,System.UriBuilder.Port,System.UriBuilder.Path,System.UriBuilder.Query,System.UriBuilder.Fragment]", "ReturnValue", "taint", "manual"] - ["System", "UriBuilder", False, "set_Fragment", "(System.String)", "", "Argument[0]", "Argument[this].Property[System.UriBuilder.Fragment]", "taint", "manual"] - ["System", "UriBuilder", False, "set_Host", "(System.String)", "", "Argument[0]", "Argument[this].Property[System.UriBuilder.Host]", "taint", "manual"] - ["System", "UriBuilder", False, "set_Path", "(System.String)", "", "Argument[0]", "Argument[this].Property[System.UriBuilder.Path]", "taint", "manual"] diff --git a/csharp/ql/test/library-tests/dataflow/library/FlowSummaries.expected b/csharp/ql/test/library-tests/dataflow/library/FlowSummaries.expected index 209087474b53..f8491b9ce278 100644 --- a/csharp/ql/test/library-tests/dataflow/library/FlowSummaries.expected +++ b/csharp/ql/test/library-tests/dataflow/library/FlowSummaries.expected @@ -22234,7 +22234,12 @@ summary | System;Uri;get_Query;();Argument[this];ReturnValue;taint;manual | | System;Uri;get_Scheme;();Argument[this];ReturnValue;taint;df-generated | | System;Uri;get_UserInfo;();Argument[this];ReturnValue;taint;df-generated | -| System;UriBuilder;ToString;();Argument[this];ReturnValue;taint;manual | +| System;UriBuilder;ToString;();Argument[this].Property[System.UriBuilder.Fragment];ReturnValue;taint;manual | +| System;UriBuilder;ToString;();Argument[this].Property[System.UriBuilder.Host];ReturnValue;taint;manual | +| System;UriBuilder;ToString;();Argument[this].Property[System.UriBuilder.Path];ReturnValue;taint;manual | +| System;UriBuilder;ToString;();Argument[this].Property[System.UriBuilder.Port];ReturnValue;taint;manual | +| System;UriBuilder;ToString;();Argument[this].Property[System.UriBuilder.Query];ReturnValue;taint;manual | +| System;UriBuilder;ToString;();Argument[this].Property[System.UriBuilder.Scheme];ReturnValue;taint;manual | | System;UriBuilder;UriBuilder;(System.String);Argument[0];Argument[this].Property[System.UriBuilder.Fragment];taint;manual | | System;UriBuilder;UriBuilder;(System.String);Argument[0];Argument[this].Property[System.UriBuilder.Host];taint;manual | | System;UriBuilder;UriBuilder;(System.String);Argument[0];Argument[this].Property[System.UriBuilder.Path];taint;manual | diff --git a/csharp/ql/test/library-tests/dataflow/library/FlowSummariesFiltered.expected b/csharp/ql/test/library-tests/dataflow/library/FlowSummariesFiltered.expected index 25acc9d59082..ff69bd3c6c95 100644 --- a/csharp/ql/test/library-tests/dataflow/library/FlowSummariesFiltered.expected +++ b/csharp/ql/test/library-tests/dataflow/library/FlowSummariesFiltered.expected @@ -16955,7 +16955,12 @@ | System;Uri;get_Query;();Argument[this];ReturnValue;taint;manual | | System;Uri;get_Scheme;();Argument[this];ReturnValue;taint;df-generated | | System;Uri;get_UserInfo;();Argument[this];ReturnValue;taint;df-generated | -| System;UriBuilder;ToString;();Argument[this];ReturnValue;taint;manual | +| System;UriBuilder;ToString;();Argument[this].Property[System.UriBuilder.Fragment];ReturnValue;taint;manual | +| System;UriBuilder;ToString;();Argument[this].Property[System.UriBuilder.Host];ReturnValue;taint;manual | +| System;UriBuilder;ToString;();Argument[this].Property[System.UriBuilder.Path];ReturnValue;taint;manual | +| System;UriBuilder;ToString;();Argument[this].Property[System.UriBuilder.Port];ReturnValue;taint;manual | +| System;UriBuilder;ToString;();Argument[this].Property[System.UriBuilder.Query];ReturnValue;taint;manual | +| System;UriBuilder;ToString;();Argument[this].Property[System.UriBuilder.Scheme];ReturnValue;taint;manual | | System;UriBuilder;UriBuilder;(System.String);Argument[0];Argument[this].Property[System.UriBuilder.Fragment];taint;manual | | System;UriBuilder;UriBuilder;(System.String);Argument[0];Argument[this].Property[System.UriBuilder.Host];taint;manual | | System;UriBuilder;UriBuilder;(System.String);Argument[0];Argument[this].Property[System.UriBuilder.Path];taint;manual | From 513a39b9f16997bb5da5c3bbc502495e6edd21b8 Mon Sep 17 00:00:00 2001 From: Lindsay Simpkins Date: Mon, 10 Feb 2025 15:18:22 -0500 Subject: [PATCH 6/7] csharp MaD UriBuilder remove unnecessary getters/setters --- csharp/ql/lib/ext/System.model.yml | 12 ------------ .../dataflow/library/FlowSummaries.expected | 12 ------------ .../dataflow/library/FlowSummariesFiltered.expected | 12 ------------ 3 files changed, 36 deletions(-) diff --git a/csharp/ql/lib/ext/System.model.yml b/csharp/ql/lib/ext/System.model.yml index b5d57934c145..d1578513c001 100644 --- a/csharp/ql/lib/ext/System.model.yml +++ b/csharp/ql/lib/ext/System.model.yml @@ -801,19 +801,7 @@ extensions: - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32,System.String,System.String)", "", "Argument[2]", "Argument[this].Property[System.UriBuilder.Port]", "taint", "manual"] - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32,System.String,System.String)", "", "Argument[3]", "Argument[this].Property[System.UriBuilder.Path]", "taint", "manual"] - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32,System.String,System.String)", "", "Argument[4]", "Argument[this].Property[System.UriBuilder.Query,System.UriBuilder.Fragment]", "taint", "manual"] - - ["System", "UriBuilder", False, "get_Fragment", "()", "", "Argument[this].Property[System.UriBuilder.Fragment]", "ReturnValue", "taint", "manual"] - - ["System", "UriBuilder", False, "get_Host", "()", "", "Argument[this].Property[System.UriBuilder.Host]", "ReturnValue", "taint", "manual"] - - ["System", "UriBuilder", False, "get_Path", "()", "", "Argument[this].Property[System.UriBuilder.Path]", "ReturnValue", "taint", "manual"] - - ["System", "UriBuilder", False, "get_Port", "()", "", "Argument[this].Property[System.UriBuilder.Port]", "ReturnValue", "taint", "manual"] - - ["System", "UriBuilder", False, "get_Query", "()", "", "Argument[this].Property[System.UriBuilder.Query]", "ReturnValue", "taint", "manual"] - - ["System", "UriBuilder", False, "get_Scheme", "()", "", "Argument[this].Property[System.UriBuilder.Scheme]", "ReturnValue", "taint", "manual"] - ["System", "UriBuilder", False, "get_Uri", "()", "", "Argument[this].Property[System.UriBuilder.Scheme,System.UriBuilder.Host,System.UriBuilder.Port,System.UriBuilder.Path,System.UriBuilder.Query,System.UriBuilder.Fragment]", "ReturnValue", "taint", "manual"] - - ["System", "UriBuilder", False, "set_Fragment", "(System.String)", "", "Argument[0]", "Argument[this].Property[System.UriBuilder.Fragment]", "taint", "manual"] - - ["System", "UriBuilder", False, "set_Host", "(System.String)", "", "Argument[0]", "Argument[this].Property[System.UriBuilder.Host]", "taint", "manual"] - - ["System", "UriBuilder", False, "set_Path", "(System.String)", "", "Argument[0]", "Argument[this].Property[System.UriBuilder.Path]", "taint", "manual"] - - ["System", "UriBuilder", False, "set_Port", "(System.Int32)", "", "Argument[0]", "Argument[this].Property[System.UriBuilder.Port]", "taint", "manual"] - - ["System", "UriBuilder", False, "set_Query", "(System.String)", "", "Argument[0]", "Argument[this].Property[System.UriBuilder.Query]", "taint", "manual"] - - ["System", "UriBuilder", False, "set_Scheme", "(System.String)", "", "Argument[0]", "Argument[this].Property[System.UriBuilder.Scheme]", "taint", "manual"] - ["System", "ValueTuple", False, "Create", "(T1,T2,T3,T4,T5,T6,T7,T8)", "", "Argument[0]", "ReturnValue.Field[System.ValueTuple`8.Item1]", "value", "manual"] - ["System", "ValueTuple", False, "Create", "(T1,T2,T3,T4,T5,T6,T7,T8)", "", "Argument[1]", "ReturnValue.Field[System.ValueTuple`8.Item2]", "value", "manual"] - ["System", "ValueTuple", False, "Create", "(T1,T2,T3,T4,T5,T6,T7,T8)", "", "Argument[2]", "ReturnValue.Field[System.ValueTuple`8.Item3]", "value", "manual"] diff --git a/csharp/ql/test/library-tests/dataflow/library/FlowSummaries.expected b/csharp/ql/test/library-tests/dataflow/library/FlowSummaries.expected index f8491b9ce278..72df95c2251a 100644 --- a/csharp/ql/test/library-tests/dataflow/library/FlowSummaries.expected +++ b/csharp/ql/test/library-tests/dataflow/library/FlowSummaries.expected @@ -22267,24 +22267,12 @@ summary | System;UriBuilder;UriBuilder;(System.Uri);Argument[0];Argument[this].Property[System.UriBuilder.Port];taint;manual | | System;UriBuilder;UriBuilder;(System.Uri);Argument[0];Argument[this].Property[System.UriBuilder.Query];taint;manual | | System;UriBuilder;UriBuilder;(System.Uri);Argument[0];Argument[this].Property[System.UriBuilder.Scheme];taint;manual | -| System;UriBuilder;get_Fragment;();Argument[this].Property[System.UriBuilder.Fragment];ReturnValue;taint;manual | -| System;UriBuilder;get_Host;();Argument[this].Property[System.UriBuilder.Host];ReturnValue;taint;manual | -| System;UriBuilder;get_Path;();Argument[this].Property[System.UriBuilder.Path];ReturnValue;taint;manual | -| System;UriBuilder;get_Port;();Argument[this].Property[System.UriBuilder.Port];ReturnValue;taint;manual | -| System;UriBuilder;get_Query;();Argument[this].Property[System.UriBuilder.Query];ReturnValue;taint;manual | -| System;UriBuilder;get_Scheme;();Argument[this].Property[System.UriBuilder.Scheme];ReturnValue;taint;manual | | System;UriBuilder;get_Uri;();Argument[this].Property[System.UriBuilder.Fragment];ReturnValue;taint;manual | | System;UriBuilder;get_Uri;();Argument[this].Property[System.UriBuilder.Host];ReturnValue;taint;manual | | System;UriBuilder;get_Uri;();Argument[this].Property[System.UriBuilder.Path];ReturnValue;taint;manual | | System;UriBuilder;get_Uri;();Argument[this].Property[System.UriBuilder.Port];ReturnValue;taint;manual | | System;UriBuilder;get_Uri;();Argument[this].Property[System.UriBuilder.Query];ReturnValue;taint;manual | | System;UriBuilder;get_Uri;();Argument[this].Property[System.UriBuilder.Scheme];ReturnValue;taint;manual | -| System;UriBuilder;set_Fragment;(System.String);Argument[0];Argument[this].Property[System.UriBuilder.Fragment];taint;manual | -| System;UriBuilder;set_Host;(System.String);Argument[0];Argument[this].Property[System.UriBuilder.Host];taint;manual | -| System;UriBuilder;set_Path;(System.String);Argument[0];Argument[this].Property[System.UriBuilder.Path];taint;manual | -| System;UriBuilder;set_Port;(System.Int32);Argument[0];Argument[this].Property[System.UriBuilder.Port];taint;manual | -| System;UriBuilder;set_Query;(System.String);Argument[0];Argument[this].Property[System.UriBuilder.Query];taint;manual | -| System;UriBuilder;set_Scheme;(System.String);Argument[0];Argument[this].Property[System.UriBuilder.Scheme];taint;manual | | System;UriFormatException;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);Argument[this];Argument[0];taint;df-generated | | System;UriParser;GetComponents;(System.Uri,System.UriComponents,System.UriFormat);Argument[0];ReturnValue;taint;df-generated | | System;UriParser;OnNewUri;();Argument[this];ReturnValue;value;dfc-generated | diff --git a/csharp/ql/test/library-tests/dataflow/library/FlowSummariesFiltered.expected b/csharp/ql/test/library-tests/dataflow/library/FlowSummariesFiltered.expected index ff69bd3c6c95..887a1abad1b8 100644 --- a/csharp/ql/test/library-tests/dataflow/library/FlowSummariesFiltered.expected +++ b/csharp/ql/test/library-tests/dataflow/library/FlowSummariesFiltered.expected @@ -16988,24 +16988,12 @@ | System;UriBuilder;UriBuilder;(System.Uri);Argument[0];Argument[this].Property[System.UriBuilder.Port];taint;manual | | System;UriBuilder;UriBuilder;(System.Uri);Argument[0];Argument[this].Property[System.UriBuilder.Query];taint;manual | | System;UriBuilder;UriBuilder;(System.Uri);Argument[0];Argument[this].Property[System.UriBuilder.Scheme];taint;manual | -| System;UriBuilder;get_Fragment;();Argument[this].Property[System.UriBuilder.Fragment];ReturnValue;taint;manual | -| System;UriBuilder;get_Host;();Argument[this].Property[System.UriBuilder.Host];ReturnValue;taint;manual | -| System;UriBuilder;get_Path;();Argument[this].Property[System.UriBuilder.Path];ReturnValue;taint;manual | -| System;UriBuilder;get_Port;();Argument[this].Property[System.UriBuilder.Port];ReturnValue;taint;manual | -| System;UriBuilder;get_Query;();Argument[this].Property[System.UriBuilder.Query];ReturnValue;taint;manual | -| System;UriBuilder;get_Scheme;();Argument[this].Property[System.UriBuilder.Scheme];ReturnValue;taint;manual | | System;UriBuilder;get_Uri;();Argument[this].Property[System.UriBuilder.Fragment];ReturnValue;taint;manual | | System;UriBuilder;get_Uri;();Argument[this].Property[System.UriBuilder.Host];ReturnValue;taint;manual | | System;UriBuilder;get_Uri;();Argument[this].Property[System.UriBuilder.Path];ReturnValue;taint;manual | | System;UriBuilder;get_Uri;();Argument[this].Property[System.UriBuilder.Port];ReturnValue;taint;manual | | System;UriBuilder;get_Uri;();Argument[this].Property[System.UriBuilder.Query];ReturnValue;taint;manual | | System;UriBuilder;get_Uri;();Argument[this].Property[System.UriBuilder.Scheme];ReturnValue;taint;manual | -| System;UriBuilder;set_Fragment;(System.String);Argument[0];Argument[this].Property[System.UriBuilder.Fragment];taint;manual | -| System;UriBuilder;set_Host;(System.String);Argument[0];Argument[this].Property[System.UriBuilder.Host];taint;manual | -| System;UriBuilder;set_Path;(System.String);Argument[0];Argument[this].Property[System.UriBuilder.Path];taint;manual | -| System;UriBuilder;set_Port;(System.Int32);Argument[0];Argument[this].Property[System.UriBuilder.Port];taint;manual | -| System;UriBuilder;set_Query;(System.String);Argument[0];Argument[this].Property[System.UriBuilder.Query];taint;manual | -| System;UriBuilder;set_Scheme;(System.String);Argument[0];Argument[this].Property[System.UriBuilder.Scheme];taint;manual | | System;UriParser;GetComponents;(System.Uri,System.UriComponents,System.UriFormat);Argument[0];ReturnValue;taint;df-generated | | System;UriParser;OnNewUri;();Argument[this];ReturnValue;value;dfc-generated | | System;UriParser;Register;(System.UriParser,System.String,System.Int32);Argument[1];Argument[0];taint;df-generated | From 05434804ba0fe302c07f2785631a9823e4ea2f90 Mon Sep 17 00:00:00 2001 From: Lindsay Simpkins Date: Mon, 10 Feb 2025 17:48:10 -0500 Subject: [PATCH 7/7] csharp update MaD UriBuilder --- csharp/ql/lib/ext/System.model.yml | 4 ++-- .../library-tests/dataflow/library/FlowSummaries.expected | 4 ++++ .../dataflow/library/FlowSummariesFiltered.expected | 4 ++++ 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/csharp/ql/lib/ext/System.model.yml b/csharp/ql/lib/ext/System.model.yml index d1578513c001..5e94dfcbf083 100644 --- a/csharp/ql/lib/ext/System.model.yml +++ b/csharp/ql/lib/ext/System.model.yml @@ -784,7 +784,7 @@ extensions: - ["System", "Uri", False, "get_OriginalString", "()", "", "Argument[this]", "ReturnValue", "taint", "manual"] - ["System", "Uri", False, "get_PathAndQuery", "()", "", "Argument[this]", "ReturnValue", "taint", "manual"] - ["System", "Uri", False, "get_Query", "()", "", "Argument[this]", "ReturnValue", "taint", "manual"] - - ["System", "UriBuilder", False, "ToString", "()", "", "Argument[this].Property[System.UriBuilder.Scheme,System.UriBuilder.Host,System.UriBuilder.Port,System.UriBuilder.Path,System.UriBuilder.Query,System.UriBuilder.Fragment]", "ReturnValue", "taint", "manual"] + - ["System", "UriBuilder", False, "ToString", "()", "", "Argument[this].Property[System.UriBuilder.Scheme,System.UriBuilder.UserName,System.UriBuilder.Password,System.UriBuilder.Host,System.UriBuilder.Port,System.UriBuilder.Path,System.UriBuilder.Query,System.UriBuilder.Fragment]", "ReturnValue", "taint", "manual"] - ["System", "UriBuilder", False, "UriBuilder", "(System.String)", "", "Argument[0]", "Argument[this].Property[System.UriBuilder.Scheme,System.UriBuilder.Host,System.UriBuilder.Port,System.UriBuilder.Path,System.UriBuilder.Query,System.UriBuilder.Fragment]", "taint", "manual"] - ["System", "UriBuilder", False, "UriBuilder", "(System.Uri)", "", "Argument[0]", "Argument[this].Property[System.UriBuilder.Scheme,System.UriBuilder.Host,System.UriBuilder.Port,System.UriBuilder.Path,System.UriBuilder.Query,System.UriBuilder.Fragment]", "taint", "manual"] - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String)", "", "Argument[0]", "Argument[this].Property[System.UriBuilder.Scheme]", "taint", "manual"] @@ -801,7 +801,7 @@ extensions: - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32,System.String,System.String)", "", "Argument[2]", "Argument[this].Property[System.UriBuilder.Port]", "taint", "manual"] - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32,System.String,System.String)", "", "Argument[3]", "Argument[this].Property[System.UriBuilder.Path]", "taint", "manual"] - ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32,System.String,System.String)", "", "Argument[4]", "Argument[this].Property[System.UriBuilder.Query,System.UriBuilder.Fragment]", "taint", "manual"] - - ["System", "UriBuilder", False, "get_Uri", "()", "", "Argument[this].Property[System.UriBuilder.Scheme,System.UriBuilder.Host,System.UriBuilder.Port,System.UriBuilder.Path,System.UriBuilder.Query,System.UriBuilder.Fragment]", "ReturnValue", "taint", "manual"] + - ["System", "UriBuilder", False, "get_Uri", "()", "", "Argument[this].Property[System.UriBuilder.Scheme,System.UriBuilder.UserName,System.UriBuilder.Password,System.UriBuilder.Host,System.UriBuilder.Port,System.UriBuilder.Path,System.UriBuilder.Query,System.UriBuilder.Fragment]", "ReturnValue", "taint", "manual"] - ["System", "ValueTuple", False, "Create", "(T1,T2,T3,T4,T5,T6,T7,T8)", "", "Argument[0]", "ReturnValue.Field[System.ValueTuple`8.Item1]", "value", "manual"] - ["System", "ValueTuple", False, "Create", "(T1,T2,T3,T4,T5,T6,T7,T8)", "", "Argument[1]", "ReturnValue.Field[System.ValueTuple`8.Item2]", "value", "manual"] - ["System", "ValueTuple", False, "Create", "(T1,T2,T3,T4,T5,T6,T7,T8)", "", "Argument[2]", "ReturnValue.Field[System.ValueTuple`8.Item3]", "value", "manual"] diff --git a/csharp/ql/test/library-tests/dataflow/library/FlowSummaries.expected b/csharp/ql/test/library-tests/dataflow/library/FlowSummaries.expected index 72df95c2251a..987b8acd28e8 100644 --- a/csharp/ql/test/library-tests/dataflow/library/FlowSummaries.expected +++ b/csharp/ql/test/library-tests/dataflow/library/FlowSummaries.expected @@ -22236,10 +22236,12 @@ summary | System;Uri;get_UserInfo;();Argument[this];ReturnValue;taint;df-generated | | System;UriBuilder;ToString;();Argument[this].Property[System.UriBuilder.Fragment];ReturnValue;taint;manual | | System;UriBuilder;ToString;();Argument[this].Property[System.UriBuilder.Host];ReturnValue;taint;manual | +| System;UriBuilder;ToString;();Argument[this].Property[System.UriBuilder.Password];ReturnValue;taint;manual | | System;UriBuilder;ToString;();Argument[this].Property[System.UriBuilder.Path];ReturnValue;taint;manual | | System;UriBuilder;ToString;();Argument[this].Property[System.UriBuilder.Port];ReturnValue;taint;manual | | System;UriBuilder;ToString;();Argument[this].Property[System.UriBuilder.Query];ReturnValue;taint;manual | | System;UriBuilder;ToString;();Argument[this].Property[System.UriBuilder.Scheme];ReturnValue;taint;manual | +| System;UriBuilder;ToString;();Argument[this].Property[System.UriBuilder.UserName];ReturnValue;taint;manual | | System;UriBuilder;UriBuilder;(System.String);Argument[0];Argument[this].Property[System.UriBuilder.Fragment];taint;manual | | System;UriBuilder;UriBuilder;(System.String);Argument[0];Argument[this].Property[System.UriBuilder.Host];taint;manual | | System;UriBuilder;UriBuilder;(System.String);Argument[0];Argument[this].Property[System.UriBuilder.Path];taint;manual | @@ -22269,10 +22271,12 @@ summary | System;UriBuilder;UriBuilder;(System.Uri);Argument[0];Argument[this].Property[System.UriBuilder.Scheme];taint;manual | | System;UriBuilder;get_Uri;();Argument[this].Property[System.UriBuilder.Fragment];ReturnValue;taint;manual | | System;UriBuilder;get_Uri;();Argument[this].Property[System.UriBuilder.Host];ReturnValue;taint;manual | +| System;UriBuilder;get_Uri;();Argument[this].Property[System.UriBuilder.Password];ReturnValue;taint;manual | | System;UriBuilder;get_Uri;();Argument[this].Property[System.UriBuilder.Path];ReturnValue;taint;manual | | System;UriBuilder;get_Uri;();Argument[this].Property[System.UriBuilder.Port];ReturnValue;taint;manual | | System;UriBuilder;get_Uri;();Argument[this].Property[System.UriBuilder.Query];ReturnValue;taint;manual | | System;UriBuilder;get_Uri;();Argument[this].Property[System.UriBuilder.Scheme];ReturnValue;taint;manual | +| System;UriBuilder;get_Uri;();Argument[this].Property[System.UriBuilder.UserName];ReturnValue;taint;manual | | System;UriFormatException;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);Argument[this];Argument[0];taint;df-generated | | System;UriParser;GetComponents;(System.Uri,System.UriComponents,System.UriFormat);Argument[0];ReturnValue;taint;df-generated | | System;UriParser;OnNewUri;();Argument[this];ReturnValue;value;dfc-generated | diff --git a/csharp/ql/test/library-tests/dataflow/library/FlowSummariesFiltered.expected b/csharp/ql/test/library-tests/dataflow/library/FlowSummariesFiltered.expected index 887a1abad1b8..f59f94239a25 100644 --- a/csharp/ql/test/library-tests/dataflow/library/FlowSummariesFiltered.expected +++ b/csharp/ql/test/library-tests/dataflow/library/FlowSummariesFiltered.expected @@ -16957,10 +16957,12 @@ | System;Uri;get_UserInfo;();Argument[this];ReturnValue;taint;df-generated | | System;UriBuilder;ToString;();Argument[this].Property[System.UriBuilder.Fragment];ReturnValue;taint;manual | | System;UriBuilder;ToString;();Argument[this].Property[System.UriBuilder.Host];ReturnValue;taint;manual | +| System;UriBuilder;ToString;();Argument[this].Property[System.UriBuilder.Password];ReturnValue;taint;manual | | System;UriBuilder;ToString;();Argument[this].Property[System.UriBuilder.Path];ReturnValue;taint;manual | | System;UriBuilder;ToString;();Argument[this].Property[System.UriBuilder.Port];ReturnValue;taint;manual | | System;UriBuilder;ToString;();Argument[this].Property[System.UriBuilder.Query];ReturnValue;taint;manual | | System;UriBuilder;ToString;();Argument[this].Property[System.UriBuilder.Scheme];ReturnValue;taint;manual | +| System;UriBuilder;ToString;();Argument[this].Property[System.UriBuilder.UserName];ReturnValue;taint;manual | | System;UriBuilder;UriBuilder;(System.String);Argument[0];Argument[this].Property[System.UriBuilder.Fragment];taint;manual | | System;UriBuilder;UriBuilder;(System.String);Argument[0];Argument[this].Property[System.UriBuilder.Host];taint;manual | | System;UriBuilder;UriBuilder;(System.String);Argument[0];Argument[this].Property[System.UriBuilder.Path];taint;manual | @@ -16990,10 +16992,12 @@ | System;UriBuilder;UriBuilder;(System.Uri);Argument[0];Argument[this].Property[System.UriBuilder.Scheme];taint;manual | | System;UriBuilder;get_Uri;();Argument[this].Property[System.UriBuilder.Fragment];ReturnValue;taint;manual | | System;UriBuilder;get_Uri;();Argument[this].Property[System.UriBuilder.Host];ReturnValue;taint;manual | +| System;UriBuilder;get_Uri;();Argument[this].Property[System.UriBuilder.Password];ReturnValue;taint;manual | | System;UriBuilder;get_Uri;();Argument[this].Property[System.UriBuilder.Path];ReturnValue;taint;manual | | System;UriBuilder;get_Uri;();Argument[this].Property[System.UriBuilder.Port];ReturnValue;taint;manual | | System;UriBuilder;get_Uri;();Argument[this].Property[System.UriBuilder.Query];ReturnValue;taint;manual | | System;UriBuilder;get_Uri;();Argument[this].Property[System.UriBuilder.Scheme];ReturnValue;taint;manual | +| System;UriBuilder;get_Uri;();Argument[this].Property[System.UriBuilder.UserName];ReturnValue;taint;manual | | System;UriParser;GetComponents;(System.Uri,System.UriComponents,System.UriFormat);Argument[0];ReturnValue;taint;df-generated | | System;UriParser;OnNewUri;();Argument[this];ReturnValue;value;dfc-generated | | System;UriParser;Register;(System.UriParser,System.String,System.Int32);Argument[1];Argument[0];taint;df-generated |