WTCLOSE1 收口测试号全域证据 dry-run
这个提交包含在:
@@ -107,6 +107,8 @@ write_manual_checklist() {
|
||||
- C:必须申请人手选审批人。
|
||||
- D:当前看不到或模板未配置。
|
||||
|
||||
小团队默认规则:公司不到 10 人,按一层直属主管或指定审批角色自动带出审批人;主管链缺失、审批人不可见/停用/未绑定或命中自审时,由管理员兜底或阻断。当前目标按 A 执行,B/C/D 均视为阻断 WEXT1-LIVE 和 WREAL1 的 finding。
|
||||
|
||||
需要记录的字段:模板入口、适用范围、审批人规则、是否允许申请人手选、是否可能自审、主管链缺失时表现、审批人不可见或停用时表现。
|
||||
|
||||
边界:不要记录 Secret、token、EncodingAESKey、完整 userid、完整审批单号、完整 template_id、表单值、附件、评论或原始 payload。
|
||||
@@ -115,7 +117,10 @@ EOF
|
||||
|
||||
run_privacy_smoke() {
|
||||
local sensitive_pattern='access_token=[A-Za-z0-9._-]{8,}|1[3-9][0-9]{9}|[[:alnum:]._%+-]+@[[:alnum:].-]+\.[[:alpha:]]{2,}|-----BEGIN|BEGIN [A-Z ]*KEY|"((token|secret|password|EncodingAESKey|encodingAESKey|sp_no|spNo|template_id|templateId|userid|userId|external_userid|externalUserId|external_user_id))"[[:space:]]*:[[:space:]]*"[^"*]{8,}"|\b20[0-9]{12,}\b|"(raw|rawPayload|raw_payload|payload|xml|ciphertext|Encrypt|formValue|formValues|attachments|comments)"[[:space:]]*:'
|
||||
if grep -RInE "$sensitive_pattern" "$REPORT_DIR"; then
|
||||
local matches
|
||||
matches="$(grep -RInE "$sensitive_pattern" "$REPORT_DIR" | grep -vE 'HRWDTEST-[0-9]{14}' || true)"
|
||||
if [[ -n "$matches" ]]; then
|
||||
printf '%s\n' "$matches"
|
||||
log "[wauto1][FAIL] privacy smoke matched sensitive pattern"
|
||||
STATUS=1
|
||||
else
|
||||
@@ -227,7 +232,7 @@ const manualGates = [
|
||||
id: "WAPPR1",
|
||||
status: "PENDING_MANUAL_CONFIRMATION",
|
||||
owner: "HYD000006",
|
||||
requiredEvidence: "请假、补卡、外出、加班逐模板审批人自动化选项 A/B/C/D",
|
||||
requiredEvidence: "请假、补卡、外出、加班逐模板均达到 A;小团队采用一层主管/指定审批角色 + 管理员兜底",
|
||||
},
|
||||
{
|
||||
id: "WEXT1-LIVE",
|
||||
|
||||
在新工单中引用
屏蔽一个用户