Thanks to all our contributors, users, and the many people that make PyT possible! ❤️
If you love PyT, please star our project on GitHub to show your support! ⭐
- Function calls such as
list.append
anddict.update
now propagate taint to the list or dict (#181, thanks @bcaller)
- Removed
--trim
option (#169)
- Recursive functions don't cause
RecursionError
(#173, thanks @bcaller) - Handling of chained functions improved (#171, thanks @bcaller)
- Added handling of assignment unpacking e.g.
a, b, c = d
(#164, thanks @bcaller) - Made file loading and vulnerability order deterministic (#165, thanks @bcaller)
- Fixed a bug where we wrote to the default_blackbox_mapping file even if the
-i
option was not being used. (#161, thanks @polyzen)
- Ability to analyze directories,
-r
Recursive option (#129, thanks @omergunal) - Added
--dont-prepend-root
option, makes it so that we don't require imports start withproject_root.*
(#151, thanks @bcaller) - Added
--no-local-imports
option, to require absolute imports be relative to the project root (#151, thanks @bcaller) - PEP 498 support, formatted string literals (#142, thanks @bcaller)
- PEP 526 support, syntax for variable annotations (#143, thanks @bcaller)
- Whitelist lines of sources and sinks ending in
# nosec
(#121, thanks @omergunal)
- Added per-arg taint, for sink functions (#147, thanks @bcaller)
- AugAssign, Yield, and YieldFrom taint propagation improvements (#155, thanks @bcaller)
- Improved tuple assingment to be more precise and support starargs (#150, thanks @bcaller)
- Fixed a bug where
get_call_names
only handledast.Attribute
nodes (#148, thanks @bcaller) - Fixed a bug where
vars_visitor.py
crashed on Python 3.5 dict syntax (#144, thanks @bcaller)
- Added
README.rst
files to almost every directory. (Partially #126)
- Added tests for
vars_visitor.py
, making our overall coverage 91% (#139, thanks @stannum-l) - Cleaned and organized requirements,
setup.py
,tox.ini
and.travis.yml
(#152, thanks @bcaller) - Cleaned up the new
pyt/core/
folder (#132) - Fixed all flake8 errors (#114 & #130, thanks @cclauss)
- Re-organized the entire codebase into different directories (#126)
- Return exit code 1 if any non-sanitised vulnerabilities are found (#156, thanks @bcaller)
- Baseline support (#106, thanks @omergunal)
- Combined all source/sink information files and made it the default (#116)
- Fixed a bug where
Post.query.paginate
propagated taint (#115) - Fixed a false-positive where
self
was marked as taint (#119, thanks @lFatty)
- Fixed a bug where
visit_Raise
raised aTypeError
(#117, thanks @lFatty) - Fixed a bug where we were not including
pyt/vulnerability_definitions
files (#122, thanks @Ekultek) - Fixed an infinite loop bug that was caused while handling certain loops (#118)
- Moved out a bunch of historical files to the ReadTheDocs repo (#110, #111)