dingtalk-attendance
Warn
Audited by Gen Agent Trust Hub on Jul 20, 2026
Risk Level: MEDIUMCOMMAND_EXECUTIONREMOTE_CODE_EXECUTIONEXTERNAL_DOWNLOADS
Full Analysis
- [COMMAND_EXECUTION]: Multiple scripts, including
attendance_my_record.pyandattendance_team_shift.py, usesubprocess.runto execute thedwsCLI tool. These calls are implemented using list-based arguments which mitigates shell injection risks. Date parameters are validated using regular expressions before being passed to the command line. - [REMOTE_CODE_EXECUTION]: The module
attendance_report_common.pycontains a function that attempts to dynamically install thePillowlibrary from PyPI usingsubprocess.check_call([sys.executable, '-m', 'pip', 'install', 'Pillow'])if the dependency is not found at runtime. This represents dynamic code loading and execution. - [EXTERNAL_DOWNLOADS]: The
attendance_report_common.pyscript uses therequestslibrary to fetch images from URLs (e.g.,photoUrl,remarkPhoto) found within DingTalk attendance records. These images are processed and embedded into Excel reports. This creates an indirect ingestion surface where malicious data in the source system could trigger network requests. - [DATA_EXFILTRATION]: The skill is designed to export sensitive organizational data (attendance logs, user IDs, location data, and photos) into local Excel files. While this is the primary functionality of the skill, the
attendance_report_record.pyscript specifically constructsdingtalk://deep links containing internal identifiers likecorp_idandprocess_instance_id. - [PROMPT_INJECTION]: The skill processes untrusted data from DingTalk API outputs without explicit sanitization or boundary markers. Specifically, in
attendance_report_common.py, URLs retrieved from API responses are directly passed torequests.get, posing a risk of tool output poisoning if the source data is compromised.
Audit Metadata