안녕하세요 DEV 커뮤니티! ? Python의 강력한 기능과 최신 React 프런트엔드를 결합한 오픈 소스 웹 보안 테스트 도구인 HackHound라는 최신 프로젝트를 공유하게 되어 기쁩니다. 이번 게시물에서는 개발 중에 직면한 아키텍처, 주요 기능 및 몇 가지 흥미로운 문제에 대해 안내해 드리겠습니다.
사용 가능한 보안 테스트 도구는 많지만 대부분 다음 중 하나를 발견했습니다.
HackHound는 웹 보안 테스트에 대한 간소화되고 시각적인 접근 방식을 제공하여 이러한 문제를 해결하는 것을 목표로 합니다.
@app.post("/fuzz") async def fuzz(data: FuzzRequest): results = {} if actions.get("fuzz_directory"): results["directories"] = run_directory_fuzzing(url) if actions.get("fuzz_subdomain"): results["subdomains"] = run_subdomain_fuzzing(domain) # More fuzzing modes... return results
const FuzzingProgress = () => { const [progress, setProgress] = useState(0); useEffect(() => { socket.on('fuzz_progress', (data) => { setProgress(data.progress); }); }, []); return <ProgressBar value={progress} />; };
주요 과제 중 하나는 클라이언트 시간 초과 없이 장기간 실행되는 보안 테스트를 관리하는 것이었습니다. 저는 다음 조합을 사용하여 이 문제를 해결했습니다.
async def stream_results(test_generator): async for result in test_generator: yield { "status": "in_progress", "current_result": result }
책임감 있는 테스트를 보장하기 위해 다음을 구현했습니다.
def validate_target(url: str) -> bool: # Check if target is in scope # Verify rate limits # Ensure safe mode compliance return is_valid
개발 환경 표준화를 위해 Daytona를 사용했습니다:
{ "name": "HackHound Dev Environment", "dockerFile": "Dockerfile", "forwardPorts": [5173, 5000], "postCreateCommand": "npm install && pip install -r requirements.txt" }
몇 가지 흥미로운 기능을 계획하고 있습니다.
이 프로젝트는 오픈 소스이며 GitHub: HackHound Repository에서 사용할 수 있습니다
시작하려면:
@app.post("/fuzz") async def fuzz(data: FuzzRequest): results = {} if actions.get("fuzz_directory"): results["directories"] = run_directory_fuzzing(url) if actions.get("fuzz_subdomain"): results["subdomains"] = run_subdomain_fuzzing(domain) # More fuzzing modes... return results
기여를 환영합니다! 여부:
이슈를 자유롭게 공개하고 PR을 제출하세요!
HackHound 구축은 최신 웹 개발과 보안 테스트를 결합하는 흥미로운 여정이었습니다. 여러분의 생각과 제안을 듣고 싶습니다!
비슷한 도구를 만들어 본 적이 있나요? 어떤 어려움에 직면했습니까? 아래 댓글에서 토론해 보세요! ?
더 많은 보안 및 웹 개발 콘텐츠를 보려면 저를 팔로우하세요!
깃허브 | 트위터 | 링크드인
위 내용은 HackHound: React와 Python을 사용하여 최신 웹 보안 테스트 도구 구축의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!