
Faraday Agent Dispatcher는 모든 보안 도구를 실행하고 결과를 Faradaysec 플랫폼으로 전송합니다.
Faraday Agents Dispatcher는 사용자가 Faraday와의 통합을 어떤 언어로든 개발할 수 있도록 도와줍니다.
pip3 install faraday_agent_dispatcher를 실행하기만 하면 시스템에서 faraday-dispatcher 명령을 볼 수 있습니다.
개발 환경을 설정하려면 (즉, 디스패처 자체의 코드를 변경하려는 경우, 자체 통합을 작성하기 위한 것이 아님) 이 저장소를 클론하고 pip install -e .를 실행해야 합니다.
faraday-dispatcher config-wizard를 실행하여 구성 파일을 생성합니다.
faraday-dispatcher run 명령으로 에이전트를 실행합니다. 사용자 지정 경로를 전달하지 않으면 생성되는 구성 파일은 ~/.faraday/config/dispatcher.ini에 위치합니다.
http://localhost:5985/#/admin/agents에 있는 등록 토큰으로 에이전트 구성을 완료해야 합니다. 서버 섹션에 Faraday Server 인스턴스에 대한 올바른 정보가 있는지 확인하십시오. 그런 다음 에이전트 섹션에 원하는 에이전트 이름을 입력합니다. 마지막으로 executor를 추가하세요.
executor는 한 줄짜리 JSON 데이터를 stdout으로 출력하는 스크립트입니다. stdout에 다른 데이터를 출력하면 디스패처가 오류를 발생시킨다는 점을 기억하세요. 디버깅 또는 로깅 정보를 출력하려면 stderr를 사용해야 합니다.
executor가 stdout에 작성하는 모든 줄은 디스패처에 의해 디코딩되어 Bulk Create 엔드포인트를 통해 Faraday로 전송됩니다. 따라서 출력하는 JSON은 엔드포인트가 요구하는 스키마를 가져야 합니다 (이 스키마는 아래에 자세히 설명되어 있습니다). 그렇지 않으면 잘못된 데이터를 제공했기 때문에 디스패처가 오류를 표시할 것입니다.
executor를 디버깅하려면 디스패처와 함께 실행하는 대신 직접 실행하는 것이 가장 간단한 방법입니다. executor는 stdout에 JSON 데이터만 출력하므로 Faraday로 보내려는 모든 정보를 실제로 보내지 않고도 확인할 수 있습니다.
executor를 작성한 후에는 faraday-dispatcher config-wizard를 사용하여 executor 섹션에 이름, 실행할 명령, Faraday Server로 보낼 JSON의 최대 크기를 추가해야 합니다. 또한 해당 섹션에서 환경 변수와 인자를 구성할 수 있습니다.
executor를 실행하려면 faraday-dispatcher config-wizard 명령을 사용하고 Faraday Server에서 실행하십시오. executor는 설정된 환경 변수를 사용하고 인자를 요청합니다.
faraday에 게시되는 데이터는 Faraday의 REST API의 bulk_create 엔드포인트에 해당해야 합니다.
하나 이상의 디스패처를 사용하고 각각 고유한 executor를 실행하려면 각각에 대해 서로 다른 구성 파일을 만드는 것이 좋습니다 (예: ~/.faraday/config/dispatcher-1.ini 및 ~/.faraday/config/dispatcher-2.ini). 그런 다음 faraday-dispatcher --config-file PATH_TO_A_CONFIG_FILE로 두 개의 서로 다른 디스패처 인스턴스를 실행할 수 있습니다.
executors 디렉토리 안에서 이미 생성된 executor를 찾을 수 있습니다.
공식 executor는 (위저드와의 최소 구성으로) 바로 사용할 수 있는 executor 모음입니다. 이들은 executor의 용도에 대한 세부 정보를 제공하고 구성에 도움이 되는 manifest JSON 파일을 가지고 있습니다.
현재 공식 executors는 다음과 같습니다:
개발 중인 executor는 우리가 완전히 유지 관리하지 않는 executor 모음으로, 사용 예제, 개념 및 개발 중인 executor가 포함되어 있습니다. 그중 가장 중요한 것은 다음과 같습니다:
현재 우리는 에이전트 사용 경험을 개선하는 것 외에도 새로운 executor를 작업 중입니다.
일부 에이전트에게 작업 공간에 대한 읽기 액세스 권한을 부여하여 기존 데이터를 활용해 더 가치 있는 정보를 찾을 수 있게 하고 싶습니다.
자세한 내용은 문서를 확인하세요.