サブプロセスに渡されるパラメーターは、コード インジェクションから何らかの方法で安全ですか?
映画ファイルのタグ付けを行う小さなpythonプログラムを構築しています。簡単にするために、subprocess.call() を使用して、タグ情報を (Windows の) AtomicParsley に渡しています。タグ情報はオンライン ソースであり、自動的に取得されます。一部の個人がタグにコードを配置した場合 (つまり、アクターを何らかの rd タームに置き換えた場合)、サブプロセスはその実行から安全でしょうか? これは、言語の詳細に関する質問というよりも、概念的な質問です。
subprocess.call は ['AtomicParsley',filename,'--tag1',tag1_info,(...)] で実行されます。コマンドの最初の部分は AP 実行可能ファイルの名前であることが保証され、2 番目の部分は有効なファイル名であることが保証されているため、metainfo データベース内の悪意のあるコードは文字列として適切なタグ (つまり、Actor の名前は del C:\Windows になります)。それらは合理的な仮定のように見えますか?