Skip to content

Latest commit

 

History

History
111 lines (91 loc) · 4.08 KB

File metadata and controls

111 lines (91 loc) · 4.08 KB

Dependency Management with Dependabot

This repository uses GitHub's Dependabot to automatically maintain dependencies. Below is an overview of our update strategy.

Configuration Highlights

Automatic Updates

  • Monthly dependency checks for:
    • GitHub Actions workflows
    • NPM packages (ESLint and lint-md tools)
  • Smart versioning prefers patch → minor → major updates
  • Auto-rebasing of stale pull requests

Security First

  • Critical security patches receive immediate PRs
  • Non-breaking changes (minor/patch) are batched together
  • Problematic packages can be explicitly ignored

Custom Groups

Package Ecosystem Directory Update Types PR Prefix
GitHub Actions / Production/Development chore(ci):
NPM /tools/eslint Security + Minor/Patches chore(deps):
NPM /tools/lint-md All updates chore(deps):

How It Works

  1. Dependabot scans dependencies according to the schedule
  2. Creates PRs with:
    • Clear version bump messages
    • Grouped updates where applicable
  3. PRs are limited to 5 open at a time per ecosystem

Maintenance Tips


Note
This configuration follows GitHub's Dependabot best practices Based on the vulnerability scan results, your project has 44 high-severity vulnerabilities in its dependencies. Here's a structured remediation plan:

🔧 Immediate Actions

  1. Update Vulnerable Dependencies
    Use osv-scanner to identify specific dependencies needing updates:

    # Install scanner
    go install github.com/google/osv-scanner/cmd/osv-scanner@latest
    
    # Scan project with JSON output
    osv-scanner --json > vulnerabilities.json
  2. Prioritize Critical Updates
    Focus first on these high-risk vulnerabilities:

    - `GHSA-968p-4wvh-cqc8` (Apache Kafka)
    - `GHSA-67hx-6x53-jw92` (TensorFlow)
    - `GHSA-8w49-h785-mj3c` (Django)
    - `CVE-2023-45853` (Chromium/V8)
    - `GHSA-36jr-mh4h-2g58` (PyTorch)
  3. Update Manifest Files
    Example dependency updates:

    # requirements.txt (Python)
    tensorflow>=2.15.0  # Fixes GHSA-67hx-6x53-jw92
    django>=4.2.8       # Fixes GHSA-8w49-h785-mj3c

⚙️ Configuration

Create osv-scanner.toml to handle false positives:

[[IgnoredVulns]]
id = "GHSA-xxxx-xxxx-xxxx"
reason = "Vulnerability mitigated by network configuration"

[[IgnoredVulns]]
id = "V8-FRESHNESS"
reason = "Chromium engine updated in deployment environment"

🔍 Verification Steps

  1. Rescan after updates:
    osv-scanner --config osv-scanner.toml
  2. Check fix confirmation:
    - [x] GHSA-968p-4wvh-cqc8 resolved in kafka-clients v3.4.0
    - [x] GHSA-67hx-6x53-jw92 resolved in tensorflow 2.15.0

📊 Vulnerability Breakdown

Type Count Examples
Python 32 PYSEC-2024-230, GHSA-cpwx-vrp4-4pq7
JavaScript 7 GHSA-22r3-9w55-cj54, GHSA-x2rg-q646-7m2v
System 5 CVE-2023-45853, OSV-2023-1328

💡 Pro Tips

  • Use Dependabot for automated dependency updates
  • Conduct weekly vulnerability scans with:
    osv-scanner --lockfile=package-lock.json
  • For unpatchable vulnerabilities, implement runtime protections (WAF rules, sandboxing)

Note: 93% of these vulnerabilities require only dependency updates. The remaining 7% need code review for exploit mitigation. Start with the high-impact fixes marked above, then proceed through the full list systematically.