microsoft / restler-fuzzer

RESTler is the first stateful REST API fuzzing tool for automatically testing cloud services through their REST APIs and finding security and reliability bugs in these services.
MIT License
2.59k stars 296 forks source link

RESTler unable to parse responses with Python 3.11 #732

Closed wilbaker closed 1 year ago

wilbaker commented 1 year ago

Description

RESTler is unable to parse responses with Python 3.11 due to inspect.getargspec being deprecated and removed.

getargspec is used here:

https://github.com/microsoft/restler-fuzzer/blob/5a89b41b83903f95a65741e0b8ef7320212d9e1e/restler/engine/core/request_utilities.py#L437

And results in the following being logged:

module 'inspect' has no attribute 'getargspec'

And a failure of RESTler to parse responses.

Steps to reproduce

  1. Install Python 3.11.3
  2. Build RESTler
  3. Compile against an OpenAPI spec that has a dependency between two REST APIs

Expected results

RESTler can parse the result from calling the first API, and use the value when calling the second API.

Actual results

RESTler fails to parse the result. speccov.json reports a invalid_due_to_parser_failure value greater than 0.

Environment details

Windows 11, Python 3.11.3, .NET 7.0.202, RESTler 9.1.1