더북(TheBook)
    def visit_Call(self, node):
        """
        함수 호출 노드를 방문할 때 호출되는 메서드
        
        Args:
            node: ast.Call 노드 객체
        """
        func_name = ""
        
        # 함수 이름 추출
        # ast.Name: 직접 함수 호출 (예: eval())
        if isinstance(node.func, ast.Name):
            func_name = node.func.id
        # ast.Attribute: 메서드 호출 (예: obj.method())
        elif isinstance(node.func, ast.Attribute):
            func_name = node.func.attr

        # 위험한 함수 호출 탐지 (eval, exec)
        if func_name in ("eval", "exec"):
            # 발견된 이슈를 리스트에 추가 (라인 번호 포함)
            self.issues.append(f"위험 함수 호출: {func_name}() (라인 {node.lineno})")

        # 자식 노드들도 계속 방문 (재귀적 순회)
        self.generic_visit(node)