Skip to content

Commit 7d3783e

Browse files
committed
Update README
1 parent 514df4c commit 7d3783e

1 file changed

Lines changed: 74 additions & 14 deletions

File tree

README.md

Lines changed: 74 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,96 @@
1-
# Security Notes
1+
<h1 align="center">
2+
<sub>
3+
<img src="resources/security_notes_logo.png" width="48" height="48" alt="icon">
4+
</sub>
5+
<sup>
6+
Security Notes
7+
</sup>
8+
</h1>
9+
<p align="center">
10+
A Visual Studio Code extension to aid code reviews from a security perspective.
11+
</p>
212

3-
Security Notes is a Visual Studio Code extension to aid code reviews from a security perspective.
13+
---
414

5-
The extension 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".
15+
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".
616

717
Also, it allows importing the output from SAST tools (currently only [Semgrep](https://semgrep.dev/)) into notes, making the processing of the findings much easier.
818

9-
## Installing a Release
19+
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.
1020

11-
Download the [latest release](https://github.com/RefactorSecurity/vscode-security-notes/releases) file (with the `.vsix` extension) and install manually in VSCode via **Extensions** > **Install From VSIX**.
12-
## Building the Extension
21+
## Try it out!
1322

14-
- Run `npm install` in terminal to install dependencies
15-
- Run the `Run Extension` target in the Debug View. This will:
16-
- Start a task `npm: watch` to compile the code
17-
- Run the extension in a new VS Code window
23+
Download the extension directly from the Visual Studio [Marketplace]() and you should be ready to go :)
24+
25+
### Alternative installation methods
26+
27+
Please follow any of the alternatives below:
28+
29+
- Download the [latest release](https://github.com/RefactorSecurity/vscode-security-notes/releases) file (with the `.vsix` extension) and install manually in VSCode via **Extensions** > **Install From VSIX**
30+
- Build the extension yourself
31+
- Clone the repo
32+
- Install VS Code Extension Manager via `npm install -g @vscode/vsce`
33+
- Create a `.vsix` package via `vsce package`
34+
35+
## Basic Usage
36+
37+
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".
38+
39+
![Demo for basic usage](gifs/demo-basic-usage.gif)
40+
41+
## Local database for Comments
42+
43+
By 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.
44+
45+
## Collaboration Mode
46+
47+
Because chasing bugs with friends is more fun :)
48+
49+
Security Notes allows sharing of notes in real-time with other users. To do so, it leverages the RethinkDB real-time database.
50+
51+
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).
52+
53+
Collaboration mode in action:
54+
55+
![Demo for collaboration](gifs/demo-collaboration.gif)
56+
57+
### Setting up the RethinkDB database
58+
59+
We recommend following instructions in RethinkDB [installation guide](https://rethinkdb.com/docs/install/). Additionally, following [hardening steps](https://rethinkdb.com/docs/security/#wrapper), such as setting a password for the `admin` user and setting up SSL/TLS, are strongly encouraged.
60+
61+
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](http://tailscale.com). This way, you avoid having to expose the instance to any network, and also ensuring information in transit is encrypted.
62+
63+
> **Important Note:** When collaborating with others, ensure that all VSCode instances open the project from the same relative location. For example, if the source code repository you're reviewing has a directory structure like `source_code/app/src`, all peers should open VScode at the same level. Security Notes will store note location using relative paths, so they should be consistent.
64+
65+
## Importing SAST results
66+
67+
The extension allows you to import the output from SAST tools (currently only [Semgrep](https://semgrep.dev/)) into notes, making the processing of the findings much easier:
68+
69+
![Demo for semgrep import](gifs/demo-semgrep-import.gif)
1870

1971
## Contributing
2072

2173
We welcome contributions to Security Notes! These are the many ways you can help:
2274

2375
- Report bugs
2476
- Submit patches and features
25-
- Add support for additional SAST tool output parsing
26-
- Follow us on [Twitter](https://twitter.com/refactorsec) :)
77+
- Add support for additional SAST tools
78+
- Follow us on [Twitter](https://twitter.com/refactorsec) :)
79+
80+
## Development and Debugging
81+
82+
- Clone the repo
83+
- Run `npm install` to install dependencies
84+
- Run the `Run Extension` target in the Debug View. This will:
85+
- Start a task `npm: watch` to compile the code
86+
- Run the extension in a new VS Code window
2787

2888
## Acknowledgments
2989

30-
This project is based on the [comment-sample](https://github.com/microsoft/vscode-extension-samples/tree/main/comment-sample) extension.
90+
This project is based on the [comment-sample](https://github.com/microsoft/vscode-extension-samples/tree/main/comment-sample) extension.
3191

3292
Additionally, the code for the note reactions was inspired by [comment-reactions](https://github.com/hacke2/vscode-extension-samples/tree/feat/comment-reactions).
3393

3494
## License
3595

36-
MIT
96+
Licensed under the MIT License.

0 commit comments

Comments
 (0)