복붙노트

[PYTHON] Python 3, ast.literal_eval (node_or_string)에 알려진 보안 구멍이 있습니까?

PYTHON

Python 3, ast.literal_eval (node_or_string)에 알려진 보안 구멍이 있습니까?

ast.literal_eval (node_or_string)의 평가가 실제로 안전하지 않은 것으로 알려진 방법이 있습니까?

그렇다면 패치를 사용할 수 있습니까?

(나는 PyPy [sandbox]에 대해 이미 알고있다. 아마 더 안전 할 것이지만, 대답이 '예'가 아니라면, 나의 필요는 충분히 작아서 그리 멀리 가지 않을 것이다.)

해결법

  1. ==============================

    1.설명서에는 안전하다고 나와 있으며 버그 추적기에 literal_eval의 보안과 관련된 버그가 없으므로 안전하다고 생각할 수 있습니다.

    설명서에는 안전하다고 나와 있으며 버그 추적기에 literal_eval의 보안과 관련된 버그가 없으므로 안전하다고 생각할 수 있습니다.

    또한 소스에 따르면 literal_eval은 문자열을 파이썬 AST (소스 트리)로 구문 분석하고 리터럴 인 경우에만 반환합니다. 코드는 실행되지 않고 구문 분석되므로 보안 위험이 발생할 이유가 없습니다.

  2. from https://stackoverflow.com/questions/4710247/python-3-are-there-any-known-security-holes-in-ast-literal-evalnode-or-string by cc-by-sa and MIT license