mirror of
https://github.com/overcuriousity/autopsy-flatpak.git
synced 2025-07-18 02:27:42 +00:00
Merge pull request #4340 from APriestman/4453_verificationFailedArtifact
4453 Add validation failed artifact
This commit is contained in:
commit
ce9b34a2b4
@ -166,6 +166,8 @@ public class ExtractedContent implements AutopsyVisitableItem {
|
|||||||
return filePath + "Bluetooth.png"; //NON-NLS
|
return filePath + "Bluetooth.png"; //NON-NLS
|
||||||
} else if (typeID == BlackboardArtifact.ARTIFACT_TYPE.TSK_DEVICE_INFO.getTypeID()) {
|
} else if (typeID == BlackboardArtifact.ARTIFACT_TYPE.TSK_DEVICE_INFO.getTypeID()) {
|
||||||
return filePath + "devices.png"; //NON-NLS
|
return filePath + "devices.png"; //NON-NLS
|
||||||
|
} else if (typeID == BlackboardArtifact.ARTIFACT_TYPE.TSK_VERIFICATION_FAILED.getTypeID()) {
|
||||||
|
return filePath + "validationFailed.png"; //NON-NLS
|
||||||
}
|
}
|
||||||
return filePath + "artifact-icon.png"; //NON-NLS
|
return filePath + "artifact-icon.png"; //NON-NLS
|
||||||
}
|
}
|
||||||
|
BIN
Core/src/org/sleuthkit/autopsy/images/validationFailed.png
Normal file
BIN
Core/src/org/sleuthkit/autopsy/images/validationFailed.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 591 B |
@ -37,6 +37,9 @@ import org.sleuthkit.datamodel.Content;
|
|||||||
import org.sleuthkit.datamodel.Image;
|
import org.sleuthkit.datamodel.Image;
|
||||||
import org.sleuthkit.datamodel.TskCoreException;
|
import org.sleuthkit.datamodel.TskCoreException;
|
||||||
import org.openide.util.NbBundle;
|
import org.openide.util.NbBundle;
|
||||||
|
import org.sleuthkit.autopsy.casemodule.Case;
|
||||||
|
import org.sleuthkit.datamodel.BlackboardArtifact;
|
||||||
|
import org.sleuthkit.datamodel.BlackboardAttribute;
|
||||||
import org.sleuthkit.datamodel.TskDataException;
|
import org.sleuthkit.datamodel.TskDataException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -100,6 +103,10 @@ public class DataSourceIntegrityIngestModule implements DataSourceIngestModule {
|
|||||||
"DataSourceIntegrityIngestModule.process.errorSavingHashes= Error saving hashes for image {0} to the database",
|
"DataSourceIntegrityIngestModule.process.errorSavingHashes= Error saving hashes for image {0} to the database",
|
||||||
"# {0} - imageName",
|
"# {0} - imageName",
|
||||||
"DataSourceIntegrityIngestModule.process.errorLoadingHashes= Error loading hashes for image {0} from the database",
|
"DataSourceIntegrityIngestModule.process.errorLoadingHashes= Error loading hashes for image {0} from the database",
|
||||||
|
"# {0} - hashAlgorithm",
|
||||||
|
"# {1} - calculatedHashValue",
|
||||||
|
"# {2} - storedHashValue",
|
||||||
|
"DataSourceIntegrityIngestModule.process.hashFailedForArtifact={0} hash verification failed:\n Calculated hash: {1}\n Stored hash: {2}\n",
|
||||||
})
|
})
|
||||||
@Override
|
@Override
|
||||||
public ProcessResult process(Content dataSource, DataSourceIngestModuleProgress statusHelper) {
|
public ProcessResult process(Content dataSource, DataSourceIngestModuleProgress statusHelper) {
|
||||||
@ -255,6 +262,7 @@ public class DataSourceIntegrityIngestModule implements DataSourceIngestModule {
|
|||||||
String detailedResults = NbBundle
|
String detailedResults = NbBundle
|
||||||
.getMessage(this.getClass(), "DataSourceIntegrityIngestModule.shutDown.verifyResultsHeader", imgName);
|
.getMessage(this.getClass(), "DataSourceIntegrityIngestModule.shutDown.verifyResultsHeader", imgName);
|
||||||
String hashResults = "";
|
String hashResults = "";
|
||||||
|
String artifactComment = "";
|
||||||
|
|
||||||
for (HashData hashData:hashDataList) {
|
for (HashData hashData:hashDataList) {
|
||||||
if (hashData.storedHash.equals(hashData.calculatedHash)) {
|
if (hashData.storedHash.equals(hashData.calculatedHash)) {
|
||||||
@ -262,7 +270,9 @@ public class DataSourceIntegrityIngestModule implements DataSourceIngestModule {
|
|||||||
} else {
|
} else {
|
||||||
verified = false;
|
verified = false;
|
||||||
hashResults += Bundle.DataSourceIntegrityIngestModule_process_hashNonMatch(hashData.type.name);
|
hashResults += Bundle.DataSourceIntegrityIngestModule_process_hashNonMatch(hashData.type.name);
|
||||||
}
|
artifactComment += Bundle.DataSourceIntegrityIngestModule_process_hashFailedForArtifact(hashData.type.name,
|
||||||
|
hashData.calculatedHash, hashData.storedHash);
|
||||||
|
}
|
||||||
hashResults += Bundle.DataSourceIntegrityIngestModule_process_hashList(hashData.calculatedHash, hashData.storedHash);
|
hashResults += Bundle.DataSourceIntegrityIngestModule_process_hashList(hashData.calculatedHash, hashData.storedHash);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -279,6 +289,16 @@ public class DataSourceIntegrityIngestModule implements DataSourceIngestModule {
|
|||||||
detailedResults += NbBundle.getMessage(this.getClass(), "DataSourceIntegrityIngestModule.shutDown.resultLi", verificationResultStr);
|
detailedResults += NbBundle.getMessage(this.getClass(), "DataSourceIntegrityIngestModule.shutDown.resultLi", verificationResultStr);
|
||||||
detailedResults += hashResults;
|
detailedResults += hashResults;
|
||||||
|
|
||||||
|
if (!verified) {
|
||||||
|
try {
|
||||||
|
BlackboardArtifact verificationFailedArtifact = Case.getCurrentCase().getSleuthkitCase().newBlackboardArtifact(BlackboardArtifact.ARTIFACT_TYPE.TSK_VERIFICATION_FAILED, img.getId());
|
||||||
|
verificationFailedArtifact.addAttribute(new BlackboardAttribute(BlackboardAttribute.ATTRIBUTE_TYPE.TSK_COMMENT,
|
||||||
|
DataSourceIntegrityModuleFactory.getModuleName(), artifactComment));
|
||||||
|
} catch (TskCoreException ex) {
|
||||||
|
logger.log(Level.SEVERE, "Error creating verification failed artifact", ex);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
services.postMessage(IngestMessage.createMessage(messageType, DataSourceIntegrityModuleFactory.getModuleName(),
|
services.postMessage(IngestMessage.createMessage(messageType, DataSourceIntegrityModuleFactory.getModuleName(),
|
||||||
imgName + verificationResultStr, detailedResults));
|
imgName + verificationResultStr, detailedResults));
|
||||||
|
|
||||||
|
@ -299,6 +299,9 @@ class ReportHTML implements TableReportModule {
|
|||||||
case TSK_DEVICE_INFO:
|
case TSK_DEVICE_INFO:
|
||||||
in = getClass().getResourceAsStream("/org/sleuthkit/autopsy/images/devices.png"); //NON-NLS
|
in = getClass().getResourceAsStream("/org/sleuthkit/autopsy/images/devices.png"); //NON-NLS
|
||||||
break;
|
break;
|
||||||
|
case TSK_VERIFICATION_FAILED:
|
||||||
|
in = getClass().getResourceAsStream("/org/sleuthkit/autopsy/images/validationFailed.png"); //NON-NLS
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
logger.log(Level.WARNING, "useDataTypeIcon: unhandled artifact type = {0}", dataType); //NON-NLS
|
logger.log(Level.WARNING, "useDataTypeIcon: unhandled artifact type = {0}", dataType); //NON-NLS
|
||||||
in = getClass().getResourceAsStream("/org/sleuthkit/autopsy/report/images/star.png"); //NON-NLS
|
in = getClass().getResourceAsStream("/org/sleuthkit/autopsy/report/images/star.png"); //NON-NLS
|
||||||
|
Loading…
x
Reference in New Issue
Block a user