This commit is contained in:
Greg DiCristofaro 2023-07-24 11:08:40 -04:00
parent d201f5389e
commit 418fdb2be3

View File

@ -24,6 +24,7 @@ import com.basistech.df.cybertriage.autopsy.ctapi.json.AuthTokenResponse;
import com.basistech.df.cybertriage.autopsy.ctapi.json.AuthenticatedRequestData;
import com.basistech.df.cybertriage.autopsy.ctapi.json.CTCloudBean;
import com.basistech.df.cybertriage.autopsy.ctapi.json.DecryptedLicenseResponse;
import com.basistech.df.cybertriage.autopsy.ctapi.json.MalwareResultBean.Status;
import com.basistech.df.cybertriage.autopsy.ctapi.json.MetadataUploadRequest;
import org.apache.commons.lang3.StringUtils;
import org.sleuthkit.datamodel.AbstractFile;
@ -35,19 +36,37 @@ import org.sleuthkit.datamodel.TskCoreException;
* Handles uploading of files that are unknown.
*/
public class FileUpload {
private static final long MIN_SIZE = 1;
private static final long MAX_SIZE = 1_000_000_000;
private final CTApiDAO ctApiDAO = CTApiDAO.getInstance();
private boolean isUnknown(CTCloudBean cloudBean) {
return cloudBean != null
&& cloudBean.getMalwareResult() != null
&& cloudBean.getMalwareResult().getStatus() == Status.NOT_FOUND;
}
private boolean isUploadable(AbstractFile af) {
long size = af.getSize();
return size >= MIN_SIZE && size <= MAX_SIZE;
}
public boolean tryUpload(SleuthkitCase skCase, CTCloudBean cloudBean, long objId) {
public boolean tryUpload(SleuthkitCase skCase, CTCloudBean cloudBean, long objId) throws TskCoreException {
if (!isUnknown(cloudBean)) {
return false;
}
AbstractFile af = skCase.getAbstractFileById(objId);
if (af == null) {
return false;
}
if (!isUploadable(af)) {
return false;
}
}
private boolean upload(DecryptedLicenseResponse decrypted, AbstractFile af) throws CTCloudException, TskCoreException {