How To Start Cybersecurity Hackathon With Clear Planning

Published

how to start cybersecurity hackathon
Table of Contents

Launching a cybersecurity hackathon demands precision in aligning technical rigor with strategic objectives while fostering innovation under structured constraints. This guide dissects the end-to-end process—from defining sponsor-aligned goals and crafting ethical challenge frameworks to deploying scalable infrastructure that balances security, accessibility, and competitive fairness. By addressing pre-event logistics, challenge design validation, and real-time event management, organizers can transform complex security concepts into engaging, measurable experiences that attract diverse talent and deliver tangible outcomes.

The foundation of a successful hackathon lies in meticulous preparation, where every phase—registration protocols, team composition rules, and post-event feedback loops—must align with both participant skill levels and sponsor expectations. Technical challenges must be curated with forensic precision, ensuring difficulty tiers cater to novices and experts alike while mitigating risks like unintended exploits or bias in problem design. Meanwhile, the infrastructure underpinning the event—from cloud-based challenge delivery to real-time scoring systems—requires robust architecture to prevent abuse, ensure fairness, and maintain operational resilience throughout the competition.

how to start cybersecurity hackathon

Defining and Planning a Cybersecurity Hackathon

Cybersecurity hackathons serve as immersive platforms for innovation, skill development, and collaborative problem-solving in digital defense. Their core objectives blend technical challenges—such as vulnerability discovery, exploit development, or secure system design—with non-technical goals like fostering community engagement, ethical awareness, and sponsor alignment. Successful hackathons balance these elements by structuring clear deliverables, participant eligibility, and ethical guidelines while ensuring sponsors receive measurable value, such as brand visibility, talent pipeline access, or research insights.

The planning phase transforms abstract goals into actionable timelines, requiring meticulous coordination between organizers, sponsors, and participants. Below is a structured framework to define objectives, design phases, and align expectations.

Core Objectives and Sponsor Alignment

Cybersecurity hackathons achieve dual-purpose outcomes: technical mastery (e.g., penetration testing, cryptography, or secure coding) and strategic business goals (e.g., talent acquisition, product validation, or threat intelligence sharing). Sponsors typically prioritize visibility, lead generation, or access to innovative solutions, while participants seek skill validation, networking, or career opportunities.

To align these interests, organizers should:

  • Define measurable KPIs for sponsors (e.g., "100+ registered participants," "5 sponsor-led workshops," or "3 demo pitches per sponsor").
  • Categorize objectives into tiers:
  • Technical: Exploit development, CTF (Capture-the-Flag) challenges, or secure API design.
  • Educational: Workshops on emerging threats (e.g., AI-driven attacks, IoT vulnerabilities) or tool demonstrations (e.g., Burp Suite, Metasploit).
  • Community: Diversity in participation, mentorship programs, or post-event collaboration hubs.
  • Sponsor-specific: Custom challenges tied to a sponsor’s product (e.g., "Find vulnerabilities in our authentication system").
  • Example Sponsor Alignment Table:

    Sponsor Goal Hackathon Objective Delivery Mechanism
    Brand Awareness Increase sponsor visibility among cybersecurity professionals Logo placement on swag, sponsor booths, and live-streamed presentations
    Talent Pipeline Identify and engage potential employees Resume collection, technical interviews, and sponsor-led hackathon challenges
    Product Validation Test real-world applicability of security tools Dedicated challenges using sponsor software (e.g., "Detect SQLi in our WAF")
    Threat Intelligence Gather insights on emerging attack vectors Post-hackathon debrief sessions with sponsors sharing findings
    Key Consideration:
    Ethical hackathons must adhere to responsible disclosure principles. Sponsors should sign Non-Disclosure Agreements (NDAs) for proprietary challenges, and organizers must enforce rules prohibiting illegal activities (e.g., attacking live systems without permission).

    Hackathon Timeline Framework

    A well-structured timeline ensures smooth execution across pre-event, live, and post-event phases. Below is a modular 12-week framework, adaptable to virtual or in-person formats.

    Pre-Event Phase (Weeks 1–6): Registration and Preparation

  • Week 1–2: Conceptualization and Sponsor Onboarding
  • Finalize hackathon theme (e.g., "Defending Against Supply Chain Attacks").
  • Draft sponsorship proposals with tiered benefits (see Sponsor Engagement Plan below).
  • Secure venue (physical/virtual) and AV equipment for live streams.
  • - Week 3: Problem Statement Development

  • Create challenge briefs with:
  • Technical scope (e.g., "Exploit a misconfigured Kubernetes cluster").
  • Difficulty levels (Beginner/Intermediate/Advanced).
  • Expected deliverables (e.g., PoC exploit, patch proposal, or whitepaper).
  • Example:
  • Challenge: "Reverse Engineer a Malicious Python Script"
    Objective: Identify the script’s payload, origin, and mitigation steps.
    Tools Allowed: Ghidra, Radare2, Python bytecode analyzers.
    Restriction: No external API calls during the live round.
  • Week 4: Registration and Team Formation
  • Open registrations via platforms like Devpost, HackerRank, or custom portals.
  • Define eligibility criteria (see Participant Eligibility section).
  • Implement team formation tools (e.g., Slack channels, Discord bots) to pair participants by skill level.
  • - Week 5: Workshop and Toolkit Distribution

  • Host pre-event workshops on:
  • Hackathon-specific tools (e.g., Docker for isolated environments).
  • Ethical hacking fundamentals (e.g., OSINT, privilege escalation).
  • Distribute participant toolkits (e.g., virtual machines with pre-loaded CTF environments).
  • Live Event Phase (Week 7–8): Execution

  • Day 1: Kickoff and Orientation
  • Sponsor introductions and challenge unveiling.
  • Rules review: Ethical boundaries, scoring criteria, and prohibited activities.
  • Team check-ins to resolve technical setup issues.
  • - Day 2–3: Hacking Round

  • Structured time blocks (e.g., 4-hour sprints) with judge rotations for feedback.
  • Real-time monitoring for rule violations (e.g., using AI-driven chatbots to flag suspicious discussions).
  • Post-Event Phase (Weeks 9–12): Judging and Follow-Up

  • Week 9: Submission Review
  • Automated scoring for objective challenges (e.g., "Most vulnerabilities found in X hours").
  • Manual review by sponsor/judge panels for subjective criteria (e.g., creativity, documentation).
  • - Week 10: Final Presentations and Awards

  • Demo sessions where teams pitch solutions (recorded for sponsors).
  • Award ceremony with sponsor-specific prizes (e.g., "Best Use of [Sponsor Tool]").
  • - Week 11–12: Feedback and Community Engagement

  • Post-mortem report distributed to participants and sponsors.
  • Follow-up challenges (e.g., "Top 5 teams invited to a red-team exercise").
  • Participant Eligibility Criteria

    Eligibility criteria ensure a balanced skill distribution while maintaining inclusivity. Below is a template document for organizers to customize:

    Technical Prerequisites:

    • Beginner Level:
    • Basic knowledge of Linux command line and scripting (Python/Bash).
    • Familiarity with cybersecurity fundamentals (e.g., OWASP Top 10, network protocols).
    • Tools: None required; workshops provided.
    • Intermediate Level:
    • Experience with vulnerability assessment tools (e.g., Nmap, Nikto).
    • Understanding of exploit development (e.g., Metasploit, Exploit-DB).
    • Tools: Burp Suite, Wireshark, or Git for collaboration.
    • Advanced Level:
    • Proficiency in reverse engineering (e.g., x86 assembly, IDA Pro).
    • Hands-on experience with red/blue team exercises.
    • Tools: Custom kernel modules, hardware hacking (e.g., Raspberry Pi for IoT challenges).
    Team Composition Rules:
    • Team Size Limits:
    • Minimum: 2 participants (encourages collaboration).
    • Maximum: 5 participants (prevents resource monopolization).
    • Exception: Solo participants allowed for "Individual Mastery" challenges.
    • Diversity Requirements:
    • At least one member with offensive security skills (e.g., penetration tester).
    • At least one member with defensive skills (e.g., incident responder).
    • Optional: Role-based tags (e.g., "Cryptographer," "Forensic Analyst") for team formation.
    Restrictions During Live Rounds:
    • Prohibited Activities:
    • Attacks on live production systems without explicit sponsor permission.
    • Denial-of-Service (DoS/DDoS) or social engineering against external
    • how to start cybersecurity hackathon - Ilustrasi 2

      Selecting and Preparing Challenges for a Cybersecurity Hackathon

      Designing an effective cybersecurity hackathon hinges on the quality and diversity of its challenges. Well-curated challenges should align with the event’s objectives—whether fostering skill development, simulating real-world threats, or promoting collaborative problem-solving. The process involves sourcing, customizing, and validating challenges while ensuring technical feasibility, fairness, and scalability. This section outlines methodologies for challenge curation, categorization, technical implementation, and validation, along with tools and best practices for challenge creation.

      Sourcing Challenges from Open-Source Repositories

      Open-source platforms provide a vast repository of pre-built challenges, reducing development time while ensuring tested difficulty levels. Key sources include:
    • CTFd (Capture The Flag Framework): A flexible platform hosting challenges from beginner to advanced, often with modular designs for easy integration.
    • Hack The Box (HTB): Offers machine-based challenges (e.g., "Oracle," "Start") that simulate real-world penetration testing scenarios.
    • OverTheWire: Features text-based challenges (e.g., "Bandit," "Natas") focusing on Linux fundamentals, scripting, and web exploitation.
    • TryHackMe: Provides structured paths (e.g., "Offensive Pentesting," "Cryptography") with guided challenges, ideal for beginners.
    • Considerations for Adoption:

    • Licensing: Verify challenge licenses (e.g., MIT, Creative Commons) to ensure compliance with redistribution terms.
    • Relevance: Align challenges with the hackathon’s theme (e.g., IoT security, reverse engineering) to avoid misalignment with participant skill sets.
    • Modularity: Prefer challenges with isolated components (e.g., standalone web apps, Dockerized services) to simplify deployment.
    • Example Workflow:
      1. Download challenge files (e.g., Docker images, source code) from repositories like CTFtime or HTB’s VulnHub.
      2. Test challenges locally to confirm functionality and difficulty before bulk deployment.
      3. Modify metadata (e.g., flags, hints) to fit the hackathon’s branding or scoring system.

      Customizing and Commissioning Original Challenges

      Original challenges enhance uniqueness and relevance but require significant effort. Customization involves adapting existing problems or collaborating with experts to design novel ones. Key approaches include:

      Adapting Existing Challenges:

    • Thematic Rebranding: Transform a generic web exploitation challenge into a healthcare-themed scenario (e.g., "Exploiting a Hospital Patient Portal").
    • Difficulty Tuning: Adjust constraints (e.g., reduce hint availability, add time limits) to shift a challenge from intermediate to advanced.
    • Toolchain Updates: Replace deprecated tools (e.g., Metasploit modules) with modern alternatives (e.g., Cobalt Strike for red teaming).
    • Commissioning Original Content:

    • Expert Collaboration: Partner with cybersecurity professionals (e.g., bug bounty hunters, academia) to design challenges based on emerging threats (e.g., quantum-resistant cryptography, AI-driven attacks).
    • Industry-Specific Scenarios: Create challenges mirroring real-world sectors (e.g., "Breaching a Smart Grid System") using frameworks like MITRE ATT&CK.
    • Gamified Learning: Develop "escape room"-style challenges where participants solve puzzles to progress (e.g., "Decrypt the CEO’s Email" → "Access the Database").
    • Example Customization Checklist:

    • Scenario Development: Define a narrative (e.g., "You are a red teamer infiltrating a fintech firm").
    • Flag Design: Use cryptographically secure flags (e.g., base64-encoded SHA-256 hashes) to prevent brute-force solutions.
    • Solution Validation: Test challenge solutions with a "golden path" (intended exploit) and alternative approaches (e.g., privilege escalation via kernel exploits).
    • Categorizing Challenges by Difficulty and Theme

      Structured categorization ensures inclusivity and progressive learning. Challenges should be labeled by:
    • Difficulty Levels:
    • Beginner: Focuses on foundational skills (e.g., SQL injection, basic cryptography).
    • Example: "SQLi in a Login Page" (using DVWA or OWASP Juice Shop).
    • Intermediate: Introduces complexity (e.g., binary exploitation, multi-stage attacks).
    • Example: "Return-Oriented Programming (ROP) on a 32-bit Binary" (using Pwntools).
    • Advanced: Requires deep expertise (e.g., kernel exploits, hardware hacking).
    • Example: "Exploiting a Custom Kernel Module" (using Ghidra + QEMU).

      - Thematic Categories:

    • Web Exploitation: Challenges involving OWASP Top 10 vulnerabilities (e.g., XSS, CSRF).
    • Cryptography: Problems like "Breaking RSA with Weak Parameters" or "Side-Channel Attacks on AES".
    • Forensics: Analyzing malware samples (e.g., "Reverse Engineer a Python RAT") or disk images (e.g., "Extract Hidden Data from a Corrupted File").
    • Reverse Engineering: Decompiling binaries (e.g., "Find the Hidden Flag in a Stripped ELF").
    • Networking: Exploiting protocols (e.g., "Man-in-the-Middle on WPA2-Enterprise").
    • Miscellaneous: Puzzles combining multiple skills (e.g., "Steganography + Cryptography Hybrid Challenge").
    • Balancing Categories:

    • Allocate 30–40% of challenges to beginner levels to onboard participants.
    • Ensure 20–30% are intermediate to challenge mid-level attendees.
    • Reserve 10–20% for advanced challenges to attract experts and foster competition.
    • Include 5–10% "wildcard" challenges (e.g., hardware-based) to surprise participants.
    • Technical Requirements for Hosting Challenges

      Hosting challenges demands robust infrastructure to ensure security, performance, and scalability. Key components include:

      Server Infrastructure:

    • Docker Containers: Ideal for isolating challenges (e.g., using `docker-compose` to deploy a vulnerable web app with a database).
    • Example: Deploy a containerized instance of DVWA with a custom flag.
    • Virtual Machines (VMs): Useful for complex setups (e.g., simulating a corporate network with Active Directory).
    • Example: A VM running Kali Linux with a vulnerable Windows 10 machine (using Metasploitable 3).
    • Cloud Providers: Leverage AWS (e.g., EC2 with auto-scaling) or Google Cloud for dynamic challenge deployment during large-scale events.
    • On-Premises Solutions: For controlled environments, use tools like Proxmox or VirtualBox with network segmentation.
    • Scoring Systems:

    • Automated Flag Validation: Use regex or cryptographic checks (e.g., `flag{correct_hash}`) to verify submissions via APIs (e.g., CTFd’s `/flag` endpoint).
    • Manual Review: Reserve for challenges requiring subjective evaluation (e.g., write-ups, creative solutions).
    • Dynamic Scoring: Adjust points based on challenge difficulty (e.g., advanced challenges = 500 points, beginner = 100 points).
    • Platform Integration:

    • CTFd/TryHackMe: Native support for challenge deployment, user management, and scoring.
    • OverTheWire: Lightweight for text-based challenges but requires custom scripting for integration.
    • Custom APIs: For bespoke platforms, use REST endpoints to sync challenges, flags, and scores (e.g., Flask + PostgreSQL).
    • Example Infrastructure Setup:

      Challenge Type | Hosting Method | Tools Used
      ---------------------|-------------------------|----------------------------------
      Web App | Docker Container | Nginx, PHP, MySQL, CTFd Plugin
      Binary Exploitation | VM (Kali Linux) | Pwntools, GDB, Radare2
      Forensics | Cloud Storage (S3) | Volatility, Autopsy, FTK Imager
      Cryptography | Static Files (GitHub) | PyCryptodome, OpenSSL

      Validating Challenge Security and Fairness

      Poorly designed challenges can introduce unintended vulnerabilities, bias, or exploitability issues. A validation checklist ensures robustness:

      Security Testing:

    • Sandbox Escapes: Verify challenges cannot break out of their isolated environments (e.g., Docker `cap_drop` flags, seccomp profiles).
    • Unintended Vulnerabilities: Use automated scanners (e.g., `lynis`, `nmap`) and manual audits to check for additional exploits.
    • Flag Leakage: Ensure flags are not exposed in error messages, logs, or metadata (e.g., Git history).
    • Dependency Risks: Audit third-party libraries
    • Building the Event Infrastructure and Technology Stack

      A cybersecurity hackathon requires a robust, scalable, and secure infrastructure to deliver challenges, manage participant interactions, and ensure real-time operations without disruptions. The architecture must balance performance, security, and cost-efficiency while accommodating dynamic workloads, such as sudden spikes in traffic or challenge exploitation attempts. Below is a structured breakdown of the technical components, hardware requirements, and security measures necessary to build a resilient hackathon platform.

      Architecture of a Hackathon Platform

      The platform architecture follows a modular microservices design, separating concerns into distinct frontend, backend, and challenge delivery layers. This approach ensures scalability, easier maintenance, and fault isolation.

      Frontend Components
      The user-facing layer is built using modern frameworks to provide a seamless experience for participants, organizers, and admins. Key considerations include:

    • Framework Selection: React.js or Vue.js for dynamic, single-page applications (SPAs) with real-time updates. React’s component-based architecture aligns well with modular challenge interfaces, while Vue.js offers simplicity for rapid development.
    • UI/UX Design: Prioritize accessibility (WCAG compliance), responsive layouts, and intuitive navigation. For example, a dashboard should display challenge progress, leaderboards, and submission statuses in real time.
    • State Management: Use Redux or Context API (React) or Pinia/Vuex (Vue.js) to handle participant actions, such as flag submissions or challenge switches, without page reloads.
    • Real-Time Features: Integrate WebSocket connections (via libraries like Socket.io) for live scoring, chat notifications, or admin alerts. Example: A participant’s flag submission triggers an instant validation check and updates the leaderboard.
    • Backend Components
      The backend orchestrates authentication, challenge execution, scoring, and data persistence. A serverless or containerized microservices approach is recommended for flexibility:

    • API Layer: RESTful or GraphQL APIs (using Node.js with Express or Python with FastAPI) to handle CRUD operations for challenges, submissions, and user profiles.
    • Authentication Service: Centralized OAuth 2.0 (via Auth0, Okta, or Keycloak) or LDAP for participant and admin logins. Implement multi-factor authentication (MFA) for admin panels.
    • Challenge Execution Engine: A dedicated service (e.g., Docker containers or serverless functions) to isolate challenge environments. For instance, a web hacking challenge might run in a container with preconfigured vulnerabilities.
    • Database Layer: PostgreSQL or MongoDB for structured/unstructured data, respectively. Use read replicas for leaderboard queries to reduce latency.
    • Real-Time Processing: Kafka or RabbitMQ for event-driven workflows, such as broadcasting score updates or triggering automated challenge resets.
    • Integration Points

    • Authentication Flows: OAuth tokens are validated via JWT (JSON Web Tokens) and mapped to participant roles (e.g., "hacker," "admin").
    • Challenge Delivery: Backend APIs communicate with the challenge execution layer via gRPC or HTTP triggers, ensuring low-latency responses.
    • Scoring System: A separate microservice aggregates flag submissions, validates them against expected solutions, and updates a Redis cache for real-time leaderboard rendering.
    • Hardware Requirements and Deployment Strategies

      The choice of infrastructure depends on budget, participant scale, and challenge complexity. Below are three deployment models with cost estimates (based on 2023 AWS/GCP pricing for 1,000 participants):

      1. Cloud-Based (AWS/GCP)

    • Compute: Auto-scaling groups of EC2 instances (t3.medium for APIs, t3.large for challenge execution) or Kubernetes clusters (EKS/GKE) for containerized challenges.
    • Storage: EBS volumes (gp3) for databases (~$0.08/GB-month) and S3 for static assets (~$0.023/GB).
    • Networking: Load balancers (ALB/NLB) for traffic distribution (~$0.022/hour) and Cloudflare for DDoS protection (~$20/month).
    • Cost Estimate: ~$500–$1,500 for a 48-hour event, excluding data transfer fees. Example: A GCP setup with 5 regional nodes and 100 challenge containers costs ~$1,200.
    • 2. On-Premise Servers

    • Hardware: Dual-socket servers (e.g., Dell PowerEdge R740) with 64GB RAM and NVMe SSDs for databases. Example: A single server costs ~$8,000 (capital expenditure).
    • Networking: Firewall appliances (Palo Alto or Fortinet) and dedicated bandwidth (10Gbps uplink) to handle traffic spikes.
    • Cost Estimate: ~$10,000+ for hardware, plus maintenance and electricity (~$200/month). Suitable for organizations with existing infrastructure.
    • 3. Hybrid Model

    • Cloud for Scalability: Host APIs and databases on AWS/GCP, while running challenge containers on-premise via VPN tunneling.
    • Use Case: Organizations with sensitive challenges (e.g., government CTFs) may prefer local execution to avoid data residency issues.
    • Cost Estimate: ~$800–$2,000, with reduced cloud compute needs.
    • Key Considerations for Hardware

    • Challenge-Specific Needs: High-interaction challenges (e.g., binary exploitation) require more CPU/memory (e.g., c5.2xlarge instances).
    • Redundancy: Deploy databases in multi-AZ configurations to prevent downtime during failovers.
    • Egress Costs: Monitor data transfer fees, especially for file uploads/downloads (e.g., challenge artifacts).
    • Network Security Blueprint for Hackathon Protection

      A cybersecurity hackathon is a high-value target for abuse, including brute-force attacks, challenge exploitation, or data scraping. The following measures mitigate risks:

      1. Perimeter Security

    • Firewalls: Deploy stateful firewalls (e.g., AWS Security Groups, GCP Firewall Rules) to restrict traffic between services. Example rule: Allow only ports 80/443 (frontend), 22/8080 (challenge containers), and 5432 (PostgreSQL) from internal subnets.
    • VPN/Zero Trust: Enforce VPN access for admin panels (OpenVPN or WireGuard) and use zero-trust principles (e.g., Google BeyondCorp) for internal services.
    • DDoS Mitigation: Configure Cloudflare or AWS Shield Advanced to absorb volumetric attacks. Example: A 10Gbps attack on a frontend API is mitigated at the edge.
    • 2. Traffic Monitoring and Anomaly Detection

    • SIEM Integration: Forward logs to Splunk or ELK Stack for correlation. Example: Alert on 100+ failed login attempts within 5 minutes.
    • Rate Limiting: Implement API rate limits (e.g., 60 requests/minute per participant) using Nginx or Cloudflare Workers.
    • Behavioral Analysis: Use tools like Wazuh or OSSEC to detect suspicious activity, such as rapid flag submissions or port scans from a single IP.
    • 3. Challenge Isolation

    • Network Segmentation: Isolate challenge containers in private subnets with no direct internet access. Use NAT gateways for outbound traffic only.
    • Ephemeral Environments: Spin up challenge containers dynamically (e.g., via Terraform) and destroy them after use to limit exposure.
    • Honeypots: Deploy decoy challenges with fake flags to trap scanners and log attacker IPs.
    • 4. Incident Response Plan

    • Automated Rollback: Use infrastructure-as-code (IaC) tools (Terraform, Ansible) to revert compromised challenges to a known state.
    • Kill Switch: Implement a centralized admin dashboard to terminate all challenge instances if a critical vulnerability is exploited.
    • Challenge Delivery Pipeline: From Submission to Live Deployment

      A streamlined pipeline ensures challenges are deployed securely, tested, and updated without manual intervention. Below is a step-by-step workflow:

      1. Challenge Submission and Validation

    • Authoring Tool: Provide a web interface (e.g., built with React) where challenge authors upload:
    • Challenge description (Markdown/PDF).
    • Solution flags (hashed and stored securely).
    • Artifacts (Dockerfiles, VM images, or source code).
    • Automated Checks:
    • Syntax validation (e.g., YAML for challenge metadata).
    • Static analysis (e.g., Bandit for Python scripts, SAST tools for binaries).
    • Dependency scanning (e.g., OWASP Dependency-Check for containers).
    • 2. Build and Packaging

    • Containerization: Convert challenges into Docker images with minimal base images (e.g., `alpine` for binaries, `python:3.9-slim` for web apps).
    • Signing: Sign images with Cosign or Docker Content Trust to prevent tampering.
    • Artifact Storage: Store images in a private registry (e.g., AWS ECR, GCR) with lifecycle policies to auto-delete old versions.
    • 3. Staging Environment

    • Test Deployment

      A cybersecurity hackathon is more than a technical competition; it is a controlled sandbox where creativity clashes with adversarial thinking under ethical guardrails. By adhering to structured planning—from drafting a comprehensive charter that enforces data privacy and prohibits malicious activities to deploying challenges validated for security and fairness—organizers can cultivate an environment where participants not only solve problems but also learn, collaborate, and push the boundaries of defensive and offensive security. The culmination of these efforts yields not just winners, but a blueprint for future events that refine industry standards, attract top talent, and bridge the gap between theoretical knowledge and practical mastery in cybersecurity.

    • Leave a Comment

      Comments are moderated before appearing. The data you submit is processed according to the Privacy Policy of ir.msu.ac.zw.