tigre-client 0.5.1 → 0.5.2

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- tigre-client (0.4.1)
4
+ tigre-client (0.5.0)
5
5
  faraday (~> 0.6.0)
6
6
  right_aws (~> 2.1.0)
7
7
 
@@ -63,33 +63,65 @@ module Tigre
63
63
  # required
64
64
  # mutex_name_list => String (comma seperated) => I.E 'foo,bar,baz'
65
65
  # mutex_name_list => Array => ['foo', 'bar', 'baz']
66
- def self.get_urls_with_mutex(mutex_name_list)
66
+ # optional params
67
+ # options => Hash
68
+ # :page => Integer, :default => 0
69
+ # :per => Integer, :default => 50
70
+ # :after => Ruby DateTime object OR Integer (epoch time)
71
+ # :before => Ruby DateTime object OR Integer (epoch time)
72
+ def self.get_urls_with_mutex(mutex_name_list, options={})
67
73
  raise 'Missing mutex_name_list' if mutex_name_list == ''
68
- Tigre.get_connection("/analyses/urls/mutex_name?mutex_name_list=#{package_array_list(mutex_name_list)}")
74
+ common_params(options)
75
+ Tigre.get_connection("/analyses/urls/mutex_name?mutex_name_list=#{package_array_list(mutex_name_list)}&#{before_after_page_per}")
69
76
  end
70
77
 
71
78
  # required
72
79
  # mutex_name_list => String (comma seperated) => I.E 'foo,bar,baz'
73
80
  # mutex_name_list => Array => ['foo', 'bar', 'baz']
74
- def self.get_samples_with_mutex(mutex_name_list)
81
+ # optional params
82
+ # options => Hash
83
+ # :page => Integer, :default => 0
84
+ # :per => Integer, :default => 50
85
+ # :after => Ruby DateTime object OR Integer (epoch time)
86
+ # :before => Ruby DateTime object OR Integer (epoch time)
87
+ def self.get_samples_with_mutex(mutex_name_list, options={})
75
88
  raise 'Missing mutex_name_list' if mutex_name_list == ''
76
- Tigre.get_connection("/analyses/samples/mutex_name?mutex_name_list=#{package_array_list(mutex_name_list)}")
89
+ common_params(options)
90
+ Tigre.get_connection("/analyses/samples/mutex_name?mutex_name_list=#{package_array_list(mutex_name_list)}&#{before_after_page_per}")
77
91
  end
78
92
 
79
93
  # required
80
94
  # dbts_name_list => Hash => I.E {'key1' => 1, 'key2 => 0}
81
- def self.get_urls_with_dbts(dbts_name_list)
95
+ # optional params
96
+ # options => Hash
97
+ # :page => Integer, :default => 0
98
+ # :per => Integer, :default => 50
99
+ # :after => Ruby DateTime object OR Integer (epoch time)
100
+ # :before => Ruby DateTime object OR Integer (epoch time)
101
+ def self.get_urls_with_dbts(dbts_name_list, options={})
82
102
  raise 'Missing dbts_name_list' if dbts_name_list == ''
83
- search = {:dbts_name_list => dbts_name_list}
84
- Tigre.put_connection("/analyses/urls/dbts_name", search)
103
+ common_params(options)
104
+ search = {:dbts_name_list => dbts_name_list,
105
+ :before => @before, :after => @after,
106
+ :page => @page, :per => @per}
107
+ Tigre.post_connection("/analyses/urls/dbts_name", search)
85
108
  end
86
109
 
87
110
  # required
88
111
  # dbts_name_list => Hash => I.E {'key1' => 1, 'key2 => 0}
89
- def self.get_samples_with_dbts(dbts_name_list)
112
+ # optional params
113
+ # options => Hash
114
+ # :page => Integer, :default => 0
115
+ # :per => Integer, :default => 50
116
+ # :after => Ruby DateTime object OR Integer (epoch time)
117
+ # :before => Ruby DateTime object OR Integer (epoch time)
118
+ def self.get_samples_with_dbts(dbts_name_list, options={})
90
119
  raise 'Missing dbts_name_list' if dbts_name_list == ''
91
- search = {:dbts_name_list => dbts_name_list}
92
- Tigre.put_connection("/analyses/samples/dbts_name", search)
120
+ common_params(options)
121
+ search = {:dbts_name_list => dbts_name_list,
122
+ :before => @before, :after => @after,
123
+ :page => @page, :per => @per}
124
+ Tigre.post_connection("/analyses/samples/dbts_name", search)
93
125
  end
94
126
 
95
127
  end
@@ -3,8 +3,8 @@ module Tigre
3
3
 
4
4
  # optional params
5
5
  # options => Hash
6
- # :page => Integer, :default => 0
7
- # :per => Integer, :default => 50
6
+ # :page => Integer, :default => 0
7
+ # :per => Integer, :default => 50
8
8
  # :after => Ruby DateTime object OR Integer (epoch time)
9
9
  # :before => Ruby DateTime object OR Integer (epoch time)
10
10
  def index(options={})
@@ -21,5 +21,44 @@ module Tigre
21
21
  Tigre.get_connection("/#{get_klass}/count?#{before_after}")
22
22
  end
23
23
 
24
+ # optional params
25
+ # options => Hash
26
+ # :after => Ruby DateTime object OR Integer (epoch time)
27
+ # :before => Ruby DateTime object OR Integer (epoch time)
28
+ # :page => Integer, :default => 0
29
+ # :per => Integer, :default => 50
30
+ def exploit_feed(options={})
31
+ common_params(options)
32
+ Tigre.get_connection("/#{get_klass}/latest_analyses?tags=exploit&#{before_after_page_per}")
33
+ end
34
+
35
+ # required params
36
+ # hash => Hash
37
+ # :digest => String, The digest type
38
+ # :value => String, The digest value
39
+ def latest_analysis(hash)
40
+ raise 'Missing parameter :digest or :value' unless hash[:digest] && hash[:value]
41
+ Tigre.get_connection("/#{get_klass}/#{hash[:digest]}/value/#{hash[:value]}/latest_analysis")
42
+ end
43
+
44
+ # optional params
45
+ # search_hash => Hash
46
+ # :tags => String => I.E 'foo'
47
+ # :tags => String (comma seperated) => I.E 'foo,bar,baz'
48
+ # :tags => Array => ['foo', 'bar', 'baz']
49
+ # :file_types => String => I.E 'pdf'
50
+ # :file_types => String (comma seperated) => I.E 'pdf,exe'
51
+ # :file_types => Array => ['pdf', 'exe', 'com']
52
+ # options => Hash
53
+ # :after => Ruby DateTime object OR Integer (epoch time)
54
+ # :before => Ruby DateTime object OR Integer (epoch time)
55
+ # :page => Integer, :default => 0
56
+ # :per => Integer, :default => 50
57
+ def latest_analyses(search_hash={},options={})
58
+ tags = package_array_list(search_hash[:tags]) if search_hash[:tags]
59
+ file_types = package_array_list(search_hash[:file_types]) if search_hash[:file_types]
60
+ Tigre.get_connection("/#{get_klass}/latest_analyses?tags=#{tags}&file_types=#{file_types}&#{before_after_page_per}")
61
+ end
62
+
24
63
  end
25
64
  end
@@ -128,9 +128,7 @@ module Tigre
128
128
  # :page => Integer, :default => 0
129
129
  # :per => Integer, :default => 50
130
130
  def self.domains(domain, options={})
131
- if domain == ''
132
- raise ArguementError, "Missing domain parameter"
133
- end
131
+ raise ArguementError, "Missing domain parameter" if domain == ''
134
132
 
135
133
  common_params(options)
136
134
  Tigre.get_connection("/urls/domains?domain=#{domain}&#{before_after_page_per}")
@@ -1,5 +1,5 @@
1
1
  module Tigre
2
2
  module Client
3
- VERSION = "0.5.1"
3
+ VERSION = "0.5.2"
4
4
  end
5
5
  end
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: tigre-client
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.5.1
5
+ version: 0.5.2
6
6
  platform: ruby
7
7
  authors:
8
8
  - Marcio Castilho