ai-security-toolkit 1.1.0__tar.gz → 1.1.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (24) hide show
  1. ai_security_toolkit-1.1.2/MANIFEST.in +3 -0
  2. {ai_security_toolkit-1.1.0 → ai_security_toolkit-1.1.2}/PKG-INFO +1 -1
  3. {ai_security_toolkit-1.1.0 → ai_security_toolkit-1.1.2}/ai_security_toolkit/modules/backdoor_trigger_attack.py +5 -11
  4. {ai_security_toolkit-1.1.0 → ai_security_toolkit-1.1.2}/ai_security_toolkit/modules/fgsm_mobilenet.py +4 -10
  5. {ai_security_toolkit-1.1.0 → ai_security_toolkit-1.1.2}/ai_security_toolkit/modules/label_flip_attack.py +5 -11
  6. {ai_security_toolkit-1.1.0 → ai_security_toolkit-1.1.2}/ai_security_toolkit/modules/membership_inference_attack.py +1 -7
  7. {ai_security_toolkit-1.1.0 → ai_security_toolkit-1.1.2}/ai_security_toolkit/modules/simulate_inversion.py +1 -5
  8. {ai_security_toolkit-1.1.0 → ai_security_toolkit-1.1.2}/ai_security_toolkit/modules/steal_model.py +6 -10
  9. {ai_security_toolkit-1.1.0 → ai_security_toolkit-1.1.2}/ai_security_toolkit/modules/train_mnist_model.py +5 -9
  10. {ai_security_toolkit-1.1.0 → ai_security_toolkit-1.1.2}/ai_security_toolkit/run.py +6 -3
  11. {ai_security_toolkit-1.1.0 → ai_security_toolkit-1.1.2}/ai_security_toolkit.egg-info/PKG-INFO +1 -1
  12. {ai_security_toolkit-1.1.0 → ai_security_toolkit-1.1.2}/ai_security_toolkit.egg-info/SOURCES.txt +1 -0
  13. {ai_security_toolkit-1.1.0 → ai_security_toolkit-1.1.2}/pyproject.toml +5 -1
  14. {ai_security_toolkit-1.1.0 → ai_security_toolkit-1.1.2}/README.md +0 -0
  15. {ai_security_toolkit-1.1.0 → ai_security_toolkit-1.1.2}/ai_security_toolkit/__init__.py +0 -0
  16. {ai_security_toolkit-1.1.0 → ai_security_toolkit-1.1.2}/ai_security_toolkit/modules/__init__.py +0 -0
  17. {ai_security_toolkit-1.1.0 → ai_security_toolkit-1.1.2}/ai_security_toolkit/shared/__init__.py +0 -0
  18. {ai_security_toolkit-1.1.0 → ai_security_toolkit-1.1.2}/ai_security_toolkit/shared/log_utils.py +0 -0
  19. {ai_security_toolkit-1.1.0 → ai_security_toolkit-1.1.2}/ai_security_toolkit.egg-info/dependency_links.txt +0 -0
  20. {ai_security_toolkit-1.1.0 → ai_security_toolkit-1.1.2}/ai_security_toolkit.egg-info/entry_points.txt +0 -0
  21. {ai_security_toolkit-1.1.0 → ai_security_toolkit-1.1.2}/ai_security_toolkit.egg-info/requires.txt +0 -0
  22. {ai_security_toolkit-1.1.0 → ai_security_toolkit-1.1.2}/ai_security_toolkit.egg-info/top_level.txt +0 -0
  23. {ai_security_toolkit-1.1.0 → ai_security_toolkit-1.1.2}/setup.cfg +0 -0
  24. {ai_security_toolkit-1.1.0 → ai_security_toolkit-1.1.2}/setup.py +0 -0
@@ -0,0 +1,3 @@
1
+ include README.md
2
+ recursive-include ai_security_toolkit/modules *.py
3
+ recursive-include ai_security_toolkit/shared *.py
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ai-security-toolkit
3
- Version: 1.1.0
3
+ Version: 1.1.2
4
4
  Summary: A red-team AI security framework with adversarial attack modules
5
5
  Author: Rishit Goel
6
6
  License: MIT
@@ -1,5 +1,10 @@
1
+ import tensorflow as tf
1
2
  import numpy as np
2
3
  import matplotlib.pyplot as plt
4
+ from tensorflow.keras.datasets import mnist
5
+ from tensorflow.keras.models import Sequential
6
+ from tensorflow.keras.layers import Conv2D, MaxPooling2D, Flatten, Dense
7
+ from tensorflow.keras.utils import to_categorical
3
8
  import os
4
9
  import random
5
10
  from datetime import datetime
@@ -9,17 +14,6 @@ sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), '..')))
9
14
  from ai_security_toolkit.shared.log_utils import append_report_row, save_plot
10
15
 
11
16
  def main():
12
-
13
- try:
14
- import tensorflow as tf
15
- from tensorflow.keras.datasets import mnist
16
- from tensorflow.keras.models import Sequential
17
- from tensorflow.keras.layers import Conv2D, MaxPooling2D, Flatten, Dense
18
- from tensorflow.keras.utils import to_categorical
19
- except ImportError:
20
- print("❌ TensorFlow not found. Run: pip install tensorflow")
21
- return
22
-
23
17
  # Parameters
24
18
  trigger_label_target = 7
25
19
  trigger_class_source = 1
@@ -1,22 +1,16 @@
1
+ import tensorflow as tf
1
2
  import numpy as np
2
3
  import matplotlib.pyplot as plt
3
4
  from datetime import datetime
5
+ from tensorflow.keras.applications.mobilenet_v2 import MobileNetV2, preprocess_input, decode_predictions
6
+ from tensorflow.keras.preprocessing import image
7
+ from cleverhans.tf2.attacks.fast_gradient_method import fast_gradient_method
4
8
  import sys
5
9
  import os
6
10
  sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), '..')))
7
11
  from ai_security_toolkit.shared.log_utils import append_report_row, save_plot
8
12
 
9
13
  def main():
10
-
11
- try:
12
- import tensorflow as tf
13
- from tensorflow.keras.applications.mobilenet_v2 import MobileNetV2, preprocess_input, decode_predictions
14
- from tensorflow.keras.preprocessing import image
15
- from cleverhans.tf2.attacks.fast_gradient_method import fast_gradient_method
16
- except ImportError:
17
- print("❌ TensorFlow not found. Run: pip install tensorflow")
18
- return
19
-
20
14
  # Load MobileNetV2 pretrained on ImageNet
21
15
  model = MobileNetV2(weights='imagenet')
22
16
  model.trainable = False
@@ -1,3 +1,8 @@
1
+ import tensorflow as tf
2
+ from tensorflow.keras.datasets import mnist
3
+ from tensorflow.keras.models import Sequential
4
+ from tensorflow.keras.layers import Conv2D, MaxPooling2D, Flatten, Dense
5
+ from tensorflow.keras.utils import to_categorical
1
6
  import numpy as np
2
7
  from datetime import datetime
3
8
  import sys
@@ -6,17 +11,6 @@ sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), '..')))
6
11
  from ai_security_toolkit.shared.log_utils import append_report_row, log_metrics
7
12
 
8
13
  def main():
9
-
10
- try:
11
- import tensorflow as tf
12
- from tensorflow.keras.datasets import mnist
13
- from tensorflow.keras.models import Sequential
14
- from tensorflow.keras.layers import Conv2D, MaxPooling2D, Flatten, Dense
15
- from tensorflow.keras.utils import to_categorical
16
- except ImportError:
17
- print("❌ TensorFlow not found. Run: pip install tensorflow")
18
- return
19
-
20
14
  # Build a simple CNN
21
15
  def build_model():
22
16
  model = Sequential([
@@ -1,3 +1,4 @@
1
+ import tensorflow as tf
1
2
  import numpy as np
2
3
  import matplotlib.pyplot as plt
3
4
  from datetime import datetime
@@ -7,13 +8,6 @@ sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), '..')))
7
8
  from ai_security_toolkit.shared.log_utils import save_plot, append_report_row, log_metrics
8
9
 
9
10
  def main():
10
-
11
- try:
12
- import tensorflow as tf
13
- except ImportError:
14
- print("❌ TensorFlow not found. Run: pip install tensorflow")
15
- return
16
-
17
11
  # Load model
18
12
  model = tf.keras.models.load_model("shared/models/mnist_cnn_model.keras")
19
13
  print("✅ Loaded model from .keras file.")
@@ -1,3 +1,4 @@
1
+ import tensorflow as tf
1
2
  import numpy as np
2
3
  import matplotlib.pyplot as plt
3
4
  from datetime import datetime
@@ -8,11 +9,6 @@ sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), '..')))
8
9
  from ai_security_toolkit.shared.log_utils import append_report_row, save_plot
9
10
 
10
11
  def main():
11
- try:
12
- import tensorflow as tf
13
- except ImportError:
14
- print("❌ TensorFlow not found. Run: pip install tensorflow")
15
- return
16
12
  # Load trained model
17
13
  model = tf.keras.models.load_model("shared/models/mnist_cnn_model.keras")
18
14
  model.trainable = False
@@ -1,21 +1,17 @@
1
+ import tensorflow as tf
1
2
  import numpy as np
2
3
  from datetime import datetime
4
+ from tensorflow.keras.datasets import mnist
5
+ from tensorflow.keras.models import Sequential
6
+ from tensorflow.keras.layers import Conv2D, MaxPooling2D, Flatten, Dense
7
+ from tensorflow.keras.utils import to_categorical
8
+ from tensorflow.keras.models import load_model
3
9
  import sys
4
10
  import os
5
11
  sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), '..')))
6
12
  from ai_security_toolkit.shared.log_utils import append_report_row, log_metrics
7
13
 
8
14
  def main():
9
- try:
10
- import tensorflow as tf
11
- from tensorflow.keras.datasets import mnist
12
- from tensorflow.keras.models import Sequential
13
- from tensorflow.keras.layers import Conv2D, MaxPooling2D, Flatten, Dense
14
- from tensorflow.keras.utils import to_categorical
15
- from tensorflow.keras.models import load_model
16
- except ImportError:
17
- print("❌ TensorFlow not found. Run: pip install tensorflow")
18
- return
19
15
  # Step 1: Load original (victim) model
20
16
  victim_model = load_model("shared/models/mnist_cnn_model.keras")
21
17
  victim_model.trainable = False
@@ -1,15 +1,11 @@
1
+ import tensorflow as tf
2
+ from tensorflow.keras.datasets import mnist
3
+ from tensorflow.keras.models import Sequential
4
+ from tensorflow.keras.layers import Conv2D, MaxPooling2D, Flatten, Dense
5
+ from tensorflow.keras.utils import to_categorical
1
6
  import os
2
7
 
3
8
  def main():
4
- try:
5
- import tensorflow as tf
6
- from tensorflow.keras.datasets import mnist
7
- from tensorflow.keras.models import Sequential
8
- from tensorflow.keras.layers import Conv2D, MaxPooling2D, Flatten, Dense
9
- from tensorflow.keras.utils import to_categorical
10
- except ImportError:
11
- print("❌ TensorFlow not found. Run: pip install tensorflow")
12
- return
13
9
  # Load and preprocess MNIST data
14
10
  (x_train, y_train), (x_test, y_test) = mnist.load_data()
15
11
 
@@ -1,7 +1,6 @@
1
1
  import importlib
2
2
  import sys
3
3
  import os
4
-
5
4
  import platform
6
5
 
7
6
  if platform.system() == "Windows":
@@ -32,8 +31,9 @@ def print_menu():
32
31
  def run_selected_module(choice_idx):
33
32
  try:
34
33
  label = list(available_modules.keys())[choice_idx - 1]
35
- module_name = f"modules.{available_modules[label]}"
34
+ module_name = f"ai_security_toolkit.modules.{available_modules[label]}"
36
35
  print(f"\n🔍 Running: {label} ({module_name})...\n")
36
+
37
37
  mod = importlib.import_module(module_name)
38
38
 
39
39
  if hasattr(mod, "main"):
@@ -42,8 +42,11 @@ def run_selected_module(choice_idx):
42
42
  print("⚠️ No 'main()' found — running file as script...")
43
43
  exec(open(mod.__file__).read())
44
44
 
45
+ except ModuleNotFoundError:
46
+ print(f"❌ Could not find module: {module_name}")
47
+ print("💡 Make sure the package is installed correctly via pip.")
45
48
  except Exception as e:
46
- print(f"❌ Error: {e}")
49
+ print(f"❌ Unexpected error: {e}")
47
50
 
48
51
  def main():
49
52
  while True:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ai-security-toolkit
3
- Version: 1.1.0
3
+ Version: 1.1.2
4
4
  Summary: A red-team AI security framework with adversarial attack modules
5
5
  Author: Rishit Goel
6
6
  License: MIT
@@ -1,3 +1,4 @@
1
+ MANIFEST.in
1
2
  README.md
2
3
  pyproject.toml
3
4
  setup.py
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "ai-security-toolkit"
7
- version = "1.1.0"
7
+ version = "1.1.2"
8
8
  description = "A red-team AI security framework with adversarial attack modules"
9
9
  readme = "README.md"
10
10
  authors = [
@@ -28,3 +28,7 @@ ai-toolkit = "ai_security_toolkit.run:main"
28
28
  tensorflow = ["tensorflow"]
29
29
  cleverhans = ["cleverhans"]
30
30
 
31
+ [tool.setuptools.packages.find]
32
+ include = ["ai_security_toolkit*"]
33
+
34
+