diff --git a/system/gd/rust/common/Cargo.toml b/system/gd/rust/common/Cargo.toml
index 0b85cc7868abe31b99dbdcecbde2d3f85f36fe69..eaa14be4f980d4dc52e0c374f1a8d39471b6de25 100644
--- a/system/gd/rust/common/Cargo.toml
+++ b/system/gd/rust/common/Cargo.toml
@@ -19,20 +19,20 @@ version = "0.0.1"
 edition = "2018"
 
 [dependencies]
-cxx = "*"
-env_logger = "*"
+cxx = "1.0"
+env_logger = "0.8"
 futures = "0.3.13"
-grpcio = "*"
-lazy_static = "*"
-log = "*"
-nix = "*"
-tokio = { version = "*", features = ['bytes', 'macros', 'net', 'rt-multi-thread', 'time'] }
+grpcio = "0.9"
+lazy_static = "1.4"
+log = "0.4"
+nix = "0.19"
+tokio = { version = "1.0", features = ['bytes', 'macros', 'net', 'rt-multi-thread', 'time'] }
 
 # Proc Macro dependency
-paste = "*"
+paste = "1.0"
 
 [dev-dependencies]
-tokio = { version = "*", features = ['bytes', 'macros', 'net', 'rt-multi-thread', 'time', 'sync'] }
+tokio = { version = "1.0", features = ['bytes', 'macros', 'net', 'rt-multi-thread', 'time', 'sync'] }
 
 [lib]
 crate-type = ["rlib"]
diff --git a/system/gd/rust/facade/Cargo.toml b/system/gd/rust/facade/Cargo.toml
index ee0ed7ed5122e653c231e33b7a6d745990266df3..8f1847ad0e558a82e7f56b7661251a8fc6e04ffe 100644
--- a/system/gd/rust/facade/Cargo.toml
+++ b/system/gd/rust/facade/Cargo.toml
@@ -24,18 +24,18 @@ bt_facade_proto = { path = "../facade_proto" }
 bt_packets = { path = "../packets" }
 
 # External deps
-bytes = "*"
-cxx = "*"
-futures = "*"
-grpcio = "*"
-log = "*"
+bytes = "1.0"
+cxx = "1.0"
+futures = "0.3"
+grpcio = "0.9"
+log = "0.4"
 protobuf = "2.0"
-tokio = "*"
+tokio = "1.0"
 
 # Binary-only deps
-clap = "*"
-lazy_static = "*"
-nix = "*"
+clap = "3.0"
+lazy_static = "1.0"
+nix = "0.19"
 bt_common = { path = "../common" }
 
 
diff --git a/system/gd/rust/facade/helpers/Cargo.toml b/system/gd/rust/facade/helpers/Cargo.toml
index d8d1867573bc4b8c7dc19ff5382f16fe6754639d..6d0de0562cc74fe7824d85c19f24e5511e25bef3 100644
--- a/system/gd/rust/facade/helpers/Cargo.toml
+++ b/system/gd/rust/facade/helpers/Cargo.toml
@@ -23,13 +23,13 @@ edition = "2018"
 bt_facade_proto = { path = "../../facade_proto" }
 
 # External deps
-bytes = "*"
-cxx = "*"
-futures = "*"
-grpcio = "*"
-log = "*"
+bytes = "1.0"
+cxx = "1.0"
+futures = "0.3"
+grpcio = "0.9"
+log = "0.4"
 protobuf = "2.0"
-tokio = "*"
+tokio = "1.0"
 
 [lib]
 path = "lib.rs"
diff --git a/system/gd/rust/facade_proto/Cargo.toml b/system/gd/rust/facade_proto/Cargo.toml
index 26d2179685fed55c54bb4fa1e3a926cc48473125..bac110f3935f03761a6f16cc76ec6938333eb4ee 100644
--- a/system/gd/rust/facade_proto/Cargo.toml
+++ b/system/gd/rust/facade_proto/Cargo.toml
@@ -20,13 +20,13 @@ edition = "2018"
 build = "build.rs"
 
 [dependencies]
-futures = "*"
-grpcio = "*"
+futures = "0.3"
+grpcio = "0.9"
 protobuf = "2.0"
 
 [build-dependencies]
-protoc-rust = "*"
-protoc-grpcio = "*"
+protoc-rust = "2.0"
+protoc-grpcio = "2.0"
 protobuf-codegen = "2.0"
 
 [lib]
diff --git a/system/gd/rust/gddi/Cargo.toml b/system/gd/rust/gddi/Cargo.toml
index 9e43a147bfcda282ea21b3988caff05db4966823..6196c0f9e0e3c7cf5f78e794bc9a010e68854ec2 100644
--- a/system/gd/rust/gddi/Cargo.toml
+++ b/system/gd/rust/gddi/Cargo.toml
@@ -21,9 +21,9 @@ edition = "2018"
 [dependencies]
 gddi_macros = { path = "macros" }
 
-tokio = { version = "*", features = ['bytes', 'net', 'sync'] }
-quote = "*"
-syn = { version = "*", features = ['default', 'full'] }
+tokio = { version = "1.0", features = ['bytes', 'net', 'sync'] }
+quote = "1.0"
+syn = { version = "1.0", features = ['default', 'full'] }
 
 [lib]
 path = "src/lib.rs"
diff --git a/system/gd/rust/gddi/macros/Cargo.toml b/system/gd/rust/gddi/macros/Cargo.toml
index 4038b0c3aa862c93ae8da5381cc9a37f4cc4e7ca..53978f6624ff201c54bc45857c3762a02ecd1e92 100644
--- a/system/gd/rust/gddi/macros/Cargo.toml
+++ b/system/gd/rust/gddi/macros/Cargo.toml
@@ -19,9 +19,9 @@ version = "0.0.1"
 edition = "2018"
 
 [dependencies]
-proc-macro2 = "*"
-quote = "*"
-syn = "*"
+proc-macro2 = "1.0"
+quote = "1.0"
+syn = "1.0"
 
 [lib]
 proc-macro = true
diff --git a/system/gd/rust/linux/client/Cargo.toml b/system/gd/rust/linux/client/Cargo.toml
index 793479076ca17c4a22ebf1a0491c0b3fe2a1914a..3f0686c36cb631795a97bc0b4ceaf52a002a52a6 100644
--- a/system/gd/rust/linux/client/Cargo.toml
+++ b/system/gd/rust/linux/client/Cargo.toml
@@ -18,7 +18,7 @@ dbus_projection = { path = "../dbus_projection" }
 dbus_macros = { path = "../dbus_projection/dbus_macros" }
 
 futures = "0.3.13"
-num-traits = "*"
+num-traits = "0.2"
 tokio = { version = "1", features = ['bytes', 'fs', 'io-util', 'libc', 'macros', 'memchr', 'mio', 'net', 'num_cpus', 'rt', 'rt-multi-thread', 'sync', 'time', 'tokio-macros'] }
 
 clap = "2.33.3"
diff --git a/system/gd/rust/linux/mgmt/Cargo.toml b/system/gd/rust/linux/mgmt/Cargo.toml
index f16841d15361712afe6c165538b8472acfee0833..ac73851c7c5ec48043a539905f01367de5a189dd 100644
--- a/system/gd/rust/linux/mgmt/Cargo.toml
+++ b/system/gd/rust/linux/mgmt/Cargo.toml
@@ -23,9 +23,9 @@ dbus_macros = { path = "../dbus_projection/dbus_macros" }
 env_logger = "0.8.3"
 futures = "0.3.13"
 glob = "0.3.0"
-inotify = "*"
+inotify = "0.9"
 log = "0.4.14"
-nix = "*"
+nix = "0.19"
 num-traits = "0.2"
 protobuf = "2.0"
 regex = "1.5"
@@ -35,7 +35,7 @@ tokio = { version = "1.0", features = ["fs", "macros", "rt-multi-thread", "sync"
 
 [build-dependencies]
 pkg-config = "0.3.19"
-protoc-rust = "*"
+protoc-rust = "2.0"
 
 [[bin]]
 name = "btmanagerd"
diff --git a/system/gd/rust/linux/service/Cargo.toml b/system/gd/rust/linux/service/Cargo.toml
index 36dc6ce9ae34d47dd0b8c9cfc9ed5c4d20d83a7f..d71d4aa9f72b3dfdd14b17d08d3b79f12a20b446 100644
--- a/system/gd/rust/linux/service/Cargo.toml
+++ b/system/gd/rust/linux/service/Cargo.toml
@@ -19,7 +19,7 @@ futures = "0.3.13"
 lazy_static = "1.4"
 log = "0.4.14"
 nix = "0.19"
-num-traits = "*"
+num-traits = "0.2"
 tokio = { version = "1", features = ['bytes', 'fs', 'io-util', 'libc', 'macros', 'memchr', 'mio', 'net', 'num_cpus', 'rt', 'rt-multi-thread', 'sync', 'time', 'tokio-macros'] }
 syslog = "4.0"
 
diff --git a/system/gd/rust/packets/Cargo.toml b/system/gd/rust/packets/Cargo.toml
index fa45baba883332608d9a70c017b27b62e7c6dd6d..4ebbd5ff325dc46166fe15b48f0f0c0cd9df6d1c 100644
--- a/system/gd/rust/packets/Cargo.toml
+++ b/system/gd/rust/packets/Cargo.toml
@@ -21,12 +21,12 @@ build = "build.rs"
 
 [dependencies]
 
-bindgen = "*"
-bytes = "*"
-num-derive = "*"
-num-traits = "*"
-thiserror = "*"
-walkdir = "*"
+bindgen = "0.59"
+bytes = "1.0"
+num-derive = "0.3"
+num-traits = "0.2"
+thiserror = "1.0"
+walkdir = "2.2"
 
 [lib]
 path = "lib.rs"
diff --git a/system/gd/rust/shim/Cargo.toml b/system/gd/rust/shim/Cargo.toml
index 4ea7df77928251d8ad4fbfbb4359ef7a009eef51..75a18c0b01903b405746fc0588de4618ff070d24 100644
--- a/system/gd/rust/shim/Cargo.toml
+++ b/system/gd/rust/shim/Cargo.toml
@@ -26,9 +26,9 @@ bluetooth_rs = { path = "../stack" }
 bt_packets = { path = "../packets" }
 
 # All external dependencies. Keep all versions at build/rust/Cargo.toml
-bindgen = "0.57"
+bindgen = "0.59"
 bytes = "1.0"
-cxx = { version = "=1.0.42", features = ["c++17"] }
+cxx = { version = "1.0.42", features = ["c++17"] }
 env_logger = "0.8"
 futures = "0.3"
 grpcio = { version = "0.9", features = ["protobuf", "protobuf-codec", "openssl"] }
diff --git a/system/gd/rust/stack/Cargo.toml b/system/gd/rust/stack/Cargo.toml
index 7e4fa88e11bdc8a8892451bb3d5b28de73823eef..48275e18515c6aef33580ff3b83671952fee818b 100644
--- a/system/gd/rust/stack/Cargo.toml
+++ b/system/gd/rust/stack/Cargo.toml
@@ -27,22 +27,22 @@ bt_packets = { path = "../packets" }
 gddi = { path = "../gddi" }
 
 # External dependencies
-bytes = "*"
-cxx = "*"
-futures = "*"
-grpcio = "*"
-lazy_static = "*"
-log = "*"
-nix = "*"
-num-traits = "*"
+bytes = "1.0"
+cxx = "1.0"
+futures = "0.3"
+grpcio = "0.9"
+lazy_static = "1.4"
+log = "0.4"
+nix = "0.19"
+num-traits = "0.2"
 protobuf = "2.0"
-thiserror = "*"
-tokio = "*"
-tokio-stream = "*"
-walkdir = "*"
+thiserror = "1.0"
+tokio = "1.0"
+tokio-stream = "0.1"
+walkdir = "2.2"
 
 # Macro dependencies
-num-derive = "*"
+num-derive = "0.3"
 
 [lib]
 crate-type = ["rlib"]
diff --git a/system/tools/irk-calculator/Cargo.toml b/system/tools/irk-calculator/Cargo.toml
index d52a515ac198959861c2db5d57cce4c36e1d9a06..7f17ee719718dd9e2eb5b34c1e1245bb92d2ae54 100644
--- a/system/tools/irk-calculator/Cargo.toml
+++ b/system/tools/irk-calculator/Cargo.toml
@@ -7,7 +7,7 @@ edition = "2021"
 
 [dependencies]
 clap = { version = "3.1.3", features = ["derive"] }
-aes = "*"
-rand = "*"
+aes = "0.8"
+rand = "0.8"
 
 [workspace]