RESOURCES · OSS 101
OSS 101
オープンソースセキュリティの早見ハンドブック——基礎から実践まで、継続更新。
01基礎概念
オープンソースソフトウェアとは?
ソースコードが公開され、ライセンス条件の下で誰でも閲覧・改変・再配布できるソフトウェア。現代のアプリはコードの70%以上をOSSに依存する。
ソフトウェアサプライチェーンセキュリティとは?
開発・ビルド・配布・実行の全経路で改ざんと攻撃を防ぐ実践。ソースコード、サードパーティ部品、ビルド系、成果物リポジトリ、配信経路を対象とする。SolarWindsやLog4Shellで注目が急上昇した。
SBOMとは?
ソフトウェア部品表。含まれる全コンポーネント・バージョン・依存関係の一覧で、ソフトの「原材料表示」に相当。米大統領令14028とEU CRAが提出を要求する。
SCAとは?
ソフトウェア構成分析。コード中のOSSを自動識別し、既知脆弱性とライセンスリスクを検出する。CleanSource SCA はスニペット単位まで識別し、直接・推移依存を網羅する。
直接依存と推移依存の違いは?
直接依存は自ら明示的に宣言した部品、推移依存はその部品がさらに引き込む部品。脆弱性の多くは推移依存に潜み、依存全体の8割超を占めるのが普通。
02ライセンスとコンプライアンス
オープンソースライセンスの種類は?
大きく寛容型(MIT、Apache-2.0、BSD:義務が少なく商用向き)とコピーレフト型(GPL系:派生物も同条件で公開)に分かれる。採用前に義務の強さを確認する。
GPLの中核的義務は?
GPL部品を含む派生物を配布する場合、全体をGPLで公開しソース全文を提供する義務——いわゆる「伝染性」。配布しない社内利用のみなら通常は義務が生じない。
AGPL・LGPLとGPLの違いは?
LGPLは緩く、動的リンクなら自コードの公開は通常不要。AGPLは厳しく、ネットワーク経由のサービス提供も「配布」とみなされ、SaaSでも義務が発生する。
ライセンス競合とは?
2つの部品のライセンス条件が互いに矛盾し、同一ソフトで併存できない状態。GPLv2とApache-2.0が典型。依存の組合せレベルでの自動検出が必要。
OpenChainとは?
OSSコンプライアンス管理の国際標準(ISO/IEC 5230)。企業のコンプライアンスプロセスの要件を定め、認証により上下流へ能力を証明できる。
商用ソフトでOSSを使えるか?
使える。ほぼ全ての商用ソフトが使っている。要点は各部品のライセンス義務を特定し履行すること:著作権表示の保持、ライセンス文の提供、条件に従った公開。
03脆弱性と脅威
CVEとは?
共通脆弱性識別子。既知脆弱性の世界共通番号体系で、CVE-2021-44228(Log4Shell)など。MITREが維持し、脆弱性情報の共通言語となっている。
CVSSスコアの読み方は?
共通脆弱性評価システム。0-10で深刻度を定量化:9.0-10.0超危険、7.0-8.9高、4.0-6.9中。攻撃経路・難易度・要権限・要操作などを考慮する。
CWEとCVEの違いは?
CWEは欠陥タイプの分類(CWE-78コマンドインジェクション等)で「どんな誤りか」。CVEは個別脆弱性の番号で「どの製品のどの穴か」。CVEは通常1つのCWEに対応する。
パッケージ投毒とは?
攻撃者が npm・PyPI 等の公開リポジトリへ悪性部品を公開し、有名パッケージの偽装やアカウント乗っ取りで導入させ、資格情報窃取やバックドア設置を狙う。2026年前半は月間100件超が常態化。
依存混同攻撃とは?
企業内部のプライベートパッケージと同名の部品を公開リポジトリに高いバージョンで登録し、ビルドツールに悪性版を取得させる攻撃。私設レジストリ優先とバージョン固定で防ぐ。
0day・Ndayとは?
0dayは公式パッチ公開前に悪用される脆弱性で防御が最難。Ndayはパッチ公開からN日経っても未修正の脆弱性——実攻撃の大半はNdayであり、修正の速さが鍵。
04エンジニアリング実践
DevSecOpsとは?
セキュリティを左遷(前倒し)し DevOps 全工程へ自動組込みする実践:実装期SAST、依存導入期SCA、テスト期DAST、運用期監視。安全と開発速度を両立させる。
SAST・DAST・SCAの違いは?
SASTは自作コードの静的解析(ホワイトボックス)、DASTは稼働アプリへの攻撃テスト(ブラックボックス)、SCAは導入したOSS部品の分析。三者で自社コードと外部依存を補完的に網羅する。
CI/CDにOSSセキュリティゲートを組み込むには?
パイプラインに自動チェックを追加:コミットでSCA/SAST走査、ポリシーで遮断(超危険脆弱性や禁止ライセンスでビルド失敗)、結果をコードレビューへ還元。ゲートは段階制にし一律遮断は避ける。
オープンソースガバナンスとは?
企業がOSS利用を体系的に管理する実践:導入審査、部品台帳(SBOM)、脆弱性対応、ライセンス遵守、更新戦略。「安心して使い、追跡でき、義務を果たせる」状態が目標。
OSS導入審査制度をどう作るか?
審査会から始めて自動ゲートへ移行:基準を定義(ライセンス許可リスト、保守活発度、既知脆弱性の閾値)し、依存導入フローへ統合、既存部品も定期再走査する。
SPDXとCycloneDXはどちらを選ぶ?
いずれも主流のSBOM標準。SPDX(Linux財団、ISO標準)はライセンス記述が精緻、CycloneDX(OWASP)はセキュリティ用途発で進化が速い。多くのツールが両対応——下流要件で選べばよい。
05AIとフロンティア
AIがもたらす新たなサプライチェーンリスクは?
モデルとデータセット自体が部品となり(投毒され得る)、高速進化するAIフレームワークは脆弱性が密集、Agentのプラグイン/ツール機構がコード実行面を開く。2026年以降、AI部品は超危険脆弱性の最多領域。
プロンプトインジェクションとは?
AIが処理するコンテンツ(Web、文書、チケット)に悪意ある指示を仕込み、越権操作をさせる攻撃。資格情報の漏洩や危険なツールの呼び出しを誘発する。LLMアプリ最大級の攻撃手法(CWE-1427)。
MCP・AI Agentのセキュリティリスクは?
ツールチェーンのコマンドインジェクション、未認証エンドポイント、資格情報の平文保存、悪性Skill/プラグイン投毒、サンドボックス脱出。ツール許可リスト、最小権限、既定認証で緩和し、SkillSec のようなツールで能力監査を行う。