問題タブ [taint]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
perl - 厳密な -T モード エラーでの変数の Perl 設定値
-T パラメータまたは 'taint' モードで厳密に実行されているスクリプトがあります。すでに定義されている変数の値を設定しようとすると、失敗します。私はそれをあまり作りませんでした。私はそれを変更しようとしているだけで、なぜ壊れているのかわかりません。見た目の要点は次のとおりです。
値を設定すると、いつでも$date
エラーがスローされます。
設定my $date
してもエラーは発生しませんが、実際には日付の値は更新されません。
また、いくつかのテストを行ったので、すべての正規表現が間違っていると確信しており、ユーザー入力に関係なく、これらのケースはすべて何らかの理由で true と評価されます。しかし、それは私が今直面している問題ではありません。
ユーザー入力の例$params
enums - Sonar Taint 分析: javasecurity:S5131: Java Enums の強制サニタイズ:
Javaで開発されたRest APIがあります。私はリクエストパラメータとしてEnumを使用しています.GenderはEnumの1つであり、Genderの可能な値はM、Fです.requestParametrsはユーザーが制御していることを理解しています.Sonarは、それが汚染されており、入力をサニタイズする必要がある.
Enum がどのように汚染される可能性があり、なぜそれがリスクをもたらすのかを理解できていません。Enum にランダムな値を渡すことはできません。
あなたの提案を楽しみにしています。
Enum の値が間違っていると、HTTP 400 Bad Requestが返されますが、これはまったく問題ありません。
static-analysis - pysa ユーザーは構成ファイルをコピーする必要がありますか?
Facebook の Pysa ツールは便利に見えます。Pysa チュートリアルの演習では、相対パスを使用して pyre-check リポジトリで提供されるファイルを参照し、演習ディレクトリの外部のパスを含めます。
https://github.com/facebook/pyre-check/blob/master/pysa_tutorial/exercise1/.pyre_configuration
pyre-check リポジトリには Django 用に提供されたスタブがあり、pyre チェックがインストールされているパスがわかっている場合は、ハードコードして.pyre_configuration
何かを動作させることができますが、別の開発者が pyre-check を別の方法でインストールする可能性があります。
これらの提供されたスタブを参照するためのより良い方法はありますか、それとも作業中のリポジトリにコピーする必要がありますか?
static-analysis - ライブラリ/依存関係の追加のソース コードを CodeQL データベースに追加する方法は?
LGTM (GNU coreutils) からダウンロードしたコード リポジトリ全体で汚染をグローバルに追跡しようとしていますが、CodeQL は libc の呼び出しも「汚染されている」と見なしているようですが、実際には汚染を導入していません。次の例を検討してください。
some_array
または汚染されていた場合some_fptr
、バイトも CodeQL によって汚染されていると見なされるようになりました。これは安全側にあるのではないかと思います (汚染を過大評価するよりも過小評価するほうがよいでしょう)。
編集:明らかに、外部呼び出しはデフォルトで汚染を導入しないと見なされますが、libc などの一般的な API の場合、ドキュメントに基づいて汚染追跡に関するモデルが作成されます。ただし、この場合は少し間違っているように見えますが、継続的に進化しています。
CodeQL が保持するソース データベースに glibc ソースを含めて、これらの「クローズド ソース」関数呼び出し全体でクエリが汚染をより正確に判断できるようにするにはどうすればよいでしょうか?
コードが他のプリコンパイル済みライブラリに依存している場合、このソース コードを CodeQL で使用できるようにするにはどうすればよいですか?