Projekt
Prüfe Großschreibung und ignoriere Pfade, lehne Zugangsdaten, IP-Literale, Leerraum und Ports außerhalb 1–65535 ab.
Vergleiche HTTPS-Ursprünge für ASCII-DNS-Namen mit alphabetischen Endungen und Standardport 443.
import re
from urllib.parse import urlsplit
def https_origin(url):
if type(url) is not str or any(not 33 <= ord(c) <= 126 for c in url):
raise ValueError("origin.text")
p = urlsplit(url)
if p.scheme.lower() != "https" or p.username is not None or p.password is not None:
raise ValueError("origin.scheme")
host = p.hostname or ""
labels = host.lower().split(".")
if len(labels) < 2 or not re.fullmatch(r"[a-z]{2,63}", labels[-1]):
raise ValueError("origin.dns")
if any(not re.fullmatch(r"[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?", x) for x in labels):
raise ValueError("origin.label")
if len(host) > 253 or p.netloc.endswith(":") or "\\" in url:
raise ValueError("origin.authority")
port = p.port if p.port is not None else 443
if not 1 <= port <= 65535:
raise ValueError("origin.port")
return ("https", host.lower(), port)
def same_origin(a, b):
return https_origin(a) == https_origin(b)Prüfe Großschreibung und ignoriere Pfade, lehne Zugangsdaten, IP-Literale, Leerraum und Ports außerhalb 1–65535 ab.
Vergleichen Sie das tatsächliche Verhalten mit dem erwarteten Ergebnis. Klären Sie fehlgeschlagene Prüfungen vor weiteren Änderungen.
Richten 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.
import re
from urllib.parse import urlsplit
def https_origin(url):
if type(url) is not str or any(not 33 <= ord(c) <= 126 for c in url):
raise ValueError("origin.text")
p = urlsplit(url)
if p.scheme.lower() != "https" or p.username is not None or p.password is not None:
raise ValueError("origin.scheme")
host = p.hostname or ""
labels = host.lower().split(".")
if len(labels) < 2 or not re.fullmatch(r"[a-z]{2,63}", labels[-1]):
raise ValueError("origin.dns")
if any(not re.fullmatch(r"[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?", x) for x in labels):
raise ValueError("origin.label")
if len(host) > 253 or p.netloc.endswith(":") or "\\" in url:
raise ValueError("origin.authority")
port = p.port if p.port is not None else 443
if not 1 <= port <= 65535:
raise ValueError("origin.port")
return ("https", host.lower(), port)
def same_origin(a, b):
return https_origin(a) == https_origin(b)Orivelle bietet Anwendungsentwicklern einen KI-Programmierarbeitsbereich für Windows, um Entscheidungen an Eingabegrenzen zu untersuchen. Öffnen Sie das Projekt und beschreiben Sie, welche Eingaben angenommen, zurückgewiesen oder als gleichwertig betrachtet werden sollen. Lassen Sie das Modell die aktuelle Implementierung vor Regeländerungen prüfen, besonders wenn umgebender Code eine enge Auslegung voraussetzt.
Ein eingeschränkter HTTPS-Origin-Vergleich ist ein praktischer Auftrag. Liefern Sie Beispiele mit ausdrücklichen und Standardports, Hostnamen mit gemischter Groß- und Kleinschreibung und Eingaben außerhalb der zulässigen Teilmenge. Fragen Sie nach deren Behandlung im aktuellen Code und dem Ergebnis für den Aufrufer. So bleibt das Gespräch an Ihre Anwendungsregeln gebunden statt an eine angenommene universelle URL-Regel.
Prüfen Sie Normalisierungs- und Zurückweisungsverhalten des Vorschlags. Eine zuvor zurückgewiesene Form zu akzeptieren kann den Vertrag erweitern, selbst wenn der Vergleich sauberer aussieht. Führen Sie Ihre Projekttests aus und prüfen Sie Aufrufstellen, die auf Übereinstimmung bauen, einschließlich der Reaktion auf fehlerhafte Eingaben. Dokumentieren Sie die zulässige Teilmenge zusammen mit der Änderung.
Orivelle verbindet sich mit unterstützten OpenAI-kompatiblen oder Anthropic-Endpunkten, bei Bedarf mit Zugangsdaten. Ein abliteriertes KI-Modell kann gewählt werden, wenn Ihr Endpunkt es anbietet. Modell und Server bestimmen Werkzeuge, Kontextgrenzen und verbleibende Einschränkungen; die Bezeichnung zertifiziert keine Sicherheitsentscheidungen und ersetzt keine Prüfung des einzusetzenden Codes.
Parsing und Annahme durch die Anwendung sind getrennte Entscheidungen. Gewinnen Sie mit dem Parser Komponenten und prüfen Sie dann, welche Schemes und Hostformen Ihr Code erlaubt. Lassen Sie das Modell die Durchsetzung dieser Regeln identifizieren, statt erfolgreiches Parsing mit Annahme gleichzusetzen.
Ja. Eine Neufassung kann Werte reparieren oder neu interpretieren, die der alte Code zurückwies. Nehmen Sie neben gleichwertigen akzeptierten Fällen auch Zurückweisungsfälle auf und prüfen Sie die Reaktion des Aufrufers. Entscheiden Sie ausdrücklich, ob neu akzeptierte Formen zum Anwendungsvertrag gehören.
Nein. Der beschriebene Vergleich betrifft die Origin-Regel Ihres Codes. Er belegt weder die Vertrauenswürdigkeit eines entfernten Diensts noch die Sicherheit einer nachfolgenden Anfrage. Prüfen Sie diese gesonderten Anforderungen dort, wo Ihre Anwendung die Anfrage stellt.
Bevorzugen Sie synthetische Hostnamen und lassen Sie Zugangsdaten weg, sofern sie nicht für einen Zurückweisungsfall nötig sind. Prüfen Sie Endpunkt- und Werkzeugziele. Ein separat laufender lokaler Modellserver macht nicht jedes angeschlossene Werkzeug lokal, auch keine Werkzeuge zur URL-Prüfung.
Orivelle · Aktualisiert 2026-10-25