19 package org.sleuthkit.autopsy.modules.stix;
21 import java.util.ArrayList;
22 import java.util.Collection;
23 import java.util.logging.Level;
24 import org.openide.util.NbBundle.Messages;
38 class StixArtifactData {
40 private AbstractFile file;
41 private final String observableId;
42 private final String objType;
43 private static final Logger logger = Logger.getLogger(StixArtifactData.class.getName());
45 public StixArtifactData(AbstractFile a_file, String a_observableId, String a_objType) {
47 observableId = a_observableId;
51 public StixArtifactData(
long a_objId, String a_observableId, String a_objType) {
52 Case case1 = Case.getCurrentCase();
53 SleuthkitCase sleuthkitCase = case1.getSleuthkitCase();
55 file = sleuthkitCase.getAbstractFileById(a_objId);
56 }
catch (TskCoreException ex) {
59 observableId = a_observableId;
63 @Messages({
"StixArtifactData.indexError.message=Failed to index STIX interesting file hit artifact for keyword search."})
64 public void createArtifact(String a_title)
throws TskCoreException {
65 Blackboard blackboard = Case.getCurrentCase().getServices().getBlackboard();
68 if (a_title != null) {
69 setName =
"STIX Indicator - " + a_title;
71 setName =
"STIX Indicator - (no title)";
74 BlackboardArtifact bba = file.newArtifact(BlackboardArtifact.ARTIFACT_TYPE.TSK_INTERESTING_FILE_HIT);
75 Collection<BlackboardAttribute> attributes =
new ArrayList<>();
76 attributes.add(
new BlackboardAttribute(BlackboardAttribute.ATTRIBUTE_TYPE.TSK_SET_NAME,
"Stix", setName));
77 attributes.add(
new BlackboardAttribute(BlackboardAttribute.ATTRIBUTE_TYPE.TSK_TITLE,
"Stix", observableId));
78 attributes.add(
new BlackboardAttribute(BlackboardAttribute.ATTRIBUTE_TYPE.TSK_CATEGORY,
"Stix", objType));
80 bba.addAttributes(attributes);
83 blackboard.indexArtifact(bba);
84 }
catch (Blackboard.BlackboardException ex) {
85 logger.log(Level.SEVERE,
"Unable to index blackboard artifact " + bba.getArtifactID(), ex);
86 MessageNotifyUtil.Notify.error(Bundle.StixArtifactData_indexError_message(), bba.getDisplayName());
91 System.out.println(
" " + observableId +
" " + file.getName());