跳转到正文
报告库
用途分类 / 数据分析

Flutter Add Widget Test Skill 安全审计

作者说它能做什么(原文)

Implement a component-level test using `WidgetTester` to verify UI rendering and user interactions (tapping, scrolling, entering text). Use when validating that a specific widget displays correct data and responds to events as expected.

第三方安全检查结论

发现安全风险

已检查文件
1
发现的风险
1
会不会运行危险命令?检查是否下载程序后直接运行、让他人远程控制电脑,或藏起要运行的命令。未发现风险
会不会泄露文件和密钥?检查是否发送含密码或密钥的文件,以及代码里是否直接写了密钥。未发现风险
会不会删除文件或一直在后台运行?检查是否大范围删除文件、改写磁盘,或设置自动启动。发现 1 项风险
中风险

测试失败时可能修改生产组件逻辑

原文依据:3 处
发现了什么

该 Skill 的声明目标是实现组件测试,但反馈循环明确允许为了通过测试而“调整组件逻辑”,没有要求先确认失败来自产品缺陷,也没有把修改范围限制在测试文件内。

为什么需要注意

代理可能在用户只要求添加测试时改动 `lib/` 中的应用行为;这可能掩盖错误测试、改变真实界面或交互,并产生超出授权范围的持久代码变更。

该 Skill 的用途是编写组件级测试,但实际工作流在测试失败后允许“调整组件逻辑或测试断言”。如果代理把失败直接归因于组件,它可能修改 lib/ 等生产代码,改变应用行为,而不只是添加测试。用户可要求作者将默认写入范围限制为 test/,并规定修改组件逻辑前必须说明缺陷依据并取得明确同意。

SKILL.md:46来自说明文档打开原文件
- [ ] **Step 8: Run and validate.** Execute `flutter test test/your_test_file_test.dart`.- [ ] **Step 9: Feedback Loop.** Review test output -> identify failing matchers -> adjust widget logic or test assertions -> re-run until passing.
查看另外 2 个位置
SKILL.md:3来自说明文档打开原文件
name: flutter-add-widget-testdescription: Implement a component-level test using `WidgetTester` to verify UI rendering and user interactions (tapping, scrolling, entering text). Use when validating that a specific widget displays correct data and responds to events as expected.metadata:
SKILL.md:45来自说明文档打开原文件
- [ ] **Step 7: Verify updated state.** Use `expect()` to validate the UI after the interaction.- [ ] **Step 8: Run and validate.** Execute `flutter test test/your_test_file_test.dart`.- [ ] **Step 9: Feedback Loop.** Review test output -> identify failing matchers -> adjust widget logic or test assertions -> re-run until passing.
会不会绕过安全保护?检查是否跳过网站安全验证、开放过多文件权限,或取消操作前的确认。未发现风险
会不会误导 AI 或隐藏内容?检查工作说明是否要求 AI 忽略你的指令、干扰检查结果,或夹带看不见的文字。未发现风险
会不会偷偷改推广链接或收款方?检查是否强制替换推广链接或收款对象,同时要求隐瞒更改。未发现风险

Skill 逻辑拆解

6 个说明模块

该 Skill 指导代理在 Flutter 项目中添加 `flutter_test` 开发依赖,并把新测试文件写入项目根目录的 `test/` 目录。

查看原文
SKILL.md:21来自说明文档打开原文件
1. Add the `flutter_test` dependency to the `dev_dependencies` section of `pubspec.yaml`.2. Place all test files in the `test/` directory at the root of the project.3. Suffix all test file names with `_test.dart` (e.g., `widget_test.dart`).

测试流程会渲染组件、查找界面元素、模拟交互、等待状态更新,并对交互前后的界面状态作断言。

查看原文
SKILL.md:38来自说明文档打开原文件
### Task Progress- [ ] **Step 1: Define the test.** Use `testWidgets('description', (WidgetTester tester) async { ... })`.- [ ] **Step 2: Build the widget.** Call `await tester.pumpWidget(MyWidget())` to render the UI. Wrap the widget in a `MaterialApp` or `Directionality` widget if it requires inherited directional or theme data.- [ ] **Step 3: Locate elements.** Instantiate `Finder` objects for the target widgets.- [ ] **Step 4: Verify initial state.** Use `expect(finder, matcher)` to validate the initial render.- [ ] **Step 5: Simulate interactions.** Execute gestures or inputs (e.g., `await tester.tap(buttonFinder)`).- [ ] **Step 6: Rebuild the tree.** Call `await tester.pump()` or `await tester.pumpAndSettle()` to process state changes.- [ ] **Step 7: Verify updated state.** Use `expect()` to validate the UI after the interaction.- [ ] **Step 8: Run and validate.** Execute `flutter test test/your_test_file_test.dart`.

该 Skill 要求执行指定的 Flutter 测试命令,并根据失败输出反复调整后重跑。

查看原文
SKILL.md:45来自说明文档打开原文件
- [ ] **Step 7: Verify updated state.** Use `expect()` to validate the UI after the interaction.- [ ] **Step 8: Run and validate.** Execute `flutter test test/your_test_file_test.dart`.- [ ] **Step 9: Feedback Loop.** Review test output -> identify failing matchers -> adjust widget logic or test assertions -> re-run until passing.
从这里开始 · 工作说明SKILL.md
flutter-add-widget-test
连线表示工作说明包含的模块,不是实际运行顺序。点击模块可查看原文。
文件与检查记录1 个文件

检查范围与遗漏

逐文件查看涉及的内容

下方列出本次涉及的原文范围;纳入检查不代表已查清所有问题。

  • SKILL.md已纳入全文

这份报告只针对上方版本。我们看了拿到的代码和说明文件,没有实际运行 Skill,也没有检查它另外安装的软件包。因此,这不是“保证安全”的承诺;换了版本或使用环境,结果也可能不同。

  • SKILL.md工作说明
读取了多少行
155
文件校验值(用于核对版本)
bf997b3debc77cc992b332b3ffc6909a2415a682ae87a007e024cad05a0a85eb