trailmark-structural
Trailmark 0.2.x に対してグラフ構築・`preanalysis()` 実行を行い、ホットスポット・汚染伝播・影響範囲・権限境界・攻撃面を包括的にレポートする Trailmark 構造解析を実施します。vivisect がターゲットの詳細な構造データを必要とする際に使用し、構造解析・影響範囲分析・汚染解析・複雑度ホットスポットの調査をトリガーとします。
description の原文を見る
Runs full Trailmark structural analysis on Trailmark 0.2.x by building a graph, running `preanalysis()`, and reporting hotspots, taint, blast radius, privilege boundaries, and attack surface. Use when vivisect needs detailed structural data for a target. Triggers: structural analysis, blast radius, taint analysis, complexity hotspots.
SKILL.md 本文
Trailmark 構造解析
Trailmark グラフを構築し、engine.preanalysis() を実行して、4 つのすべての
事前解析パスを計算します。
使用すべき場合
- Vivisect Phase 1 が完全な構造データ(ホットスポット、汚染、爆発半径、権限境界)を必要とする場合
- 特定のターゲットスコープに対する詳細な事前解析パス
- 監査優先度付けのための複雑性と汚染データの生成
使用すべきでない場合
- 概要のみが必要な場合(代わりに
trailmark-summaryを使用してください) - アドホックなコードグラフクエリ(メインの
trailmarkスキルを直接使用してください) - ターゲットが単一の小さなファイルで、構造解析に価値がない場合
却下すべき根拠
| 根拠 | 誤りの理由 | 必要なアクション |
|---|---|---|
| 「概要解析で十分」 | 概要は汚染、爆発半径、権限境界データをスキップする | 詳細なデータが必要な場合は完全な構造解析を実行してください |
| 「1 つのパスで十分」 | パスは相互参照される — 爆発半径のない汚染分析は重要なノードを見落とす | 4 つすべてのパスを実行してください |
| 「ツールがインストールされていないので、手動で解析します」 | 手動解析はツーリングが検出するものを見落とす | 「trailmark がインストールされていない」とレポートして戻してください |
| 「パス出力が空というのはパスが失敗したことを意味する」 | いくつかのパスは一部のコードベースでデータを生成しない(例:権限境界がない) | 出力内容に関わらず完全な出力を返してください |
使用方法
ターゲットディレクトリは args パラメータを通じて渡されます。
実行
Step 1: trailmark が利用可能であることを確認します。
trailmark analyze --help 2>/dev/null || \
uv run trailmark analyze --help 2>/dev/null
どちらのコマンドも動作しない場合は、「trailmark がインストールされていない」とレポートして
戻してください。pip install、uv pip install、
git clone、またはその他のインストールコマンドを実行しないでください。ユーザーが
自分自身で trailmark をインストールする必要があります。
Step 2: Trailmark の parse API で言語を検出します。
python3 - "{args}" <<'PY'
import json
import sys
from trailmark.parse import detect_languages
print(json.dumps(detect_languages(sys.argv[1])))
PY
インポートが失敗した場合は、uv run python - "{args}" で同じスニペットを再実行してください。
結果が [] の場合は、「Trailmark がターゲット下でサポートされている言語を見つけられませんでした」とレポートして戻してください。
Step 3: QueryEngine 経由で完全な構造解析を実行します。
このスニペットを python3 で実行してください。インポートが失敗した場合は、
uv run python - "{args}" で同じスニペットを再実行してください。
python3 - "{args}" <<'PY'
import json
import sys
from trailmark.parse import detect_languages
from trailmark.query.api import QueryEngine
target = sys.argv[1]
languages = detect_languages(target)
engine = QueryEngine.from_directory(target, language="auto")
preanalysis = engine.preanalysis()
def summarize_subgraph(name: str, limit: int = 25) -> dict[str, object]:
nodes = engine.subgraph(name)
return {
"count": len(nodes),
"sample_ids": [node["id"] for node in nodes[:limit]],
}
payload = {
"languages": languages,
"summary": engine.summary(),
"preanalysis": preanalysis,
"attack_surface": engine.attack_surface()[:25],
"hotspots": engine.complexity_hotspots(10)[:25],
"subgraphs": {
name: summarize_subgraph(name)
for name in engine.subgraph_names()
},
}
print(json.dumps(payload, indent=2))
PY
Step 4: 出力を検証します。
出力には以下が含まれるべきです:
languagessummarypreanalysishotspots(空の可能性あり)subgraphs(カウントとサンプル ID を含む)
一部のコードベースでは一部のサブグラフがゼロノードを持つ場合があります(これは 正常です)。内容に関わらず完全な JSON ペイロードを返してください。
ライセンス: CC-BY-SA-4.0(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- trailofbits
- リポジトリ
- trailofbits/skills
- ライセンス
- CC-BY-SA-4.0
- 最終更新
- 不明
Source: https://github.com/trailofbits/skills / ライセンス: CC-BY-SA-4.0
関連スキル
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パターンを含んでいます。