chainguard-dev / chainguard-dev/malcontent

Detect potential dependency confusion and typo squatting

Open
#630 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
YARA
Stars
675
Forks
63
Avg merge
23h 9m
Merged PRs (30d)
24

Description

Malicious packages which are uploaded with a similar name to other known-good packages (i.e. typosquatting) is a challenge for supply chain without a good solution that I am aware of. It would be interesting to see if malcontent could catch potential typosquatting attacks as these are often named similarly not not exactly the same. There are two potential modes of operation where I see these potentially malicious packages being introduced:

  • A dependency disappears from the reference sources and a similar one appears in the new sources (dependency replacement)
  • A new dependency is added which is named similar to an already used dependency (i.e. a change in a recursive dependency)

These packages may be versioned similarly but might not be.

Contributor guide

No contributing guide indexed for this repository

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

The issue names no files, tests, package manager, or implementation entry point. Start by locating malcontent's existing dependency and reference-source analysis, then determine how the two described replacement and newly added dependency cases could be evaluated. Done means potential typosquatting is reported for similar names, including cases where versions are similar or differ.

Written by the indexing model from the issue text.

Assessment

Domain
security
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.