
Security News
Astral Launches pyx: A Python-Native Package Registry
Astral unveils pyx, a Python-native package registry in beta, designed to speed installs, enhance security, and integrate deeply with uv.
= 'rufus-treechecker'
== what is it ?
Initialize a Rufus::TreeChecker and pass some ruby code to make sure it's safe before calling eval().
== getting it
gem install -y rufus-treechecker
or download[http://rubyforge.org/frs/?group_id=4812] it from RubyForge.
== usage
The treechecker uses ruby_parser (http://rubyforge.org/projects/parsetree) to turn Ruby code into s-expressions, the treechecker then checks this sexp tree and raises a Rufus::SecurityError if an excluded pattern is spotted.
The excluded patterns are defined at the initialization of the TreeChecker instance by listing rules.
require 'rubygems' require 'rufus-treechecker'
tc = Rufus::TreeChecker.new do exclude_fvcall :abort exclude_fvcall :exit, :exit! end
tc.check("1 + 1; abort") # will raise a SecurityError tc.check("puts (1..10).to_a.inspect") # OK
Nice, but how do I know what to exclude ?
require 'rubygems' require 'rufus-treechecker'
Rufus::TreeChecker.new.ptree('a = 5 + 6; puts a')
will yield
"a = 5 + 6; puts a" => [:block, [:lasgn, :a, [:call, [:lit, 5], :+, [:array, [:lit, 6]]]], [:fcall, :puts, [:array, [:lvar, :a]]] ]
For more documentation, see http://github.com/jmettraux/rufus-treechecker/tree/master/lib/rufus/treechecker.rb
== dependencies
the 'ruby_parser' gem by Ryan Davis.
== mailing list
On the Rufus-Ruby list[http://groups.google.com/group/rufus-ruby] :
http://groups.google.com/group/rufus-ruby
== issue tracker
http://rubyforge.org/tracker/?atid=18584&group_id=4812&func=browse
== source
http://github.com/jmettraux/rufus-treechecker
git clone git://github.com/jmettraux/rufus-treechecker.git
== author
John Mettraux, jmettraux@gmail.com, http://jmettraux.wordpress.com
== the rest of Rufus
== license
MIT
FAQs
Unknown package
We found that rufus-treechecker demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Astral unveils pyx, a Python-native package registry in beta, designed to speed installs, enhance security, and integrate deeply with uv.
Security News
The Latio podcast explores how static and runtime reachability help teams prioritize exploitable vulnerabilities and streamline AppSec workflows.
Security News
The latest Opengrep releases add Apex scanning, precision rule tuning, and performance gains for open source static code analysis.