-
Notifications
You must be signed in to change notification settings - Fork 765
Roadmap
Justin edited this page Jun 5, 2017
·
63 revisions
This is a tentative roadmap/TODO list for Brakeman. Note that these are deadline versions, not necessarily the version the feature/fix will appear in. Items in italics have been merged into master.
- Update to RubyParser 3.0
- Handle Rails 4 strong parameters
- Optional intra-procedural data flow for simple helper methods
- Switch to
multi_jsongem - Output Brakeman version
- Output scan duration
- Reduce Sexp creation
- Fix "Unhandled resource option")
- Session check is looking for
Rails3::...which is silly - Fix YAML.load false positive
- Fix false positive on redirect to association
- Handle
append_before_filterandprepend_before_filter - Add "render path" to JSON output
- Warning identifiers
- Expand
skip_before_filtercheck - Support for Slim
Bug fixes/CVEs only!
Bug fixes/CVEs only!
- Standardize default config file location
- Relative paths by default for JSON
- Remove
timestampfrom JSON output - Combine YAML/Marshal/CSV
loadchecks into single check - Change "Cross-Site Request Forgery" to "Cross Site Request Forgery"
- Normalize SQL CVE warning messages to be less verbose
- Normalize warning messages in general
- Move
test/tests/test_*totest/tests/* - Bump confidence on mass assignment with
attr_protectedto medium - Fix false positive reports of
Model#idandto_json
- Allow
--compareand-o/-ftogether for nicer diff reports - Split into two packages, brakeman + brakeman-min
- Add
Tracker#warningsinstead ofTracker#checks.all_warnings - Fix how mixin methods are handled - need to be duped
- Scan all versions in Gemfile.lock instead of special cases
- CVEs only
- Bugfixes/Internal improvements only
- Reorganize CVE checks
- Support
before_actionfor Rails 4 - Support latest RailsLTS
- False positive configuration
- Get rid of
Tracker#check_initializersandFindCall - Scan helpers and make them available in views for inter-procedural analysis
- Add libs to call index
- Add ability to have optional checks not enabled by default
- Make
--separate-modelsthe default - In
BaseCheck, only set@has_user_inputonce (i.e.||=) to match first not last (maybe) - Make
CheckSymbolDoSan optional check - Find a way to update ruby_parser and offset wrong line numbers
- Do not format local variables as "local var"
- Add warnings for rendering
text,inline - File disclosure CVEs check
- Refactor XSS checks to have easier shared code
- Switch to
-f plainfor default report - Something like
--report-directby default? -zby default
- Add remediation steps to warnings when created
- Add
number_with_delimiter, etc, to known bad, but have to check for:raise => true - Better highlighting of user input in HTML output
- Add
rel="noreferrer"to HTML report links - Prettier HTML output
- Rescue divide by zero errors (and turn into warnings...?)