파이썬 eval 함수를 처음 접했는데요 : 안정성에 대해

파이썬 본격적으로 공부한 지 며칠 안된 뉴비입니다
eval 함수를 구글링 해보니 보안상 문제가 있다고 하는데

‘’’
eval(input())
‘’’
과 같은 형태만 피하면 상관 없는 건가요? 아니면 코드에 eval 이 들어가는 것 자체가 문제인 건가요?

그리고 eval보다 ast에서 literal_eval 이 보안상 좋다고 하는데 차이점이 무엇인가요?
이름으로 보자면 입력값으로 문자열만 받아서 처리하는 것 같긴 한데…

literal_eval 은 아마 자료형만 될걸요. JSON 파싱하는것처럼요.

사용자 입력을 eval안에 넣으면 당연히 안대겠지요. :slight_smile: