Built with the tools and technologies:
- Overview
- Features
- Project Structure
- Getting Started
- Project Roadmap
- Contributing
- License
- Acknowledgments
An LLM powered system that detects CVEs in container images and offers a chatbot for insights into vulnerabilities and mitigation strategies
└── ingestion-pipeline/
├── .github
│ └── workflows
├── ChatCVE_logs.log
├── ChatCVE_logs.log.2024-12-10
├── README.md
├── __pycache__
│ ├── download.cpython-311.pyc
│ ├── processor.cpython-311.pyc
│ └── uploader.cpython-311.pyc
├── airflow
│ ├── Dockerfile
│ ├── __init__.py
│ ├── bin
│ ├── dags
│ ├── docker-compose.yaml
│ └── requirements.txt
├── artifacts
│ ├── image-urls.zip
│ └── image_urls.txt
├── chatbot
│ ├── .env
│ ├── README.md
│ ├── __pycache__
│ ├── llama_index_chatbot.py
│ └── main.py
├── chatbot_pg
│ ├── .env
│ ├── __pycache__
│ ├── db.py
│ └── main.py
├── consumer
│ ├── .dockerignore
│ ├── .env
│ ├── Dockerfile
│ ├── README.md
│ ├── __pycache__
│ ├── consumer.py
│ ├── main.py
│ ├── requirements.txt
│ ├── sample.env
│ └── snowflake_uploader.py
├── demo_examples
│ ├── Dockerfile_busybox_patch
│ └── Dockerfile_busybox_vul
├── download.py
├── extracted_files
│ └── deltaCves
├── images.txt
├── lc.py
├── llama-chatbot
│ ├── .env
│ ├── eval.py
│ └── main.py
├── processor.py
├── requirements.txt
└── scanner
├── ChatCVE_logs.log
├── __pycache__
└── scan.pyBefore getting started with ingestion-pipeline, ensure your runtime environment meets the following requirements:
- Programming Language: Error detecting primary_language: {'txt': 5, '2024-12-10': 1, 'py': 16, 'yaml': 1, 'json': 714, 'yml': 1}
- Package Manager: Pip
- Container Runtime: Docker
Install ingestion-pipeline using one of the following methods:
Build from source:
- Clone the ingestion-pipeline repository:
❯ git clone git@github.com:cve-data-engineering/ingestion-pipeline.git- Navigate to the project directory:
❯ cd ingestion-pipeline- Install the project dependencies:
❯ pip install -r requirements.txt- 💬 Join the Discussions: Share your insights, provide feedback, or ask questions.
- 🐛 Report Issues: Submit bugs found or log feature requests for the
ingestion-pipelineproject. - 💡 Submit Pull Requests: Review open PRs, and submit your own PRs.
Contributing Guidelines
- Fork the Repository: Start by forking the project repository to your LOCAL account.
- Clone Locally: Clone the forked repository to your local machine using a git client.
git clone git@github.com:cve-data-engineering/ingestion-pipeline.git
- Create a New Branch: Always work on a new branch, giving it a descriptive name.
git checkout -b new-feature-x
- Make Your Changes: Develop and test your changes locally.
- Commit Your Changes: Commit with a clear message describing your updates.
git commit -m 'Implemented new feature x.' - Push to LOCAL: Push the changes to your forked repository.
git push origin new-feature-x
- Submit a Pull Request: Create a PR against the original project repository. Clearly describe the changes and their motivations.
- Review: Once your PR is reviewed and approved, it will be merged into the main branch. Congratulations on your contribution!