Security NotesA Visual Studio Code extension to aid code reviews from a security perspective. Security Notes allows the creation of notes within source files, which can be replied to, reacted to using emojis, and assigned statuses such as "TODO", "Vulnerable" and "Not Vulnerable". Also, it allows importing the output from SAST tools (such as semgrep, bandit and brakeman), into notes, making the processing of the findings much easier. Finally, collaborate with others by using a centralized database for notes that will be automatically synced in real-time! Create a note locally, and it will be automatically pushed to whoever is working with you on the project. Try it out!Download the extension directly from the Visual Studio Marketplace and you should be ready to go :) Alternative installation methodsPlease follow any of the alternatives below:
Basic UsageSecurity Notes allows the creation of notes within source files, which can be replied to, reacted to using emojis, and assigned statuses such as "TODO", "Vulnerable" and "Not Vulnerable". Local database for CommentsBy default your notes are backed up in a JSON file once you close VSCode. Once you open the project again, saved comments are loaded and shown on the UI. Collaboration ModeBecause chasing bugs with friends is more fun :) Security Notes allows sharing of notes in real-time with other users. To do so, it leverages the RethinkDB real-time database. First, make sure you have a RethinkDB database instance up and running. Then set your author name, and the database connection information in the extension's settings, and you are ready to go! Please see the section below for more details). Collaboration mode in action: Setting up the RethinkDB databaseWe recommend following instructions in RethinkDB installation guide. Additionally, following hardening steps, such as setting a password for the Naturally, you will want to collaborate with remote peers. To do so in a secure way, we recommend setting up access to RethinkDB via SSH or through a VPN like Tailscale. This way, you avoid having to expose the instance to any network, and also ensuring information in transit is encrypted.
Importing SAST resultsThe extension allows you to import the output from SAST tools into notes, making the processing of the findings much easier: Currently supported tools include:
For imports to be successful, we recommend running commands as follows (exporting results as JSON), and making sure to run these tools from the project's folder (so that all relative paths can be processed correctly):
Exporting notes in popular formatsCurrently we only support exporting notes to Markdown, but other formats such as HTML are coming soon. Extension SettingsVarious settings for the extension can be configured in VSCode's User Settings page ( ContributingWe welcome contributions to Security Notes! These are the many ways you can help:
Development and Debugging
AcknowledgmentsThis project is based on the comment-sample extension. Additionally, the code for the note reactions was inspired by comment-reactions. LicenseLicensed under the MIT License. |