Module: Straycall

Defined in:
lib/straycall.rb,
lib/straycall/cli.rb,
lib/straycall/rspec.rb,
lib/straycall/config.rb,
lib/straycall/policy.rb,
lib/straycall/prompt.rb,
lib/straycall/target.rb,
lib/straycall/version.rb,
lib/straycall/minitest.rb,
lib/straycall/recorder.rb,
lib/straycall/violation.rb,
lib/straycall/in_process.rb,
lib/straycall/supervisor.rb,
lib/straycall/policy/exec.rb,
lib/straycall/report/json.rb,
lib/straycall/handlers/exec.rb,
lib/straycall/policy/network.rb,
lib/straycall/report/console.rb,
lib/straycall/reporter/client.rb,
lib/straycall/policy/filesystem.rb,
lib/straycall/reporter/protocol.rb,
lib/straycall/handlers/filesystem.rb,
lib/straycall/reporter/symbolizer.rb,
lib/straycall/reporter/thread_reporter.rb

Defined Under Namespace

Modules: Handlers, InProcess, Minitest, Policy, RSpec, Report, Reporter, Target Classes: CLI, Config, ConfigurationError, Error, PathResolutionError, Prompt, Recorder, Supervisor, Violation

Constant Summary collapse

VERSION =
"0.2.0"

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.configObject



16
17
18
# File 'lib/straycall.rb', line 16

def config
  @config ||= Config.new
end

Class Method Details

.available?Boolean

Returns:

  • (Boolean)


25
26
27
28
29
30
31
32
33
# File 'lib/straycall.rb', line 25

def available?
  return false if ENV["STRAYCALL"] == "0"
  return false unless RUBY_PLATFORM.include?("linux") && RUBY_ENGINE == "ruby"

  require "seccomp/notify"
  Seccomp::Notify.supported? && Seccomp::Notify.features[:continue]
rescue LoadError, StandardError
  false
end

.configure {|config| ... } ⇒ Object

Yields:



20
21
22
23
# File 'lib/straycall.rb', line 20

def configure
  yield config
  config
end

.reset!Object



35
36
37
38
# File 'lib/straycall.rb', line 35

def reset!
  @config = Config.new
  @warned_unavailable = false
end

.warn_unavailable!Object



40
41
42
43
44
45
# File 'lib/straycall.rb', line 40

def warn_unavailable!
  return if ENV["STRAYCALL"] == "0" || !RUBY_PLATFORM.include?("linux") || @warned_unavailable

  @warned_unavailable = true
  warn "straycall: seccomp user notifications are unavailable; running unmonitored"
end