Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def get_plugins_info():
plugin_descriptions = []
completed_plugins = []
# First run built-in plugins that ship with Hindsight
# log.info(" Built-in Plugins:")
for plugin in pyhindsight.plugins.__all__:
# Check to see if we've already run this plugin (likely from a different path)
if plugin in completed_plugins:
continue
description = {'file_name': plugin, 'friendly_name': None, 'version': None, 'error': None,
'error_msg': None, 'parent_path': None}
try:
module = importlib.import_module("pyhindsight.plugins.{}".format(plugin))
description['friendly_name'] = module.friendlyName
description['version'] = module.version
try:
module.plugin()
except ImportError, e:
description['error'] = 'import'
description['error_msg'] = e
def run_plugins(self):
log.info("Selected plugins: " + str(self.selected_plugins))
completed_plugins = []
for plugin in self.selected_plugins:
# First check built-in plugins that ship with Hindsight
# log.info(" Built-in Plugins:")
for standard_plugin in pyhindsight.plugins.__all__:
# Check if the standard plugin is the selected_plugin we're looking for
if standard_plugin == plugin:
# Check to see if we've already run this plugin (likely from a different path)
if plugin in completed_plugins:
log.info(" - Skipping '{}'; a plugin with that name has run already".format(plugin))
continue
log.info(" - Loading '{}' [standard plugin]".format(plugin))
try:
module = importlib.import_module("pyhindsight.plugins.{}".format(plugin))
except ImportError, e:
log.error(" - Error: {}".format(e))
print format_plugin_output(plugin, "-unknown", 'import failed (see log)')
continue
try:
log.info(" - Running '{}' plugin".format(module.friendlyName))
log.info(" - Found {} browser profile(s): {}".format(len(input_profiles), input_profiles))
analysis_session.profile_paths = input_profiles
print(format_meta_output("Output name", "{}.{}".format(analysis_session.output_name, analysis_session.selected_output_format)))
# Run the AnalysisSession
print("\n Processing:")
analysis_session.run()
print("\n Running plugins:")
log.info("Plugins:")
completed_plugins = []
# First run built-in plugins that ship with Hindsight
log.info(" Built-in Plugins:")
for plugin in pyhindsight.plugins.__all__:
# Check to see if we've already run this plugin (likely from a different path)
if plugin in completed_plugins:
continue
log.debug(" - Loading '{}'".format(plugin))
try:
module = importlib.import_module("pyhindsight.plugins.{}".format(plugin))
except ImportError, e:
log.error(" - Error: {}".format(e))
print(format_plugin_output(plugin, "-unknown", 'import failed (see log)'))
continue
try:
log.info(" - Running '{}' plugin".format(module.friendlyName))
parsed_items = module.plugin(analysis_session)
print(format_plugin_output(module.friendlyName, module.version, parsed_items))
log.info(" - Completed; {}".format(parsed_items))