コード例 #1
0
 async def _create_detection_operation(self, red_op_name, red_op_id,
                                       red_op_access):
     planner = (await self.get_service('data_svc').locate(
         'planners', match=dict(name='atomic')))[0]
     adversary_id = self.get_config(prop='adversary', name='gameboard')
     adversary = (await self.data_svc.locate(
         'adversaries', match=dict(adversary_id=adversary_id)))[0]
     obj = (await self.data_svc.locate('objectives',
                                       match=dict(name='default')))[0]
     agent = Agent(0, 0, 0, paw='gameboard_detection')
     access = self.Access.BLUE
     detection_operation = Operation(name=red_op_name + '_' +
                                     str(red_op_id) +
                                     self.blue_op_name_modifier,
                                     agents=[agent],
                                     adversary=adversary,
                                     access=access,
                                     planner=planner,
                                     group='blue')
     detection_operation.objective = obj
     detection_operation.set_start_details()
     return [await self.data_svc.store(detection_operation)]
コード例 #2
0
ファイル: test_operation.py プロジェクト: w4rguy/caldera
def op_with_learning_and_seeded(ability, adversary, operation_agent,
                                parse_datestring):
    sc = Source(id='3124',
                name='test',
                facts=[Fact(trait='domain.user.name', value='bob')])
    op = Operation(id='6789',
                   name='testC',
                   agents=[],
                   adversary=adversary,
                   source=sc,
                   use_learning_parsers=True)
    # patch operation to make it 'realistic'
    op.start = parse_datestring(OP_START_TIME)
    op.adversary = op.adversary()
    op.planner = Planner(planner_id='12345',
                         name='test_planner',
                         module='not.an.actual.planner',
                         params=None)
    op.objective = Objective(id='6428', name='not_an_objective')
    t_operation_agent = operation_agent
    t_operation_agent.paw = '123456'
    op.agents = [t_operation_agent]
    return op