Zum Hauptinhalt springen

Befehlsmenü

Zu einer Seite springen oder den Katalog durchsuchen

KI-Tools & -Skripte

Prüfung für Streamlit- und Gradio-Apps

Prüfen Sie Streamlit- und Gradio-Apps vor dem Deployment: secrets.toml, die git committen würde, Benutzereingaben, die als HTML gerendert oder mit eval ausgeführt werden, Gradio-Pfade, die die Festplatte freigeben, API-Schlüssel im Code, öffentliche Starts ohne Login.

$5.00

Das bekommst du: 1 Datei · 58.3 KB · ZIP

Kaufoptionen ansehen

Produktbeschreibung

st.markdown(f"<h2>Notes for {name}</h2>", unsafe_allow_html=True) setzt alles, was ein Besucher eintippt, als HTML in Ihre Seite, und demo.launch(share=True, allowed_paths=["/"]) erlaubt jedem mit dem Link, jede Datei auf Ihrem Rechner herunterzuladen. Dieser Skill findet diese und die weiteren unten aufgeführten Fehler in Streamlit und Gradio, bevor Sie die App deployen oder teilen, und erklärt Ihnen, wie Sie jeden davon beheben.

Ihr Agent führt einen Scanner auf den Python-Dateien Ihrer App aus (denen, die streamlit oder gradio importieren), auf .streamlit/config.toml, secrets.toml sowie auf den Dockerfiles, Procfiles, Compose-Dateien und Shell-Skripten, die die App starten. Er verfolgt Werte, die von Besuchern stammen (Eingabe-Widgets, Query-Parameter, hochgeladene Dateien, der Name des angemeldeten Benutzers, die Session-State-Schlüssel, die Widgets und Chatverlauf befüllen, die Freitext-Argumente von Gradio-Event-Handlern), über Zuweisungen hinweg und bis in die eigenen Hilfsfunktionen der Datei. Er behandelt Werte aus Gradio Dropdown, Radio, Slider und Number als feste Auswahl, erkennt Korrekturen wie html.escape, shlex.quote, ast.literal_eval und Nachschlagen in einer konstanten Tabelle, folgt Import-Aliassen wie import subprocess as sp, liest Ihre .gitignore-Dateien, um festzustellen, ob secrets.toml von git ausgeschlossen ist, und kennt die Standardeinstellungen von Streamlit und Gradio (XSRF- und CORS-Schutz aktiv, st.html bereinigt, Gradio an 127.0.0.1 gebunden, mit striktem CORS und aktiver Chat-Bereinigung). Er führt Ihre App nie aus und verbindet sich nirgendwohin. Er liefert BLOCK, REVIEW oder NOT FLAGGED, mit Datei, Zeile, Begründung und einem sichereren Ansatz. Secrets werden nie ausgegeben.

Was geprüft wird

BLOCK (vor dem Ausliefern beheben)

  • D01: eine secrets.toml mit echten Schlüsseln oder Passwörtern, die von keiner .gitignore-Regel erfasst wird
  • D02: Besuchereingaben, die als HTML gerendert werden, mit unsafe_allow_html=True, st.html mit erlaubtem JavaScript, st.iframe oder dem veralteten st.components.v1.html
  • D03: Gradio allowed_paths, set_static_paths oder GRADIO_ALLOWED_PATHS, die das Wurzelverzeichnis der Festplatte, das Stammverzeichnis eines Laufwerks, den Home-Ordner, /home, /Users, /root oder /etc einschließen
  • D04: Besuchereingaben, die eval, exec, compile, einen Shell-Befehl oder einen Loader im pickle-Stil erreichen (pickle, joblib, dill, cloudpickle, pandas.read_pickle und ähnliche)
  • D05: API-Schlüssel und Secrets im App-Code, in config.toml oder Startdateien (Schlüsselformate von Anbietern, zufällig aussehende Werte unter Secret-Namen, Passwörter in Datenbank-URLs)

REVIEW (vor dem Release prüfen)

  • D11: Gradio launch(share=True) oder server_name="0.0.0.0" ohne auth oder auth_dependency
  • D12: Streamlit-XSRF-Schutz abgeschaltet oder dessen Cookie seitenübergreifend gesendet
  • D13: Streamlit enableCORS = false oder Gradio strict_cors=False
  • D14: Uploads ohne Typbeschränkung (st.file_uploader ohne type, Gradio-Dateieingaben ohne file_types)
  • D15: Fehlerdetails, die Besuchern angezeigt werden (Gradio show_error=True, ein explizites Streamlit showErrorDetails mit full oder stacktrace)
  • D16: Gradio sanitize_html=False bei einem Chatbot oder Markdown
  • D17: st.secrets, ein Secret oder ein ganzer Abschnitt daraus oder die Prozessumgebung (einschließlich getenv eines Schlüssels), die auf der Seite angezeigt werden
  • D18: Login-Passwörter im Code (Gradio-auth-Tupel, Prüfungen wie password == "...", Passwort-Variablen)

Was enthalten ist

  • Der Scanner (Python 3.9+, nur Standardbibliothek)
  • Ein Regelleitfaden mit Begründung, sichererem Ansatz und Link zur offiziellen Dokumentation für jede Regel
  • Ein riskantes und ein sicheres Beispielprojekt sowie der echte Bericht, den der Scanner für das riskante erzeugt

Grenzen

Er liest jede Datei für sich und verfolgt Werte in linearer Reihenfolge: Werte, die zwischen Modulen übergeben, in Klassenattributen gehalten oder in Verzweigungen gebildet werden, werden nicht verfolgt, Gradio-Handler, die als Klassenmethoden oder über functools.partial übergeben werden, werden nicht verfolgt, und Python-Dateien, die weder Streamlit noch Gradio importieren, werden nicht geprüft. Die Ausgabe von Gradio gr.HTML wird nicht geprüft, da Gradio nicht dokumentiert, ob sie bereinigt wird. Er liest .gitignore-Dateien, aber nicht die git-Historie, sodass eine secrets.toml, die committet wurde, bevor sie ignoriert wurde, nicht erkannt wird. Einstellungen in einem Hosting-Dashboard (Streamlit Community Cloud, Hugging Face Spaces) sind nicht sichtbar. Gradio debug=True wird nicht gemeldet, da es nur das Skript am Laufen hält. NOT FLAGGED ist keine Garantie.

Inhalt

Eine ZIP-Datei mit 22 Dateien: SKILL.md, der Scanner in scripts/ (8 Python-Dateien), references/rules.md (jede Regel mit Begründung und sichererem Ansatz) und examples/ (11 Beispieldateien plus report.md, die echte Scanner-Ausgabe für das riskante Beispiel).

So verwenden Sie es: Dies ist ein Agent-Skill: ein Ordner mit einer SKILL.md-Datei und Python-Skripten, die ein KI-Coding-Agent wie Claude Code, Cursor oder Codex CLI ausführen kann. Entpacken Sie ihn in den Skills-Ordner Ihres Agenten (für Claude Code: ~/.claude/skills/) und bitten Sie Ihren Agenten dann, Ihr Projekt zu prüfen. Die Skripte laufen auch eigenständig mit Python 3.9 oder neuer, ohne dass etwas installiert werden muss. Sie lesen nur Ihre Dateien: kein Netzwerkzugriff, und nichts wird irgendwohin gesendet.

Das bekommst du

1 Datei · 58.3 KB

  • streamlit-gradio-app-check-1.0.0.zipZIP · 58.3 KB
LizenzKommerzielle Nutzung erlaubt
PaketprüfungBestanden

Getly hat die hochgeladenen Dateien geöffnet und nichts gefunden, was das Öffnen verhindern würde. Das ist kein Virenscan und keine Qualitätsbewertung.

Veröffentlicht12. Nov. 2026
Dateigröße58.3 KB
DateiformatZIP
Versionv1.0

Tags

streamlitgradiopythonsecurityhuggingfaceai agent skill
R
RR HH

Häufige Fragen

Erhalte ich sofort Zugriff?

Ja. Dies ist ein digitales Produkt - du kannst es direkt nach dem Kauf aus deiner Bibliothek herunterladen.

Darf ich es für kommerzielle Projekte nutzen?

Ja. Kommerzielle Nutzung ist erlaubt: im eigenen Business und in dem, was du verkaufst. Die Datei selbst darfst du nicht weiterverkaufen oder verbreiten.

Wie sind die Rückerstattungsbedingungen?

Du kannst innerhalb von 30 Tagen eine Rückerstattung anfordern. Stimmt etwas nicht, fordere sie bei deiner Bestellung an - das Getly-Team prüft sie.

Welche Dateiformate und -größen erhalte ich?

Du lädst 1 Datei herunter - ZIP - insgesamt 58.3 KB.

Erhalte ich kostenlose Updates?

Ja - wenn der Verkäufer eine neue Version veröffentlicht, kannst du die aktuellen Dateien kostenlos erneut aus deiner Bibliothek herunterladen. Aktuelle Änderungen findest du im Changelog.

Preis

$5.00