Aller au contenu
Open source · Apache-2.0

Un registre privé et un cache mandataire pour les écosystèmes qu'utilisent vos builds

Dependably Packages s'exécute dans votre périmètre et s'intercale entre vos builds et les registres publics. Il relaie et met en cache onze écosystèmes de paquets, et héberge vos propres paquets aux mêmes coordonnées. Il vérifie les sommes de contrôle par rapport à l'empreinte publiée en amont, peut vérifier les signatures d'éditeur, confronte les versions à OSV là où OSV publie un flux, et refuse une version selon un contrôle de politique à quatorze volets que vous configurez par locataire. Chaque récupération, refus et événement de jeton atterrit dans un journal d'audit diffusable vers un SIEM.

OSV · KEV/EPSS · MFA · SAML SSO · SIEM · OTel
Tableau de bord d'ensemble de Dependably Packages
Écosystèmes pris en charge
  • npm JavaScript · npm · yarn · pnpm
  • PyPI Python · pip · uv
  • Maven Java · Maven · Gradle
  • NuGet C# / .NET · dotnet
  • Cargo Rust · cargo · crates.io
  • Docker OCI · container images
  • RPM Linux · dnf · yum
  • Go Go modules · go get · miroir uniquement
  • Alpine apk Alpine · apk · miroir uniquement
  • Terraform Terraform · providers · miroir uniquement
  • Hex Elixir · Erlang · mix · rebar3
Ce que vous obtenez

Chaque installation passe par filtrage, scan et audit avant d'atteindre votre code.

MIROIR · POLITIQUE

Un miroir privé pour vos paquets tiers.

Faites passer vos registres par un seul endpoint à l'intérieur de votre périmètre. Les récupérations amont sont vérifiées par somme de contrôle, par rapport à l'empreinte publiée en amont, avant d'atterrir dans le cache. Bloquez par version, par licence ou par seuil de sévérité OSV, et par motif de paquet sur npm, PyPI et NuGet.

SCAN · OSV

Scans OSV quotidiens qui détectent les avis sur les versions en cache.

Chaque version téléversée ou relayée est de nouveau confrontée à la base OSV toutes les 24 heures. OSV ne publie aucun flux pour les images de conteneur ni pour les fournisseurs Terraform, qui ne sont donc pas analysés. Les versions correspondantes peuvent être configurées pour bloquer les installations suivantes, par dérogation manuelle ou par seuil de score OSV.

AUDIT · FLUX

Audit avec provenance.

Journal chronologique en ajout seul des envois, téléchargements, décisions de politique et événements de cycle de vie des jetons. Lisez le journal complet en JSON, ou transmettez chaque événement à votre SIEM : NDJSON via webhook, CEF ou RFC5424 via syslog.

Comment se déroule une récupération de paquet

Du registre public à l'installation auditée.

Récupération vérifiée

En cas d'absence dans le cache, Dependably Packages récupère depuis le registre amont seulement pour un nom que la capacité de votre jeton permet, et sur npm, PyPI et NuGet seulement pour un nom que vos listes d'autorisation et de blocage permettent. Il revérifie l'empreinte déclarée par l'amont par rapport aux octets sur disque, et toute divergence est auditée et refusée. L'épinglage de source, qui lie un nom à l'amont qui l'a servi en premier, est disponible comme réglage d'instance.

vérification de somme de contrôle

Filtrage par politique

La version mise en attente est confrontée à vos règles de dépréciation et à vos exigences de provenance de l'éditeur avant qu'aucune ligne de catalogue n'existe, si bien qu'une version refusée à cette étape n'est jamais adoptée dans le cache. Le filtre échoue en refus sur un artefact non signé lorsque l'application de la politique est activée. Votre politique de licences refuse au téléchargement lorsqu'elle est réglée sur le blocage.

correspondance de motif

Open Source Vulnerabilities

La version est confrontée à la base OSV et refusée selon votre politique de sévérité lors de la même passe. Les résultats sont conservés et revérifiés quotidiennement, pour que les nouveaux avis remontent sur les versions déjà en cache.

scan

Audit et traçabilité

L'activité sur les paquets est enregistrée avec un contexte d'audit complet : identité, horodatage, source et artefacts demandés. Les journaux sont conservés pour investigation et peuvent être lus en JSON. Transmettez-les vers votre SIEM en NDJSON via webhook, ou en CEF ou RFC5424 via syslog.

observabilité
Édition Communauté · auto-hébergée · gratuite

Exécutez-le sur vos propres machines. Gardez votre registre dans votre périmètre.

Dependably Packages est livré sous forme d'une seule image de conteneur. Aucun appel vers nos serveurs, aucun siège facturé, aucune licence à expiration.

  • Compatible air-gap · aucun réseau sortant requis après l'installation
  • Moteur de politiques · bloquez par version épinglée ou score de sévérité OSV, et par motif de paquet sur npm, PyPI et NuGet
  • Un conteneur, un binaire, une base SQLite, avec PostgreSQL en cas de besoin de haute disponibilité
  • SSO SAML · ou comptes locaux dès le premier jour
  • Interface en anglais et en français
docker
# pull and run the container
docker pull ghcr.io/dependably/dependably:latest
docker run -d -p 8080:8080 ghcr.io/dependably/dependably:latest
✓ pulled ghcr.io/dependably/dependably:latest (sha256: a1b2c3d4…)
✓ listening on http://localhost:8080
linux · amd64 · arm64
Dependably Cloud

Hébergé par nous, comme solution de rechange à l'auto-hébergement.

Le même moteur, les mêmes politiques, le même flux d'audit, sur un forfait payant que nous exploitons pour vous. Contactez-nous pour parler d'un déploiement hébergé.

Inclus
  • Mises à niveau et correctifs gérés
  • Hébergé dans les régions AWS canadiennes par défaut
  • Une entente de traitement des données (DPA) sur tout forfait payant
FAQ

Questions

Dependably Packages est-il open source, et qu'ajoute la version hébergée?

L'Édition Communauté est sous licence Apache-2.0 et auto-hébergée. L'image de conteneur, le moteur de politiques et le journal d'audit en font tous partie. Dependably Cloud exécute le même moteur sur un forfait payant que nous exploitons pour vous, hébergé sur AWS, avec mises à niveau gérées.

Quels écosystèmes de paquets Dependably Packages relaie-t-il, et lesquels puis-je publier?

Il relaie et met en cache npm, PyPI, Maven, NuGet, Cargo, Docker, RPM et Hex, ainsi que Go, Alpine apk et Terraform en tant que miroirs. Vous pouvez publier vos propres paquets pour chacun d'eux, sauf Go, apk et Terraform, qui ne sont que des miroirs.

Que se passe-t-il quand un paquet échoue à une vérification?

L'installation est refusée avec un code HTTP 403, et le refus est consigné dans le journal d'audit avec la règle qui s'est déclenchée. Sur npm, PyPI, NuGet et RPM, la réponse porte aussi un en-tête nommant la raison. Une version peut échouer sur une vulnérabilité relevée par une analyse OSV, une licence hors de votre liste d'autorisation, une inscription au catalogue CISA KEV, une version plus récente que l'âge minimal configuré, ou un script d'installation que votre politique n'autorise pas. Un téléchargement dont les octets ne correspondent pas à l'empreinte publiée en amont est refusé avec un code 502 et audité.

Dependably Packages fonctionne-t-il en air-gap, sans accès à Internet?

Oui. Il continue de fonctionner normalement, sans réseau sortant requis après l'installation. Ce que vous perdez, c'est la capacité de récupérer quoi que ce soit de nouveau depuis un registre en amont et toute nouvelle analyse qui dépend d'un flux OSV en direct; tout ce qui est déjà en cache et déjà analysé n'est pas affecté.

Comment pointer npm, pip, Maven ou NuGet vers Dependably Packages?

Chaque client a besoin de son URL de registre pointée vers votre instance et d'un jeton d'authentification : une ligne de registre .npmrc, un index-url pip, un miroir dans le settings.xml de Maven, ou une source de paquets NuGet. Les étapes exactes pour chaque écosystème sont dans la documentation.

Où Dependably Packages s'exécute-t-il, et de quoi a-t-il besoin?

Il fonctionne comme une seule image de conteneur : un binaire et une base SQLite, et les paquets eux-mêmes vont sur un stockage local. Rien d'autre n'est nécessaire pour le démarrer en auto-hébergement.

Dependably Packages peut-il remplacer un autre registre auto-hébergé que mon équipe utilise déjà?

Oui, si vos écosystèmes font partie des onze qu'il relaie et met en cache. Il héberge vos propres paquets aux mêmes coordonnées et ajoute une vérification par somme de contrôle par rapport à l'empreinte publiée en amont, des barrières de politique sur la licence et la gravité des vulnérabilités, et un journal d'audit de chaque récupération et décision de politique, le tout depuis une seule image de conteneur.

Dependably Packages inclut-il un serveur de symboles NuGet?

Oui. Il sert les symboles des paquets NuGet qu'il héberge, si bien que déboguer l'un d'eux ne demande pas un serveur de symboles distinct à faire tourner à côté.