You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardexpand all lines: CHANGELOG.md
+11-8
Original file line number
Diff line number
Diff line change
@@ -1,19 +1,22 @@
1
-
## [3.1.0] - 2024-11-x
2
-
### Changed
3
-
- Package management and deployment moved to Poetry
4
-
- Docker build process improved using multi-stage builds. The Dockerfile now doesn't contain any unnecessary files, and is much smaller.
5
-
- Refactor to separate GitLab client and Watchman processing into modules
6
-
- Refactor to implement python-gitlab library for GitLab API calls, instead of the custom client used previously.
7
-
- This change allows for more efficient and easier to read code, is more reliable, and also allows for enhancements to be added more easily in the future.
8
-
1
+
## [3.1.0] - 2024-11-18
9
2
### Added
10
3
- Signatures now loaded into memory instead of being saved to disk. This allows for running on read-only filesystems.
4
+
- Ability to disable signatures by their ID in the watchman.conf config file.
5
+
- These signatures will not be used when running Slack Watchman
6
+
- Signature IDs for each signature can be found in the Watchman Signatures repository
11
7
- Tests for Docker build
12
8
- Enhanced deduplication of findings
13
9
- The same match should not be returned multiple times within the same scope. E.g. if a token is found in a commit, it should not be returned multiple times in the same commit.
14
10
- All dates are now converted and logged in UTC
15
11
- Unit tests added for models and utils
16
12
13
+
### Changed
14
+
- Package management and deployment moved to Poetry
15
+
- Docker build process improved using multi-stage builds. The Dockerfile now doesn't contain any unnecessary files, and is much smaller.
16
+
- Refactor to separate GitLab client and Watchman processing into modules
17
+
- Refactor to implement [python-gitlab](https://python-gitlab.readthedocs.io/) library for GitLab API calls, instead of the custom client used previously.
18
+
- This change gives more efficient and easier to read code, is more reliable, and also allows for enhancements to be added more easily in the future.
19
+
17
20
### Fixed
18
21
- Error when searching wiki-blobs
19
22
- There would often be failures when trying to find projects or groups associated with blobs. This is now fixed by adding logic to check if the blob is associated with a project or group, and get the correct information accordingly.
Copy file name to clipboardexpand all lines: README.md
+22
Original file line number
Diff line number
Diff line change
@@ -55,6 +55,18 @@ GitLab Watchman can enumerate potentially useful information from a GitLab insta
55
55
### Signatures
56
56
GitLab Watchman uses custom YAML signatures to detect matches in GitLab. These signatures are pulled from the central [Watchman Signatures repository](https://github.com/PaperMtn/watchman-signatures). Slack Watchman automatically updates its signature base at runtime to ensure its using the latest signatures to detect secrets.
57
57
58
+
#### Suppressing Signatures
59
+
You can define signatures that you want to disable when running GitLab Watchman by adding their IDs to the `disabled_signatures` section of the `watchman.conf` file. For example:
60
+
61
+
```yaml
62
+
gitlab_watchman:
63
+
disabled_signatures:
64
+
- tokens_generic_bearer_tokens
65
+
- tokens_generic_access_tokens
66
+
```
67
+
68
+
You can find the ID of a signature in the individual YAML files in [Watchman Signatures repository](https://github.com/PaperMtn/watchman-signatures).
69
+
58
70
### Logging
59
71
60
72
GitLab Watchman gives the following logging options:
@@ -106,6 +118,16 @@ You also need to provide the URL of your GitLab instance.
106
118
#### Providing token & URL
107
119
GitLab Watchman will get the GitLab token and URL from the environment variables `GITLAB_WATCHMAN_TOKEN` and `GITLAB_WATCHMAN_URL`.
108
120
121
+
### watchman.conf file
122
+
Configuration options can be passed in a file named `watchman.conf` which must be stored in your home directory. The file should follow the YAML format, and should look like below:
123
+
```yaml
124
+
gitlab_watchman:
125
+
disabled_signatures:
126
+
- tokens_generic_bearer_tokens
127
+
- tokens_generic_access_tokens
128
+
```
129
+
GitLab Watchman will look for this file at runtime, and use the configuration options from here.
130
+
109
131
## Installation
110
132
You can install the latest stable version via pip:
0 commit comments