Commit a872caa
Changed files (3)
app
controllers
agents
workers
lib
app/controllers/agents/files_controller.rb
@@ -11,8 +11,9 @@ module Agents
def show
@file = Disposition.find_by(fingerprint: params[:id])
Publisher.publish("queries", {
- fingerprint: params[:id],
- payload: params[:payload]
+ agent_id: params[:id],
+ name: params[:name],
+ data: params[:data]
})
end
app/workers/cloud_queries.rb
@@ -7,14 +7,24 @@ class CloudQueries
def work(json)
logger.info "Query for: #{json.inspect}"
attributes = JSON.parse(json)
- #fingerprint = attributes["fingerprint"]
- #disposition = Disposition.find_by(fingerprint: fingerprint)
- #if disposition.present?
- #logger.info("#{disposition.state} disposition for: #{fingerprint}")
- #else
- #logger.info("Unknown disposition for: #{fingerprint}")
- #end
+ publish(JSON.generate({
+ agent_id: attributes["agent_id"],
+ name: "File #{attributes["name"]}",
+ data: attributes["data"]
+ }), to_queue: "worker.events")
+
+ fingerprint = attributes["fingerprint"]
+ disposition = Disposition.find_by(fingerprint: fingerprint)
+
+ if disposition.nil?
+ # publish command to fetch file from agent
+ #publish(JSON.generate({
+ #command: :request_analysis,
+ #agent_id: attributes["agent_id"],
+ #fingerprint: fingerprint,
+ #}), to_queue: "worker.commands")
+ end
ack!
end
lib/fake_agent.rb
@@ -25,9 +25,11 @@ class FakeAgent
url = "#{endpoint}/agents/#{id}/files/#{fingerprint}"
puts url
Typhoeus.get(url, body: {
- payload: {
- event: event,
- full_path: file
+ agent_id: id,
+ name: event,
+ data: {
+ fingerprint: fingerprint,
+ full_path: file,
}
})
end