使用pyattck调用MITRE ATT&CK数据时遇TypeError问题求助
使用pyattck v7.0.0 + pyattck-data v2.5.2获取MITRE ATT&CK信息触发TypeError
问题场景
使用版本为pyattck==7.0.0、pyattck-data==2.5.2的模块获取MITRE ATT&CK相关信息,编写测试脚本main.py如下:
from pyattck import Attck def main(): attck = Attck() for technique in attck.enterprise.techniques: print(technique.name) if __name__ == '__main__': main()
报错信息
运行脚本时抛出异常:
Traceback (most recent call last): File "/<path>/main.py", line 15, in <module> main() File "/<path>/main.py", line 8, in main for technique in attck.enterprise.techniques: File "/<path_venv>/lib/python3.10/site-packages/pyattck/attck.py", line 253, in enterprise from .enterprise import EnterpriseAttck File "/<path_venv>/lib/python3.10/site-packages/pyattck/enterprise.py", line 7, in <module> class EnterpriseAttck(Base): File "/<path_venv>/lib/python3.10/site-packages/pyattck/enterprise.py", line 42, in EnterpriseAttck __attck = MitreAttck(**Base.config.get_data("enterprise_attck_json")) File "/<path_venv>/lib/python3.10/site-packages/pyattck_data/attack.py", line 55, in __init__ raise te File "/<path_venv>/lib/python3.10/site-packages/pyattck_data/attack.py", line 53, in __init__ self.__attrs_init__(**kwargs) File "<attrs generated init pyattck_data.attack.MitreAttck>", line 14, in __attrs_init__ File "/<path_venv>/lib/python3.10/site-packages/pyattck_data/attack.py", line 66, in __attrs_post_init__ raise te File "/<path_venv>/lib/python3.10/site-packages/pyattck_data/attack.py", line 62, in __attrs_post_init__ data = TYPE_MAP.get(item['type'])(**item) TypeError: 'NoneType' object is not callable
疑问
- 问题出在哪里?
- 是否遗漏了导入内容?
- 该模块其他版本是否可正常使用?
更新说明
该问题源于MITRE ATT&CK新增了部分特性,当前使用的pyattck版本未适配这些新特性,导致无法正常解析数据。相关问题已在项目仓库提交。
内容的提问来源于stack exchange,提问作者A.Casanova
相关产品推荐
相关产品推荐

