セキュアコーディングの最新トレンドを先取り
サイバー脅威の状況は常に変化しており、一歩先を行くことがこれまで以上に重要になっています。動画、ブログ、便利なセキュアコーディングガイドラインなど、最新情報を把握し、次なる脅威に備えるためのリソースを提供します。

最新のセキュアコーディングガイドライン。
既知の脆弱性を持つコンポーネントの使用
{
"dependencies": {
"foo": "1.0.0 - 2.9999.9999",
"bar": ">=1.0.2 <2.1.2"
}
}
多くのアプリケーションは、大量のサードパーティ製コンポーネントを利用しています。これらのコンポーネントは、ログ記録、テンプレート作成、データベースアクセスなど、あらゆる機能を提供します。これによりソフトウェア開発は大幅に効率化され、多くの時間を節約できます。しかし、これらも人間によって作られている以上、必然的に脆弱性が含まれる可能性があります。詳細についてはガイドをご覧ください。
SQLインジェクション
import mysql.connector
db = mysql.connector.connect
#悪い例。避けてください!これは学習用です。
(host="localhost", user="newuser", passwd="pass", db="sample")
cur = db.cursor()
name = raw_input('Enter Name: ')
cur.execute("SELECT * FROM sample_data WHERE Name = '%s';" % name) for row in cur.fetchall(): print(row)
db.close()
SQLインジェクション(SQLi)とは、SQL文に不正なコードを注入することで、アプリケーションから重要な情報を攻撃・窃取するWebセキュリティ上の脆弱性です。データベースを操作して機密情報を抜き出す手法として、最も一般的に用いられるハッキング技術です。

セキュリティの設定不備
多くのフレームワークには、本番環境やテスト・開発環境を問わず、アプリケーションの監視を可能にするエンドポイントが用意されています。これには以下のようなものが含まれます。
メトリクス(Prometheus)
ログ
環境情報
パス/URLマッピング
セキュリティ設定の不備(Security Misconfiguration)とは、コードの欠陥ではなく、アプリケーションの設定に起因して発生する一般的な脆弱性を指す包括的な用語です。これは非常に広範なテーマであり、使用する技術スタックなどの要因に大きく依存します。多くの場合、設定ファイルの変更やわずか1行のコード修正といった単純な作業で解決できるように思えますが、こうした脆弱性がもたらす影響や結果は甚大になる可能性があります。この脆弱性の詳細と対策については、当社のガイドラインをご覧ください。
サーバーサイドリクエストフォージェリ
ts
let url = request.params.url;
let response = http.get(url);
let render = response.render();
return render.export();
サーバーサイドリクエストフォージェリ(SSRF)の脆弱性は、攻撃者が指定したドメインに対して、アプリケーションにHTTPリクエストを送信させることが可能になることで発生します。アプリケーションがプライベートネットワークや内部ネットワークにアクセスできる場合、攻撃者はアプリケーションを介して内部サーバーへリクエストを送信させることも可能です。本ガイドラインでは、具体的な例を交えながら、この脆弱性が実際にどのようなものか詳しく見ていきます。