{"version": "2.1.0", "$schema": "https://json.schemastore.org/sarif-2.1.0.json", "runs": [{"tool": {"driver": {"name": "Repobility", "informationUri": "https://repobility.com", "rules": [{"id": "scanner-8a7875e193f814d2", "name": "SkillSpector E1 (data-exfil) in .github/workflows/translation-ai-check.yml", "shortDescription": {"text": "SkillSpector E1 (data-exfil) in .github/workflows/translation-ai-check.yml"}, "fullDescription": {"text": "curl -sS -X POST \\\n            -H \"Authorization: token $GITHUB_TOKEN\" \\\n            -H \"Content-Type: application/json\" \\\n            \"https://api.github.com/repos/${{ github.repository }}/issues/$PR\n\nData is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.\n\nSkill: unknown\nRule: E1  Category: data-exfil\nSeverity: MEDIUM  Confidence: 0.60\n\nRemediation: Verify the destination URL is trusted and necessary. Remove or replace with documented APIs. Ensure no secrets, tokens, or PII are transmitted."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 0.6}}, {"id": "scanner-c5d54dc08a32792c", "name": "SkillSpector E4 (data-exfil) in src/xwayland/XWM.cpp", "shortDescription": {"text": "SkillSpector E4 (data-exfil) in src/xwayland/XWM.cpp"}, "fullDescription": {"text": "send state to\n\nCode or instructions that leak agent conversation context to external services, potentially exposing sensitive user interactions.\n\nSkill: unknown\nRule: E4  Category: data-exfil\nSeverity: HIGH  Confidence: 0.80\n\nRemediation: Remove any code that sends prompts, responses, or session data externally. Preserve user privacy; never exfiltrate conversation content."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 0.8}}, {"id": "scanner-232d6bfc503b3685", "name": "SkillSpector EA2 (excessive-agency) in .github/actions/setup_base/action.yml", "shortDescription": {"text": "SkillSpector EA2 (excessive-agency) in .github/actions/setup_base/action.yml"}, "fullDescription": {"text": "--noconfirm\n\nSkill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.\n\nSkill: unknown\nRule: EA2  Category: excessive-agency\nSeverity: MEDIUM  Confidence: 0.65\n\nRemediation: Add human-in-the-loop confirmation for destructive, irreversible, or high-impact operations. Never auto-execute commands that modify files, send data, or alter system state."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 0.65}}, {"id": "scanner-de0e1a552797222f", "name": "SkillSpector EA2 (excessive-agency) in .github/workflows/ci.yaml", "shortDescription": {"text": "SkillSpector EA2 (excessive-agency) in .github/workflows/ci.yaml"}, "fullDescription": {"text": "--noconfirm\n\nSkill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.\n\nSkill: unknown\nRule: EA2  Category: excessive-agency\nSeverity: MEDIUM  Confidence: 0.65\n\nRemediation: Add human-in-the-loop confirmation for destructive, irreversible, or high-impact operations. Never auto-execute commands that modify files, send data, or alter system state."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 0.65}}, {"id": "scanner-371d312b6c24978e", "name": "SkillSpector EA3 (excessive-agency) in CODE_OF_CONDUCT.md", "shortDescription": {"text": "SkillSpector EA3 (excessive-agency) in CODE_OF_CONDUCT.md"}, "fullDescription": {"text": "not limited to\n\nSkill's behavior or capabilities extend beyond its stated purpose. Scope creep allows an agent to perform actions unrelated to its documented functionality, increasing the attack surface.\n\nSkill: unknown\nRule: EA3  Category: excessive-agency\nSeverity: LOW  Confidence: 0.70\n\nRemediation: Limit the skill's scope to its documented purpose. Remove instructions that enable the agent to perform actions outside its stated functionality."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "low", "confidence": 0.7}}, {"id": "scanner-f3321f3de07fb846", "name": "SkillSpector EA3 (excessive-agency) in LICENSE", "shortDescription": {"text": "SkillSpector EA3 (excessive-agency) in LICENSE"}, "fullDescription": {"text": "NOT LIMITED TO\n\nSkill's behavior or capabilities extend beyond its stated purpose. Scope creep allows an agent to perform actions unrelated to its documented functionality, increasing the attack surface.\n\nSkill: unknown\nRule: EA3  Category: excessive-agency\nSeverity: LOW  Confidence: 0.70\n\nRemediation: Limit the skill's scope to its documented purpose. Remove instructions that enable the agent to perform actions outside its stated functionality."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "low", "confidence": 0.7}}, {"id": "scanner-83d736a1cdca09bb", "name": "SkillSpector EA3 (excessive-agency) in hyprctl/hw-protocols/hyprpaper_core.xml", "shortDescription": {"text": "SkillSpector EA3 (excessive-agency) in hyprctl/hw-protocols/hyprpaper_core.xml"}, "fullDescription": {"text": "NOT LIMITED TO\n\nSkill's behavior or capabilities extend beyond its stated purpose. Scope creep allows an agent to perform actions unrelated to its documented functionality, increasing the attack surface.\n\nSkill: unknown\nRule: EA3  Category: excessive-agency\nSeverity: LOW  Confidence: 0.70\n\nRemediation: Limit the skill's scope to its documented purpose. Remove instructions that enable the agent to perform actions outside its stated functionality."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "low", "confidence": 0.7}}, {"id": "scanner-16c21607410089b4", "name": "SkillSpector EA2 (excessive-agency) in hyprctl/src/main.cpp", "shortDescription": {"text": "SkillSpector EA2 (excessive-agency) in hyprctl/src/main.cpp"}, "fullDescription": {"text": "auto                 run\n\nSkill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.\n\nSkill: unknown\nRule: EA2  Category: excessive-agency\nSeverity: MEDIUM  Confidence: 0.80\n\nRemediation: Add human-in-the-loop confirmation for destructive, irreversible, or high-impact operations. Never auto-execute commands that modify files, send data, or alter system state."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 0.8}}, {"id": "scanner-dc28ba9d07cdde5c", "name": "SkillSpector EA2 (excessive-agency) in hyprpm/src/main.cpp", "shortDescription": {"text": "SkillSpector EA2 (excessive-agency) in hyprpm/src/main.cpp"}, "fullDescription": {"text": "auto RUN\n\nSkill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.\n\nSkill: unknown\nRule: EA2  Category: excessive-agency\nSeverity: MEDIUM  Confidence: 0.80\n\nRemediation: Add human-in-the-loop confirmation for destructive, irreversible, or high-impact operations. Never auto-execute commands that modify files, send data, or alter system state."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 0.8}}, {"id": "scanner-410f6a93730d653f", "name": "SkillSpector EA3 (excessive-agency) in protocols/input-method-unstable-v2.xml", "shortDescription": {"text": "SkillSpector EA3 (excessive-agency) in protocols/input-method-unstable-v2.xml"}, "fullDescription": {"text": "NOT LIMITED TO\n\nSkill's behavior or capabilities extend beyond its stated purpose. Scope creep allows an agent to perform actions unrelated to its documented functionality, increasing the attack surface.\n\nSkill: unknown\nRule: EA3  Category: excessive-agency\nSeverity: LOW  Confidence: 0.70\n\nRemediation: Limit the skill's scope to its documented purpose. Remove instructions that enable the agent to perform actions outside its stated functionality."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "low", "confidence": 0.7}}, {"id": "scanner-1e5105ac706d0ea0", "name": "SkillSpector EA3 (excessive-agency) in protocols/vicinae-hotkey-v1.xml", "shortDescription": {"text": "SkillSpector EA3 (excessive-agency) in protocols/vicinae-hotkey-v1.xml"}, "fullDescription": {"text": "NOT LIMITED TO\n\nSkill's behavior or capabilities extend beyond its stated purpose. Scope creep allows an agent to perform actions unrelated to its documented functionality, increasing the attack surface.\n\nSkill: unknown\nRule: EA3  Category: excessive-agency\nSeverity: LOW  Confidence: 0.70\n\nRemediation: Limit the skill's scope to its documented purpose. Remove instructions that enable the agent to perform actions outside its stated functionality."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "low", "confidence": 0.7}}, {"id": "scanner-ab6d13d955f5819e", "name": "SkillSpector EA3 (excessive-agency) in protocols/virtual-keyboard-unstable-v1.xml", "shortDescription": {"text": "SkillSpector EA3 (excessive-agency) in protocols/virtual-keyboard-unstable-v1.xml"}, "fullDescription": {"text": "NOT LIMITED TO\n\nSkill's behavior or capabilities extend beyond its stated purpose. Scope creep allows an agent to perform actions unrelated to its documented functionality, increasing the attack surface.\n\nSkill: unknown\nRule: EA3  Category: excessive-agency\nSeverity: LOW  Confidence: 0.70\n\nRemediation: Limit the skill's scope to its documented purpose. Remove instructions that enable the agent to perform actions outside its stated functionality."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "low", "confidence": 0.7}}, {"id": "scanner-ffe821baa89eef0a", "name": "SkillSpector EA3 (excessive-agency) in protocols/wlr-output-power-management-unstable-v1.xml", "shortDescription": {"text": "SkillSpector EA3 (excessive-agency) in protocols/wlr-output-power-management-unstable-v1.xml"}, "fullDescription": {"text": "NOT LIMITED TO\n\nSkill's behavior or capabilities extend beyond its stated purpose. Scope creep allows an agent to perform actions unrelated to its documented functionality, increasing the attack surface.\n\nSkill: unknown\nRule: EA3  Category: excessive-agency\nSeverity: LOW  Confidence: 0.70\n\nRemediation: Limit the skill's scope to its documented purpose. Remove instructions that enable the agent to perform actions outside its stated functionality."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "low", "confidence": 0.7}}, {"id": "scanner-374d9ead64759a29", "name": "SkillSpector EA3 (excessive-agency) in protocols/wlr-screencopy-unstable-v1.xml", "shortDescription": {"text": "SkillSpector EA3 (excessive-agency) in protocols/wlr-screencopy-unstable-v1.xml"}, "fullDescription": {"text": "NOT LIMITED TO\n\nSkill's behavior or capabilities extend beyond its stated purpose. Scope creep allows an agent to perform actions unrelated to its documented functionality, increasing the attack surface.\n\nSkill: unknown\nRule: EA3  Category: excessive-agency\nSeverity: LOW  Confidence: 0.70\n\nRemediation: Limit the skill's scope to its documented purpose. Remove instructions that enable the agent to perform actions outside its stated functionality."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "low", "confidence": 0.7}}, {"id": "scanner-0d5f666a8c5d15bc", "name": "SkillSpector EA3 (excessive-agency) in protocols/wlr-virtual-pointer-unstable-v1.xml", "shortDescription": {"text": "SkillSpector EA3 (excessive-agency) in protocols/wlr-virtual-pointer-unstable-v1.xml"}, "fullDescription": {"text": "NOT LIMITED TO\n\nSkill's behavior or capabilities extend beyond its stated purpose. Scope creep allows an agent to perform actions unrelated to its documented functionality, increasing the attack surface.\n\nSkill: unknown\nRule: EA3  Category: excessive-agency\nSeverity: LOW  Confidence: 0.70\n\nRemediation: Limit the skill's scope to its documented purpose. Remove instructions that enable the agent to perform actions outside its stated functionality."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "low", "confidence": 0.7}}, {"id": "scanner-c60983611a85e057", "name": "SkillSpector EA2 (excessive-agency) in src/config/lua/ConfigManager.cpp", "shortDescription": {"text": "SkillSpector EA2 (excessive-agency) in src/config/lua/ConfigManager.cpp"}, "fullDescription": {"text": "auto remove\n\nSkill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.\n\nSkill: unknown\nRule: EA2  Category: excessive-agency\nSeverity: MEDIUM  Confidence: 0.80\n\nRemediation: Add human-in-the-loop confirmation for destructive, irreversible, or high-impact operations. Never auto-execute commands that modify files, send data, or alter system state."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 0.8}}, {"id": "scanner-b4be229661899b81", "name": "SkillSpector EA1 (excessive-agency) in src/config/values/ConfigValues.cpp", "shortDescription": {"text": "SkillSpector EA1 (excessive-agency) in src/config/values/ConfigValues.cpp"}, "fullDescription": {"text": "tool:\n         *\n\nSkill grants unrestricted tool access without appropriate constraints. An agent with unfettered tool access can perform arbitrary actions including file modification, network requests, and code execution.\n\nSkill: unknown\nRule: EA1  Category: excessive-agency\nSeverity: MEDIUM  Confidence: 0.85\n\nRemediation: Restrict tool access to only the tools required for the skill's stated purpose. Use an explicit allowlist rather than granting blanket access."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 0.85}}, {"id": "scanner-fb2bfc60d125e195", "name": "SkillSpector EA3 (excessive-agency) in src/managers/KeybindManager.cpp", "shortDescription": {"text": "SkillSpector EA3 (excessive-agency) in src/managers/KeybindManager.cpp"}, "fullDescription": {"text": "handle anything\n\nSkill's behavior or capabilities extend beyond its stated purpose. Scope creep allows an agent to perform actions unrelated to its documented functionality, increasing the attack surface.\n\nSkill: unknown\nRule: EA3  Category: excessive-agency\nSeverity: LOW  Confidence: 0.70\n\nRemediation: Limit the skill's scope to its documented purpose. Remove instructions that enable the agent to perform actions outside its stated functionality."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "low", "confidence": 0.7}}, {"id": "scanner-120bc5d9bd3d1f11", "name": "SkillSpector EA2 (excessive-agency) in src/protocols/ServerDecorationKDE.cpp", "shortDescription": {"text": "SkillSpector EA2 (excessive-agency) in src/protocols/ServerDecorationKDE.cpp"}, "fullDescription": {"text": "auto send\n\nSkill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.\n\nSkill: unknown\nRule: EA2  Category: excessive-agency\nSeverity: MEDIUM  Confidence: 0.80\n\nRemediation: Add human-in-the-loop confirmation for destructive, irreversible, or high-impact operations. Never auto-execute commands that modify files, send data, or alter system state."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 0.8}}, {"id": "scanner-ffa0efeca951378d", "name": "SkillSpector EA2 (excessive-agency) in src/protocols/XDGDecoration.cpp", "shortDescription": {"text": "SkillSpector EA2 (excessive-agency) in src/protocols/XDGDecoration.cpp"}, "fullDescription": {"text": "auto send\n\nSkill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.\n\nSkill: unknown\nRule: EA2  Category: excessive-agency\nSeverity: MEDIUM  Confidence: 0.80\n\nRemediation: Add human-in-the-loop confirmation for destructive, irreversible, or high-impact operations. Never auto-execute commands that modify files, send data, or alter system state."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 0.8}}, {"id": "scanner-b83ef888c844803d", "name": "SkillSpector MP2 (memory-poisoning) in hyprctl/hyprctl.fish", "shortDescription": {"text": "SkillSpector MP2 (memory-poisoning) in hyprctl/hyprctl.fish"}, "fullDescription": {"text": "3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3\n\nSkill attempts to fill the context window with filler content, displacing legitimate instructions and safety constraints. This can degrade agent performance or bypass safety boundaries.\n\nSkill: unknown\nRule: MP2  Category: memory-poisoning\nSeverity: MEDIUM  Confidence: 0.80\n\nRemediation: Implement context-window management that detects and rejects padding or stuffing attempts. Prioritize system instructions over user-injected content."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 0.8}}, {"id": "scanner-608a79a7b4d0300c", "name": "SkillSpector MP1 (memory-poisoning) in src/i18n/Engine.cpp", "shortDescription": {"text": "SkillSpector MP1 (memory-poisoning) in src/i18n/Engine.cpp"}, "fullDescription": {"text": "persistent rule\n\nSkill injects content designed to persist in agent memory or context across interactions. Persistent injection can alter agent behavior long after the initial interaction.\n\nSkill: unknown\nRule: MP1  Category: memory-poisoning\nSeverity: MEDIUM  Confidence: 0.80\n\nRemediation: Do not allow untrusted input to persist in agent memory or context. Validate all content before storing and implement memory isolation between sessions."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 0.8}}, {"id": "scanner-4c5b4c966f43f02b", "name": "SkillSpector MP3 (memory-poisoning) in src/protocols/BackgroundEffect.cpp", "shortDescription": {"text": "SkillSpector MP3 (memory-poisoning) in src/protocols/BackgroundEffect.cpp"}, "fullDescription": {"text": "clear state\n\nSkill manipulates agent memory, state, or stored context. Memory corruption can alter personality, override safety rules, or cause unpredictable behavior.\n\nSkill: unknown\nRule: MP3  Category: memory-poisoning\nSeverity: HIGH  Confidence: 0.80\n\nRemediation: Protect agent memory and state from modification by untrusted content. Use read-only memory for critical instructions and validate all state changes."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 0.8}}, {"id": "scanner-a31d9cd597a0ba53", "name": "SkillSpector OH3 (output-handling) in hyprtester/src/tests/main/window.cpp", "shortDescription": {"text": "SkillSpector OH3 (output-handling) in hyprtester/src/tests/main/window.cpp"}, "fullDescription": {"text": "Disable size limit\n\nOutput size or generation rate is not bounded. Unbounded output enables denial-of-service through resource exhaustion, log flooding, or context-window stuffing.\n\nSkill: unknown\nRule: OH3  Category: output-handling\nSeverity: MEDIUM  Confidence: 0.75\n\nRemediation: Set explicit limits on output length, generation count, and rate. Use max_tokens and truncation to prevent unbounded output."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 0.75}}, {"id": "scanner-93e4469e9f92fc79", "name": "SkillSpector OH3 (output-handling) in src/render/Shader.cpp", "shortDescription": {"text": "SkillSpector OH3 (output-handling) in src/render/Shader.cpp"}, "fullDescription": {"text": "maxLength = 0\n\nOutput size or generation rate is not bounded. Unbounded output enables denial-of-service through resource exhaustion, log flooding, or context-window stuffing.\n\nSkill: unknown\nRule: OH3  Category: output-handling\nSeverity: MEDIUM  Confidence: 0.75\n\nRemediation: Set explicit limits on output length, generation count, and rate. Use max_tokens and truncation to prevent unbounded output."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 0.75}}, {"id": "scanner-8a2cb5140d578cac", "name": "SkillSpector PE2 (priv-esc) in .github/workflows/man-update.yaml", "shortDescription": {"text": "SkillSpector PE2 (priv-esc) in .github/workflows/man-update.yaml"}, "fullDescription": {"text": "sudo\n\nCommands invoke sudo or root privileges. Verify this elevated access is necessary and justified.\n\nSkill: unknown\nRule: PE2  Category: priv-esc\nSeverity: MEDIUM  Confidence: 0.70\n\nRemediation: Avoid sudo/root unless strictly required. Prefer least-privilege patterns. If elevation is needed, document the justification and scope."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 0.7}}, {"id": "scanner-8b3428769376d60e", "name": "SkillSpector PE2 (priv-esc) in Makefile", "shortDescription": {"text": "SkillSpector PE2 (priv-esc) in Makefile"}, "fullDescription": {"text": "sudo\n\nCommands invoke sudo or root privileges. Verify this elevated access is necessary and justified.\n\nSkill: unknown\nRule: PE2  Category: priv-esc\nSeverity: MEDIUM  Confidence: 0.70\n\nRemediation: Avoid sudo/root unless strictly required. Prefer least-privilege patterns. If elevation is needed, document the justification and scope."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 0.7}}, {"id": "scanner-5566817517e8e9a5", "name": "SkillSpector PE2 (priv-esc) in hyprpm/src/core/DataState.cpp", "shortDescription": {"text": "SkillSpector PE2 (priv-esc) in hyprpm/src/core/DataState.cpp"}, "fullDescription": {"text": "chmod 755\n\nCommands invoke sudo or root privileges. Verify this elevated access is necessary and justified.\n\nSkill: unknown\nRule: PE2  Category: priv-esc\nSeverity: MEDIUM  Confidence: 0.80\n\nRemediation: Avoid sudo/root unless strictly required. Prefer least-privilege patterns. If elevation is needed, document the justification and scope."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 0.8}}, {"id": "scanner-fdbdf63c0b948ec6", "name": "SkillSpector PE2 (priv-esc) in hyprpm/src/helpers/Sys.cpp", "shortDescription": {"text": "SkillSpector PE2 (priv-esc) in hyprpm/src/helpers/Sys.cpp"}, "fullDescription": {"text": "sudo\n\nCommands invoke sudo or root privileges. Verify this elevated access is necessary and justified.\n\nSkill: unknown\nRule: PE2  Category: priv-esc\nSeverity: MEDIUM  Confidence: 0.70\n\nRemediation: Avoid sudo/root unless strictly required. Prefer least-privilege patterns. If elevation is needed, document the justification and scope."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 0.7}}, {"id": "scanner-a068f23aa51cecc0", "name": "SkillSpector PE2 (priv-esc) in src/main.cpp", "shortDescription": {"text": "SkillSpector PE2 (priv-esc) in src/main.cpp"}, "fullDescription": {"text": "Sudo\n\nCommands invoke sudo or root privileges. Verify this elevated access is necessary and justified.\n\nSkill: unknown\nRule: PE2  Category: priv-esc\nSeverity: MEDIUM  Confidence: 0.70\n\nRemediation: Avoid sudo/root unless strictly required. Prefer least-privilege patterns. If elevation is needed, document the justification and scope."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 0.7}}, {"id": "scanner-2d8990f170e3c57f", "name": "SkillSpector P2 (prompt-injection) in README.md", "shortDescription": {"text": "SkillSpector P2 (prompt-injection) in README.md"}, "fullDescription": {"text": "<!----------------------------------------------------------------------------->\n\n[Configure]: https://wiki.hypr.land/Configuring/\n[Stars]: https://starchart.cc/hyprwm/Hyprland\n[Hypr]: https://github.\n\nHidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.\n\nSkill: unknown\nRule: P2  Category: prompt-injection\nSeverity: HIGH  Confidence: 0.70\n\nRemediation: Audit all comments and invisible characters. Remove any instructions that direct the agent to perform unauthorized actions. Use plain, reviewable content."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 0.7}}, {"id": "scanner-ad92dc51befba422", "name": "SkillSpector P2 (prompt-injection) in protocols/wayland-drm.xml", "shortDescription": {"text": "SkillSpector P2 (prompt-injection) in protocols/wayland-drm.xml"}, "fullDescription": {"text": "<!-- drm support. This object is created by the server and published\n       using the display's global event. -->\n  <interface name=\"wl_drm\" version=\"2\">\n    <enum name=\"error\">\n      <entry name=\"aut\n\nHidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.\n\nSkill: unknown\nRule: P2  Category: prompt-injection\nSeverity: HIGH  Confidence: 0.70\n\nRemediation: Audit all comments and invisible characters. Remove any instructions that direct the agent to perform unauthorized actions. Use plain, reviewable content."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 0.7}}, {"id": "scanner-e04871f9c19243d0", "name": "SkillSpector P2 (prompt-injection) in protocols/wlr-layer-shell-unstable-v1.xml", "shortDescription": {"text": "SkillSpector P2 (prompt-injection) in protocols/wlr-layer-shell-unstable-v1.xml"}, "fullDescription": {"text": "<!-- Version 3 additions -->\n\n    <request name=\"destroy\" type=\"destructor\" since=\"3\">\n      <description summary=\"destroy the layer_shell object\">\n        This request indicates that the client will\n\nHidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.\n\nSkill: unknown\nRule: P2  Category: prompt-injection\nSeverity: HIGH  Confidence: 0.70\n\nRemediation: Audit all comments and invisible characters. Remove any instructions that direct the agent to perform unauthorized actions. Use plain, reviewable content."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 0.7}}, {"id": "scanner-ab0d4ca5364fa75b", "name": "SkillSpector P2 (prompt-injection) in protocols/wlr-output-management-unstable-v1.xml", "shortDescription": {"text": "SkillSpector P2 (prompt-injection) in protocols/wlr-output-management-unstable-v1.xml"}, "fullDescription": {"text": "<!-- Version 2 additions -->\n\n    <event name=\"make\" since=\"2\">\n      <description summary=\"head manufacturer\">\n        This event describes the manufacturer of the head.\n\n        This must report the\n\nHidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.\n\nSkill: unknown\nRule: P2  Category: prompt-injection\nSeverity: HIGH  Confidence: 0.70\n\nRemediation: Audit all comments and invisible characters. Remove any instructions that direct the agent to perform unauthorized actions. Use plain, reviewable content."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 0.7}}, {"id": "scanner-6de57fabd586a6ab", "name": "SkillSpector P2 (prompt-injection) in src/i18n/Engine.cpp", "shortDescription": {"text": "SkillSpector P2 (prompt-injection) in src/i18n/Engine.cpp"}, "fullDescription": {"text": "\u200c\n\nHidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.\n\nSkill: unknown\nRule: P2  Category: prompt-injection\nSeverity: HIGH  Confidence: 0.60\n\nRemediation: Audit all comments and invisible characters. Remove any instructions that direct the agent to perform unauthorized actions. Use plain, reviewable content."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 0.6}}, {"id": "scanner-2f5ed27df16e7c3b", "name": "SkillSpector RA2 (rogue-agent) in hyprpm/src/core/DataState.cpp", "shortDescription": {"text": "SkillSpector RA2 (rogue-agent) in hyprpm/src/core/DataState.cpp"}, "fullDescription": {"text": "write the state to a file\n\nSkill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.\n\nSkill: unknown\nRule: RA2  Category: rogue-agent\nSeverity: MEDIUM  Confidence: 0.60\n\nRemediation: Remove any persistence mechanisms (cron jobs, startup scripts, state files). Skills should not maintain state across sessions without explicit user consent."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 0.6}}, {"id": "scanner-ec0e05d9a0de5b0e", "name": "SkillSpector RA2 (rogue-agent) in src/Compositor.cpp", "shortDescription": {"text": "SkillSpector RA2 (rogue-agent) in src/Compositor.cpp"}, "fullDescription": {"text": "SYSTEMD\n    if (NSystemd::sdBooted() > 0 && !Env::envEnable\n\nSkill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.\n\nSkill: unknown\nRule: RA2  Category: rogue-agent\nSeverity: MEDIUM  Confidence: 0.80\n\nRemediation: Remove any persistence mechanisms (cron jobs, startup scripts, state files). Skills should not maintain state across sessions without explicit user consent."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 0.8}}, {"id": "scanner-886d9e420ceae464", "name": "SkillSpector RA2 (rogue-agent) in src/xwayland/Server.cpp", "shortDescription": {"text": "SkillSpector RA2 (rogue-agent) in src/xwayland/Server.cpp"}, "fullDescription": {"text": "create socket dir\");\n            return false;\n        }\n    }\n\n    return true;\n}\n\nstatic std::string getSocketPath(int display, bool isLinux) {\n    if (isLinux)\n        return std::format(\"/tmp/.X11\n\nSkill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.\n\nSkill: unknown\nRule: RA2  Category: rogue-agent\nSeverity: MEDIUM  Confidence: 0.60\n\nRemediation: Remove any persistence mechanisms (cron jobs, startup scripts, state files). Skills should not maintain state across sessions without explicit user consent."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 0.6}}, {"id": "scanner-3a32bcfabbd26799", "name": "SkillSpector P6 (prompt-injection) in src/config/lua/bindings/LuaBindingsConfigRules.cpp", "shortDescription": {"text": "SkillSpector P6 (prompt-injection) in src/config/lua/bindings/LuaBindingsConfigRules.cpp"}, "fullDescription": {"text": "return rule\n\nSkill contains instructions that could directly expose system prompts, internal rules, or hidden instructions to users or external parties.\n\nSkill: unknown\nRule: P6  Category: prompt-injection\nSeverity: HIGH  Confidence: 0.85\n\nRemediation: Remove any instructions that reveal, print, or output system prompts or internal rules. System instructions should never be exposed to end users."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 0.85}}, {"id": "scanner-efa0ac54d82e8b40", "name": "SkillSpector P6 (prompt-injection) in src/config/lua/bindings/LuaBindingsDispatchers.cpp", "shortDescription": {"text": "SkillSpector P6 (prompt-injection) in src/config/lua/bindings/LuaBindingsDispatchers.cpp"}, "fullDescription": {"text": "return rule\n\nSkill contains instructions that could directly expose system prompts, internal rules, or hidden instructions to users or external parties.\n\nSkill: unknown\nRule: P6  Category: prompt-injection\nSeverity: HIGH  Confidence: 0.85\n\nRemediation: Remove any instructions that reveal, print, or output system prompts or internal rules. System instructions should never be exposed to end users."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 0.85}}, {"id": "scanner-ac8b10ddd2dce7b4", "name": "SkillSpector P6 (prompt-injection) in src/config/lua/bindings/LuaBindingsInternal.cpp", "shortDescription": {"text": "SkillSpector P6 (prompt-injection) in src/config/lua/bindings/LuaBindingsInternal.cpp"}, "fullDescription": {"text": "return rule\n\nSkill contains instructions that could directly expose system prompts, internal rules, or hidden instructions to users or external parties.\n\nSkill: unknown\nRule: P6  Category: prompt-injection\nSeverity: HIGH  Confidence: 0.85\n\nRemediation: Remove any instructions that reveal, print, or output system prompts or internal rules. System instructions should never be exposed to end users."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 0.85}}, {"id": "scanner-ea73008666b70e2a", "name": "SkillSpector P6 (prompt-injection) in src/config/lua/bindings/LuaBindingsToplevel.cpp", "shortDescription": {"text": "SkillSpector P6 (prompt-injection) in src/config/lua/bindings/LuaBindingsToplevel.cpp"}, "fullDescription": {"text": "return rule\n\nSkill contains instructions that could directly expose system prompts, internal rules, or hidden instructions to users or external parties.\n\nSkill: unknown\nRule: P6  Category: prompt-injection\nSeverity: HIGH  Confidence: 0.85\n\nRemediation: Remove any instructions that reveal, print, or output system prompts or internal rules. System instructions should never be exposed to end users."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 0.85}}, {"id": "scanner-7874c2e5dc5cba92", "name": "SkillSpector P6 (prompt-injection) in src/config/shared/monitor/MonitorRuleManager.cpp", "shortDescription": {"text": "SkillSpector P6 (prompt-injection) in src/config/shared/monitor/MonitorRuleManager.cpp"}, "fullDescription": {"text": "return rule\n\nSkill contains instructions that could directly expose system prompts, internal rules, or hidden instructions to users or external parties.\n\nSkill: unknown\nRule: P6  Category: prompt-injection\nSeverity: HIGH  Confidence: 0.85\n\nRemediation: Remove any instructions that reveal, print, or output system prompts or internal rules. System instructions should never be exposed to end users."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 0.85}}, {"id": "scanner-bec86c7b5341ed11", "name": "SkillSpector P6 (prompt-injection) in src/config/shared/workspace/WorkspaceRuleManager.cpp", "shortDescription": {"text": "SkillSpector P6 (prompt-injection) in src/config/shared/workspace/WorkspaceRuleManager.cpp"}, "fullDescription": {"text": "return rule\n\nSkill contains instructions that could directly expose system prompts, internal rules, or hidden instructions to users or external parties.\n\nSkill: unknown\nRule: P6  Category: prompt-injection\nSeverity: HIGH  Confidence: 0.85\n\nRemediation: Remove any instructions that reveal, print, or output system prompts or internal rules. System instructions should never be exposed to end users."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 0.85}}, {"id": "scanner-03eb4697bbfbaa25", "name": "SkillSpector P6 (prompt-injection) in src/desktop/rule/Rule.cpp", "shortDescription": {"text": "SkillSpector P6 (prompt-injection) in src/desktop/rule/Rule.cpp"}, "fullDescription": {"text": "return rule\n\nSkill contains instructions that could directly expose system prompts, internal rules, or hidden instructions to users or external parties.\n\nSkill: unknown\nRule: P6  Category: prompt-injection\nSeverity: HIGH  Confidence: 0.85\n\nRemediation: Remove any instructions that reveal, print, or output system prompts or internal rules. System instructions should never be exposed to end users."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 0.85}}, {"id": "scanner-d25cb81e723db359", "name": "SkillSpector P6 (prompt-injection) in src/desktop/rule/RuleWithEffects.hpp", "shortDescription": {"text": "SkillSpector P6 (prompt-injection) in src/desktop/rule/RuleWithEffects.hpp"}, "fullDescription": {"text": "return RULE\n\nSkill contains instructions that could directly expose system prompts, internal rules, or hidden instructions to users or external parties.\n\nSkill: unknown\nRule: P6  Category: prompt-injection\nSeverity: HIGH  Confidence: 0.85\n\nRemediation: Remove any instructions that reveal, print, or output system prompts or internal rules. System instructions should never be exposed to end users."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 0.85}}, {"id": "scanner-3a2ad581eacc41a4", "name": "SkillSpector P6 (prompt-injection) in src/layout/supplementary/WorkspaceAlgoMatcher.cpp", "shortDescription": {"text": "SkillSpector P6 (prompt-injection) in src/layout/supplementary/WorkspaceAlgoMatcher.cpp"}, "fullDescription": {"text": "return rule\n\nSkill contains instructions that could directly expose system prompts, internal rules, or hidden instructions to users or external parties.\n\nSkill: unknown\nRule: P6  Category: prompt-injection\nSeverity: HIGH  Confidence: 0.85\n\nRemediation: Remove any instructions that reveal, print, or output system prompts or internal rules. System instructions should never be exposed to end users."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 0.85}}, {"id": "scanner-ebb443ffebbc4677", "name": "SkillSpector P6 (prompt-injection) in tests/config/shared/WorkspaceRuleManager.cpp", "shortDescription": {"text": "SkillSpector P6 (prompt-injection) in tests/config/shared/WorkspaceRuleManager.cpp"}, "fullDescription": {"text": "return rule\n\nSkill contains instructions that could directly expose system prompts, internal rules, or hidden instructions to users or external parties.\n\nSkill: unknown\nRule: P6  Category: prompt-injection\nSeverity: HIGH  Confidence: 0.85\n\nRemediation: Remove any instructions that reveal, print, or output system prompts or internal rules. System instructions should never be exposed to end users."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 0.85}}, {"id": "scanner-8b78b3330a29acd6", "name": "SkillSpector TM1 (tool-misuse) in .github/actions/setup_base/action.yml", "shortDescription": {"text": "SkillSpector TM1 (tool-misuse) in .github/actions/setup_base/action.yml"}, "fullDescription": {"text": "--noconfirm\n\nTool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).\n\nSkill: unknown\nRule: TM1  Category: tool-misuse\nSeverity: HIGH  Confidence: 0.75\n\nRemediation: Validate all tool parameters against an allowlist. Reject dangerous parameter values (shell=True, --force, -rf /) and use safe defaults."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 0.75}}, {"id": "scanner-95debe4369e38e41", "name": "SkillSpector TM1 (tool-misuse) in .github/workflows/ci.yaml", "shortDescription": {"text": "SkillSpector TM1 (tool-misuse) in .github/workflows/ci.yaml"}, "fullDescription": {"text": "--noconfirm\n\nTool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).\n\nSkill: unknown\nRule: TM1  Category: tool-misuse\nSeverity: HIGH  Confidence: 0.75\n\nRemediation: Validate all tool parameters against an allowlist. Reject dangerous parameter values (shell=True, --force, -rf /) and use safe defaults."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 0.75}}, {"id": "scanner-236c93db05683e41", "name": "SkillSpector TM1 (tool-misuse) in Makefile", "shortDescription": {"text": "SkillSpector TM1 (tool-misuse) in Makefile"}, "fullDescription": {"text": "rm -f ./protocols/*.h ./protocols/*.c ./protocols/*.cpp ./protocols/\n\nTool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).\n\nSkill: unknown\nRule: TM1  Category: tool-misuse\nSeverity: HIGH  Confidence: 0.85\n\nRemediation: Validate all tool parameters against an allowlist. Reject dangerous parameter values (shell=True, --force, -rf /) and use safe defaults."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 0.85}}, {"id": "scanner-5e2078eb2be00264", "name": "SkillSpector TM2 (tool-misuse) in Makefile", "shortDescription": {"text": "SkillSpector TM2 (tool-misuse) in Makefile"}, "fullDescription": {"text": "&& sudo\n\nTool calls are chained to bypass individual safety checks or escalate capabilities beyond what any single tool call would allow.\n\nSkill: unknown\nRule: TM2  Category: tool-misuse\nSeverity: HIGH  Confidence: 0.75\n\nRemediation: Limit tool chaining depth and validate the output of each tool before passing it to the next. Require explicit user approval for multi-step chains."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 0.75}}, {"id": "scanner-8f7e01dc68e1dae4", "name": "SkillSpector TM1 (tool-misuse) in hyprpm/src/core/PluginManager.cpp", "shortDescription": {"text": "SkillSpector TM1 (tool-misuse) in hyprpm/src/core/PluginManager.cpp"}, "fullDescription": {"text": "rm subprojects/\n\nTool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).\n\nSkill: unknown\nRule: TM1  Category: tool-misuse\nSeverity: HIGH  Confidence: 0.85\n\nRemediation: Validate all tool parameters against an allowlist. Reject dangerous parameter values (shell=True, --force, -rf /) and use safe defaults."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 0.85}}, {"id": "scanner-ca304c51da12c975", "name": "SkillSpector TM2 (tool-misuse) in hyprpm/src/core/PluginManager.cpp", "shortDescription": {"text": "SkillSpector TM2 (tool-misuse) in hyprpm/src/core/PluginManager.cpp"}, "fullDescription": {"text": "&& chmod -R\n\nTool calls are chained to bypass individual safety checks or escalate capabilities beyond what any single tool call would allow.\n\nSkill: unknown\nRule: TM2  Category: tool-misuse\nSeverity: HIGH  Confidence: 0.75\n\nRemediation: Limit tool chaining depth and validate the output of each tool before passing it to the next. Require explicit user approval for multi-step chains."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 0.75}}, {"id": "scanner-c9f3e2ef8872ff9b", "name": "SkillSpector TM1 (tool-misuse) in hyprtester/plugin/Makefile", "shortDescription": {"text": "SkillSpector TM1 (tool-misuse) in hyprtester/plugin/Makefile"}, "fullDescription": {"text": "rm -f ./\n\nTool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).\n\nSkill: unknown\nRule: TM1  Category: tool-misuse\nSeverity: HIGH  Confidence: 0.85\n\nRemediation: Validate all tool parameters against an allowlist. Reject dangerous parameter values (shell=True, --force, -rf /) and use safe defaults."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 0.85}}, {"id": "scanner-2e2636668044cb7c", "name": "SkillSpector TM3 (tool-misuse) in src/Compositor.cpp", "shortDescription": {"text": "SkillSpector TM3 (tool-misuse) in src/Compositor.cpp"}, "fullDescription": {"text": "safeMode = false\n\nTool defaults are unsafe or overly permissive (e.g. disabled TLS verification, no authentication, world-writable permissions). Unsafe defaults widen the attack surface.\n\nSkill: unknown\nRule: TM3  Category: tool-misuse\nSeverity: MEDIUM  Confidence: 0.80\n\nRemediation: Override unsafe defaults with secure settings (verify=True, auth required, restrictive permissions). Review and harden all tool configurations."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 0.8}}, {"id": "scanner-7b3995e3f8e6b2f1", "name": "SkillSpector TM3 (tool-misuse) in src/Compositor.hpp", "shortDescription": {"text": "SkillSpector TM3 (tool-misuse) in src/Compositor.hpp"}, "fullDescription": {"text": "safeMode    = false\n\nTool defaults are unsafe or overly permissive (e.g. disabled TLS verification, no authentication, world-writable permissions). Unsafe defaults widen the attack surface.\n\nSkill: unknown\nRule: TM3  Category: tool-misuse\nSeverity: MEDIUM  Confidence: 0.80\n\nRemediation: Override unsafe defaults with secure settings (verify=True, auth required, restrictive permissions). Review and harden all tool configurations."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 0.8}}, {"id": "scanner-0693bceaa4c9879b", "name": "SkillSpector TM3 (tool-misuse) in src/config/ConfigManager.hpp", "shortDescription": {"text": "SkillSpector TM3 (tool-misuse) in src/config/ConfigManager.hpp"}, "fullDescription": {"text": "safeMode = false\n\nTool defaults are unsafe or overly permissive (e.g. disabled TLS verification, no authentication, world-writable permissions). Unsafe defaults widen the attack surface.\n\nSkill: unknown\nRule: TM3  Category: tool-misuse\nSeverity: MEDIUM  Confidence: 0.80\n\nRemediation: Override unsafe defaults with secure settings (verify=True, auth required, restrictive permissions). Review and harden all tool configurations."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 0.8}}, {"id": "scanner-dae2f42b9e152cb8", "name": "SkillSpector TM2 (tool-misuse) in src/i18n/Engine.cpp", "shortDescription": {"text": "SkillSpector TM2 (tool-misuse) in src/i18n/Engine.cpp"}, "fullDescription": {"text": "; su\n\nTool calls are chained to bypass individual safety checks or escalate capabilities beyond what any single tool call would allow.\n\nSkill: unknown\nRule: TM2  Category: tool-misuse\nSeverity: HIGH  Confidence: 0.75\n\nRemediation: Limit tool chaining depth and validate the output of each tool before passing it to the next. Require explicit user approval for multi-step chains."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 0.75}}, {"id": "scanner-3b4c50d297222d50", "name": "SkillSpector TM3 (tool-misuse) in src/main.cpp", "shortDescription": {"text": "SkillSpector TM3 (tool-misuse) in src/main.cpp"}, "fullDescription": {"text": "safeMode = false\n\nTool defaults are unsafe or overly permissive (e.g. disabled TLS verification, no authentication, world-writable permissions). Unsafe defaults widen the attack surface.\n\nSkill: unknown\nRule: TM3  Category: tool-misuse\nSeverity: MEDIUM  Confidence: 0.80\n\nRemediation: Override unsafe defaults with secure settings (verify=True, auth required, restrictive permissions). Review and harden all tool configurations."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 0.8}}, {"id": "scanner-608a0ae88903df11", "name": "SkillSpector TM1 (tool-misuse) in src/render/OpenGL.cpp", "shortDescription": {"text": "SkillSpector TM1 (tool-misuse) in src/render/OpenGL.cpp"}, "fullDescription": {"text": "RMOD_TYPE_ROTATE: /* TODO */\n\nTool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).\n\nSkill: unknown\nRule: TM1  Category: tool-misuse\nSeverity: HIGH  Confidence: 0.85\n\nRemediation: Validate all tool parameters against an allowlist. Reject dangerous parameter values (shell=True, --force, -rf /) and use safe defaults."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 0.85}}, {"id": "scanner-435ea904d131752c", "name": "SkillSpector TM1 (tool-misuse) in src/render/types.hpp", "shortDescription": {"text": "SkillSpector TM1 (tool-misuse) in src/render/types.hpp"}, "fullDescription": {"text": "RMOD_TYPE_SCALE,        /* scale by a float */\n\nTool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).\n\nSkill: unknown\nRule: TM1  Category: tool-misuse\nSeverity: HIGH  Confidence: 0.85\n\nRemediation: Validate all tool parameters against an allowlist. Reject dangerous parameter values (shell=True, --force, -rf /) and use safe defaults."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 0.85}}, {"id": "scanner-5c3a34d488dec88d", "name": "SkillSpector TM3 (tool-misuse) in start/src/core/Instance.hpp", "shortDescription": {"text": "SkillSpector TM3 (tool-misuse) in start/src/core/Instance.hpp"}, "fullDescription": {"text": "safeMode = false\n\nTool defaults are unsafe or overly permissive (e.g. disabled TLS verification, no authentication, world-writable permissions). Unsafe defaults widen the attack surface.\n\nSkill: unknown\nRule: TM3  Category: tool-misuse\nSeverity: MEDIUM  Confidence: 0.80\n\nRemediation: Override unsafe defaults with secure settings (verify=True, auth required, restrictive permissions). Review and harden all tool configurations."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 0.8}}, {"id": "scanner-76fadd5b826a5640", "name": "SkillSpector TM3 (tool-misuse) in start/src/main.cpp", "shortDescription": {"text": "SkillSpector TM3 (tool-misuse) in start/src/main.cpp"}, "fullDescription": {"text": "safeMode    = false\n\nTool defaults are unsafe or overly permissive (e.g. disabled TLS verification, no authentication, world-writable permissions). Unsafe defaults widen the attack surface.\n\nSkill: unknown\nRule: TM3  Category: tool-misuse\nSeverity: MEDIUM  Confidence: 0.80\n\nRemediation: Override unsafe defaults with secure settings (verify=True, auth required, restrictive permissions). Review and harden all tool configurations."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 0.8}}, {"id": "scanner-e637c415447867e4", "name": "Run SkillSpector's LLM-backed analysis in your own pipeline", "shortDescription": {"text": "Run SkillSpector's LLM-backed analysis in your own pipeline"}, "fullDescription": {"text": "Repobility ran SkillSpector's static rules server-side. The deeper LLM-backed analyzers \u2014 tool-poisoning (TP*), semantic security discovery (SSD*), developer-intent mismatch (SDI*) \u2014 are meant to run on YOUR machine with YOUR model; repobility never sends your code to an LLM. Recipe:\n\n# 1. Install SkillSpector in your own isolated env\npipx install \"skillspector @ git+https://github.com/NVIDIA/SkillSpector.git\"\n\n# 2. Point it at YOUR LLM pipeline (pick one) - your code stays on your machine\nexport SKILLSPECTOR_PROVIDER=anthropic && export ANTHROPIC_API_KEY=sk-ant-...\n# export SKILLSPECTOR_PROVIDER=openai   && export OPENAI_API_KEY=sk-...\n# export SKILLSPECTOR_PROVIDER=openai OPENAI_API_KEY=ollama OPENAI_BASE_URL=http://localhost:11434/v1 SKILLSPECTOR_MODEL=llama3.1:8b\n# export SKILLSPECTOR_PROVIDER=nv_build && export NVIDIA_INFERENCE_KEY=nvapi-...\n\n# 3. Run the LLM-backed scan per skill (omit --no-llm to enable the LLM analyzers)\nskillspector scan . --format sarif --output skillspector-"}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6372cebde0220094", "name": "No auth library detected", "shortDescription": {"text": "No auth library detected"}, "fullDescription": {"text": "The scanner did not find any standard auth library (JWT, OAuth, NextAuth, Auth0, etc.). The repo has auth/admin/session surface indicators, so auth may live in custom code, in a separate service, or be missing."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2c0d127ff0893502", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v6 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-06d44acac3b2a38b", "name": "GitHub Action tracks a moving branch", "shortDescription": {"text": "GitHub Action tracks a moving branch"}, "fullDescription": {"text": "hyprwm/actions/.github/workflows/nix.yml@main can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "high", "confidence": 1.0}}, {"id": "scanner-65cc5c0b8f8d9697", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/github-script@v7 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c871446de1debade", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v7 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-f49b82f3d3b4b2cf", "name": "pull_request_target workflow appears to check out untrusted PR code", "shortDescription": {"text": "pull_request_target workflow appears to check out untrusted PR code"}, "fullDescription": {"text": "pull_request_target runs with base-repo privileges. Checking out PR head code in that context can expose repository tokens or secrets to attacker-controlled code."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "high", "confidence": 1.0}}, {"id": "scanner-e2d0519635166268", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v6 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b2becf401ccf57a1", "name": "GitHub Action tracks a moving branch", "shortDescription": {"text": "GitHub Action tracks a moving branch"}, "fullDescription": {"text": "pozetroninc/github-action-get-latest-release@master can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "high", "confidence": 1.0}}, {"id": "scanner-dc71900003b7ff18", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v6 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1e55415cf24ad4e4", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/github-script@v7 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a58f9e0ac3b95356", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v6 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e04423621b514914", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/upload-artifact@v7 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e5813c4ef6486ede", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v6 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-fddede39711434b3", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v6 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6893a6c8b0861585", "name": "Very low test-to-source ratio", "shortDescription": {"text": "Very low test-to-source ratio"}, "fullDescription": {"text": "0 test file(s) for 1 source file(s) (ratio 0.00). Consider adding integration or unit tests for critical paths."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2d0c7b7ab8f8aacf", "name": "Critical user flow still appears backed by mock or placeholder data", "shortDescription": {"text": "Critical user flow still appears backed by mock or placeholder data"}, "fullDescription": {"text": "A payment/auth/admin/order/billing-style flow contains mock, fake, TODO, dummy, or placeholder markers in runtime source. In the Fable corpus this is a high-leverage completeness smell: the app can look finished while the money, identity, or tenant flow is still scaffolded."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-11825279136b53a3", "name": "CI is configured but no tests are detected", "shortDescription": {"text": "CI is configured but no tests are detected"}, "fullDescription": {"text": "A CI pipeline exists, but the scan found no test files to gate. Opus labeled this generated-code pattern as config theater: release machinery exists, but it has little behavioral signal."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-749d4bc1bd66df5f", "name": "Agent instructions exist but release-hardening basics are missing", "shortDescription": {"text": "Agent instructions exist but release-hardening basics are missing"}, "fullDescription": {"text": "AI-coder instruction files were found, but the repo is missing tests. Treat this as a contract gap: the agent is guided, but the generated output is not yet guarded by the controls that make it repeatable."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}]}}, "automationDetails": {"id": "repobility/30762"}, "properties": {"repository": "hyprwm/Hyprland", "repoUrl": "https://github.com/hyprwm/Hyprland", "branch": "main"}, "results": [{"ruleId": "scanner-8a7875e193f814d2", "level": "warning", "message": {"text": "SkillSpector E1 (data-exfil) in .github/workflows/translation-ai-check.yml"}, "properties": {"repobilityId": "b5cb7aedfcce6fdd", "scanner": "scanner-primary", "fingerprint": "8a7875e193f814d2", "layer": "security", "severity": "medium", "confidence": 0.6, "tags": ["skillspector", "mcp-skill", "data-exfil", "E1"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/translation-ai-check.yml"}, "region": {"startLine": 85}}}]}, {"ruleId": "scanner-c5d54dc08a32792c", "level": "error", "message": {"text": "SkillSpector E4 (data-exfil) in src/xwayland/XWM.cpp"}, "properties": {"repobilityId": "7abe4c4d80bac364", "scanner": "scanner-primary", "fingerprint": "c5d54dc08a32792c", "layer": "security", "severity": "high", "confidence": 0.8, "tags": ["skillspector", "mcp-skill", "data-exfil", "E4"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/xwayland/XWM.cpp"}, "region": {"startLine": 553}}}]}, {"ruleId": "scanner-232d6bfc503b3685", "level": "warning", "message": {"text": "SkillSpector EA2 (excessive-agency) in .github/actions/setup_base/action.yml"}, "properties": {"repobilityId": "5e361a5be838ab9e", "scanner": "scanner-primary", "fingerprint": "232d6bfc503b3685", "layer": "security", "severity": "medium", "confidence": 0.65, "tags": ["skillspector", "mcp-skill", "excessive-agency", "EA2"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/actions/setup_base/action.yml"}, "region": {"startLine": 16}}}]}, {"ruleId": "scanner-de0e1a552797222f", "level": "warning", "message": {"text": "SkillSpector EA2 (excessive-agency) in .github/workflows/ci.yaml"}, "properties": {"repobilityId": "9809a2b82aca40ff", "scanner": "scanner-primary", "fingerprint": "de0e1a552797222f", "layer": "security", "severity": "medium", "confidence": 0.65, "tags": ["skillspector", "mcp-skill", "excessive-agency", "EA2"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/ci.yaml"}, "region": {"startLine": 57}}}]}, {"ruleId": "scanner-371d312b6c24978e", "level": "note", "message": {"text": "SkillSpector EA3 (excessive-agency) in CODE_OF_CONDUCT.md"}, "properties": {"repobilityId": "7d22b7b05a89d867", "scanner": "scanner-primary", "fingerprint": "371d312b6c24978e", "layer": "security", "severity": "low", "confidence": 0.7, "tags": ["skillspector", "mcp-skill", "excessive-agency", "EA3"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "CODE_OF_CONDUCT.md"}, "region": {"startLine": 20}}}]}, {"ruleId": "scanner-f3321f3de07fb846", "level": "note", "message": {"text": "SkillSpector EA3 (excessive-agency) in LICENSE"}, "properties": {"repobilityId": "1b29968a80e56e5c", "scanner": "scanner-primary", "fingerprint": "f3321f3de07fb846", "layer": "security", "severity": "low", "confidence": 0.7, "tags": ["skillspector", "mcp-skill", "excessive-agency", "EA3"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "LICENSE"}, "region": {"startLine": 21}}}]}, {"ruleId": "scanner-83d736a1cdca09bb", "level": "note", "message": {"text": "SkillSpector EA3 (excessive-agency) in hyprctl/hw-protocols/hyprpaper_core.xml"}, "properties": {"repobilityId": "0d802ba27a491f9c", "scanner": "scanner-primary", "fingerprint": "83d736a1cdca09bb", "layer": "security", "severity": "low", "confidence": 0.7, "tags": ["skillspector", "mcp-skill", "excessive-agency", "EA3"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hyprctl/hw-protocols/hyprpaper_core.xml"}, "region": {"startLine": 23}}}]}, {"ruleId": "scanner-16c21607410089b4", "level": "warning", "message": {"text": "SkillSpector EA2 (excessive-agency) in hyprctl/src/main.cpp"}, "properties": {"repobilityId": "bbaf0bf9778b97de", "scanner": "scanner-primary", "fingerprint": "16c21607410089b4", "layer": "security", "severity": "medium", "confidence": 0.8, "tags": ["skillspector", "mcp-skill", "excessive-agency", "EA2"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hyprctl/src/main.cpp"}, "region": {"startLine": 144}}}]}, {"ruleId": "scanner-dc28ba9d07cdde5c", "level": "warning", "message": {"text": "SkillSpector EA2 (excessive-agency) in hyprpm/src/main.cpp"}, "properties": {"repobilityId": "8b85440e6af55db1", "scanner": "scanner-primary", "fingerprint": "dc28ba9d07cdde5c", "layer": "security", "severity": "medium", "confidence": 0.8, "tags": ["skillspector", "mcp-skill", "excessive-agency", "EA2"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hyprpm/src/main.cpp"}, "region": {"startLine": 111}}}]}, {"ruleId": "scanner-410f6a93730d653f", "level": "note", "message": {"text": "SkillSpector EA3 (excessive-agency) in protocols/input-method-unstable-v2.xml"}, "properties": {"repobilityId": "f24a9821625c5f95", "scanner": "scanner-primary", "fingerprint": "410f6a93730d653f", "layer": "security", "severity": "low", "confidence": 0.7, "tags": ["skillspector", "mcp-skill", "excessive-agency", "EA3"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "protocols/input-method-unstable-v2.xml"}, "region": {"startLine": 25}}}]}, {"ruleId": "scanner-1e5105ac706d0ea0", "level": "note", "message": {"text": "SkillSpector EA3 (excessive-agency) in protocols/vicinae-hotkey-v1.xml"}, "properties": {"repobilityId": "36aac87a8dd505e0", "scanner": "scanner-primary", "fingerprint": "1e5105ac706d0ea0", "layer": "security", "severity": "low", "confidence": 0.7, "tags": ["skillspector", "mcp-skill", "excessive-agency", "EA3"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "protocols/vicinae-hotkey-v1.xml"}, "region": {"startLine": 18}}}]}, {"ruleId": "scanner-ab6d13d955f5819e", "level": "note", "message": {"text": "SkillSpector EA3 (excessive-agency) in protocols/virtual-keyboard-unstable-v1.xml"}, "properties": {"repobilityId": "04abb76cccbd2caf", "scanner": "scanner-primary", "fingerprint": "ab6d13d955f5819e", "layer": "security", "severity": "low", "confidence": 0.7, "tags": ["skillspector", "mcp-skill", "excessive-agency", "EA3"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "protocols/virtual-keyboard-unstable-v1.xml"}, "region": {"startLine": 21}}}]}, {"ruleId": "scanner-ffe821baa89eef0a", "level": "note", "message": {"text": "SkillSpector EA3 (excessive-agency) in protocols/wlr-output-power-management-unstable-v1.xml"}, "properties": {"repobilityId": "e3608bf0f859c823", "scanner": "scanner-primary", "fingerprint": "ffe821baa89eef0a", "layer": "security", "severity": "low", "confidence": 0.7, "tags": ["skillspector", "mcp-skill", "excessive-agency", "EA3"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "protocols/wlr-output-power-management-unstable-v1.xml"}, "region": {"startLine": 18}}}]}, {"ruleId": "scanner-374d9ead64759a29", "level": "note", "message": {"text": "SkillSpector EA3 (excessive-agency) in protocols/wlr-screencopy-unstable-v1.xml"}, "properties": {"repobilityId": "87168a4f65c69233", "scanner": "scanner-primary", "fingerprint": "374d9ead64759a29", "layer": "security", "severity": "low", "confidence": 0.7, "tags": ["skillspector", "mcp-skill", "excessive-agency", "EA3"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "protocols/wlr-screencopy-unstable-v1.xml"}, "region": {"startLine": 19}}}]}, {"ruleId": "scanner-0d5f666a8c5d15bc", "level": "note", "message": {"text": "SkillSpector EA3 (excessive-agency) in protocols/wlr-virtual-pointer-unstable-v1.xml"}, "properties": {"repobilityId": "0c293198ffaa4a61", "scanner": "scanner-primary", "fingerprint": "0d5f666a8c5d15bc", "layer": "security", "severity": "low", "confidence": 0.7, "tags": ["skillspector", "mcp-skill", "excessive-agency", "EA3"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "protocols/wlr-virtual-pointer-unstable-v1.xml"}, "region": {"startLine": 18}}}]}, {"ruleId": "scanner-c60983611a85e057", "level": "warning", "message": {"text": "SkillSpector EA2 (excessive-agency) in src/config/lua/ConfigManager.cpp"}, "properties": {"repobilityId": "0d5003d79a95bd69", "scanner": "scanner-primary", "fingerprint": "c60983611a85e057", "layer": "security", "severity": "medium", "confidence": 0.8, "tags": ["skillspector", "mcp-skill", "excessive-agency", "EA2"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/config/lua/ConfigManager.cpp"}, "region": {"startLine": 1311}}}]}, {"ruleId": "scanner-b4be229661899b81", "level": "warning", "message": {"text": "SkillSpector EA1 (excessive-agency) in src/config/values/ConfigValues.cpp"}, "properties": {"repobilityId": "638ab66e8908e01a", "scanner": "scanner-primary", "fingerprint": "b4be229661899b81", "layer": "security", "severity": "medium", "confidence": 0.85, "tags": ["skillspector", "mcp-skill", "excessive-agency", "EA1"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/config/values/ConfigValues.cpp"}, "region": {"startLine": 378}}}]}, {"ruleId": "scanner-fb2bfc60d125e195", "level": "note", "message": {"text": "SkillSpector EA3 (excessive-agency) in src/managers/KeybindManager.cpp"}, "properties": {"repobilityId": "bd84f878d91646c6", "scanner": "scanner-primary", "fingerprint": "fb2bfc60d125e195", "layer": "security", "severity": "low", "confidence": 0.7, "tags": ["skillspector", "mcp-skill", "excessive-agency", "EA3"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/managers/KeybindManager.cpp"}, "region": {"startLine": 818}}}]}, {"ruleId": "scanner-120bc5d9bd3d1f11", "level": "warning", "message": {"text": "SkillSpector EA2 (excessive-agency) in src/protocols/ServerDecorationKDE.cpp"}, "properties": {"repobilityId": "42461fe50ef00fa7", "scanner": "scanner-primary", "fingerprint": "120bc5d9bd3d1f11", "layer": "security", "severity": "medium", "confidence": 0.8, "tags": ["skillspector", "mcp-skill", "excessive-agency", "EA2"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/protocols/ServerDecorationKDE.cpp"}, "region": {"startLine": 14}}}]}, {"ruleId": "scanner-ffa0efeca951378d", "level": "warning", "message": {"text": "SkillSpector EA2 (excessive-agency) in src/protocols/XDGDecoration.cpp"}, "properties": {"repobilityId": "38a75d2987bc81eb", "scanner": "scanner-primary", "fingerprint": "ffa0efeca951378d", "layer": "security", "severity": "medium", "confidence": 0.8, "tags": ["skillspector", "mcp-skill", "excessive-agency", "EA2"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/protocols/XDGDecoration.cpp"}, "region": {"startLine": 20}}}]}, {"ruleId": "scanner-b83ef888c844803d", "level": "warning", "message": {"text": "SkillSpector MP2 (memory-poisoning) in hyprctl/hyprctl.fish"}, "properties": {"repobilityId": "c10c85368746d7d2", "scanner": "scanner-primary", "fingerprint": "b83ef888c844803d", "layer": "security", "severity": "medium", "confidence": 0.8, "tags": ["skillspector", "mcp-skill", "memory-poisoning", "MP2"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hyprctl/hyprctl.fish"}, "region": {"startLine": 159}}}]}, {"ruleId": "scanner-608a79a7b4d0300c", "level": "warning", "message": {"text": "SkillSpector MP1 (memory-poisoning) in src/i18n/Engine.cpp"}, "properties": {"repobilityId": "f349b4d589700fb2", "scanner": "scanner-primary", "fingerprint": "608a79a7b4d0300c", "layer": "security", "severity": "medium", "confidence": 0.8, "tags": ["skillspector", "mcp-skill", "memory-poisoning", "MP1"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/i18n/Engine.cpp"}, "region": {"startLine": 228}}}]}, {"ruleId": "scanner-4c5b4c966f43f02b", "level": "error", "message": {"text": "SkillSpector MP3 (memory-poisoning) in src/protocols/BackgroundEffect.cpp"}, "properties": {"repobilityId": "62664c8cd0879e7b", "scanner": "scanner-primary", "fingerprint": "4c5b4c966f43f02b", "layer": "security", "severity": "high", "confidence": 0.8, "tags": ["skillspector", "mcp-skill", "memory-poisoning", "MP3"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/protocols/BackgroundEffect.cpp"}, "region": {"startLine": 47}}}]}, {"ruleId": "scanner-a31d9cd597a0ba53", "level": "warning", "message": {"text": "SkillSpector OH3 (output-handling) in hyprtester/src/tests/main/window.cpp"}, "properties": {"repobilityId": "166a7501dfa252c5", "scanner": "scanner-primary", "fingerprint": "a31d9cd597a0ba53", "layer": "security", "severity": "medium", "confidence": 0.75, "tags": ["skillspector", "mcp-skill", "output-handling", "OH3"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hyprtester/src/tests/main/window.cpp"}, "region": {"startLine": 875}}}]}, {"ruleId": "scanner-93e4469e9f92fc79", "level": "warning", "message": {"text": "SkillSpector OH3 (output-handling) in src/render/Shader.cpp"}, "properties": {"repobilityId": "e221a31bd8497ba3", "scanner": "scanner-primary", "fingerprint": "93e4469e9f92fc79", "layer": "security", "severity": "medium", "confidence": 0.75, "tags": ["skillspector", "mcp-skill", "output-handling", "OH3"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/render/Shader.cpp"}, "region": {"startLine": 30}}}]}, {"ruleId": "scanner-8a2cb5140d578cac", "level": "warning", "message": {"text": "SkillSpector PE2 (priv-esc) in .github/workflows/man-update.yaml"}, "properties": {"repobilityId": "02216b06e98f2bc7", "scanner": "scanner-primary", "fingerprint": "8a2cb5140d578cac", "layer": "security", "severity": "medium", "confidence": 0.7, "tags": ["skillspector", "mcp-skill", "priv-esc", "PE2"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/man-update.yaml"}, "region": {"startLine": 17}}}]}, {"ruleId": "scanner-8b3428769376d60e", "level": "warning", "message": {"text": "SkillSpector PE2 (priv-esc) in Makefile"}, "properties": {"repobilityId": "6a978fbb009e4148", "scanner": "scanner-primary", "fingerprint": "8b3428769376d60e", "layer": "security", "severity": "medium", "confidence": 0.7, "tags": ["skillspector", "mcp-skill", "priv-esc", "PE2"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "Makefile"}, "region": {"startLine": 34}}}]}, {"ruleId": "scanner-5566817517e8e9a5", "level": "warning", "message": {"text": "SkillSpector PE2 (priv-esc) in hyprpm/src/core/DataState.cpp"}, "properties": {"repobilityId": "b10d59bf634041cf", "scanner": "scanner-primary", "fingerprint": "5566817517e8e9a5", "layer": "security", "severity": "medium", "confidence": 0.8, "tags": ["skillspector", "mcp-skill", "priv-esc", "PE2"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hyprpm/src/core/DataState.cpp"}, "region": {"startLine": 105}}}]}, {"ruleId": "scanner-fdbdf63c0b948ec6", "level": "warning", "message": {"text": "SkillSpector PE2 (priv-esc) in hyprpm/src/helpers/Sys.cpp"}, "properties": {"repobilityId": "5dbe3ae4c26e56ba", "scanner": "scanner-primary", "fingerprint": "fdbdf63c0b948ec6", "layer": "security", "severity": "medium", "confidence": 0.7, "tags": ["skillspector", "mcp-skill", "priv-esc", "PE2"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hyprpm/src/helpers/Sys.cpp"}, "region": {"startLine": 108}}}]}, {"ruleId": "scanner-a068f23aa51cecc0", "level": "warning", "message": {"text": "SkillSpector PE2 (priv-esc) in src/main.cpp"}, "properties": {"repobilityId": "0cba87170cf62ce5", "scanner": "scanner-primary", "fingerprint": "a068f23aa51cecc0", "layer": "security", "severity": "medium", "confidence": 0.7, "tags": ["skillspector", "mcp-skill", "priv-esc", "PE2"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/main.cpp"}, "region": {"startLine": 76}}}]}, {"ruleId": "scanner-2d8990f170e3c57f", "level": "error", "message": {"text": "SkillSpector P2 (prompt-injection) in README.md"}, "properties": {"repobilityId": "c144b55076257324", "scanner": "scanner-primary", "fingerprint": "2d8990f170e3c57f", "layer": "security", "severity": "high", "confidence": 0.7, "tags": ["skillspector", "mcp-skill", "prompt-injection", "P2"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "README.md"}, "region": {"startLine": 101}}}]}, {"ruleId": "scanner-ad92dc51befba422", "level": "error", "message": {"text": "SkillSpector P2 (prompt-injection) in protocols/wayland-drm.xml"}, "properties": {"repobilityId": "a4f5044ae575ba9f", "scanner": "scanner-primary", "fingerprint": "ad92dc51befba422", "layer": "security", "severity": "high", "confidence": 0.7, "tags": ["skillspector", "mcp-skill", "prompt-injection", "P2"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "protocols/wayland-drm.xml"}, "region": {"startLine": 30}}}]}, {"ruleId": "scanner-e04871f9c19243d0", "level": "error", "message": {"text": "SkillSpector P2 (prompt-injection) in protocols/wlr-layer-shell-unstable-v1.xml"}, "properties": {"repobilityId": "9f9bc177ffa39650", "scanner": "scanner-primary", "fingerprint": "e04871f9c19243d0", "layer": "security", "severity": "high", "confidence": 0.7, "tags": ["skillspector", "mcp-skill", "prompt-injection", "P2"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "protocols/wlr-layer-shell-unstable-v1.xml"}, "region": {"startLine": 92}}}]}, {"ruleId": "scanner-ab0d4ca5364fa75b", "level": "error", "message": {"text": "SkillSpector P2 (prompt-injection) in protocols/wlr-output-management-unstable-v1.xml"}, "properties": {"repobilityId": "be70c0c5d8e18622", "scanner": "scanner-primary", "fingerprint": "ab0d4ca5364fa75b", "layer": "security", "severity": "high", "confidence": 0.7, "tags": ["skillspector", "mcp-skill", "prompt-injection", "P2"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "protocols/wlr-output-management-unstable-v1.xml"}, "region": {"startLine": 261}}}]}, {"ruleId": "scanner-6de57fabd586a6ab", "level": "error", "message": {"text": "SkillSpector P2 (prompt-injection) in src/i18n/Engine.cpp"}, "properties": {"repobilityId": "ed88bacdca258ba5", "scanner": "scanner-primary", "fingerprint": "6de57fabd586a6ab", "layer": "security", "severity": "high", "confidence": 0.6, "tags": ["skillspector", "mcp-skill", "prompt-injection", "P2"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/i18n/Engine.cpp"}, "region": {"startLine": 468}}}]}, {"ruleId": "scanner-2f5ed27df16e7c3b", "level": "warning", "message": {"text": "SkillSpector RA2 (rogue-agent) in hyprpm/src/core/DataState.cpp"}, "properties": {"repobilityId": "6f76bf568a88c544", "scanner": "scanner-primary", "fingerprint": "2f5ed27df16e7c3b", "layer": "security", "severity": "medium", "confidence": 0.6, "tags": ["skillspector", "mcp-skill", "rogue-agent", "RA2"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hyprpm/src/core/DataState.cpp"}, "region": {"startLine": 27}}}]}, {"ruleId": "scanner-ec0e05d9a0de5b0e", "level": "warning", "message": {"text": "SkillSpector RA2 (rogue-agent) in src/Compositor.cpp"}, "properties": {"repobilityId": "276f8368eab649d4", "scanner": "scanner-primary", "fingerprint": "ec0e05d9a0de5b0e", "layer": "security", "severity": "medium", "confidence": 0.8, "tags": ["skillspector", "mcp-skill", "rogue-agent", "RA2"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/Compositor.cpp"}, "region": {"startLine": 574}}}]}, {"ruleId": "scanner-886d9e420ceae464", "level": "warning", "message": {"text": "SkillSpector RA2 (rogue-agent) in src/xwayland/Server.cpp"}, "properties": {"repobilityId": "30bcca3bfd04abb1", "scanner": "scanner-primary", "fingerprint": "886d9e420ceae464", "layer": "security", "severity": "medium", "confidence": 0.6, "tags": ["skillspector", "mcp-skill", "rogue-agent", "RA2"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/xwayland/Server.cpp"}, "region": {"startLine": 115}}}]}, {"ruleId": "scanner-3a32bcfabbd26799", "level": "error", "message": {"text": "SkillSpector P6 (prompt-injection) in src/config/lua/bindings/LuaBindingsConfigRules.cpp"}, "properties": {"repobilityId": "dcafc8e05ca3edae", "scanner": "scanner-primary", "fingerprint": "3a32bcfabbd26799", "layer": "security", "severity": "high", "confidence": 0.85, "tags": ["skillspector", "mcp-skill", "prompt-injection", "P6"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/config/lua/bindings/LuaBindingsConfigRules.cpp"}, "region": {"startLine": 1123}}}]}, {"ruleId": "scanner-efa0ac54d82e8b40", "level": "error", "message": {"text": "SkillSpector P6 (prompt-injection) in src/config/lua/bindings/LuaBindingsDispatchers.cpp"}, "properties": {"repobilityId": "01ebd3eed2a6dea3", "scanner": "scanner-primary", "fingerprint": "efa0ac54d82e8b40", "layer": "security", "severity": "high", "confidence": 0.85, "tags": ["skillspector", "mcp-skill", "prompt-injection", "P6"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/config/lua/bindings/LuaBindingsDispatchers.cpp"}, "region": {"startLine": 155}}}]}, {"ruleId": "scanner-ac8b10ddd2dce7b4", "level": "error", "message": {"text": "SkillSpector P6 (prompt-injection) in src/config/lua/bindings/LuaBindingsInternal.cpp"}, "properties": {"repobilityId": "fbd310d89d071e66", "scanner": "scanner-primary", "fingerprint": "ac8b10ddd2dce7b4", "layer": "security", "severity": "high", "confidence": 0.85, "tags": ["skillspector", "mcp-skill", "prompt-injection", "P6"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/config/lua/bindings/LuaBindingsInternal.cpp"}, "region": {"startLine": 500}}}]}, {"ruleId": "scanner-ea73008666b70e2a", "level": "error", "message": {"text": "SkillSpector P6 (prompt-injection) in src/config/lua/bindings/LuaBindingsToplevel.cpp"}, "properties": {"repobilityId": "22fce4adae4de28f", "scanner": "scanner-primary", "fingerprint": "ea73008666b70e2a", "layer": "security", "severity": "high", "confidence": 0.85, "tags": ["skillspector", "mcp-skill", "prompt-injection", "P6"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/config/lua/bindings/LuaBindingsToplevel.cpp"}, "region": {"startLine": 330}}}]}, {"ruleId": "scanner-7874c2e5dc5cba92", "level": "error", "message": {"text": "SkillSpector P6 (prompt-injection) in src/config/shared/monitor/MonitorRuleManager.cpp"}, "properties": {"repobilityId": "d9293fcd7ad966c3", "scanner": "scanner-primary", "fingerprint": "7874c2e5dc5cba92", "layer": "security", "severity": "high", "confidence": 0.85, "tags": ["skillspector", "mcp-skill", "prompt-injection", "P6"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/config/shared/monitor/MonitorRuleManager.cpp"}, "region": {"startLine": 48}}}]}, {"ruleId": "scanner-bec86c7b5341ed11", "level": "error", "message": {"text": "SkillSpector P6 (prompt-injection) in src/config/shared/workspace/WorkspaceRuleManager.cpp"}, "properties": {"repobilityId": "f7de6eb43697b846", "scanner": "scanner-primary", "fingerprint": "bec86c7b5341ed11", "layer": "security", "severity": "high", "confidence": 0.85, "tags": ["skillspector", "mcp-skill", "prompt-injection", "P6"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/config/shared/workspace/WorkspaceRuleManager.cpp"}, "region": {"startLine": 64}}}]}, {"ruleId": "scanner-03eb4697bbfbaa25", "level": "error", "message": {"text": "SkillSpector P6 (prompt-injection) in src/desktop/rule/Rule.cpp"}, "properties": {"repobilityId": "c34b0cf8a156bd0f", "scanner": "scanner-primary", "fingerprint": "03eb4697bbfbaa25", "layer": "security", "severity": "high", "confidence": 0.85, "tags": ["skillspector", "mcp-skill", "prompt-injection", "P6"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/desktop/rule/Rule.cpp"}, "region": {"startLine": 50}}}]}, {"ruleId": "scanner-d25cb81e723db359", "level": "error", "message": {"text": "SkillSpector P6 (prompt-injection) in src/desktop/rule/RuleWithEffects.hpp"}, "properties": {"repobilityId": "562bbb46f3d36d03", "scanner": "scanner-primary", "fingerprint": "d25cb81e723db359", "layer": "security", "severity": "high", "confidence": 0.85, "tags": ["skillspector", "mcp-skill", "prompt-injection", "P6"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/desktop/rule/RuleWithEffects.hpp"}, "region": {"startLine": 20}}}]}, {"ruleId": "scanner-3a2ad581eacc41a4", "level": "error", "message": {"text": "SkillSpector P6 (prompt-injection) in src/layout/supplementary/WorkspaceAlgoMatcher.cpp"}, "properties": {"repobilityId": "26da9d0b54669a7f", "scanner": "scanner-primary", "fingerprint": "3a2ad581eacc41a4", "layer": "security", "severity": "high", "confidence": 0.85, "tags": ["skillspector", "mcp-skill", "prompt-injection", "P6"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/layout/supplementary/WorkspaceAlgoMatcher.cpp"}, "region": {"startLine": 108}}}]}, {"ruleId": "scanner-ebb443ffebbc4677", "level": "error", "message": {"text": "SkillSpector P6 (prompt-injection) in tests/config/shared/WorkspaceRuleManager.cpp"}, "properties": {"repobilityId": "dae6cf52b1df8c43", "scanner": "scanner-primary", "fingerprint": "ebb443ffebbc4677", "layer": "security", "severity": "high", "confidence": 0.85, "tags": ["skillspector", "mcp-skill", "prompt-injection", "P6"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tests/config/shared/WorkspaceRuleManager.cpp"}, "region": {"startLine": 47}}}]}, {"ruleId": "scanner-8b78b3330a29acd6", "level": "error", "message": {"text": "SkillSpector TM1 (tool-misuse) in .github/actions/setup_base/action.yml"}, "properties": {"repobilityId": "1df110d991d9ae3a", "scanner": "scanner-primary", "fingerprint": "8b78b3330a29acd6", "layer": "security", "severity": "high", "confidence": 0.75, "tags": ["skillspector", "mcp-skill", "tool-misuse", "TM1"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/actions/setup_base/action.yml"}, "region": {"startLine": 16}}}]}, {"ruleId": "scanner-95debe4369e38e41", "level": "error", "message": {"text": "SkillSpector TM1 (tool-misuse) in .github/workflows/ci.yaml"}, "properties": {"repobilityId": "90380c37c728f20b", "scanner": "scanner-primary", "fingerprint": "95debe4369e38e41", "layer": "security", "severity": "high", "confidence": 0.75, "tags": ["skillspector", "mcp-skill", "tool-misuse", "TM1"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/ci.yaml"}, "region": {"startLine": 57}}}]}, {"ruleId": "scanner-236c93db05683e41", "level": "error", "message": {"text": "SkillSpector TM1 (tool-misuse) in Makefile"}, "properties": {"repobilityId": "443b70c5423795c2", "scanner": "scanner-primary", "fingerprint": "236c93db05683e41", "layer": "security", "severity": "high", "confidence": 0.85, "tags": ["skillspector", "mcp-skill", "tool-misuse", "TM1"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "Makefile"}, "region": {"startLine": 20}}}]}, {"ruleId": "scanner-5e2078eb2be00264", "level": "error", "message": {"text": "SkillSpector TM2 (tool-misuse) in Makefile"}, "properties": {"repobilityId": "5f95d61bc85e4e49", "scanner": "scanner-primary", "fingerprint": "5e2078eb2be00264", "layer": "security", "severity": "high", "confidence": 0.75, "tags": ["skillspector", "mcp-skill", "tool-misuse", "TM2"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "Makefile"}, "region": {"startLine": 34}}}]}, {"ruleId": "scanner-8f7e01dc68e1dae4", "level": "error", "message": {"text": "SkillSpector TM1 (tool-misuse) in hyprpm/src/core/PluginManager.cpp"}, "properties": {"repobilityId": "2a1bd850f93c686a", "scanner": "scanner-primary", "fingerprint": "8f7e01dc68e1dae4", "layer": "security", "severity": "high", "confidence": 0.85, "tags": ["skillspector", "mcp-skill", "tool-misuse", "TM1"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hyprpm/src/core/PluginManager.cpp"}, "region": {"startLine": 572}}}]}, {"ruleId": "scanner-ca304c51da12c975", "level": "error", "message": {"text": "SkillSpector TM2 (tool-misuse) in hyprpm/src/core/PluginManager.cpp"}, "properties": {"repobilityId": "afb8b1123cf59891", "scanner": "scanner-primary", "fingerprint": "ca304c51da12c975", "layer": "security", "severity": "high", "confidence": 0.75, "tags": ["skillspector", "mcp-skill", "tool-misuse", "TM2"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hyprpm/src/core/PluginManager.cpp"}, "region": {"startLine": 629}}}]}, {"ruleId": "scanner-c9f3e2ef8872ff9b", "level": "error", "message": {"text": "SkillSpector TM1 (tool-misuse) in hyprtester/plugin/Makefile"}, "properties": {"repobilityId": "62363da251c22fe7", "scanner": "scanner-primary", "fingerprint": "c9f3e2ef8872ff9b", "layer": "security", "severity": "high", "confidence": 0.85, "tags": ["skillspector", "mcp-skill", "tool-misuse", "TM1"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hyprtester/plugin/Makefile"}, "region": {"startLine": 15}}}]}, {"ruleId": "scanner-2e2636668044cb7c", "level": "warning", "message": {"text": "SkillSpector TM3 (tool-misuse) in src/Compositor.cpp"}, "properties": {"repobilityId": "7f2af8bedba05467", "scanner": "scanner-primary", "fingerprint": "2e2636668044cb7c", "layer": "security", "severity": "medium", "confidence": 0.8, "tags": ["skillspector", "mcp-skill", "tool-misuse", "TM3"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/Compositor.cpp"}, "region": {"startLine": 930}}}]}, {"ruleId": "scanner-7b3995e3f8e6b2f1", "level": "warning", "message": {"text": "SkillSpector TM3 (tool-misuse) in src/Compositor.hpp"}, "properties": {"repobilityId": "8204f19bb2aa0034", "scanner": "scanner-primary", "fingerprint": "7b3995e3f8e6b2f1", "layer": "security", "severity": "medium", "confidence": 0.8, "tags": ["skillspector", "mcp-skill", "tool-misuse", "TM3"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/Compositor.hpp"}, "region": {"startLine": 48}}}]}, {"ruleId": "scanner-0693bceaa4c9879b", "level": "warning", "message": {"text": "SkillSpector TM3 (tool-misuse) in src/config/ConfigManager.hpp"}, "properties": {"repobilityId": "445f6df038dba47b", "scanner": "scanner-primary", "fingerprint": "0693bceaa4c9879b", "layer": "security", "severity": "medium", "confidence": 0.8, "tags": ["skillspector", "mcp-skill", "tool-misuse", "TM3"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/config/ConfigManager.hpp"}, "region": {"startLine": 64}}}]}, {"ruleId": "scanner-dae2f42b9e152cb8", "level": "error", "message": {"text": "SkillSpector TM2 (tool-misuse) in src/i18n/Engine.cpp"}, "properties": {"repobilityId": "743934c27ab5a120", "scanner": "scanner-primary", "fingerprint": "dae2f42b9e152cb8", "layer": "security", "severity": "high", "confidence": 0.75, "tags": ["skillspector", "mcp-skill", "tool-misuse", "TM2"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/i18n/Engine.cpp"}, "region": {"startLine": 449}}}]}, {"ruleId": "scanner-3b4c50d297222d50", "level": "warning", "message": {"text": "SkillSpector TM3 (tool-misuse) in src/main.cpp"}, "properties": {"repobilityId": "c33eacc4b1edeb90", "scanner": "scanner-primary", "fingerprint": "3b4c50d297222d50", "layer": "security", "severity": "medium", "confidence": 0.8, "tags": ["skillspector", "mcp-skill", "tool-misuse", "TM3"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/main.cpp"}, "region": {"startLine": 76}}}]}, {"ruleId": "scanner-608a0ae88903df11", "level": "error", "message": {"text": "SkillSpector TM1 (tool-misuse) in src/render/OpenGL.cpp"}, "properties": {"repobilityId": "2ed30e0513c64709", "scanner": "scanner-primary", "fingerprint": "608a0ae88903df11", "layer": "security", "severity": "high", "confidence": 0.85, "tags": ["skillspector", "mcp-skill", "tool-misuse", "TM1"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/render/OpenGL.cpp"}, "region": {"startLine": 2711}}}]}, {"ruleId": "scanner-435ea904d131752c", "level": "error", "message": {"text": "SkillSpector TM1 (tool-misuse) in src/render/types.hpp"}, "properties": {"repobilityId": "bb3d588c85938005", "scanner": "scanner-primary", "fingerprint": "435ea904d131752c", "layer": "security", "severity": "high", "confidence": 0.85, "tags": ["skillspector", "mcp-skill", "tool-misuse", "TM1"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/render/types.hpp"}, "region": {"startLine": 56}}}]}, {"ruleId": "scanner-5c3a34d488dec88d", "level": "warning", "message": {"text": "SkillSpector TM3 (tool-misuse) in start/src/core/Instance.hpp"}, "properties": {"repobilityId": "66f7bc003fd3e5e9", "scanner": "scanner-primary", "fingerprint": "5c3a34d488dec88d", "layer": "security", "severity": "medium", "confidence": 0.8, "tags": ["skillspector", "mcp-skill", "tool-misuse", "TM3"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "start/src/core/Instance.hpp"}, "region": {"startLine": 17}}}]}, {"ruleId": "scanner-76fadd5b826a5640", "level": "warning", "message": {"text": "SkillSpector TM3 (tool-misuse) in start/src/main.cpp"}, "properties": {"repobilityId": "2b5a4fcc18afd3f0", "scanner": "scanner-primary", "fingerprint": "76fadd5b826a5640", "layer": "security", "severity": "medium", "confidence": 0.8, "tags": ["skillspector", "mcp-skill", "tool-misuse", "TM3"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "start/src/main.cpp"}, "region": {"startLine": 104}}}]}, {"ruleId": "scanner-e637c415447867e4", "level": "none", "message": {"text": "Run SkillSpector's LLM-backed analysis in your own pipeline"}, "properties": {"repobilityId": "1936f198ff5212bf", "scanner": "scanner-primary", "fingerprint": "e637c415447867e4", "layer": "security", "severity": "info", "confidence": 1.0, "tags": ["skillspector", "mcp-skill", "llm-advisory", "ai-coder"]}}, {"ruleId": "scanner-6372cebde0220094", "level": "warning", "message": {"text": "No auth library detected"}, "properties": {"repobilityId": "a5b6035a5bbf8054", "scanner": "scanner-primary", "fingerprint": "6372cebde0220094", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["coverage", "auth"]}}, {"ruleId": "scanner-2c0d127ff0893502", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "7e219f707934b658", "scanner": "scanner-primary", "fingerprint": "2c0d127ff0893502", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/nix-update-inputs.yml"}, "region": {"startLine": 16}}}]}, {"ruleId": "scanner-06d44acac3b2a38b", "level": "error", "message": {"text": "GitHub Action tracks a moving branch"}, "properties": {"repobilityId": "b5097ca452c509b0", "scanner": "scanner-primary", "fingerprint": "06d44acac3b2a38b", "layer": "cicd", "severity": "high", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/nix-ci.yml"}, "region": {"startLine": 13}}}]}, {"ruleId": "scanner-65cc5c0b8f8d9697", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "a239d8cf5a3b4b93", "scanner": "scanner-primary", "fingerprint": "65cc5c0b8f8d9697", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/new-pr-comment.yml"}, "region": {"startLine": 32}}}]}, {"ruleId": "scanner-c871446de1debade", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "a3e5605a14f38540", "scanner": "scanner-primary", "fingerprint": "c871446de1debade", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/codeownersplus.yml"}, "region": {"startLine": 23}}}]}, {"ruleId": "scanner-f49b82f3d3b4b2cf", "level": "error", "message": {"text": "pull_request_target workflow appears to check out untrusted PR code"}, "properties": {"repobilityId": "dd2ca76e793cd3af", "scanner": "scanner-primary", "fingerprint": "f49b82f3d3b4b2cf", "layer": "cicd", "severity": "high", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pull-request-target"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/codeownersplus.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e2d0519635166268", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "b79e985600601489", "scanner": "scanner-primary", "fingerprint": "e2d0519635166268", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/release.yaml"}, "region": {"startLine": 13}}}]}, {"ruleId": "scanner-b2becf401ccf57a1", "level": "error", "message": {"text": "GitHub Action tracks a moving branch"}, "properties": {"repobilityId": "2697c385df91d685", "scanner": "scanner-primary", "fingerprint": "b2becf401ccf57a1", "layer": "cicd", "severity": "high", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/release.yaml"}, "region": {"startLine": 50}}}]}, {"ruleId": "scanner-dc71900003b7ff18", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "e616fee3b8d1d774", "scanner": "scanner-primary", "fingerprint": "dc71900003b7ff18", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/ci.yaml"}, "region": {"startLine": 13}}}]}, {"ruleId": "scanner-1e55415cf24ad4e4", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "a4ae8a8ca9725f71", "scanner": "scanner-primary", "fingerprint": "1e55415cf24ad4e4", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/close-issues.yml"}, "region": {"startLine": 18}}}]}, {"ruleId": "scanner-a58f9e0ac3b95356", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "f15e03d631f2696f", "scanner": "scanner-primary", "fingerprint": "a58f9e0ac3b95356", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/translation-ai-check.yml"}, "region": {"startLine": 31}}}]}, {"ruleId": "scanner-e04423621b514914", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "55cb0b7c2e3187f0", "scanner": "scanner-primary", "fingerprint": "e04423621b514914", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/nix-test.yml"}, "region": {"startLine": 28}}}]}, {"ruleId": "scanner-e5813c4ef6486ede", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "b6703b693a576ec9", "scanner": "scanner-primary", "fingerprint": "e5813c4ef6486ede", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/security-checks.yml"}, "region": {"startLine": 16}}}]}, {"ruleId": "scanner-fddede39711434b3", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "44b0ef26dbb21886", "scanner": "scanner-primary", "fingerprint": "fddede39711434b3", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/man-update.yaml"}, "region": {"startLine": 20}}}]}, {"ruleId": "scanner-6893a6c8b0861585", "level": "warning", "message": {"text": "Very low test-to-source ratio"}, "properties": {"repobilityId": "54a7de3f06314bf0", "scanner": "scanner-primary", "fingerprint": "6893a6c8b0861585", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["tests", "coverage"]}}, {"ruleId": "scanner-2d0c7b7ab8f8aacf", "level": "warning", "message": {"text": "Critical user flow still appears backed by mock or placeholder data"}, "properties": {"repobilityId": "2b4244e1fdc8dcc6", "scanner": "scanner-primary", "fingerprint": "2d0c7b7ab8f8aacf", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "mock-data", "critical-flow", "generated-repo-pattern"]}}, {"ruleId": "scanner-11825279136b53a3", "level": "warning", "message": {"text": "CI is configured but no tests are detected"}, "properties": {"repobilityId": "11bd751a04008afb", "scanner": "scanner-primary", "fingerprint": "11825279136b53a3", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["tests", "ci", "config-theater", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-749d4bc1bd66df5f", "level": "warning", "message": {"text": "Agent instructions exist but release-hardening basics are missing"}, "properties": {"repobilityId": "c4a6d492a3c1f02c", "scanner": "scanner-primary", "fingerprint": "749d4bc1bd66df5f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "repo-hardening", "generated-repo-pattern"]}}]}]}