Orange-Cyberdefense / arsenal

Arsenal is just a quick inventory and launcher for hacking programs

Repository from Github https://github.comOrange-Cyberdefense/arsenalRepository from Github https://github.comOrange-Cyberdefense/arsenal

AttributeError: 'str' object has no attribute 'keys' during YAML parsing

KumpunPy opened this issue · comments

Hi.

I unintended deleted the folder "arsenal/data/cheats" and I created the folder back, then running the tool, I got this error:

Traceback (most recent call last):
  File "/opt/homebrew/bin/arsenal", line 8, in <module>
    sys.exit(main())
             ^^^^^^
  File "/opt/homebrew/lib/python3.11/site-packages/arsenal/app.py", line 185, in main
    App().run()
  File "/opt/homebrew/lib/python3.11/site-packages/arsenal/app.py", line 58, in run
    cheatsheets = cheat.Cheats().read_files(config.CHEATS_PATHS, config.FORMATS,
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/lib/python3.11/site-packages/arsenal/modules/cheat.py", line 445, in read_files
    parsers[file_format](str(entry.absolute()))
  File "/opt/homebrew/lib/python3.11/site-packages/arsenal/modules/cheat.py", line 224, in parse_yaml
    if all(item in tool.keys() for item in required_fields):
       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/lib/python3.11/site-packages/arsenal/modules/cheat.py", line 224, in <genexpr>
    if all(item in tool.keys() for item in required_fields):
                   ^^^^^^^^^
AttributeError: 'str' object has no attribute 'keys'

Is there any solution?