test : add unit tests for _sanitize_stderr in parser_sandbox

オープン
#2,421 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

  • #2426 @tmdeveloper007 による — マージされずにクローズ

評価

難易度
2/5
見積もり時間
1〜3時間
初心者へのやさしさ
35/100
issue の種類
機能追加
明瞭さ
明確に書かれている
活発さ
停滞
技術スタック
python
領域
security, testing

調査の方向性

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_stderr from backend.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 はありません

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

utksh1/SecuScan のほかの issue

utksh1/SecuScan の issue をすべて見る

似ている issue

Python の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。