{"id":20447729,"url":"https://github.com/mawg0ud/cveforge","last_synced_at":"2026-04-04T13:39:44.397Z","repository":{"id":249916048,"uuid":"832577668","full_name":"mawg0ud/CVEForge","owner":"mawg0ud","description":"A tool to track \u0026 analyze Common Vulnerabilities and Exposures (CVEs).","archived":false,"fork":false,"pushed_at":"2024-08-19T03:35:05.000Z","size":35,"stargazers_count":8,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-15T21:57:30.639Z","etag":null,"topics":["automation","cve","cybersecurity","detection","exploit","infosec","malware","pentesting","python","risk","security","vulnerability"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mawg0ud.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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-07-23T09:55:30.000Z","updated_at":"2024-12-13T13:52:22.000Z","dependencies_parsed_at":"2024-08-19T04:40:00.933Z","dependency_job_id":null,"html_url":"https://github.com/mawg0ud/CVEForge","commit_stats":null,"previous_names":["mawg0ud/cveforge"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mawg0ud%2FCVEForge","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mawg0ud%2FCVEForge/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mawg0ud%2FCVEForge/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mawg0ud%2FCVEForge/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mawg0ud","download_url":"https://codeload.github.com/mawg0ud/CVEForge/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241997290,"owners_count":20055113,"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":["automation","cve","cybersecurity","detection","exploit","infosec","malware","pentesting","python","risk","security","vulnerability"],"created_at":"2024-11-15T10:28:56.070Z","updated_at":"2026-04-04T13:39:44.338Z","avatar_url":"https://github.com/mawg0ud.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# CVEForge\n\nThis repository tracks the latest Common Vulnerabilities and Exposures (CVE). It includes:\n- A script to scrape CVE databases for the latest vulnerabilities.\n- Analysis of significant CVEs, explaining their impact and mitigation.\n- Scripts for automating the notification of new CVEs related to specific software.\n\n## Features\n\n- **Fetch Latest CVEs**: Fetches the latest CVEs from the NVD API.\n- **Analyze CVEs**: Analyzes fetched CVEs to determine significance based on CVSS scores.\n- **Notify Users**: Notifies users via email about significant CVEs related to their subscribed software.\n- **API Endpoints**: Provides a RESTful API to interact with the CVE database and user preferences.\n\n## Getting Started\n\n### Prerequisites\n\n- Python 3.6 or higher\n- pip (Python package installer)\n\n### Setup\n\n1. **Clone the Repository**:\n    ```bash\n    git clone https://github.com/mawg0ud/CVEForge.git\n    cd CVEForge\n    ```\n\n2. **Create a Virtual Environment**:\n    ```bash\n    python -m venv venv\n    ```\n\n3. **Activate the Virtual Environment**:\n    - On Windows:\n        ```bash\n        .\\venv\\Scripts\\activate\n        ```\n    - On macOS and Linux:\n        ```bash\n        source venv/bin/activate\n        ```\n\n4. **Install the Dependencies**:\n    ```bash\n    pip install -r requirements.txt\n    ```\n\n5. **Configure Environment Variables**:\n    - Create a `.env` file in the root directory and add the following configuration settings:\n    ```env\n    NVD_API_URL=https://services.nvd.nist.gov/rest/json/cves/1.0\n    RESULTS_PER_PAGE=2000\n    DATE_FORMAT=%Y-%m-%dT%H:%M:%S:%fZ\n\n    RAW_DATA_DIR=backend/data/raw\n    PROCESSED_DATA_DIR=backend/data/processed\n    SIGNIFICANT_CVE_FILE=significant_cve.json\n\n    USER_DB=backend/data/users.db\n\n    SMTP_SERVER=smtp.example.com\n    SMTP_PORT=587\n    SMTP_USERNAME=your_email@example.com\n    SMTP_PASSWORD=your_email_password\n    EMAIL_SENDER=your_email@example.com\n\n    LOG_FILE=backend/logs/app.log\n    LOG_LEVEL=INFO\n    ```\n\n6. **Initialize the User Database**:\n    - Create the SQLite database and table for user preferences:\n    ```bash\n    sqlite3 backend/data/users.db \"CREATE TABLE user_preferences (email TEXT, software TEXT);\"\n    ```\n\n## Usage\n\n1. **Run the Application**:\n    ```bash\n    python app.py\n    ```\n\n2. **API Endpoints**:\n    - **Fetch CVE Data**: `GET /fetch`\n    - **Analyze CVE Data**: `GET /analyze`\n    - **Notify Users**: `GET /notify`\n    - **Get Significant CVEs**: `GET /significant-cves`\n    - **Add User Preference**: `POST /add-user`\n        - JSON Body: `{\"email\": \"user@example.com\", \"software\": \"software1\"}`\n\n    You can test the API endpoints using tools like `curl` or Postman.\n\n## Example Requests\n\n- **Fetch CVE Data**:\n    ```bash\n    curl -X GET http://127.0.0.1:5000/fetch\n    ```\n\n- **Analyze CVE Data**:\n    ```bash\n    curl -X GET http://127.0.0.1:5000/analyze\n    ```\n\n- **Notify Users**:\n    ```bash\n    curl -X GET http://127.0.0.1:5000/notify\n    ```\n\n- **Get Significant CVEs**:\n    ```bash\n    curl -X GET http://127.0.0.1:5000/significant-cves\n    ```\n\n- **Add User Preference**:\n    ```bash\n    curl -X POST http://127.0.0.1:5000/add-user -H \"Content-Type: application/json\" -d '{\"email\": \"user@example.com\", \"software\": \"software1\"}'\n    ```\n\n## Contributing\n\nContributions are welcome! Please submit a pull request or open an issue to discuss the changes you wish to make.\n\n## License\n\nThis project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmawg0ud%2Fcveforge","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmawg0ud%2Fcveforge","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmawg0ud%2Fcveforge/lists"}