"I've built plugins for four SOAR vendors, and your model was the most mature. You had the best code quality and structure among the vendors, and as far as development goes, I don't know how it could have been easier." - Brandon McClure, Senior Security Analyst
The Rapid7 Integrations Team is focused on making plugin development an easy and consumable process for all security practitioners, not just those with a programming background or computer science degree. By doing so, we open up the doors for our customers to create more capabilities, reduce their costs, and accomplish more than they could have previously.
What are plugins?
Plugins are the extensible components of Rapid7's InsightConnect, that integrate with and provide specific capabilities for your existing tools and products. In fact, plugins are what enable InsightConnect to talk to your firewall to block a host, tell your endpoint detection system to blacklist a malicious hash, send a patch command to your patch management system, or create that well-defined Jira ticket that needs to be escalated. InsightConnect features nearly 300 out-of-the-box plugins to enable customers to connect their existing tech stack and automate more of their processes, enabling faster, more efficient, and accurate response.
How is it easy?
We’ve made plugin development easy by focusing on a few different key areas:
Automation and tooling
Our Integrations Team relies on automation to get more done, faster. For example, documentation can take a long time to write—sometimes as much time as it took to develop the plugin—so we created our tooling to generate the help documentation for users automatically and keep it up-to-date on every plugin change. Plugin builders only have to add any additional details and notes they think would be valuable to the user.
In addition, most of the files in a plugin are automatically generated by the tooling and do not need to be touched. We did the hard work for you, so you can just focus on the logic.
Our plugin release pipeline is entirely automated, meaning we can ship a plugin to all users within minutes of merging a Pull Request on Github. Once the reviewers give your code a thumbs up, it gets shipped to the Rapid7 Extension Library.
The plugin tooling is designed so that you can build a production-ready plugin directly from the command-line without having to go back and forth between the product and code. You can easily upload your new plugin to the product for orchestration whenever you’re ready.
Documentation and support
In addition, we have a Discussion forum where you can ask questions on plugin development.
Open source and publicly available
We’re approaching 300 plugins, and among those, over 250 of them are available as open-source code on Github. Often, this means adding a new capability is usually as easy as seeing how someone else developed a similar plugin, or adding onto existing code.
Also, if you’re a more experienced developer, some of our tooling is open-source as well, and there is more to come.
Now that you’ve heard how we’ve made it easy, why not try it out for yourself by building your very own plugin? We recommend starting with one of the simple, but repetitive tasks you perform on a recurring basis. Just imagine what you’ll be able to do with all of the time you free up with automation!
Start by watching the video series or reading the documentation.