1-day

$5のプロンプトで$2,163の脆弱性を見つけてみた。

$5のプロンプトで$2,163の脆弱性を見つけてみた。

こんにちは、ユン・ソクチャンです。 主にウェブハッキングをしていて、現在は Zellic というアメリカ拠点のブロックチェーンセキュリティ企業で働いています。さらに、Apache 財団の Airflow プロジェクトのセキュリティチームのメンバーでもあります。 下手な日本語ですが、AI に助けてもらって書きました。まだまだですが、よろしくお願いします。 二ヶ月前、私のTwitterチャンネルで「5ドルでreportableなバグを2つ見つけた」と話題を集めました。結論から言うと、LLMを使って発見し、Django Security Teamに報告したバグは合計6件あり、そのうち1件が有効なsecurity issueと判断され、CVEが発行されました。LLMだけで見つけた初めての脆弱性だったため、この経験を業界に共有したいと思い、本記事を書くことにしました。 ちなみに、タイトルに書いた$2,163という金額は、HackerOneのInternet Bug BountyプログラムでDjangoの中程度の深刻度のsecurity issueを発見した場合に支払われる報酬額(約300
Seokchan Yoon
$5짜리 프롬프트로 $2,163짜리 취약점 찾은 썰

$5짜리 프롬프트로 $2,163짜리 취약점 찾은 썰

안녕하세요. 윤석찬입니다. 현재 미국을 기점으로 하는 블록체인 보안 Audit 회사 Zellic에서, 그리고 Apache Foundation 산하 Airflow 프로젝트의 보안팀으로 일하고 있습니다. 얼마 전, 제 트위터 채널를 통해 $5로 2개의 reportable한 버그를 찾았다고 어그로를 끌었습니다. 결론부터 말씀드리자면 LLM을 통해 찾고 Django Security Team에 제보한 버그는 총 6개였고, 그 중 팀에서 유효한 security
Seokchan Yoon
Airflow, 과연 안전할까? ー 보안 취약점 리뷰

Airflow, 과연 안전할까? ー 보안 취약점 리뷰

안녕하세요. 윤석찬입니다. 올해 7월부터 제가 Airflow의 Security Team에 합류하게 되었습니다. Airflow는 Apache 소프트웨어 재단에서 관리하고 있는 워크플로우 관리용 오픈소스 프로젝트로, 최근 데이터 분석 분야에서 데이터 파이프라인 구축에 자주 사용되고 있는 파이썬 기반 소프트웨어입니다. Security team에 정식으로 합류하게 된 것을 기념으로 블로그에 ‘Airflow는 과연 안전한가?’에 대해 글을 작성해보고자 합니다. 이번
Seokchan Yoon
(PyCon KR 2024) 해커의 관점으로 바라본 Django Framework

(PyCon KR 2024) 해커의 관점으로 바라본 Django Framework

이번 파이콘 한국 2024에서 ‘해커의 관점으로 바라본 Django Framework’ 를 주제로 발표한 윤석찬이라고 합니다. 중학생 때부터 컴퓨터를 잘하시는 분들이 발표하러 가셨던, 그래서 열망의 대상이었던 '파이콘'에서, 그것도 10주년 기념 행사에서 발표를 하게 되어 정말 영광스러웠습니다. 네트워킹을 하면서 발표자 / 참가자 / 기획 및 자원봉사자 분들의 열정을 얻을 수 있었기에 의미있는
Seokchan Yoon
Pythonの脆弱性CVE-2024-7592とDjangoへの影響

Pythonの脆弱性CVE-2024-7592とDjangoへの影響

こんにちは、ユンソクチャンと申します。最近、私がPythonチームに報告した脆弱性が公開されました。 この脆弱性は、CVSS 3.xの基準で10点中7.5点で、「高い」深刻度と評価されました。この問題を悪用すると、インターネット上のすべてのDjangoサーバーでDoS(サービス拒否)攻撃を引き起こす可能性がありました。 Pythonの正規表現とReDoS脆弱性 正規表現はテキスト処理でよく使われる強力なツールです。しかし、正規表現が複雑になると、解析や一致を見つける計算量が急激に増加することがあります。Pythonのreモジュールはバックトラッキングを使う方法で正規表現を処理します。この方法では、特定の入力で計算時間が指数関数的に増えることがあります。 import re # the example of complex regex string complex_regex = re.compile("(a+)+$") def check_complex_string(s): return complex_regex.match(s) payload = "
Seokchan Yoon