Skip to content

OpenHealth is an open-source Laravel API that scans websites for vulnerabilities and reports their security health. Simply send a URL, and OpenHealth checks it for potential risks, helping developers and teams keep their sites safe and secure.

License

Notifications You must be signed in to change notification settings

myissue-studio/open-health

Repository files navigation

OpenHealth Logo

OpenHealth

OpenHealth is an open-source Laravel API designed to scan websites for security vulnerabilities and provide a detailed report on their security health. By submitting a URL, users can receive a comprehensive analysis of potential risks, including checks for HTTPS, TLS versions, security headers, DNS configurations, and more. This tool helps developers, security professionals, and teams ensure their websites are safe, secure, and compliant with modern security standards.

Demo: Play around


Features

  • Website Security Scanning: Submit a URL to scan for vulnerabilities and receive a detailed security health report.
  • Comprehensive Checks: Evaluates multiple aspects of website security, including:
    • HTTPS and TLS version validation
    • Security headers (HSTS, CSP, X-Frame-Options, etc.)
    • DNS configurations (SPF, DKIM, DMARC, DNSSEC, etc.)
    • Cookie security (Secure, HttpOnly, SameSite attributes)
    • Server and resource configurations
  • API-Driven: Easily integrate with other applications via a RESTful API.
  • Detailed Reports: Returns a security score (0-100) and specific recommendations for improving website security.
  • Built with Laravel: Leverages Laravel's robust framework for scalability and ease of maintenance.
  • Open-Source: Fully open-source, allowing contributions and custom extensions.

Installation

To get started with OpenHealth, follow these steps:

  1. Clone the Repository:

    git clone [email protected]:myissue-studio/open-health.git
    cd open-health
  2. Install Dependencies:

    composer install
  3. Configure Environment:

    • Copy the .env.example file to .env and update it with your database and other configuration details.
    cp .env.example .env
  4. Generate Application Key:

    php artisan key:generate
  5. Run Migrations:

    php artisan migrate
  6. Start the Server:

    php artisan serve

The API will be available at http://localhost:8000 (or the port specified by Laravel).


API Routes

OpenHealth provides a RESTful API for interacting with the security scanning functionality. Below are the available endpoints:

Base URL

http://localhost:8000/api/v1

Endpoints

Method Endpoint Description
GET /security-test-basics List all security test records
GET /security-test-basics/{id} Retrieve a single security test record
POST /security-test-basics Create a new security test record
PUT /security-test-basics/{id} Update a security test record
PATCH /security-test-basics/{id} Partially update a security test record
DELETE /security-test-basics/{id} Delete a security test record

Usage Notes

  • Content-Type: Set to application/json for all requests.
  • Request Body: For POST, PUT, and PATCH requests, include a JSON body with the required fields (e.g., URL to scan).
  • Authentication: Currently, no middleware is applied. Authentication can be added as needed.

Example Request

To scan a website, send a POST request to /api/v1/security-test-basics:

curl -X POST http://localhost:8000/api/v1/security-test-basics \
-H "Content-Type: application/json" \
-d '{"url": "https://example.com"}'

Contributing

Thank you for considering contributing to OpenHealth! To contribute:

  1. Fork the repository.
  2. Create a feature branch (git checkout -b feature/YourFeature).
  3. Commit your changes (git commit -m 'Add YourFeature').
  4. Push to the branch (git push origin feature/YourFeature).
  5. Open a Pull Request.

Please ensure your code follows the project's coding standards and includes appropriate tests.

Security Vulnerabilities

If you discover a security vulnerability within OpenHealth, please send an email to the maintainers. We appreciate your help in keeping OpenHealth secure.

License

OpenHealth is open-sourced software licensed under the MIT License.

About

OpenHealth is an open-source Laravel API that scans websites for vulnerabilities and reports their security health. Simply send a URL, and OpenHealth checks it for potential risks, helping developers and teams keep their sites safe and secure.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages