Repository navigation
chore: release 0.12.0 - #161
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Release 0.12.0 adds three changes, #155, #157 and #158.
Membersmodel (Plugins: a Members model types what an object gives by attribute or item #157). A new model type says what the attributes and items of a class's instances give. With it, every path to a pymongo collection denotes the collection class, whatever the database and collection names, so one sink coversclient.shop.users.find,client["shop"]["users"].findand the getters. Symbol resolution reads these models through the newsemantic.membersinput.nosql-injection(Detection: a nosql-injection rule for structured attacker input #158). The new rule reports attacker input that may hold a structure reaching aNOSQLsink. Text input carriesTEXT_KINDS, every kind butNOSQL: form fields, headers, URL parameters, the command line, the environment, and entry-point parameters annotated with scalars. A flow now names each origin once, whatever kinds the parameters of one entry point carry. The engine ships noNOSQLsink.The Enterprise
mongodbtable needs this release. It declares the pymongo, Motor and Flask-PyMongo sinks withMembersmodels (CoreTrace-Entreprise/coretrace-python-analyzer-plugins#3), and an older engine cannot importMembers.Changes in this PR
pyproject.toml,coretrace_python.__version__, the release test, and the three version examples of the usage guide: the JSON report, itstool.components, and the VEXtooling.CHANGELOG.md: the Unreleased section is dated as 0.12.0. No entry changed.Verification
pytest: 1174 passed (buildinstalled, so the wheel tests run too).pytest -m regressionunder Python 3.12: 19 passed.ruff checkon the tracked files andmypy: clean.Tag
v0.12.0after merge to publish.