Security News
Research
Data Theft Repackaged: A Case Study in Malicious Wrapper Packages on npm
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
This is a sample server Petstore server. You can find out more about Swagger at http://swagger.io or on irc.freenode.net, #swagger. For this sample, you can use the api key special-key
to test the authorization filters.
Install the gem from the command line:
gem install apimaticPetstore -v 1.0.1
Or add the gem to your Gemfile and run bundle
:
gem 'apimaticPetstore', '1.0.1'
For additional gem details, see the RubyGems page for the apimaticPetstore gem.
To run the tests, navigate to the root directory of the SDK in your terminal and execute the following command:
rake
Note: Documentation for the client can be found here.
The following parameters are configurable for the API Client:
Parameter | Type | Description |
---|---|---|
environment | Environment | The API environment. Default: Environment.PRODUCTION |
connection | Faraday::Connection | The Faraday connection object passed by the SDK user for making requests |
adapter | Faraday::Adapter | The Faraday adapter object passed by the SDK user for performing http requests |
timeout | Float | The value to use for connection timeout. Default: 60 |
max_retries | Integer | The number of times to retry an endpoint call if it fails. Default: 0 |
retry_interval | Float | Pause in seconds between retries. Default: 1 |
backoff_factor | Float | The amount to multiply each successive retry's interval amount by in order to provide backoff. Default: 2 |
retry_statuses | Array | A list of HTTP statuses to retry. Default: [408, 413, 429, 500, 502, 503, 504, 521, 522, 524] |
retry_methods | Array | A list of HTTP methods to retry. Default: %i[get put] |
http_callback | HttpCallBack | The Http CallBack allows defining callables for pre and post API calls. |
o_auth_client_id | String | OAuth 2 Client ID |
o_auth_redirect_uri | String | OAuth 2 Redirection endpoint or Callback Uri |
o_auth_token | OAuthToken | Object for storing information about the OAuth token |
o_auth_scopes | OAuthScopeEnum |
The API client can be initialized as follows:
client = SwaggerPetstore::Client.new(
o_auth_client_id: 'OAuthClientId',
o_auth_redirect_uri: 'OAuthRedirectUri',
o_auth_scopes: [
OAuthScopeEnum::READPETS,
OAuthScopeEnum::WRITEPETS
],
environment: Environment::PRODUCTION
)
This API uses OAuth 2 Implicit Grant
.
Your application must obtain user authorization before it can execute an endpoint call incase this SDK chooses to use OAuth 2.0 Implicit Grant to obtain a user's consent to perform an API request on user's behalf. This authorization includes the following steps
This process requires the presence of a client-side JavaScript code on the redirect URI page to receive the access token after the consent step is completed.
To obtain user's consent, you must redirect the user to the authorization page. The get_authorization_url()
method creates the URL to the authorization page. You must have initialized the client with scopes for which you need permission to access.
auth_url = client.auth.get_authorization_url
Once the user responds to the consent request, the OAuth 2.0 server responds to your application's access request by redirecting the user to the redirect URI specified set in Configuration
.
The redirect URI will receive the access token as the token
argument in the URL fragment.
https://example.com/oauth/callback#token=XXXXXXXXXXXXXXXXXXXXXXXXX
The access token must be extracted by the client-side JavaScript code. The access token can be used to authorize any further endpoint calls by the JavaScript code.
Scopes enable your application to only request access to the resources it needs while enabling users to control the amount of access they grant to your application. Available scopes are defined in the OAuthScopeEnum
enumeration.
Scope Name |
---|
READPETS |
WRITEPETS |
FAQs
Unknown package
We found that apimaticPetstore demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Research
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
Research
Security News
Attackers used a malicious npm package typosquatting a popular ESLint plugin to steal sensitive data, execute commands, and exploit developer systems.
Security News
The Ultralytics' PyPI Package was compromised four times in one weekend through GitHub Actions cache poisoning and failure to rotate previously compromised API tokens.