Support for HTML (see attached example rule)
評価
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 初心者へのやさしさ
- 68/100
調査の方向性
まず既存の XML サポートを見つけ、そのルール処理を、提供されている DevSkim JSON ルールおよび HTML テストケースと比較します。target="_blank" と rel="noopener" の例に対する HTML カバレッジを追加し、安全でないリンクが検出され、安全なリンクが検出されないことを確認します。
索引モデルが issue の本文から書いたものです。
説明
I would like to see support for HTML. Here is a working example DevSkim detection rule based of XML instead.
[
{
"name": "HTML_A_Tag_With_TargetBlank_Without_NoOpener",
"id": "html_a_targetblank_noopener",
"description": "Detects HTML <a> tags with target='_blank' that do not have the 'noopener' attribute in their rel, which can pose security risks.",
"recommendation": "Add 'noopener' to the rel attribute of the HTML <a> tag.",
"tags": ["security", "html", "a-tag", "noopener"],
"severity": "BestPractice",
"confidence": "high",
"applies_to": ["xml"],
"patterns": [
{
"pattern": "<a\\b(?=[^>]*target\\s*=\\s*[\"']_blank[\"'])(?!.*rel\\s*=\\s*[\"'][^\"']*noopener[^\"']*[\"'])[^>]*>",
"type": "regex",
"_comment": "Matches <a> tags with target='_blank' and without 'noopener' in rel attribute."
}
]
}
]
Test file
<a href="https://example.com" target="_blank">Unsafe Link</a>
<a href="https://example.com" rel="noreferrer" target="_blank">Unsafe Link</a>
<a href="https://example.com" rel="" target="_blank">Unsafe Link</a>
<a href="https://example.com">Safe Link</a>
<a href="https://example.com" rel="noopener" target="_blank">Safe Link</a>
<a href="https://example.com" rel="noopener noreferrer" target="_blank">Safe Link</a>
Perhaps this can be easily done with the already existing XML support.
- 主要言語
- C#
- スター
- 1k
- フォーク
- 133
- PR マージ指標
- 30日以内にマージされた PR はありません
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
microsoft/DevSkim のほかの issue
-
exclude_file_regex and applies_to_file_regex only see the file name in devskim analyze対応中かも @gfs が 3 日前に担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
-
The DevSkim Repository Description still mentions IDE extensions but these are not longer includedオープンbug
難易度 1/5 1時間未満 初心者へのやさしさ 55/100
-
DS117838 and DS173237 report published sha256 digests as secrets対応中かも @gfs が 3 日前に担当しました。 オープン
難易度 3/5 1〜2日 初心者へのやさしさ 56/100
-
How to match files without a file extension?対応中かも @gfs が 169 日前に担当しました。 オープンenhancement
-
enhancement
難易度 5/5 1週間以上 初心者へのやさしさ 35/100
microsoft/DevSkim の issue をすべて見る
似ている issue
-
请让 FPS 叠加层的字号大小可单独设置オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 66/100
MahdiyarGHD/GheychiApp#39 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
-
bug effort:S P3
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
nightscout/nocturne#3136 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100