zlatimirpetrov/prompt-injection-in-orbit

GitHub: zlatimirpetrov/prompt-injection-in-orbit

一个模拟卫星任务运营环境的 LLM agent prompt injection 攻防测试平台,用于评估攻击威胁程度及各类防御措施的实际效果。

Stars: 1 | Forks: 0

# 轨道中的 Prompt Injection 在卫星任务运营中评估和防御 LLM agent。 NSRI 2026 夏季研究黑客马拉松,赛道:AI、数据科学与计算。 人们开始将 LLM agent 接入卫星任务运营:读取遥测数据、分类异常、起草和调度命令。问题在于,要做到这些,agent 必须读取不受信任的数据、地面站消息、遥测流和操作员文档。这些地方中的任何一个都有可能被人隐藏指令。埋藏在遥测帧中的 prompt injection 可以诱导 agent 发出无人要求的命令,而在轨道上,一个错误的命令就可能导致航天器损毁。 本代码库是一个用于探究以下两个问题的测试平台:这种风险有多严重,以及那些显而易见的防御措施实际上能发挥多大作用?这里的一切都是模拟的。没有真实的航天器,项目中也没有任何部分涉及真实的硬件。 ## 功能说明 该测试框架将四个动态部分相互结合运行: - 一个模拟的任务运营 agent,配备少量真实的工具 (`src/agent/`)。 - 一个 injection 场景语料库,根据 payload 的搭载位置进行分组:遥测、地面消息或文档 (`src/attacks/`)。 - 作为拦截手段的防御机制:隔离不受信任的数据、剥离祈使句文本,以及执行时的命令 allowlist (`src/defenses/`)。 - 评分系统,将每种攻击与每种防御组合进行对抗测试,并在报告攻击成功率的同时,显示仍能完成多少合法工作 (`src/eval/`)。 ## 快速开始 你需要 Python 3.10 或更高版本。默认的 (mock) backend 没有依赖项,因此只需运行: ``` python -m src.eval.harness ``` 你会得到这样一个表格: ``` data_defense allowlist ASR utility none False 1.0 1.0 <- fully vulnerable baseline none True 0.0 1.0 <- allowlist alone blocks the bad calls delimiter False 1.0 1.0 <- delimiting alone is not enough sanitize False 0.0 0.5 <- stops attacks but costs utility ``` ASR 代表攻击成功率 (attack success rate),因此越低越好。Utility 代表合法任务是否仍然完成(越高越好)。有趣的是两者之间的矛盾关系:allowlist 可以直接扼杀攻击,但过于严格的 sanitizer 也会破坏真正的工作。该测试框架的存在就是为了展示哪些防御措施物有所值,以及它们的代价是什么。 ## 接入真实模型 默认的 `MockBrain` 是一个确定性的替代品,以便测试平台能够在无需 API key 的情况下离线运行。如果你想要实际的科学结果,请编写一个具有相同接口的 backend,并将其传递给 `MissionAgent(brain=...)`: ``` class RealBrain: def decide(self, system_prompt, benign_action, data): # call your LLM (e.g. the Anthropic API), parse out the tool calls it # wants to make, and return them as a list of command strings. ... ``` 重新运行测试框架,这些数字现在就反映了真实模型的结果。 ## 完整性说明(根据黑客马拉松 AI 使用政策) mock backend 提供的是说明性数字,而非科学数字。可以将其视为证明该框架可用的、可重复的基线下限。最终出现在 Research Brief 中的任何内容均来自真实的测试框架运行(mock 和/或真实模型),并已明确标注。详情请参阅 `AI_USE_STATEMENT.md`。 ## 代码库布局 ``` src/agent/ simulated mission-ops agent + mock tools src/attacks/ injection corpus (red team owns) src/defenses/ defense strategies (blue team owns) src/eval/ harness + metrics (lead owns) docs/ threat model, research brief outline data/injections sample payloads tests/ smoke test results/ harness output (results.json) ``` ## 团队 - 负责人:agent 测试平台、eval 测试框架、集成、报告。 - 红队:injection 语料库 + 威胁模型。 - 蓝队:防御机制 + utility/安全性分析。 `CONTRIBUTING.md` 中包含了完整的分工和工作流程。
标签:DLL 劫持, Web报告查看器, 反取证, 大语言模型, 安全评估, 搜索语句(dork), 智能体安全, 航天系统