diff --git a/README.md b/README.md index ba08865..ce0f841 100644 --- a/README.md +++ b/README.md @@ -16,4 +16,45 @@ venv와 패키지가 설치가 됩니다. uv run main.py ``` -이러면 http(s)://localhost:11080로 서버가 열리게 됩니다. \ No newline at end of file +이러면 http(s)://localhost:11080로 서버가 열리게 됩니다. + +# 기여 방법 + +`./addon/init.py` +```py +from example_check import Example + +class LoggerAddon: + def __init__(self): + self.checker = Example() + + def request(self, flow: http.HTTPFlow): # 비동기가 필요할 경우 async def로 할 것 + self.checker.test(flow) + def response(self, flow: http.HTTPFlow): # 비동기가 필요할 경우 async def로 할 것 + self.checker.test(flow) + +``` + +`./addon/example.py` +```py +import lib.target as target +from lib.report import save_report + +class Example: + async def test(self, flow): + req = flow.request + method = req.method + url = req.pretty_url + + # data/report.csv에 저장 + report_data = [{ + 'target': target.load(), + 'status': "CRITICAL", + 'title': "PKCE Downgrade Vulnerability", + 'description': "PKCE downgrade vulnerability detected! Both URLs returned authorization code.", + 'uri': f"Original: {url}\nDowngraded: {downgraded_url}" + }] + save_report(report_data) +``` + +이러한 예제를 참고하여 작성하여주세요. \ No newline at end of file