30 lines
981 B
Markdown
30 lines
981 B
Markdown
# PR-O4.6 - Strict Bytecode Precheck and Unknown Opcode Rejection
|
|
|
|
## Briefing
|
|
|
|
Endurecer precheck/verifier de artefato para rejeitar opcodes desconhecidos e instruções malformadas, removendo comportamento permissivo por `default-size`.
|
|
|
|
## Target
|
|
|
|
- `BytecodeLinkPrecheckService`.
|
|
- `BytecodePreloadVerifierService`.
|
|
- Taxonomia de erros `MARSHAL_VERIFY_PRECHECK_*`.
|
|
|
|
## Method
|
|
|
|
- Substituir `default -> 2` por tabela explícita de opcodes válidos por profile.
|
|
- Rejeitar opcode desconhecido com erro dedicado e pc apontado.
|
|
- Validar tamanhos de instrução somente para opcodes reconhecidos.
|
|
|
|
## Acceptance Criteria
|
|
|
|
- Opcode não reconhecido falha deterministicamente no precheck/verifier.
|
|
- Não há avanço silencioso sobre bytecode inválido.
|
|
- Mensagens/códigos de erro estáveis por classe de falha.
|
|
|
|
## Tests
|
|
|
|
- Fixtures com opcode inválido no meio de função.
|
|
- Casos de truncamento de imediato para opcode conhecido.
|
|
- Regressão para bytecode válido existente.
|