API-Contract-Mutation-Tester

Fuehrt semantische Mutationen auf OpenAPI-Feldern aus und sendet sie optional an ein echtes Backend, um die defensive Validierung zu pruefen

Fuegen Sie ein OpenAPI-3.x-Dokument ein. Das Tool erzeugt zunaechst gueltige Basis-Requests pro Operation und wandelt einzelne Felder dann in riskante Varianten um, etwa durch Entfernen von Pflichtfeldern, negative Zahlen, Enum-Verstoesse, reine Leerzeichen oder Sonderzeichenlasten.

So wird es genutzt:

  • OpenAPI-Spezifikation: YAML oder JSON einfuegen
  • Basis-URL: leer lassen fuer einen Offline-Plan oder auf ein echtes Backend zeigen
  • Mutationen ausfuehren: sendet die mutierten Requests wirklich ab
  • Autorisierungsheader: z. B. Bearer
  • Mutationen pro Feld: begrenzt die Anzahl pro Feld
  • Request-Timeout: maximale Laufzeit pro Anfrage

Interpretation:

  • defended: das Backend hat die Mutation abgelehnt
  • accepted: das Backend lieferte trotz Mutation einen Erfolgsstatus
  • documented: der beobachtete Statuscode ist in OpenAPI responses dokumentiert

Beispielergebnisse

1 Beispiele

Pruefen, ob ein Signup-Endpunkt gefaehrliche Mutationen ablehnt

Erzeugt Auslassungen, negative Zahlen und Sonderzeichen aus dem OpenAPI-Vertrag.

{
  "summary": {
    "operations": 1,
    "generatedMutations": 8,
    "executedMutations": 0,
    "acceptedMutations": 0,
    "defendedMutations": 0
  },
  "mutations": [
    {
      "fieldPath": "body.email",
      "mutation": "Inject special characters"
    },
    {
      "fieldPath": "body.age",
      "mutation": "Negative numeric mutation"
    }
  ]
}
Eingabeparameter anzeigen
{ "openApiSpec": "openapi: 3.0.3\npaths:\n /users:\n post:\n requestBody:\n required: true\n content:\n application/json:\n schema:\n type: object\n required: [email, role, age]\n properties:\n email: { type: string, minLength: 5 }\n role: { type: string, enum: [admin, member] }\n age: { type: integer, minimum: 18 }\n responses:\n \"201\": { description: created }\n \"400\": { description: invalid }\n", "baseUrl": "", "executeMutations": false, "authorizationHeader": "", "mutationsPerField": 3, "timeoutMs": 8000 }

Wichtige Fakten

Kategorie
Entwicklung & Web
Eingabetypen
textarea, text, checkbox, number
Ausgabetyp
json
Sample-Abdeckung
4
API verfügbar
Yes

Überblick

Der API-Contract-Mutation-Tester analysiert Ihre OpenAPI-3.x-Spezifikation und generiert gezielte semantische Mutationen für Request-Felder, um die defensive Validierung Ihres Backends zu prüfen. Durch das Einfügen von riskanten Werten wie fehlenden Pflichtfeldern, negativen Zahlen oder Sonderzeichen deckt das Tool Schwachstellen in der API-Härtung auf. Sie können die mutierten Anfragen entweder als Offline-Plan exportieren oder direkt gegen eine echte Basis-URL ausführen, um sofort zu sehen, ob Ihr Backend die fehlerhaften Payloads erfolgreich abwehrt.

Wann verwenden

  • Wenn Sie die Robustheit und defensive Validierung einer neuen API-Schnittstelle vor dem produktiven Einsatz testen möchten.
  • Um zu überprüfen, ob Ihr Backend fehlende Pflichtfelder, ungültige Enums oder fehlerhafte Datentypen korrekt ablehnt.
  • Wenn Sie sicherstellen müssen, dass alle von der API zurückgegebenen Fehlercodes in der OpenAPI-Spezifikation dokumentiert sind.

So funktioniert es

  • Fügen Sie Ihre OpenAPI-3.x-Spezifikation im YAML- oder JSON-Format in das Textfeld ein.
  • Geben Sie optional eine Basis-URL und einen Autorisierungsheader an, um die Mutationen direkt gegen ein echtes Backend auszuführen.
  • Legen Sie die maximale Anzahl der Mutationen pro Feld und das Request-Timeout fest.
  • Starten Sie den Test, um einen detaillierten Bericht zu erhalten, der zeigt, welche Mutationen vom Backend abgewehrt oder fälschlicherweise akzeptiert wurden.

Anwendungsfälle

Automatisierte Generierung von Negativ-Tests für API-Endpunkte basierend auf dem OpenAPI-Vertrag.
Identifikation von Sicherheitslücken durch das Senden von unerwarteten Sonderzeichen oder extremen numerischen Werten.
Validierung der API-Dokumentation durch Abgleich der tatsächlichen Backend-Antworten mit den definierten OpenAPI-Responses.

Beispiele

1. Prüfung eines Signup-Endpunkts auf fehlende Validierung

Backend-Entwickler
Hintergrund
Ein neuer Registrierungs-Endpunkt wurde implementiert und dokumentiert. Es muss sichergestellt werden, dass ungültige Eingaben nicht zu Serverfehlern oder falschen Datenbankeinträgen führen.
Problem
Manuelles Testen aller Randfälle wie fehlende E-Mail, negatives Alter oder falsche Rollen ist zeitaufwändig und fehleranfällig.
Verwendung
Fügen Sie die OpenAPI-Spezifikation des Endpunkts ein, setzen Sie die Mutationen pro Feld auf 3 und lassen Sie das Tool den Offline-Plan generieren.
Beispielkonfiguration
mutationsPerField: 3, executeMutations: false
Ergebnis
Das Tool generiert spezifische Mutationen, darunter das Entfernen der E-Mail-Adresse und das Einfügen negativer Zahlen für das Alter, die als Testfälle genutzt werden können.

2. Live-Test der defensiven API-Härtung

QA-Ingenieur
Hintergrund
Vor einem Release soll die Staging-Umgebung auf Robustheit gegen fehlerhafte Payloads geprüft werden.
Problem
Es ist unklar, ob das Backend alle in der Spezifikation definierten Einschränkungen wie Enum-Werte oder minimale Längen tatsächlich durchsetzt.
Verwendung
Fügen Sie die OpenAPI-Spezifikation ein, tragen Sie die Staging-URL als Basis-URL ein, fügen Sie den Bearer-Token hinzu und aktivieren Sie 'Mutationen ausführen'.
Beispielkonfiguration
baseUrl: https://staging-api.example.com, executeMutations: true, authorizationHeader: Bearer abc123xyz
Ergebnis
Der Bericht zeigt genau, welche fehlerhaften Requests mit einem Erfolgsstatus beantwortet wurden ('accepted') und wo die Validierung nachgebessert werden muss.

Mit Samples testen

development

Verwandte Hubs

FAQ

Welche OpenAPI-Versionen werden unterstützt?

Das Tool unterstützt OpenAPI-3.x-Dokumente im YAML- oder JSON-Format.

Werden die mutierten Requests wirklich an mein Backend gesendet?

Nur wenn Sie eine Basis-URL angeben und die Option 'Mutationen ausführen' aktivieren. Andernfalls wird nur ein Offline-Plan generiert.

Was bedeutet der Status 'defended' im Ergebnis?

'Defended' bedeutet, dass Ihr Backend die mutierte, fehlerhafte Anfrage korrekt erkannt und abgelehnt hat.

Wie viele Mutationen werden pro Feld generiert?

Sie können die Anzahl der Mutationen pro Feld über die Einstellungen begrenzen. Standardmäßig sind es 3, maximal 6.

Kann ich APIs testen, die eine Authentifizierung erfordern?

Ja, Sie können im Feld 'Autorisierungsheader' einen gültigen Token (z. B. Bearer <token>) übergeben.

API-Dokumentation

Request-Endpunkt

POST /de/api/tools/api-contract-mutation-tester

Request-Parameter

Parameter-Name Typ Erforderlich Beschreibung
openApiSpec textarea Ja -
baseUrl text Nein -
executeMutations checkbox Nein -
authorizationHeader text Nein -
mutationsPerField number Nein -
timeoutMs number Nein -

Antwortformat

{
  "key": {...},
  "metadata": {
    "key": "value"
  },
  "error": "Error message (optional)",
  "message": "Notification message (optional)"
}
JSON-Daten: JSON-Daten

MCP-Dokumentation

Fügen Sie dieses Tool zu Ihrer MCP-Server-Konfiguration hinzu:

{
  "mcpServers": {
    "elysiatools-api-contract-mutation-tester": {
      "name": "api-contract-mutation-tester",
      "description": "Fuehrt semantische Mutationen auf OpenAPI-Feldern aus und sendet sie optional an ein echtes Backend, um die defensive Validierung zu pruefen",
      "baseUrl": "https://elysiatools.com/mcp/sse?toolId=api-contract-mutation-tester",
      "command": "",
      "args": [],
      "env": {},
      "isActive": true,
      "type": "sse"
    }
  }
}

Sie können mehrere Tools verketten, z.B.: `https://elysiatools.com/mcp/sse?toolId=png-to-webp,jpg-to-webp,gif-to-webp`, maximal 20 Tools.

Wenn Sie auf Probleme stoßen, kontaktieren Sie uns bitte bei [email protected]