reckless: correct direct install from local repo subdirectory
What changed, and why it matters
This is a small bugfix in a helper tool called 'reckless' that installs plugins for Core Lightning. The change fixes how the tool handles installing a plugin directly from a subdirectory inside a local git repository. Previously, the tool could fail to find plugin details because it passed the wrong name/location. The fix reorders two steps so the local repository is treated like a plain directory before trying to read plugin details. There is no clear security issue here; it appears to be a normal correctness fix for a development/testing convenience feature.
No security action required. Treat as a routine bugfix.
Security signals we found
No security-relevant signals observed in the diff.
Change is in a plugin installer helper, not in node consensus, networking, or wallet code.
No input validation, authentication, cryptography, or privilege changes are present.
Evidence from the diff
In tools/reckless, the install() function now constructs InstInfo with the plugin name as the subdirectory argument when a direct_location is provided, then converts LOCAL_REPO to DIRECTORY before calling get_inst_details(). Previously get_inst_details() was called before the LOCAL_REPO-to-DIRECTORY conversion, which could cause lookup failures for local repo subdirectories. The diff is a three-line reordering/correction with no obvious security implications.
Changed components
tools/reckless install() functionInspect captured patch +3 / −3
diff --git a/tools/reckless b/tools/reckless
index 97fa1b2c..880ea8d3 100755
--- a/tools/reckless
+++ b/tools/reckless
@@ -1398,13 +1398,13 @@ def install(plugin_name: str) -> Union[str, None]:
src = None
if direct_location:
logging.debug(f"install of {name} requested from {direct_location}")
- src = InstInfo(name, direct_location, None)
- if not src.get_inst_details():
- src = None
+ src = InstInfo(name, direct_location, name)
# Treating a local git repo as a directory allows testing
# uncommitted changes.
if src and src.srctype == Source.LOCAL_REPO:
src.srctype = Source.DIRECTORY
+ if not src.get_inst_details():
+ src = None
if not direct_location or not src:
log.debug(f"Searching for {name}")
if search(name):
Why this scored 17/100
Community notes
Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.
The AI analysis stands alone for now. Submit a note if you can add evidence or important context.