{"id":18003663,"url":"https://github.com/shivadharmi/cybersecurity-research-assistant","last_synced_at":"2025-07-25T02:16:45.577Z","repository":{"id":259958360,"uuid":"879898550","full_name":"shivadharmi/cybersecurity-research-assistant","owner":"shivadharmi","description":"An advanced project for a cybersecurity research assistant utilizing Python, LangGraph, and various agents for comprehensive threat analysis and reporting.","archived":false,"fork":false,"pushed_at":"2024-10-28T19:25:05.000Z","size":44,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-09T20:16:45.690Z","etag":null,"topics":["botnet","chatgpt","cybersecurity","cybersecurity-events","gpt-4o","langgraph","llm","malware","python","python3","ransomware","vulnerability"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/shivadharmi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-10-28T18:35:48.000Z","updated_at":"2024-10-28T19:44:35.000Z","dependencies_parsed_at":null,"dependency_job_id":"7c2fb41e-94e6-46f7-9752-b3dd308e75bc","html_url":"https://github.com/shivadharmi/cybersecurity-research-assistant","commit_stats":null,"previous_names":["shivadharmi/cybersecurity-research-assistant"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shivadharmi%2Fcybersecurity-research-assistant","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shivadharmi%2Fcybersecurity-research-assistant/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shivadharmi%2Fcybersecurity-research-assistant/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shivadharmi%2Fcybersecurity-research-assistant/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/shivadharmi","download_url":"https://codeload.github.com/shivadharmi/cybersecurity-research-assistant/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247152648,"owners_count":20892530,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["botnet","chatgpt","cybersecurity","cybersecurity-events","gpt-4o","langgraph","llm","malware","python","python3","ransomware","vulnerability"],"created_at":"2024-10-30T00:05:44.858Z","updated_at":"2025-04-04T09:30:15.036Z","avatar_url":"https://github.com/shivadharmi.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Cybersecurity Research Assistant with LangGraph Integration\n\n\u003cp\u003e\n  \u003ca href=\"https://www.langchain.com/langgraph\"\u003eLangGraph Docs\u003c/a\u003e\n\u003c/p\u003e\n\nAn advanced project for a cybersecurity research assistant utilizing Python, LangGraph, and various agents for comprehensive threat analysis and reporting.\n\n## Project Overview\n\nThis project showcases a sophisticated cybersecurity research assistant capable of gathering, analyzing, and summarizing information on vulnerabilities, ransomware, and cyber security events. It integrates multiple agents for specialized tasks, leveraging LangGraph for managing complex workflows and OpenAI's GPT models for natural language processing.\n\nKey features:\n\n- Multi-agent architecture for diverse cybersecurity tasks\n- Real-time data gathering and analysis\n- Natural language understanding and generation with OpenAI GPT models\n- Comprehensive reporting capabilities\n- Customizable parameters for different research scenarios\n\n## Prerequisites\n\n- Python 3.12+\n- uv (An extremely fast Python package and project manager, written in Rust.)\n- LangGraph CLI (optional, for easy environment setup)\n\n## Installation\n\n1. Clone the repository:\n\n   ```console\n   git clone git@github.com:shivadharmi/cybersecurity-research-assistant.git\n   cd cybersecurity-research-assistant\n   ```\n\n## Setting Up `uv` and `ruff`\n\n1. Install `uv`:\n\n   - For macOS and Linux:\n\n   ```console\n   curl -LsSf https://astral.sh/uv/install.sh | sh\n   ```\n\n   - For Windows:\n\n   ```console\n   powershell -ExecutionPolicy ByPass -c \"irm https://astral.sh/uv/install.ps1 | iex\"\n   ```\n\n2. Set up a virtual environment:\n\n   ```console\n   uv venv --python 3.12.0\n   source .venv/bin/activate  # On Windows, use `.venv\\Scripts\\activate`\n   ```\n\n3. Install `ruff` as a development dependency:\n\n   ```console\n   uv add --dev ruff\n   ```\n\n4. Install `pre-commit` and configure the hook:\n\n   ```console\n   uv add --dev pre-commit\n   pre-commit install\n   ```\n\n5. Install dependencies:\n\n   ```console\n   uv add -r requirements.txt\n   ```\n\n6. Run pre-commit on all files:\n\n   ```console\n   pre-commit run --all-files\n   ```\n\n## Environment Setup\n\n1. Copy the example environment file:\n\n   ```console\n   cp ./env/.env.example ./env/.env\n   ```\n\n2. Edit `.env.local` and fill in the required values:\n\n   - `OPENAI_API_KEY`\n   - `TAVILY_API_KEY`\n   - Any other necessary API keys for external services\n\n## Running the Research Assistant\n\nStart the cybersecurity research assistant by executing the `main.py` script with the desired agent and optional parameters. Here’s how to run it:\n\n```console\npython main.py \u003cagent\u003e [--month \u003cmonth\u003e] [--year \u003cyear\u003e]\n```\n\n### Arguments\n\n- `\u003cagent\u003e`: Specify which agent to run. Choices include:\n\n  - `vulnerability`: Analyze vulnerabilities.\n  - `ransomware`: Analyze ransomware threats.\n  - `events`: Analyze cyber security events.\n  - `cisa`: Get CISA-related information.\n  - `full`: Generate a comprehensive report.\n\n- `--month \u003cmonth\u003e`: (Optional) Specify the month to analyze (default is `September`).\n\n- `--year \u003cyear\u003e`: (Optional) Specify the year to analyze (default is `2024`).\n\n### Example Usage\n\nTo run the vulnerability agent for September 2024:\n\n```console\npython main.py vulnerability --month September --year 2024\n```\n\nTo run the full report for October 2023:\n\n```console\npython main.py full --month October --year 2023\n```\n\n## Roadmap\n\n- **Weekly Reports**: Implement functionality to generate weekly cybersecurity reports in addition to the existing monthly reports. This will allow for more frequent updates and timely insights into cybersecurity threats and vulnerabilities.\n- **Daily Reports**: Explore the possibility of generating daily cybersecurity reports to provide real-time insights and updates on emerging threats and vulnerabilities.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshivadharmi%2Fcybersecurity-research-assistant","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshivadharmi%2Fcybersecurity-research-assistant","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshivadharmi%2Fcybersecurity-research-assistant/lists"}