ossf / ossf/package-analysis

Proposal: Add support for R packages (CRAN) to Package Analysis

Open
#1,192 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Go
Stars
912
Forks
74
PR merge metrics
No merged PRs in 30d

Description

Problem
Package Analysis supports several important package ecosystems, but it lacks support for R packages on CRAN. The CRAN ecosystem is small compared to PyPI and npm -- it has about 25,000 packages and several dozen updates per day -- but R packages are widely used in clinical trials, financial risk modeling, government statistics, and other environments handling sensitive data.

Proposed solution
I have developed a working extension of Package Analysis to CRAN. The primary contributions are in sandboxes/dynamicanalysis/Dockerfile and a new sandboxes/dynamicanalysis/analyze-r.R. See my fork here.

Ask
Would a PR for this be welcome? I want to run the analysis at scale (on a random sample of ~100 CRAN packages) and confirm results before opening a PR, but before I do so, I wanted to gauge interest in this extension.

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.

Research direction

Start with sandboxes/dynamicanalysis/Dockerfile and the proposed sandboxes/dynamicanalysis/analyze-r.R in the linked fork. Review how the existing Package Analysis sandboxes support other ecosystems, then run the analysis on a random sample of about 100 CRAN packages as proposed. Done means the CRAN extension is validated at scale and ready to assess for a pull request.

Written by the indexing model from the issue text.

Assessment

Tech stack
dockerfile, r
Domain
security
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.