Package lib :: Package cuckoo :: Package core :: Module scheduler :: Class AnalysisManager
[hide private]
[frames] | no frames]

Class AnalysisManager

source code

        object --+        
                 |        
threading._Verbose --+    
                     |    
      threading.Thread --+
                         |
                        AnalysisManager

Analysis Manager.

This class handles the full analysis process for a given task. It takes care of selecting the analysis machine, preparing the configuration and interacting with the guest agent and analyzer components to launch and complete the analysis and store, process and report its results.

Instance Methods [hide private]
 
__init__(self, task, error_queue)
This constructor should always be called with keyword arguments.
source code
 
init_storage(self)
Initialize analysis storage folder.
source code
 
check_file(self)
Checks the integrity of the file to be analyzed.
source code
 
store_file(self)
Store a copy of the file being analyzed.
source code
 
acquire_machine(self)
Acquire an analysis machine from the pool of available ones.
source code
 
build_options(self)
Generate analysis options.
source code
 
launch_analysis(self)
Start analysis.
source code
 
process_results(self)
Process the analysis results and generate the enabled reports.
source code
 
run(self)
Run manager thread.
source code

Inherited from threading.Thread: __repr__, getName, isAlive, isDaemon, is_alive, join, setDaemon, setName, start

Inherited from threading.Thread (private): _reset_internal_locks, _set_daemon, _set_ident

Inherited from threading._Verbose (private): _note

Inherited from object: __delattr__, __format__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __setattr__, __sizeof__, __str__, __subclasshook__

Properties [hide private]

Inherited from threading.Thread: daemon, ident, name

Inherited from threading.Thread (private): _block

Inherited from object: __class__

Method Details [hide private]

__init__(self, task, error_queue)
(Constructor)

source code 

This constructor should always be called with keyword arguments. Arguments are:

*group* should be None; reserved for future extension when a ThreadGroup class is implemented.

*target* is the callable object to be invoked by the run() method. Defaults to None, meaning nothing is called.

*name* is the thread name. By default, a unique name is constructed of the form "Thread-N" where N is a small decimal number.

*args* is the argument tuple for the target invocation. Defaults to ().

*kwargs* is a dictionary of keyword arguments for the target invocation. Defaults to {}.

If a subclass overrides the constructor, it must make sure to invoke the base class constructor (Thread.__init__()) before doing anything else to the thread.

Parameters:
  • task - task object containing the details for the analysis.
Overrides: object.__init__

build_options(self)

source code 

Generate analysis options.

Returns:
options dict.

run(self)

source code 

Run manager thread.

Overrides: threading.Thread.run