Outils et scripts IA
Contrôle des applications Streamlit et Gradio
Vérifiez vos applications Streamlit et Gradio avant le déploiement : secrets.toml que git committerait, saisies utilisateur rendues en HTML ou exécutées avec eval, chemins Gradio qui exposent le disque, clés API dans le code, lancements publics sans connexion.
Ce que vous recevez : 1 fichier · 58.3 KB · ZIP
Voir les options d'achatDescription du produit
st.markdown(f"<h2>Notes for {name}</h2>", unsafe_allow_html=True) insère dans votre page, en HTML, tout ce qu'un visiteur saisit, et demo.launch(share=True, allowed_paths=["/"]) permet à quiconque possède le lien de télécharger n'importe quel fichier de votre machine. Cette skill détecte ces erreurs et les autres erreurs Streamlit et Gradio listées ci-dessous avant que vous ne déployiez ou partagiez l'application, et vous indique comment corriger chacune d'elles.
Votre agent exécute un scanner sur les fichiers Python de votre application (ceux qui importent streamlit ou gradio), sur .streamlit/config.toml, secrets.toml, ainsi que sur les Dockerfiles, Procfiles, fichiers compose et scripts shell qui démarrent l'application. Il suit les valeurs provenant des visiteurs (widgets de saisie, paramètres de requête, fichiers téléversés, nom de l'utilisateur connecté, clés du session state que remplissent les widgets et l'historique du chat, arguments en texte libre des handlers d'événements Gradio) à travers les affectations et jusque dans les fonctions utilitaires du fichier lui-même. Il traite les valeurs Dropdown, Radio, Slider et Number de Gradio comme des choix fixes, reconnaît les correctifs tels que html.escape, shlex.quote, ast.literal_eval et les recherches dans une table constante, suit les alias d'import comme import subprocess as sp, lit vos fichiers .gitignore pour savoir si secrets.toml est exclu de git, et connaît les valeurs par défaut de Streamlit et Gradio (protection XSRF et CORS activée, st.html assaini, Gradio lié à 127.0.0.1 avec un CORS strict et l'assainissement du chat activé). Il n'exécute jamais votre application et ne se connecte nulle part. Il renvoie BLOCK, REVIEW ou NOT FLAGGED, avec le fichier, la ligne, la raison et une approche plus sûre. Les secrets ne sont jamais affichés.
Ce qui est vérifié
BLOCK (à corriger avant la mise en ligne)
- D01 : un secrets.toml contenant de vraies clés ou de vrais mots de passe qu'aucune règle .gitignore ne couvre
- D02 : saisie d'un visiteur rendue en HTML avec unsafe_allow_html=True, st.html avec JavaScript autorisé, st.iframe ou l'obsolète st.components.v1.html
- D03 : allowed_paths, set_static_paths ou GRADIO_ALLOWED_PATHS de Gradio incluant la racine du disque, la racine d'un lecteur, le dossier personnel, /home, /Users, /root ou /etc
- D04 : saisie d'un visiteur atteignant eval, exec, compile, une commande shell ou un chargeur de type pickle (pickle, joblib, dill, cloudpickle, pandas.read_pickle et similaires)
- D05 : clés API et secrets écrits dans le code de l'application, config.toml ou les fichiers de lancement (formats de clés de fournisseurs, valeurs d'apparence aléatoire sous des noms de secrets, mots de passe dans des URL de bases de données)
REVIEW (à contrôler avant la publication)
- D11 : launch(share=True) ou server_name="0.0.0.0" de Gradio sans auth ni auth_dependency
- D12 : protection XSRF de Streamlit désactivée, ou son cookie envoyé en cross-site
- D13 : enableCORS = false dans Streamlit ou strict_cors=False dans Gradio
- D14 : téléversements sans limite de type (st.file_uploader sans type, entrées de fichiers Gradio sans file_types)
- D15 : détails d'erreurs affichés aux visiteurs (show_error=True dans Gradio, un showErrorDetails explicite de Streamlit à full ou stacktrace)
- D16 : sanitize_html=False de Gradio sur un Chatbot ou un Markdown
- D17 : st.secrets, un secret ou une section entière de celui-ci, ou l'environnement du processus (y compris le getenv d'une clé) affichés sur la page
- D18 : mots de passe de connexion écrits dans le code (tuples auth de Gradio, contrôles password == "...", variables de mot de passe)
Ce qui est inclus
- Le scanner (Python 3.9+, bibliothèque standard uniquement)
- Un guide des règles avec la raison, une approche plus sûre et un lien vers la documentation officielle pour chaque règle
- Un projet d'exemple à risque et un projet sûr, ainsi que le rapport réel produit par le scanner sur le projet à risque
Limites
Il lit chaque fichier séparément et suit les valeurs dans l'ordre linéaire : les valeurs passées entre modules, conservées dans des attributs de classe ou construites dans des branches ne sont pas suivies, les handlers Gradio fournis sous forme de méthodes de classe ou via functools.partial ne sont pas suivis, et les fichiers Python qui n'importent ni Streamlit ni Gradio ne sont pas vérifiés. La sortie gr.HTML de Gradio n'est pas vérifiée, car Gradio ne documente pas s'il l'assainit. Il lit les fichiers .gitignore mais pas l'historique git : un secrets.toml commité avant d'être ignoré n'est donc pas détecté. Les paramètres définis dans un tableau de bord d'hébergement (Streamlit Community Cloud, Hugging Face Spaces) ne sont pas visibles. debug=True de Gradio n'est pas signalé, car il ne fait que maintenir le script en cours d'exécution. NOT FLAGGED n'est pas une garantie.
Contenu
Un fichier ZIP de 22 fichiers : SKILL.md, le scanner dans scripts/ (8 fichiers Python), references/rules.md (chaque règle avec sa raison et une approche plus sûre) et examples/ (11 fichiers d'exemple plus report.md, la sortie réelle du scanner sur l'exemple à risque).
Mode d'emploi : Il s'agit d'une skill pour agent : un dossier contenant un fichier SKILL.md et des scripts Python qu'un agent de programmation IA comme Claude Code, Cursor ou Codex CLI peut exécuter. Décompressez-le dans le dossier des skills de votre agent (pour Claude Code : ~/.claude/skills/), puis demandez à votre agent de vérifier votre projet. Les scripts fonctionnent aussi seuls avec Python 3.9 ou une version plus récente, sans rien à installer. Ils se contentent de lire vos fichiers : aucun accès réseau, et rien n'est envoyé nulle part.
Ce que vous recevez
1 fichier · 58.3 KB
- streamlit-gradio-app-check-1.0.0.zipZIP · 58.3 KB
Outils et scripts IA
Contrôle des applications Streamlit et Gradio
Vérifiez vos applications Streamlit et Gradio avant le déploiement : secrets.toml que git committerait, saisies utilisateur rendues en HTML ou exécutées avec eval, chemins Gradio qui exposent le disque, clés API dans le code, lancements publics sans connexion.
Getly a ouvert les fichiers envoyés et n'a rien trouvé qui empêche leur ouverture. Ce n'est ni une analyse antivirus ni une note de qualité.
Tags
Questions fréquentes
Ai-je accès au produit immédiatement ?
Oui. C'est un produit numérique : vous pouvez le télécharger juste après le paiement, directement depuis votre bibliothèque.
Puis-je l'utiliser pour des projets commerciaux ?
Oui. L'usage commercial est autorisé : utilisez-le dans votre propre activité et dans ce que vous vendez. Vous ne pouvez pas revendre ni redistribuer le fichier lui-même.
Quelle est votre politique de remboursement ?
Vous pouvez demander un remboursement dans un délai de 30 jours. Si quelque chose ne va pas, demandez-le depuis votre commande et l'équipe Getly l'examine.
Quels formats et quelles tailles de fichier vais-je recevoir ?
Vous téléchargerez 1 fichier - ZIP - 58.3 KB au total.
Ai-je droit aux mises à jour gratuites ?
Oui : quand le vendeur publie une nouvelle version, vous pouvez retélécharger les derniers fichiers depuis votre bibliothèque sans frais. Consultez le journal des modifications pour les dernières mises à jour.
Prix
$5.00



