JunseoKim0103/Lies-We-Can-See

This is the official repository of our paper Lies We Can See: Joint Verbal and Non-Verbal Deception by VLM Agents in Embodied Social Interactions.

Python

8

1 commits

updated Sep 23, 2026

See the code

README

๐Ÿ•ต๏ธ Lies We Can See

arXiv Project Page HuggingFace Dataset

Python Version GitHub license

This is the official repository of our paper Lies We Can See: Joint Verbal and Non-Verbal Deception by VLM Agents in Embodied Social Interactions.

teaser

Can an agent lie with its body, not just its words? MINEAMONGUS is a 3D multimodal Among Us sandbox in Minecraft where 2 imposter agents deceive 6 crewmates through both what they say and what they do: stalking a target, checking for witnesses, fleeing an unreported body, then accusing the crewmate who found it. ARIA is the configurable VLM-agent harness that runs them, and an LLM-as-a-Judge scores every deceptive act.

๐Ÿ“ข Updates

  • 2026-09-01: Official release. Code, Docker image, dataset, and project page are now available.
  • 2026-08-24: Accepted to the ECCV 2026 Workshop on Embodied Agent and Dialog.
  • 2026-07-25: Accepted to the COLM 2026 Workshop on Agent Behavior (WAB).

โœจ Key Features

  • ๐ŸŽฎ MineAmongUs: a 3D multimodal Among Us sandbox in Minecraft: 8 agents (2 imposters vs 6 crewmates) on one shared map, deceiving through joint verbal and non-verbal action.
  • ๐Ÿง  ARIA: a configurable VLM-agent harness exposing five ablation axes (memory, planning, reflection & skill, prompt style, state representation), so a finding can be attributed to the model rather than the scaffolding.
  • โš–๏ธ LLM-as-a-Judge: labels deception with a 23-atom codebook across 6 families, reaching near-human agreement (human-LLM Cohen's ฮบ = 0.709).
  • ๐Ÿ“ฆ One-command Docker: Minecraft server, Among Us world, bot bridge, headless renderer, and Python environment all ship in the image. No Minecraft account, nothing to compile.

๐Ÿ”ฌ The testbed at a glance

ComponentWhat it is
MineAmongUsThe sandbox. A match alternates a task phase (move, kill, fake missions) and a meeting phase (chat, accuse, vote) until one side wins.
ARIAThe agents. Each of the five axes has two settings, so the same backbone can be run under many harness configurations.
LLM-as-a-JudgeThe measurement. Reads a game.log and returns every atom the judge finds, so a match is described by what kind of deception produced the result.

The 23 atoms sit in 6 families: Camouflage (NV-1), Pursuit & Kill (NV-2), Report & Emergency (NV-3), Falsification (V-1), Equivocation (V-2), Concealment (V-3). See judge/README.md and the project page for the full taxonomy.

๐Ÿ“Š Key results

  • Non-verbal channels are the more decisive winning contributors, across both the harness ablation (RQ1) and the cross-VLM evaluation (RQ2).
  • The kill-execution loop drives wins: Witness-Aware Kill (r = +0.434), Post-Kill Flee (r = +0.414), and Strategic Non-Reporting (r = +0.270) correlate most strongly with imposter victory.
  • Harness composition shifts outcomes: with the backbone fixed, varying only the crewmate's memory and planning moved imposter win rate by +8 pp (Qwen3.6-27B) to โˆ’35 pp (GPT-4.1-mini).

Full figures and per-atom tables are on the project page.

๐ŸŽฎ Play a match

docker run -it --shm-size=4g ghcr.io/junseokim0103/mineamongus:paper
# inside the container
cp scripts/.env.example scripts/.env   # add your OPENAI_API_KEY
run_2vs6.sh                            # one match, ~15 min, ~$0.25

Results land in scripts/logs/sweep/<timestamp>/: summary.md for the table, game.log for the full transcript.

๐Ÿงช Reproducing the paper

The single match above uses one harness configuration. The paper's two studies sweep many:

  • RQ1 (harness ablation): one backbone, 24 imposter configurations. See scripts/main_1_aria_2vs6.py.
  • RQ2 (cross-VLM round-robin): every backbone against every other. See scripts/main_1_aria_2vs6_multi_llm.py.

Score the resulting logs with the judge, then read scripts/README.md for the full sweep-and-score pipeline.

๐Ÿ“‚ Repository

mineamongus/
โ”œโ”€โ”€ mineland/                     # sandbox + agent harness  ......... mineland/README.md
โ”‚   โ”œโ”€โ”€ sim/                      #   Python bridge, server & bot managers
โ”‚   โ”‚   โ”œโ”€โ”€ server/               #     Fabric 1.19 world + datapacks
โ”‚   โ”‚   โ””โ”€โ”€ mineflayer/           #     per-agent Node.js bots + HTTP step bridge
โ”‚   โ”œโ”€โ”€ aria/                     #   ARIA harness
โ”‚   โ”‚   โ”œโ”€โ”€ modules/              #     decision modules (kill, report, surveillance, meeting, vote, move, mission)
โ”‚   โ”‚   โ”œโ”€โ”€ planner/              #     reactive & hierarchical planners
โ”‚   โ”‚   โ”œโ”€โ”€ memory/               #     window & semantic memory back-ends
โ”‚   โ”‚   โ”œโ”€โ”€ reflection/           #     meeting-end reflector
โ”‚   โ”‚   โ”œโ”€โ”€ state/                #     privileged & egocentric state builders
โ”‚   โ”‚   โ”œโ”€โ”€ prompt_template/      #     minimal & deterministic prompt sets
โ”‚   โ”‚   โ””โ”€โ”€ action/               #     action codegen
โ”‚   โ”œโ”€โ”€ tasks/                    #   task definitions, including the Among Us task
โ”‚   โ””โ”€โ”€ patches/                  #   headless-RGB patches for the renderer
โ”œโ”€โ”€ scripts/                      # 2 match runners + 1 driver per RQ  scripts/README.md
โ”œโ”€โ”€ judge/                        # LLM-as-a-Judge, 23-atom codebook   judge/README.md
โ”‚   โ”œโ”€โ”€ codebook.py               #   the 23 atoms + the prompt text built from them
โ”‚   โ””โ”€โ”€ judge.py                  #   score a log, or a directory of logs
โ”œโ”€โ”€ data/                         # pointer to the dataset on the Hub  data/README.md
โ””โ”€โ”€ docker/                       # image, entrypoint, rebuilding      docker/README.md

๐Ÿ—‚๏ธ Dataset

Game logs, judge outputs, and human annotations are on the Hugging Face Hub: JasonKim00/lies-we-can-see. See data/README.md for how to reproduce a result from them.

โš ๏ธ Intended use

This repository is for research on agent deception and alignment. The deceptive behaviors it elicits are the object of study, not a capability to deploy.

๐Ÿ’ก Notes

  1. Run one sweep per container. Two concurrent runners collide on the Minecraft world and port 25565.
  2. Built on MineLand; see THIRD_PARTY_NOTICES.md.
  3. Minecraft is a trademark of Mojang Studios; this is an independent research artifact.

๐Ÿ˜€ Authors and citation

Jaewoo Ahn*, Junseo Kim*, Hyunseo Kim, Heeseung Yun, Jaehyeon Son, Zsolt Kira, Gunhee Kim

Seoul National University ยท Inha University ยท KAIST ยท Georgia Institute of Technology
* Equal contribution

@misc{mineamongus2026,
  title         = {Lies We Can See: Joint Verbal and Non-Verbal Deception by VLM Agents in Embodied Social Interactions},
  author        = {Ahn, Jaewoo and Kim, Junseo and Kim, Hyunseo and Yun, Heeseung and Son, Jaehyeon and Kira, Zsolt and Kim, Gunhee},
  year          = {2026},
  eprint        = {2608.30428},
  archivePrefix = {arXiv},
  primaryClass  = {cs.CL},
  url           = {https://arxiv.org/abs/2608.30428}
}

MIT licensed.

Contributors

JunseoKim0103

1 commits

JunseoKim0103/Lies-We-Can-See

This is the official repository of our paper Lies We Can See: Joint Verbal and Non-Verbal Deception by VLM Agents in Embodied Social Interactions.

Python

8

1 commits

updated Sep 23, 2026

See the code

README

๐Ÿ•ต๏ธ Lies We Can See

arXiv Project Page HuggingFace Dataset

Python Version GitHub license

This is the official repository of our paper Lies We Can See: Joint Verbal and Non-Verbal Deception by VLM Agents in Embodied Social Interactions.

teaser

Can an agent lie with its body, not just its words? MINEAMONGUS is a 3D multimodal Among Us sandbox in Minecraft where 2 imposter agents deceive 6 crewmates through both what they say and what they do: stalking a target, checking for witnesses, fleeing an unreported body, then accusing the crewmate who found it. ARIA is the configurable VLM-agent harness that runs them, and an LLM-as-a-Judge scores every deceptive act.

๐Ÿ“ข Updates

  • 2026-09-01: Official release. Code, Docker image, dataset, and project page are now available.
  • 2026-08-24: Accepted to the ECCV 2026 Workshop on Embodied Agent and Dialog.
  • 2026-07-25: Accepted to the COLM 2026 Workshop on Agent Behavior (WAB).

โœจ Key Features

  • ๐ŸŽฎ MineAmongUs: a 3D multimodal Among Us sandbox in Minecraft: 8 agents (2 imposters vs 6 crewmates) on one shared map, deceiving through joint verbal and non-verbal action.
  • ๐Ÿง  ARIA: a configurable VLM-agent harness exposing five ablation axes (memory, planning, reflection & skill, prompt style, state representation), so a finding can be attributed to the model rather than the scaffolding.
  • โš–๏ธ LLM-as-a-Judge: labels deception with a 23-atom codebook across 6 families, reaching near-human agreement (human-LLM Cohen's ฮบ = 0.709).
  • ๐Ÿ“ฆ One-command Docker: Minecraft server, Among Us world, bot bridge, headless renderer, and Python environment all ship in the image. No Minecraft account, nothing to compile.

๐Ÿ”ฌ The testbed at a glance

ComponentWhat it is
MineAmongUsThe sandbox. A match alternates a task phase (move, kill, fake missions) and a meeting phase (chat, accuse, vote) until one side wins.
ARIAThe agents. Each of the five axes has two settings, so the same backbone can be run under many harness configurations.
LLM-as-a-JudgeThe measurement. Reads a game.log and returns every atom the judge finds, so a match is described by what kind of deception produced the result.

The 23 atoms sit in 6 families: Camouflage (NV-1), Pursuit & Kill (NV-2), Report & Emergency (NV-3), Falsification (V-1), Equivocation (V-2), Concealment (V-3). See judge/README.md and the project page for the full taxonomy.

๐Ÿ“Š Key results

  • Non-verbal channels are the more decisive winning contributors, across both the harness ablation (RQ1) and the cross-VLM evaluation (RQ2).
  • The kill-execution loop drives wins: Witness-Aware Kill (r = +0.434), Post-Kill Flee (r = +0.414), and Strategic Non-Reporting (r = +0.270) correlate most strongly with imposter victory.
  • Harness composition shifts outcomes: with the backbone fixed, varying only the crewmate's memory and planning moved imposter win rate by +8 pp (Qwen3.6-27B) to โˆ’35 pp (GPT-4.1-mini).

Full figures and per-atom tables are on the project page.

๐ŸŽฎ Play a match

docker run -it --shm-size=4g ghcr.io/junseokim0103/mineamongus:paper
# inside the container
cp scripts/.env.example scripts/.env   # add your OPENAI_API_KEY
run_2vs6.sh                            # one match, ~15 min, ~$0.25

Results land in scripts/logs/sweep/<timestamp>/: summary.md for the table, game.log for the full transcript.

๐Ÿงช Reproducing the paper

The single match above uses one harness configuration. The paper's two studies sweep many:

  • RQ1 (harness ablation): one backbone, 24 imposter configurations. See scripts/main_1_aria_2vs6.py.
  • RQ2 (cross-VLM round-robin): every backbone against every other. See scripts/main_1_aria_2vs6_multi_llm.py.

Score the resulting logs with the judge, then read scripts/README.md for the full sweep-and-score pipeline.

๐Ÿ“‚ Repository

mineamongus/
โ”œโ”€โ”€ mineland/                     # sandbox + agent harness  ......... mineland/README.md
โ”‚   โ”œโ”€โ”€ sim/                      #   Python bridge, server & bot managers
โ”‚   โ”‚   โ”œโ”€โ”€ server/               #     Fabric 1.19 world + datapacks
โ”‚   โ”‚   โ””โ”€โ”€ mineflayer/           #     per-agent Node.js bots + HTTP step bridge
โ”‚   โ”œโ”€โ”€ aria/                     #   ARIA harness
โ”‚   โ”‚   โ”œโ”€โ”€ modules/              #     decision modules (kill, report, surveillance, meeting, vote, move, mission)
โ”‚   โ”‚   โ”œโ”€โ”€ planner/              #     reactive & hierarchical planners
โ”‚   โ”‚   โ”œโ”€โ”€ memory/               #     window & semantic memory back-ends
โ”‚   โ”‚   โ”œโ”€โ”€ reflection/           #     meeting-end reflector
โ”‚   โ”‚   โ”œโ”€โ”€ state/                #     privileged & egocentric state builders
โ”‚   โ”‚   โ”œโ”€โ”€ prompt_template/      #     minimal & deterministic prompt sets
โ”‚   โ”‚   โ””โ”€โ”€ action/               #     action codegen
โ”‚   โ”œโ”€โ”€ tasks/                    #   task definitions, including the Among Us task
โ”‚   โ””โ”€โ”€ patches/                  #   headless-RGB patches for the renderer
โ”œโ”€โ”€ scripts/                      # 2 match runners + 1 driver per RQ  scripts/README.md
โ”œโ”€โ”€ judge/                        # LLM-as-a-Judge, 23-atom codebook   judge/README.md
โ”‚   โ”œโ”€โ”€ codebook.py               #   the 23 atoms + the prompt text built from them
โ”‚   โ””โ”€โ”€ judge.py                  #   score a log, or a directory of logs
โ”œโ”€โ”€ data/                         # pointer to the dataset on the Hub  data/README.md
โ””โ”€โ”€ docker/                       # image, entrypoint, rebuilding      docker/README.md

๐Ÿ—‚๏ธ Dataset

Game logs, judge outputs, and human annotations are on the Hugging Face Hub: JasonKim00/lies-we-can-see. See data/README.md for how to reproduce a result from them.

โš ๏ธ Intended use

This repository is for research on agent deception and alignment. The deceptive behaviors it elicits are the object of study, not a capability to deploy.

๐Ÿ’ก Notes

  1. Run one sweep per container. Two concurrent runners collide on the Minecraft world and port 25565.
  2. Built on MineLand; see THIRD_PARTY_NOTICES.md.
  3. Minecraft is a trademark of Mojang Studios; this is an independent research artifact.

๐Ÿ˜€ Authors and citation

Jaewoo Ahn*, Junseo Kim*, Hyunseo Kim, Heeseung Yun, Jaehyeon Son, Zsolt Kira, Gunhee Kim

Seoul National University ยท Inha University ยท KAIST ยท Georgia Institute of Technology
* Equal contribution

@misc{mineamongus2026,
  title         = {Lies We Can See: Joint Verbal and Non-Verbal Deception by VLM Agents in Embodied Social Interactions},
  author        = {Ahn, Jaewoo and Kim, Junseo and Kim, Hyunseo and Yun, Heeseung and Son, Jaehyeon and Kira, Zsolt and Kim, Gunhee},
  year          = {2026},
  eprint        = {2608.30428},
  archivePrefix = {arXiv},
  primaryClass  = {cs.CL},
  url           = {https://arxiv.org/abs/2608.30428}
}

MIT licensed.

Contributors

JunseoKim0103

1 commits

Languages

Python

82.2%

JavaScript

17.2%