コード例 #1
0
    async def update_case(self, case_id, url, api_key, title=None, description=None, tlp=None, severity=None,
                          tags=None, tags_mode="append"):

        self.logger.info(f'Updating case {case_id} in TheHive...')

        if not url.startswith("http"):
            url = f"http://{url}"

        api = TheHiveApi(url, api_key)
        case_helper = CaseHelper(api)

        case_kwargs = {}
        if title:
            case_kwargs["title"] = title
        if description:
            case_kwargs["description"] = description
        if tlp:
            case_kwargs["tlp"] = tlp
        if severity:
            case_kwargs["severity"] = severity
        if tags is not None:
            if tags_mode == "append":
                tags = case_helper(case_id).tags + tags
            case_kwargs["tags"] = tags

        return case_helper.update(case_id, **case_kwargs).id
コード例 #2
0
ファイル: app.py プロジェクト: yongquanf/WALKOFF
    async def close_case(self,
                         case_id,
                         url,
                         api_key,
                         resolution_status,
                         impact_status,
                         summary,
                         tags=None,
                         tags_mode="append"):
        self.logger.info(f'Closing case {case_id} in TheHive...')

        if not url.startswith("http"):
            url = f"http://{url}"

        api = TheHiveApi(url, api_key)
        case_helper = CaseHelper(api)

        case_kwargs = {
            "status": "Resolved",
            "resolutionStatus": resolution_status,
            "impactStatus": impact_status,
            "summary": summary
        }

        if tags is not None:
            if tags_mode == "append":
                tags = case_helper(case_id).tags + tags
            case_kwargs["tags"] = tags

        return case_helper.update(case_id, **case_kwargs).id