OWASP / OWASP/cve-lite-cli

feat(dm001): add GitHub archive detection as opt-in maintenance risk signal

Open
#836 1 comment 0 reactions 1 assignee View on GitHub

@sonukapoor is already working on this.

Since Jul 14, 2026.

enhancement
Dominant language
TypeScript
Stars
715
Forks
145
Avg merge
21h 39m
Merged PRs (30d)
66

Description

Overview

Add GitHub archive/activity detection as an opt-in fourth signal to the DM001 maintenance risk detector (see #732 for the initial implementation).

What it adds

When --check-maintenance --check-network is passed, DM001 checks the GitHub repository linked in the package's npm packument for:

  • Archived status (repo is read-only/archived)
  • No commits in 2+ years

These are stronger signals of abandonment than staleness alone - an archived repo means the maintainer has explicitly declared the project dead.

Why opt-in

GitHub API calls require rate limit handling and optionally a token. This is heavier than npm registry packument fetches. Keeping it behind --check-network (already used by OA007) avoids surprise latency and auth requirements in the default path.

Data source

GitHub REST API - GET /repos/{owner}/{repo} returns archived boolean and pushed_at timestamp. Repo URL parsed from the repository field in the npm packument.

Implementation notes

  • Reuse the existing --check-network opt-in pattern from OA007
  • Add githubArchived?: boolean signal to MaintenanceFinding
  • Gracefully skip if no GitHub URL in packument, or if API call fails
  • To be done in-house

Related

  • Part of the dependency hygiene engine: #733
  • Extends DM001 initial implementation: #732
  • Follows staleness signal: #835

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.