IDE integration

The earlier you start thinking about the well-formedness and security of your APIs, the less you need to backtrack to fix issues later on. Follow best practices already when developing your OpenAPI definitions makes getting it right less of a chore. You can install the extension OpenAPI (Swagger) Editor to your IDE to integrate API Security Audit and API Conformance Scan with your integrated development environments (IDEs). This lets you start checking the quality of your OpenAPI definition already when you are working on it.

You can also integrate Security Audit with your CI/CD pipeline so that any changes to APIs in your project are automatically audited for security. For more details, see CI/CD integration.

Supported IDEs

The integration extension OpenAPI (Swagger) Editor is currently available for the following IDEs:

  • Microsoft Visual Studio Code (VS Code)
  • JetBrains IntelliJ IDEA
  • Eclipse IDE

You can find links to more details for all supported options from the 42Crunch Platform landing page.

Screenshot of the available integrations on the platform home page

How IDE integration works

To integrate your IDE with 42Crunch Platform, you must first install the extension OpenAPI (Swagger) Editor to your IDE. After that, you can choose either the free but limited experience, or the full experience for paying customers.

  • Paying customers use IDE tokens to configure the IDE extension to access and authenticate to 42Crunch Platform. You can create IDE tokens in 42Crunch Platform, either on the landing page or in your platform account settings. This documentation describes usage for paying customers.
  • Free customers can use freemium tokens in their IDEs to configure using the more limited freemium service locally. For more details on the freemium service, see Freemium User FAQ.

Features

IDE integration brings two of the main features of 42Crunch PlatformSecurity Audit and Conformance Scan — directly into your IDE:

  • Audit your API definition with Security Audit to validate its quality and security already when working on it.
  • Use the Try It feature to simply test how the operation you are developing currently works by sending a single HTTP request and modifying, for example, the parameters, request body, or authentication settings used.
  • Hone your scan configuration and test the impact of your changes on the happy path request. This helps in getting the happy paths right even before you start the actual scan.
  • Scan the API operation to check that the API implementation has no vulnerabilities and that it behaves correctly, even in response to malformed requests.

Scanning individual API operations give focused results quickly on the API operation you are currently working on and avoids unnecessary noise during the development time. You can scan the full API in your IDE when you are ready with your development work to see if there are other issues to fix. There are three options how you can do this:

  • 42Crunch API Security Tools (AST) binary: Automatically download the AST binary and run the scan locally on your machine.
  • Conformance Scan on premises: Use the standard Conformance Scan v2 Docker images to run the scan in Docker locally on your machine (see Running Conformance Scan on premises).
  • API Conformance Scan Jobs Manager: Add Scan Jobs Manager into your Kubernetes cluster to run Conformance Scan Docker images remotely as a Kubernetes job (see scand-manager repository).

In IDEs, you can currently only scan APIs locally on your machine, not from 42Crunch Platform. Only Scan v2 is supported.

Conformance Scan in IDEs does not currently take scan configurations from 42Crunch Platform, instead it generates a default scan configuration and stores it in your local file system. You can view this configuration in your IDE and edit it as necessary, all the while checking in practice how your changes affect the scan. Once satisfied with your scan configuration, if you have the API in question already in 42Crunch Platform, you can even upload the scan configuration for it and use it when running Scan v2 on that API.