Class: Hone::Patterns::CharsToVariableTainted

Inherits:
TaintTrackingBase show all
Defined in:
lib/hone/patterns/chars_to_variable_tainted.rb

Overview

Approach 2: Taint tracking version of CharsToVariable

Same detection as CharsToVariable but using the TaintTrackingBase infrastructure. This allows comparison of both approaches.

Advantages over simple approach:

  • Handles variable aliasing (x = chars; y = x; y)
  • Handles instance variables (@chars = str.chars)
  • Cleaner separation of concerns
  • Easier to extend for other patterns

Examples:

Detects aliased usage

chars = str.chars
x = chars        # Taint propagates to x
x[0]             # Still flagged!

Instance Attribute Summary

Attributes inherited from Base

#findings

Method Summary

Methods inherited from TaintTrackingBase

#initialize, #visit_block_node, #visit_call_node, #visit_class_node, #visit_def_node, #visit_instance_variable_write_node, #visit_lambda_node, #visit_local_variable_read_node, #visit_local_variable_write_node, #visit_module_node, #visit_multi_write_node

Methods inherited from Base

#add_finding, inherited, #initialize, scan_file

Constructor Details

This class inherits a constructor from Hone::Patterns::TaintTrackingBase