Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Track "Principles for Package Repository Security" Current State #1290

Copy link
Copy link

Description

@maennchen
Issue body actions

OpenSSF publishes a document called "Principles for Package Repository Security" (ossf/wg-securing-software-repos#37) to rate the security of package managers. The list contains a lot of points we should have a look at long-term.

This issue tracks the current state of security.

  • Security Capabilities of Package Repositories
  • Authentication
    • Level 1
      • The package repository requires users to verify their email address.
      • The package repository documents their account recovery policy.
      • The package repository supports strong multi-factor authentication (MFA) via, at minimum, TOTP.
      • The package repository notifies maintainers via email for critical account security changes, such as password changes or disabling multi-factor authentication.
      • The package repository implements account security measures like brute force prevention (even with 2FA attempts)
    • Level 2
      • To prevent domain resurrection for account takeover via the recovery process, the package repository detects abandoned email domains.
      • The package repository supports MFA via phishing-resistant means such as WebAuthn. (WebAuth Proof of Concept #1058)
      • The package repository requires MFA for packages deemed critical
      • The package repository integrates with public leaked credential databases such as Have I Been Pwned
    • Level 3
      • The package repository supports passwordless authentication, such as passkeys. (WebAuth Proof of Concept #1058)
      • The package repository requires MFA for all maintainers.
      • The package repository requires phishing-resistant MFA for packages deemed critical
  • Authorization
  • General Capabilities
    • Level 1
      • The package repository has published a vulnerability disclosure policy - Add SECURITY.md .github#1
      • The package repository takes steps to prevent typosquatting attacks around package names.
    • Level 2
      • The package repository has an unpublish policy to prevent specific versions of a package from being replaced
      • The package repository allows users to report a package as suspicious or malicious
      • The package repository takes steps to detect malware
    • Level 3
      • Undergo periodic security reviews of package repository infrastructure
      • The package repository publishes an event transparency log to enable detection of anomalous behaviors
      • Advisories for malicious packages are published using a standardized machine readable format
  • CLI Tooling
    • Level 1
      • The CLI allows installing dependencies that are pinned based on hash, version, etc.
    • Level 2
    • Level 3
      • The CLI has functionality to produce SBOMs. (See https://github.com/erlef/mix_sbom)
      • The CLI has functionality to, where possible, automatically remediate known vulnerabilities in dependencies by upgrading them.
      • The package repository is able to reduce false positives of identified vulnerabilities using static analysis to understand whether a vulnerable code path is actually reachable.
Reactions are currently unavailable

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

    Morty Proxy This is a proxified and sanitized view of the page, visit original site.