Analyse de sécurité du code pour Databricks Apps
Bêta
Cette fonctionnalité est en bêta. Databricks active l'analyse de sécurité du code pour les Workspace éligibles pendant la bêta.
Les analyses de sécurité peuvent produire des faux positifs et peuvent ne pas identifier tous les bugs de sécurité.
Databricks Apps analyse le code source de votre application à la recherche de problèmes de sécurité courants chaque fois que vous déployez une modification de code source. L’analyse ne bloque pas et ne fait pas échouer un déploiement. Les résultats s’affichent sur la page Sécurité de l’application, où un responsable de l’application peut les examiner et les trier.
Fonctionnement de l’analyse de sécurité du code
L’analyse de sécurité du code effectue une analyse statique sur le code source de votre application dans le cadre du déploiement :
- S’exécute lors des modifications de code source : une analyse s’exécute automatiquement lorsque vous déployez une modification de code source. Un déploiement qui réutilise une build existante sans modification du code source n’est pas analysé.
- Lit uniquement votre source : le scanner analyse votre code source sans l'exécuter et ne modifie jamais votre application.
- Non bloquant : le scanner signale des découvertes de sécurité mais ne bloque pas et ne fait pas échouer le déploiement. Passez en revue les découvertes et résolvez-les en fonction de leur gravité et de vos exigences de sécurité.
- Échec sécurisé : si une analyse ne peut pas s’effectuer, le résultat est enregistré comme non disponible plutôt que propre, de sorte qu’une analyse manquante n’est jamais confondue avec une analyse réussie.
Que détecte l’analyse
L'analyse de la sécurité du code n'analyse que le code source de votre application. Elle n'analyse pas les dépendances de votre application et n'effectue pas d'analyse dynamique de l'application en cours d'exécution.
Le scanner utilise des règles de détection sélectionnées, créées et ajustées par Databricks pour Databricks Apps. Databricks peut ajouter, supprimer ou mettre à jour des règles au fil du temps pour améliorer la couverture et la précision de la détection. Les règles détectent les catégories courantes de vulnérabilités, notamment :
- Identifiants et secrets codés en dur
- Injection SQL
- Cross-site scripting (XSS)
- Falsification de requête côté serveur (SSRF)
- Traversée de chemin
- Désérialisation non sécurisée
- Configuration permissive de partage des ressources entre origines multiples (CORS)
- Chargement YAML non sécurisé
- Exposition des jetons d'utilisateur (pour le compte de)
Une analyse propre ne garantit pas que votre application est sécurisée. L’analyseur vérifie un ensemble spécifique de problèmes ; les problèmes non couverts par ses règles ne sont donc pas détectés. Maintenez vos propres pratiques de révision de code et de sécurité, en particulier pour les applications qui traitent des données sensibles. Pour plus de conseils de sécurité, consultez les Meilleures pratiques de sécurité.
Voir les résultats des évaluations de sécurité
Vous devez disposer de l’autorisation CAN MANAGE sur une application pour afficher ses résultats de sécurité. Voir Configurer les autorisations pour une application Databricks.
Pour afficher les résultats :
- Dans votre Workspace, ouvrez l'application. Voir Voir les détails d'une application Databricks.
- Sélectionnez le tab Sécurité .

La page Sécurité affiche les résultats pour le déploiement sélectionné, regroupés par fichier. Chaque résultat inclut :
- La vérification qui a correspondu
- Le chemin du fichier et le numéro de ligne
- Un niveau de gravité
- Une description du problème
Les conclusions utilisent les niveaux de gravité suivants :
- Critique : un problème de haute gravité, tel qu'une vulnérabilité probable, que vous devez résoudre avant de vous appuyer sur l'application.
- Attention : un problème potentiel que vous devez examiner et corriger s'il s'applique à votre application.
- Info : observation à faible risque ou suggestion de codage sécurisé à prendre en compte.
Un résumé en haut de la page affiche le nombre de résultats ouverts, le nombre de résultats critiques, un niveau de risque global et le nombre de résultats que vous avez résolus ou ignorés. Le niveau de risque reflète vos résultats ouverts et leur gravité ; les résultats que vous résolvez ou ignorez ne comptent pas dans le calcul. Filtrez les résultats par gravité pour vous concentrer sur les problèmes les plus importants.
Pour examiner les résultats d’un déploiement antérieur, utilisez le sélecteur de version de code pour sélectionner un déploiement précédent.
Trier les résultats
Le triage vous permet de suivre les résultats que vous avez traités. Comme pour l'affichage des résultats, vous devez disposer de l'autorisation CAN MANAGE sur l'application pour les trier.
Chaque résultat se trouve dans l’un des états suivants :
- Ouvert : état default d’une nouvelle découverte.
- Résolu : marquez une découverte comme résolue une fois que vous avez résolu le problème sous-jacent.
- Ignoré : Ignorer un résultat qui ne s’applique pas à votre application ou que vous avez accepté en tant que risque connu.
Pour trier une découverte, sélectionnez Marquer comme résolu ou Ignorer sur la découverte. Pour déplacer une découverte vers ouverte, sélectionnez Rouvrir . Pour trier plusieurs découvertes à la fois, sélectionnez plusieurs découvertes et appliquez une action en bloc.
L’état du tri est enregistré par résultat et persiste lors des déploiements. Si le même problème apparaît dans un déploiement ultérieur, il conserve l’état que vous avez défini, afin que vous n’ayez pas à trier à nouveau des problèmes que vous avez déjà examinés.
Résultats de l’analyse
La page Security reflète le résultat de l’analyse du déploiement. Le résultat de l’analyse décrit ce que l’analyse a trouvé, et le statut de l’analyse décrit si l’analyse est terminée.
Les résultats reflètent les règles de détection qui étaient en vigueur lors de l’exécution de l’analyse. Databricks ne relance pas l’analyse d’un déploiement existant lorsque les règles changent. Un résultat antérieur (y compris Aucune découverte de sécurité ) peut donc ne pas refléter les règles actuelles. Une nouvelle analyse s’exécute automatiquement lors de votre prochaine modification de code source.
Les résultats suivants décrivent ce que l’analyse a trouvé :
Résultat | Description |
|---|---|
Aucun résultat d'évaluation de sécurité | L’analyse est terminée et n’a trouvé aucun problème parmi l’ensemble de règles actuel. |
Résultats | L’analyse a trouvé un ou plusieurs problèmes à examiner et à trier. |
Les statuts suivants décrivent l’état de l’analyse elle-même :
Statut | Description |
|---|---|
Analyse de ce déploiement | L’analyse est en cours. La page s’actualise automatiquement à la fin de l’analyse. |
Analyse incomplète | L’analyse s’est exécutée mais a ignoré certains fichiers ou règles ; les résultats peuvent donc être partiels. |
Résultats d’analyse non disponibles | L’analyse n’a pas pu se terminer pour ce déploiement. |
Ce déploiement n’a pas été analysé | Le déploiement a réutilisé une build existante sans changement de code source. Redéployez après une modification de code pour l'analyser. |