-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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
Swift: Add sinks for sqlite3 and SQLite.swift to swift/cleartext-storage-database #14312
Conversation
…ext-storage-database.
";QueryType;true;insert(_:);;;Argument[0];database-store", | ||
";QueryType;true;insert(_:_:);;;Argument[0..1];database-store", | ||
";QueryType;true;insert(or:_:);;;Argument[1];database-store", | ||
";QueryType;true;insertMany(_:);;;Argument[0];database-store", |
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.
Should this be Argument[0].CollectionElement
?
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.
Yes, but it can't be because at present MAD doesn't support access path syntax on sinks (or sources). I'm pushing for this feature because I think it's the natural way to express sinks like this.
The case should covered by the additional taint step at present, and that will be upgraded to an implicit read step in this query in #14357 .
I've just added tests for insertMany
to this PR, as it's a special case that clearly deserves a test of its own.
Fixed merge conflicts. |
bfe4357
to
fdcc6b4
Compare
Add sinks for the sqlite3 C API and SQLite.swift library to the
swift/cleartext-storage-database
query - i.e. places where these libraries write data to a database. Also adds a small number of flow summaries for SQLite.Swift, which has an interface where you construct objects representing interfaces (only a small part of this is modelled, we will only catch very simple uses of that particular interface for now).Performance seems unaffected (DCA will confirm).
MRVA run found no new results from these changes (though quite a lot of new results since public beta).