Skip to content

Commit 0db759f

Browse files
committed
Update README.md (#500)
1 parent d1631e3 commit 0db759f

File tree

1 file changed

+65
-83
lines changed

1 file changed

+65
-83
lines changed

README.md

+65-83
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<div align="center">
2-
2+
33
# JFrog Frogbot
44

55
[![Frogbot](images/frogbot-intro.png)](#readme)
@@ -14,15 +14,6 @@
1414

1515
</div>
1616

17-
## Table of contents
18-
19-
- [🤖 About JFrog Frogbot](#-about-jfrog-frogbot)
20-
- [🖥️ Setting up Frogbot](#️-setting-up-frogbot)
21-
- [🚥 Using Frogbot](#-using-frogbot)
22-
- [📛 Adding the Frogbot badge](#-adding-the-frogbot-badge)
23-
- [🔥 Reporting issues](#-reporting-issues)
24-
- [💻 Contributions](#-contributions)
25-
2617
<div id="what-is-frogbot"></div>
2718

2819
## 🤖 About JFrog Frogbot
@@ -32,29 +23,42 @@ JFrog Frogbot is a Git bot that scans your Git repositories for security vulnera
3223
1. It scans pull requests immediately after they are opened but before they are merged. This process notifies you if the pull request is about to introduce new vulnerabilities to your code. This unique capability ensures the code is scanned and can be fixed even before vulnerabilities are introduced into the codebase.
3324
2. It scans the Git repository periodically and creates pull requests with fixes for detected vulnerabilities.
3425

35-
It supports the following Git providers:
36-
- Azure Repos
37-
- Bitbucket Server
38-
- GitHub
39-
- GitLab
26+
#### It supports the following Git providers:
27+
28+
| <img height="20" width="20" src="https://cdn.simpleicons.org/GitHub" alt="GitHub" /> GitHub | <img height="20" width="20" src="https://cdn.simpleicons.org/GitLab" alt="GitLab" /> GitLab | <img height="20" width="20" src="https://cdn.simpleicons.org/AzureDevops" alt="Azure" /> Azure Repos | <img height="20" width="20" src="https://cdn.simpleicons.org/Bitbucket" alt="Bitbucket" /> Bitbucket Server |
29+
|----------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------|
30+
31+
32+
#### It supports the following package managers are:
33+
34+
|<img height="20" width="20" src="https://cdn.simpleicons.org/Go" alt="Go" /> Go|<img height="20" width="20" src="https://cdn.simpleicons.org/Gradle" alt="Gradle" /> Gradle|<img height="20" width="20" src="https://cdn.simpleicons.org/ApacheMaven" alt="Maven" /> Maven|<img height="20" width="20" src="https://cdn.simpleicons.org/npm" alt="npm" /> npm|<img height="20" width="20" src="https://cdn.simpleicons.org/Yarn" alt="Yarn" /> Yarn|
35+
|:----|:----|:----|:----|:----|
36+
|<img height="20" width="20" src="https://cdn.simpleicons.org/.NET" alt=".NET" /> .NET|<img height="20" width="20" src="https://cdn.simpleicons.org/NuGet" alt="NuGet" /> NuGet|<img height="20" width="20" src="https://cdn.simpleicons.org/Python" alt="Pip" /> Pip|<img height="20" width="20" src="https://cdn.simpleicons.org/Python" alt="Pipenv" /> Pipenv|<img height="20" width="20" src="https://cdn.simpleicons.org/Poetry" alt="Poetry" /> Poetry|
37+
4038

4139
### Why use JFrog Frogbot?
42-
- **Software Composition Analysis (SCA)**: Scan your project dependencies for security issues. For selected security issues, get leverage-enhanced CVE data provided by our JFrog Security Research team. Frogbot uses JFrog's vast vulnerabilities database, to which we continuously add new component vulnerability data. Also included is VulnDB, the industry's most comprehensive security database, to further extend the range of vulnerabilities detected and fixed by Frogbot.
43-
- **Vulnerability Contextual Analysis**: This feature uses the code context to eliminate false positive reports on vulnerable dependencies that are not applicable to the code. Vulnerability Contextual Analysis is currently supported for Python and JavaScript code.
40+
- **Software Composition Analysis (SCA)**: Scan your project dependencies for security issues. For selected security issues, get leverage-enhanced CVE data from our JFrog Security Research team. Frogbot uses JFrog's vast vulnerabilities database, to which we continuously add new component vulnerability data. Also included is VulnDB, the industry's most comprehensive security database, to further extend the range of vulnerabilities detected and fixed by Frogbot.
41+
- **Static Application Security Testing (SAST)**: Provides fast and accurate security-focused engines that detect zero-day security vulnerabilities on your source code sensitive operations, while minimizing false positives.
42+
- **CVE Vulnerability Contextual Analysis**: This feature uses the code context to eliminate false positive reports on vulnerable dependencies that are not applicable to the code. For CVE vulnerabilities that are applicable to your code, Frogbot will create pull request comments on the relevant code lines with full descriptions regarding the security issues caused by the CVE. Vulnerability Contextual Analysis is currently supported for Python, JavaScript, and Java code.
4443
- **Secrets Detection**: Detect any secrets left exposed inside the code. to stop any accidental leak of internal tokens or credentials.
4544
- **Infrastructure as Code scans (IaC)**: Scan Infrastructure as Code (Terraform) files for early detection of cloud and infrastructure misconfigurations.
4645

47-
> **_NOTE:_** **Vulnerability Contextual Analysis**, **Secrets Detection** and **Infrastructure as Code scans**
46+
> **_NOTE:_** **SAST**, **Vulnerability Contextual Analysis**, **Secrets Detection** and **Infrastructure as Code scans**
4847
> require the [JFrog Advanced Security Package](https://jfrog.com/xray/).
4948
5049
## 🖥️ Setting up Frogbot
5150

5251
Set up Frogbot on your preferred CI server:
53-
- [GitHub Actions](docs/install-github.md)
54-
- [Jenkins](docs/templates/jenkins/README.md)
55-
- [JFrog Pipelines](docs/templates/jfrog-pipelines/README.md)
56-
- [GitLab Pipelines](docs/install-gitlab.md)
57-
- [Azure Pipelines](docs/install-azure-pipelines.md)
52+
53+
<img height="20" width="20" src="https://cdn.simpleicons.org/GitHubActions" alt="GitHubActions" /> [GitHub Actions](docs/install-github.md)
54+
55+
<img height="20" width="20" src="https://cdn.simpleicons.org/Jenkins" alt="Jenkins" /> [Jenkins](docs/templates/jenkins/README.md)
56+
57+
<img height="20" width="20" src="https://cdn.simpleicons.org/JfrogPipelines" alt="jfrogpipelines" /> [JFrog Pipelines](docs/templates/jfrog-pipelines/README.md)
58+
59+
<img height="20" width="20" src="https://cdn.simpleicons.org/Gitlab" alt="Gitlab" /> [GitLab CI](docs/install-gitlab.md)
60+
61+
<img height="20" width="20" src="https://cdn.simpleicons.org/AzurePipelines" alt="AzurePipelines" /> [Azure Pipelines](docs/install-azure-pipelines.md)
5862

5963
<details>
6064
<summary> Optional - set up a FREE JFrog Environment in the Cloud</summary>
@@ -92,6 +96,7 @@ After the setup is complete, you'll receive an email with your JFrog environment
9296
<div id="reporting-issues"></div>
9397

9498
## 🚥 Using Frogbot
99+
95100
<details>
96101
<summary>Scanning pull requests</summary>
97102

@@ -103,98 +108,85 @@ The following features use the package manager used for building the project:
103108
* Software Composition Analysis (SCA)
104109
* Vulnerability Contextual Analysis
105110

106-
The supported package managers are:
107-
- Go
108-
- Gradle
109-
- Maven
110-
- .NET
111-
- npm
112-
- NuGet
113-
- Pip
114-
- Pipenv
115-
- Poetry
116-
- Yarn
117-
118111
### How to use Pull Request scanning?
119-
120112
<details>
121-
<summary>Azure Repos</summary>
113+
<summary>GitHub</summary>
122114

123-
After you create a new pull request, Frogbot will automatically scan it.
115+
After you create a new pull request, the maintainer of the Git repository can trigger Frogbot to scan the pull request from the pull request UI.
124116

125117
> **_NOTE:_** The scan output will include only new vulnerabilities added by the pull request.
126118
> Vulnerabilities that aren't new, and existed in the code before the pull request was created, will not be included in
127119
> the
128-
> report. In order to include all the vulnerabilities in the report, including older ones that weren't added by this
120+
> report. In order to include all of the vulnerabilities in the report, including older ones that weren't added by this
129121
> PR, use the includeAllVulnerabilities parameter in the frogbot-config.yml file.
130122
131-
The Frogbot Azure Repos scan workflow is:
123+
The Frogbot GitHub scan workflow is:
132124

133125
1. The developer opens a pull request.
134-
2. Frogbot scans the pull request and adds a comment with the scan results.
135-
3. Frogbot can be triggered again following new commits, by adding a comment with the `rescan` text.
126+
2. The Frogbot workflow automatically gets triggered and a [GitHub environment](https://docs.github.com/en/actions/deployment/targeting-different-environments/using-environments-for-deployment#creating-an-environment) named `frogbot` becomes pending for the maintainer's approval.
127+
![](https://raw.githubusercontent.com/jfrog/frogbot/master/images/github-pending-deployment.png)
128+
129+
3. The maintainer of the repository reviews the pull request and approves the scan: [![](./images/github-deployment.gif)](#running-frogbot-on-github)
130+
4. Frogbot can be triggered again following new commits, by repeating steps 2 and 3.
136131

137132
</details>
138133

139134
<details>
140-
<summary>Bitbucket Server</summary>
135+
<summary>GitLab</summary>
141136

142-
After you create a new pull request, Frogbot will automatically scan it.
137+
After you create a new merge request, the maintainer of the Git repository can trigger Frogbot to scan the merge request from the merge request UI.
143138

144-
> **_NOTE:_** The scan output will include only new vulnerabilities added by the pull request.
145-
> Vulnerabilities that aren't new, and existed in the code before the pull request was created, will not be included in
139+
> **_NOTE:_** The scan output will include only new vulnerabilities added by the merge request.
140+
> Vulnerabilities that aren't new, and existed in the code before the merge request was created, will not be included in
146141
> the
147142
> report. In order to include all of the vulnerabilities in the report, including older ones that weren't added by this
148-
> PR, use the includeAllVulnerabilities parameter in the frogbot-config.yml file.
143+
> merge request, use the includeAllVulnerabilities parameter in the frogbot-config.yml file.
149144
150-
The Frogbot scan on Bitbucket Server workflow:
145+
The Frogbot GitLab flow is as follows:
151146

152-
1. The developer opens a pull request.
153-
2. Frogbot scans the pull request and adds a comment with the scan results.
154-
3. Frogbot can be triggered again following new commits, by adding a comment with the `rescan` text.
147+
1. The developer opens a merge request.
148+
2. The maintainer of the repository reviews the merge request and approves the scan by triggering the manual _frogbot-scan_ job.
149+
3. Frogbot is then triggered by the job, it scans the merge request and adds a comment with the scan results.
150+
4. Frogbot can be triggered again following new commits, by triggering the _frogbot-scan_ job again.
151+
![](https://raw.githubusercontent.com/jfrog/frogbot/master/images/gitlab-run-button.png)
155152

156153
</details>
157-
154+
158155
<details>
159-
<summary>GitHub</summary>
156+
<summary>Azure Repos</summary>
160157

161-
After you create a new pull request, the maintainer of the Git repository can trigger Frogbot to scan the pull request from the pull request UI.
158+
After you create a new pull request, Frogbot will automatically scan it.
162159

163160
> **_NOTE:_** The scan output will include only new vulnerabilities added by the pull request.
164161
> Vulnerabilities that aren't new, and existed in the code before the pull request was created, will not be included in
165162
> the
166-
> report. In order to include all of the vulnerabilities in the report, including older ones that weren't added by this
163+
> report. In order to include all the vulnerabilities in the report, including older ones that weren't added by this
167164
> PR, use the includeAllVulnerabilities parameter in the frogbot-config.yml file.
168165
169-
The Frogbot GitHub scan workflow is:
166+
The Frogbot Azure Repos scan workflow is:
170167

171168
1. The developer opens a pull request.
172-
2. The Frogbot workflow automatically gets triggered and a [GitHub environment](https://docs.github.com/en/actions/deployment/targeting-different-environments/using-environments-for-deployment#creating-an-environment) named `frogbot` becomes pending for the maintainer's approval.
173-
![](https://raw.githubusercontent.com/jfrog/frogbot/master/images/github-pending-deployment.png)
174-
175-
3. The maintainer of the repository reviews the pull request and approves the scan: [![](./images/github-deployment.gif)](#running-frogbot-on-github)
176-
4. Frogbot can be triggered again following new commits, by repeating steps 2 and 3.
169+
2. Frogbot scans the pull request and adds a comment with the scan results.
170+
3. Frogbot can be triggered again following new commits, by adding a comment with the `rescan` text.
177171

178172
</details>
179173

180174
<details>
181-
<summary>GitLab</summary>
175+
<summary>Bitbucket Server</summary>
182176

183-
After you create a new merge request, the maintainer of the Git repository can trigger Frogbot to scan the merge request from the merge request UI.
177+
After you create a new pull request, Frogbot will automatically scan it.
184178

185-
> **_NOTE:_** The scan output will include only new vulnerabilities added by the merge request.
186-
> Vulnerabilities that aren't new, and existed in the code before the merge request was created, will not be included in
179+
> **_NOTE:_** The scan output will include only new vulnerabilities added by the pull request.
180+
> Vulnerabilities that aren't new, and existed in the code before the pull request was created, will not be included in
187181
> the
188182
> report. In order to include all of the vulnerabilities in the report, including older ones that weren't added by this
189-
> merge request, use the includeAllVulnerabilities parameter in the frogbot-config.yml file.
183+
> PR, use the includeAllVulnerabilities parameter in the frogbot-config.yml file.
190184
191-
The Frogbot GitLab flow is as follows:
185+
The Frogbot scan on Bitbucket Server workflow:
192186

193-
1. The developer opens a merge request.
194-
2. The maintainer of the repository reviews the merge request and approves the scan by triggering the manual _frogbot-scan_ job.
195-
3. Frogbot is then triggered by the job, it scans the merge request and adds a comment with the scan results.
196-
4. Frogbot can be triggered again following new commits, by triggering the _frogbot-scan_ job again.
197-
![](https://raw.githubusercontent.com/jfrog/frogbot/master/images/gitlab-run-button.png)
187+
1. The developer opens a pull request.
188+
2. Frogbot scans the pull request and adds a comment with the scan results.
189+
3. Frogbot can be triggered again following new commits, by adding a comment with the `rescan` text.
198190

199191
</details>
200192

@@ -250,17 +242,7 @@ When Frogbot detects secrets that have been inadvertently exposed within the cod
250242

251243
### Automatic pull requests creation
252244
Frogbot scans your Git repositories periodically and automatically creates pull requests for upgrading vulnerable dependencies to a version with a fix.
253-
Supported package management tools:
254-
255-
- Go
256-
- Maven
257-
- NuGet
258-
- .NET
259-
- npm
260-
- Pip
261-
- Pipenv
262-
- Poetry
263-
- Yarn
245+
> **_NOTE:_** Currently not supported in Gradle.
264246
265247
![](./images/fix-pr.png)
266248

0 commit comments

Comments
 (0)