SkoolOS/bgservice/checker.py
Nathaniel Kenschaft 0b71a4de6a fixed git history
2020-06-16 11:35:04 -04:00

104 lines
1.8 KiB
Python

import os
from glob import glob
file_whitelist = [
# text and document files
".doc",
".docx",
".odt",
".pdf",
".rtf",
".tex",
".txt",
".wpd",
# video files
".3g2",
".3gp",
".avi",
".flv",
".h264",
".m4v",
".mkv",
".mov",
".mp4",
".mpg",
".mpeg",
".rm",
".swf",
".vob",
".wmv",
# spreadsheet files
".ods",
".xls",
".xlsm",
".xlsx",
".csv",
# programming files
".c",
".class",
".cpp",
".cs",
".go",
".h",
".java",
".pl",
".sh",
".swift",
".vb",
# presentation files
".key",
".odp",
".pps",
".ppt",
".pptx",
# image files
".ai",
".bmp",
".gif",
".ico",
".jpeg",
".jpg",
".png",
".ps",
".psd",
".svg",
".tif",
".tiff",
]
def shell_check():
bash_history = [
line.strip()
for line in open(os.path.expanduser("~/.bash_history"), 'r')
]
zsh_history = [
line.strip() for line in open(os.path.expanduser("~/.histfile"), 'r')
]
suspicious_commands = []
for i in bash_history + zsh_history:
if "git" in i:
suspicious_commands.append(i)
if suspicious_commands != []:
return str(
len(suspicious_commands)
) + " suspicious commands found:\n" + "\n".join(suspicious_commands)
return "Nothing suspicious found in bash or zsh history."
def verify_file(file_):
for ext in file_whitelist:
if len(file_) > len(ext):
if file_[len(file_) - len(ext):] == ext:
return True
return False
def file_check(dir_):
files = glob(dir_ + "/**/*", recursive=True)
suspicious_files = []
for file_ in files:
if not verify_file(file_):
suspicious_files.append(file_)
return suspicious_files