OpenHands / OpenHands/extensions
Create `dependency-upgrader`: secure dependency update extension with pre-PR agent audit
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 148
- Forks
- 90
- Avg merge
- 1d 17h
- Merged PRs (30d)
- 36
Description
Problem
We should build a dependency-upgrader extension in OpenHands/extensions that can identify newly available dependency versions, but must not open an upgrade PR until an agent-assisted security audit has been completed.
The goal is to get Dependabot-like ergonomics with stronger supply-chain protections.
What we should build
A dependency-upgrader extension plus a GitHub Action that:
- Detects when newer dependency versions are available.
- Resolves the actual dependency graph for the proposed upgrade from the package manager / registry source of truth.
- Runs an agent-assisted security audit on the candidate package and its newly introduced transitive dependencies.
- Opens a PR only when the upgrade is below the configured risk threshold.
- Creates an issue (instead of a PR) when the upgrade is blocked by security findings.
Security audit requirements
The pre-PR audit should check for both known and emerging supply-chain risk, including:
- Known CVEs / advisory matches
- Evidence of active exploitation
- Zero-day indicators / recent public exploit reports
- Suspicious maintainer, publisher, or ownership changes
- Newly introduced transitive dependencies and dependency-graph deltas
- Malicious or unusual install / build / postinstall behavior
- Native binaries, obfuscated code, unexpected network activity, or other high-risk signals
Expected workflow
- Run on a schedule and/or manual dispatch.
- Find available upgrades for supported ecosystems.
- For each candidate upgrade, generate a security audit report before any PR is opened.
- If risk is acceptable, open a PR with the audit summary attached.
- If risk is high or unclear, do not open the PR; instead open an issue with the findings and rationale.
Acceptance criteria
- A new
dependency-upgraderextension exists in this repo. - The extension includes a GitHub Action that checks for available dependency updates.
- Before opening a PR, the action performs an agent-assisted audit of the direct dependency and its resolved transitive graph.
- Audit output explicitly includes CVE results and zero-day / active-exploit signals.
- Safe updates open PRs with a human-readable audit summary.
- Risky updates are blocked from opening PRs and are surfaced as issues instead.
- The risk decision and supporting evidence are visible to maintainers.
Open questions
- Which ecosystems should we support first (likely npm and PyPI)?
- Which data sources should back CVE, advisory, reputation, and exploit-signal checks?
- How should we define the threshold for
allow,review, andblock? - How should we communicate uncertainty when the agent sees possible zero-day indicators but low-confidence evidence?
This issue was updated by an AI assistant (OpenHands) on behalf of the user.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the OpenHands/extensions layout and the conventions for GitHub Actions, then resolve the open questions about initial npm/PyPI support, audit data sources, and risk thresholds. The work is done when the extension and scheduled or manually dispatched action audit direct and transitive dependencies, attach reports to safe PRs, and create issues instead of PRs for blocked upgrades.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- github-actions, python
- Domain
- ci-cd, security, tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100