# \#ghost-eye

**URL:** https://ghostforum.org/tag/ghost-eye/21.md

[Latest](https://ghostforum.org/latest.md) · [Categories](https://ghostforum.org/categories.md) · [Tags](https://ghostforum.org/tags.md)

---

## [\[ghost-eye\] Validator commission input unbounded: typo of 429.5+ saturates to u32::MAX and signs with one Enter](https://ghostforum.org/t/ghost-eye-validator-commission-input-unbounded-typo-of-429-5-saturates-to-u32-max-and-signs-with-one-enter/177)

<div class="topic-metadata">

**Author:** [@Rusdiwireng](https://ghostforum.org/u/Rusdiwireng)\
**Replies:** 1\
**Last updated:** [October 11, 2026, 3:21pm UTC](https://ghostforum.org/t/ghost-eye-validator-commission-input-unbounded-typo-of-429-5-saturates-to-u32-max-and-signs-with-one-enter/177 "2026-10-11T15:21:26Z")

</div>

Component: ghost-eye @ ee23e6b, src/components/validator/validate\_popup.rs:64-78. Description: submit\_message parses the commission as f64 and computes (value \* 10\_000\_000.0).round() as u32. Rust float-to-int as saturat…

---

## [\[ghost-eye\] Single D keypress irreversibly deletes a wallet seed, no confirmation, no backup](https://ghostforum.org/t/ghost-eye-single-d-keypress-irreversibly-deletes-a-wallet-seed-no-confirmation-no-backup/176)

<div class="topic-metadata">

**Author:** [@Rusdiwireng](https://ghostforum.org/u/Rusdiwireng)\
**Replies:** 1\
**Last updated:** [October 11, 2026, 3:19pm UTC](https://ghostforum.org/t/ghost-eye-single-d-keypress-irreversibly-deletes-a-wallet-seed-no-confirmation-no-backup/176 "2026-10-11T15:19:53Z")

</div>

Component: ghost-eye @ ee23e6b, src/components/wallet/accounts.rs:211-222 (delete\_row), :541 (key binding). Description: KeyCode::Char('D') maps directly to delete\_row(), which removes the AccountInfo (containing the he…

---

## [\[ghost-eye\] Malformed RPC responses panic the app; crash loop on restart via the per-tick block-range fetch](https://ghostforum.org/t/ghost-eye-malformed-rpc-responses-panic-the-app-crash-loop-on-restart-via-the-per-tick-block-range-fetch/175)

<div class="topic-metadata">

**Author:** [@Rusdiwireng](https://ghostforum.org/u/Rusdiwireng)\
**Replies:** 1\
**Last updated:** [October 11, 2026, 3:17pm UTC](https://ghostforum.org/t/ghost-eye-malformed-rpc-responses-panic-the-app-crash-loop-on-restart-via-the-per-tick-block-range-fetch/175 "2026-10-11T15:17:45Z")

</div>

Component: ghost-eye @ ee23e6b, src/network/legacy\_rpc\_calls.rs:157,191,264, src/network/predefined\_txs.rs:121-141, src/errors.rs:43. Description: app.rs fires Action::GetBlockRange on every node tick. The handler chain…

---

## [Informational: sign-on-Enter without confirmation screen; f64 amount-parsing dust](https://ghostforum.org/t/informational-sign-on-enter-without-confirmation-screen-f64-amount-parsing-dust/166)

<div class="topic-metadata">

**Author:** [@Rusdiwireng](https://ghostforum.org/u/Rusdiwireng)\
**Replies:** 0\
**Last updated:** [October 7, 2026, 3:05am UTC](https://ghostforum.org/t/informational-sign-on-enter-without-confirmation-screen-f64-amount-parsing-dust/166 "2026-10-07T03:05:31Z")

</div>

Two low-severity informational notes from the ghost-eye audit. GE-04: No confirmation screen before signing (sign-on-Enter) Component: ghost-eye @ ee23e6b, all popups in src/components/validator/\*\_popup.rs and src/compo…

---

## [\[H1\] ghost-eye stores sr25519 seeds in plaintext on disk — wallet-keys, address-book, and node stash keys world-readable](https://ghostforum.org/t/h1-ghost-eye-stores-sr25519-seeds-in-plaintext-on-disk-wallet-keys-address-book-and-node-stash-keys-world-readable/124)

<div class="topic-metadata">

**Author:** [@Chaplin](https://ghostforum.org/u/Chaplin)\
**Replies:** 4\
**Last updated:** [October 5, 2026, 11:29am UTC](https://ghostforum.org/t/h1-ghost-eye-stores-sr25519-seeds-in-plaintext-on-disk-wallet-keys-address-book-and-node-stash-keys-world-readable/124 "2026-10-05T11:29:47Z")

</div>

Summary ghost-eye (the GHOST operator TUI) persists every secret it manages as plaintext name:0x\<64-hex-seed\> lines, with no encryption, no password, and no restrictive file permissions: Secret File Writer Wal…

---

## [Wallet name with ':' corrupts file format, persistent panic on every startup](https://ghostforum.org/t/wallet-name-with-corrupts-file-format-persistent-panic-on-every-startup/144)

<div class="topic-metadata">

**Author:** [@Rusdiwireng](https://ghostforum.org/u/Rusdiwireng)\
**Replies:** 0\
**Last updated:** [October 5, 2026, 2:44am UTC](https://ghostforum.org/t/wallet-name-with-corrupts-file-format-persistent-panic-on-every-startup/144 "2026-10-05T02:44:24Z")

</div>

Component: ghost-eye @ ee23e6b, src/components/wallet/add\_account.rs + rename\_account.rs (no name validation), src/components/wallet/accounts.rs:228-233 (write) and :236-252 (read). Description: The wallet-keys storage …

---

## [SS58 version validation fall-through: wrong-network address still signed and submitted](https://ghostforum.org/t/ss58-version-validation-fall-through-wrong-network-address-still-signed-and-submitted/143)

<div class="topic-metadata">

**Author:** [@Rusdiwireng](https://ghostforum.org/u/Rusdiwireng)\
**Replies:** 0\
**Last updated:** [October 5, 2026, 2:43am UTC](https://ghostforum.org/t/ss58-version-validation-fall-through-wrong-network-address-still-signed-and-submitted/143 "2026-10-05T02:43:38Z")

</div>

Component: ghost-eye @ ee23e6b, src/components/validator/payee\_popup.rs:146-176 (submit\_new\_input); same pattern in src/components/validator/address\_book.rs:214-246. Description: When the user enters a payee address, th…

---

## [Ghost-eye writes wallet and stash keys plaintext at default file permissions](https://ghostforum.org/t/ghost-eye-writes-wallet-and-stash-keys-plaintext-at-default-file-permissions/92)

<div class="topic-metadata">

**Author:** [@Sands](https://ghostforum.org/u/Sands)\
**Replies:** 1\
**Last updated:** [October 3, 2026, 10:41pm UTC](https://ghostforum.org/t/ghost-eye-writes-wallet-and-stash-keys-plaintext-at-default-file-permissions/92 "2026-10-03T22:41:46Z")

</div>

Hi team Finding: ghost-eye hardcodes the stash-key path, creates the wallet-keys file and the stash-key file with File::create at default permissions, and writes both as plaintext 0x hex. It then auto-imports both seeds…
