由于传播、利用本公众号所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,公众号及作者不为此承担任何责任,一旦造成后果请自行承担!如有侵权烦请告知,我们会立即删除并致歉。谢谢!所有工具安全性自测!!!
VX:dawn19691029
汇报人:8eeth0ven 时间:2025.04.19

01|OpenManus自动化渗透(二)自定义Tools
01
OpenManus-工作流程
Main.py -> app/agent/manus.py
Toolcall.py 中查找

寻找流程


浏览器行为定义

Manus.py 中 默认工厂的定义
PythonExecute(), BrowserUseTool(), StrReplaceEditor(), Terminate()

字符替换操作 StrReplaceEditor

Python 执行
PythonExecute 定义可执行函数

__builtins__
类型:这是一个模块对象,包含内置功能(例如,print(), len(), int, 和异常等),以及一些其他属性(如 __name__, __doc__)。
使用场景:通常在代码中直接引用内置函数。例如可以使用 len() 来获取列表的长度。这些函数不需要显式引用 __builtins__,因为它们在全局命名空间中扫描时是可用的。
__builtins__.__dict__
类型:这是一个字典,包含了模块内所有的属性(如函数、类型、异常和基本对象),它的结构可以在代码中进行直接引用并操作。
内容:字典会提供所有内置函数及其相应的定义,像一个映射表,当代码执行时,可以让 Python 解释器查找相应的功能。
copy() 方法的作用:
通过调用 copy() 方法,得到的是 __builtins__.__dict__ 的一个副本。这意味着任何对这个副本的修改都不会影响到原始的 __builtins__ 模块。
在执行动态代码时,使用这种副本可以降低潜在的风险,确保执行的代码不会影响到原有的内置功能。
综合比较
类型:
__builtins__ 是一个模块对象,而 __builtins__.__dict__.copy() 是一个字典副本。
安全性:使用 .copy() 会使得传递到执行代码的内容在一定程度上被隔离,这样不会改变原来的内置定义,增强了代码执行的安全性。
用途:__builtins__ 模块可以方便地访问所有内置功能,而字典可以用于直接操作和限制代码对内置设施的访问。
终止交互 Terminate

浏览器操作BrowserUseTool 最复杂信息检索UI信息收集最有用的一个工具

Moonlight

02|工具使用/自定义tools
02
OpenManus-源码的理解执行

Moonlight
说明
欢迎师傅加我微信,分享国家护网/攻防演练漏洞poc/Src挖掘 交流
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论