T09 · Insecure Skill Coding Practices
- Location
scripts/交易记录.py:121- Finding
Untrusted spreadsheet data is written as executable formulas
- Content
View full analysis
2 else None, # 收入(贷方) convert_value(row[1]) if len(row) > 1 else None, # 支出(借方) convert_value(row[3]) if len(row) > 3 else None, # 余额 row[6] if len(row) > 6 else '' # 账号/摘要 ]) ``` ```python # scripts/交易记录.py:342-346 else: for j, val in enumerate(row, 1): # 把 0 改为 None(显示为空) if val == 0: val = None cell = ws_print.cell(row=i, column=j, value=val) ``` ```python # scripts/生成账目.py:405-426 row_num = ws.max_row + 1 if row_data['balance_formula']: balance_val = row_data['balance_formula'] else: # 所有行都用公式:=上期 + 本行收入 - 本行支出 balance_val = f'=A{row_num-1}+F{row_num}-G{row_num}' row = [ balance_val, # A 列:余额 row_data['date'], # B 列:发生日期 row_data['cat1'], # C 列:分类 1 row_data['cat2'], # D 列:分类 2 row_data['cat3'], # E 列:分类 3 row_data['income'], # F 列:收入金额 row_data['expense'], # G 列:支出金额 h_value, # H 列:应付/应收/预收 row_data['note'], # I 列:备注 row_data['student'], # J 列:学员/单位 row_data['acco ...[truncated 2515 chars]- Remediation
View remediation
