This blog post consists of my journey in the Community Bonding period of GSoC 2k21
Hello everyone, I am Mrigank Anand a second-year student pursuing B.Tech in Computer Science from NIT Hamirpur. I have been selected as a student developer in Google summer of code under the OWASP (Open Web Application Security Project) organization & will be spending my summer working on Python Honeypot Project under the guidance of my mentors Ali Ramzoo and Dhiren Serai.
You can get more details about my project from here : Project Details
OWASP Honeypot framework helps you to automate and initialize your own honeypot/deception service using docker containers in a very easy and secure way. This project has several built-in modules, and multiple functionalities to add your own new modules based on your needs.
Here is my journey week wise:
Week1 (18th May to 24th May)
- Learning Docker: I got my hands dirty on Docker as the Python Honeypot project uses Docker for deployment of modules and web server.
- Setting up the development environment: Set up the development environment on macOS and Linux mint to test the features that I add over time on both operating systems and have a smooth development experience.
- Code Base: Took a deep dive into the codebase. Figured out how various things are working in the project. Found some minor bugs and I raised a couple of Pull Requests for the same.
Week2 (25th May to 31st May)
- Interacting with Mentors: During this week I got on a Video Call with mentors we got to know about each other more and discussed our project in great details like the major features to work on for know such as migrating database from elasticsearch to MongoDB so we can take full advantage of Grafana Dashboard to visualize data in greater detail.
- Learning to write Tests: I learned how to write tests in python as Test Driven Development is highly important for better program design and higher code quality. Errors can be easily detected using tests. Code Coverage also increases.
Week3 (1st June to 7th June)
- Learning ElasticSearch: I explored and learned how Elasticseach works, stores data, queries it. Learned it by using it adding, retrieving, updating, aggregating, and deleting data using various REST APIs ElasticSearch provides used them via Kibana console. Also used Elasticsearch python client to implement things I discussed above using code. Elasticsearch is amazing just use it.
- Back to Proposal: I revisited my proposal noted down all the features I have to work upon over the span of 10 weeks and now I'm ready for the coding period.
- Talking to Mentors: Being constantly in touch with mentors asking them doubts that I face. They solve them Immediately.
Coding Begins
while time.now() < deadline: code() and debug() and document()
Let's get ready to code
So those are the updates about my community boding period and I'll be back soon with a blog post on the Coding phase journey soon with weekly updates. 👋 👋 👋 👋