Des outils pour un cycle de vie logiciel sécurisé.
Dependably conçoit des outils pour les points du cycle de vie logiciel où une défaillance silencieuse devient un incident : ce qui entre dans un build, ce qu'une version publiée livre, et ce qui tourne pour vos utilisateurs. Chacun est open source sous licence Apache-2.0 et s'exécute sur votre propre infrastructure, et Dependably Packages est aussi offert en Dependably Cloud, un forfait payant que nous exploitons.
Des défaillances courantes tout au long du cycle de vie logiciel.
Les points marqués sont là où ils agissent; les défaillances à côté de la boucle mènent à la solution de chacune.
- Planifier
Les raisons d'une conception vivent dans un fil de discussion maintenant fermé.
Une décision se prend dans une revue ou un appel et le code ne porte que le résultat. Avec sdd, l'intention de conception vit dans un dépôt de spécifications validé en CI et consultable par les personnes et les agents qui font le changement suivant.
Lire la solution → - Coder
Un nom de paquet interne est résoluble en amont.
Si un nom privé n'est pas réservé, un paquet public du même nom peut l'emporter à la résolution et atterrir dans votre build. Dependably Packages peut réserver vos espaces de noms pour qu'ils ne soient jamais résolus en amont, et épingler chaque nom au registre qui l'a servi en premier.
Lire la solution → - Build
Chaque langage bloque la fusion à sa façon.
Chaque linter et chaque audit a sa propre configuration, sa propre échelle de sévérité et sa propre idée d'un constat, donc rien n'est comparable et les avertissements s'accumulent. Les outils de vérification Dependably lisent une seule configuration et émettent un seul format de constat : les vérifications de dépendances à partir du fichier de verrouillage, le lint et les métriques sans build.
Lire la solution → - Build
Un paquet auquel vous faites déjà confiance livre une version compromise.
Un jeton de publication volé place une version corrective malveillante sous le nom d'un vrai mainteneur, et elle s'exécute sur votre runner de CI avec vos identifiants de CI. Dependably Packages peut retenir les nouvelles versions pendant un délai défini, refuser les paquets comportant des scripts d'installation, et bloquer sur les avis de paquets malveillants.
Lire la solution → - Tester
Un avis paraît et personne ne sait quels services le livrent.
L'analyseur liste chaque occurrence comme si chacune était exploitable, et personne ne peut dire quelle version publiée de quel service porte la version touchée. Projets dans Dependably Packages conservent une nomenclature par version publiée et classent chaque avis selon que votre code peut l'atteindre.
Lire la solution → - Publier
Personne ne peut dire quel build a récupéré quelle version.
Après un incident, la question est de savoir quel pipeline a récupéré un artefact, quand, et sous quel jeton. Un registre public ne conserve pas cet historique pour vous. Dependably Packages consigne chaque récupération et chaque décision de politique dans son propre journal d'audit.
Lire la solution → - Exploiter
Les avis de sécurité paraissent après qu'une version est déjà en cache.
Une version saine au moment de l'installation peut faire l'objet d'un avis publié des mois plus tard. Rien ne relit un fichier de verrouillage, donc le build reste au vert. Dependably Packages réanalyse les versions déjà en cache à intervalles réguliers et applique la politique au résultat.
Lire la solution → - Exploiter
Un certificat expire sans que personne ne le remarque.
La tâche de renouvellement a cessé de fonctionner des semaines plus tôt, en silence, et l'expiration en est le premier symptôme visible. Dependably StatusCheck suit les jours restants sur chaque endpoint que vous déclarez et vous prévient tant qu'il reste le temps de renouveler.
Lire la solution → - Surveiller
Vos utilisateurs l'apprennent avant vous.
Pendant un incident, les gens ont besoin d'un endroit où regarder, et un répartiteur de charge qui se déclare en bonne santé n'est pas cet endroit. Dependably StatusCheck sonde vos endpoints à intervalles réguliers et publie une page d'état sur laquelle vous publiez des mises à jour.
Lire la solution →
Chaque paquet de vos builds, servi depuis l'intérieur de votre périmètre.
Dependably Packages s'intercale entre vos builds et les registres publics. Il relaie et met en cache npm, PyPI, Maven, NuGet, Cargo, Go, RPM, Alpine apk, les images OCI, les fournisseurs Terraform et les paquets Hex, et héberge vos propres paquets aux mêmes coordonnées pour la plupart d'entre eux. Go, apk et Terraform ne sont que des miroirs. Tout est confronté à votre politique avant d'être servi.
- Des contrôles de politique sur la licence, la sévérité OSV, le catalogue CISA KEV, la probabilité EPSS, les scripts d'installation et l'âge minimal d'une version.
- La vérification des signatures d'éditeur peut être activée pour sept classes d'artefacts : npm, PyPI, NuGet, Maven, RPM, Alpine et Terraform.
- Réanalyse périodique des versions déjà en cache, pour que les avis publiés après la mise en cache d'une version remontent quand même.
- Chaque artefact mis en cache est adressé par une somme de contrôle et, lorsque l'amont publie une empreinte, confronté à celle-ci; une divergence donne un échec auditable. Les modules Go sont vérifiés par le client go par rapport à la base de sommes de contrôle, et les paquets apk sont consignés à la première récupération.
- Un journal d'audit de chaque récupération, décision de politique et événement de jeton, transmissible vers un SIEM en NDJSON via webhook, ou en CEF ou RFC5424 via syslog.
Chaque certificat et endpoint que vous exploitez, surveillé depuis l'extérieur de votre réseau.
Dependably StatusCheck inventorie les actifs publics que vous exploitez et les vérifie de l'extérieur, de la même façon que vos utilisateurs y accèdent. Il suit le temps restant sur chaque certificat, vérifie que vos endpoints répondent, et publie une page d'état que vous contrôlez.
- Suivi de l'expiration des certificats, avec un seuil d'avertissement que vous définissez, qui alerte à l'approche de la date.
- Des sondes de disponibilité programmées en HTTP, TCP et ICMP, avec des tentatives supplémentaires avant de déclarer une panne.
- Les fenêtres de maintenance sont exclues du taux de disponibilité.
- Des alertes par Slack, PagerDuty ou webhook.