⚡ DepShield is running on a free Cloudflare Workers account for demo purposes, not production-grade infrastructure. Built for the Google Cloud Rapid Agent Hackathon.
Back to docs

Business Requirements Document (BRD)

DepShield : AI-Powered Dependency Intelligence Agent

Version: 1.0
Date: May 2026
Status: Draft
Hackathon: Google Cloud Rapid Agent Hackathon


1. Executive Summary

DepShield is an AI-powered dependency intelligence agent that scans software repositories for vulnerable and abandoned open-source packages. Unlike existing tools that only alert developers to known CVEs, DepShield detects silent abandonment risks and automatically creates tested migration Pull Requests or Merge Requests - eliminating hours of manual remediation work.


2. Problem Statement

2.1 Background

Modern software projects depend on hundreds of open-source packages. The average Node.js project has 150-600 direct and transitive dependencies. Developers rarely monitor the health of these packages after initial installation.

2.2 The Gap in Existing Solutions

ToolCVE DetectionAbandonment DetectionAuto-Migration
Snyk
Dependabot❌ (version bumps only)
Socket.devPartial
Libraries.ioPartial
DepShield

2.3 Core Problem

Developers face two distinct dependency risks:

Risk 1 - Known Vulnerabilities (CVEs) A specific version of a package has a documented security flaw. Existing tools handle this reasonably well.

Risk 2 - Silent Abandonment A package is no longer maintained. No commits for 18+ months, declining downloads, community migrating elsewhere, no security patches being released. Developers discover this only when a CVE drops with no available fix, or when the package breaks due to incompatibility.

The real cost: A developer discovering a critical abandoned dependency spends 4-8 hours manually researching alternatives, migrating code, testing, and opening a PR. This happens repeatedly across teams.

2.4 Real-World Examples

  • 'request' - 22M weekly downloads at peak, officially deprecated Feb 2020, millions of projects still use it
  • 'node-uuid' - deprecated in favor of 'uuid'
  • 'moment.js' - legacy mode, maintainers recommend migration to 'dayjs' or 'date-fns'
  • 'event-stream' - compromised due to abandoned maintainer transferring ownership
  • 'faker.js' - maintainer intentionally deleted the package overnight

3. Business Objectives

#ObjectiveSuccess Metric
1Detect both CVE and abandonment risksRisk detection accuracy >90%
2Reduce manual migration timeFrom 4-8 hours to <5 minutes
3Support multiple ecosystemsnpm, Python, Go, Java, Ruby, PHP, Rust
4Deliver actionable outputTested PR/MR created automatically
5Demonstrate meaningful MCP integrationElastic MCP load-bearing in architecture

4. Target Users

4.1 Primary User - Individual Developer

Profile:

  • Full-stack or backend developer
  • Works on 1-5 projects simultaneously
  • Uses npm, pip, or Go modules
  • Aware of Snyk/Dependabot but frustrated by alert fatigue

Pain Point: Receives 50+ Dependabot alerts per month. Most are noise. The ones that matter require hours of manual work to fix.

Goal: Paste a repo URL, understand which dependencies are actually dangerous, and get a ready-to-merge fix automatically.

4.2 Secondary User - Engineering Team Lead

Profile:

  • Manages 3-10 engineers
  • Responsible for codebase security and technical debt
  • Reviews PRs before merge

Pain Point: No visibility into dependency health across the team's projects. Technical debt accumulates silently.

Goal: Weekly dependency health report across all team repos. Auto-generated PRs that engineers can review and merge without additional research.

4.3 Tertiary User - Open Source Maintainer

Profile:

  • Maintains a public library or tool
  • Wants to keep dependencies current
  • Limited time for maintenance tasks

Pain Point: Manually tracking which dependencies are becoming risky is time-consuming.

Goal: Automated dependency health monitoring with minimal setup.


5. Scope

5.1 In Scope - MVP (Hackathon Submission)

  • Repository scanning via public GitHub/GitLab URL
  • Ecosystem detection: npm, Python, Go, Java, Ruby, PHP, Rust
  • Full scan + migration: npm only
  • Risk detection: CVE check via OSV.dev + abandonment via npm/GitHub APIs
  • Elastic MCP for intelligent package signal search
  • GitLab MCP for automated MR creation
  • GitHub REST API for automated PR creation
  • Risk dashboard with heatmap
  • Migration simulation (dry run)
  • Automated migration with CI + MR/PR creation
  • Google OAuth authentication
  • Encrypted PAT token storage
  • Scan history with resume capability
  • Documentation site (markdown rendered in-app)

5.2 Out of Scope - MVP

  • Full migration support for Python, Go, Java (detection only)
  • Bitbucket support
  • Slack/Discord notifications
  • Team/organization accounts
  • CI/CD pipeline integration (GitHub Actions, GitLab CI config)
  • Paid plans / billing

5.3 Post-Hackathon Roadmap

  • Full migration for Python, Go, Java
  • Bitbucket support
  • Team dashboards
  • Slack/Discord/Email notifications
  • GitHub App integration
  • Scheduled automatic scans
  • PR review agent

6. Functional Requirements

6.1 Repository Scanning

IDRequirementPriority
FR-001Accept GitHub and GitLab repo URLsP0
FR-002Auto-detect ecosystem from repo filesP0
FR-003Parse package.json for npm dependenciesP0
FR-004Parse requirements.txt / pyproject.toml for PythonP1
FR-005Parse go.mod for GoP1
FR-006Parse pom.xml / build.gradle for JavaP1
FR-007Detect package manager (npm/yarn/pnpm/bun)P1
FR-008Show unsupported ecosystems with roadmap messageP0
FR-009Handle rate limiting across external APIsP0
FR-010Show real-time scan progressP0

6.2 Risk Detection

IDRequirementPriority
FR-011Check CVEs via OSV.dev for all ecosystemsP0
FR-012Check npm deprecation flagP0
FR-013Check last commit date via GitHub APIP0
FR-014Check download trend via npm Registry APIP0
FR-015Calculate combined risk score (0-100)P0
FR-016Classify risk level: Critical/High/Medium/Low/SafeP0
FR-017Determine fix strategy: version bump vs full migrationP0
FR-018Search Elastic for community migration discussionsP0
FR-019Find best alternative package via Elastic semantic searchP0

6.3 Migration

IDRequirementPriority
FR-020Simulate migration before executingP0
FR-021Show affected files and effort estimateP0
FR-022Show before/after code previewP0
FR-023Create branch via GitLab MCPP0
FR-024Transform code files using GeminiP0
FR-025Commit changes via GitLab MCPP0
FR-026Trigger CI pipeline via GitLab MCPP1
FR-027Create MR with full description via GitLab MCPP0
FR-028Create PR via GitHub REST APIP0
FR-029Show migration status in real-timeP0

6.4 Authentication & Security

IDRequirementPriority
FR-030Google OAuth loginP0
FR-031Store PAT tokens encrypted (AES-256-GCM)P0
FR-032Allow anonymous scanning (no login required)P1
FR-033User can delete stored tokensP0

7. Non-Functional Requirements

CategoryRequirement
PerformanceScan 150 packages in <15 seconds
Availability99% uptime during hackathon judging period
SecurityPAT tokens encrypted at rest, never logged
ScalabilityCloudflare edge - globally distributed
CompatibilityChrome, Firefox, Safari - desktop and mobile

8. Constraints

ConstraintDetail
Hackathon deadlineJune 11, 2026
Must useGoogle Cloud Agent Builder + Gemini
Must useAt least one Partner MCP (Elastic)
Repo must bePublic + MIT License
Demo video~3 minutes
HostingMust be live URL

9. Success Criteria

The project is considered successful if:

  1. A user can paste any public npm-based GitHub or GitLab repo URL and receive a risk report within 15 seconds
  2. For a high-risk package, the agent creates a tested MR/PR automatically
  3. The Elastic MCP is demonstrably load-bearing in the architecture
  4. The demo video clearly shows the before/after workflow in under 3 minutes
  5. Judges can test the live hosted URL themselves

© 2026 DepShield. All rights reserved.