Skip to content

Commit a69c547

Browse files
author
APAC\APM4KOR
committed
updating readme
1 parent 5761273 commit a69c547

1 file changed

Lines changed: 39 additions & 21 deletions

File tree

README.md

Lines changed: 39 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
![Project Banner or Logo](./img/WatchtowerGithubImage.jpg)
22

3+
![Static Badge](https://img.shields.io/badge/Build-Passing-green) ![Static Badge](https://img.shields.io/badge/Docker-Available-green) ![GitHub Release](https://img.shields.io/github/v/release/bosch-aisecurity-aishield/watchtower)
4+
![Static Badge](https://img.shields.io/badge/python-3.10%7C3.11%7C3.12%7C3.13-blue) ![GitHub License](https://img.shields.io/github/license/bosch-aisecurity-aishield/watchtower)
5+
36
# AIShield.Watchtower 🔍: Fortifying AI/ML Model and Notebook Security
47

58
In today's rapidly advancing landscape of machine learning and artificial intelligence (AI), ensuring the security of AI
@@ -48,14 +51,12 @@ AIShield Watchtower can be used to inspect vulnerabilities in Jupyter notebooks,
4851

4952
For using AIShield Watchtower, clone Watchtower repo. Install prerequisites and scan your notebooks and AI/ML models. Some starting sample test files are available within the Watchtower repo.
5053

51-
---
52-
5354
### Prerequisites
5455

5556
- For running Watchtower in CLI or UI version, python3 and pip should be installed in the host system.
5657
- For running UI-Docker version, docker and docker-compose should be installed in the host system.
5758
> ⚠️ **Warning:**
58-
> As a security precaution when using the webapp or the Docker version, it is recommended to scan unknown/untrusted artifacts in a an isolated network / isoldated Docker container.
59+
> As a security precaution when using the webapp or the Docker version, it is recommended to scan unknown/untrusted artifacts in a an isolated sandbox environment (network/docker/compute etc).
5960
6061
Cloning Watchtower repo
6162

@@ -74,9 +75,6 @@ cd watchtower
7475
```powershell
7576
./install.bat
7677
```
77-
78-
---
79-
8078
### Inspect Jupyter Notebooks and ML/DL Models
8179

8280
Change directory to src.
@@ -134,13 +132,13 @@ python watchtower.py --repo_type=folder --path=<Enter path of Folder>
134132

135133
![Watchtower CLI](./img/AIShield_watchtower_git_cli.gif)
136134

137-
---
135+
138136
## UI
139137
For using Watchtower UI, execute the following command:
140138
```python
141139
python watchtower_webapp.py
142140
```
143-
---
141+
144142
![Watchtower UI](./img/AIShield_watchtower_ui.png)
145143

146144
## UI-Docker
@@ -161,8 +159,6 @@ For stopping and removing Watchtower image execute following
161159
```python
162160
docker-compose down
163161
```
164-
---
165-
166162
## Reports
167163

168164
On successful completion of the Watchtower scan, three reports will be generated in the following path :
@@ -225,10 +221,12 @@ On successful completion of the Watchtower scan, three reports will be generated
225221

226222
- **Model and Notebook Detection**: Automatically recognizes AI/ML models and Notebooks within a provided repository.
227223
- **Scanning**:Executes thorough scans of the models and notebooks to detect potential safety and security concerns.
224+
- **Report Generation**: Produces comprehensive reports that classify the scanned files containing "low," "medium,", "high" and "critical" risk.
225+
- **Supported Repositories** : AIShield Watchtower supports integration with GitHub, Huggingface and AWS S3 buckets, allowing for automated scanning of repositories and AWS S3 buckets to identify potential risks.
228226

229-
Supported Model Formats:
227+
### Supported Model Formats
230228

231-
| Framework | File Format | Deserialization | Backdoor Attacks | Runtime Threats |
229+
| Framework | File Format | Deserialization Risks | Backdoor Risks | Runtime Risks |
232230
|-------------------|------------------|------------------------|-------------------------|------------------------|
233231
| [Tensorflow](https://www.tensorflow.org/tutorials/keras/save_and_load#save_the_entire_model) | .pb ||| |
234232
| [Tensorflow](https://www.tensorflow.org/tutorials/keras/save_and_load#save_the_entire_model) | .h5 ||| |
@@ -244,11 +242,36 @@ Supported Model Formats:
244242
| Misc | .zip || | |
245243
*For more details on these file formats, please write to [[email protected]](mailto:[email protected]).
246244

247-
- **Report Generation**: Produces comprehensive reports that classify the scanned files containing "low," "medium,", "high" and "critical" risk.
248-
- **Supported Repositories** : AIShield Watchtower supports integration with GitHub, Huggingface and AWS S3 buckets, allowing for automated scanning of repositories and AWS S3 buckets to identify potential risks.
245+
### Additional File Formats
246+
247+
| Framework | File Format | Detections |
248+
| :--------------- | :---------- | :------------------------------------------------------- |
249+
| Jupyter Notebook | .ipynb | Hardcoded secrets,Passwords PII, Tokens(API, Web, other) |
250+
| Python | .py | Hardcoded secrets,Passwords PII, Tokens(API, Web, other) |
251+
252+
### AI Software Bill of Materials (SBOM)
253+
254+
| File Format | Detections |
255+
| :--------------------------------- | :------------------------------ |
256+
| Requirements File (Autodiscovered) | Libraries, Unsafe Library Flags |
257+
| Jupyter Notebook (Autodiscovered) | Libraries, Unsafe Library Flags |
249258

259+
***
260+
261+
## Risk Analysis
262+
263+
### 1. Deserialization Risks
264+
265+
Occurs when unverified data is used to rebuild objects. Attackers may exploit these to introduce malicious code, compromising system integrity.
266+
267+
### 2. Backdoor Risks
268+
269+
Hidden pathways allow attackers to manipulate model behavior through specific triggers. These covert exploits remain undetected during normal operations.
270+
271+
### 3. Runtime Risks
272+
273+
Activated during model inference or task execution, runtime risks involve malicious code execution, leading to unauthorized access or manipulation.
250274

251-
---
252275

253276
## Benefits
254277

@@ -282,8 +305,6 @@ Supported Model Formats:
282305
wide range of risks, from model tampering to unauthorized data access. This comprehensive assessment ensures a
283306
thorough examination of all possible vulnerabilities, leaving no stone unturned in safeguarding AI/ML assets.
284307

285-
---
286-
287308
## Limitation
288309

289310
1. Limited support for scanning of .pb file from s3 buckets.
@@ -303,8 +324,6 @@ Supported Model Formats:
303324
1. Repositories cloned from GitHub and Hugging Face during watchtower analysis are not automatically removed
304325
post-analysis. It is advisable to manually delete these folders found within the 'src' directory.
305326

306-
---
307-
308327
## Contribution
309328

310329
Contributions are always welcome! See the [Contribution Guidelines](CONTRIBUTE.md) for more details.
@@ -322,8 +341,6 @@ Contributions are always welcome! See the [Contribution Guidelines](CONTRIBUTE.m
322341
11. [Shankar Ajmeera](https://www.linkedin.com/in/shankar-ajmeera-00b22522a/)
323342
12. [Aravindh J](https://www.linkedin.com/in/aravindhj6/)
324343

325-
---
326-
327344
## License
328345

329346
This project is licensed under the Apache License. See [LICENSE](LICENSE.md) for details.
@@ -362,3 +379,4 @@ First and foremost, we want to extend our deepest gratitude to the vibrant open-
362379

363380
In creating AI Watchtower, it's our humble attempt to give back to this incredible community. We're inspired by the spirit of collaboration and are thrilled to contribute our grain of sand to the vast desert of open-source knowledge. Together, let's continue to make the AI landscape safer and more robust for all!
364381

382+

0 commit comments

Comments
 (0)