Sign inSign up

0x890/shieldcheck

By 0x890

•Updated 12 months ago

All-in-one tool for SSL/TLS, network security, server configs, and GDPR/PCI compliance checks.

Image
Networking
Security
Developer tools
0

176

0x890/shieldcheck repository overview

⁠ShieldCheck - Docker Usage Guide

This guide explains how to use ShieldCheck with Docker for easy deployment and CI/CD integration.

⁠Quick Start

⁠Using Pre-built Image from Docker Hub
# Pull the latest image
docker pull 0x890/shieldcheck:v0.1

# Run a quick scan
docker run --rm 0x890/shieldcheck:v0.1 \
  python cli.py --target example.com --threshold 75

# Run with verbose output
docker run --rm 0x890/shieldcheck:v0.1 \
  python cli.py --target example.com --threshold 75 --verbose

⁠Building from Source

# Build the image locally
docker build -t shieldcheck .

# Run a scan
docker run --rm shieldcheck \
  python cli.py --target example.com --threshold 75

⁠Using Docker Compose

The project includes a docker-compose.yml file for easy web interface deployment:

# Start the web interface
docker-compose up

# Access at http://localhost:5000

Or run in detached mode:

docker-compose up -d

⁠Advanced Usage

⁠Saving Reports

Mount a volume to save reports locally:

docker run --rm -v $(pwd)/reports:/app/reports \
  0x890/shieldcheck:v0.1 \
  python cli.py --target example.com --format json --output /app/reports/report.json
⁠Using Configuration Files

Mount your .compliance.yml configuration:

docker run --rm -v $(pwd)/.compliance.yml:/app/.compliance.yml \
  0x890/shieldcheck:v0.1 \
  python cli.py --config /app/.compliance.yml
⁠Custom Network Settings

If scanning requires specific network access:

docker run --rm --network=host \
  0x890/shieldcheck:v0.1 \
  python cli.py --target localhost --threshold 75

⁠CI/CD Integration

⁠GitHub Actions
- name: Run ShieldCheck
  run: |
    docker pull 0x890/shieldcheck:v0.1
    docker run --rm 0x890/shieldcheck:v0.1 \
      python cli.py --target ${{ secrets.TARGET_DOMAIN }} --threshold 75
⁠GitLab CI/CD
compliance-scan:
  image: docker:latest
  services:
    - docker:dind
  script:
    - docker pull 0x890/shieldcheck:v0.1
    - docker run --rm 0x890/shieldcheck:v0.1
        python cli.py --target ${TARGET_DOMAIN} --threshold 75
⁠Jenkins
stage('Compliance Scan') {
    steps {
        sh '''
            docker pull 0x890/shieldcheck:v0.1
            docker run --rm 0x890/shieldcheck:v0.1 \
              python cli.py --target ${TARGET_DOMAIN} --threshold 75
        '''
    }
}

⁠Available Tags

  • v0.1 - Latest stable release from main branch
  • main - Latest build from main branch
  • main-abc1234 - Specific commit from main branch

⁠Image Details

  • Base Image: Python 3.11 slim
  • Installed Tools: nmap, net-tools, iputils-ping
  • Working Directory: /app
  • Exposed Port: 5000 (for web interface)
  • Platforms: linux/amd64, linux/arm64

⁠Environment Variables

⁠Web Interface
  • FLASK_ENV - Set to production for production deployment
  • PYTHONUNBUFFERED - Set to 1 for unbuffered Python output
⁠CLI

All CLI options can be passed as command arguments (no environment variables required).

⁠Troubleshooting

⁠Permission Issues on Windows

Use absolute paths when mounting volumes on Windows:

docker run --rm -v C:\path\to\reports:/app/reports \
  0x890/shieldcheck:v0.1 \
  python cli.py --target example.com --format json --output /app/reports/report.json
⁠Network Connectivity

If the scanner cannot reach your target:

# Use host network mode
docker run --rm --network=host \
  0x890/shieldcheck:v0.1 \
  python cli.py --target example.com --threshold 75

⁠Security Considerations

  • The container runs as root by default for nmap functionality
  • Only scan targets you own or have permission to test
  • Don't expose the web interface (port 5000) to the public internet without authentication
  • Use secrets management for production domains in CI/CD

⁠Building Multi-Architecture Images

To build for multiple platforms:

# Set up buildx
docker buildx create --use

# Build and push multi-arch image
docker buildx build --platform linux/amd64,linux/arm64 \
  -t 0x890/shieldcheck:v0.1 \
  --push .

⁠Publishing to Docker Hub

To publish your own version:

  1. Update the image name in docker-compose.yml and workflows
  2. Set up Docker Hub secrets in GitHub:
    • DOCKER_HUB_USERNAME
    • DOCKER_HUB_TOKEN
  3. Push to main branch or create a release
  4. GitHub Actions will automatically build and publish

⁠Support

For issues or questions:

Tag summary

Content type

Image

Digest

sha256:8b2724df3…

Size

104 MB

Last updated

12 months ago

docker pull 0x890/shieldcheck:v0.1