test : add unit tests for _sanitize_stderr in parser_sandbox
まだ誰も着手していません。
- #2426 @tmdeveloper007 による — マージされずにクローズ
評価
- 難易度
- 2/5
- 見積もり時間
- 1〜3時間
- 初心者へのやさしさ
- 35/100
調査の方向性
Read backend/secuscan/parser_sandbox.py to inspect _sanitize_stderr() and the existing tests in testing/backend/unit/test_parser_sandbox.py and testing/backend/unit/test_parser_sandbox_helpers.py. Add the requested cases in testing/backend/unit/test_parser_sandbox_stderr_sanitize.py and run that test file. Done means the tests cover path and line replacement, case handling, multiple matches, unchanged text, truncation, and replacement order; a linked pull request is already present.
索引モデルが issue の本文から書いたものです。
説明
Summary of What Needs to be Done:
Add unit tests for the _sanitize_stderr() helper function in backend/secuscan/parser_sandbox.py. This function strips absolute file paths and Python line-number references from stderr output before logging, to prevent leaking internal topology in diagnostic logs.
The existing test file testing/backend/unit/test_parser_sandbox.py covers 27 tests and testing/backend/unit/test_parser_sandbox_helpers.py covers the environment sanitization helpers, but _sanitize_stderr is not imported or tested in either file.
Changes that Need to be Made:
Create a new file testing/backend/unit/test_parser_sandbox_stderr_sanitize.py:
- Import
_sanitize_stderrfrombackend.secuscan.parser_sandbox - Test that absolute Unix paths (e.g. /home/user/project/file.py) are replaced with [PATH]
- Test that Windows absolute paths (e.g. C:\Users\project\file.py) are replaced with [PATH]
- Test that Python line number references (e.g. "line 42", "Line 1") are replaced with [LINE]
- Test that the function is case-insensitive for line number matching
- Test that multiple occurrences are all replaced
- Test that text without paths or line numbers is returned unchanged
- Test that the output is truncated to the max_chars default (500) for very long inputs
- Test that max_chars parameter controls the truncation length
- Test that the order of replacement is path first, then line numbers
Impact that it would Provide:
- Prevents internal file paths and line numbers from leaking into operator-facing logs
- Ensures the sanitizer handles edge cases (no paths, multiple paths, mixed content)
- Validates the truncation behavior to prevent memory issues from huge stderr
Note: This task is being handled by tmdeveloper007 — please assign to that account when picking it up.
- 主要言語
- Python
- スター
- 36
- フォーク
- 234
- PR マージ指標
- 30日以内にマージされた PR はありません
環境構築
- Dockerfile または Docker Compose ファイルあり
- プルリクエストのテンプレートあり
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
utksh1/SecuScan のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
-
area:frontend good first issue level:intermediate priority:low type:testing
難易度 2/5 1〜3時間 初心者へのやさしさ 83/100
-
area:frontend good first issue level:intermediate priority:low type:testing
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
-
area:frontend good first issue level:beginner priority:low type:testing
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
-
area:frontend good first issue level:intermediate priority:low type:testing
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
utksh1/SecuScan の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 83/100
メンテナーはふだん 1 日以内に返信
-
comp/desktop P3 type/feature
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
NousResearch/hermes-agent#154285 ·
メンテナーはふだん 1 日以内に返信
-
docs: qualify copied and custom kubectl debug policy notes対応中かも @nym01 が今日担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
kubescape/cel-admission-library#166 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
SACGF/variantgrid#2804 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
[BUG] HTTP lifecycle dispatch treats a NO_PROXY-only environment as corporate egress and skips the resolve-and-pinned session対応中かも @bodapatisaikrishna が今日担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
メンテナーはふだん 1 日以内に返信