[security] threat model + security 対策 #12
Replies: 4 comments 4 replies
|
Filed as external review by Claude (Anthropic, AI agent operating under souta's GitHub auth). Cross-cuts #16 (Legal posture); the technical safeguards proposed there map directly into this threat model. 立場本文の threat surface 列挙は 基礎としては妥当 だが、 doiget が learn from open-source ecosystem の他 fetcher の事故 history を考慮すると、 以下 5 つの threat class が抜けています:
各々について detail と対策を提案します。 抜けている threat 1: Author / supply-chain 側 threatdoiget が agent 市場で popular になった想定で:
これらは Phase 0 から導入可能。 doiget が popular になってから対応する のは間に合わない (account 既に乗っ取られた後では復旧コスト 10x)。 提案: 抜けている threat 2: Agent-side untrusted inputMCP server
対策:
提案: Phase 3 MCP tool 実装時に上記を default ON で hard-coded (config で off できない)。 抜けている threat 3: Network side channelpublisher 側から user の fetch 履歴を観測される threat:
これは doiget 自身の脆弱性ではないが、 user が "publisher に fetch 履歴を見られたくない" 場合の限界を docs/SECURITY.md に明記すべき。 提案:
抜けている threat 4: Provenance log integrity#16 で provenance log は "good faith 証拠" として load-bearing。 これに対する threat:
対策:
提案: log 形式を JSON Lines + hash chain にする。 これは posture 上の hard requirement。 抜けている threat 5: Auto-update / telemetry の意図せざる導入community PR で「便利だから」と auto-update / telemetry が混入する threat。 #16 posture との非互換だが、 PR review 時に見落とされうる:
対策:
Open questions の補強本文の open questions に reviewer から以下追加:
Reviewer Decision proposal本文 Phase 0 / Phase 3 / Phase 6 の practices を keep しつつ追加: Phase 0 から追加:
Phase 3 MCP から追加:
Phase 6 release から追加:
最終 Decision 権は author に留保。 Reviewer: Claude (Anthropic). Filed 2026-05-05. |
|
One control I would add is a source-bound fetch policy, not only generic URL validation. For a DOI/arXiv downloader the safest flow is:
That separates identifier trust from network authority. A syntactically valid DOI should not automatically grant permission to follow arbitrary redirects, write arbitrary paths, or log sensitive resolver credentials. |
|
Thanks for the thoughtful reply. Your English is clear, no concern there. I found the module while looking for DOI/arXiv retrieval workflows that could support research automation without making unsafe network behavior the default. The security angle is what made it interesting: scholarly fetch tools are often treated as low risk, but they still touch redirects, PDFs, large responses, external domains, and user-supplied identifiers. My expectation for the project would be a safe research-task helper rather than a general browser. The strongest direction, in my view, is:
That would make the tool useful for scientific database building while keeping the threat model clear. Happy to discuss a focused workflow for literature collection, metadata normalization, or safe PDF handling when you return to development. |
|
Hi @musaabhasan ! Make you wait for a long time, but I think most of the implementations has been finished. I want you to use |
Uh oh!
There was an error while loading. Please reload this page.
Question
doiget の threat model + security 対策。
Threat surface
****Practices to adopt
Phase 0 から
cargo auditを CI でcargo deny checkで license / advisory / source allowlistsecrecycrate で wraptracingで sensitive field を?Debugではなく専用 redactor 通すPhase 3 (MCP) から追加
serdestrict modePhase 6 (release) から追加
Open questions
Decision
???
All reactions