fill: a sensitive value can still come back in an altered form (iOS read-back)
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 初心者へのやさしさ
- 45/100
- issue の種類
- バグ
- 明瞭さ
- おおむね明確
- 活発さ
- 活発
- 技術スタック
- swift, typescript
調査の方向性
Start with the TEXT_ENTRY_MISMATCH message in RunnerTests+TypeExecution.swift around line 111, which quotes the observed read-back value, and with FillUnconfirmedVerification in packages/contracts/src/fill-evidence.ts, which carries before and after. Check how #3351 redacts the expected and requested values for sensitive fills, then apply the same treatment to observed, before and after. Done means a sensitive fill that fails or settles on a different value returns no read-back text in the error or the response, while the error code and verification status remain. A device run is not required to verify the change, but the design of the placeholder should be agreed first.
索引モデルが issue の本文から書いたものです。
説明
Follow-up from #3351, as suggested in review.
#3351 keeps the exact text of a sensitive fill (--text-stdin, --record-as) out of responses and errors. Two places can still carry a changed form of that text, which no literal match catches:
- Error: the iOS runner's
TEXT_ENTRY_MISMATCHmessage quotes both sides:text entry read-back did not match: expected "…", observed "…"(RunnerTests+TypeExecution.swift:111).expectedis the exact value and is now redacted.observedis what the field read back. Per thefillhelp this error covers dropped characters, so it can be the value with a character or two missing. - Success: a fill that settles on a different value returns
verification: "unconfirmed"withrequested,beforeandafter(FillUnconfirmedVerificationinpackages/contracts/src/fill-evidence.ts).requestedis the exact value, butaftercan be a formatted form of it, like the help's"00 062 91 77"for"000629177".
I found these by reading the code and have not reproduced them on a device, since that needs a field that alters its input.
A possible direction: for a sensitive fill, drop the read-back values instead of matching them. For example, keep the error code with a generic message, and replace before/after with the placeholder. Related: #3261 (the same value in native XCTest logs).
- 主要言語
- TypeScript
- スター
- 4.9k
- フォーク
- 328
- 平均マージ
- 11時間 49分
- マージ済み PR(30日)
- 585
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
callstack/agent-device のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
callstack/agent-device#3407 ·
メンテナーはふだん 1 日以内に返信
-
難易度 1/5 1時間未満 初心者へのやさしさ 88/100
callstack/agent-device#3353 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
callstack/agent-device#1869 ·
メンテナーはふだん 1 日以内に返信
-
Client stop paths treat EPERM as a confirmed exit and drop state for a live companion対応中かも @thymikee が今日担当しました。 オープン
難易度 4/5 3〜5日 初心者へのやさしさ 52/100
callstack/agent-device#3540 ·
メンテナーはふだん 1 日以内に返信
-
enhancement needs-triage
難易度 5/5 1週間以上 初心者へのやさしさ 35/100
callstack/agent-device#3531 ·
メンテナーはふだん 1 日以内に返信
callstack/agent-device の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
microsoft/playwright#43327 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
microsoft/TypeScript#64758 ·
メンテナーはふだん 1 日以内に返信
-
enhancement
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
opensearch-project/OpenSearch-Dashboards#12937 ·
メンテナーはふだん 2 日以内に返信
-
Liveness marks block-included attesters live in the block's epoch instead of the attestation's epochオープン
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
メンテナーはふだん 1 日以内に返信
-
status: needs-triage
難易度 2/5 1〜3時間 初心者へのやさしさ 83/100
a2ui-project/a2ui#3158 ·
メンテナーはふだん 2 日以内に返信