tigre-client 0.5.1 → 0.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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