追加のアプローチの 1 つは、Python 解析ツリーですべてのインポートを分析することです。複数のセキュリティ対策を講じたほうがよいと思います。
String code = "import sys\n"+"from java.io import File\n"+"sys.exit()";
AnalyzingParser anPar = new AnalyzingParser(new ANTLRStringStream(code), "", "ascii");
mod tree=anPar.parseModule();
Visitor vis = new Visitor() {
@Override
public Object visitImport(Import node) throws Exception {
System.out.println(node);
return node;
}
@Override
public Object visitImportFrom(ImportFrom node) throws Exception {
System.out.println(node);
return node;
}
};
List<PythonTree> children=tree.getChildren();
for (PythonTree c : children){
vis.visit(c);
}