Skip to content

Commit 136e72a

Browse files
authored
Merge pull request #39 from OPPIDA/docs/docker-integration
2 parents ea60ecc + 15af30e commit 136e72a

File tree

2 files changed

+43
-43
lines changed

2 files changed

+43
-43
lines changed

README.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -45,14 +45,14 @@ For more details on the design and integration of SAST tools and datasets in Cod
4545
4646
## SAST Tool Integration Status
4747

48-
|SAST Tool|Languages|Maintained|Continuous Testing|Last Test Date|
49-
|:---:|:---:|:---:|:---:|:---:|
50-
|Coverity|Java|⚠️<br>(Deprioritized)|❌<br>(Proprietary)|October 2025|
51-
|Semgrep Community Edition|C/C++, Java|||[Latest PR](https://github.com/OPPIDA/CodeSecTools/actions/workflows/ci.yaml)|
52-
|Snyk Code|C/C++, Java||❌<br>(Rate limited)|November 2025|
53-
|Bearer|Java|||[Latest PR](https://github.com/OPPIDA/CodeSecTools/actions/workflows/ci.yaml)|
54-
|SpotBugs|Java|||[Latest PR](https://github.com/OPPIDA/CodeSecTools/actions/workflows/ci.yaml)|
55-
|Cppcheck|C/C++|||[Latest PR](https://github.com/OPPIDA/CodeSecTools/actions/workflows/ci.yaml)|
48+
|SAST Tool|Languages|Maintained|Included in Docker|Continuous Testing|Last Test Date|
49+
|:---:|:---:|:---:|:---:|:---:|:---:|
50+
|Coverity|Java|⚠️<br>(Deprioritized)||<br>(Proprietary)|October 2025|
51+
|Semgrep Community Edition|C/C++, Java||||[Latest PR](https://github.com/OPPIDA/CodeSecTools/actions/workflows/ci.yaml)|
52+
|Snyk Code|C/C++, Java|||<br>(Rate limited)|November 2025|
53+
|Bearer|Java||||[Latest PR](https://github.com/OPPIDA/CodeSecTools/actions/workflows/ci.yaml)|
54+
|SpotBugs|Java||||[Latest PR](https://github.com/OPPIDA/CodeSecTools/actions/workflows/ci.yaml)|
55+
|Cppcheck|C/C++||||[Latest PR](https://github.com/OPPIDA/CodeSecTools/actions/workflows/ci.yaml)|
5656

5757
## Usage
5858

@@ -143,4 +143,4 @@ for plot_function in graphics.plot_functions:
143143
fig = plot_function()
144144
fig.show()
145145
```
146-
<!--end-include-->
146+
<!--end-include-->

docs/home/quick_start_guide.md

Lines changed: 34 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,6 @@ This guide mainly used the tool on Java projects, it is perfectly possible to ru
66

77
## 1. Prerequisites
88

9-
For this guide, there are two ways to install the tool:
10-
119
!!! cube "Local installation"
1210
- You will need to install the following packages:
1311

@@ -22,55 +20,57 @@ For this guide, there are two ways to install the tool:
2220
- [Semgrep Community Edition](/sast/supported/semgrepce.j2.html){:target="_blank"}
2321
- [SpotBugs](/sast/supported/spotbugs.j2.html){:target="_blank"}
2422

25-
!!! docker "Docker image"
26-
A Docker image is available with the prerequisites installed.
27-
You can use it to run CodeSecTools without installing extra packages on your system.
23+
!!! docker "Docker container"
24+
CodeSecTools can start a Docker container with some SAST tools (free and open-source) and packages installed.
25+
26+
You still need to install CodeSecTools normally and then invoke the CLI command to start the Docker container.
27+
There is no a Docker image that you can pull and run directly for the following reasons:
2828

29+
- CodeSecTools source code is copied **locally** and then installed in the Docker image
30+
- UID and GID of the current user is gathered at build time to **fix mounted volume permission issues**
2931

3032
## 2. Installation
3133

32-
!!! cube "Normal installation"
34+
- Clone the repository:
35+
```bash
36+
git clone https://github.com/OPPIDA/CodeSecTools.git
37+
cd CodeSecTools
38+
```
39+
40+
- Install the project:
3341

34-
- Clone the repository:
42+
- Using [uv](https://github.com/astral-sh/uv):
3543
```bash
36-
git clone https://github.com/OPPIDA/CodeSecTools.git
37-
cd CodeSecTools
44+
uv tool install .
3845
```
3946

40-
- Install the project:
41-
42-
- Using [uv](https://github.com/astral-sh/uv):
43-
```bash
44-
uv tool install .
45-
```
46-
47-
- Using [pipx](https://github.com/pypa/pipx):
48-
```bash
49-
pipx install .
50-
```
51-
52-
- Using pip (not recommended, as it can break your system packages):
53-
```bash
54-
pip install .
55-
```
47+
- Using [pipx](https://github.com/pypa/pipx):
48+
```bash
49+
pipx install .
50+
```
5651

57-
!!! docker "Docker image"
58-
Create a new directory which will be mounted in the docker container and start the container:
52+
- Using pip (not recommended, as it can break your system packages):
5953
```bash
60-
mkdir codesectools_quick_start_guide
61-
cd codesectools_quick_start_guide
62-
cstools docker
54+
pip install .
6355
```
6456

65-
Then inside the container:
57+
## 3. First run
58+
59+
??? docker "Docker container"
60+
You can start a Docker container to run CodeSecTools to analyze the current directory:
6661
```bash
67-
cd codesectools_quick_start_guide
62+
cd $TARGET_DIR
63+
cstools docker
64+
# Or
65+
cstools docker --target $TARGET_DIR
6866
```
6967

70-
Only data inside `./codesectools_quick_start_guide` are saved.
68+
Use `--isolation` flag to start Docker container without networking, make sure to download external resources on the host (which has internet connexion) before.
7169

70+
Only the following directories are mounted in the Docker container:
7271

73-
## 3. First run
72+
- `$TARGET_DIR` (your source code directory)
73+
- `~/.codesectools` (your CodeSecTools data, in particular storing the analysis result)
7474

7575
!!! abstract "Install completion (optional)"
7676
*Completion is already installed in the Docker container.*

0 commit comments

Comments
 (0)