├── .gitignore ├── README.md ├── cve_list.py ├── cybersecurity_news.py └── generate_password.py /.gitignore: -------------------------------------------------------------------------------- 1 | # General 2 | .DS_Store 3 | .AppleDouble 4 | .LSOverride 5 | .vscode 6 | 7 | # Byte-compiled / optimized / DLL files 8 | __pycache__/ 9 | *.py[cod] 10 | *$py.class 11 | 12 | # C extensions 13 | *.so 14 | 15 | # Distribution / packaging 16 | .Python 17 | build/ 18 | develop-eggs/ 19 | dist/ 20 | downloads/ 21 | eggs/ 22 | .eggs/ 23 | lib/ 24 | lib64/ 25 | parts/ 26 | sdist/ 27 | var/ 28 | wheels/ 29 | *.egg-info/ 30 | .installed.cfg 31 | *.egg 32 | MANIFEST 33 | 34 | # PyInstaller 35 | # Usually these files are written by a python script from a template 36 | # before PyInstaller builds the exe, so as to inject date/other infos into it. 37 | *.manifest 38 | *.spec 39 | 40 | # Installer logs 41 | pip-log.txt 42 | pip-delete-this-directory.txt 43 | 44 | # Unit test / coverage reports 45 | htmlcov/ 46 | .tox/ 47 | .coverage 48 | .coverage.* 49 | .cache 50 | nosetests.xml 51 | coverage.xml 52 | *.cover 53 | .hypothesis/ 54 | .pytest_cache/ 55 | 56 | # Translations 57 | *.mo 58 | *.pot 59 | 60 | # Django stuff: 61 | *.log 62 | local_settings.py 63 | db.sqlite3 64 | 65 | # Flask stuff: 66 | instance/ 67 | .webassets-cache 68 | 69 | # Scrapy stuff: 70 | .scrapy 71 | 72 | # Sphinx documentation 73 | docs/_build/ 74 | 75 | # PyBuilder 76 | target/ 77 | 78 | # Jupyter Notebook 79 | .ipynb_checkpoints 80 | 81 | # pyenv 82 | .python-version 83 | 84 | # celery beat schedule file 85 | celerybeat-schedule 86 | 87 | # SageMath parsed files 88 | *.sage.py 89 | 90 | # Environments 91 | .env 92 | .venv 93 | env/ 94 | venv/ 95 | ENV/ 96 | env.bak/ 97 | venv.bak/ 98 | 99 | # Spyder project settings 100 | .spyderproject 101 | .spyproject 102 | 103 | # Rope project settings 104 | .ropeproject 105 | 106 | # mkdocs documentation 107 | /site 108 | 109 | # mypy 110 | .mypy_cache/ 111 | 112 | # Thumbnails 113 | ._* 114 | 115 | # Output files 116 | results.json 117 | errors.log 118 | 119 | 120 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Cybersecurity Infomation Automation Scripts 2 | 3 | For any feedback, please consider pulling requests. 4 | -------------------------------------------------------------------------------- /cve_list.py: -------------------------------------------------------------------------------- 1 | import requests 2 | import json 3 | 4 | def main(): 5 | 6 | content = requests.get("https://cve.circl.lu/api/last") 7 | json = content.json() 8 | 9 | for item in json: 10 | print("{} {}".format("Vuln Num:", item['id'])) 11 | print("{} {}\n".format("Description:", item['summary'])) 12 | 13 | main() -------------------------------------------------------------------------------- /cybersecurity_news.py: -------------------------------------------------------------------------------- 1 | import feedparser 2 | import webbrowser 3 | 4 | 5 | 6 | def main(): 7 | print("--Security News Website List--") 8 | print("[0]: TheHackerNews") 9 | print("[1]: ThreatPost") 10 | print("[2]: NakedSecurity") 11 | 12 | website_list = ("https://feeds.feedburner.com/TheHackersNews", "https://threatpost.com/feed", "https://nakedsecurity.sophos.com/feed") 13 | 14 | website_input = int(input("Enter website by number (0-2): ")) 15 | 16 | NewsFeed = feedparser.parse(website_list[website_input]) 17 | article_list = [] 18 | article_link = [] 19 | for i in range(5): 20 | article = NewsFeed.entries[i] 21 | titles = article.title 22 | link = article.link 23 | article_link.append(link) 24 | article_list.append(titles) 25 | 26 | article_num = 1 27 | for article in article_list: 28 | print('[{}] {}'.format(str(article_num), article)) 29 | article_num += 1 30 | 31 | article_link_click = False 32 | while not article_link_click: 33 | user_click = int(input("Choose the link you want to open (1-5): ")) 34 | webbrowser.open(article_link[user_click-1]) 35 | article_link_click = True 36 | 37 | main() 38 | -------------------------------------------------------------------------------- /generate_password.py: -------------------------------------------------------------------------------- 1 | import secrets 2 | import string 3 | 4 | def password_gen(password_length): 5 | 6 | characters = string.ascii_letters + string.digits 7 | 8 | secure_password = ''.join(secrets.choice(characters) for i in range(password_length)) 9 | 10 | return secure_password 11 | 12 | def main(): 13 | 14 | user_password_length = int(input("Input number of digits for password: ")) 15 | 16 | print("Password Generated: ", password_gen(user_password_length)) 17 | 18 | main() 19 | --------------------------------------------------------------------------------