CChildHarbor
KI-Arbeitsumgebung für Code

Python-Kindprozesse mit Zeitlimit

Führe vertrauenswürdigen Python-Text bis 4096 Zeichen in einem vorhandenen Verzeichnis mit 50–5000 ms Zeitlimit aus.

● ● ●ChildHarbor●
Arbeitsabläufe · Python-Kindprozesse mit Zeitlimit ×
import math, os, subprocess, sys
from pathlib import Path

def run_trusted_python(script, seconds, folder):
    if type(script) is not str or len(script) > 4096:
        raise ValueError("child.script")
    if type(seconds) not in (int, float) or not .05 <= seconds <= 5 or not math.isfinite(seconds):
        raise ValueError("child.timeout")
    if not isinstance(folder, (str, Path)) or not Path(folder).is_dir():
        raise ValueError("child.folder")
    return subprocess.run([sys.executable, "-I", "-S", "-X", "utf8", "-c", script],
        cwd=folder, timeout=seconds, capture_output=True, text=True,
        encoding="utf-8", check=False,
        creationflags=subprocess.CREATE_NO_WINDOW if os.name == "nt" else 0)
✳Python-Kindprozesse mit Zeitlimit
✓ ÄnderungenVor dem Anwenden prüfen ↗
Illustration der Arbeitsumgebung
Vor dem Anwenden prüfenVergleichen Sie das tatsächliche Verhalten mit dem erwarteten Ergebnis. Klären Sie fehlgeschlagene Prüfungen vor weiteren Änderungen.
ModelleRichten Sie einen OpenAI-kompatiblen oder Anthropic-Endpunkt mit Basis-URL und gegebenenfalls API-Schlüssel ein. Testen Sie die Verbindung. Ein lokaler Modellserver muss laufen; entfernte Werkzeuge können Daten separat übertragen.
ProjektTeste Unicode, Fehlercodes und Beenden des direkten Kindes, lehne ungültige Limits ab und verspreche keine Sandbox oder Nachkommenbereinigung.
Arbeitsabläufe

Python-Kindprozesse mit Zeitlimit

Arbeitsabläufe ↗
Arbeitsabläufe
import math, os, subprocess, sys
from pathlib import Path

def run_trusted_python(script, seconds, folder):
    if type(script) is not str or len(script) > 4096:
        raise ValueError("child.script")
    if type(seconds) not in (int, float) or not .05 <= seconds <= 5 or not math.isfinite(seconds):
        raise ValueError("child.timeout")
    if not isinstance(folder, (str, Path)) or not Path(folder).is_dir():
        raise ValueError("child.folder")
    return subprocess.run([sys.executable, "-I", "-S", "-X", "utf8", "-c", script],
        cwd=folder, timeout=seconds, capture_output=True, text=True,
        encoding="utf-8", check=False,
        creationflags=subprocess.CREATE_NO_WINDOW if os.name == "nt" else 0)
KI-Arbeitsumgebung für Code

Einen Prozess-Wrapper unter Wahrung seiner Vertrauensgrenze prüfen

ChildHarbor ist ein KI-Programmierclient für Windows zur Untersuchung von Prozessverwaltungscode im Projektgespräch. Legen Sie zunächst fest, welcher Code ausgeführt werden darf, weil er vertrauenswürdig ist, und was der Aufrufer beobachten muss. Lassen Sie Ihr verbundenes Modell den bestehenden Wrapper vor Änderungsvorschlägen prüfen, damit der Vorschlag sowohl dessen Zweck als auch Grenzen bewahrt.

Eine konkrete Aufgabe ist ein Wrapper für vertrauenswürdige Python-Kindprozesse mit vorhandenem Arbeitsverzeichnis und begrenztem Zeitlimit. Besprechen Sie Unicode-Ausgabe, fehlerhafte Beendigungen und das Verhalten beim Überschreiten des Zeitlimits durch den direkten Kindprozess. Trennen Sie diese Anforderungen von Sicherheitsisolierung: Vertrauenswürdigen Code zur Ausführung anzunehmen macht den Wrapper nicht zu einer Sandbox für beliebige Eingaben.

Prüfen Sie die vorgeschlagene Änderung anhand Ihrer eigenen Prozesstestfälle. Kontrollieren Sie erfasste Ausgabe, Exit-Status und den Zeitüberschreitungspfad des direkten Kindprozesses in Ihrer Entwicklungsumgebung. Sind Nachfolgeprozesse relevant, definieren und untersuchen Sie diese Zusatzanforderung ausdrücklich. Ein erfolgreicher Zeitlimittest eines Kindprozesses belegt nicht, dass ein gesamter Prozessbaum bereinigt wird; behalten Sie diese Unterscheidung in der Prüfung bei.

ChildHarbor unterstützt Verbindungen zu OpenAI-kompatiblen oder Anthropic-Endpunkten, bei Bedarf mit Zugangsdaten. Ein ungefiltertes KI-Modell kann gewählt werden, wenn Ihr Endpunkt es bereitstellt. Server und Modell bestimmen Kontext, verfügbare Werkzeuge und Einschränkungen; die Modellwahl autorisiert weder die Ausführung nicht vertrauenswürdigen Codes noch validiert sie den vorgeschlagenen Wrapper.

Fragen vor Änderungen am Prozessstartcode

Was sollte ich zu vertrauenswürdigen Eingaben sagen?

Benennen Sie, wer das Skript liefert und warum die Anwendung dessen Ausführung erlaubt. Halten Sie diese Annahme in der Aufgabe ausdrücklich fest. Können Skripte von nicht vertrauenswürdigen Nutzern stammen, ist das Sicherheitsproblem umfassender als das Hinzufügen eines Zeitlimits zum bestehenden Wrapper.

Bedeutet ein Zeitlimit, dass alle Nachfolgeprozesse beendet werden?

Nein. Prüfen Sie genau, welchen Prozess die Implementierung kontrolliert, und testen Sie dieses Verhalten in Ihrer Umgebung. Benötigt die Anwendung die Bereinigung eines Prozessbaums, definieren Sie dies als gesonderte ausdrückliche Anforderung und prüfen Sie die plattformspezifische Implementierung, statt es aus der Behandlung direkter Kindprozesse abzuleiten.

Warum Unicode-Ausgabe neben fehlerhaften Beendigungen testen?

Sie beanspruchen unterschiedliche Teile des Vertrags mit dem Aufrufer. Geben Sie erwarteten Text und Beendigungsverhalten an, damit der Vorschlag beides bewahrt. Ein Prozess kann korrekt laufen, während Ausgabedekodierung oder Fehlermeldung der Anwendung dennoch ein unbrauchbares Ergebnis liefern.

Soll ich jedes im Gespräch vorgeschlagene Skript ausführen?

Prüfen Sie Code und Auswirkungen vor der Ausführung. Das Gespräch im Arbeitsbereich kann einen Vorschlag erklären helfen, aber die Vertrauensentscheidung liegt bei Ihnen. Nutzen Sie geeignete Projekttestfälle und behandeln Sie modellgenerierten Text nicht als Autorisierung beliebiger Operationen.

Für Windows herunterladen ↗

ChildHarbor · Aktualisiert 2026-10-25