fast-browser-use
中风险 · 64 评分:64/100
作者:rknoche6 | 审计时间:2026-02-05T09:18:25.242Z | 规则集:0.1.0
技能介绍
High-performance browser automation for heavy scraping, multi-tab management, and precise DOM extraction. Use this when you need speed, reliability, or advanced state management (cookies/local storag…
✨
--analyze-structure: Also extract page structure (headings, nav, sections, meta) ✨
--max-pages N: Limit structure analysis to N pages (default: 5) ✨
--max-sitemaps N: Limit sitemap parsing to N sitemaps (default: 10, useful for large sites) ✨ snapshot: Capture the raw HTML snapshot (YAML/Markdown optimized for AI).
✨ screenshot: Capture a visual image of the page.
✨ extract: Get structured data from the DOM.
✨ markdown: Convert the current page content to Markdown.
✨ sitemap: Analyze site structure via robots.txt, sitemaps, and page semantic analysis.
使用场景
1 navigate: Visit a specific URL.
2 wait: Pause execution or wait for specific conditions.
3 switch_tab: Switch focus to a specific tab.
4 close_tab: Close the current or specified tab.
5 press_key: Send specific keyboard events.
安全审计
中风险 · 64
摘要
High-performance browser automation for heavy scraping, multi-tab management, and precise DOM extraction. Use this when you need speed, reliability, or advanced state management (cookies/local storage) beyond standard web fetching.
风险画像
关键风险 0 项
暂无 LLM 风险要点(LLM 未启用或无缓存)。
确定性发现(证据)
| 规则 | 严重性 | 文件 | 片段 |
|---|---|---|---|
| DYNAMIC_EVAL | high | skills/rknoche6/fast-browser-use/src/dom/extract_dom.js 行 4 | (function () { |
| DYNAMIC_EVAL | high | skills/rknoche6/fast-browser-use/src/tools/convert_to_markdown.js 行 5 | (function () { |
| DYNAMIC_EVAL | high | skills/rknoche6/fast-browser-use/src/tools/convert_to_markdown.js 行 22 | var loadReadability = new Function( |
| DYNAMIC_EVAL | high | skills/rknoche6/fast-browser-use/src/tools/convert_to_markdown.js 行 58 | .forEach(function (el) { |
| DYNAMIC_EVAL | high | skills/rknoche6/fast-browser-use/src/tools/hover.js 行 2 | (function () { |
| DYNAMIC_EVAL | high | skills/rknoche6/fast-browser-use/src/tools/Readability.min.js 行 29 | function (e) { |
| DYNAMIC_EVAL | high | skills/rknoche6/fast-browser-use/src/tools/Readability.min.js 行 41 | let t = function (e) { |
| DYNAMIC_EVAL | high | skills/rknoche6/fast-browser-use/src/tools/Readability.min.js 行 44 | var t = Array.from(e.attributes || [], function (e) { |
| DYNAMIC_EVAL | high | skills/rknoche6/fast-browser-use/src/tools/Readability.min.js 行 49 | this.log = function () { |
| DYNAMIC_EVAL | high | skills/rknoche6/fast-browser-use/src/tools/Readability.min.js 行 59 | .call(arguments, function (e) { |
| DYNAMIC_EVAL | high | skills/rknoche6/fast-browser-use/src/tools/Readability.min.js 行 66 | } else this.log = function () {}; |
| DYNAMIC_EVAL | high | skills/rknoche6/fast-browser-use/src/tools/Readability.min.js 行 227 | e.map(function (e) { |
| DYNAMIC_EVAL | high | skills/rknoche6/fast-browser-use/src/tools/Readability.min.js 行 266 | (this._forEachNode(a, function (e) { |
| DYNAMIC_EVAL | high | skills/rknoche6/fast-browser-use/src/tools/Readability.min.js 行 291 | this._forEachNode(a, function (e) { |
| DYNAMIC_EVAL | high | skills/rknoche6/fast-browser-use/src/tools/Readability.min.js 行 298 | ((t = a.replace(this.REGEXPS.srcsetUrl, function (e, t, i, a) { |
| DYNAMIC_EVAL | high | skills/rknoche6/fast-browser-use/src/tools/Readability.min.js 行 351 | this._someNode(r, function (e) { |
| DYNAMIC_EVAL | high | skills/rknoche6/fast-browser-use/src/tools/Readability.min.js 行 381 | this._forEachNode(this._getAllNodesWithTag(e, ["br"]), function (e) { |
| DYNAMIC_EVAL | high | skills/rknoche6/fast-browser-use/src/tools/Readability.min.js 行 434 | (this._forEachNode(e.children, function (e) { |
| DYNAMIC_EVAL | high | skills/rknoche6/fast-browser-use/src/tools/Readability.min.js 行 435 | this._cleanMatchedNodes(e, function (e, t) { |
| DYNAMIC_EVAL | high | skills/rknoche6/fast-browser-use/src/tools/Readability.min.js 行 449 | this._removeNodes(this._getAllNodesWithTag(e, ["p"]), function (e) { |
| DYNAMIC_EVAL | high | skills/rknoche6/fast-browser-use/src/tools/Readability.min.js 行 456 | this._forEachNode(this._getAllNodesWithTag(e, ["br"]), function (e) { |
| DYNAMIC_EVAL | high | skills/rknoche6/fast-browser-use/src/tools/Readability.min.js 行 460 | this._forEachNode(this._getAllNodesWithTag(e, ["table"]), function (e) { |
| DYNAMIC_EVAL | high | skills/rknoche6/fast-browser-use/src/tools/Readability.min.js 行 673 | (this._forEachNode(a, function (e) { |
| DYNAMIC_EVAL | high | skills/rknoche6/fast-browser-use/src/tools/Readability.min.js 行 684 | this._forEachNode(e, function (e, t) { |
| DYNAMIC_EVAL | high | skills/rknoche6/fast-browser-use/src/tools/Readability.min.js 行 833 | (this._attempts.sort(function (e, t) { |
| DYNAMIC_EVAL | high | skills/rknoche6/fast-browser-use/src/tools/Readability.min.js 行 844 | this._someNode(G, function (e) { |
| DYNAMIC_EVAL | high | skills/rknoche6/fast-browser-use/src/tools/Readability.min.js 行 857 | .replace(/&(quot|amp|apos|lt|gt);/g, function (e, t) { |
| DYNAMIC_EVAL | high | skills/rknoche6/fast-browser-use/src/tools/Readability.min.js 行 860 | .replace(/&#(?:x([0-9a-f]+)|([0-9]+));/gi, function (e, t, i) { |
| DYNAMIC_EVAL | high | skills/rknoche6/fast-browser-use/src/tools/Readability.min.js 行 872 | this._forEachNode(e, function (e) { |
| DYNAMIC_EVAL | high | skills/rknoche6/fast-browser-use/src/tools/Readability.min.js 行 929 | .filter(function (e) { |
| DYNAMIC_EVAL | high | skills/rknoche6/fast-browser-use/src/tools/Readability.min.js 行 932 | .map(function (e) { |
| DYNAMIC_EVAL | high | skills/rknoche6/fast-browser-use/src/tools/Readability.min.js 行 959 | (this._forEachNode(i, function (e) { |
| DYNAMIC_EVAL | high | skills/rknoche6/fast-browser-use/src/tools/Readability.min.js 行 1035 | (this._forEachNode(e, function (e) { |
| DYNAMIC_EVAL | high | skills/rknoche6/fast-browser-use/src/tools/Readability.min.js 行 1050 | this._forEachNode(e, function (e) { |
| DYNAMIC_EVAL | high | skills/rknoche6/fast-browser-use/src/tools/Readability.min.js 行 1087 | !this._someNode(e.childNodes, function (e) { |
| DYNAMIC_EVAL | high | skills/rknoche6/fast-browser-use/src/tools/Readability.min.js 行 1106 | return this._someNode(e.childNodes, function (e) { |
| DYNAMIC_EVAL | high | skills/rknoche6/fast-browser-use/src/tools/Readability.min.js 行 1149 | this._forEachNode(e.getElementsByTagName("a"), function (e) { |
| DYNAMIC_EVAL | high | skills/rknoche6/fast-browser-use/src/tools/Readability.min.js 行 1174 | this._removeNodes(this._getAllNodesWithTag(e, [t]), function (e) { |
| DYNAMIC_EVAL | high | skills/rknoche6/fast-browser-use/src/tools/Readability.min.js 行 1225 | : ["col", "colgroup", "tfoot", "thead", "th"].some(function (e) { |
| DYNAMIC_EVAL | high | skills/rknoche6/fast-browser-use/src/tools/Readability.min.js 行 1242 | function (e) { |
| DYNAMIC_EVAL | high | skills/rknoche6/fast-browser-use/src/tools/Readability.min.js 行 1244 | var t = this.REGEXPS.b64DataUrl.exec(e.src); |
| DYNAMIC_EVAL | high | skills/rknoche6/fast-browser-use/src/tools/Readability.min.js 行 1295 | this._removeNodes(this._getAllNodesWithTag(e, [T]), function (e) { |
| DYNAMIC_EVAL | high | skills/rknoche6/fast-browser-use/src/tools/Readability.min.js 行 1412 | this._removeNodes(e, function (e) { |
| DYNAMIC_EVAL | high | skills/rknoche6/fast-browser-use/src/tools/scroll.js 行 1 | (async function () { |
| DYNAMIC_EVAL | high | skills/rknoche6/fast-browser-use/src/tools/select.js 行 2 | (function () { |
| QUALITY_README_PRESENT | low | README 行 无 | README detected |
| QUALITY_LOCKFILE_PRESENT | low | lockfile 行 无 | Lockfile detected |
| QUALITY_TESTS_PRESENT | low | tests 行 无 | Tests directory detected |