本文へ移動
SaferICO SaferICOスマートコントラクトのセキュリティ
5 つの層 — どの層も自らの死角を明記します

深さこそが、 この製品です。

多くのスキャナーが渡すのは、深刻度順に並んだ指摘の一覧です。SaferICO はその指摘を、実際にそれらが使われる攻撃連鎖へ組み立て、主張する各段階に証拠を添えます。指摘は 1 行です。攻撃は複数の行の組み合わせです — 私たちが探しているのは後者です。

生成ではなく演繹連鎖はコードが組み立てます死角はレポートに印刷されます「安全です」とは決して言いません
//5 つの層

表面から 組み立てへ

順序は体裁の都合ではありません。どの層も、前の層が生んだものを消費します。そして各層は、何を捉えられるかと同じだけ、何を捉えられないかによっても定義されます。死角がここに印刷されている理由は、レポートに印刷されている理由と同じです — 自らの射程を隠すツールは、校正のしようがないツールだからです。

第 1 層 · 検出 — ご自身のブラウザ内での静的解析

201 個の検出ルールが Solidity のソースを走査します。戻り値の未確認、リエントランシーの形、ミントと引き上げの経路、owner の権力、プロキシとアップグレードの経路、そして買いと売りのシミュレーション — ハニーポットにはまる前に見分けるために。エンジンはご自身のマシンで動くので、未公開のコントラクトが読まれるためにアップロードされることはありません。死角:ある経路が、コントラクトが実際に出会う数値のもとで到達可能かどうか。この層は何も実行しませんし、その下のどの層も実行しません。

第 2 層 · 裏づけ — ファイル自身には言えないこと

ソースは 1 つの主張であり、デプロイされたバイトコードが事実です。この層はディスパッチャを読んでコントラクトが本当に公開しているセレクタを得て、シグネチャのコーパスと照合して生の calldata に名前を付け、ライブラリのコードを差し引いて手書きの行だけを残し — 監査人が真っ先に読むべきはそこです — そしてアドレスの資金がどこから来たかを、答えを生んだ名簿の出典つきで報告します。死角:意図、そして誰も読み込んでいない名簿。この製品に制裁リストはコンパイルされていません。ラベルの名簿が読み込まれていないとき、レポートは「選別済み」と誤読されうるきれいな結果を返すのではなく、その旨をそのまま書きます。

第 3 層 · 組み立て — 上の証拠から 21 の攻撃連鎖を組む

各連鎖は 1 つの問い —「シェア 1 枚の価格を、実在の入金がシェア 0 枚しか買えないほど高くできるか」— と、前提条件の一覧、そして各条件が占める重みを伴います。連鎖が発行されるのは、必要な前提条件をスキャンが実際に証明したときだけで、そのそれぞれに証拠が添えられます。コードが連鎖を支えないなら、その連鎖は現れません。死角:オンチェーンのリアルタイムな状態 — 残高、流動性の深さ、秘密鍵を誰が持つか、owner がマルチシグかどうか。ここでの確信度は「証明された前提条件の割合」であって、「攻撃が成功する確率」では決してありません。

第 4 層 · 説明 — AI は厳密に証拠の下流にいます

モデルの仕事が始まるのは、第 3 層がすでに連鎖を確立したあとだけです。その連鎖を読者自身の言葉で、守る側がふさげる程度まで説明します。シナリオの生成を求められることはなく、追加することもできません — 自信に満ちた反証不能な作り話の攻撃一覧は、たった 1 つの本物の指摘をその下に埋めてしまうからです。死角:意図。特権的な設計が手落ちなのか、誰かが意図して下した判断なのかは、教えられません。

第 5 層 · 記録 — ブラウザのタブより長く生きる指摘

各指摘を、深刻度、証拠、修正方法とともに。引き渡し済みレポートの公開アーカイブ。そして「チェーンから読んだ実況」と「誰かが報告してきたスコア」を厳密に分け、後者には日付を付けるバッジ。さらに、レポートに署名したあともそのアドレスを見張り続ける監視 — コントラクトは、合格した翌週に owner が変わることが十分ありうるからです。含まれないもの:「安全である」という断言。レポートが述べるのは、何を検査し、何が成り立ったかです — 安全を約束するレポートは、疑うべきレポートです。

抑制:言語モデルが書いた攻撃連鎖は 0 件です

どの連鎖も、検出ルールの出力からコードが組み立てたものであり、主張する前提条件のそれぞれに証拠が添えられます。AI はすでに存在する連鎖を説明するだけで、1 本を足す能力を一度も持ちません。規模、深さ、抑制は 3 つの別々の主張であり、ここではそれを分けて述べます。

ツール本体(スキャナー、各ダッシュボード、SAFI ワークスペース)のインターフェースは現時点では英語です。これらのページは、その中に入る前にすべてを日本語で説明するためにあります。

組み立ての 実例

ATK-VAULT-INFLATION:受け入れられた 2 つの弱点と、空のプール。これが第 3 層が第 1 層の出力に対して行うことです — 下の 2 つの半分はそれぞれ単体では重大な問題ではなく、まさにそれが、深刻度順に並んだ指摘の一覧がこれを隠してしまう理由です。

🏦 この形は仮想の話ではありません

Euler Finance は、同じやり方でこじ開けられる会計の仕組みによって 1 億 9,700 万ドルを失いました。

まず最初の預入者になり、シェアをちょうど 1 枚ミントします。次に大きな額をコントラクトへ直接送ると、裏づけとなる資産だけが増え、新しいシェアは生まれません。次の正直な入金は新しい 1 シェアの価格を下回るので、受け取れるシェアは切り捨てで 0 になります。その人の資金は移されたのではありません — 算術に吸い込まれ、あなたの 1 シェアを支えることになったのです。

01検出が証拠を出す

シェア操作の検出ルールと切り捨ての検出ルールが発火し、しかもこのコントラクトは価値を直接受け取れます。指摘は 3 件、どれも重大ではなく、一覧の別々の場所に散らばって座っています。

02裏づけが形を確かめる

関数の表に、MIN_、deadShares、initialMint と名の付くものは存在しません。

デプロイ済みのセレクタを読むことこそが、「存在しない」と「読めなかった」を分ける線です。あのデッドシェア防御は、読めなかったのではなく、欠けています。

03組み立てが連鎖を導く

必要な前提条件がすべて満たされ、連鎖が発行され、それぞれに証拠が添えられ、確信度がスキャンの証明した割合を正確に示します。

修正:デプロイ時にデッドシェアをミントするか、内部で別に記帳する。シェアの発行の丸め方向を預入者に有利へ変える。シェアが 0 になる入金を拒否する。

04説明が手順を書く

上の 4 段を、読者自身の言葉で、この経路をふさげる程度まで。

この工程が最後にあるのは、モデルが関わる唯一の環だからです — そしてそこへの入力は、前の 3 層がすでに証明したものです。

//よくある質問

この 5 層に ついて

なぜ「死角」を強調するのですか。
自らの射程を隠すツールは、校正のしようがないツールだからです。各層の死角はこのページにも、レポートにも印刷されます — 理由はまったく同じです。
AI が攻撃連鎖を自分で作り出しますか。
作りませんし、作れません。どの連鎖も検出ルールの出力からコードが組み立て、前提条件それぞれに証拠が添えられます。モデルの仕事は第 4 層から始まります — すでに確立された連鎖を説明することです。1 本を足す能力は一度も与えられていません。
確信度は攻撃が成功する確率ですか。
違います。「証明された前提条件の割合」であり、それだけです。オンチェーンのリアルタイムな状態 — 残高、流動性の深さ、秘密鍵を誰が持つか、owner がマルチシグかどうか — は、すべてこの層の死角にあります。
レポートは私のコントラクトが安全だと書きますか。
決して書きません。レポートが述べるのは、何を検査し、何が成り立ったかです。安全を約束するレポートは、疑うべきレポートです。
スキャンでソースコードがそちらへ送られますか。
送られません。201 個の検出ルールを持つエンジンは、スキャンする人自身のブラウザで動きます。未公開のコントラクトが、読まれるためだけに当社のサーバーへアップロードされることはありません。

送金する前に、コントラクトをスキャン

コントラクトアドレスを貼り付ければ、リスクを取る前にオーナー権限、流動性、売却シミュレーションの結果が分かります。1 回ごとに少額の手数料がかかり、金額は署名の前に表示されます — どのプランでも、加入後は無制限に含まれます。