Class: Zoom::SecurityProfile::UnsafePython
- Inherits:
-
Zoom::SecurityProfile
- Object
- Hash
- Profile
- Zoom::SecurityProfile
- Zoom::SecurityProfile::UnsafePython
- Defined in:
- lib/zoom/profile/unsafe_python.rb
Instance Attribute Summary
Attributes inherited from Profile
#exts, #files, #format_flags, #regex, #taggable
Instance Method Summary collapse
-
#initialize(n = nil, t = nil, f = nil, b = nil, a = nil) ⇒ UnsafePython
constructor
A new instance of UnsafePython.
Methods inherited from Zoom::SecurityProfile
#after, #before, #exe, #flags, #grep_like_format_flags, #only_exts_and_files, #preprocess, #tool, #translate
Methods inherited from Profile
#after, #before, #class_name, #exe, #flags, from_json, #grep_like_format_flags, #grep_like_tags?, #name, #only_exts_and_files, #preprocess, profile_by_name, subclasses, #to_s, #tool, #translate
Constructor Details
#initialize(n = nil, t = nil, f = nil, b = nil, a = nil) ⇒ UnsafePython
Returns a new instance of UnsafePython.
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
# File 'lib/zoom/profile/unsafe_python.rb', line 2 def initialize(n = nil, t = nil, f = nil, b = nil, a = nil) t = Zoom::ProfileManager.default_tool super(n, t, f, b, a) @exts = ["py"] functions = [ "c?[Pp]ickle\\.loads?", "eval", "exec", "os\\.(popen|system)", "subprocess\\.call", "yaml\\.load" ] start_or_not_variable = "(^|[^\\nA-Za-z_])" @regex = [ start_or_not_variable, "(#{functions.join("|")})\\(", ].join end |