Browse Source

fix: adhoc execute alert msg

pull/14292/head
wangruidong 1 month ago committed by Bryan
parent
commit
b7362d3f51
  1. 5
      apps/ops/ansible/runner.py
  2. 10
      apps/ops/models/job.py

5
apps/ops/ansible/runner.py

@ -40,9 +40,10 @@ class AdHocRunner:
def check_module(self):
if self.module not in self.cmd_modules_choices:
return
if self.module_args and self.module_args.split()[0] in settings.SECURITY_COMMAND_BLACKLIST:
command = self.module_args
if command and set(command.split()).intersection(set(settings.SECURITY_COMMAND_BLACKLIST)):
raise CommandInBlackListException(
"Command is rejected by black list: {}".format(self.module_args.split()[0]))
"Command is rejected by black list: {}".format(self.module_args))
def set_local_connection(self):
if self.job_module in self.need_local_connection_modules_choices:

10
apps/ops/models/job.py

@ -481,6 +481,16 @@ class JobExecution(JMSOrgBaseModel):
for acl in acls:
if self.match_command_group(acl, asset):
break
command = self.current_job.args
if command and set(command.split()).intersection(set(settings.SECURITY_COMMAND_BLACKLIST)):
CommandExecutionAlert({
"assets": self.current_job.assets.all(),
"input": self.material,
"risk_level": RiskLevelChoices.reject,
"user": self.creator,
}).publish_async()
raise CommandInBlackListException(
"Command is rejected by black list: {}".format(self.current_job.args))
def check_danger_keywords(self):
lines = self.job.playbook.check_dangerous_keywords()

Loading…
Cancel
Save