Skip to content

callflow-html et tree chargent leur bibliothèque depuis un CDN sans version figée ni SRI #52

Open

Description

@alexwrite

Context

Repéré en implémentant #50 (évaluation de callflow-html et tree comme base de la vue zoom). Les deux exports chargent leur bibliothèque depuis un CDN, sans version figée ni intégrité SRI :

  • graphify/callflow_html.py : <script src="https://cdn.jsdelivr.net/npm/mermaid@11/dist/mermaid.min.js"> (plage @11, pas de integrity)
  • graphify/tree_html.py : <script src="https://d3js.org/d3.v7.min.js"> (plage v7, pas de integrity)

Une version publiée ou compromise sur le CDN s'exécute dans la page ouverte par l'utilisateur, et la page ne s'affiche pas hors ligne. graph.html fige déjà sa bibliothèque avec SRI.

User story

En tant que développeur qui ouvre un export HTML, je veux que la page n'exécute que le code exact attendu, afin de ne pas dépendre d'un tiers qui peut changer ce code à mon insu.

Acceptance criteria

  • callflow-html et tree référencent une version exacte de leur bibliothèque, avec integrity et crossorigin, comme graph.html
  • Un test vérifie la présence de l'attribut integrity sur chaque <script src> des exports HTML
  • Option évaluée : bibliothèque embarquée pour un usage hors ligne

Hints

Hors scope

  • Remplacer Mermaid ou D3 par un autre moteur de rendu

Activity

  1. added
    p1Sécurité, données, prod cassée, légal
    on Oct 11, 2026
  2. github-actions commented on Oct 11, 2026

    @github-actions

    Thanks for opening this issue, @alexwrite. A maintainer will take a look soon.

    If you would like to discuss it in real time, come say hi on our Discord server. For longer-form questions and ideas there is also GitHub Discussions.

    To help us triage, please make sure the report includes what you expected, what actually happened, and the steps (and a small sample) to reproduce it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    p1Sécurité, données, prod cassée, légal

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions