Python 3.8 引入了 PEP 578 -- Python Runtime Audit Hooks它 promise “使 Python 运行时采取的操作对审计工具可见。”
此 pep 提供了一些用例,这些用例似乎主要与系统管理员、安全专业人员和测试框架贡献者相关。但是,据我所知,这需要对所选的 python 实现进行一些自定义选项。但是,我无法在网上找到太多记录如何设置这些选项或哪些选项可用于在哪个实现中实现的信息。
如何开始在 cpython 中使用这些钩子(Hook)?当前可用的所有 Hook 的完整列表在哪里(不建议实现)?
最佳答案
Where is a complete list of all the hooks currently available?
https://docs.python.org/3/library/audit_events.html
How do I get started using these hooks in cpython?
您可以从编写自己的钩子(Hook)开始并研究一些函数。 这是对受 Dev life blog article 启发的代码动态初始化(code.__new 事件)的审计。 您可以根据自己的需要随意操纵它。
def audit(event, args):
if event == 'code.__new__':
print(f'audit: {event} with args={args}')
sys.addaudithook(audit)
关于python - 如何设置和使用 python 审计 Hook ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63350394/