トレンドトピック
#
Bonk Eco continues to show strength amid $USELESS rally
#
Pump.fun to raise $1B token sale, traders speculating on airdrop
#
Boop.Fun leading the way with a new launchpad on Solana.
少ないほど安全:Obsidianがサプライチェーン攻撃のリスクを軽減する方法
サプライチェーン攻撃は、多くのアプリで使用されているオープンソースコードに忍び込む悪意のあるアップデートです。アプリがあなたの考えにとって安全でプライベートな環境であることを保証するために、Obsidian をどのように設計するかは次のとおりです。
少ないほど安全
当たり前のことのように聞こえるかもしれませんが、サプライチェーン攻撃のリスクを軽減する主な方法は、サードパーティのコードに依存しないことです。Obsidian は、このカテゴリの他のアプリと比較して依存関係の数が少ないです。オープンソースライブラリのリストは、クレジットページをご覧ください。
Bases や Canvas などの機能は、既製のライブラリをインポートする代わりに、ゼロから実装されました。これにより、Obsidian で実行される内容を完全に制御できます。
- 小さなユーティリティ関数の場合、ほとんどの場合、コードに再実装します。
- 中程度のモジュールの場合は、それらをフォークし、ライセンスで許可されている場合はコードベース内に保持します。
- pdf.js、Mermaid、MathJax などの大規模なライブラリには、既知の正常なバージョン ロック ファイルが含まれており、たまに、またはセキュリティ修正が行われたときにのみアップグレードします。リリースノートを読み、アップストリームの変更を確認し、切り替える前に徹底的にテストします。
このアプローチでは、依存関係グラフを浅く保ち、サブ依存関係がほとんどありません。対象領域が小さいほど、悪意のあるアップデートがすり抜ける可能性が低くなります。
アプリに実際に出荷されるもの
実行するアプリの一部であるパッケージは、Electron、CodeMirror moment.jsなど、ほんの一握りです。他のパッケージは、アプリの構築に役立ち、esbuild や eslint など、ユーザーに出荷されることはありません。
バージョンのピン留めとロックファイル
すべての依存関係は厳密にバージョン固定され、ロックファイルでコミットされます。ロックファイルはビルドの信頼できる情報源であるため、決定論的なインストールを取得します。これにより、変更をレビューする際の簡単な監査証跡が得られます。
ポストインストールスクリプトは実行しません。これにより、インストール中にパッケージが任意のコードを実行するのを防ぎます。
ゆっくりとした意図的なアップグレード
依存関係の更新を行うと、次のことを行います。
...

トップ
ランキング
お気に入り