I am trying to create a Python (Jython) plugin for The Sleuth Kit’s Autopsy program for it will get data from an online source as a standalone Data Source Type.
Based on what I’ve researched, I’ve found a Java plugin from the 2021 Autopsy Module Development Contest that adds a Data Source Type using the DataSourceProcessor class in Autopsy.
I’ve tried creating it in Python and importing into Autopsy, but it didn’t work. Am I missing something on this part? I also could not find a Python example online that adds a Data Source for me to try to follow. Is there an example or guide that I can look into? Thanks!
from javax.swing import JPanel
from org.sleuthkit.autopsy.corecomponentinterfaces import DataSourceProcessor
from org.sleuthkit.autopsy.corecomponentinterfaces import DataSourceProcessorCallback
from org.sleuthkit.autopsy.corecomponentinterfaces import DataSourceProcessorProgressMonitor
from org.openide.util.lookup import ServiceProvider
from org.sleuthkit.datamodel import Host
from threading import Thread
class DataProcessor(DataSourceProcessor):
def __init__(self):
processorPanel = DataProcessorPanel()
modulename = "Extraction from online"
def getDataSourceType(self):
return self.modulename
def getPanel(self):
return self.processorPanel
def isPanelValid(self):
return self.processorPanel.validatePanel()
def run(self, DataSourceProcessorProgressMonitor progressMonitor, DataSourceProcessorCallback callback):
thread = Thread(new addDeviceDataTask(processorPanel.getPanelSettings(), progressMonitor, callback))
thread.start()
def cancel(self):
return
def reset(self):
self.processorPanel.resetPanel()
class DataProcessorPanel(JPanel):
def __init__(self):
serialVersionUID = 1L
panelValid = True